Example #1
0
        IExpression ParsePrimaryExpression()
        {
            if (SkipIf("("))
            {
                var expression = new Paren(ParseEqualityExpression());
                Expect(")");
                return(expression);
            }

            if (IsType(TokenType.NumberLiteral))
            {
                return(new Number(ParseNumber()));
            }

            return(new Identifier(ParseIdentifier()));
        }
Example #2
0
 public object Visit(Paren expression) => Calc(expression.Value);