checking in initial weekend's work
compile.py: ASTVisitor framework plus bits of a code generator that
should be bug-for-buf compatible with compile.c
misc.py: Set and Stack helpers
test.py: a bit of simple sample code that compile.py will work on
diff --git a/Lib/compiler/misc.py b/Lib/compiler/misc.py
new file mode 100644
index 0000000..5a3e261
--- /dev/null
+++ b/Lib/compiler/misc.py
@@ -0,0 +1,18 @@
+class Set:
+ def __init__(self):
+ self.elts = {}
+ def add(self, elt):
+ self.elts[elt] = elt
+ def items(self):
+ return self.elts.keys()
+ def has_elt(self, elt):
+ return self.elts.has_key(elt)
+
+class Stack:
+ def __init__(self):
+ self.stack = []
+ self.pop = self.stack.pop
+ def push(self, elt):
+ self.stack.append(elt)
+ def top(self):
+ return self.stack[-1]