def p_statement_comando(t):
    '''comando : NUMBER DPONTOS comando_sem_rotulo
               | comando_sem_rotulo'''
    if len(t) > 2:
        label = tabela.getVar(t[1])
        print label.getEnd() + "\tNADA"
        print "\tENRT "+str(tabela.getNivel())+","+str(tabela.getLenTab())
Exemple #2
0
def p_statement_comando(t):
    '''comando : NUMBER DPONTOS comando_sem_rotulo
               | comando_sem_rotulo'''
    if len(t) > 2:
        label = tabela.getVar(t[1])
        print label.getEnd() + "\tNADA"
        print "\tENRT " + str(tabela.getNivel()) + "," + str(
            tabela.getLenTab())
def p_statement_procedure(t):
    'procedure : PROCEDURE ID'
    print "\tDSVS "+rotulo.nome()
    rotulo.add()
    tabela.addFunc(t[2],rotulo.nome())
    print rotulo.nome() + "\tNADA"
    rotulo.remove()
    tabela.sobeNivel()
    print "\tENPR "+tabela.getNivel()
    rotulo.add()
    tabela.resetParam()
def p_statemente_function(t):
    'function : FUNCTION ID'
    print "\tDSVS "+rotulo.nome()
    rotulo.add()
    tabela.addFunc(t[2],rotulo.nome())
    print rotulo.nome()+ "\tNADA"
    rotulo.remove()
    tabela.sobeNivel()
    print "\tENPR "+tabela.getNivel()
    rotulo.add()
    tabela.resetParam()
Exemple #5
0
def p_statement_procedure(t):
    'procedure : PROCEDURE ID'
    print "\tDSVS " + rotulo.nome()
    rotulo.add()
    tabela.addFunc(t[2], rotulo.nome())
    print rotulo.nome() + "\tNADA"
    rotulo.remove()
    tabela.sobeNivel()
    print "\tENPR " + tabela.getNivel()
    rotulo.add()
    tabela.resetParam()
Exemple #6
0
def p_statemente_function(t):
    'function : FUNCTION ID'
    print "\tDSVS " + rotulo.nome()
    rotulo.add()
    tabela.addFunc(t[2], rotulo.nome())
    print rotulo.nome() + "\tNADA"
    rotulo.remove()
    tabela.sobeNivel()
    print "\tENPR " + tabela.getNivel()
    rotulo.add()
    tabela.resetParam()
def p_statement_desvio(t):
    ' desvio : GOTO NUMBER'
    label = tabela.getVar(t[2])
    print "\tDSVR " + label.getEndGo(tabela.getNivel())
def p_statement_procedimento(t):
    '''procedimento : procedure CMD bloco CMD
                    | procedure LPAREN lista_identificadores_sub RPAREN CMD bloco CMD'''
    print "\tRTPR "+tabela.getNivel()
    tabela.desceNivel()
def p_statement_funcao(t):
    '''funcao : function CMD DPONTOS tipo_retorno bloco CMD
              | function LPAREN lista_identificadores_sub RPAREN DPONTOS tipo_retorno CMD bloco CMD'''
    print "\tRTPR "+tabela.getNivel()
Exemple #10
0
def p_statement_desvio(t):
    ' desvio : GOTO NUMBER'
    label = tabela.getVar(t[2])
    print "\tDSVR " + label.getEndGo(tabela.getNivel())
Exemple #11
0
def p_statement_procedimento(t):
    '''procedimento : procedure CMD bloco CMD
                    | procedure LPAREN lista_identificadores_sub RPAREN CMD bloco CMD'''
    print "\tRTPR " + tabela.getNivel()
    tabela.desceNivel()
Exemple #12
0
def p_statement_funcao(t):
    '''funcao : function CMD DPONTOS tipo_retorno bloco CMD
              | function LPAREN lista_identificadores_sub RPAREN DPONTOS tipo_retorno CMD bloco CMD'''
    print "\tRTPR " + tabela.getNivel()