public SymbolTable Analyse(AstRoot ast) { SymbolTable retTable = new SymbolTable (); RootAnalyser visitor = new RootAnalyser (errorLog, retTable); ast.Visit (visitor); return retTable; }
public SymbolTable Analyse(AstRoot ast) { SymbolTable retTable = new SymbolTable(); RootAnalyser visitor = new RootAnalyser(errorLog, retTable); ast.Visit(visitor); return(retTable); }
public IodineModule CompileAst(IodineModule module, AstRoot ast) { ModuleCompiler compiler = new ModuleCompiler (errorLog, symbolTable, module); ast.Visit (compiler); module.Initializer.FinalizeLabels (); optimizeObject (module); return module; }
public IodineModule Compile(string moduleName) { IodineModule module = new IodineModule(moduleName); ModuleCompiler compiler = new ModuleCompiler(symbolTable, module); root.Visit(compiler); module.Initializer.FinalizeLabels(); if (context.ShouldOptimize) { OptimizeObject(module); } return(module); }