def eval(self, st): condition = self.children[0] true_stmts = self.children[1] false_stmts = self.children[2] if Assembly.get_exec_type() == "i": if condition.eval(st, n_id=self.identifier): true_stmts.eval(st) else: false_stmts.eval(st) else: condition.eval(st, n_id=self.identifier) true_stmts.eval(st) self.__generate_assembly("BEFORE_ELSE", n_id=self.identifier) false_stmts.eval(st) self.__generate_assembly("AFTER_ELSE", n_id=self.identifier)
def eval(self, st): result = self.children[0].eval(st) self.__generate_assembly() if Assembly.get_exec_type() == "i": print(result)