Example #1
0
        static void Main(string[] args)
        {
            string parsedString      = "1024 + 256";
            var    inputStream       = new AntlrInputStream(parsedString);
            var    lexer             = new Combined1Lexer(inputStream);
            var    commonTokenStream = new CommonTokenStream(lexer);
            var    parser            = new Combined1Parser(commonTokenStream);
            var    graphContext      = parser.operation();

            Console.WriteLine(graphContext.ToStringTree());
        }
Example #2
0
        public static string Evaluate(string expression, int var)
        {
            MNRProgram Prog  = new MNRProgram(var);
            var        lexer = new Combined1Lexer(new AntlrInputStream(expression));

            lexer.RemoveErrorListeners();
            lexer.AddErrorListener(new ThrowExceptionErrorListener());
            var tokens  = new CommonTokenStream(lexer);
            var parser  = new Combined1Parser(tokens);
            var tree    = parser.compileUnit();
            var visitor = new Combined1Visitor(Prog, var);

            visitor.Visit(tree);
            return(Prog.GetProgram());
        }
Example #3
0
        void Main(string[] args)
        {
            var code             = "3 - (4)";
            var antlrInputStream = new AntlrInputStream(code);
            var lexer            = new Combined1Lexer(antlrInputStream);
            var cts    = new CommonTokenStream(lexer);
            var parser = new Combined1Parser(cts);



            var visitor = new MyVisitor();

            Console.WriteLine(visitor.Visit(parser.expression()));

            Console.ReadKey();
        }
Example #4
0
        static void Main(string[] args)
        {
            string text = "";

            // to type the EOF character and end the input: use CTRL+D, then press <enter>
            text = File.ReadAllText("input.txt");
            AntlrInputStream  inputStream       = new AntlrInputStream(text.ToString());
            Combined1Lexer    speakLexer        = new Combined1Lexer(inputStream);
            CommonTokenStream commonTokenStream = new CommonTokenStream(speakLexer);
            Combined1Parser   speakParser       = new Combined1Parser(commonTokenStream);
            IParseTree        tree = speakParser.compileUnit();

            AstNodePrinter.Print(tree);
            //Console.WriteLine(tree.ToStringTree());
            //ParseTreeWalker walker = new ParseTreeWalker();
            //walker.Walk(new TestWalker(), tree);
        }
Example #5
0
        static void Main(string[] args)
        {
            var code             = "3 - (4)";
            var antlrInputStream = new AntlrInputStream(code);
            var lexer            = new Combined1Lexer(antlrInputStream);
            var cts    = new CommonTokenStream(lexer);
            var parser = new Combined1Parser(cts);


            var dynamicMethod = new DynamicMethod("test", typeof(int), Type.EmptyTypes);
            var il            = dynamicMethod.GetILGenerator();

            var visitor = new MyVisitor(il);

            visitor.Visit(parser.expression());
            il.Emit(OpCodes.Ret);

            var method = (Func <int>)dynamicMethod.CreateDelegate(typeof(Func <int>));

            Console.WriteLine(method());

            Console.ReadKey();
        }