public void ParseFile(string moduleName, Stream inStream, Transpiler t) { Translator = t; RootBlock = RootBlock.Create(moduleName + "Module"); t.RootBlock = RootBlock; Preprocessor preprocessor = new Preprocessor(); TokenList list = preprocessor.Read(inStream); #if DEBUG_TOKENIZER Debug.Print(""); Debug.Print(""); //DebugTextWriter writer = new DebugTextWriter(); StringWriter writer = new StringWriter(); list.Print(writer); Debug.Print(writer.ToString()); Debug.Print(""); Debug.Print(""); #endif // //PushPolicy(RootPolicy); CreateState(list); //Visit(RootBlock); PushDialect(new ParserDialect(this)); ParseLines(RootBlock); PopState(); //PopPolicy(); //TODO:This should go in the compiler class. RootBlock.Resolve(); t.Visit(RootBlock); // t.Close(); }