本文整理汇总了Python中quadruples.add_quadruple函数的典型用法代码示例。如果您正苦于以下问题:Python add_quadruple函数的具体用法?Python add_quadruple怎么用?Python add_quadruple使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了add_quadruple函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: p_add_For_2
def p_add_For_2(p):
'''add_For_2 : empty '''
auxExp1 = PilaO.pop()
p
auxID = PilaO.pop()
PilaO.append(auxID)
add_quadruple('=', auxID, -1, auxExp1, -1, 0)
示例2: p_add_For_4
def p_add_For_4(p):
'''add_For_4 : empty '''
auxID = PilaO.pop()
add_quadruple('+', auxID, -1, auxID, -1, 0)
retorno = PSaltos.pop()
add_quadruple('GOTO', retorno, -1, -1, -1, 0)
rellenar_cuadruplo(retorno+1)
示例3: p_add_While_3
def p_add_While_3(p):
'''add_While_3 : empty '''
if (PSaltos):
falso = PSaltos.pop()
retorno = PSaltos.pop()
add_quadruple('GOTO', retorno, -1, -1, -1, 0) #se genera cuadruplos GOTO, no tiene operandos nulos y una casilla vacia
rellenar_cuadruplo(falso)
示例4: p_add_Lectura2
def p_add_Lectura2(p):
'''add_Lectura2 : empty'''
#PilaO.append() # Se otiene el ID directamente y se manda a la pila
#operandoTEMPORAL = PilaO.pop() # Se obtiene operando y se genera el cuadruplo
operandoTEMPORAL = PilaO.pop()
add_quadruple('INPUT', operandoTEMPORAL, -1, -1, -1, 0) #se genera cuadruplos INPUT
示例5: p_add_Regresa
def p_add_Regresa(p):
''' add_Regresa : empty '''
if(PilaO):
tipoTEMPORAL = PTipos.pop()
operandoTEMPORAL = PilaO.pop()
#print(operandoTEMPORAL)
add_quadruple('RETURN', operandoTEMPORAL, -1, -1, -1, 0) #se genera cuadruplos REGRESA
示例6: p_add_Main_3
def p_add_Main_3(p):
'''add_Main_3 : empty'''
proc_brackList.pop()
while(var_brackList):
var_brackList.pop()
directorio_Activo['local'] = {} #Se libera la tabla de variables locales
add_quadruple('END', -1, -1, -1, -1, 0) #se genera cuadrplo de fin de programa
示例7: p_add_For_2
def p_add_For_2(p):
'''add_For_2 : empty '''
auxExp1 = PilaO.pop()
#print("Imprimiendo auxExp1: ", auxExp1)
auxID = PilaO.pop()
#print("Imprimiendo auxID: ", auxID)
PilaO.append(auxID)
add_quadruple('=', auxID, -1, auxExp1, -1, 0)
示例8: p_add_Escritura
def p_add_Escritura(p):
'''add_Escritura : empty'''
#PilaO.append(p[-1]) # Se otiene el ID directamente y se manda a la pila
#print("imprimiendo esto: ", PilaO)
operandoTEMPORAL = PilaO.pop() # Se obtiene operando y se genera el cuadruplo
#print(operandoTEMPORAL)
add_quadruple('OUTPUT', operandoTEMPORAL, -1, -1, -1, 0) #se genera cuadruplos OUTPUT
示例9: p_add_Llamada_Factor_1
def p_add_Llamada_Factor_1(p):
'''add_Llamada_Factor_1 : empty'''
if (proc_exists_in_list(p[-1])):
funcion_id.append(p[-1]) #Se guarda el nombre de la funcion que inicio la llamada en una lista = funcion_id
add_quadruple('ERA', p[-1], -1, -1, -1, 0) #Se genera el cuadruplo ERA, tiene expansion del registro activacion de acuerdo al tamano definido
contador_k = [0] # Se inicializa el contador k en 1
POper.append('[') #Agregando el fondo falso
else:
print ('<---[UNDECLARED_FUNCTION][Llamada_Factor]; Procedimiento "{0}" no se encuentra previamente declarado--->'.format(p[-1]))
exit(1)
示例10: p_add_For_4
def p_add_For_4(p):
'''add_For_4 : empty '''
print(PilaO)
auxID = PilaO.pop()
print(PilaO)
#add_quadruple('+', auxID, -1, auxID, -1, 0)
resultado_cuadruplo = add_quadruple('+', auxID, -1, 1, -1, 0) #PREGUNTAR A NERI SI ESTO DEBE SER, O EL DE ARRIBA
add_quadruple('=', auxID, -1, resultado_cuadruplo, -1, 0) #PREGUNTAR A NERI SI ESTO DEBE SER, O EL DE ARRIBA
retorno = PSaltos.pop()
add_quadruple('GOTO', retorno, -1, -1, -1, 0)
rellenar_cuadruplo(retorno+1)
示例11: p_add_While_3
def p_add_While_3(p):
'''add_While_3 : empty '''
if (PSaltos):
falso = PSaltos.pop()
retorno = PSaltos.pop()
add_quadruple('GOTO', retorno, -1, -1, -1, 0) #se genera cuadruplos GOTO, no tiene operandos nulos y una casilla vacia
rellenar_cuadruplo(falso)
#PSaltos.append(get_count_cuadruplos) # meter cont en PSaltos
auxID =
示例12: p_add_Llamada_1
def p_add_Llamada_1(p):
'''add_Llamada_2 : empty '''
#global contador_parametros
print("Nombre funcion")
print(p[-2])
if (proc_exists_in_list(p[-2])):
#print(p[-2])
add_quadruple('ERA', p[-2], -1, -1, -1) #Se genera el cuadruplo ERA, tiene expansion del registro activacion de acuerdo al tamano definido
contador_k = [0] # Se inicializa el contador k en 1
else:
print ('<---[UNDECLARED_FUNCTION][Llamada]; Procedimiento "{0}" no se encuentra previamente declarado--->'.format(p[-2]))
exit(1)
示例13: p_add_Lectura1
def p_add_Lectura1(p):
'''add_Lectura1 : empty'''
#PilaO.append() # Se otiene el ID directamente y se manda a la pila
#operandoTEMPORAL = PilaO.pop() # Se obtiene operando y se genera el cuadruplo
nombre = proc_brackList.pop()
proc_brackList.append(nombre)
if(busca_variable_en_directorio(nombre, p[-1])):
#print(operandoTEMPORAL)
add_quadruple('INPUT', p[-1], -1, -1, -1, 0) #se genera cuadruplos INPUT
else:
print ('<---[UNDECLARED_VARIABLE][Lectura]; Variable "{0}" no se encuentra previamente definida--->'.format( p[-1]))
exit(1)
示例14: p_add_Funcion_3
def p_add_Funcion_3(p):
'''add_Funcion_3 : empty'''
add_quadruple('ENDPROC', -1, -1, -1, -1, 0) #se genera cuadrplo de fin de programa
#print("Aqui estoy")
#pp.pprint(directorio_Activo)
proc_brackList.pop()
while(var_brackList):
var_brackList.pop()
x.procsLocal.update(directorio_Activo['local'])
#print("wow")
#pp.pprint(directorio_Activo)
#pp.pprint("ACTUALIZANDO X.PROCS")
#pp.pprint(directorio_Activo)
directorio_Activo['local'] = {} #Se libera la tabla de variables locales
示例15: p_add_For_3
def p_add_For_3(p):
'''add_For_3 : empty '''
auxExp2 = PilaO.pop()
temp_Tf = auxExp2
temp_Tx = 0
resultado_Tf = add_quadruple('=', auxExp2, -1, temp_Tf, -1, 1)
#pp.pprint(get_cuadruplos())
auxID = PilaO.pop()
PilaO.append(auxID)
resultado_Tx = add_quadruple('<=', auxID, -1, resultado_Tf, -1, 0)
add_quadruple('GOTOF', resultado_Tx, -1, -1, -1, 0) #se genera cuadruplo
#liberar Tx
PSaltos.append(get_count_cuadruplos() - 2)