#Build lexer import ply.lex as lex lexer = lex.lex() # Importa las clases necesarias para el compilador from register import Register from quadruple_register import QuadrupleRegister from op_codes import OpCodes from virtual_machine import VirtualMachine from logger import Logger # Inicializacion de clases register = Register(lexer) quadruple_reg = QuadrupleRegister(lexer) register.set_address_handler(quadruple_reg.address_handler) main_goto_quadruple = 0 log = Logger(False) # Reglas de parsing # Sintaxis principal de todo el programa def p_programa(p): 'programa : dec_programa progvar main_goto progfunc main_block' log.write("/////////////Programa terminado con exito///////////////") log.write(" ######### Register table ###########") register.print_table() log.write(" ####### Debug Quadruples ############") quadruple_reg.print_debug_quadruples()