def p_ver2(p): ''' ver2 : ''' temp = quad.PilaO.pop() quad.Ptypes.pop() #quad.PilaO.append(temp) loc = Tablas.findLVector(Tablas.isVector) lim1 = Tablas.findCteVM(0) if loc == True: lim2 = Tablas.vectLTable[Tablas.isVector].lim1 m = Tablas.vectLTable[Tablas.isVector].m else: lim2 = Tablas.vectGTable[Tablas.isVector].lim1 m = Tablas.vectGTable[Tablas.isVector].m quad.quadInsert('Ver', temp, lim1, lim2) quad.count += 1 result = mv.getMemoTemp('int',Tablas.isGlobal,1) if (Tablas.isGlobal): Tablas.gtempAddSize('int',1) else: Tablas.tempAddSize('int',1) quad.quadInsert('*', temp, m, result) quad.count += 1 quad.PilaO.append(result)
def p_endprog(p): ''' endprog : ''' size = str(Tablas.gli) + ',' + str(Tablas.glf) + ',' + str(Tablas.glc) + ',' + str(Tablas.glti) + ',' + str(Tablas.gltf) + ',' + str(Tablas.gltc) + ',' + str(Tablas.gltb) Tablas.insertFuncSize(size, Tablas.program) quad.quadInsert('End', None, None, None) cf.export_txt(Tablas.dirFuncs, Tablas.cteTable, quad.Quad) Tablas.gvarPrint() print('') print('DirFunc') Tablas.dirPrint() print('') print('Constantes') Tablas.ctePrint() print('') print('Cuadruplos') quad.imprime() print('') Tablas.gVectPrint()
def p_ver3(p): ''' ver3 : ''' temp = quad.PilaO.pop() quad.Ptypes.pop() loc = Tablas.findLVector(Tablas.isVector) lim1 = Tablas.findCteVM(0) if loc == True: lim2 = Tablas.vectLTable[Tablas.isVector].lim1 else: lim2 = Tablas.vectGTable[Tablas.isVector].lim1 quad.quadInsert('Ver', temp, lim1, lim2) quad.count += 1 temp2 = quad.PilaO.pop() result = mv.getMemoTemp('int', Tablas.isGlobal,1) if (Tablas.isGlobal): Tablas.gtempAddSize('int',1) else: Tablas.tempAddSize('int',1) quad.quadInsert('+', temp, temp2, result) quad.count += 1 result2 = mv.getMemoTemp('int', Tablas.isGlobal,1) if (Tablas.isGlobal): Tablas.gtempAddSize('int',1) else: Tablas.tempAddSize('int',1) dir = Tablas.findCteVM(Tablas.isVector) quad.quadInsert('+', result, dir, result2) quad.count += 1 quad.PilaO.append('('+str(result2)+')')
def p_erainsert(p): ''' erainsert : ''' quad.quadInsert('Era', None, None, p[-1]) quad.count += 1
def p_gotomain(p): ''' gotomain : ''' quad.quadInsert('Goto', None, None, None) quad.count += 1
def p_endfunc(p): ''' endfunc : ''' quad.quadInsert('Endfunc', None, None, None) quad.count += 1