Esempio n. 1
0
    public static void Main(string[] args)
    {
        new INTNode();
        try {
            CalcLexer  lexer  = new CalcLexer(new ByteBuffer(Console.OpenStandardInput()));
            CalcParser parser = new CalcParser(lexer);
            // Parse the input expression
            parser.expr();
            CalcAST t = (CalcAST)parser.getAST();

            // Print the resulting tree out in LISP notation
            Console.Out.WriteLine(t.ToStringTree());

            // XML serialize the tree, showing
            // different physical node class types
            TextWriter w = Console.Out;
            t.xmlSerialize(w);
            w.Write("\n");
            w.Flush();

            // Compute value and return
            int r = t.Value();
            Console.Out.WriteLine("value is " + r);
        } catch (Exception e) {
            Console.Error.WriteLine("exception: " + e);
            Console.Error.WriteLine(e.StackTrace);
        }
    }
Esempio n. 2
0
    public CalcAST Right()
    {
        CalcAST t = Left();

        if (t == null)
        {
            return(null);
        }
        return((CalcAST)t.getNextSibling());
    }