private void Compile(string iFileName) { try { Debug.Assert(null != iFileName); icode _icode = null; if (!File.Exists(iFileName)) { Console.WriteLine(String.Format("The file {0} does not exist", iFileName)); return; } _icode = new icode(@"output.txt", new System.IO.FileStream(iFileName, System.IO.FileMode.Open)); System.Console.BackgroundColor = ConsoleColor.Blue; System.ConsoleColor color = System.Console.ForegroundColor; System.Console.ForegroundColor = ConsoleColor.White; System.Console.WriteLine("Parsing"); var parser = new vmeex.Parser(_icode); Debug.Assert(null != parser); using (new ParserContext(ParserContextEnum.None)) { parser.Parse(); } Expr expr = parser.GetIntermededateCode(); GenerateIL il = new GenerateIL(); il.InitGenerator(expr); System.Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("Compiling"); if (parser.WriteErrors()) { return; } } catch (NireExecutionException nex) { Console.WriteLine(nex.Message); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
internal Parser(icode scr) : this() { _scanner = scr; }