annotate python/irmach.py @ 268:5ec7580976d9

Op naar tree-IR
author Windel Bouwman
date Wed, 14 Aug 2013 20:12:40 +0200
parents 444b9df2ed99
children 5f8c04a8d26b
rev   line source
261
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
1
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
2
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
3 class MachProgram:
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
4 pass
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
5
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
6
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
7 class MachFunction:
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
8 def __init__(self, name):
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
9 self.name = name
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
10 self.entry = None
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
11
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
12
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
13 class MachBlock:
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
14 def __init__(self):
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
15 self.instructions = []
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
16
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
17
268
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
18 class AbstractInstruction:
261
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
19 """ Absract machine instruction """
268
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
20 def __init__(self, assem, src=(), dst=(), jumps=()):
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
21 self.assem = assem
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
22 self.src = tuple(src)
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
23 self.dst = tuple(dst)
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
24 self.jumps = tuple(jumps)
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
25
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
26 def __repr__(self):
5ec7580976d9 Op naar tree-IR
Windel Bouwman
parents: 261
diff changeset
27 return self.assem + str(self.src) + str(self.dst)
261
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
28
444b9df2ed99 try to split up code generation
Windel Bouwman
parents:
diff changeset
29