public static Result Execute(Plc plc, string mnemonic) { Console.WriteLine("\ninput:\n" + mnemonic); var inputStream = new AntlrInputStream(mnemonic); var lexer = new testLexer(inputStream); var tokenStream = new CommonTokenStream(lexer); var parser = new testParser(tokenStream); try { return((new Visitor(plc)).Visit(parser.input())); } finally { plc.DisplayCurrentDevice(); } }
static void Main(string[] args) { if (args.Length == 2) { Antlr.Runtime.ANTLRFileStream inStream = new Antlr.Runtime.ANTLRFileStream(args[0]); testLexer lexer = new testLexer(inStream); Emitter emitter = new Emitter(); Antlr.Runtime.CommonTokenStream tokenStream = new Antlr.Runtime.CommonTokenStream(lexer); testParser parser = new testParser(tokenStream, emitter); //вызываем разбор правил programm parser.program(); emitter.SaveMSIL(args[1]); } else { Console.WriteLine("usege: <program> <inputfile> <outputfile>"); Console.ReadKey(); } }