IExpression ParsePrimaryExpression() { if (SkipIf("(")) { var expression = new Paren(ParseEqualityExpression()); Expect(")"); return(expression); } if (IsType(TokenType.NumberLiteral)) { return(new Number(ParseNumber())); } return(new Identifier(ParseIdentifier())); }
public object Visit(Paren expression) => Calc(expression.Value);