private Expression T1(Expression e1) { if (lexer.Current == LexicalToken.Star || lexer.Current == LexicalToken.Slash) { var op = OperatorExpression.FromToken(lexer.Current); lexer.Next(); var e2 = F(); var e3 = Expression.Binary(e1, op, e2); var e4 = T1(e3); return(e4); } else { return(e1); } }
private Expression E1(Expression e1) { if (lexer.Current == LexicalToken.Plus || lexer.Current == LexicalToken.Minus) { var op = OperatorExpression.FromToken(lexer.Current); lexer.Next(); var e2 = T(); var e3 = Expression.Binary(e1, op, e2); var e4 = E1(e3); return(e4); } else { return(e1); } }