public static void Main(string[] args) { try { CalcLexer lexer = new CalcLexer(new CharBuffer(Console.In)); lexer.setFilename("<stdin>"); CalcParser parser = new CalcParser(lexer); parser.setFilename("<stdin>"); // Parse the input expression parser.expr(); CommonAST t = (CommonAST)parser.getAST(); // Print the resulting tree out in LISP notation Console.Out.WriteLine(t.ToStringTree()); CalcTreeWalker walker = new CalcTreeWalker(); // Traverse the tree created by the parser float r = walker.expr(t); Console.Out.WriteLine("value is " + r); } catch (TokenStreamException e) { Console.Error.WriteLine("exception: " + e); } catch (RecognitionException e) { Console.Error.WriteLine("exception: " + e); } }
public static void Main(string[] args) { try { CalcLexer lexer = new CalcLexer(new CharBuffer(Console.In)); lexer.setFilename("<stdin>"); CalcParser parser = new CalcParser(lexer); parser.setFilename("<stdin>"); // Parse the input expression parser.expr(); CommonAST t = (CommonAST)parser.getAST(); // Print the resulting tree out in LISP notation Console.Out.WriteLine(t.ToStringTree()); CalcTreeWalker walker = new CalcTreeWalker(); // Traverse the tree created by the parser float r = walker.expr(t); Console.Out.WriteLine("value is "+r); } catch(TokenStreamException e) { Console.Error.WriteLine("exception: "+e); } catch(RecognitionException e) { Console.Error.WriteLine("exception: "+e); } }