--- parser3/src/main/compile.tab.C 2003/04/04 06:41:47 1.81.2.13.2.32 +++ parser3/src/main/compile.tab.C 2004/02/13 14:01:08 1.95 @@ -43,7 +43,7 @@ Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - $Id: compile.tab.C,v 1.81.2.13.2.32 2003/04/04 06:41:47 paf Exp $ + $Id: compile.tab.C,v 1.95 2004/02/13 14:01:08 paf Exp $ */ /** @@ -771,14 +771,14 @@ yyparse(YYPARSE_PARAM_ARG) #ifdef YYPURE int yychar; - YYSTYPE yylval; + YYSTYPE yylval=0; /*paf:calm down, vc7 warning level 4*/ int yynerrs; #ifdef YYLSP_NEEDED YYLTYPE yylloc; #endif #endif - YYSTYPE yyval; /* the variable used to return */ + YYSTYPE yyval=0; /*paf:calm down, vc7 warning level 4*/ /* the variable used to return */ /* semantic values from the action */ /* routines */ @@ -1996,7 +1996,7 @@ default: if(!pc.string_start) pc.string_start=begin_pos; // append piece till ^ - pc.string.append_strdup(begin, end-begin); + pc.string.append_strdup_know_length(begin, end-begin); } // reset piece 'begin' position & line begin=pc.source; // ->punctuation @@ -2012,7 +2012,7 @@ default: if(!pc.string_start) pc.string_start=begin_pos; // append piece till ^ - pc.string.append_strdup(begin, end-begin); + pc.string.append_strdup_know_length(begin, end-begin); } // #HH ? if(pc.source[0]=='#' && pc.source[1] && pc.source[2]) { @@ -2045,7 +2045,7 @@ default: if(!pc.string_start) pc.string_start=begin_pos; // append piece till # - pc.string.append_strdup(begin, end-begin); + pc.string.append_strdup_know_length(begin, end-begin); } // fall into COMMENT lexical state [wait for \n] push_LS(pc, LS_USER_COMMENT); @@ -2190,7 +2190,7 @@ default: if(!pc.string_start) pc.string_start=begin_pos; // append piece till # - pc.string.append_strdup(begin, end-begin); + pc.string.append_strdup_know_length(begin, end-begin); } // fall into COMMENT lexical state [wait for \n] push_LS(pc, LS_EXPRESSION_COMMENT); @@ -2537,6 +2537,7 @@ default: case ':': // ':name' or 'class:name' case '^': // ^abc^xxx wrong. bailing out case ']': case '}': case ')': // ^abc]}) wrong. bailing out + case ' ': // ^if ( wrong. bailing out RC; } break; @@ -2624,7 +2625,7 @@ break2: if(!pc.string_start) pc.string_start=begin_pos; // append it - pc.string.append_strdup(begin, end-begin); + pc.string.append_strdup_know_length(begin, end-begin); } } if(!pc.string.is_empty()) { // something accumulated?