from lex import tokens from symbol_table import SymbolTable from algorithms import attempt_create_quadruple, attempt_create_quadruple_unary, attempt_assignment_quadruple, attempt_pickle, save_param_func_table, attempt_pass_parameter from expression_handler import ExpressionHandler from semantic_error import SemanticError from quadruple import Quadruple from jumps_stack import JumpsStack, PendingJump, JumpHere from quadruple import QuadrupleStack from avail import Avail from constant_table import ConstantTable from address_handler import AddressHandler, POINTERS from helper import Helper from id_tracker import IdTracker exp_handler = ExpressionHandler.get_instance() symbol_table = SymbolTable.get_instance() quad_stack = QuadrupleStack.get_instance() const_table = ConstantTable.get_instance() address_handler = AddressHandler.get_instance() jumps_stack = JumpsStack.get_instance() id_tracker = IdTracker.get_instance() def p_program(p): ''' program : init_game init vars goto_main functions main pickle''' # EMBEDDED ACTION def p_goto_main(p): ''' goto_main :''' quad = Quadruple('GOTO', None, None, PendingJump())