summaryrefslogtreecommitdiffstats
path: root/src/front/ast.py
diff options
context:
space:
mode:
authorBenedikt Böhm <bb@xnull.de>2009-07-06 21:21:19 +0200
committerBenedikt Böhm <bb@xnull.de>2009-07-06 21:21:19 +0200
commitac4fb25412982447af2e718d3824e6acf7d3a2dd (patch)
tree4eb8d49be8363dda95e3e1851e8dc04e6c3cb4f5 /src/front/ast.py
parent37aec7789434c3ade9a1df630b1eec6c997487b2 (diff)
downloadswppy-ac4fb25412982447af2e718d3824e6acf7d3a2dd.tar.gz
swppy-ac4fb25412982447af2e718d3824e6acf7d3a2dd.tar.xz
swppy-ac4fb25412982447af2e718d3824e6acf7d3a2dd.zip
implement print statement
Diffstat (limited to 'src/front/ast.py')
-rw-r--r--src/front/ast.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/front/ast.py b/src/front/ast.py
index 77aab95..f272ca2 100644
--- a/src/front/ast.py
+++ b/src/front/ast.py
@@ -149,6 +149,18 @@ class ReturnStatement(Statement):
def __repr__(self):
return "<ReturnStatement at line %d>" % self.lineno
+class PrintStatement(Statement):
+ def __init__(self, expression, lineno = -1):
+ self.expression = expression
+ self.lineno = lineno
+
+ def generate(self, before, after, last):
+ self.debug("PrintStatement.generate(before = %d, after = %d): %s" % (before, after, repr(self)))
+ self.emit(Op.PRINT, self.expression.reduce(), last)
+
+ def __repr__(self):
+ return "<PrintStatement at line %d>" % self.lineno
+
class AssignStatement(Statement):
def __init__(self, ident, expression, lineno = -1):
self.ident = ident