1.1 --- a/rsvp.py Tue Aug 14 00:36:41 2007 +0200
1.2 +++ b/rsvp.py Tue Aug 28 00:59:09 2007 +0200
1.3 @@ -507,15 +507,22 @@
1.4 self.memory += assembler.memory
1.5 self.add_labels(assembler.labels, assembler.label_users, label_base)
1.6
1.7 -def dump(memory):
1.8 + def get_reverse_labels(self):
1.9 + return dict([(value, key) for (key, value) in self.labels.items()])
1.10 +
1.11 + def dump(self):
1.12 + dump(self.memory, self.get_reverse_labels())
1.13 +
1.14 +def dump(memory, reverse_labels=None):
1.15 + reverse_labels = reverse_labels or {}
1.16 for i in range(0, len(memory)):
1.17 - print "%8d %s" % (i, memory[i])
1.18 + print "%50s %8d %s" % (reverse_labels.get(i, ""), i, memory[i])
1.19
1.20 -def get_image(*assemblers):
1.21 +def get_merged(*assemblers):
1.22 merged_assembler = RSVPAssembler()
1.23 for assembler in assemblers:
1.24 merged_assembler.merge(assembler)
1.25 - return merged_assembler.memory
1.26 + return merged_assembler
1.27
1.28 def test_fact(n, debug=0):
1.29
1.30 @@ -574,11 +581,10 @@
1.31 fact_assembler.label("$1")
1.32 fact_assembler.add(1)
1.33
1.34 - memory = get_image(main_assembler, fact_assembler)
1.35 + merged = get_merged(main_assembler, fact_assembler)
1.36 + merged.dump()
1.37
1.38 - dump(memory)
1.39 -
1.40 - proc = RSVPMachine(memory, debug=debug)
1.41 + proc = RSVPMachine(merged.memory, debug=debug)
1.42 proc.execute()
1.43
1.44 def test_empty(debug=0):