Ejemplo n.º 1
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();
        }
Ejemplo n.º 2
0
        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));
            }
        }