public static void New() { CompilationScope mainScope = new CompilationScope { instructions = new Instructions { }, lastInstruction = new EmittedInstruction { }, previousInstruction = new EmittedInstruction { }, }; symbol_table.SymbolTable symbolTable = symbol_table.NewSymbolTable(); for (int i = 0; i < Object.builtins.Builtins.Length; i++) { Object._BuiltinDefinition v = Object.builtins.Builtins[i]; symbol_table.DefineBuiltin(ref symbolTable, i, v.Name); } compiler = new Compiler_t { constants = new List <Object.Object>(), symbolTable = symbolTable, scopes = new List <CompilationScope> { mainScope }, scopeIndex = 0, }; }
public static Compiler_t NewWithState(ref symbol_table.SymbolTable s, List <Object.Object> constants) { Compiler_t compiler = New(); compiler.symbolTable = s; compiler.constants = constants; return(compiler); }
public static void NewWithState(ref symbol_table.SymbolTable s, List <Object.Object> constants) { New(); compiler.symbolTable = s; compiler.constants = constants; }