From 954fc6b9d4bfee8b2eb1af11f4e62a66b9e8da57 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 18 Apr 2024 18:00:40 -0300 Subject: finalizado? --- lexical.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'lexical.c') diff --git a/lexical.c b/lexical.c index 22d219b..b742311 100644 --- a/lexical.c +++ b/lexical.c @@ -1,3 +1,8 @@ +/* + * Nome: Leonardo Koosuke Azuma + * SO: Arch Linux x86_64 + * Compilador: gcc (GCC) 13.2.1 20230801 + */ #include #include #include "include/map.h" @@ -7,6 +12,8 @@ char proximo = '\n'; int is_EOF = 0; int linha = 1; // Numero da linha atual) int identificador_num = 1; + +FILE *fout; string_map special_char; string_map simbolos_especiais; @@ -88,9 +95,11 @@ void PROXIMO(FILE *fp){ } if(proximo == '\n'){ printf("\n"); + fprintf(fout, "\n"); PROXIMO(fp); linha++; printf("linha %d: ", linha); + fprintf(fout, "linha %d: ", linha); } return ; @@ -117,9 +126,13 @@ char* CODIGO(char *cod){ return NULL; } -void ERRO(int error_code){ +void ERRO(enum error_type 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"); + if(error_code == SIMBOLO_ESPECIAL_DESCONHECIDO){ + fprintf(stderr, "ERRO: Simbolo especial desconhecido\n"); + } + else{ + fprintf(stderr, "ERRO: Identificador ou numero mal formado\n"); + } exit(1); } -- cgit v1.2.3