From 11545b9e323084482673b8732b89711ae7e19928 Mon Sep 17 00:00:00 2001 From: Jana Rekittke Date: Sat, 4 Jul 2009 10:47:59 +0200 Subject: implement the code generator --- src/back/tac.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/back/tac.py') diff --git a/src/back/tac.py b/src/back/tac.py index bff5944..20b14d9 100644 --- a/src/back/tac.py +++ b/src/back/tac.py @@ -37,7 +37,8 @@ Op.GT = Op("GT") # x = !Z && !N Op.BEZ = Op("BEZ") # if x == 0 goto y Op.JMP = Op("JMP") # goto x -Op.PARAM = Op("PARAM") # param x +Op.PUSH = Op("PUSH") # push x +Op.POP = Op("POP") # pop x Op.CALL = Op("CALL") # call x return in y Op.RETURN = Op("RETURN") # return x @@ -59,9 +60,13 @@ class Label(object): def __repr__(self): return "" % self.name -class FunctionLabel(Label): +class FunctionPrologue(Label): def __repr__(self): - return "" % self.name + return "" % self.name + +class FunctionEpilogue(Label): + def __repr__(self): + return "" % self.name class TACList(object): __shared_state = {} -- cgit v1.2.3