--- parser3/src/main/compile.y 2003/04/03 12:25:33 1.204.2.8.2.12 +++ parser3/src/main/compile.y 2003/04/03 12:40:53 1.204.2.8.2.13 @@ -5,7 +5,7 @@ Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - $Id: compile.y,v 1.204.2.8.2.12 2003/04/03 12:25:33 paf Exp $ + $Id: compile.y,v 1.204.2.8.2.13 2003/04/03 12:40:53 paf Exp $ */ /** @@ -639,7 +639,6 @@ static int yylex(YYSTYPE *lvalp, void *a const char *begin=pc.source; Pos begin_pos=pc.pos; - uint last_line_end_col=0; const char *end; int skip_analized=0; while(true) { @@ -647,9 +646,7 @@ static int yylex(YYSTYPE *lvalp, void *a // fprintf(stderr, "\nchar: %c %02X; nestage: %d, sp=%d", c, c, lexical_brackets_nestage, pc.sp); if(c=='\n') { - pc.pos.line++; - last_line_end_col=pc.pos.col; - pc.pos.col=0; + pc.pos_next_line(); } else pc.pos.col+=c=='\t'?TAB_SIZE:1; @@ -1074,7 +1071,7 @@ default: // expression integer division case '\\': pop_LS(pc); - ungetc(pc, last_line_end_col); + pc.ungetc(); result=EON; goto break2; } @@ -1086,7 +1083,7 @@ default: switch(c) { case ':': pop_LS(pc); - ungetc(pc, last_line_end_col); + pc.ungetc(); result=EON; goto break2; } @@ -1106,7 +1103,7 @@ default: // before call case '^': pop_LS(pc); - ungetc(pc, last_line_end_col); + pc.ungetc(); result=EON; goto break2; case '[': @@ -1303,7 +1300,7 @@ default: RC; } pop_LS(pc); - ungetc(pc, last_line_end_col); + pc.ungetc(); result=EON; goto break2; }