Example #1
0
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()
Example #2
0
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()
Example #3
0
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)
Example #4
0
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)
Example #5
0
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
Example #6
0
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