diff python/irmach.py @ 274:ea93e0a7a31e

Move docs
author Windel Bouwman
date Wed, 04 Sep 2013 17:35:06 +0200
parents cdc76d183bcc
children 6f2423df0675
line wrap: on
line diff
--- a/python/irmach.py	Mon Sep 02 17:40:21 2013 +0200
+++ b/python/irmach.py	Wed Sep 04 17:35:06 2013 +0200
@@ -7,9 +7,25 @@
   Instructions are selected and scheduled at this stage.
 """
 
+class Frame:
+    """ 
+        Activation record abstraction. This class contains a flattened 
+        function. Instructions are selected and scheduled at this stage.
+        Frames differ per machine.
+    """
+    def __init__(self, name):
+        self.name = name
+        self.instructions = []
+
+    def __repr__(self):
+        return 'Frame'
+
 
 class AbstractInstruction:
-    """ Absract machine instruction """
+    """ 
+        Abstract machine instruction class. This is a very simple
+        abstraction of machine instructions.
+    """
     def __init__(self, assem, src=(), dst=(), jumps=()):
         self.assem = assem
         self.src = tuple(src)
@@ -17,6 +33,9 @@
         self.jumps = tuple(jumps)
 
     def __repr__(self):
-        return self.assem + str(self.src) + str(self.dst)
+        s = str(self.src) if self.src else ''
+        d = str(self.dst) if self.dst else ''
+        l = str(self.jumps) if self.jumps else ''
+        return self.assem + s + d + l