Esempio n. 1
0
        private Surface.Expr Factor()
        {
            Surface.Expr expr;

            switch (lookahead.Type)
            {
            case SchoolLexer.LPAREN:
                Match(SchoolLexer.LPAREN);
                expr = Expr();
                Match(SchoolLexer.RPAREN);
                break;

            case SchoolLexer.NUM:
                string numberText = lookahead.Text;
                expr = new Surface.Number(Int32.Parse(numberText));
                Consume();
                break;

            default:
                throw new ParserException("expecting number; found " + lookahead);
            }

            return(expr);
        }
Esempio n. 2
0
 Core.Expr Surface.IExprVisitor <Core.Expr> .Visit(Surface.Number number)
 {
     return(new Core.Number(number.Value));
 }
Esempio n. 3
0
 object Surface.IExprVisitor <object> .Visit(Surface.Number number)
 {
     Console.Write(number.Value);
     return(null);
 }