-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsemantico.h
33 lines (28 loc) · 1.14 KB
/
semantico.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef SEM_H
#define SEM_H
#include "ast.h"
#include "tabelaSimbolos.h"
void analisaPrograma(A_Programa prog, String nome_programa);
void analisaBloco(A_Bloco bloco);
void analisaDecVars(A_LstDecVar secDecVar);
void analisaDecSubs(A_LstDecSub secDecSub);
String analisaChamFunc(A_ChamFunc chamFunc);
String analisaFator(struct Exp_Fator exp_fator);
String analisaExp(A_Exp expressao);
void analisaAtribuicao(struct A_atrib atribuicao);
void analisaChamProc(struct A_chamProc chamProc);
void analisaCondicional(struct A_cond cond);
void analisaLoop(struct A_loop loop);
void analisaLeitura(struct A_read read);
void analisaEscrita(struct A_write write);
void analisaCmd(A_Cmd comando);
void analisaCmdComp(A_Cmd comandos);
struct Symbol *esta_na_tabela(String simbolo);
bool simbolo_mesmo_escopo(String simbolo);
int num_pf(A_DecParamList lista_parametros);
int num_parametros(A_ListExp lista_parametros);
bool analisaOrdemFunc(A_ChamFunc chamFunc, struct Symbol *funcao_tabela);
bool analisaOrdemProc(struct A_chamProc chamProc, struct Symbol *proc_tabela);
String buscar_tipo_var(String id);
void gerarArquivoMepa(bool _possui_erros, String nome_programa);
#endif