public static void Preprocess(string originalFile, string outputFile, string game, ILog messageLog) { EACodeLanguage language = languages[game]; var predefined = new[] { "_" + game + "_", "_EA_" }; using (var preprocessor = new Preprocessor(messageLog)) { preprocessor.AddReserved(language.GetCodeNames()); preprocessor.AddDefined(predefined); using (var reader = File.OpenText(originalFile)) { var stream = new PreprocessingInputStream(reader, preprocessor); var writer = new StringWriter(); while (true) { string line = stream.ReadLine(); if (line == null) { break; } writer.WriteLine(line); } messageLog.AddMessage("Processed code:\n" + writer + "\nEnd processed code"); //File.WriteAllText(outputFile, writer.ToString()); } } }
private static void Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log) { var predefined = new List<string> { "_" + language.Name + "_", "_EA_" }; using (IPreprocessor preprocessor = new Preprocessor(log)) { preprocessor.AddReserved(language.GetCodeNames()); preprocessor.AddDefined(predefined.ToArray()); IInputStream stream = new PreprocessingInputStream(input, preprocessor); language.Assemble(stream, output, log); } }
public static void Preprocess(string originalFile, string outputFile, string game) { EACodeLanguage language = languages[game]; List<string> predefined = new List<string>(); predefined.Add("_" + game + "_"); predefined.Add("_EA_"); predefined.AddRange(language.GetCodeNames()); IPreprocessor preprocessor = new Preprocessor(messageLog); preprocessor.AddReserved(language.GetCodeNames()); preprocessor.AddDefined(predefined.ToArray()); string code = null;//preprocessor.Process(originalFile); //File.WriteAllText(outputFile, code); messageLog.AddMessage("Processed code:\n" + code + "\nEnd processed code"); messageLog.PrintAll(); messageLog.Clear(); }