public static void Main(string[] args) { Stream inputStream = Console.OpenStandardInput(); AntlrInputStream input = new AntlrInputStream(inputStream); CalculatorLexer lexer = new CalculatorLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); CalculatorParser parser = new CalculatorParser(tokens); }
public static void Main(string[] args) { Stream inputStream = Console.OpenStandardInput(); ANTLRInputStream input = new ANTLRInputStream(inputStream); CalculatorLexer lexer = new CalculatorLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); CalculatorParser parser = new CalculatorParser(tokens); var tree = parser.stat().Tree; Console.WriteLine(tree.ToStringTree()); DumpTree(tree, "", " "); }
private int EvaluateInput(string input) { CalculatorLexer lexer = new CalculatorLexer(new AntlrInputStream(input)); lexer.RemoveErrorListeners(); lexer.AddErrorListener(new ThrowingErrorListener <int>()); CalculatorParser parser = new CalculatorParser(new CommonTokenStream(lexer)); parser.RemoveErrorListeners(); parser.AddErrorListener(new ThrowingErrorListener <IToken>()); return(new CalculatorVisitor().Visit(parser.expression())); }
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)); } }