Minor tweak to isa_parser.
authorSteve Reinhardt <stever@eecs.umich.edu>
Thu, 20 Oct 2005 18:14:59 +0000 (14:14 -0400)
committerSteve Reinhardt <stever@eecs.umich.edu>
Thu, 20 Oct 2005 18:14:59 +0000 (14:14 -0400)
arch/isa_parser.py:
    Derive Stack class directly from list.

--HG--
extra : convert_revision : 4f09db4baec0bb2144d71ffad5ce53651e8c3ac6

arch/isa_parser.py

index eaef4b79888d0242474f499715e42bb5c0666025..8f4c6bce7fe98e58ef8e81f70b033304d9561684 100755 (executable)
@@ -794,20 +794,19 @@ def defFormat(id, params, code, lineno):
 
 ##############
 # Stack: a simple stack object.  Used for both formats (formatStack)
-# and default cases (defaultStack).
+# and default cases (defaultStack).  Simply wraps a list to give more
+# stack-like syntax and enable initialization with an argument list
+# (as opposed to an argument that's a list).
 
-class Stack:
-    def __init__(self, initItem):
-        self.stack = [ initItem ]
+class Stack(list):
+    def __init__(self, *items):
+        list.__init__(self, items)
 
     def push(self, item):
-        self.stack.append(item);
-
-    def pop(self):
-        return self.stack.pop()
+        self.append(item);
 
     def top(self):
-        return self.stack[-1]
+        return self[-1]
 
 # The global format stack.
 formatStack = Stack(NoFormat())