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()));
        }
Beispiel #4
0
        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));
            }
        }