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()); }
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()); }
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(); }
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); }
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(); }