def return_action(self, text, loc, ret):
exshared.setpos(loc, text)<EOL>if DEBUG > <NUM_LIT:0>:<EOL><INDENT>print("<STR_LIT>",ret)<EOL>if DEBUG == <NUM_LIT:2>: self.symtab.display()<EOL>if DEBUG > <NUM_LIT:2>: return<EOL><DEDENT>if not self.symtab.same_types(self.shared.function_index, ret.exp[<NUM_LIT:0>]):<EOL><INDENT>raise SemanticException("<STR_LIT>")<EOL><DEDENT>reg = self.codegen.take_function_register()<EOL>self.codegen.move(ret.exp[<NUM_LIT:0>], reg)<EOL>self.codegen.free_register(reg)<EOL>self.codegen.unconditional_jump(self.codegen.label(self.shared.function_name+"<STR_LIT>", True))<EOL>
Code executed after recognising a return statement