public IExpression Parse(string expValue) { tokenParser = new TokenParser(expValue); IToken token = tokenParser.GetNextToken(); IExpression expression = ParseExpression(ref token); if (!(token is EndToken)) { throw new SyntaxErrorException("operador esperado."); } return(expression); }
private IExpression ParseLogicalOrExpression(ref IToken token) { IExpression exp = ParseLogicalAndExpression(ref token); if (token is OuToken) { token = tokenParser.GetNextToken(); return(new Expression.OrExpression(exp, ParseLogicalOrExpression(ref token))); } else { return(exp); } }