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); } }
private static void IgnoreSpaces(ExpressionParserHelper parseHelper) { while ( parseHelper.HasMore() && parseHelper.Lookahead.Contents.Trim().Length == 0) { parseHelper.Next(); } }