public void AssembleLabel(LabeledBlock lab) { helper.BeginScope(lab.name); helper.addLabel(lab.name, assembler.addr); AssembleBlock(lab.block); helper.EndScope(assembler); }
public void StartAssembly(List <Node> nodes) { helper.BeginScope(); LabeledBlock entryPoint = getEntryPoint(nodes); AssembleLabel(entryPoint); nodes.Remove(entryPoint); foreach (Node n in nodes) { if (n is LabeledBlock) { AssembleLabel((LabeledBlock)n); } } helper.EndScope(assembler); assembler.FixLabels(helper); }