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_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()
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()
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()
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()