summaryrefslogtreecommitdiff
path: root/lexical.c
diff options
context:
space:
mode:
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);
}