diff options
author | Benedikt Böhm <bb@xnull.de> | 2009-07-06 21:21:19 +0200 |
---|---|---|
committer | Benedikt Böhm <bb@xnull.de> | 2009-07-06 21:21:19 +0200 |
commit | ac4fb25412982447af2e718d3824e6acf7d3a2dd (patch) | |
tree | 4eb8d49be8363dda95e3e1851e8dc04e6c3cb4f5 /src/front/ast.py | |
parent | 37aec7789434c3ade9a1df630b1eec6c997487b2 (diff) | |
download | swppy-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.py | 12 |
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 |