001// yacc cod file for GSQLParser component java version 002 003 004 005/*****************************************************************************} 006{ GSQLParser component java version } 007{ Copyright (c) 2004-2010 by Gudu software } 008{ http://www.sqlparser.com } 009{*****************************************************************************/ 010 011package gudusoft.gsqlparser; 012import java.io.*; 013 014public class TParserAccessSql extends TCustomParser { 015 //final int _ILLEGAL = 1110; 016 017 static int yynacts,yyngotos, yynstates, yynrules ; 018 019 static int[] yya_sym,yya_act,yyr_len,yyr_sym,yyg_sym,yyg_act; // 1 based 020 //int[] yyg; // 1 based 021 static int[] yyd,yyal,yyah,yygl,yygh; // 0 based 022 023 //String y_yyd_file,y_yyal_file,y_yyah_file,y_yygl_file,y_yygh_file,y_yya_file,y_yyr_file,y_yyg_file; 024 static String table_file; 025 026 static { 027 table_file = "/gudusoft/gsqlparser/parser/access/access_yacc_table.txt"; 028 if (TBaseType.enterprise_edition||TBaseType.sqlserver_edition){ 029 inittable(); 030 } 031 } 032 033 public TParserAccessSql(TSourceTokenList sourcetokens){ 034 super(EDbVendor.dbvaccess); 035 036 this.sourcetokenlist = sourcetokens; 037 038 } 039 040 041 static void inittable(){ 042 String line; 043 int lineno = 1,yya_sym_count = 1,yya_act_count = 1,yyg_sym_count = 1,yyg_act_count = 1,yyr_sym_count = 1,yyr_len_count = 1; 044 int yyd_count = 0,yyal_count = 0,yyah_count = 0,yygl_count = 0,yygh_count = 0; 045 boolean inyya_sym = false,inyya_act = false,inyyg_sym = false,inyyg_act = false,inyyr_sym = false,inyyr_len = false; 046 boolean inyyd = false, inyyal = false, inyyah = false, inyygl = false, inyygh = false; 047 048 BufferedReader br = new BufferedReader(new InputStreamReader(TParserAccessSql.class.getResourceAsStream(table_file))); 049 050 try{ 051 while( (line = br.readLine()) != null){ 052 if (line.trim().startsWith("yynacts =")){ 053 String[] ss = line.split("[=;]"); 054 yynacts = Integer.parseInt(ss[1].trim()); 055 yya_sym = new int[yynacts+1]; 056 yya_act = new int[yynacts+1]; 057 //System.out.println("yynacts:"+yynacts); 058 }else if(line.trim().startsWith("yyngotos =")){ 059 String[] ss = line.split("[=;]"); 060 yyngotos = Integer.parseInt(ss[1].trim()); 061 yyg_sym = new int[yyngotos+1]; 062 yyg_act = new int[yyngotos+1]; 063 //yyg = new int[yyngotos]; 064 //System.out.println("yyngotos:"+yyngotos); 065 }else if(line.trim().startsWith("yynrules =")){ 066 String[] ss = line.split("[=;]"); 067 yynrules = Integer.parseInt(ss[1].trim()); 068 yyr_len = new int[yynrules+1]; 069 yyr_sym = new int[yynrules+1]; 070 //System.out.println("yynrules:"+yynrules); 071 }else if(line.trim().startsWith("yynstates =")){ 072 String[] ss = line.split("[=;]"); 073 yynstates = Integer.parseInt(ss[1].trim()); 074 yyd = new int[yynstates]; 075 yyal = new int[yynstates]; 076 yyah = new int[yynstates]; 077 yygl = new int[yynstates]; 078 yygh = new int[yynstates]; 079 //System.out.println("yynstates:"+yynstates); 080 }else if (line.trim().startsWith(";")){ 081 if (inyya_sym){ 082 inyya_sym = false; 083 if (yynacts+1 != yya_sym_count ){ 084 System.out.println("required:"+(yynacts)+" actually:"+(yya_sym_count-1)); 085 } 086 } 087 else if(inyya_act){ 088 inyya_act = false; 089 if (yynacts+1 != yya_act_count ){ 090 System.out.println("required:"+(yynacts)+" actually:"+(yya_act_count-1)); 091 } 092 } 093 else if(inyyg_sym){ 094 inyyg_sym = false; 095 if (yyngotos+1 != yyg_sym_count ){ 096 System.out.println("required:"+(yyngotos)+" actually:"+(yyg_sym_count-1)); 097 } 098 } 099 else if(inyyg_act){ 100 inyyg_act = false; 101 if (yyngotos+1 != yyg_act_count ){ 102 System.out.println("required:"+(yyngotos)+" actually:"+(yyg_act_count-1)); 103 } 104 } 105 else if(inyyr_sym){ 106 inyyr_sym = false; 107 if (yynrules+1 != yyr_sym_count ){ 108 System.out.println("required:"+(yynrules)+" actually:"+(yyr_sym_count-1)); 109 } 110 } 111 else if(inyyr_len){ 112 inyyr_len = false; 113 if (yynrules+1 != yyr_len_count ){ 114 System.out.println("required:"+(yynrules)+" actually:"+(yyr_len_count-1)); 115 } 116 } 117 else if(inyyd){ 118 inyyd = false; 119 if (yynstates != yyd_count ){ 120 System.out.println("required:"+(yynstates)+" actually:"+(yyd_count)); 121 } 122 } 123 else if(inyyal){ 124 inyyal = false; 125 if (yynstates != yyal_count ){ 126 System.out.println("required:"+(yynstates)+" actually:"+(yyal_count)); 127 } 128 } 129 else if(inyyah){ 130 inyyah = false; 131 if (yynstates != yyah_count ){ 132 System.out.println("required:"+(yynstates)+" actually:"+(yyah_count)); 133 } 134 } 135 else if(inyygl){ 136 inyygl = false; 137 if (yynstates != yygl_count ){ 138 System.out.println("required:"+(yynstates)+" actually:"+(yygl_count)); 139 } 140 } 141 else if(inyygh){ 142 inyygh = false; 143 if (yynstates != yygh_count ){ 144 System.out.println("required:"+(yynstates)+" actually:"+(yygh_count)); 145 } 146 } 147 }else if(line.trim().startsWith("yya_sym =")){ 148 inyya_sym = true; 149 }else if(line.trim().startsWith("yya_act =")){ 150 inyya_act = true; 151 }else if(line.trim().startsWith("yyg_sym =")){ 152 inyyg_sym = true; 153 }else if(line.trim().startsWith("yyg_act =")){ 154 inyyg_act = true; 155 }else if(line.trim().startsWith("yyr_sym =")){ 156 inyyr_sym = true; 157 }else if(line.trim().startsWith("yyr_len =")){ 158 inyyr_len = true; 159 }else if(line.trim().startsWith("yyd =")){ 160 inyyd = true; 161 }else if(line.trim().startsWith("yyal =")){ 162 inyyal = true; 163 }else if(line.trim().startsWith("yyah =")){ 164 inyyah = true; 165 }else if(line.trim().startsWith("yygl =")){ 166 inyygl = true; 167 }else if(line.trim().startsWith("yygh =")){ 168 inyygh = true; 169 }else if(line.trim().length() == 0){ 170 // this is an empty line, igonre it 171 }else if(inyya_sym){ 172 String[] ss = line.split("[,]"); 173 for(int j=0;j<ss.length;j++){ 174 // System.out.println(ss[j].trim()); 175 yya_sym[yya_sym_count++] = Integer.parseInt(ss[j].trim()); 176 } 177 }else if(inyya_act){ 178 String[] ss = line.split("[,]"); 179 for(int j=0;j<ss.length;j++){ 180 // System.out.println(ss[j].trim()); 181 yya_act[yya_act_count++] = Integer.parseInt(ss[j].trim()); 182 } 183 }else if(inyyg_sym){ 184 String[] ss = line.split("[,]"); 185 for(int j=0;j<ss.length;j++){ 186 // System.out.println(ss[j].trim()); 187 yyg_sym[yyg_sym_count++] = Integer.parseInt(ss[j].trim()); 188 } 189 }else if(inyyg_act){ 190 String[] ss = line.split("[,]"); 191 for(int j=0;j<ss.length;j++){ 192 // System.out.println(ss[j].trim()); 193 yyg_act[yyg_act_count++] = Integer.parseInt(ss[j].trim()); 194 } 195 }else if(inyyr_sym){ 196 String[] ss = line.split("[,]"); 197 for(int j=0;j<ss.length;j++){ 198 // System.out.println(ss[j].trim()); 199 yyr_sym[yyr_sym_count++] = Integer.parseInt(ss[j].trim()); 200 } 201 }else if(inyyr_len){ 202 String[] ss = line.split("[,]"); 203 for(int j=0;j<ss.length;j++){ 204 // System.out.println(ss[j].trim()); 205 yyr_len[yyr_len_count++] = Integer.parseInt(ss[j].trim()); 206 } 207 }else if(inyyd){ 208 String[] ss = line.split("[,]"); 209 for(int j=0;j<ss.length;j++){ 210 // System.out.println(ss[j].trim()); 211 yyd[yyd_count++] = Integer.parseInt(ss[j].trim()); 212 } 213 }else if(inyyal){ 214 String[] ss = line.split("[,]"); 215 for(int j=0;j<ss.length;j++){ 216 // System.out.println(ss[j].trim()); 217 yyal[yyal_count++] = Integer.parseInt(ss[j].trim()); 218 } 219 }else if(inyyah){ 220 String[] ss = line.split("[,]"); 221 for(int j=0;j<ss.length;j++){ 222 // System.out.println(ss[j].trim()); 223 yyah[yyah_count++] = Integer.parseInt(ss[j].trim()); 224 } 225 }else if(inyygl){ 226 String[] ss = line.split("[,]"); 227 for(int j=0;j<ss.length;j++){ 228 // System.out.println(ss[j].trim()); 229 yygl[yygl_count++] = Integer.parseInt(ss[j].trim()); 230 } 231 }else if(inyygh){ 232 String[] ss = line.split("[,]"); 233 for(int j=0;j<ss.length;j++){ 234 // System.out.println(ss[j].trim()); 235 yygh[yygh_count++] = Integer.parseInt(ss[j].trim()); 236 } 237 } 238 } 239 }catch(IOException e){ 240 System.out.println(e.toString()); 241 } 242 } 243 244 245 public int yyparse(){ 246 int lcprevyysp,lcyystate,lcyyn,yyn=0; 247 int[] yys = new int[yymaxdepth + 1] ; //1 based 248 TDatabaseYYSType rollback_token = null; 249 int lcAction; 250 boolean lcrollbackstate ; 251 int lcrollbacktokens; 252 253 curtokenpos = 0; 254 int lcRetries = dobefore_yyparse();//super.yyparse(); 255 if (lcRetries == -1) 256 { // no solid tokentext in tokentext list 257 return 0; 258 } 259 260 int rollback_mode = 0; 261 int yystate = 0, yychar = -1, yynerrs = 0, yyerrflag = 0; 262 yysp = 0; 263 boolean lcIsError = false; 264 boolean lcIsParse = false; 265 boolean lcIsReduce= false; 266 boolean lcIsShift = false; 267 268 int rollback_state = yystate; 269 int rollback_sp = yysp; 270 271 boolean isBeginOfBatch = true; //used in mssql 272 boolean lccanreduce; // used in mssql 273 274 isbeginofbatch = true; 275 276 while (true){ 277 yysp++; 278 if (yysp > yymaxdepth) 279 { 280 // yyerror('yyparse stack overflow'); 281 onparseerrorhandle(EErrorType.spfatalerror, "yyparse stack overflow error 1010" , currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10010); 282 //goto abort; 283 if (dbvendor == EDbVendor.dbvmssql){ 284 onparseerrorhandle(EErrorType.spfatalabort,"abort !!! error 1001", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10011); 285 } 286 287 return 10001; 288 } 289 290 yys[yysp] = yystate; 291 yyv[yysp] = yyval; 292 293 while (true){ 294 if( (yyd[yystate] == 0) && (yychar == -1)) 295 //(* get next symbol *) 296 { 297 do{ 298 yychar = yylexwrap(true);//yyLexer.yylexwrap; 299 if (yychar<0) { yychar = 0;} 300 // ignore comments and blanks [ \n\t] 301 //if not( (yychar=_COMMENT) or (yychar=_BLANK) or 302 // (yychar=_TAB) or (yychar=_NEWLINE) ) then break; 303 if (!( (yychar== TBaseType.cmtdoublehyphen)|| (yychar== TBaseType.cmtslashstar) || 304 (yychar== TBaseType.lexspace) || (yychar== TBaseType.lexnewline) || (yychar== TBaseType.sqlpluscmd) )) 305 { 306 if (yychar == 0) 307 { 308 //System.out.println("error tokentext:"+yylval.yyTSourceToken+"c "+currentsourcetoken); 309 if ( ( sourcetokenlist.get(sourcetokenlist.size() - 1)).tokencode != 0) 310 { 311 //System.out.println("yychar is 0, but tokencode is:"+ ( sourcetokenlist.get(sourcetokenlist.size() - 1)).tokencode); 312 yylval.yyTSourceToken = new TSourceToken(" "); 313 // NewSourceToken(yylval.yyTSourceToken,'',ttUnknown,wtNotAWord,eNotAComment,-1,-1); 314 yylval.yyTSourceToken.container = sourcetokenlist; 315 yylval.yyTSourceToken.tokencode = 0; 316 //sourcetokenlist.add(yylval.yyTSourceToken); 317 yylval.yyTSourceToken.posinlist = sourcetokenlist.size() - 1; 318 curtokenpos = sourcetokenlist.size(); 319 //showmessage('end of input'); 320 } 321 else 322 { 323 yylval.yyTSourceToken = sourcetokenlist.get(sourcetokenlist.size() - 1); 324 // showmessage('end of input again'); 325 } 326 } 327 328 currentsourcetoken = yylval.yyTSourceToken; 329 // System.out.println(currentsourcetoken); 330 break; 331 } 332 else 333 { 334 //ignore non solid tokentext 335 } 336 337 } while (true); 338 339// if (yychar == _ILLEGAL) 340// { 341// //goto error; 342// lcIsError = true; 343// } 344 345 } //(* get next symbol *) 346 347 if (!lcIsError) 348 { 349 yyn = yyd[yystate]; 350 if (yyn != 0) 351 { 352 //goto reduce; (* simple state *) 353 lcIsReduce = true; 354 break; 355 } 356 357 358// if (yychar = RW_CREATE) or (yychar = RW_ALTER ) then 359// begin //simulate a reduce of create procedure(function), the rule is shift when ever create is found 360// // this is error when create procedure/function is found. 361// lcst := sourcetokenlist.NextSolidToken(CurrentSourceToken); 362// if assigned(lcst) then 363// begin 364// if (lcst.TokenCode = RW_PROCEDURE) or (lcst.TokenCode = RW_PROC) or (lcst.TokenCode = RW_FUNCTION) then 365// begin 366// if not yyact(yystate, ord(';'), yyn) then 367// begin 368// end 369// else if yyn<0 then 370// begin 371// // goto reduce 372// lcIsReduce := true; 373// break; 374// end; 375// end; 376// end; 377// end; 378 379 // (* no default action; search parse table *) 380 boolean tmpb = yyact(yystate, yychar, retvalue); 381 if(tmpb) {yyn = retvalue[0];} 382 if (! tmpb) 383 { 384 // lcRestartPos := curtokenpos; 385 386 lcAction = aopAbort; 387 lcrollbackstate = false; 388 lcrollbacktokens = 0; 389 390 // if assigned(SqlStatement) then 391// if assigned(OnParserTokenError) and (lcRetries<1) then 392// begin 393// try 394// RecoverToken := nil; 395// inc(lcRetries); 396// OnParserTokenError(self,yylval.yyTSourceToken,Integer(DbVendor),GetExpectedTokens(yystate, yychar),lcAction,lcRollbackTokens,lcRollbackState); 397// except 398// lcAction := aopAbort; 399// end; 400// end; 401 402//if parse error occurs due to a keyword, then change this keyword to identifier 403// and retry again, 404// for example 405 406// select a.wait from b 407// wait is a keyword, can not be field name due to .y file, 408// but it's a legal in mssql, use this procedure while during parsing, 409// we can fix such problem which is very common 410// we don't recover from FROM keyword 411 412 if ((yylval.yyTSourceToken.tokencode >= TBaseType.rrw_select ) && (yylval.yyTSourceToken.tokencode != TBaseType.rrw_from )) 413 { 414 yylval.yyTSourceToken.tokencode = TBaseType.ident; 415 yylval.yyTSourceToken.tokentype = ETokenType.ttidentifier; 416 lcAction = aopContinue; 417 lcrollbacktokens = 1; 418 } 419 else 420 {lcAction = aopAbort;} 421// end of error recover 422 423 if (lcAction == aopAbort ) 424 { 425 // goto error; 426 lcIsError = true; 427 } 428 429 if (!lcIsError ) 430 { 431 if ((lcAction == aopContinue) 432 && ( (recovertoken != null) 433 || (yychar != 0) 434 || ((yychar == 0) 435 && (curtokenpos <= yylval.yyTSourceToken.container.size() -1 )) ) ) 436 { 437 curtokenpos = curtokenpos - lcrollbacktokens; 438 if (lcrollbackstate) 439 { 440 if (rollback_mode == 1 ) //shift 441 { 442 yystate = rollback_state; 443 yysp--; 444 } 445 if (rollback_mode == 2) //reduce 446 { 447 yystate = rollback_state; 448 yyval = rollback_token; 449 yysp = rollback_sp-1; 450 yychar = -1; 451 lcAction = aopAbort; 452 rollback_mode = 0; 453 // goto parse; 454 lcIsParse = true; 455 break; 456 } 457 rollback_mode = 0; 458 } 459 yychar = -1; 460 lcAction = aopAbort; 461 //goto next; 462 continue; 463 } 464 else 465 { 466 // goto error; 467 lcIsError = true; 468 } 469 }// if not lcIsError 470 } 471 else if (yyn>0) 472 { 473 //goto shift; 474 lcIsShift = true; 475 break; 476 } 477 else if( yyn<0 ) 478 { 479 // goto reduce 480 lcIsReduce = true; 481 break; 482 } 483 else 484 { 485 // goto accept; 486 return 0; 487 } 488 489 } // if not lcIsError 490 491 if (lcIsError) 492 { 493 lcIsError = false; 494 //System.out.println("error tokentext:"+yylval.yyTSourceToken); 495 496 if (dbvendor == EDbVendor.dbvmssql){ 497 498 if (yyerrflag<=2) // (* incomplete recovery; try again *) 499 { 500 yyerrflag = 3; 501 //(* uncover a state with shift action on error tokentext *) 502 //(* error; start error recovery: *) 503 if ((yyact(yys[yysp], _error, retvalue)) && (( yyn = retvalue[0])<0)) //if can be reduced to a sql, just do it here,otherwise, rollback to error rules 504 { 505 506 lccanreduce = false; 507 508 //make sure after reduce this sql, we can shift error stmt 509 lcprevyysp = yysp; 510 lcprevyysp = lcprevyysp - yyr_len[-yyn]; 511 512 boolean tmpbk = yygoto(yys[lcprevyysp], yyr_sym[-yyn], retvalue); 513 if (tmpbk) 514 { 515 lcyyn = retvalue[0]; 516 lcyystate = lcyyn; 517 if (yyd[lcyystate] != 0) 518 { 519 lccanreduce = true; 520 } 521 else 522 { 523 //if ( yyact(lcyystate, _error, lcyyn) and (lcyyn>0) ) then 524 // lccanreduce := true; 525 if (lcprevyysp == 1) 526 lccanreduce = true; 527 } 528 } 529 530 if (lccanreduce) 531 { 532 geterrormsg(yystate, yychar,10100); 533 // can not be removed 534 errorstmtstarttoken =(TSourceToken) sourcetokenlist.get(curtokenpos-1); 535 //sourcetokenlist[curtokenpos-1].tokenstatus := tsSynataxError; 536 537 //showmessage('reduce by ; :'+inttostr(curtokenpos-1)+'->'+sourcetokenlist[curtokenpos-1].astext+' state:'+inttostr(yys[yysp])); 538 curtokenpos = curtokenpos-1; 539 yychar = _error; 540 //goto reduce; 541 lcIsReduce = true; 542 break; 543 } 544 } 545 546 547 // showmessage('yystate after test yyact'+inttostr(yyn)+' yychar:'+inttostr(yychar)+' current state:'+inttostr(yys[yysp])); 548 // showmessage('before dec of yysp: '+inttostr(yysp)); 549 lcprevyysp = yysp; 550 while ((yysp>0) 551 && !( yyact(yys[yysp], _error,retvalue) 552 &&( (yyn = retvalue[0]) >0 ) 553 ) 554 ) 555 { 556 yysp--; 557 } 558 559 if (lcprevyysp != yysp) // if error stmt is just the next state need, then it's a fake error, don't report 560 geterrormsg(yystate, yychar,10101); 561 562 if (yysp==0) 563 { 564 //assert(1=2,'Should be an error handle rule in y file, never goes to here!!!'); 565 onparseerrorhandle(EErrorType.spfatalerror,"error recover failed error", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10012); 566 //goto abort; (* parser has fallen from stack; abort *) 567 568 onparseerrorhandle(EErrorType.spfatalabort,"abort !!! error 1001", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10013); 569 // if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)) then 570 // if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode) then 571 // if _TMssqlDummyStmt(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode).NodeType = T_ErrorStmt then 572 // begin 573 // // showmessage('T_ErrorStmt'); 574 // if assigned(AfterParseSql) then 575 // AfterParseSql(self,_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)); 576 // end; 577 578 return 10003; 579 } 580 581 // showmessage('into error state:'+inttostr(curtokenpos-1)+'tokentext text:'+sourcetokenlist[curtokenpos-1].astext+' -> yysp: '+inttostr(yysp)+'->yyd[yystate]:'+inttostr(yystate)); 582 583 errorstmtstarttoken = null; 584 if (lcprevyysp == yysp) 585 { 586 errorstmtstarttoken = sourcetokenlist.get(curtokenpos-1); 587 } 588 589 if (errorstmtstarttoken == null) 590 { 591 for (int lctmpi = yysp+1; lctmpi < lcprevyysp+1;lctmpi++) 592 { 593 if (yyv[lctmpi].yyTSourceToken != null) 594 { 595 // find first error tokentext 596 errorstmtstarttoken = yyv[lctmpi].yyTSourceToken; 597 // showmessage('errorstmtstarttoken: '+errorstmtstarttoken.astext); 598 break; 599 } 600 } 601 } 602 603 if (errorstmtstarttoken == null) 604 { 605 for (int lctmpi = yysp ; lctmpi > 0;lctmpi--) 606 { 607 if (yyv[lctmpi].yyTSourceToken != null) 608 { 609 // find tokentext of last valid stmt, then set start tokentext of error stmt after that tokentext 610 // errorstmtstarttoken = sourcetokenlist[yyv[lctmpi].yyTSourceToken.posinlist+1]; 611 break; 612 } 613 } 614 } 615 616 617 if (errorstmtstarttoken == null) 618 { 619 for (int lctmpi = curtokenpos-1; lctmpi >=0;lctmpi--) 620 { 621 if (( sourcetokenlist.get(lctmpi)).tokenstatus != ETokenStatus.tssynataxerror) 622 errorstmtstarttoken = sourcetokenlist.get(lctmpi); 623 else 624 break; 625 } 626 } 627 628 if (errorstmtstarttoken != null) 629 { 630 for (int lctmpi = errorstmtstarttoken.posinlist; lctmpi < curtokenpos;lctmpi++) 631 { 632 if (sourcetokenlist.get(lctmpi).tokenstatus == ETokenStatus.tssynataxerror) 633 continue; //this tokentext already occupied by prev error stmt, so skip it 634 else 635 { 636 errorstmtstarttoken = sourcetokenlist.get(lctmpi); 637 break; 638 } 639 } 640 } 641 642 if (errorstmtstarttoken != null) 643 { 644 for (int lctmpi = errorstmtstarttoken.posinlist; lctmpi < curtokenpos;lctmpi++){ 645 sourcetokenlist.get(lctmpi).tokenstatus = ETokenStatus.tssynataxerror; 646 } 647 } 648 649 yystate = yyn; // (* simulate shift on error *) 650 yychar = -1; 651 stmtendpos = curtokenpos-1; 652 653 //goto parse; 654 lcIsParse = true; 655 break; 656 } 657 else //(yyerrflag<=2) (* no shift yet; discard symbol *) 658 { 659 if (yychar==0) 660 { 661 // showmessage('end of input '+ 'yysp:'+inttostr(yysp)+' current state:'+inttostr(yys[yysp])); 662 errorstmtstarttoken = null; 663 try { 664 for (int lctmpi = yysp; lctmpi > 0;lctmpi--) 665 { 666 if (yyv[lctmpi].yyTSourceToken != null) 667 { 668 errorstmtstarttoken = yyv[lctmpi].yyTSourceToken; 669 // showmessage('yysp: '+inttostr(lctmpi)+' yysate:'+inttostr(yys[lctmpi])+' tokentext:'+yyv[lctmpi].yyTSourceToken.astext); 670 } 671 else 672 ;// showmessage('yysp: '+inttostr(lctmpi)+' yysate:'+inttostr(yys[lctmpi])); 673 } 674 } 675 finally{ 676 errorstmtstarttoken = null; 677 } 678 679 if (errorstmtstarttoken == null) 680 errorstmtstarttoken = (TSourceToken) sourcetokenlist.get(0); 681 682 for (int lctmpi = errorstmtstarttoken.posinlist; lctmpi<curtokenpos;lctmpi++) 683 sourcetokenlist.get(lctmpi).tokenstatus = ETokenStatus.tssynataxerror; 684 685 // if (yyval.yyTLz_Parse_Tree_Node != null) then 686 // { 687 // if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode) then 688 // { 689 // _TMssqlErrorStmt(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode).errorstmtstarttoken := errorstmtstarttoken; 690 // } 691 // } 692 693 694 // goto abort; (* end of input; abort *) 695 onparseerrorhandle(EErrorType.spfatalabort, "abort !!! error 1001", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10013); 696 // if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)) then 697 // if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode) then 698 // if _TMssqlDummyStmt(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode).NodeType = T_ErrorStmt then 699 // begin 700 // // showmessage('T_ErrorStmt'); 701 // if assigned(AfterParseSql) then 702 // AfterParseSql(self,_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)); 703 // end; 704 705 return 10004; 706 } 707 708 yychar = -1; 709 stmtendpos = curtokenpos-1; 710 sourcetokenlist.get(curtokenpos-1).tokenstatus = ETokenStatus.tssynataxerror; 711 // showmessage('lookahead:'+inttostr(curtokenpos-1)+'->'+sourcetokenlist[curtokenpos-1].astext+'->yyd[yystate]:'+inttostr(yystate)); 712 // goto next; (* clear lookahead char and try again *) 713 continue; 714 } 715 }else{ 716 geterrormsg(yystate, yychar,10102); 717 return 10102; 718 } 719 720 }// if lcIsError 721 722 } //next 723 724 if (lcIsParse) 725 { 726 lcIsParse = false; 727 continue; 728 } 729 730 if (lcIsShift) 731 { 732 lcIsShift = false; 733 //(* go to new state, clear lookahead character: *) 734 rollback_state = yystate; 735 rollback_mode = 1; 736 rollback_sp = yysp; 737 rollback_token = yyval; 738 if ((yyerrflag>0) && (yychar != _error ) ) 739 { 740 if (dbvendor == EDbVendor.dbvmssql){ 741 nextstmtstartpos = curtokenpos - 1; 742 } 743 yyerrflag--; 744 } 745 yystate = yyn; 746 yychar = -1; 747 yyval = new TDatabaseYYSType(); 748 yyval.copy( yylval); 749 750 if (lcRetries > 0) lcRetries--; 751 752 if (dbvendor == EDbVendor.dbvmssql){ 753 stmtendpos = curtokenpos - 1; // tokentext became part of stmt only after shift 754 acceptedtoken = currentsourcetoken; 755 } 756 // goto parse; 757 continue; 758 759 }//if lcIsShift 760 761 if (lcIsReduce) 762 { 763 lcIsReduce = false; 764 765 //(* execute action, pop rule from stack, and go to next state: *) 766 // yyval.yyTLz_Parse_Tree_Node := nil; 767 if (dbvendor == EDbVendor.dbvmssql){ 768 // yyval.yyTSourceToken = null; 769 currentyystate = yystate; 770 currentyysp = yysp; 771 currentyyn = yyn; 772 } 773 774 yyflag = yyfnone; 775 yyval = new TDatabaseYYSType(); 776 yyaction(-yyn); 777 778 rollback_mode = 2; 779 yysp = yysp - yyr_len[-yyn]; 780 781 if (yygoto(yys[yysp], yyr_sym[-yyn], retvalue)) 782 { 783 yyn = retvalue[0]; 784 yystate = yyn; 785 } 786 787 //(* handle action calls to yyaccept, yyabort and yyerror: *) 788 789 switch(yyflag){ 790 case yyfaccept : 791 { 792 if (dbvendor == EDbVendor.dbvmssql){ 793 if (yyerrflag == 3) 794 { //after reduce error stmt, whole sql is valid again, so remove tsSyntaxError 795 for (int lctmpi = nextstmtstartpos; lctmpi < curtokenpos;lctmpi++) 796 { 797 // sourcetokenlist[lctmpi].tokenstatus = tsOriginal; 798 } 799 } 800 } 801 return 0; 802 } 803 case yyfabort : 804 { 805 onparseerrorhandle(EErrorType.spfatalerror, "yyfabort error 1004", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10015); 806 // goto abort; 807 onparseerrorhandle(EErrorType.spfatalabort,"abort !!! error 1001", currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10014); 808 809// if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)) then 810// if assigned(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode) then 811// if _TMssqlDummyStmt(_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)._sqlstmtnode).NodeType = T_ErrorStmt then 812// { 813// if assigned(AfterParseSql) then 814// AfterParseSql(self,_TMssqlStmt(yyval.yyTLz_Parse_Tree_Node)); 815// } 816 817 return 10006; 818 } 819 case yyferror : 820 { 821 // goto errlab; 822 onparseerrorhandle(EErrorType.spfatalerror,"error failed error 1000" , currentsourcetoken.getAstext(),currentsourcetoken.lineNo,currentsourcetoken.columnNo,10016); 823 return 10007; 824 } 825 } 826 //lcRetries := 0; 827 828 // goto parse; 829 continue; 830 831 } //if lcIsReduce 832 833 } // parse 834 835 } 836 837 boolean yygoto(int state, int sym,int[] nstate){ 838 boolean r; 839 int k = yygl[state]; 840 while ((k<=yygh[state]) && (yyg_sym[k] != sym)) {k++;} 841 if (k>yygh[state]) 842 r = false; 843 else 844 { 845 nstate[0] = yyg_act[k]; 846 r = true; 847 } 848 return r; 849 } 850 851 boolean yyact(int state,int sym,int[] act){ 852 boolean r; 853 int k = yyal[state]; 854 while ((k <= yyah[state]) && (yya_sym[k] != sym) ) {k++;} 855 if (k>yyah[state]) 856 r = false; 857 else { 858 act[0] = yya_act[k]; 859 r = true; 860 } 861 return r; 862 } 863 864 void yyaction_1_206 ( int yyruleno ){ 865 switch(yyruleno){ 866 case 1 : { 867 yyval.copy(yyv[yysp-2]); 868 break; 869 } 870 case 2 : { 871 872 873 break; 874 } 875 case 3 : { 876 yyval.copy(yyv[yysp-0]); 877 break; 878 } 879 case 4 : { 880 yyval.copy(yyv[yysp-0]); 881 break; 882 } 883 case 5 : { 884 yyval.copy(yyv[yysp-0]); 885 break; 886 } 887 case 6 : { 888 yyval.copy(yyv[yysp-0]); 889 break; 890 } 891 case 7 : { 892 yyval.copy(yyv[yysp-0]); 893 break; 894 } 895 case 8 : { 896 yyval.copy(yyv[yysp-0]); 897 break; 898 } 899 case 9 : { 900 yyval.copy(yyv[yysp-0]); 901 break; 902 } 903 case 10 : { 904 yyval.copy(yyv[yysp-0]); 905 break; 906 } 907 case 11 : { 908 yyval.copy(yyv[yysp-0]); 909 break; 910 } 911 case 12 : { 912 913 914 break; 915 } 916 case 13 : { 917 918 919 break; 920 } 921 case 14 : { 922 923 924 break; 925 } 926 case 15 : { 927 928 929 break; 930 } 931 case 16 : { 932 933 934 break; 935 } 936 case 17 : { 937 938 939 break; 940 } 941 case 18 : { 942 943 944 break; 945 } 946 case 19 : { 947 948 949 break; 950 } 951 case 20 : { 952 953 954 break; 955 } 956 case 21 : { 957 958 959 break; 960 } 961 case 22 : { 962 963 964 break; 965 } 966 case 23 : { 967 968 969 break; 970 } 971 case 24 : { 972 973 974 break; 975 } 976 case 25 : { 977 978 979 break; 980 } 981 case 26 : { 982 983 984 break; 985 } 986 case 27 : { 987 988 989 break; 990 } 991 case 28 : { 992 yyval.copy(yyv[yysp-0]); 993 break; 994 } 995 case 29 : { 996 997 998 break; 999 } 1000 case 30 : { 1001 1002 1003 break; 1004 } 1005 case 31 : { 1006 1007 1008 break; 1009 } 1010 case 32 : { 1011 1012 1013 break; 1014 } 1015 case 33 : { 1016 1017 1018 break; 1019 } 1020 case 34 : { 1021 1022 1023 break; 1024 } 1025 case 35 : { 1026 1027 1028 break; 1029 } 1030 case 36 : { 1031 1032 1033 break; 1034 } 1035 case 37 : { 1036 1037 1038 break; 1039 } 1040 case 38 : { 1041 1042 1043 break; 1044 } 1045 case 39 : { 1046 1047 1048 break; 1049 } 1050 case 40 : { 1051 1052 1053 break; 1054 } 1055 case 41 : { 1056 1057 1058 break; 1059 } 1060 case 42 : { 1061 1062 1063 break; 1064 } 1065 case 43 : { 1066 1067 1068 break; 1069 } 1070 case 44 : { 1071 1072 1073 break; 1074 } 1075 case 45 : { 1076 1077 1078 break; 1079 } 1080 case 46 : { 1081 1082 1083 break; 1084 } 1085 case 47 : { 1086 1087 1088 break; 1089 } 1090 case 48 : { 1091 1092 1093 break; 1094 } 1095 case 49 : { 1096 1097 1098 break; 1099 } 1100 case 50 : { 1101 1102 1103 break; 1104 } 1105 case 51 : { 1106 1107 1108 break; 1109 } 1110 case 52 : { 1111 1112 1113 break; 1114 } 1115 case 53 : { 1116 1117 1118 break; 1119 } 1120 case 54 : { 1121 yyval.copy(yyv[yysp-0]); 1122 break; 1123 } 1124 case 55 : { 1125 1126 1127 break; 1128 } 1129 case 56 : { 1130 1131 1132 break; 1133 } 1134 case 57 : { 1135 1136 1137 break; 1138 } 1139 case 58 : { 1140 1141 1142 break; 1143 } 1144 case 59 : { 1145 1146 1147 break; 1148 } 1149 case 60 : { 1150 1151 1152 break; 1153 } 1154 case 61 : { 1155 1156 1157 break; 1158 } 1159 case 62 : { 1160 1161 1162 break; 1163 } 1164 case 63 : { 1165 1166 1167 break; 1168 } 1169 case 64 : { 1170 1171 1172 break; 1173 } 1174 case 65 : { 1175 1176 1177 break; 1178 } 1179 case 66 : { 1180 1181 1182 break; 1183 } 1184 case 67 : { 1185 1186 1187 break; 1188 } 1189 case 68 : { 1190 1191 1192 break; 1193 } 1194 case 69 : { 1195 1196 1197 break; 1198 } 1199 case 70 : { 1200 1201 1202 break; 1203 } 1204 case 71 : { 1205 1206 1207 break; 1208 } 1209 case 72 : { 1210 1211 1212 break; 1213 } 1214 case 73 : { 1215 1216 1217 break; 1218 } 1219 case 74 : { 1220 1221 1222 break; 1223 } 1224 case 75 : { 1225 1226 1227 break; 1228 } 1229 case 76 : { 1230 1231 1232 break; 1233 } 1234 case 77 : { 1235 1236 1237 break; 1238 } 1239 case 78 : { 1240 yyval.copy(yyv[yysp-0]); 1241 break; 1242 } 1243 case 79 : { 1244 1245 1246 break; 1247 } 1248 case 80 : { 1249 1250 1251 break; 1252 } 1253 case 81 : { 1254 1255 1256 break; 1257 } 1258 case 82 : { 1259 1260 1261 break; 1262 } 1263 case 83 : { 1264 1265 1266 break; 1267 } 1268 case 84 : { 1269 1270 1271 break; 1272 } 1273 case 85 : { 1274 1275 1276 break; 1277 } 1278 case 86 : { 1279 1280 1281 break; 1282 } 1283 case 87 : { 1284 1285 1286 break; 1287 } 1288 case 88 : { 1289 1290 1291 break; 1292 } 1293 case 89 : { 1294 1295 1296 break; 1297 } 1298 case 90 : { 1299 1300 1301 break; 1302 } 1303 case 91 : { 1304 1305 1306 break; 1307 } 1308 case 92 : { 1309 1310 1311 break; 1312 } 1313 case 93 : { 1314 1315 1316 break; 1317 } 1318 case 94 : { 1319 1320 1321 break; 1322 } 1323 case 95 : { 1324 1325 1326 break; 1327 } 1328 case 96 : { 1329 1330 1331 break; 1332 } 1333 case 97 : { 1334 1335 1336 break; 1337 } 1338 case 98 : { 1339 1340 1341 break; 1342 } 1343 case 99 : { 1344 1345 1346 break; 1347 } 1348 case 100 : { 1349 1350 1351 break; 1352 } 1353 case 101 : { 1354 1355 1356 break; 1357 } 1358 case 102 : { 1359 1360 1361 break; 1362 } 1363 case 103 : { 1364 1365 1366 break; 1367 } 1368 case 104 : { 1369 1370 1371 break; 1372 } 1373 case 105 : { 1374 1375 1376 break; 1377 } 1378 case 106 : { 1379 1380 1381 break; 1382 } 1383 case 107 : { 1384 1385 1386 break; 1387 } 1388 case 108 : { 1389 1390 1391 break; 1392 } 1393 case 109 : { 1394 1395 1396 break; 1397 } 1398 case 110 : { 1399 1400 1401 break; 1402 } 1403 case 111 : { 1404 1405 1406 break; 1407 } 1408 case 112 : { 1409 1410 1411 break; 1412 } 1413 case 113 : { 1414 1415 1416 break; 1417 } 1418 case 114 : { 1419 1420 1421 break; 1422 } 1423 case 115 : { 1424 1425 1426 break; 1427 } 1428 case 116 : { 1429 1430 1431 break; 1432 } 1433 case 117 : { 1434 1435 1436 break; 1437 } 1438 case 118 : { 1439 1440 1441 break; 1442 } 1443 case 119 : { 1444 1445 1446 break; 1447 } 1448 case 120 : { 1449 1450 1451 break; 1452 } 1453 case 121 : { 1454 1455 1456 break; 1457 } 1458 case 122 : { 1459 1460 1461 break; 1462 } 1463 case 123 : { 1464 1465 1466 break; 1467 } 1468 case 124 : { 1469 1470 1471 break; 1472 } 1473 case 125 : { 1474 1475 1476 break; 1477 } 1478 case 126 : { 1479 1480 1481 break; 1482 } 1483 case 127 : { 1484 1485 1486 break; 1487 } 1488 case 128 : { 1489 1490 1491 break; 1492 } 1493 case 129 : { 1494 1495 1496 break; 1497 } 1498 case 130 : { 1499 1500 1501 break; 1502 } 1503 case 131 : { 1504 1505 1506 break; 1507 } 1508 case 132 : { 1509 1510 1511 break; 1512 } 1513 case 133 : { 1514 1515 1516 break; 1517 } 1518 case 134 : { 1519 1520 1521 break; 1522 } 1523 case 135 : { 1524 1525 1526 break; 1527 } 1528 case 136 : { 1529 1530 1531 break; 1532 } 1533 case 137 : { 1534 1535 1536 break; 1537 } 1538 case 138 : { 1539 1540 1541 break; 1542 } 1543 case 139 : { 1544 1545 1546 break; 1547 } 1548 case 140 : { 1549 1550 1551 break; 1552 } 1553 case 141 : { 1554 1555 1556 break; 1557 } 1558 case 142 : { 1559 1560 1561 break; 1562 } 1563 case 143 : { 1564 1565 1566 break; 1567 } 1568 case 144 : { 1569 yyval.copy(yyv[yysp-0]); 1570 break; 1571 } 1572 case 145 : { 1573 yyval.copy(yyv[yysp-0]); 1574 break; 1575 } 1576 case 146 : { 1577 1578 1579 break; 1580 } 1581 case 147 : { 1582 yyval.copy(yyv[yysp-0]); 1583 break; 1584 } 1585 case 148 : { 1586 yyval.copy(yyv[yysp-0]); 1587 break; 1588 } 1589 case 149 : { 1590 1591 1592 break; 1593 } 1594 case 150 : { 1595 1596 1597 break; 1598 } 1599 case 151 : { 1600 1601 1602 break; 1603 } 1604 case 152 : { 1605 1606 1607 break; 1608 } 1609 case 153 : { 1610 1611 1612 break; 1613 } 1614 case 154 : { 1615 1616 1617 break; 1618 } 1619 case 155 : { 1620 1621 1622 break; 1623 } 1624 case 156 : { 1625 1626 1627 break; 1628 } 1629 case 157 : { 1630 1631 1632 break; 1633 } 1634 case 158 : { 1635 1636 1637 break; 1638 } 1639 case 159 : { 1640 1641 1642 break; 1643 } 1644 case 160 : { 1645 yyval.copy(yyv[yysp-0]); 1646 break; 1647 } 1648 case 161 : { 1649 1650 1651 break; 1652 } 1653 case 162 : { 1654 1655 1656 break; 1657 } 1658 case 163 : { 1659 1660 1661 break; 1662 } 1663 case 164 : { 1664 1665 1666 break; 1667 } 1668 case 165 : { 1669 1670 1671 break; 1672 } 1673 case 166 : { 1674 1675 1676 break; 1677 } 1678 case 167 : { 1679 1680 1681 break; 1682 } 1683 case 168 : { 1684 1685 1686 break; 1687 } 1688 case 169 : { 1689 1690 1691 break; 1692 } 1693 case 170 : { 1694 1695 1696 break; 1697 } 1698 case 171 : { 1699 1700 1701 break; 1702 } 1703 case 172 : { 1704 1705 1706 break; 1707 } 1708 case 173 : { 1709 1710 1711 break; 1712 } 1713 case 174 : { 1714 1715 1716 break; 1717 } 1718 case 175 : { 1719 1720 1721 break; 1722 } 1723 case 176 : { 1724 1725 1726 break; 1727 } 1728 case 177 : { 1729 1730 1731 break; 1732 } 1733 case 178 : { 1734 1735 1736 break; 1737 } 1738 case 179 : { 1739 1740 1741 break; 1742 } 1743 case 180 : { 1744 1745 1746 break; 1747 } 1748 case 181 : { 1749 1750 1751 break; 1752 } 1753 case 182 : { 1754 1755 1756 break; 1757 } 1758 case 183 : { 1759 1760 1761 break; 1762 } 1763 case 184 : { 1764 1765 1766 break; 1767 } 1768 case 185 : { 1769 1770 1771 break; 1772 } 1773 case 186 : { 1774 1775 1776 break; 1777 } 1778 case 187 : { 1779 1780 1781 break; 1782 } 1783 case 188 : { 1784 1785 1786 break; 1787 } 1788 case 189 : { 1789 1790 1791 break; 1792 } 1793 case 190 : { 1794 1795 1796 break; 1797 } 1798 case 191 : { 1799 1800 1801 break; 1802 } 1803 case 192 : { 1804 1805 1806 break; 1807 } 1808 case 193 : { 1809 yyval.copy(yyv[yysp-0]); 1810 break; 1811 } 1812 case 194 : { 1813 yyval.copy(yyv[yysp-0]); 1814 break; 1815 } 1816 case 195 : { 1817 yyval.copy(yyv[yysp-0]); 1818 break; 1819 } 1820 case 196 : { 1821 yyval.copy(yyv[yysp-0]); 1822 break; 1823 } 1824 case 197 : { 1825 yyval.copy(yyv[yysp-0]); 1826 break; 1827 } 1828 case 198 : { 1829 yyval.copy(yyv[yysp-0]); 1830 break; 1831 } 1832 case 199 : { 1833 yyval.copy(yyv[yysp-0]); 1834 break; 1835 } 1836 case 200 : { 1837 yyval.copy(yyv[yysp-0]); 1838 break; 1839 } 1840 case 201 : { 1841 1842 1843 break; 1844 } 1845 case 202 : { 1846 1847 1848 break; 1849 } 1850 case 203 : { 1851 1852 1853 break; 1854 } 1855 case 204 : { 1856 1857 1858 break; 1859 } 1860 case 205 : { 1861 1862 1863 break; 1864 } 1865 case 206 : { 1866 1867 1868 break; 1869 } 1870 1871 } 1872 } 1873 void yyaction_207_413 ( int yyruleno ){ 1874 switch(yyruleno){ 1875 case 207 : { 1876 1877 1878 break; 1879 } 1880 case 208 : { 1881 1882 1883 break; 1884 } 1885 case 209 : { 1886 1887 1888 break; 1889 } 1890 case 210 : { 1891 1892 1893 break; 1894 } 1895 case 211 : { 1896 1897 1898 break; 1899 } 1900 case 212 : { 1901 1902 1903 break; 1904 } 1905 case 213 : { 1906 1907 1908 break; 1909 } 1910 case 214 : { 1911 1912 1913 break; 1914 } 1915 case 215 : { 1916 1917 1918 break; 1919 } 1920 case 216 : { 1921 1922 1923 break; 1924 } 1925 case 217 : { 1926 1927 1928 break; 1929 } 1930 case 218 : { 1931 1932 1933 break; 1934 } 1935 case 219 : { 1936 1937 1938 break; 1939 } 1940 case 220 : { 1941 1942 1943 break; 1944 } 1945 case 221 : { 1946 1947 1948 break; 1949 } 1950 case 222 : { 1951 1952 1953 break; 1954 } 1955 case 223 : { 1956 1957 1958 break; 1959 } 1960 case 224 : { 1961 1962 1963 break; 1964 } 1965 case 225 : { 1966 1967 1968 break; 1969 } 1970 case 226 : { 1971 1972 1973 break; 1974 } 1975 case 227 : { 1976 1977 1978 break; 1979 } 1980 case 228 : { 1981 1982 1983 break; 1984 } 1985 case 229 : { 1986 1987 1988 break; 1989 } 1990 case 230 : { 1991 1992 1993 break; 1994 } 1995 case 231 : { 1996 1997 1998 break; 1999 } 2000 case 232 : { 2001 2002 2003 break; 2004 } 2005 case 233 : { 2006 2007 2008 break; 2009 } 2010 case 234 : { 2011 2012 2013 break; 2014 } 2015 case 235 : { 2016 2017 2018 break; 2019 } 2020 case 236 : { 2021 2022 2023 break; 2024 } 2025 case 237 : { 2026 2027 2028 break; 2029 } 2030 case 238 : { 2031 2032 2033 break; 2034 } 2035 case 239 : { 2036 2037 2038 break; 2039 } 2040 case 240 : { 2041 2042 2043 break; 2044 } 2045 case 241 : { 2046 2047 2048 break; 2049 } 2050 case 242 : { 2051 2052 2053 break; 2054 } 2055 case 243 : { 2056 2057 2058 break; 2059 } 2060 case 244 : { 2061 2062 2063 break; 2064 } 2065 case 245 : { 2066 2067 2068 break; 2069 } 2070 case 246 : { 2071 2072 2073 break; 2074 } 2075 case 247 : { 2076 2077 2078 break; 2079 } 2080 case 248 : { 2081 2082 2083 break; 2084 } 2085 case 249 : { 2086 2087 2088 break; 2089 } 2090 case 250 : { 2091 2092 2093 break; 2094 } 2095 case 251 : { 2096 2097 2098 break; 2099 } 2100 case 252 : { 2101 2102 2103 break; 2104 } 2105 case 253 : { 2106 2107 2108 break; 2109 } 2110 case 254 : { 2111 2112 2113 break; 2114 } 2115 case 255 : { 2116 2117 2118 break; 2119 } 2120 case 256 : { 2121 2122 2123 break; 2124 } 2125 case 257 : { 2126 2127 2128 break; 2129 } 2130 case 258 : { 2131 2132 2133 break; 2134 } 2135 case 259 : { 2136 2137 2138 break; 2139 } 2140 case 260 : { 2141 2142 2143 break; 2144 } 2145 case 261 : { 2146 2147 2148 break; 2149 } 2150 case 262 : { 2151 2152 2153 break; 2154 } 2155 case 263 : { 2156 2157 2158 break; 2159 } 2160 case 264 : { 2161 2162 2163 break; 2164 } 2165 case 265 : { 2166 yyval.copy(yyv[yysp-0]); 2167 break; 2168 } 2169 case 266 : { 2170 yyval.copy(yyv[yysp-0]); 2171 break; 2172 } 2173 case 267 : { 2174 yyval.copy(yyv[yysp-0]); 2175 break; 2176 } 2177 case 268 : { 2178 yyval.copy(yyv[yysp-0]); 2179 break; 2180 } 2181 case 269 : { 2182 yyval.copy(yyv[yysp-0]); 2183 break; 2184 } 2185 case 270 : { 2186 yyval.copy(yyv[yysp-0]); 2187 break; 2188 } 2189 case 271 : { 2190 yyval.copy(yyv[yysp-0]); 2191 break; 2192 } 2193 case 272 : { 2194 yyval.copy(yyv[yysp-0]); 2195 break; 2196 } 2197 case 273 : { 2198 yyval.copy(yyv[yysp-0]); 2199 break; 2200 } 2201 case 274 : { 2202 yyval.copy(yyv[yysp-0]); 2203 break; 2204 } 2205 case 275 : { 2206 yyval.copy(yyv[yysp-0]); 2207 break; 2208 } 2209 case 276 : { 2210 yyval.copy(yyv[yysp-0]); 2211 break; 2212 } 2213 case 277 : { 2214 yyval.copy(yyv[yysp-0]); 2215 break; 2216 } 2217 case 278 : { 2218 yyval.copy(yyv[yysp-0]); 2219 break; 2220 } 2221 case 279 : { 2222 yyval.copy(yyv[yysp-0]); 2223 break; 2224 } 2225 case 280 : { 2226 2227 2228 break; 2229 } 2230 case 281 : { 2231 2232 2233 break; 2234 } 2235 case 282 : { 2236 2237 2238 break; 2239 } 2240 case 283 : { 2241 2242 2243 break; 2244 } 2245 case 284 : { 2246 2247 2248 break; 2249 } 2250 case 285 : { 2251 2252 2253 break; 2254 } 2255 case 286 : { 2256 2257 2258 break; 2259 } 2260 case 287 : { 2261 2262 2263 break; 2264 } 2265 case 288 : { 2266 2267 2268 break; 2269 } 2270 case 289 : { 2271 2272 2273 break; 2274 } 2275 case 290 : { 2276 2277 2278 break; 2279 } 2280 case 291 : { 2281 2282 2283 break; 2284 } 2285 case 292 : { 2286 2287 2288 break; 2289 } 2290 case 293 : { 2291 2292 2293 break; 2294 } 2295 case 294 : { 2296 2297 2298 break; 2299 } 2300 case 295 : { 2301 2302 2303 break; 2304 } 2305 case 296 : { 2306 2307 2308 break; 2309 } 2310 case 297 : { 2311 yyval.copy(yyv[yysp-2]); 2312 break; 2313 } 2314 case 298 : { 2315 yyval.copy(yyv[yysp-2]); 2316 break; 2317 } 2318 case 299 : { 2319 2320 2321 break; 2322 } 2323 case 300 : { 2324 2325 2326 break; 2327 } 2328 case 301 : { 2329 2330 2331 break; 2332 } 2333 case 302 : { 2334 2335 2336 break; 2337 } 2338 case 303 : { 2339 2340 2341 break; 2342 } 2343 case 304 : { 2344 2345 2346 break; 2347 } 2348 case 305 : { 2349 2350 2351 break; 2352 } 2353 case 306 : { 2354 2355 2356 break; 2357 } 2358 case 307 : { 2359 2360 2361 break; 2362 } 2363 case 308 : { 2364 2365 2366 break; 2367 } 2368 case 309 : { 2369 2370 2371 break; 2372 } 2373 case 310 : { 2374 2375 2376 break; 2377 } 2378 case 311 : { 2379 2380 2381 break; 2382 } 2383 case 312 : { 2384 2385 2386 break; 2387 } 2388 case 313 : { 2389 2390 2391 break; 2392 } 2393 case 314 : { 2394 2395 2396 break; 2397 } 2398 case 315 : { 2399 2400 2401 break; 2402 } 2403 case 316 : { 2404 yyval.copy(yyv[yysp-0]); 2405 break; 2406 } 2407 case 317 : { 2408 2409 2410 break; 2411 } 2412 case 318 : { 2413 2414 2415 break; 2416 } 2417 case 319 : { 2418 2419 2420 break; 2421 } 2422 case 320 : { 2423 2424 2425 break; 2426 } 2427 case 321 : { 2428 2429 2430 break; 2431 } 2432 case 322 : { 2433 2434 2435 break; 2436 } 2437 case 323 : { 2438 2439 2440 break; 2441 } 2442 case 324 : { 2443 2444 2445 break; 2446 } 2447 case 325 : { 2448 2449 2450 break; 2451 } 2452 case 326 : { 2453 2454 2455 break; 2456 } 2457 case 327 : { 2458 2459 2460 break; 2461 } 2462 case 328 : { 2463 2464 2465 break; 2466 } 2467 case 329 : { 2468 2469 2470 break; 2471 } 2472 case 330 : { 2473 2474 2475 break; 2476 } 2477 case 331 : { 2478 2479 2480 break; 2481 } 2482 case 332 : { 2483 2484 2485 break; 2486 } 2487 case 333 : { 2488 yyval.copy(yyv[yysp-2]); 2489 break; 2490 } 2491 case 334 : { 2492 yyval.copy(yyv[yysp-2]); 2493 break; 2494 } 2495 case 335 : { 2496 2497 2498 break; 2499 } 2500 case 336 : { 2501 2502 2503 break; 2504 } 2505 case 337 : { 2506 2507 2508 break; 2509 } 2510 case 338 : { 2511 2512 2513 break; 2514 } 2515 case 339 : { 2516 2517 2518 break; 2519 } 2520 case 340 : { 2521 2522 2523 break; 2524 } 2525 case 341 : { 2526 2527 2528 break; 2529 } 2530 case 342 : { 2531 2532 2533 break; 2534 } 2535 case 343 : { 2536 2537 2538 break; 2539 } 2540 case 344 : { 2541 2542 2543 break; 2544 } 2545 case 345 : { 2546 2547 2548 break; 2549 } 2550 case 346 : { 2551 yyval.copy(yyv[yysp-0]); 2552 break; 2553 } 2554 case 347 : { 2555 2556 2557 break; 2558 } 2559 case 348 : { 2560 2561 2562 break; 2563 } 2564 case 349 : { 2565 2566 2567 break; 2568 } 2569 case 350 : { 2570 2571 2572 break; 2573 } 2574 case 351 : { 2575 2576 2577 break; 2578 } 2579 case 352 : { 2580 yyval.copy(yyv[yysp-0]); 2581 break; 2582 } 2583 case 353 : { 2584 yyval.copy(yyv[yysp-0]); 2585 break; 2586 } 2587 case 354 : { 2588 yyval.copy(yyv[yysp-0]); 2589 break; 2590 } 2591 case 355 : { 2592 yyval.copy(yyv[yysp-0]); 2593 break; 2594 } 2595 case 356 : { 2596 yyval.copy(yyv[yysp-0]); 2597 break; 2598 } 2599 case 357 : { 2600 yyval.copy(yyv[yysp-0]); 2601 break; 2602 } 2603 case 358 : { 2604 yyval.copy(yyv[yysp-0]); 2605 break; 2606 } 2607 case 359 : { 2608 yyval.copy(yyv[yysp-0]); 2609 break; 2610 } 2611 case 360 : { 2612 2613 2614 break; 2615 } 2616 case 361 : { 2617 yyval.copy(yyv[yysp-0]); 2618 break; 2619 } 2620 case 362 : { 2621 yyval.copy(yyv[yysp-0]); 2622 break; 2623 } 2624 case 363 : { 2625 2626 2627 break; 2628 } 2629 case 364 : { 2630 2631 2632 break; 2633 } 2634 case 365 : { 2635 2636 2637 break; 2638 } 2639 case 366 : { 2640 2641 2642 break; 2643 } 2644 case 367 : { 2645 2646 2647 break; 2648 } 2649 case 368 : { 2650 2651 2652 break; 2653 } 2654 case 369 : { 2655 2656 2657 break; 2658 } 2659 case 370 : { 2660 2661 2662 break; 2663 } 2664 case 371 : { 2665 2666 2667 break; 2668 } 2669 case 372 : { 2670 2671 2672 break; 2673 } 2674 case 373 : { 2675 2676 2677 break; 2678 } 2679 case 374 : { 2680 yyval.copy(yyv[yysp-0]); 2681 break; 2682 } 2683 case 375 : { 2684 2685 2686 break; 2687 } 2688 case 376 : { 2689 2690 2691 break; 2692 } 2693 case 377 : { 2694 2695 2696 break; 2697 } 2698 case 378 : { 2699 2700 2701 break; 2702 } 2703 case 379 : { 2704 2705 2706 break; 2707 } 2708 case 380 : { 2709 2710 2711 break; 2712 } 2713 case 381 : { 2714 2715 2716 break; 2717 } 2718 case 382 : { 2719 2720 2721 break; 2722 } 2723 case 383 : { 2724 2725 2726 break; 2727 } 2728 case 384 : { 2729 2730 2731 break; 2732 } 2733 case 385 : { 2734 2735 2736 break; 2737 } 2738 case 386 : { 2739 2740 2741 break; 2742 } 2743 case 387 : { 2744 2745 2746 break; 2747 } 2748 case 388 : { 2749 2750 2751 break; 2752 } 2753 case 389 : { 2754 yyval.copy(yyv[yysp-0]); 2755 break; 2756 } 2757 case 390 : { 2758 2759 2760 break; 2761 } 2762 case 391 : { 2763 2764 2765 break; 2766 } 2767 case 392 : { 2768 2769 2770 break; 2771 } 2772 case 393 : { 2773 2774 2775 break; 2776 } 2777 case 394 : { 2778 2779 2780 break; 2781 } 2782 case 395 : { 2783 2784 2785 break; 2786 } 2787 case 396 : { 2788 2789 2790 break; 2791 } 2792 case 397 : { 2793 2794 2795 break; 2796 } 2797 case 398 : { 2798 2799 2800 break; 2801 } 2802 case 399 : { 2803 2804 2805 break; 2806 } 2807 case 400 : { 2808 2809 2810 break; 2811 } 2812 case 401 : { 2813 2814 2815 break; 2816 } 2817 case 402 : { 2818 2819 2820 break; 2821 } 2822 case 403 : { 2823 2824 2825 break; 2826 } 2827 case 404 : { 2828 2829 2830 break; 2831 } 2832 case 405 : { 2833 2834 2835 break; 2836 } 2837 case 406 : { 2838 2839 2840 break; 2841 } 2842 case 407 : { 2843 2844 2845 break; 2846 } 2847 case 408 : { 2848 2849 2850 break; 2851 } 2852 case 409 : { 2853 2854 2855 break; 2856 } 2857 case 410 : { 2858 2859 2860 break; 2861 } 2862 case 411 : { 2863 2864 2865 break; 2866 } 2867 case 412 : { 2868 yyval.copy(yyv[yysp-2]); 2869 break; 2870 } 2871 case 413 : { 2872 yyval.copy(yyv[yysp-2]); 2873 break; 2874 } 2875 2876 } 2877 } 2878 void yyaction_414_662 ( int yyruleno ){ 2879 switch(yyruleno){ 2880 case 414 : { 2881 2882 2883 break; 2884 } 2885 case 415 : { 2886 2887 2888 break; 2889 } 2890 case 416 : { 2891 2892 2893 break; 2894 } 2895 case 417 : { 2896 2897 2898 break; 2899 } 2900 case 418 : { 2901 2902 2903 break; 2904 } 2905 case 419 : { 2906 yyval.copy(yyv[yysp-0]); 2907 break; 2908 } 2909 case 420 : { 2910 yyval.copy(yyv[yysp-0]); 2911 break; 2912 } 2913 case 421 : { 2914 yyval.copy(yyv[yysp-0]); 2915 break; 2916 } 2917 case 422 : { 2918 yyval.copy(yyv[yysp-0]); 2919 break; 2920 } 2921 case 423 : { 2922 yyval.copy(yyv[yysp-0]); 2923 break; 2924 } 2925 case 424 : { 2926 yyval.copy(yyv[yysp-0]); 2927 break; 2928 } 2929 case 425 : { 2930 yyval.copy(yyv[yysp-0]); 2931 break; 2932 } 2933 case 426 : { 2934 yyval.copy(yyv[yysp-0]); 2935 break; 2936 } 2937 case 427 : { 2938 yyval.copy(yyv[yysp-0]); 2939 break; 2940 } 2941 case 428 : { 2942 yyval.copy(yyv[yysp-0]); 2943 break; 2944 } 2945 case 429 : { 2946 yyval.copy(yyv[yysp-0]); 2947 break; 2948 } 2949 case 430 : { 2950 yyval.copy(yyv[yysp-0]); 2951 break; 2952 } 2953 case 431 : { 2954 yyval.copy(yyv[yysp-0]); 2955 break; 2956 } 2957 case 432 : { 2958 yyval.copy(yyv[yysp-0]); 2959 break; 2960 } 2961 case 433 : { 2962 yyval.copy(yyv[yysp-0]); 2963 break; 2964 } 2965 case 434 : { 2966 yyval.copy(yyv[yysp-0]); 2967 break; 2968 } 2969 case 435 : { 2970 2971 2972 break; 2973 } 2974 case 436 : { 2975 2976 2977 break; 2978 } 2979 case 437 : { 2980 yyval.copy(yyv[yysp-0]); 2981 break; 2982 } 2983 case 438 : { 2984 yyval.copy(yyv[yysp-0]); 2985 break; 2986 } 2987 case 439 : { 2988 yyval.copy(yyv[yysp-0]); 2989 break; 2990 } 2991 case 440 : { 2992 yyval.copy(yyv[yysp-0]); 2993 break; 2994 } 2995 case 441 : { 2996 yyval.copy(yyv[yysp-0]); 2997 break; 2998 } 2999 case 442 : { 3000 yyval.copy(yyv[yysp-0]); 3001 break; 3002 } 3003 case 443 : { 3004 yyval.copy(yyv[yysp-0]); 3005 break; 3006 } 3007 case 444 : { 3008 yyval.copy(yyv[yysp-0]); 3009 break; 3010 } 3011 case 445 : { 3012 yyval.copy(yyv[yysp-0]); 3013 break; 3014 } 3015 case 446 : { 3016 yyval.copy(yyv[yysp-0]); 3017 break; 3018 } 3019 case 447 : { 3020 yyval.copy(yyv[yysp-0]); 3021 break; 3022 } 3023 case 448 : { 3024 yyval.copy(yyv[yysp-0]); 3025 break; 3026 } 3027 case 449 : { 3028 yyval.copy(yyv[yysp-0]); 3029 break; 3030 } 3031 case 450 : { 3032 yyval.copy(yyv[yysp-0]); 3033 break; 3034 } 3035 case 451 : { 3036 yyval.copy(yyv[yysp-0]); 3037 break; 3038 } 3039 case 452 : { 3040 yyval.copy(yyv[yysp-0]); 3041 break; 3042 } 3043 case 453 : { 3044 yyval.copy(yyv[yysp-0]); 3045 break; 3046 } 3047 case 454 : { 3048 yyval.copy(yyv[yysp-0]); 3049 break; 3050 } 3051 case 455 : { 3052 yyval.copy(yyv[yysp-0]); 3053 break; 3054 } 3055 case 456 : { 3056 yyval.copy(yyv[yysp-0]); 3057 break; 3058 } 3059 case 457 : { 3060 yyval.copy(yyv[yysp-0]); 3061 break; 3062 } 3063 case 458 : { 3064 yyval.copy(yyv[yysp-0]); 3065 break; 3066 } 3067 case 459 : { 3068 yyval.copy(yyv[yysp-0]); 3069 break; 3070 } 3071 case 460 : { 3072 yyval.copy(yyv[yysp-0]); 3073 break; 3074 } 3075 case 461 : { 3076 yyval.copy(yyv[yysp-0]); 3077 break; 3078 } 3079 case 462 : { 3080 yyval.copy(yyv[yysp-0]); 3081 break; 3082 } 3083 case 463 : { 3084 yyval.copy(yyv[yysp-0]); 3085 break; 3086 } 3087 case 464 : { 3088 yyval.copy(yyv[yysp-0]); 3089 break; 3090 } 3091 case 465 : { 3092 yyval.copy(yyv[yysp-0]); 3093 break; 3094 } 3095 case 466 : { 3096 yyval.copy(yyv[yysp-0]); 3097 break; 3098 } 3099 case 467 : { 3100 yyval.copy(yyv[yysp-0]); 3101 break; 3102 } 3103 case 468 : { 3104 yyval.copy(yyv[yysp-0]); 3105 break; 3106 } 3107 case 469 : { 3108 yyval.copy(yyv[yysp-0]); 3109 break; 3110 } 3111 case 470 : { 3112 yyval.copy(yyv[yysp-0]); 3113 break; 3114 } 3115 case 471 : { 3116 yyval.copy(yyv[yysp-0]); 3117 break; 3118 } 3119 case 472 : { 3120 yyval.copy(yyv[yysp-0]); 3121 break; 3122 } 3123 case 473 : { 3124 yyval.copy(yyv[yysp-0]); 3125 break; 3126 } 3127 case 474 : { 3128 yyval.copy(yyv[yysp-0]); 3129 break; 3130 } 3131 case 475 : { 3132 yyval.copy(yyv[yysp-0]); 3133 break; 3134 } 3135 case 476 : { 3136 yyval.copy(yyv[yysp-0]); 3137 break; 3138 } 3139 case 477 : { 3140 yyval.copy(yyv[yysp-0]); 3141 break; 3142 } 3143 case 478 : { 3144 yyval.copy(yyv[yysp-0]); 3145 break; 3146 } 3147 case 479 : { 3148 yyval.copy(yyv[yysp-0]); 3149 break; 3150 } 3151 case 480 : { 3152 yyval.copy(yyv[yysp-0]); 3153 break; 3154 } 3155 case 481 : { 3156 yyval.copy(yyv[yysp-0]); 3157 break; 3158 } 3159 case 482 : { 3160 yyval.copy(yyv[yysp-0]); 3161 break; 3162 } 3163 case 483 : { 3164 yyval.copy(yyv[yysp-0]); 3165 break; 3166 } 3167 case 484 : { 3168 yyval.copy(yyv[yysp-0]); 3169 break; 3170 } 3171 case 485 : { 3172 yyval.copy(yyv[yysp-0]); 3173 break; 3174 } 3175 case 486 : { 3176 yyval.copy(yyv[yysp-0]); 3177 break; 3178 } 3179 case 487 : { 3180 yyval.copy(yyv[yysp-0]); 3181 break; 3182 } 3183 case 488 : { 3184 yyval.copy(yyv[yysp-0]); 3185 break; 3186 } 3187 case 489 : { 3188 yyval.copy(yyv[yysp-0]); 3189 break; 3190 } 3191 case 490 : { 3192 yyval.copy(yyv[yysp-0]); 3193 break; 3194 } 3195 case 491 : { 3196 yyval.copy(yyv[yysp-0]); 3197 break; 3198 } 3199 case 492 : { 3200 yyval.copy(yyv[yysp-0]); 3201 break; 3202 } 3203 case 493 : { 3204 yyval.copy(yyv[yysp-0]); 3205 break; 3206 } 3207 case 494 : { 3208 yyval.copy(yyv[yysp-0]); 3209 break; 3210 } 3211 case 495 : { 3212 yyval.copy(yyv[yysp-0]); 3213 break; 3214 } 3215 case 496 : { 3216 yyval.copy(yyv[yysp-0]); 3217 break; 3218 } 3219 case 497 : { 3220 yyval.copy(yyv[yysp-0]); 3221 break; 3222 } 3223 case 498 : { 3224 yyval.copy(yyv[yysp-0]); 3225 break; 3226 } 3227 case 499 : { 3228 yyval.copy(yyv[yysp-0]); 3229 break; 3230 } 3231 case 500 : { 3232 yyval.copy(yyv[yysp-0]); 3233 break; 3234 } 3235 case 501 : { 3236 yyval.copy(yyv[yysp-0]); 3237 break; 3238 } 3239 case 502 : { 3240 yyval.copy(yyv[yysp-0]); 3241 break; 3242 } 3243 case 503 : { 3244 yyval.copy(yyv[yysp-0]); 3245 break; 3246 } 3247 case 504 : { 3248 yyval.copy(yyv[yysp-0]); 3249 break; 3250 } 3251 case 505 : { 3252 yyval.copy(yyv[yysp-0]); 3253 break; 3254 } 3255 case 506 : { 3256 yyval.copy(yyv[yysp-0]); 3257 break; 3258 } 3259 case 507 : { 3260 yyval.copy(yyv[yysp-0]); 3261 break; 3262 } 3263 case 508 : { 3264 yyval.copy(yyv[yysp-0]); 3265 break; 3266 } 3267 case 509 : { 3268 yyval.copy(yyv[yysp-0]); 3269 break; 3270 } 3271 case 510 : { 3272 yyval.copy(yyv[yysp-0]); 3273 break; 3274 } 3275 case 511 : { 3276 yyval.copy(yyv[yysp-0]); 3277 break; 3278 } 3279 case 512 : { 3280 yyval.copy(yyv[yysp-0]); 3281 break; 3282 } 3283 case 513 : { 3284 yyval.copy(yyv[yysp-0]); 3285 break; 3286 } 3287 case 514 : { 3288 yyval.copy(yyv[yysp-0]); 3289 break; 3290 } 3291 case 515 : { 3292 yyval.copy(yyv[yysp-0]); 3293 break; 3294 } 3295 case 516 : { 3296 yyval.copy(yyv[yysp-0]); 3297 break; 3298 } 3299 case 517 : { 3300 yyval.copy(yyv[yysp-0]); 3301 break; 3302 } 3303 case 518 : { 3304 yyval.copy(yyv[yysp-0]); 3305 break; 3306 } 3307 case 519 : { 3308 yyval.copy(yyv[yysp-0]); 3309 break; 3310 } 3311 case 520 : { 3312 yyval.copy(yyv[yysp-0]); 3313 break; 3314 } 3315 case 521 : { 3316 yyval.copy(yyv[yysp-0]); 3317 break; 3318 } 3319 case 522 : { 3320 yyval.copy(yyv[yysp-0]); 3321 break; 3322 } 3323 case 523 : { 3324 yyval.copy(yyv[yysp-0]); 3325 break; 3326 } 3327 case 524 : { 3328 yyval.copy(yyv[yysp-0]); 3329 break; 3330 } 3331 case 525 : { 3332 yyval.copy(yyv[yysp-0]); 3333 break; 3334 } 3335 case 526 : { 3336 yyval.copy(yyv[yysp-0]); 3337 break; 3338 } 3339 case 527 : { 3340 yyval.copy(yyv[yysp-0]); 3341 break; 3342 } 3343 case 528 : { 3344 yyval.copy(yyv[yysp-0]); 3345 break; 3346 } 3347 case 529 : { 3348 yyval.copy(yyv[yysp-0]); 3349 break; 3350 } 3351 case 530 : { 3352 yyval.copy(yyv[yysp-0]); 3353 break; 3354 } 3355 case 531 : { 3356 yyval.copy(yyv[yysp-0]); 3357 break; 3358 } 3359 case 532 : { 3360 yyval.copy(yyv[yysp-0]); 3361 break; 3362 } 3363 case 533 : { 3364 yyval.copy(yyv[yysp-0]); 3365 break; 3366 } 3367 case 534 : { 3368 yyval.copy(yyv[yysp-0]); 3369 break; 3370 } 3371 case 535 : { 3372 yyval.copy(yyv[yysp-0]); 3373 break; 3374 } 3375 case 536 : { 3376 yyval.copy(yyv[yysp-0]); 3377 break; 3378 } 3379 case 537 : { 3380 yyval.copy(yyv[yysp-0]); 3381 break; 3382 } 3383 case 538 : { 3384 yyval.copy(yyv[yysp-0]); 3385 break; 3386 } 3387 case 539 : { 3388 yyval.copy(yyv[yysp-0]); 3389 break; 3390 } 3391 case 540 : { 3392 yyval.copy(yyv[yysp-0]); 3393 break; 3394 } 3395 case 541 : { 3396 yyval.copy(yyv[yysp-0]); 3397 break; 3398 } 3399 case 542 : { 3400 yyval.copy(yyv[yysp-0]); 3401 break; 3402 } 3403 case 543 : { 3404 yyval.copy(yyv[yysp-0]); 3405 break; 3406 } 3407 case 544 : { 3408 yyval.copy(yyv[yysp-0]); 3409 break; 3410 } 3411 case 545 : { 3412 yyval.copy(yyv[yysp-0]); 3413 break; 3414 } 3415 case 546 : { 3416 yyval.copy(yyv[yysp-0]); 3417 break; 3418 } 3419 case 547 : { 3420 yyval.copy(yyv[yysp-0]); 3421 break; 3422 } 3423 case 548 : { 3424 yyval.copy(yyv[yysp-0]); 3425 break; 3426 } 3427 case 549 : { 3428 yyval.copy(yyv[yysp-0]); 3429 break; 3430 } 3431 case 550 : { 3432 yyval.copy(yyv[yysp-0]); 3433 break; 3434 } 3435 case 551 : { 3436 yyval.copy(yyv[yysp-0]); 3437 break; 3438 } 3439 case 552 : { 3440 yyval.copy(yyv[yysp-0]); 3441 break; 3442 } 3443 case 553 : { 3444 yyval.copy(yyv[yysp-0]); 3445 break; 3446 } 3447 case 554 : { 3448 yyval.copy(yyv[yysp-0]); 3449 break; 3450 } 3451 case 555 : { 3452 yyval.copy(yyv[yysp-0]); 3453 break; 3454 } 3455 case 556 : { 3456 yyval.copy(yyv[yysp-0]); 3457 break; 3458 } 3459 case 557 : { 3460 yyval.copy(yyv[yysp-0]); 3461 break; 3462 } 3463 case 558 : { 3464 yyval.copy(yyv[yysp-0]); 3465 break; 3466 } 3467 case 559 : { 3468 yyval.copy(yyv[yysp-0]); 3469 break; 3470 } 3471 case 560 : { 3472 yyval.copy(yyv[yysp-0]); 3473 break; 3474 } 3475 case 561 : { 3476 yyval.copy(yyv[yysp-0]); 3477 break; 3478 } 3479 case 562 : { 3480 yyval.copy(yyv[yysp-0]); 3481 break; 3482 } 3483 case 563 : { 3484 yyval.copy(yyv[yysp-0]); 3485 break; 3486 } 3487 case 564 : { 3488 yyval.copy(yyv[yysp-0]); 3489 break; 3490 } 3491 case 565 : { 3492 yyval.copy(yyv[yysp-0]); 3493 break; 3494 } 3495 case 566 : { 3496 yyval.copy(yyv[yysp-0]); 3497 break; 3498 } 3499 case 567 : { 3500 yyval.copy(yyv[yysp-0]); 3501 break; 3502 } 3503 case 568 : { 3504 yyval.copy(yyv[yysp-0]); 3505 break; 3506 } 3507 case 569 : { 3508 yyval.copy(yyv[yysp-0]); 3509 break; 3510 } 3511 case 570 : { 3512 yyval.copy(yyv[yysp-0]); 3513 break; 3514 } 3515 case 571 : { 3516 yyval.copy(yyv[yysp-0]); 3517 break; 3518 } 3519 case 572 : { 3520 yyval.copy(yyv[yysp-0]); 3521 break; 3522 } 3523 case 573 : { 3524 yyval.copy(yyv[yysp-0]); 3525 break; 3526 } 3527 case 574 : { 3528 yyval.copy(yyv[yysp-0]); 3529 break; 3530 } 3531 case 575 : { 3532 yyval.copy(yyv[yysp-0]); 3533 break; 3534 } 3535 case 576 : { 3536 yyval.copy(yyv[yysp-0]); 3537 break; 3538 } 3539 case 577 : { 3540 yyval.copy(yyv[yysp-0]); 3541 break; 3542 } 3543 case 578 : { 3544 yyval.copy(yyv[yysp-0]); 3545 break; 3546 } 3547 case 579 : { 3548 yyval.copy(yyv[yysp-0]); 3549 break; 3550 } 3551 case 580 : { 3552 yyval.copy(yyv[yysp-0]); 3553 break; 3554 } 3555 case 581 : { 3556 yyval.copy(yyv[yysp-0]); 3557 break; 3558 } 3559 case 582 : { 3560 yyval.copy(yyv[yysp-0]); 3561 break; 3562 } 3563 case 583 : { 3564 yyval.copy(yyv[yysp-0]); 3565 break; 3566 } 3567 case 584 : { 3568 yyval.copy(yyv[yysp-0]); 3569 break; 3570 } 3571 case 585 : { 3572 yyval.copy(yyv[yysp-0]); 3573 break; 3574 } 3575 case 586 : { 3576 yyval.copy(yyv[yysp-0]); 3577 break; 3578 } 3579 case 587 : { 3580 yyval.copy(yyv[yysp-0]); 3581 break; 3582 } 3583 case 588 : { 3584 yyval.copy(yyv[yysp-0]); 3585 break; 3586 } 3587 case 589 : { 3588 yyval.copy(yyv[yysp-0]); 3589 break; 3590 } 3591 case 590 : { 3592 yyval.copy(yyv[yysp-0]); 3593 break; 3594 } 3595 case 591 : { 3596 yyval.copy(yyv[yysp-0]); 3597 break; 3598 } 3599 case 592 : { 3600 yyval.copy(yyv[yysp-0]); 3601 break; 3602 } 3603 case 593 : { 3604 yyval.copy(yyv[yysp-0]); 3605 break; 3606 } 3607 case 594 : { 3608 yyval.copy(yyv[yysp-0]); 3609 break; 3610 } 3611 case 595 : { 3612 yyval.copy(yyv[yysp-0]); 3613 break; 3614 } 3615 case 596 : { 3616 yyval.copy(yyv[yysp-0]); 3617 break; 3618 } 3619 case 597 : { 3620 yyval.copy(yyv[yysp-0]); 3621 break; 3622 } 3623 case 598 : { 3624 yyval.copy(yyv[yysp-0]); 3625 break; 3626 } 3627 case 599 : { 3628 yyval.copy(yyv[yysp-0]); 3629 break; 3630 } 3631 case 600 : { 3632 yyval.copy(yyv[yysp-0]); 3633 break; 3634 } 3635 case 601 : { 3636 yyval.copy(yyv[yysp-0]); 3637 break; 3638 } 3639 case 602 : { 3640 yyval.copy(yyv[yysp-0]); 3641 break; 3642 } 3643 case 603 : { 3644 yyval.copy(yyv[yysp-0]); 3645 break; 3646 } 3647 case 604 : { 3648 yyval.copy(yyv[yysp-0]); 3649 break; 3650 } 3651 case 605 : { 3652 yyval.copy(yyv[yysp-0]); 3653 break; 3654 } 3655 case 606 : { 3656 yyval.copy(yyv[yysp-0]); 3657 break; 3658 } 3659 case 607 : { 3660 yyval.copy(yyv[yysp-0]); 3661 break; 3662 } 3663 case 608 : { 3664 yyval.copy(yyv[yysp-0]); 3665 break; 3666 } 3667 case 609 : { 3668 yyval.copy(yyv[yysp-0]); 3669 break; 3670 } 3671 case 610 : { 3672 yyval.copy(yyv[yysp-0]); 3673 break; 3674 } 3675 case 611 : { 3676 yyval.copy(yyv[yysp-0]); 3677 break; 3678 } 3679 case 612 : { 3680 yyval.copy(yyv[yysp-0]); 3681 break; 3682 } 3683 case 613 : { 3684 yyval.copy(yyv[yysp-0]); 3685 break; 3686 } 3687 case 614 : { 3688 yyval.copy(yyv[yysp-0]); 3689 break; 3690 } 3691 case 615 : { 3692 yyval.copy(yyv[yysp-0]); 3693 break; 3694 } 3695 case 616 : { 3696 yyval.copy(yyv[yysp-0]); 3697 break; 3698 } 3699 case 617 : { 3700 yyval.copy(yyv[yysp-0]); 3701 break; 3702 } 3703 case 618 : { 3704 yyval.copy(yyv[yysp-0]); 3705 break; 3706 } 3707 case 619 : { 3708 yyval.copy(yyv[yysp-0]); 3709 break; 3710 } 3711 case 620 : { 3712 yyval.copy(yyv[yysp-0]); 3713 break; 3714 } 3715 case 621 : { 3716 yyval.copy(yyv[yysp-0]); 3717 break; 3718 } 3719 case 622 : { 3720 yyval.copy(yyv[yysp-0]); 3721 break; 3722 } 3723 case 623 : { 3724 yyval.copy(yyv[yysp-0]); 3725 break; 3726 } 3727 case 624 : { 3728 yyval.copy(yyv[yysp-0]); 3729 break; 3730 } 3731 case 625 : { 3732 yyval.copy(yyv[yysp-0]); 3733 break; 3734 } 3735 case 626 : { 3736 yyval.copy(yyv[yysp-0]); 3737 break; 3738 } 3739 case 627 : { 3740 yyval.copy(yyv[yysp-0]); 3741 break; 3742 } 3743 case 628 : { 3744 yyval.copy(yyv[yysp-0]); 3745 break; 3746 } 3747 case 629 : { 3748 yyval.copy(yyv[yysp-0]); 3749 break; 3750 } 3751 case 630 : { 3752 yyval.copy(yyv[yysp-0]); 3753 break; 3754 } 3755 case 631 : { 3756 yyval.copy(yyv[yysp-0]); 3757 break; 3758 } 3759 case 632 : { 3760 yyval.copy(yyv[yysp-0]); 3761 break; 3762 } 3763 case 633 : { 3764 yyval.copy(yyv[yysp-0]); 3765 break; 3766 } 3767 case 634 : { 3768 yyval.copy(yyv[yysp-0]); 3769 break; 3770 } 3771 case 635 : { 3772 yyval.copy(yyv[yysp-0]); 3773 break; 3774 } 3775 case 636 : { 3776 yyval.copy(yyv[yysp-0]); 3777 break; 3778 } 3779 case 637 : { 3780 yyval.copy(yyv[yysp-0]); 3781 break; 3782 } 3783 case 638 : { 3784 yyval.copy(yyv[yysp-0]); 3785 break; 3786 } 3787 case 639 : { 3788 yyval.copy(yyv[yysp-0]); 3789 break; 3790 } 3791 case 640 : { 3792 yyval.copy(yyv[yysp-0]); 3793 break; 3794 } 3795 case 641 : { 3796 yyval.copy(yyv[yysp-0]); 3797 break; 3798 } 3799 case 642 : { 3800 yyval.copy(yyv[yysp-0]); 3801 break; 3802 } 3803 case 643 : { 3804 yyval.copy(yyv[yysp-0]); 3805 break; 3806 } 3807 case 644 : { 3808 yyval.copy(yyv[yysp-0]); 3809 break; 3810 } 3811 case 645 : { 3812 yyval.copy(yyv[yysp-0]); 3813 break; 3814 } 3815 case 646 : { 3816 yyval.copy(yyv[yysp-0]); 3817 break; 3818 } 3819 case 647 : { 3820 yyval.copy(yyv[yysp-0]); 3821 break; 3822 } 3823 case 648 : { 3824 yyval.copy(yyv[yysp-0]); 3825 break; 3826 } 3827 case 649 : { 3828 yyval.copy(yyv[yysp-0]); 3829 break; 3830 } 3831 case 650 : { 3832 yyval.copy(yyv[yysp-0]); 3833 break; 3834 } 3835 case 651 : { 3836 yyval.copy(yyv[yysp-0]); 3837 break; 3838 } 3839 case 652 : { 3840 yyval.copy(yyv[yysp-0]); 3841 break; 3842 } 3843 case 653 : { 3844 yyval.copy(yyv[yysp-0]); 3845 break; 3846 } 3847 case 654 : { 3848 yyval.copy(yyv[yysp-0]); 3849 break; 3850 } 3851 case 655 : { 3852 yyval.copy(yyv[yysp-0]); 3853 break; 3854 } 3855 case 656 : { 3856 yyval.copy(yyv[yysp-0]); 3857 break; 3858 } 3859 case 657 : { 3860 yyval.copy(yyv[yysp-0]); 3861 break; 3862 } 3863 case 658 : { 3864 yyval.copy(yyv[yysp-0]); 3865 break; 3866 } 3867 case 659 : { 3868 yyval.copy(yyv[yysp-0]); 3869 break; 3870 } 3871 case 660 : { 3872 yyval.copy(yyv[yysp-0]); 3873 break; 3874 } 3875 case 661 : { 3876 yyval.copy(yyv[yysp-0]); 3877 break; 3878 } 3879 case 662 : { 3880 yyval.copy(yyv[yysp-0]); 3881 break; 3882 } 3883 3884 } 3885 } 3886 void yyaction_663_843 ( int yyruleno ){ 3887 switch(yyruleno){ 3888 case 663 : { 3889 yyval.copy(yyv[yysp-0]); 3890 break; 3891 } 3892 case 664 : { 3893 yyval.copy(yyv[yysp-0]); 3894 break; 3895 } 3896 case 665 : { 3897 yyval.copy(yyv[yysp-0]); 3898 break; 3899 } 3900 case 666 : { 3901 yyval.copy(yyv[yysp-0]); 3902 break; 3903 } 3904 case 667 : { 3905 yyval.copy(yyv[yysp-0]); 3906 break; 3907 } 3908 case 668 : { 3909 yyval.copy(yyv[yysp-0]); 3910 break; 3911 } 3912 case 669 : { 3913 yyval.copy(yyv[yysp-0]); 3914 break; 3915 } 3916 case 670 : { 3917 yyval.copy(yyv[yysp-0]); 3918 break; 3919 } 3920 case 671 : { 3921 yyval.copy(yyv[yysp-0]); 3922 break; 3923 } 3924 case 672 : { 3925 yyval.copy(yyv[yysp-0]); 3926 break; 3927 } 3928 case 673 : { 3929 yyval.copy(yyv[yysp-0]); 3930 break; 3931 } 3932 case 674 : { 3933 yyval.copy(yyv[yysp-0]); 3934 break; 3935 } 3936 case 675 : { 3937 yyval.copy(yyv[yysp-0]); 3938 break; 3939 } 3940 case 676 : { 3941 yyval.copy(yyv[yysp-0]); 3942 break; 3943 } 3944 case 677 : { 3945 yyval.copy(yyv[yysp-0]); 3946 break; 3947 } 3948 case 678 : { 3949 yyval.copy(yyv[yysp-0]); 3950 break; 3951 } 3952 case 679 : { 3953 yyval.copy(yyv[yysp-0]); 3954 break; 3955 } 3956 case 680 : { 3957 yyval.copy(yyv[yysp-0]); 3958 break; 3959 } 3960 case 681 : { 3961 yyval.copy(yyv[yysp-0]); 3962 break; 3963 } 3964 case 682 : { 3965 yyval.copy(yyv[yysp-0]); 3966 break; 3967 } 3968 case 683 : { 3969 yyval.copy(yyv[yysp-0]); 3970 break; 3971 } 3972 case 684 : { 3973 yyval.copy(yyv[yysp-0]); 3974 break; 3975 } 3976 case 685 : { 3977 yyval.copy(yyv[yysp-0]); 3978 break; 3979 } 3980 case 686 : { 3981 yyval.copy(yyv[yysp-0]); 3982 break; 3983 } 3984 case 687 : { 3985 yyval.copy(yyv[yysp-0]); 3986 break; 3987 } 3988 case 688 : { 3989 yyval.copy(yyv[yysp-0]); 3990 break; 3991 } 3992 case 689 : { 3993 yyval.copy(yyv[yysp-0]); 3994 break; 3995 } 3996 case 690 : { 3997 yyval.copy(yyv[yysp-0]); 3998 break; 3999 } 4000 case 691 : { 4001 yyval.copy(yyv[yysp-0]); 4002 break; 4003 } 4004 case 692 : { 4005 yyval.copy(yyv[yysp-0]); 4006 break; 4007 } 4008 case 693 : { 4009 yyval.copy(yyv[yysp-0]); 4010 break; 4011 } 4012 case 694 : { 4013 yyval.copy(yyv[yysp-0]); 4014 break; 4015 } 4016 case 695 : { 4017 yyval.copy(yyv[yysp-0]); 4018 break; 4019 } 4020 case 696 : { 4021 yyval.copy(yyv[yysp-0]); 4022 break; 4023 } 4024 case 697 : { 4025 yyval.copy(yyv[yysp-0]); 4026 break; 4027 } 4028 case 698 : { 4029 yyval.copy(yyv[yysp-0]); 4030 break; 4031 } 4032 case 699 : { 4033 yyval.copy(yyv[yysp-0]); 4034 break; 4035 } 4036 case 700 : { 4037 yyval.copy(yyv[yysp-0]); 4038 break; 4039 } 4040 case 701 : { 4041 yyval.copy(yyv[yysp-0]); 4042 break; 4043 } 4044 case 702 : { 4045 yyval.copy(yyv[yysp-0]); 4046 break; 4047 } 4048 case 703 : { 4049 yyval.copy(yyv[yysp-0]); 4050 break; 4051 } 4052 case 704 : { 4053 yyval.copy(yyv[yysp-0]); 4054 break; 4055 } 4056 case 705 : { 4057 yyval.copy(yyv[yysp-0]); 4058 break; 4059 } 4060 case 706 : { 4061 yyval.copy(yyv[yysp-0]); 4062 break; 4063 } 4064 case 707 : { 4065 yyval.copy(yyv[yysp-0]); 4066 break; 4067 } 4068 case 708 : { 4069 yyval.copy(yyv[yysp-0]); 4070 break; 4071 } 4072 case 709 : { 4073 yyval.copy(yyv[yysp-0]); 4074 break; 4075 } 4076 case 710 : { 4077 yyval.copy(yyv[yysp-0]); 4078 break; 4079 } 4080 case 711 : { 4081 yyval.copy(yyv[yysp-0]); 4082 break; 4083 } 4084 case 712 : { 4085 yyval.copy(yyv[yysp-0]); 4086 break; 4087 } 4088 case 713 : { 4089 yyval.copy(yyv[yysp-0]); 4090 break; 4091 } 4092 case 714 : { 4093 yyval.copy(yyv[yysp-0]); 4094 break; 4095 } 4096 case 715 : { 4097 yyval.copy(yyv[yysp-0]); 4098 break; 4099 } 4100 case 716 : { 4101 yyval.copy(yyv[yysp-0]); 4102 break; 4103 } 4104 case 717 : { 4105 yyval.copy(yyv[yysp-0]); 4106 break; 4107 } 4108 case 718 : { 4109 yyval.copy(yyv[yysp-0]); 4110 break; 4111 } 4112 case 719 : { 4113 yyval.copy(yyv[yysp-0]); 4114 break; 4115 } 4116 case 720 : { 4117 yyval.copy(yyv[yysp-0]); 4118 break; 4119 } 4120 case 721 : { 4121 yyval.copy(yyv[yysp-0]); 4122 break; 4123 } 4124 case 722 : { 4125 yyval.copy(yyv[yysp-0]); 4126 break; 4127 } 4128 case 723 : { 4129 yyval.copy(yyv[yysp-0]); 4130 break; 4131 } 4132 case 724 : { 4133 yyval.copy(yyv[yysp-0]); 4134 break; 4135 } 4136 case 725 : { 4137 yyval.copy(yyv[yysp-0]); 4138 break; 4139 } 4140 case 726 : { 4141 yyval.copy(yyv[yysp-0]); 4142 break; 4143 } 4144 case 727 : { 4145 yyval.copy(yyv[yysp-0]); 4146 break; 4147 } 4148 case 728 : { 4149 yyval.copy(yyv[yysp-0]); 4150 break; 4151 } 4152 case 729 : { 4153 yyval.copy(yyv[yysp-0]); 4154 break; 4155 } 4156 case 730 : { 4157 yyval.copy(yyv[yysp-0]); 4158 break; 4159 } 4160 case 731 : { 4161 yyval.copy(yyv[yysp-0]); 4162 break; 4163 } 4164 case 732 : { 4165 yyval.copy(yyv[yysp-0]); 4166 break; 4167 } 4168 case 733 : { 4169 yyval.copy(yyv[yysp-0]); 4170 break; 4171 } 4172 case 734 : { 4173 yyval.copy(yyv[yysp-0]); 4174 break; 4175 } 4176 case 735 : { 4177 yyval.copy(yyv[yysp-0]); 4178 break; 4179 } 4180 case 736 : { 4181 yyval.copy(yyv[yysp-0]); 4182 break; 4183 } 4184 case 737 : { 4185 yyval.copy(yyv[yysp-0]); 4186 break; 4187 } 4188 case 738 : { 4189 yyval.copy(yyv[yysp-0]); 4190 break; 4191 } 4192 case 739 : { 4193 yyval.copy(yyv[yysp-0]); 4194 break; 4195 } 4196 case 740 : { 4197 yyval.copy(yyv[yysp-0]); 4198 break; 4199 } 4200 case 741 : { 4201 yyval.copy(yyv[yysp-0]); 4202 break; 4203 } 4204 case 742 : { 4205 yyval.copy(yyv[yysp-0]); 4206 break; 4207 } 4208 case 743 : { 4209 yyval.copy(yyv[yysp-0]); 4210 break; 4211 } 4212 case 744 : { 4213 yyval.copy(yyv[yysp-0]); 4214 break; 4215 } 4216 case 745 : { 4217 yyval.copy(yyv[yysp-0]); 4218 break; 4219 } 4220 case 746 : { 4221 yyval.copy(yyv[yysp-0]); 4222 break; 4223 } 4224 case 747 : { 4225 yyval.copy(yyv[yysp-0]); 4226 break; 4227 } 4228 case 748 : { 4229 yyval.copy(yyv[yysp-0]); 4230 break; 4231 } 4232 case 749 : { 4233 yyval.copy(yyv[yysp-0]); 4234 break; 4235 } 4236 case 750 : { 4237 yyval.copy(yyv[yysp-0]); 4238 break; 4239 } 4240 case 751 : { 4241 yyval.copy(yyv[yysp-0]); 4242 break; 4243 } 4244 case 752 : { 4245 yyval.copy(yyv[yysp-0]); 4246 break; 4247 } 4248 case 753 : { 4249 yyval.copy(yyv[yysp-0]); 4250 break; 4251 } 4252 case 754 : { 4253 yyval.copy(yyv[yysp-0]); 4254 break; 4255 } 4256 case 755 : { 4257 yyval.copy(yyv[yysp-0]); 4258 break; 4259 } 4260 case 756 : { 4261 yyval.copy(yyv[yysp-0]); 4262 break; 4263 } 4264 case 757 : { 4265 yyval.copy(yyv[yysp-0]); 4266 break; 4267 } 4268 case 758 : { 4269 yyval.copy(yyv[yysp-0]); 4270 break; 4271 } 4272 case 759 : { 4273 yyval.copy(yyv[yysp-0]); 4274 break; 4275 } 4276 case 760 : { 4277 yyval.copy(yyv[yysp-0]); 4278 break; 4279 } 4280 case 761 : { 4281 yyval.copy(yyv[yysp-0]); 4282 break; 4283 } 4284 case 762 : { 4285 yyval.copy(yyv[yysp-0]); 4286 break; 4287 } 4288 case 763 : { 4289 yyval.copy(yyv[yysp-0]); 4290 break; 4291 } 4292 case 764 : { 4293 yyval.copy(yyv[yysp-0]); 4294 break; 4295 } 4296 case 765 : { 4297 yyval.copy(yyv[yysp-0]); 4298 break; 4299 } 4300 case 766 : { 4301 yyval.copy(yyv[yysp-0]); 4302 break; 4303 } 4304 case 767 : { 4305 yyval.copy(yyv[yysp-0]); 4306 break; 4307 } 4308 case 768 : { 4309 yyval.copy(yyv[yysp-0]); 4310 break; 4311 } 4312 case 769 : { 4313 yyval.copy(yyv[yysp-0]); 4314 break; 4315 } 4316 case 770 : { 4317 yyval.copy(yyv[yysp-0]); 4318 break; 4319 } 4320 case 771 : { 4321 yyval.copy(yyv[yysp-0]); 4322 break; 4323 } 4324 case 772 : { 4325 yyval.copy(yyv[yysp-0]); 4326 break; 4327 } 4328 case 773 : { 4329 yyval.copy(yyv[yysp-0]); 4330 break; 4331 } 4332 case 774 : { 4333 yyval.copy(yyv[yysp-0]); 4334 break; 4335 } 4336 case 775 : { 4337 yyval.copy(yyv[yysp-0]); 4338 break; 4339 } 4340 case 776 : { 4341 yyval.copy(yyv[yysp-0]); 4342 break; 4343 } 4344 case 777 : { 4345 yyval.copy(yyv[yysp-0]); 4346 break; 4347 } 4348 case 778 : { 4349 yyval.copy(yyv[yysp-0]); 4350 break; 4351 } 4352 case 779 : { 4353 yyval.copy(yyv[yysp-0]); 4354 break; 4355 } 4356 case 780 : { 4357 yyval.copy(yyv[yysp-0]); 4358 break; 4359 } 4360 case 781 : { 4361 yyval.copy(yyv[yysp-0]); 4362 break; 4363 } 4364 case 782 : { 4365 yyval.copy(yyv[yysp-0]); 4366 break; 4367 } 4368 case 783 : { 4369 yyval.copy(yyv[yysp-0]); 4370 break; 4371 } 4372 case 784 : { 4373 yyval.copy(yyv[yysp-0]); 4374 break; 4375 } 4376 case 785 : { 4377 yyval.copy(yyv[yysp-0]); 4378 break; 4379 } 4380 case 786 : { 4381 yyval.copy(yyv[yysp-0]); 4382 break; 4383 } 4384 case 787 : { 4385 yyval.copy(yyv[yysp-0]); 4386 break; 4387 } 4388 case 788 : { 4389 yyval.copy(yyv[yysp-0]); 4390 break; 4391 } 4392 case 789 : { 4393 yyval.copy(yyv[yysp-0]); 4394 break; 4395 } 4396 case 790 : { 4397 yyval.copy(yyv[yysp-0]); 4398 break; 4399 } 4400 case 791 : { 4401 yyval.copy(yyv[yysp-0]); 4402 break; 4403 } 4404 case 792 : { 4405 yyval.copy(yyv[yysp-0]); 4406 break; 4407 } 4408 case 793 : { 4409 yyval.copy(yyv[yysp-0]); 4410 break; 4411 } 4412 case 794 : { 4413 yyval.copy(yyv[yysp-0]); 4414 break; 4415 } 4416 case 795 : { 4417 yyval.copy(yyv[yysp-0]); 4418 break; 4419 } 4420 case 796 : { 4421 yyval.copy(yyv[yysp-0]); 4422 break; 4423 } 4424 case 797 : { 4425 yyval.copy(yyv[yysp-0]); 4426 break; 4427 } 4428 case 798 : { 4429 yyval.copy(yyv[yysp-0]); 4430 break; 4431 } 4432 case 799 : { 4433 yyval.copy(yyv[yysp-0]); 4434 break; 4435 } 4436 case 800 : { 4437 yyval.copy(yyv[yysp-0]); 4438 break; 4439 } 4440 case 801 : { 4441 yyval.copy(yyv[yysp-0]); 4442 break; 4443 } 4444 case 802 : { 4445 yyval.copy(yyv[yysp-0]); 4446 break; 4447 } 4448 case 803 : { 4449 yyval.copy(yyv[yysp-0]); 4450 break; 4451 } 4452 case 804 : { 4453 yyval.copy(yyv[yysp-0]); 4454 break; 4455 } 4456 case 805 : { 4457 yyval.copy(yyv[yysp-0]); 4458 break; 4459 } 4460 case 806 : { 4461 yyval.copy(yyv[yysp-0]); 4462 break; 4463 } 4464 case 807 : { 4465 yyval.copy(yyv[yysp-0]); 4466 break; 4467 } 4468 case 808 : { 4469 yyval.copy(yyv[yysp-0]); 4470 break; 4471 } 4472 case 809 : { 4473 yyval.copy(yyv[yysp-0]); 4474 break; 4475 } 4476 case 810 : { 4477 yyval.copy(yyv[yysp-0]); 4478 break; 4479 } 4480 case 811 : { 4481 yyval.copy(yyv[yysp-0]); 4482 break; 4483 } 4484 case 812 : { 4485 yyval.copy(yyv[yysp-0]); 4486 break; 4487 } 4488 case 813 : { 4489 yyval.copy(yyv[yysp-0]); 4490 break; 4491 } 4492 case 814 : { 4493 yyval.copy(yyv[yysp-0]); 4494 break; 4495 } 4496 case 815 : { 4497 yyval.copy(yyv[yysp-0]); 4498 break; 4499 } 4500 case 816 : { 4501 yyval.copy(yyv[yysp-0]); 4502 break; 4503 } 4504 case 817 : { 4505 yyval.copy(yyv[yysp-0]); 4506 break; 4507 } 4508 case 818 : { 4509 yyval.copy(yyv[yysp-0]); 4510 break; 4511 } 4512 case 819 : { 4513 yyval.copy(yyv[yysp-0]); 4514 break; 4515 } 4516 case 820 : { 4517 yyval.copy(yyv[yysp-0]); 4518 break; 4519 } 4520 case 821 : { 4521 yyval.copy(yyv[yysp-0]); 4522 break; 4523 } 4524 case 822 : { 4525 yyval.copy(yyv[yysp-0]); 4526 break; 4527 } 4528 case 823 : { 4529 yyval.copy(yyv[yysp-0]); 4530 break; 4531 } 4532 case 824 : { 4533 yyval.copy(yyv[yysp-0]); 4534 break; 4535 } 4536 case 825 : { 4537 yyval.copy(yyv[yysp-0]); 4538 break; 4539 } 4540 case 826 : { 4541 yyval.copy(yyv[yysp-0]); 4542 break; 4543 } 4544 case 827 : { 4545 yyval.copy(yyv[yysp-0]); 4546 break; 4547 } 4548 case 828 : { 4549 yyval.copy(yyv[yysp-0]); 4550 break; 4551 } 4552 case 829 : { 4553 yyval.copy(yyv[yysp-0]); 4554 break; 4555 } 4556 case 830 : { 4557 yyval.copy(yyv[yysp-0]); 4558 break; 4559 } 4560 case 831 : { 4561 yyval.copy(yyv[yysp-0]); 4562 break; 4563 } 4564 case 832 : { 4565 yyval.copy(yyv[yysp-0]); 4566 break; 4567 } 4568 case 833 : { 4569 yyval.copy(yyv[yysp-0]); 4570 break; 4571 } 4572 case 834 : { 4573 yyval.copy(yyv[yysp-0]); 4574 break; 4575 } 4576 case 835 : { 4577 yyval.copy(yyv[yysp-0]); 4578 break; 4579 } 4580 case 836 : { 4581 yyval.copy(yyv[yysp-0]); 4582 break; 4583 } 4584 case 837 : { 4585 yyval.copy(yyv[yysp-0]); 4586 break; 4587 } 4588 case 838 : { 4589 yyval.copy(yyv[yysp-0]); 4590 break; 4591 } 4592 case 839 : { 4593 yyval.copy(yyv[yysp-0]); 4594 break; 4595 } 4596 case 840 : { 4597 yyval.copy(yyv[yysp-0]); 4598 break; 4599 } 4600 case 841 : { 4601 yyval.copy(yyv[yysp-0]); 4602 break; 4603 } 4604 case 842 : { 4605 yyval.copy(yyv[yysp-0]); 4606 break; 4607 } 4608 case 843 : { 4609 yyval.copy(yyv[yysp-0]); 4610 break; 4611 } 4612 4613 default:{ 4614 break; 4615 } 4616 4617 } 4618 } 4619void yyaction (int yyruleno){ 4620if (yyruleno >= 663) { yyaction_663_843( yyruleno ); } else{ 4621if (yyruleno >= 414) { yyaction_414_662( yyruleno ); } else{ 4622if (yyruleno >= 207) { yyaction_207_413( yyruleno ); } else{ 4623if (yyruleno >= 1) { yyaction_1_206( yyruleno ); } 4624} 4625} 4626} 4627} 4628 4629} // end of class