def p_Funciones(p): '''Funciones : Fun1 varFunciones Bloque''' temps = avail.get_temporal_dirs() direc[avail.getalcance()][5] = temps[0] direc[avail.getalcance()][6] = temps[1] direc[avail.getalcance()][7] = temps[2] direc[avail.getalcance()][8] = temps[3] hashT.clear() avail.function_end()
def p_prog(p): '''prog : PROG prog1 princ AC locales Bloque CC''' temp = [(void_val - 1000), (entero_val - 2000), (flotante_val - 3000)] temp.extend(avail.get_temporal_dirs()) direc["princ"] = temp if ("globales" in direc): temp = direc["globales"] temp.pop(0) direc["globales"] = temp sC = ['ENDPROG', -1, -1, -1] avail.append_quad(sC)
def p_prog(p): '''prog : PROG prog1 princ AC locales Bloque CC''' temp = [(void_val-1000), (entero_val-2000), (flotante_val-3000)] temp.extend(avail.get_temporal_dirs()) direc["princ"] = temp if("globales" in direc): temp = direc["globales"] temp.pop(0) direc["globales"] = temp sC = ['ENDPROG', -1, -1, -1] avail.append_quad(sC)
def p_globales(p): '''globales : glob var | vacia''' global void_val, entero_val, flotante_val Bloque_dir(hashT, 1) vaDict = dict(hashT) temp = [vaDict, (void_val-1000), (entero_val-2000), (flotante_val-3000)] temp.extend(avail.get_temporal_dirs()) direc["globales"] = temp hashT.clear() void_val = 1000 entero_val = 2000 flotante_val = 3000
def p_globales(p): '''globales : glob var | vacia''' global void_val, entero_val, flotante_val Bloque_dir(hashT, 1) vaDict = dict(hashT) temp = [ vaDict, (void_val - 1000), (entero_val - 2000), (flotante_val - 3000) ] temp.extend(avail.get_temporal_dirs()) direc["globales"] = temp hashT.clear() void_val = 1000 entero_val = 2000 flotante_val = 3000