Пример #1
0
        internal void Parse(ExpressionParserHelper parseHelper)
        {
            IgnoreSpaces(parseHelper);
            if (!parseHelper.HasMore())
            {
                return;
            }
            parseHelper.Next();
            Token             current = parseHelper.Current;
            IExpressionParser parser  = null;

            if (current.Type == TokenType.Seperator)
            {
                parser = PARSERS_BY_STR[current.Contents];
            }
            else
            {
                parser = PARSERS_BY_TYPE[typeof(PropertyOrConstant)];
            }
            parser.Parse(parseHelper);
            if (parseHelper.HasMore())
            {
                Parse(parseHelper);
            }
        }
Пример #2
0
 private static void IgnoreSpaces(ExpressionParserHelper parseHelper)
 {
     while (
         parseHelper.HasMore() &&
         parseHelper.Lookahead.Contents.Trim().Length == 0)
     {
         parseHelper.Next();
     }
 }