static void Main(string[] args) { AntlrInputStream inputStream = new AntlrInputStream("2 + 2"); CalculatorLexer calcLexer = new CalculatorLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(calcLexer); CalculatorParser calcParser = new CalculatorParser(commonTokenStream); CalculatorParser.EquationContext equationContext = calcParser.equation(); CalculatorVisitor calcVisitor = new CalculatorVisitor(); calcVisitor.EnterEquation(equationContext); calcVisitor.printResult(); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("Calculadora (Ctrl+Z para salir):"); StreamReader inputStream = new StreamReader(Console.OpenStandardInput()); while (!inputStream.EndOfStream) { AntlrInputStream input = new AntlrInputStream(inputStream.ReadLine()); CalculatorLexer lexer = new CalculatorLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); CalculatorParser parser = new CalculatorParser(tokens); IParseTree tree = parser.prog(); //Console.WriteLine(tree.ToStringTree(parser)); CalculatorVisitor visitor = new CalculatorVisitor(); Console.WriteLine(visitor.Visit(tree)); } }