22 lines
526 B
C
22 lines
526 B
C
#ifndef MICROPASCAL_PARSER_PARSER_H
|
|
#define MICROPASCAL_PARSER_PARSER_H
|
|
|
|
#include "micropascal-lexer/lexer.h"
|
|
#include "micropascal-parser/ast.h"
|
|
|
|
typedef struct Parser {
|
|
Lexer* lexer;
|
|
Token atual;
|
|
int houve_erro;
|
|
int total_erros;
|
|
int silencioso;
|
|
} Parser;
|
|
|
|
void parserInicializar(Parser* parser, Lexer* lexer);
|
|
void parserSilenciarErros(Parser* parser, int silenciar);
|
|
AstNo* parserAnalisarPrograma(Parser* parser);
|
|
void astLiberar(AstNo* no);
|
|
void astImprimir(const AstNo* no, int profundidade);
|
|
|
|
#endif
|