static void Main(string[] args) { //Program program = new Program(); //program.GameTest(); Config config = new Config(); Scheme parentScheme = new Scheme("ParentScheme"); config.AddScheme(parentScheme); Scheme scheme = new Scheme("MyScheme"); scheme.Code = File.ReadAllText("language/examples/scheme_example1.txt"); SchemeLang.Compile(scheme, config); string code = scheme.CompiledScheme.GetFullCode(); SchemeLangOptimizer.Optimize(scheme.CompiledScheme.GetFunctionByName("DoStuff")); string optimizedCode = scheme.CompiledScheme.GetFullCode(); //File.WriteAllText("output.txt", code); Console.WriteLine(code); Console.Write(optimizedCode); Console.ReadKey(); }
public void Compile(Config config) { // compile self if (Code != null && Code != "") { SchemeLang.Compile(this, config); } IsCompiledValid = true; // compile parents foreach (var parent in Parents) { parent.Compile(config); } }