public void Compile(string path) { input = new CPreProcessor(path); foreach (string idir in IncludeDirs) input.AddIncludeDir(idir); foreach (string macro in Macros) input.Define(null, macro.Replace('=', ' ')); if (this.DoCompile) Read(); else if (this.DoPreProcess) { Token token; for (; ; ) { token = input.ReadToken(); if (token == null) break; Console.Write(token.Litteral + " "); } } else throw new Exception(); }