public Writer(Databases dtbs) { cdtb = dtbs.cdtb; fdtb = cdtb.functionDatabase; sdtb = dtbs.sdtb; this.dtbs = dtbs; }
public CodeParser(Databases databases, Function f, IndentationManager lastIndentation) { fdtb = databases.fdtb; cdtb = databases.cdtb; sdtb = databases.sdtb; indent = lastIndentation; int offset = f is LocalFunction ? 1 : 0; foreach (Argument a in f.arguments) { if (!a.isSelfArgument()) { locals[a.name] = new LocalVariable(locals.Count+offset, a.type); } } if (f is LocalFunction) { Argument selfArgument = f.arguments.First((x => x.isSelfArgument())); locals[selfArgument.name]=new LocalVariable(0, selfArgument.type); } #if DEBUG Console.WriteLine("Locals are: " + locals.toAdvancedString()); #endif block = new CodeBlock(); }
private CodeParser(ClassDatabase cdtb, FunctionDatabase fdtb, StringDatabase sdtb, IndentationManager indentation, Dictionary<string, LocalVariable> loc) { this.cdtb = cdtb; this.sdtb = sdtb; this.fdtb = fdtb; indent = indentation; locals = loc; block = new CodeBlock(); }
public CodeParser(Databases dtbs, IndentationManager oldIndentation) { fdtb = dtbs.fdtb; cdtb = dtbs.cdtb; sdtb = dtbs.sdtb; indent = oldIndentation; block = new CodeBlock(); }