示例#1
0
        public new static U32AndTestStatement Parse(ref string strExpr)
        {
            if (strExpr.Length <= 2 || strExpr[0] != '&' || strExpr[1] != '&')
            {
                return(null);
            }

            strExpr = strExpr.Substring(2);
            var baseStatement = U32TestStatement.Parse(ref strExpr);

            return(new U32AndTestStatement(baseStatement.Left, baseStatement.Right));
        }
示例#2
0
        public static U32Expression Parse(String strExpr)
        {
            strExpr = strExpr.Replace(" ", "");
            List <IU32Statement> statements = new List <IU32Statement>();

            while (strExpr.Length != 0)
            {
                if (strExpr[0] == '&' && strExpr[1] == '&')
                {
                    statements.Add(U32AndTestStatement.Parse(ref strExpr));
                }
                else
                {
                    statements.Add(U32TestStatement.Parse(ref strExpr));
                }
            }
            return(new U32Expression(statements));
        }