/*public void Analyze() * { * var semantic = new SemanticAnalyzer(astTree); * semantic.analyze(); * * var aTree = semantic.annotatedTree; * printDebug("Semantic tree:\n" + aTree + "\n"); * * //var semantic = new SemanticAnalyzer(tree); * //semantic.generateTables(); * //semantic.analyze(); * //printDebug("Semantic tree:\n" + tree + "\n"); * }*/ /*public void Generate() * { * var codeGen = new CodeGenerator(aTree, semantic.moduleTable, semantic.dataTable); * codeGen.generate(); * * var asmCode = codeGen.assembly.ToString(); * printDebug("Generated assembly:\n" + asmCode); * }*/ private static void PrintDebug(IDebuggable o, string description = null) { if (description == null) { description = o.GetType().ToString(); } PrintDebug(description + ":\n" + o.ToDebugString()); PrintDebug(""); }