summaryrefslogtreecommitdiff
path: root/lexical.c
diff options
context:
space:
mode:
authorleo <leo@azuminha.com>2024-04-16 22:12:29 -0300
committerleo <leo@azuminha.com>2024-04-16 22:12:29 -0300
commit0d530f0e84c15387cd22ae1608c284befff8e87f (patch)
treef1d4ec9520d4e02bbae69f582d9ede9aef327c23 /lexical.c
parent4eba85d0bf620b2f488c2cbeee6a84b2e4bf9fbf (diff)
so falta os comentarios e salvar em um arquivo
Diffstat (limited to 'lexical.c')
-rw-r--r--lexical.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lexical.c b/lexical.c
index 46ffffb..22d219b 100644
--- a/lexical.c
+++ b/lexical.c
@@ -80,14 +80,17 @@ void init_all_map(){
void PROXIMO(FILE *fp){
+ if(is_EOF) return;
+
if(fscanf(fp, "%c", &proximo) == EOF){
is_EOF = 1;
return ;
}
- printf("%c", proximo);
if(proximo == '\n'){
+ printf("\n");
PROXIMO(fp);
linha++;
+ printf("linha %d: ", linha);
}
return ;
@@ -114,7 +117,9 @@ char* CODIGO(char *cod){
return NULL;
}
-void ERRO(){
+void ERRO(int error_code){
fprintf(stderr, "Erro na linha %d\n", linha);
+ if(error_code == 1) fprintf(stderr, "primerio erro\n");
+ else fprintf(stderr, "segundo erro\n");
exit(1);
}