示例#1
0
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)
示例#2
0
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()
示例#3
0
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)+')')
示例#4
0
def p_erainsert(p):
    '''
    erainsert :
    '''
    quad.quadInsert('Era', None, None, p[-1])
    quad.count += 1
示例#5
0
def p_gotomain(p):
    '''
    gotomain :
    '''
    quad.quadInsert('Goto', None, None, None)
    quad.count += 1
示例#6
0
def p_endfunc(p):
    '''
    endfunc :
    '''
    quad.quadInsert('Endfunc', None, None, None)
    quad.count += 1