diff options
Diffstat (limited to 'lexical.c')
-rw-r--r-- | lexical.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -10,7 +10,7 @@ char proximo = '\n'; int is_EOF = 0; -int linha = 1; // Numero da linha atual) +int linha = 0; // Numero da linha atual) int identificador_num = 1; FILE *fout; @@ -89,19 +89,21 @@ void init_all_map(){ void PROXIMO(FILE *fp){ if(is_EOF) return; - if(fscanf(fp, "%c", &proximo) == EOF){ - is_EOF = 1; - return ; - } if(proximo == '\n'){ - printf("\n"); - fprintf(fout, "\n"); - PROXIMO(fp); + if(linha != 0){ + printf("\n"); + fprintf(fout, "\n"); + } linha++; printf("linha %d: ", linha); fprintf(fout, "linha %d: ", linha); } + if(fscanf(fp, "%c", &proximo) == EOF){ + is_EOF = 1; + return ; + } + return ; } |