00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 #define YYBISON 1
00048
00049
00050 #define YYBISON_VERSION "2.3"
00051
00052
00053 #define YYSKELETON_NAME "yacc.c"
00054
00055
00056 #define YYPURE 1
00057
00058
00059 #define YYLSP_NEEDED 1
00060
00061
00062 #define yyparse osolparse
00063 #define yylex osollex
00064 #define yyerror osolerror
00065 #define yylval osollval
00066 #define yychar osolchar
00067 #define yydebug osoldebug
00068 #define yynerrs osolnerrs
00069 #define yylloc osollloc
00070
00071
00072 #ifndef YYTOKENTYPE
00073 # define YYTOKENTYPE
00074
00075
00076 enum yytokentype {
00077 ATTRIBUTETEXT = 258,
00078 ELEMENTTEXT = 259,
00079 ITEMTEXT = 260,
00080 INTEGER = 261,
00081 DOUBLE = 262,
00082 QUOTE = 263,
00083 TWOQUOTES = 264,
00084 GREATERTHAN = 265,
00085 ENDOFELEMENT = 266,
00086 OSOLSTART = 267,
00087 OSOLSTARTEMPTY = 268,
00088 OSOLATTRIBUTETEXT = 269,
00089 OSOLEND = 270,
00090 NUMBEROFOTHEROPTIONSATT = 271,
00091 NUMBEROFENUMERATIONSATT = 272,
00092 NUMBEROFJOBIDSATT = 273,
00093 NUMBEROFPATHSATT = 274,
00094 NUMBEROFPATHPAIRSATT = 275,
00095 FROMATT = 276,
00096 TOATT = 277,
00097 MAKECOPYATT = 278,
00098 CATEGORYATT = 279,
00099 TYPEATT = 280,
00100 GROUPWEIGHTATT = 281,
00101 NUMBEROFPROCESSESATT = 282,
00102 NUMBEROFSOLVEROPTIONSATT = 283,
00103 NUMBEROFSOSATT = 284,
00104 NUMBEROFVARIABLESATT = 285,
00105 NUMBEROFOBJECTIVESATT = 286,
00106 NUMBEROFCONSTRAINTSATT = 287,
00107 NUMBEROFOTHERVARIABLEOPTIONSATT = 288,
00108 NUMBEROFOTHEROBJECTIVEOPTIONSATT = 289,
00109 NUMBEROFOTHERCONSTRAINTOPTIONSATT = 290,
00110 NUMBEROFITEMSATT = 291,
00111 NUMBEROFVARATT = 292,
00112 NUMBEROFOBJATT = 293,
00113 NUMBEROFCONATT = 294,
00114 NUMBEROFELATT = 295,
00115 NAMEATT = 296,
00116 IDXATT = 297,
00117 SOSIDXATT = 298,
00118 VALUEATT = 299,
00119 UNITATT = 300,
00120 DESCRIPTIONATT = 301,
00121 CONTYPEATT = 302,
00122 EMPTYCONTYPEATT = 303,
00123 ENUMTYPEATT = 304,
00124 EMPTYENUMTYPEATT = 305,
00125 OBJTYPEATT = 306,
00126 EMPTYOBJTYPEATT = 307,
00127 VARTYPEATT = 308,
00128 EMPTYVARTYPEATT = 309,
00129 EMPTYTYPEATT = 310,
00130 EMPTYNAMEATT = 311,
00131 EMPTYCATEGORYATT = 312,
00132 EMPTYDESCRIPTIONATT = 313,
00133 EMPTYUNITATT = 314,
00134 EMPTYVALUEATT = 315,
00135 EMPTYLBVALUEATT = 316,
00136 EMPTYUBVALUEATT = 317,
00137 LBVALUEATT = 318,
00138 UBVALUEATT = 319,
00139 EMPTYLBDUALVALUEATT = 320,
00140 EMPTYUBDUALVALUEATT = 321,
00141 LBDUALVALUEATT = 322,
00142 UBDUALVALUEATT = 323,
00143 SOLVERATT = 324,
00144 EMPTYSOLVERATT = 325,
00145 WEIGHTATT = 326,
00146 EMPTYWEIGHTATT = 327,
00147 TRANSPORTTYPEATT = 328,
00148 LOCATIONTYPEATT = 329,
00149 HEADERSTART = 330,
00150 HEADEREND = 331,
00151 GENERALSTART = 332,
00152 GENERALEND = 333,
00153 SYSTEMSTART = 334,
00154 SYSTEMEND = 335,
00155 SERVICESTART = 336,
00156 SERVICEEND = 337,
00157 JOBSTART = 338,
00158 JOBEND = 339,
00159 OPTIMIZATIONSTART = 340,
00160 OPTIMIZATIONEND = 341,
00161 FILENAMESTART = 342,
00162 FILENAMEEND = 343,
00163 FILENAMEEMPTY = 344,
00164 FILENAMESTARTANDEND = 345,
00165 FILESOURCESTART = 346,
00166 FILESOURCEEND = 347,
00167 FILESOURCEEMPTY = 348,
00168 FILESOURCESTARTANDEND = 349,
00169 FILEDESCRIPTIONSTART = 350,
00170 FILEDESCRIPTIONEND = 351,
00171 FILEDESCRIPTIONEMPTY = 352,
00172 FILEDESCRIPTIONSTARTANDEND = 353,
00173 FILECREATORSTART = 354,
00174 FILECREATOREND = 355,
00175 FILECREATOREMPTY = 356,
00176 FILECREATORSTARTANDEND = 357,
00177 FILELICENCESTART = 358,
00178 FILELICENCEEND = 359,
00179 FILELICENCEEMPTY = 360,
00180 FILELICENCESTARTANDEND = 361,
00181 SERVICEURISTART = 362,
00182 SERVICEURIEND = 363,
00183 SERVICENAMESTART = 364,
00184 SERVICENAMEEND = 365,
00185 INSTANCENAMESTART = 366,
00186 INSTANCENAMEEND = 367,
00187 INSTANCELOCATIONSTART = 368,
00188 INSTANCELOCATIONEND = 369,
00189 JOBIDSTART = 370,
00190 JOBIDEND = 371,
00191 SOLVERTOINVOKESTART = 372,
00192 SOLVERTOINVOKEEND = 373,
00193 LICENSESTART = 374,
00194 LICENSEEND = 375,
00195 USERNAMESTART = 376,
00196 USERNAMEEND = 377,
00197 PASSWORDSTART = 378,
00198 PASSWORDEND = 379,
00199 CONTACTSTART = 380,
00200 CONTACTEND = 381,
00201 OTHEROPTIONSSTART = 382,
00202 OTHEROPTIONSEND = 383,
00203 OTHERSTART = 384,
00204 OTHEREND = 385,
00205 MINDISKSPACESTART = 386,
00206 MINDISKSPACEEND = 387,
00207 MINMEMORYSTART = 388,
00208 MINMEMORYEND = 389,
00209 MINCPUSPEEDSTART = 390,
00210 MINCPUSPEEDEND = 391,
00211 MINCPUNUMBERSTART = 392,
00212 MINCPUNUMBEREND = 393,
00213 SERVICETYPESTART = 394,
00214 SERVICETYPEEND = 395,
00215 MAXTIMESTART = 396,
00216 MAXTIMEEND = 397,
00217 REQUESTEDSTARTTIMESTART = 398,
00218 REQUESTEDSTARTTIMEEND = 399,
00219 DEPENDENCIESSTART = 400,
00220 DEPENDENCIESEND = 401,
00221 REQUIREDDIRECTORIESSTART = 402,
00222 REQUIREDDIRECTORIESEND = 403,
00223 REQUIREDFILESSTART = 404,
00224 REQUIREDFILESEND = 405,
00225 PATHSTART = 406,
00226 PATHEND = 407,
00227 PATHPAIRSTART = 408,
00228 PATHPAIREND = 409,
00229 DIRECTORIESTOMAKESTART = 410,
00230 DIRECTORIESTOMAKEEND = 411,
00231 FILESTOMAKESTART = 412,
00232 FILESTOMAKEEND = 413,
00233 DIRECTORIESTODELETESTART = 414,
00234 DIRECTORIESTODELETEEND = 415,
00235 FILESTODELETESTART = 416,
00236 FILESTODELETEEND = 417,
00237 INPUTDIRECTORIESTOMOVESTART = 418,
00238 INPUTDIRECTORIESTOMOVEEND = 419,
00239 INPUTFILESTOMOVESTART = 420,
00240 INPUTFILESTOMOVEEND = 421,
00241 OUTPUTDIRECTORIESTOMOVESTART = 422,
00242 OUTPUTDIRECTORIESTOMOVEEND = 423,
00243 OUTPUTFILESTOMOVESTART = 424,
00244 OUTPUTFILESTOMOVEEND = 425,
00245 PROCESSESTOKILLSTART = 426,
00246 PROCESSESTOKILLEND = 427,
00247 PROCESSSTART = 428,
00248 PROCESSEND = 429,
00249 VARIABLESSTART = 430,
00250 VARIABLESEND = 431,
00251 INITIALVARIABLEVALUESSTART = 432,
00252 INITIALVARIABLEVALUESEND = 433,
00253 VARSTART = 434,
00254 VAREND = 435,
00255 INITIALVARIABLEVALUESSTRINGSTART = 436,
00256 INITIALVARIABLEVALUESSTRINGEND = 437,
00257 INITIALBASISSTATUSSTART = 438,
00258 INITIALBASISSTATUSEND = 439,
00259 BASICSTART = 440,
00260 BASICEND = 441,
00261 ATUPPERSTART = 442,
00262 ATUPPEREND = 443,
00263 ATLOWERSTART = 444,
00264 ATLOWEREND = 445,
00265 ATEQUALITYSTART = 446,
00266 ATEQUALITYEND = 447,
00267 SUPERBASICSTART = 448,
00268 SUPERBASICEND = 449,
00269 ISFREESTART = 450,
00270 ISFREEEND = 451,
00271 UNKNOWNSTART = 452,
00272 UNKNOWNEND = 453,
00273 INTEGERVARIABLEBRANCHINGWEIGHTSSTART = 454,
00274 INTEGERVARIABLEBRANCHINGWEIGHTSEND = 455,
00275 SOSVARIABLEBRANCHINGWEIGHTSSTART = 456,
00276 SOSVARIABLEBRANCHINGWEIGHTSEND = 457,
00277 SOSSTART = 458,
00278 SOSEND = 459,
00279 OBJECTIVESSTART = 460,
00280 OBJECTIVESEND = 461,
00281 INITIALOBJECTIVEVALUESSTART = 462,
00282 INITIALOBJECTIVEVALUESEND = 463,
00283 OBJSTART = 464,
00284 OBJEND = 465,
00285 INITIALOBJECTIVEBOUNDSSTART = 466,
00286 INITIALOBJECTIVEBOUNDSEND = 467,
00287 CONSTRAINTSSTART = 468,
00288 CONSTRAINTSEND = 469,
00289 INITIALCONSTRAINTVALUESSTART = 470,
00290 INITIALCONSTRAINTVALUESEND = 471,
00291 CONSTART = 472,
00292 CONEND = 473,
00293 INITIALDUALVALUESSTART = 474,
00294 INITIALDUALVALUESEND = 475,
00295 SOLVEROPTIONSSTART = 476,
00296 SOLVEROPTIONSEND = 477,
00297 SOLVEROPTIONSTART = 478,
00298 SOLVEROPTIONEND = 479,
00299 ENUMERATIONSTART = 480,
00300 ENUMERATIONEND = 481,
00301 ITEMEMPTY = 482,
00302 ITEMSTART = 483,
00303 ITEMEND = 484,
00304 ITEMSTARTANDEND = 485,
00305 BASE64START = 486,
00306 BASE64END = 487,
00307 INCRATT = 488,
00308 MULTATT = 489,
00309 SIZEOFATT = 490,
00310 ELSTART = 491,
00311 ELEND = 492,
00312 DUMMY = 493
00313 };
00314 #endif
00315
00316 #define ATTRIBUTETEXT 258
00317 #define ELEMENTTEXT 259
00318 #define ITEMTEXT 260
00319 #define INTEGER 261
00320 #define DOUBLE 262
00321 #define QUOTE 263
00322 #define TWOQUOTES 264
00323 #define GREATERTHAN 265
00324 #define ENDOFELEMENT 266
00325 #define OSOLSTART 267
00326 #define OSOLSTARTEMPTY 268
00327 #define OSOLATTRIBUTETEXT 269
00328 #define OSOLEND 270
00329 #define NUMBEROFOTHEROPTIONSATT 271
00330 #define NUMBEROFENUMERATIONSATT 272
00331 #define NUMBEROFJOBIDSATT 273
00332 #define NUMBEROFPATHSATT 274
00333 #define NUMBEROFPATHPAIRSATT 275
00334 #define FROMATT 276
00335 #define TOATT 277
00336 #define MAKECOPYATT 278
00337 #define CATEGORYATT 279
00338 #define TYPEATT 280
00339 #define GROUPWEIGHTATT 281
00340 #define NUMBEROFPROCESSESATT 282
00341 #define NUMBEROFSOLVEROPTIONSATT 283
00342 #define NUMBEROFSOSATT 284
00343 #define NUMBEROFVARIABLESATT 285
00344 #define NUMBEROFOBJECTIVESATT 286
00345 #define NUMBEROFCONSTRAINTSATT 287
00346 #define NUMBEROFOTHERVARIABLEOPTIONSATT 288
00347 #define NUMBEROFOTHEROBJECTIVEOPTIONSATT 289
00348 #define NUMBEROFOTHERCONSTRAINTOPTIONSATT 290
00349 #define NUMBEROFITEMSATT 291
00350 #define NUMBEROFVARATT 292
00351 #define NUMBEROFOBJATT 293
00352 #define NUMBEROFCONATT 294
00353 #define NUMBEROFELATT 295
00354 #define NAMEATT 296
00355 #define IDXATT 297
00356 #define SOSIDXATT 298
00357 #define VALUEATT 299
00358 #define UNITATT 300
00359 #define DESCRIPTIONATT 301
00360 #define CONTYPEATT 302
00361 #define EMPTYCONTYPEATT 303
00362 #define ENUMTYPEATT 304
00363 #define EMPTYENUMTYPEATT 305
00364 #define OBJTYPEATT 306
00365 #define EMPTYOBJTYPEATT 307
00366 #define VARTYPEATT 308
00367 #define EMPTYVARTYPEATT 309
00368 #define EMPTYTYPEATT 310
00369 #define EMPTYNAMEATT 311
00370 #define EMPTYCATEGORYATT 312
00371 #define EMPTYDESCRIPTIONATT 313
00372 #define EMPTYUNITATT 314
00373 #define EMPTYVALUEATT 315
00374 #define EMPTYLBVALUEATT 316
00375 #define EMPTYUBVALUEATT 317
00376 #define LBVALUEATT 318
00377 #define UBVALUEATT 319
00378 #define EMPTYLBDUALVALUEATT 320
00379 #define EMPTYUBDUALVALUEATT 321
00380 #define LBDUALVALUEATT 322
00381 #define UBDUALVALUEATT 323
00382 #define SOLVERATT 324
00383 #define EMPTYSOLVERATT 325
00384 #define WEIGHTATT 326
00385 #define EMPTYWEIGHTATT 327
00386 #define TRANSPORTTYPEATT 328
00387 #define LOCATIONTYPEATT 329
00388 #define HEADERSTART 330
00389 #define HEADEREND 331
00390 #define GENERALSTART 332
00391 #define GENERALEND 333
00392 #define SYSTEMSTART 334
00393 #define SYSTEMEND 335
00394 #define SERVICESTART 336
00395 #define SERVICEEND 337
00396 #define JOBSTART 338
00397 #define JOBEND 339
00398 #define OPTIMIZATIONSTART 340
00399 #define OPTIMIZATIONEND 341
00400 #define FILENAMESTART 342
00401 #define FILENAMEEND 343
00402 #define FILENAMEEMPTY 344
00403 #define FILENAMESTARTANDEND 345
00404 #define FILESOURCESTART 346
00405 #define FILESOURCEEND 347
00406 #define FILESOURCEEMPTY 348
00407 #define FILESOURCESTARTANDEND 349
00408 #define FILEDESCRIPTIONSTART 350
00409 #define FILEDESCRIPTIONEND 351
00410 #define FILEDESCRIPTIONEMPTY 352
00411 #define FILEDESCRIPTIONSTARTANDEND 353
00412 #define FILECREATORSTART 354
00413 #define FILECREATOREND 355
00414 #define FILECREATOREMPTY 356
00415 #define FILECREATORSTARTANDEND 357
00416 #define FILELICENCESTART 358
00417 #define FILELICENCEEND 359
00418 #define FILELICENCEEMPTY 360
00419 #define FILELICENCESTARTANDEND 361
00420 #define SERVICEURISTART 362
00421 #define SERVICEURIEND 363
00422 #define SERVICENAMESTART 364
00423 #define SERVICENAMEEND 365
00424 #define INSTANCENAMESTART 366
00425 #define INSTANCENAMEEND 367
00426 #define INSTANCELOCATIONSTART 368
00427 #define INSTANCELOCATIONEND 369
00428 #define JOBIDSTART 370
00429 #define JOBIDEND 371
00430 #define SOLVERTOINVOKESTART 372
00431 #define SOLVERTOINVOKEEND 373
00432 #define LICENSESTART 374
00433 #define LICENSEEND 375
00434 #define USERNAMESTART 376
00435 #define USERNAMEEND 377
00436 #define PASSWORDSTART 378
00437 #define PASSWORDEND 379
00438 #define CONTACTSTART 380
00439 #define CONTACTEND 381
00440 #define OTHEROPTIONSSTART 382
00441 #define OTHEROPTIONSEND 383
00442 #define OTHERSTART 384
00443 #define OTHEREND 385
00444 #define MINDISKSPACESTART 386
00445 #define MINDISKSPACEEND 387
00446 #define MINMEMORYSTART 388
00447 #define MINMEMORYEND 389
00448 #define MINCPUSPEEDSTART 390
00449 #define MINCPUSPEEDEND 391
00450 #define MINCPUNUMBERSTART 392
00451 #define MINCPUNUMBEREND 393
00452 #define SERVICETYPESTART 394
00453 #define SERVICETYPEEND 395
00454 #define MAXTIMESTART 396
00455 #define MAXTIMEEND 397
00456 #define REQUESTEDSTARTTIMESTART 398
00457 #define REQUESTEDSTARTTIMEEND 399
00458 #define DEPENDENCIESSTART 400
00459 #define DEPENDENCIESEND 401
00460 #define REQUIREDDIRECTORIESSTART 402
00461 #define REQUIREDDIRECTORIESEND 403
00462 #define REQUIREDFILESSTART 404
00463 #define REQUIREDFILESEND 405
00464 #define PATHSTART 406
00465 #define PATHEND 407
00466 #define PATHPAIRSTART 408
00467 #define PATHPAIREND 409
00468 #define DIRECTORIESTOMAKESTART 410
00469 #define DIRECTORIESTOMAKEEND 411
00470 #define FILESTOMAKESTART 412
00471 #define FILESTOMAKEEND 413
00472 #define DIRECTORIESTODELETESTART 414
00473 #define DIRECTORIESTODELETEEND 415
00474 #define FILESTODELETESTART 416
00475 #define FILESTODELETEEND 417
00476 #define INPUTDIRECTORIESTOMOVESTART 418
00477 #define INPUTDIRECTORIESTOMOVEEND 419
00478 #define INPUTFILESTOMOVESTART 420
00479 #define INPUTFILESTOMOVEEND 421
00480 #define OUTPUTDIRECTORIESTOMOVESTART 422
00481 #define OUTPUTDIRECTORIESTOMOVEEND 423
00482 #define OUTPUTFILESTOMOVESTART 424
00483 #define OUTPUTFILESTOMOVEEND 425
00484 #define PROCESSESTOKILLSTART 426
00485 #define PROCESSESTOKILLEND 427
00486 #define PROCESSSTART 428
00487 #define PROCESSEND 429
00488 #define VARIABLESSTART 430
00489 #define VARIABLESEND 431
00490 #define INITIALVARIABLEVALUESSTART 432
00491 #define INITIALVARIABLEVALUESEND 433
00492 #define VARSTART 434
00493 #define VAREND 435
00494 #define INITIALVARIABLEVALUESSTRINGSTART 436
00495 #define INITIALVARIABLEVALUESSTRINGEND 437
00496 #define INITIALBASISSTATUSSTART 438
00497 #define INITIALBASISSTATUSEND 439
00498 #define BASICSTART 440
00499 #define BASICEND 441
00500 #define ATUPPERSTART 442
00501 #define ATUPPEREND 443
00502 #define ATLOWERSTART 444
00503 #define ATLOWEREND 445
00504 #define ATEQUALITYSTART 446
00505 #define ATEQUALITYEND 447
00506 #define SUPERBASICSTART 448
00507 #define SUPERBASICEND 449
00508 #define ISFREESTART 450
00509 #define ISFREEEND 451
00510 #define UNKNOWNSTART 452
00511 #define UNKNOWNEND 453
00512 #define INTEGERVARIABLEBRANCHINGWEIGHTSSTART 454
00513 #define INTEGERVARIABLEBRANCHINGWEIGHTSEND 455
00514 #define SOSVARIABLEBRANCHINGWEIGHTSSTART 456
00515 #define SOSVARIABLEBRANCHINGWEIGHTSEND 457
00516 #define SOSSTART 458
00517 #define SOSEND 459
00518 #define OBJECTIVESSTART 460
00519 #define OBJECTIVESEND 461
00520 #define INITIALOBJECTIVEVALUESSTART 462
00521 #define INITIALOBJECTIVEVALUESEND 463
00522 #define OBJSTART 464
00523 #define OBJEND 465
00524 #define INITIALOBJECTIVEBOUNDSSTART 466
00525 #define INITIALOBJECTIVEBOUNDSEND 467
00526 #define CONSTRAINTSSTART 468
00527 #define CONSTRAINTSEND 469
00528 #define INITIALCONSTRAINTVALUESSTART 470
00529 #define INITIALCONSTRAINTVALUESEND 471
00530 #define CONSTART 472
00531 #define CONEND 473
00532 #define INITIALDUALVALUESSTART 474
00533 #define INITIALDUALVALUESEND 475
00534 #define SOLVEROPTIONSSTART 476
00535 #define SOLVEROPTIONSEND 477
00536 #define SOLVEROPTIONSTART 478
00537 #define SOLVEROPTIONEND 479
00538 #define ENUMERATIONSTART 480
00539 #define ENUMERATIONEND 481
00540 #define ITEMEMPTY 482
00541 #define ITEMSTART 483
00542 #define ITEMEND 484
00543 #define ITEMSTARTANDEND 485
00544 #define BASE64START 486
00545 #define BASE64END 487
00546 #define INCRATT 488
00547 #define MULTATT 489
00548 #define SIZEOFATT 490
00549 #define ELSTART 491
00550 #define ELEND 492
00551 #define DUMMY 493
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561 #include "OSMathUtil.h"
00562 #include "OSParameters.h"
00563 #include "OSGeneral.h"
00564 #include "OSConfig.h"
00565 #include "OSErrorClass.h"
00566 #include "OSOption.h"
00567 #include "OSoLParserData.h"
00568 #include "OSgLParserData.h"
00569 #include "OSBase64.h"
00570
00571 #include <iostream>
00572 #include <sstream>
00573 #include <cstdio>
00574 #include <cstring>
00575
00576
00577
00578 #ifdef DEBUG
00579 #define YYDEBUG 1
00580 #endif
00581
00582 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00583 YY_BUFFER_STATE osol_scan_string (const char *yy_str , void* yyscanner );
00584 int osollex_init(void** ptr_yy_globals);
00585 int osollex_destroy (void* yyscanner );
00586 int osolget_lineno( void* yyscanner);
00587 char *osolget_text (void* yyscanner );
00588 void osolset_lineno (int line_number , void* yyscanner );
00589 void osolset_extra (OSoLParserData* parserData , void* yyscanner );
00590 void yygetOSOption(const char *ch, OSOption* m_osoption, OSoLParserData *m_parserData, OSgLParserData *osglData ) throw(ErrorClass);
00591 void osol_empty_vectors( OSoLParserData* parserData);
00592 void osgl_empty_vectors( OSgLParserData* osglData);
00593
00594
00595
00596
00597
00598
00599 #ifndef YYDEBUG
00600 # define YYDEBUG 0
00601 #endif
00602
00603
00604 #ifdef YYERROR_VERBOSE
00605 # undef YYERROR_VERBOSE
00606 # define YYERROR_VERBOSE 1
00607 #else
00608 # define YYERROR_VERBOSE 0
00609 #endif
00610
00611
00612 #ifndef YYTOKEN_TABLE
00613 # define YYTOKEN_TABLE 0
00614 #endif
00615
00616 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00617 typedef union YYSTYPE
00618
00619 {
00620 double dval;
00621 int ival;
00622 char* sval;
00623 }
00624
00625
00626 YYSTYPE;
00627 # define yystype YYSTYPE
00628 # define YYSTYPE_IS_DECLARED 1
00629 # define YYSTYPE_IS_TRIVIAL 1
00630 #endif
00631
00632 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
00633 typedef struct YYLTYPE
00634 {
00635 int first_line;
00636 int first_column;
00637 int last_line;
00638 int last_column;
00639 } YYLTYPE;
00640 # define yyltype YYLTYPE
00641 # define YYLTYPE_IS_DECLARED 1
00642 # define YYLTYPE_IS_TRIVIAL 1
00643 #endif
00644
00645
00646
00647
00648
00649
00650 std::string addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, const char* errormsg ) ;
00651 void osolerror(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, std::string errormsg );
00652
00653 int osollex(YYSTYPE* lvalp, YYLTYPE* llocp, void* scanner);
00654 std::string osol_errmsg;
00655 bool suppressFurtherErrorMessages;
00656 bool ignoreDataAfterErrors;
00657
00658 #define scanner parserData->scanner
00659
00660
00661
00662
00663
00664 #ifdef short
00665 # undef short
00666 #endif
00667
00668 #ifdef YYTYPE_UINT8
00669 typedef YYTYPE_UINT8 yytype_uint8;
00670 #else
00671 typedef unsigned char yytype_uint8;
00672 #endif
00673
00674 #ifdef YYTYPE_INT8
00675 typedef YYTYPE_INT8 yytype_int8;
00676 #elif (defined __STDC__ || defined __C99__FUNC__ \
00677 || defined __cplusplus || defined _MSC_VER)
00678 typedef signed char yytype_int8;
00679 #else
00680 typedef short int yytype_int8;
00681 #endif
00682
00683 #ifdef YYTYPE_UINT16
00684 typedef YYTYPE_UINT16 yytype_uint16;
00685 #else
00686 typedef unsigned short int yytype_uint16;
00687 #endif
00688
00689 #ifdef YYTYPE_INT16
00690 typedef YYTYPE_INT16 yytype_int16;
00691 #else
00692 typedef short int yytype_int16;
00693 #endif
00694
00695 #ifndef YYSIZE_T
00696 # ifdef __SIZE_TYPE__
00697 # define YYSIZE_T __SIZE_TYPE__
00698 # elif defined size_t
00699 # define YYSIZE_T size_t
00700 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
00701 || defined __cplusplus || defined _MSC_VER)
00702 # include <stddef.h>
00703 # define YYSIZE_T size_t
00704 # else
00705 # define YYSIZE_T unsigned int
00706 # endif
00707 #endif
00708
00709 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
00710
00711 #ifndef YY_
00712 # if defined YYENABLE_NLS && YYENABLE_NLS
00713 # if ENABLE_NLS
00714 # include <libintl.h>
00715 # define YY_(msgid) dgettext ("bison-runtime", msgid)
00716 # endif
00717 # endif
00718 # ifndef YY_
00719 # define YY_(msgid) msgid
00720 # endif
00721 #endif
00722
00723
00724 #if ! defined lint || defined __GNUC__
00725 # define YYUSE(e) ((void) (e))
00726 #else
00727 # define YYUSE(e)
00728 #endif
00729
00730
00731 #ifndef lint
00732 # define YYID(n) (n)
00733 #else
00734 #if (defined __STDC__ || defined __C99__FUNC__ \
00735 || defined __cplusplus || defined _MSC_VER)
00736 static int
00737 YYID (int i)
00738 #else
00739 static int
00740 YYID (i)
00741 int i;
00742 #endif
00743 {
00744 return i;
00745 }
00746 #endif
00747
00748 #if ! defined yyoverflow || YYERROR_VERBOSE
00749
00750
00751
00752 # ifdef YYSTACK_USE_ALLOCA
00753 # if YYSTACK_USE_ALLOCA
00754 # ifdef __GNUC__
00755 # define YYSTACK_ALLOC __builtin_alloca
00756 # elif defined __BUILTIN_VA_ARG_INCR
00757 # include <alloca.h>
00758 # elif defined _AIX
00759 # define YYSTACK_ALLOC __alloca
00760 # elif defined _MSC_VER
00761 # include <malloc.h>
00762 # define alloca _alloca
00763 # else
00764 # define YYSTACK_ALLOC alloca
00765 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00766 || defined __cplusplus || defined _MSC_VER)
00767 # include <stdlib.h>
00768 # ifndef _STDLIB_H
00769 # define _STDLIB_H 1
00770 # endif
00771 # endif
00772 # endif
00773 # endif
00774 # endif
00775
00776 # ifdef YYSTACK_ALLOC
00777
00778 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
00779 # ifndef YYSTACK_ALLOC_MAXIMUM
00780
00781
00782
00783
00784 # define YYSTACK_ALLOC_MAXIMUM 4032
00785 # endif
00786 # else
00787 # define YYSTACK_ALLOC YYMALLOC
00788 # define YYSTACK_FREE YYFREE
00789 # ifndef YYSTACK_ALLOC_MAXIMUM
00790 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
00791 # endif
00792 # if (defined __cplusplus && ! defined _STDLIB_H \
00793 && ! ((defined YYMALLOC || defined malloc) \
00794 && (defined YYFREE || defined free)))
00795 # include <stdlib.h>
00796 # ifndef _STDLIB_H
00797 # define _STDLIB_H 1
00798 # endif
00799 # endif
00800 # ifndef YYMALLOC
00801 # define YYMALLOC malloc
00802 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00803 || defined __cplusplus || defined _MSC_VER)
00804 void *malloc (YYSIZE_T);
00805 # endif
00806 # endif
00807 # ifndef YYFREE
00808 # define YYFREE free
00809 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00810 || defined __cplusplus || defined _MSC_VER)
00811 void free (void *);
00812 # endif
00813 # endif
00814 # endif
00815 #endif
00816
00817
00818 #if (! defined yyoverflow \
00819 && (! defined __cplusplus \
00820 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
00821 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
00822
00823
00824 union yyalloc
00825 {
00826 yytype_int16 yyss;
00827 YYSTYPE yyvs;
00828 YYLTYPE yyls;
00829 };
00830
00831
00832 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00833
00834
00835
00836 # define YYSTACK_BYTES(N) \
00837 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
00838 + 2 * YYSTACK_GAP_MAXIMUM)
00839
00840
00841
00842 # ifndef YYCOPY
00843 # if defined __GNUC__ && 1 < __GNUC__
00844 # define YYCOPY(To, From, Count) \
00845 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00846 # else
00847 # define YYCOPY(To, From, Count) \
00848 do \
00849 { \
00850 YYSIZE_T yyi; \
00851 for (yyi = 0; yyi < (Count); yyi++) \
00852 (To)[yyi] = (From)[yyi]; \
00853 } \
00854 while (YYID (0))
00855 # endif
00856 # endif
00857
00858
00859
00860
00861
00862
00863 # define YYSTACK_RELOCATE(Stack) \
00864 do \
00865 { \
00866 YYSIZE_T yynewbytes; \
00867 YYCOPY (&yyptr->Stack, Stack, yysize); \
00868 Stack = &yyptr->Stack; \
00869 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00870 yyptr += yynewbytes / sizeof (*yyptr); \
00871 } \
00872 while (YYID (0))
00873
00874 #endif
00875
00876
00877 #define YYFINAL 6
00878
00879 #define YYLAST 1283
00880
00881
00882 #define YYNTOKENS 243
00883
00884 #define YYNNTS 830
00885
00886 #define YYNRULES 1234
00887
00888 #define YYNSTATES 1695
00889
00890
00891 #define YYUNDEFTOK 2
00892 #define YYMAXUTOK 493
00893
00894 #define YYTRANSLATE(YYX) \
00895 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00896
00897
00898 static const yytype_uint8 yytranslate[] =
00899 {
00900 0, 2, 2, 2, 2, 2, 2, 2, 2, 240,
00901 242, 2, 2, 241, 2, 2, 2, 2, 2, 2,
00902 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00903 2, 2, 239, 2, 2, 2, 2, 2, 2, 2,
00904 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00910 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00925 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
00926 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
00927 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
00928 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
00929 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
00930 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
00931 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
00932 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
00933 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
00934 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
00935 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
00936 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
00937 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
00938 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
00939 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
00940 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
00941 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
00942 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
00943 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
00944 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
00945 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
00946 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
00947 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
00948 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
00949 235, 236, 237, 238
00950 };
00951
00952 #if YYDEBUG
00953
00954
00955 static const yytype_uint16 yyprhs[] =
00956 {
00957 0, 0, 3, 7, 11, 13, 15, 16, 18, 20,
00958 22, 24, 28, 30, 32, 33, 40, 41, 44, 46,
00959 48, 50, 53, 55, 59, 61, 63, 66, 68, 70,
00960 72, 74, 76, 78, 80, 82, 84, 86, 90, 92,
00961 94, 96, 98, 100, 104, 106, 108, 110, 112, 114,
00962 118, 120, 122, 124, 126, 128, 132, 134, 136, 138,
00963 140, 142, 146, 147, 150, 152, 154, 156, 159, 161,
00964 165, 167, 169, 172, 174, 176, 178, 180, 182, 184,
00965 186, 188, 190, 192, 194, 197, 199, 201, 203, 206,
00966 208, 212, 214, 217, 219, 221, 223, 226, 228, 232,
00967 234, 237, 239, 241, 243, 246, 248, 252, 254, 258,
00968 260, 261, 263, 267, 269, 271, 274, 276, 280, 282,
00969 285, 287, 289, 291, 294, 296, 300, 302, 305, 307,
00970 309, 311, 314, 316, 320, 322, 325, 327, 329, 331,
00971 334, 336, 340, 342, 345, 347, 349, 351, 354, 356,
00972 360, 362, 365, 367, 369, 371, 374, 376, 380, 382,
00973 386, 388, 389, 391, 395, 397, 399, 402, 404, 408,
00974 410, 414, 416, 418, 420, 422, 425, 427, 431, 433,
00975 435, 438, 442, 444, 446, 447, 450, 452, 454, 456,
00976 459, 461, 462, 465, 467, 469, 471, 474, 476, 480,
00977 482, 484, 487, 489, 491, 493, 495, 497, 501, 503,
00978 505, 506, 509, 511, 513, 517, 519, 523, 525, 527,
00979 528, 531, 533, 535, 539, 541, 545, 547, 549, 550,
00980 553, 555, 557, 561, 563, 567, 569, 570, 572, 576,
00981 578, 582, 584, 586, 588, 590, 593, 595, 599, 601,
00982 603, 606, 610, 612, 614, 615, 618, 620, 622, 624,
00983 627, 629, 630, 633, 635, 637, 639, 642, 644, 648,
00984 650, 652, 655, 657, 659, 662, 664, 666, 668, 671,
00985 673, 677, 679, 683, 685, 687, 689, 691, 694, 696,
00986 700, 702, 704, 707, 711, 713, 715, 716, 719, 721,
00987 723, 725, 728, 730, 731, 734, 736, 738, 740, 743,
00988 745, 749, 751, 753, 756, 758, 760, 762, 764, 766,
00989 768, 770, 772, 774, 776, 778, 780, 782, 784, 786,
00990 790, 792, 793, 795, 797, 799, 802, 804, 808, 810,
00991 812, 815, 817, 819, 821, 824, 826, 830, 832, 836,
00992 838, 840, 842, 844, 847, 849, 853, 855, 858, 863,
00993 867, 869, 871, 873, 876, 878, 882, 886, 888, 890,
00994 892, 895, 897, 901, 905, 907, 909, 911, 914, 916,
00995 920, 924, 926, 928, 930, 933, 935, 939, 943, 945,
00996 947, 949, 951, 954, 956, 960, 962, 965, 967, 971,
00997 973, 975, 977, 979, 982, 984, 988, 990, 993, 995,
00998 999, 1001, 1003, 1005, 1007, 1010, 1012, 1016, 1018, 1021,
00999 1023, 1027, 1029, 1031, 1033, 1035, 1038, 1040, 1044, 1046,
01000 1049, 1051, 1055, 1057, 1059, 1061, 1063, 1066, 1068, 1072,
01001 1076, 1078, 1080, 1082, 1084, 1087, 1089, 1093, 1097, 1099,
01002 1101, 1103, 1105, 1108, 1110, 1114, 1116, 1119, 1124, 1128,
01003 1130, 1132, 1134, 1136, 1139, 1141, 1145, 1147, 1149, 1152,
01004 1156, 1158, 1160, 1161, 1164, 1166, 1168, 1170, 1173, 1175,
01005 1176, 1180, 1182, 1184, 1185, 1188, 1190, 1192, 1194, 1196,
01006 1198, 1200, 1204, 1209, 1210, 1214, 1216, 1218, 1219, 1221,
01007 1223, 1225, 1227, 1231, 1238, 1239, 1243, 1245, 1247, 1249,
01008 1251, 1254, 1256, 1260, 1262, 1264, 1267, 1271, 1273, 1275,
01009 1276, 1279, 1281, 1283, 1285, 1288, 1290, 1291, 1295, 1297,
01010 1299, 1301, 1303, 1306, 1308, 1312, 1314, 1316, 1319, 1323,
01011 1325, 1327, 1328, 1331, 1333, 1335, 1337, 1340, 1342, 1343,
01012 1346, 1348, 1350, 1352, 1354, 1358, 1366, 1367, 1371, 1373,
01013 1375, 1377, 1379, 1381, 1385, 1387, 1388, 1392, 1394, 1396,
01014 1398, 1400, 1402, 1406, 1408, 1409, 1413, 1415, 1417, 1419,
01015 1421, 1423, 1427, 1429, 1430, 1434, 1436, 1438, 1440, 1442,
01016 1444, 1448, 1450, 1451, 1455, 1457, 1459, 1461, 1463, 1465,
01017 1469, 1471, 1472, 1476, 1478, 1480, 1482, 1484, 1486, 1490,
01018 1492, 1493, 1497, 1499, 1501, 1503, 1505, 1507, 1511, 1513,
01019 1514, 1518, 1520, 1522, 1524, 1526, 1529, 1531, 1535, 1537,
01020 1539, 1542, 1546, 1548, 1550, 1551, 1554, 1556, 1558, 1560,
01021 1563, 1565, 1566, 1570, 1572, 1577, 1579, 1581, 1584, 1586,
01022 1590, 1592, 1595, 1599, 1601, 1603, 1604, 1607, 1609, 1611,
01023 1613, 1615, 1617, 1620, 1622, 1626, 1627, 1630, 1634, 1636,
01024 1638, 1639, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656,
01025 1658, 1660, 1662, 1664, 1666, 1669, 1671, 1675, 1677, 1679,
01026 1681, 1684, 1688, 1690, 1692, 1693, 1696, 1698, 1700, 1702,
01027 1704, 1706, 1708, 1711, 1713, 1714, 1718, 1720, 1722, 1723,
01028 1725, 1727, 1729, 1731, 1735, 1740, 1741, 1745, 1747, 1749,
01029 1751, 1753, 1756, 1758, 1762, 1764, 1766, 1769, 1773, 1775,
01030 1777, 1778, 1781, 1783, 1785, 1787, 1790, 1792, 1793, 1797,
01031 1799, 1801, 1803, 1805, 1808, 1810, 1814, 1816, 1818, 1821,
01032 1825, 1827, 1829, 1830, 1833, 1835, 1837, 1839, 1841, 1844,
01033 1846, 1847, 1850, 1852, 1854, 1856, 1858, 1862, 1870, 1871,
01034 1875, 1877, 1879, 1881, 1883, 1885, 1889, 1891, 1892, 1896,
01035 1898, 1900, 1902, 1904, 1906, 1910, 1912, 1913, 1917, 1919,
01036 1921, 1923, 1925, 1927, 1931, 1933, 1934, 1938, 1940, 1942,
01037 1944, 1946, 1948, 1952, 1954, 1955, 1959, 1961, 1963, 1965,
01038 1967, 1969, 1973, 1975, 1976, 1980, 1982, 1984, 1986, 1988,
01039 1990, 1994, 1996, 1997, 2001, 2003, 2005, 2007, 2009, 2011,
01040 2015, 2017, 2018, 2021, 2025, 2027, 2029, 2030, 2033, 2035,
01041 2037, 2039, 2041, 2043, 2045, 2047, 2049, 2051, 2053, 2055,
01042 2057, 2060, 2062, 2066, 2068, 2070, 2072, 2075, 2079, 2081,
01043 2083, 2084, 2087, 2089, 2091, 2093, 2095, 2097, 2099, 2102,
01044 2104, 2105, 2109, 2111, 2113, 2114, 2116, 2118, 2120, 2122,
01045 2126, 2131, 2132, 2136, 2138, 2140, 2142, 2144, 2147, 2149,
01046 2153, 2155, 2157, 2160, 2164, 2166, 2168, 2169, 2172, 2174,
01047 2176, 2178, 2181, 2183, 2184, 2188, 2190, 2192, 2194, 2196,
01048 2199, 2201, 2205, 2207, 2209, 2212, 2216, 2218, 2220, 2221,
01049 2224, 2226, 2228, 2230, 2232, 2235, 2237, 2238, 2241, 2243,
01050 2245, 2247, 2249, 2253, 2261, 2262, 2266, 2268, 2270, 2272,
01051 2274, 2276, 2280, 2282, 2283, 2287, 2289, 2291, 2293, 2295,
01052 2297, 2301, 2303, 2304, 2308, 2310, 2312, 2314, 2316, 2318,
01053 2322, 2324, 2325, 2329, 2331, 2333, 2335, 2337, 2339, 2343,
01054 2345, 2346, 2350, 2352, 2354, 2356, 2358, 2360, 2364, 2366,
01055 2367, 2371, 2373, 2375, 2377, 2379, 2381, 2385, 2387, 2388,
01056 2392, 2394, 2396, 2398, 2400, 2402, 2406, 2408, 2409, 2412,
01057 2416, 2418, 2420, 2421, 2424, 2426, 2428, 2430, 2432, 2434,
01058 2436, 2438, 2440, 2442, 2444, 2446, 2448, 2451, 2453, 2457,
01059 2459, 2461, 2463, 2466, 2470, 2472, 2474, 2475, 2478, 2480,
01060 2482, 2484, 2486, 2488, 2490, 2493, 2495, 2496, 2500, 2502,
01061 2504, 2506, 2508, 2510, 2514, 2515, 2518, 2522, 2524, 2526,
01062 2528, 2531, 2533, 2535, 2537, 2539, 2541, 2543, 2545, 2547,
01063 2549, 2552, 2554, 2558, 2560, 2562, 2565, 2567, 2569, 2571,
01064 2573, 2575, 2579, 2581, 2583, 2586, 2591, 2595, 2597, 2599,
01065 2600, 2603, 2605, 2607, 2609, 2613, 2617, 2621, 2624, 2626,
01066 2628, 2630, 2632, 2634, 2638, 2640, 2642, 2644, 2646, 2650,
01067 2652, 2654, 2656, 2658, 2662, 2664, 2666, 2668, 2670, 2674,
01068 2676, 2681, 2683, 2685, 2690, 2692, 2694, 2696, 2698, 2702,
01069 2704, 2706, 2708, 2710, 2715, 2717, 2719, 2721, 2723, 2727,
01070 2729, 2731, 2733, 2735, 2739, 2741, 2743, 2745, 2747, 2751,
01071 2753, 2755, 2760, 2762, 2764, 2766, 2768, 2772, 2774, 2776,
01072 2778, 2780, 2784, 2786, 2788, 2790, 2792, 2797, 2799, 2801,
01073 2803, 2805, 2809, 2811, 2813, 2815, 2817, 2821, 2823, 2825,
01074 2827, 2829, 2833, 2838, 2843, 2848, 2853, 2858, 2863, 2868,
01075 2873, 2878, 2883, 2888, 2893, 2898, 2903, 2908, 2913, 2918,
01076 2923, 2925, 2928, 2932, 2934, 2936, 2937, 2940, 2942, 2944,
01077 2946, 2948, 2950, 2952, 2956, 2958, 2960, 2962, 2963, 2966,
01078 2970, 2972, 2974, 2975, 2978, 2980, 2982, 2986, 2990, 2995,
01079 2997, 2999, 3002, 3004, 3008, 3013, 3018, 3020, 3022, 3025,
01080 3026, 3029, 3031, 3033, 3035
01081 };
01082
01083
01084 static const yytype_int16 yyrhs[] =
01085 {
01086 244, 0, -1, 245, 253, 251, -1, 246, 247, 248,
01087 -1, 13, -1, 12, -1, -1, 14, -1, 249, -1,
01088 250, -1, 11, -1, 10, 253, 251, -1, 252, -1,
01089 15, -1, -1, 254, 282, 368, 416, 444, 560, -1,
01090 -1, 255, 256, -1, 75, -1, 257, -1, 258, -1,
01091 10, 76, -1, 11, -1, 10, 259, 76, -1, 260,
01092 -1, 261, -1, 260, 261, -1, 262, -1, 266, -1,
01093 270, -1, 274, -1, 278, -1, 263, -1, 264, -1,
01094 265, -1, 90, -1, 89, -1, 87, 5, 88, -1,
01095 267, -1, 268, -1, 269, -1, 94, -1, 93, -1,
01096 91, 5, 92, -1, 271, -1, 272, -1, 273, -1,
01097 98, -1, 97, -1, 95, 5, 96, -1, 275, -1,
01098 276, -1, 277, -1, 102, -1, 101, -1, 99, 5,
01099 100, -1, 279, -1, 280, -1, 281, -1, 106, -1,
01100 105, -1, 103, 5, 104, -1, -1, 283, 284, -1,
01101 77, -1, 285, -1, 286, -1, 10, 78, -1, 11,
01102 -1, 10, 287, 78, -1, 288, -1, 289, -1, 288,
01103 289, -1, 290, -1, 296, -1, 302, -1, 308, -1,
01104 316, -1, 322, -1, 328, -1, 334, -1, 340, -1,
01105 346, -1, 354, -1, 291, 292, -1, 107, -1, 293,
01106 -1, 294, -1, 10, 108, -1, 11, -1, 10, 295,
01107 108, -1, 4, -1, 297, 298, -1, 109, -1, 299,
01108 -1, 300, -1, 10, 110, -1, 11, -1, 10, 301,
01109 110, -1, 4, -1, 303, 304, -1, 111, -1, 305,
01110 -1, 306, -1, 10, 112, -1, 11, -1, 10, 307,
01111 112, -1, 4, -1, 309, 310, 312, -1, 113, -1,
01112 -1, 311, -1, 74, 3, 8, -1, 313, -1, 314,
01113 -1, 10, 114, -1, 11, -1, 10, 315, 114, -1,
01114 4, -1, 317, 318, -1, 115, -1, 319, -1, 320,
01115 -1, 10, 116, -1, 11, -1, 10, 321, 116, -1,
01116 4, -1, 323, 324, -1, 117, -1, 325, -1, 326,
01117 -1, 10, 118, -1, 11, -1, 10, 327, 118, -1,
01118 4, -1, 329, 330, -1, 119, -1, 331, -1, 332,
01119 -1, 10, 120, -1, 11, -1, 10, 333, 120, -1,
01120 4, -1, 335, 336, -1, 121, -1, 337, -1, 338,
01121 -1, 10, 122, -1, 11, -1, 10, 339, 122, -1,
01122 4, -1, 341, 342, -1, 123, -1, 343, -1, 344,
01123 -1, 10, 124, -1, 11, -1, 10, 345, 124, -1,
01124 4, -1, 347, 348, 350, -1, 125, -1, -1, 349,
01125 -1, 73, 3, 8, -1, 351, -1, 352, -1, 10,
01126 126, -1, 11, -1, 10, 353, 126, -1, 4, -1,
01127 355, 356, 357, -1, 127, -1, 1036, -1, 358, -1,
01128 359, -1, 10, 128, -1, 11, -1, 10, 360, 128,
01129 -1, 361, -1, 362, -1, 361, 362, -1, 363, 364,
01130 367, -1, 129, -1, 365, -1, -1, 365, 366, -1,
01131 987, -1, 1018, -1, 966, -1, 10, 130, -1, 11,
01132 -1, -1, 369, 370, -1, 79, -1, 371, -1, 372,
01133 -1, 10, 80, -1, 11, -1, 10, 373, 80, -1,
01134 374, -1, 375, -1, 374, 375, -1, 376, -1, 383,
01135 -1, 390, -1, 397, -1, 402, -1, 377, 378, 381,
01136 -1, 131, -1, 379, -1, -1, 379, 380, -1, 1014,
01137 -1, 966, -1, 10, 382, 132, -1, 1069, -1, 384,
01138 385, 388, -1, 133, -1, 386, -1, -1, 386, 387,
01139 -1, 1014, -1, 966, -1, 10, 389, 134, -1, 1069,
01140 -1, 391, 392, 395, -1, 135, -1, 393, -1, -1,
01141 393, 394, -1, 1014, -1, 966, -1, 10, 396, 136,
01142 -1, 1069, -1, 398, 399, 400, -1, 137, -1, -1,
01143 966, -1, 10, 401, 138, -1, 6, -1, 403, 404,
01144 405, -1, 127, -1, 1036, -1, 406, -1, 407, -1,
01145 10, 128, -1, 11, -1, 10, 408, 128, -1, 409,
01146 -1, 410, -1, 409, 410, -1, 411, 412, 415, -1,
01147 129, -1, 413, -1, -1, 413, 414, -1, 987, -1,
01148 1018, -1, 966, -1, 10, 130, -1, 11, -1, -1,
01149 417, 418, -1, 81, -1, 419, -1, 420, -1, 10,
01150 82, -1, 11, -1, 10, 421, 82, -1, 422, -1,
01151 423, -1, 422, 423, -1, 424, -1, 430, -1, 425,
01152 426, -1, 139, -1, 427, -1, 428, -1, 10, 140,
01153 -1, 11, -1, 10, 429, 140, -1, 4, -1, 431,
01154 432, 433, -1, 127, -1, 1036, -1, 434, -1, 435,
01155 -1, 10, 128, -1, 11, -1, 10, 436, 128, -1,
01156 437, -1, 438, -1, 437, 438, -1, 439, 440, 443,
01157 -1, 129, -1, 441, -1, -1, 441, 442, -1, 987,
01158 -1, 1018, -1, 966, -1, 10, 130, -1, 11, -1,
01159 -1, 445, 446, -1, 83, -1, 447, -1, 448, -1,
01160 10, 84, -1, 11, -1, 10, 449, 84, -1, 450,
01161 -1, 451, -1, 450, 451, -1, 452, -1, 460, -1,
01162 466, -1, 474, -1, 479, -1, 484, -1, 489, -1,
01163 494, -1, 502, -1, 518, -1, 510, -1, 526, -1,
01164 532, -1, 538, -1, 546, -1, 453, 454, 455, -1,
01165 141, -1, -1, 1014, -1, 456, -1, 457, -1, 10,
01166 142, -1, 11, -1, 10, 458, 142, -1, 459, -1,
01167 1069, -1, 461, 462, -1, 143, -1, 463, -1, 464,
01168 -1, 10, 144, -1, 11, -1, 10, 465, 144, -1,
01169 4, -1, 467, 468, 469, -1, 145, -1, 1031, -1,
01170 470, -1, 471, -1, 10, 146, -1, 11, -1, 10,
01171 472, 146, -1, 473, -1, 472, 473, -1, 115, 10,
01172 4, 116, -1, 475, 1039, 476, -1, 147, -1, 477,
01173 -1, 478, -1, 10, 148, -1, 11, -1, 10, 947,
01174 148, -1, 480, 1039, 481, -1, 149, -1, 482, -1,
01175 483, -1, 10, 150, -1, 11, -1, 10, 947, 150,
01176 -1, 485, 1039, 486, -1, 155, -1, 487, -1, 488,
01177 -1, 10, 156, -1, 11, -1, 10, 947, 156, -1,
01178 490, 1039, 491, -1, 157, -1, 492, -1, 493, -1,
01179 10, 158, -1, 11, -1, 10, 947, 158, -1, 495,
01180 496, 497, -1, 163, -1, 1038, -1, 498, -1, 499,
01181 -1, 10, 164, -1, 11, -1, 10, 500, 164, -1,
01182 501, -1, 500, 501, -1, 949, -1, 503, 504, 505,
01183 -1, 165, -1, 1038, -1, 506, -1, 507, -1, 10,
01184 166, -1, 11, -1, 10, 508, 166, -1, 509, -1,
01185 508, 509, -1, 949, -1, 511, 512, 513, -1, 169,
01186 -1, 1038, -1, 514, -1, 515, -1, 10, 170, -1,
01187 11, -1, 10, 516, 170, -1, 517, -1, 516, 517,
01188 -1, 949, -1, 519, 520, 521, -1, 167, -1, 1038,
01189 -1, 522, -1, 523, -1, 10, 168, -1, 11, -1,
01190 10, 524, 168, -1, 525, -1, 524, 525, -1, 949,
01191 -1, 527, 528, 529, -1, 161, -1, 1039, -1, 530,
01192 -1, 531, -1, 10, 162, -1, 11, -1, 10, 947,
01193 162, -1, 533, 534, 535, -1, 159, -1, 1039, -1,
01194 536, -1, 537, -1, 10, 160, -1, 11, -1, 10,
01195 947, 160, -1, 539, 540, 541, -1, 171, -1, 1040,
01196 -1, 542, -1, 543, -1, 10, 172, -1, 11, -1,
01197 10, 544, 172, -1, 545, -1, 544, 545, -1, 173,
01198 10, 4, 174, -1, 547, 548, 549, -1, 127, -1,
01199 1036, -1, 550, -1, 551, -1, 10, 128, -1, 11,
01200 -1, 10, 552, 128, -1, 553, -1, 554, -1, 553,
01201 554, -1, 555, 556, 559, -1, 129, -1, 557, -1,
01202 -1, 557, 558, -1, 987, -1, 1018, -1, 966, -1,
01203 10, 130, -1, 11, -1, -1, 561, 562, 565, -1,
01204 85, -1, 563, -1, -1, 563, 564, -1, 1043, -1,
01205 1027, -1, 1033, -1, 566, -1, 567, -1, 11, -1,
01206 10, 568, 86, -1, 569, 707, 816, 925, -1, -1,
01207 570, 571, 573, -1, 175, -1, 572, -1, -1, 1037,
01208 -1, 574, -1, 575, -1, 11, -1, 10, 576, 176,
01209 -1, 577, 591, 605, 660, 674, 689, -1, -1, 578,
01210 579, 580, -1, 177, -1, 1042, -1, 581, -1, 582,
01211 -1, 10, 178, -1, 11, -1, 10, 583, 178, -1,
01212 584, -1, 585, -1, 584, 585, -1, 586, 587, 590,
01213 -1, 179, -1, 588, -1, -1, 588, 589, -1, 976,
01214 -1, 987, -1, 1018, -1, 10, 180, -1, 11, -1,
01215 -1, 592, 593, 594, -1, 181, -1, 1042, -1, 595,
01216 -1, 596, -1, 10, 182, -1, 11, -1, 10, 597,
01217 182, -1, 598, -1, 599, -1, 598, 599, -1, 600,
01218 601, 604, -1, 179, -1, 602, -1, -1, 602, 603,
01219 -1, 976, -1, 987, -1, 1018, -1, 10, 180, -1,
01220 11, -1, -1, 606, 607, -1, 183, -1, 608, -1,
01221 609, -1, 11, -1, 10, 610, 184, -1, 611, 618,
01222 625, 632, 639, 646, 653, -1, -1, 612, 613, 614,
01223 -1, 185, -1, 1028, -1, 615, -1, 616, -1, 11,
01224 -1, 10, 617, 186, -1, 1054, -1, -1, 619, 620,
01225 621, -1, 189, -1, 1028, -1, 622, -1, 623, -1,
01226 11, -1, 10, 624, 190, -1, 1054, -1, -1, 626,
01227 627, 628, -1, 187, -1, 1028, -1, 629, -1, 630,
01228 -1, 11, -1, 10, 631, 188, -1, 1054, -1, -1,
01229 633, 634, 635, -1, 191, -1, 1028, -1, 636, -1,
01230 637, -1, 11, -1, 10, 638, 192, -1, 1054, -1,
01231 -1, 640, 641, 642, -1, 195, -1, 1028, -1, 643,
01232 -1, 644, -1, 11, -1, 10, 645, 196, -1, 1054,
01233 -1, -1, 647, 648, 649, -1, 193, -1, 1028, -1,
01234 650, -1, 651, -1, 11, -1, 10, 652, 194, -1,
01235 1054, -1, -1, 654, 655, 656, -1, 197, -1, 1028,
01236 -1, 657, -1, 658, -1, 11, -1, 10, 659, 198,
01237 -1, 1054, -1, -1, 661, 662, 663, -1, 199, -1,
01238 1042, -1, 664, -1, 665, -1, 10, 200, -1, 11,
01239 -1, 10, 666, 200, -1, 667, -1, 668, -1, 667,
01240 668, -1, 669, 670, 673, -1, 179, -1, 671, -1,
01241 -1, 671, 672, -1, 976, -1, 987, -1, 1018, -1,
01242 10, 180, -1, 11, -1, -1, 675, 676, 677, -1,
01243 201, -1, 29, 8, 6, 8, -1, 678, -1, 679,
01244 -1, 10, 202, -1, 11, -1, 10, 680, 202, -1,
01245 681, -1, 680, 681, -1, 682, 683, 686, -1, 203,
01246 -1, 684, -1, -1, 684, 685, -1, 999, -1, 1042,
01247 -1, 974, -1, 687, -1, 688, -1, 10, 204, -1,
01248 11, -1, 10, 667, 204, -1, -1, 689, 690, -1,
01249 691, 692, 695, -1, 129, -1, 693, -1, -1, 693,
01250 694, -1, 1042, -1, 1029, -1, 987, -1, 1018, -1,
01251 995, -1, 958, -1, 1002, -1, 1022, -1, 970, -1,
01252 966, -1, 696, -1, 697, -1, 10, 130, -1, 11,
01253 -1, 10, 698, 130, -1, 699, -1, 1044, -1, 700,
01254 -1, 699, 700, -1, 701, 702, 705, -1, 179, -1,
01255 703, -1, -1, 703, 704, -1, 976, -1, 987, -1,
01256 1018, -1, 979, -1, 1006, -1, 706, -1, 10, 180,
01257 -1, 11, -1, -1, 708, 709, 711, -1, 205, -1,
01258 710, -1, -1, 1035, -1, 712, -1, 713, -1, 11,
01259 -1, 10, 714, 206, -1, 715, 729, 743, 798, -1,
01260 -1, 716, 717, 718, -1, 207, -1, 1032, -1, 719,
01261 -1, 720, -1, 10, 208, -1, 11, -1, 10, 721,
01262 208, -1, 722, -1, 723, -1, 722, 723, -1, 724,
01263 725, 728, -1, 209, -1, 726, -1, -1, 726, 727,
01264 -1, 976, -1, 987, -1, 1018, -1, 10, 210, -1,
01265 11, -1, -1, 730, 731, 732, -1, 211, -1, 1032,
01266 -1, 733, -1, 734, -1, 10, 212, -1, 11, -1,
01267 10, 735, 212, -1, 736, -1, 737, -1, 736, 737,
01268 -1, 738, 739, 742, -1, 209, -1, 740, -1, -1,
01269 740, 741, -1, 976, -1, 987, -1, 979, -1, 1006,
01270 -1, 10, 210, -1, 11, -1, -1, 744, 745, -1,
01271 183, -1, 746, -1, 747, -1, 11, -1, 10, 748,
01272 184, -1, 749, 756, 763, 770, 777, 784, 791, -1,
01273 -1, 750, 751, 752, -1, 185, -1, 1028, -1, 753,
01274 -1, 754, -1, 11, -1, 10, 755, 186, -1, 1054,
01275 -1, -1, 757, 758, 759, -1, 189, -1, 1028, -1,
01276 760, -1, 761, -1, 11, -1, 10, 762, 190, -1,
01277 1054, -1, -1, 764, 765, 766, -1, 187, -1, 1028,
01278 -1, 767, -1, 768, -1, 11, -1, 10, 769, 188,
01279 -1, 1054, -1, -1, 771, 772, 773, -1, 191, -1,
01280 1028, -1, 774, -1, 775, -1, 11, -1, 10, 776,
01281 192, -1, 1054, -1, -1, 778, 779, 780, -1, 195,
01282 -1, 1028, -1, 781, -1, 782, -1, 11, -1, 10,
01283 783, 196, -1, 1054, -1, -1, 785, 786, 787, -1,
01284 193, -1, 1028, -1, 788, -1, 789, -1, 11, -1,
01285 10, 790, 194, -1, 1054, -1, -1, 792, 793, 794,
01286 -1, 197, -1, 1028, -1, 795, -1, 796, -1, 11,
01287 -1, 10, 797, 198, -1, 1054, -1, -1, 798, 799,
01288 -1, 800, 801, 804, -1, 129, -1, 802, -1, -1,
01289 802, 803, -1, 1032, -1, 1029, -1, 987, -1, 1018,
01290 -1, 995, -1, 958, -1, 1002, -1, 991, -1, 970,
01291 -1, 966, -1, 805, -1, 806, -1, 10, 130, -1,
01292 11, -1, 10, 807, 130, -1, 808, -1, 1044, -1,
01293 809, -1, 808, 809, -1, 810, 811, 814, -1, 209,
01294 -1, 812, -1, -1, 812, 813, -1, 976, -1, 987,
01295 -1, 1018, -1, 979, -1, 1006, -1, 815, -1, 10,
01296 210, -1, 11, -1, -1, 817, 818, 820, -1, 213,
01297 -1, 819, -1, -1, 1034, -1, 821, -1, 822, -1,
01298 11, -1, 10, 823, 214, -1, 824, 838, 852, 907,
01299 -1, -1, 825, 826, 827, -1, 215, -1, 1026, -1,
01300 828, -1, 829, -1, 10, 216, -1, 11, -1, 10,
01301 830, 216, -1, 831, -1, 832, -1, 831, 832, -1,
01302 833, 834, 837, -1, 217, -1, 835, -1, -1, 835,
01303 836, -1, 976, -1, 987, -1, 1018, -1, 10, 218,
01304 -1, 11, -1, -1, 839, 840, 841, -1, 219, -1,
01305 1026, -1, 842, -1, 843, -1, 10, 220, -1, 11,
01306 -1, 10, 844, 220, -1, 845, -1, 846, -1, 845,
01307 846, -1, 847, 848, 851, -1, 217, -1, 849, -1,
01308 -1, 849, 850, -1, 976, -1, 987, -1, 983, -1,
01309 1010, -1, 10, 218, -1, 11, -1, -1, 853, 854,
01310 -1, 183, -1, 855, -1, 856, -1, 11, -1, 10,
01311 857, 184, -1, 858, 865, 872, 879, 886, 893, 900,
01312 -1, -1, 859, 860, 861, -1, 185, -1, 1028, -1,
01313 862, -1, 863, -1, 11, -1, 10, 864, 186, -1,
01314 1054, -1, -1, 866, 867, 868, -1, 189, -1, 1028,
01315 -1, 869, -1, 870, -1, 11, -1, 10, 871, 190,
01316 -1, 1054, -1, -1, 873, 874, 875, -1, 187, -1,
01317 1028, -1, 876, -1, 877, -1, 11, -1, 10, 878,
01318 188, -1, 1054, -1, -1, 880, 881, 882, -1, 191,
01319 -1, 1028, -1, 883, -1, 884, -1, 11, -1, 10,
01320 885, 192, -1, 1054, -1, -1, 887, 888, 889, -1,
01321 195, -1, 1028, -1, 890, -1, 891, -1, 11, -1,
01322 10, 892, 196, -1, 1054, -1, -1, 894, 895, 896,
01323 -1, 193, -1, 1028, -1, 897, -1, 898, -1, 11,
01324 -1, 10, 899, 194, -1, 1054, -1, -1, 901, 902,
01325 903, -1, 197, -1, 1028, -1, 904, -1, 905, -1,
01326 11, -1, 10, 906, 198, -1, 1054, -1, -1, 907,
01327 908, -1, 909, 910, 913, -1, 129, -1, 911, -1,
01328 -1, 911, 912, -1, 1026, -1, 1029, -1, 987, -1,
01329 1018, -1, 995, -1, 958, -1, 1002, -1, 962, -1,
01330 970, -1, 966, -1, 914, -1, 915, -1, 10, 130,
01331 -1, 11, -1, 10, 916, 130, -1, 917, -1, 1044,
01332 -1, 918, -1, 917, 918, -1, 919, 920, 923, -1,
01333 217, -1, 921, -1, -1, 921, 922, -1, 976, -1,
01334 987, -1, 1018, -1, 979, -1, 1006, -1, 924, -1,
01335 10, 218, -1, 11, -1, -1, 926, 927, 928, -1,
01336 221, -1, 1041, -1, 929, -1, 930, -1, 11, -1,
01337 10, 931, 222, -1, -1, 931, 932, -1, 933, 934,
01338 937, -1, 223, -1, 935, -1, 936, -1, 935, 936,
01339 -1, 987, -1, 1018, -1, 995, -1, 958, -1, 1002,
01340 -1, 966, -1, 1030, -1, 938, -1, 939, -1, 10,
01341 224, -1, 11, -1, 10, 940, 224, -1, 941, -1,
01342 942, -1, 941, 942, -1, 943, -1, 944, -1, 945,
01343 -1, 230, -1, 227, -1, 228, 946, 229, -1, 5,
01344 -1, 948, -1, 947, 948, -1, 151, 10, 4, 152,
01345 -1, 950, 951, 957, -1, 153, -1, 952, -1, -1,
01346 952, 953, -1, 954, -1, 955, -1, 956, -1, 21,
01347 3, 8, -1, 22, 3, 8, -1, 23, 3, 8,
01348 -1, 10, 154, -1, 11, -1, 959, -1, 960, -1,
01349 961, -1, 57, -1, 24, 3, 1070, -1, 963, -1,
01350 964, -1, 965, -1, 48, -1, 47, 3, 8, -1,
01351 967, -1, 968, -1, 969, -1, 58, -1, 46, 3,
01352 1070, -1, 971, -1, 972, -1, 973, -1, 50, -1,
01353 49, 3, 8, -1, 975, -1, 26, 8, 1069, 8,
01354 -1, 977, -1, 978, -1, 42, 1070, 6, 1070, -1,
01355 980, -1, 981, -1, 982, -1, 61, -1, 63, 3,
01356 1070, -1, 984, -1, 985, -1, 986, -1, 65, -1,
01357 67, 1070, 1069, 1070, -1, 988, -1, 989, -1, 990,
01358 -1, 56, -1, 41, 3, 1070, -1, 992, -1, 993,
01359 -1, 994, -1, 52, -1, 51, 3, 8, -1, 996,
01360 -1, 997, -1, 998, -1, 70, -1, 69, 3, 1070,
01361 -1, 1000, -1, 1001, -1, 43, 1070, 6, 1070, -1,
01362 1003, -1, 1004, -1, 1005, -1, 55, -1, 25, 3,
01363 8, -1, 1007, -1, 1008, -1, 1009, -1, 62, -1,
01364 64, 3, 1070, -1, 1011, -1, 1012, -1, 1013, -1,
01365 66, -1, 68, 1070, 1069, 1070, -1, 1015, -1, 1016,
01366 -1, 1017, -1, 59, -1, 45, 3, 8, -1, 1019,
01367 -1, 1020, -1, 1021, -1, 60, -1, 44, 3, 8,
01368 -1, 1023, -1, 1024, -1, 1025, -1, 54, -1, 53,
01369 3, 8, -1, 39, 1070, 6, 1070, -1, 32, 1070,
01370 6, 1070, -1, 40, 1070, 6, 1070, -1, 17, 1070,
01371 6, 1070, -1, 36, 1070, 6, 1070, -1, 18, 8,
01372 6, 8, -1, 38, 1070, 6, 1070, -1, 31, 1070,
01373 6, 1070, -1, 35, 1070, 6, 1070, -1, 34, 1070,
01374 6, 1070, -1, 16, 1070, 6, 1070, -1, 33, 1070,
01375 6, 1070, -1, 20, 8, 6, 8, -1, 19, 8,
01376 6, 8, -1, 27, 8, 6, 8, -1, 28, 1070,
01377 6, 1070, -1, 37, 1070, 6, 1070, -1, 30, 1070,
01378 6, 1070, -1, 1045, -1, 1044, 1045, -1, 1046, 1047,
01379 1050, -1, 225, -1, 1048, -1, -1, 1048, 1049, -1,
01380 1028, -1, 1018, -1, 966, -1, 1051, -1, 1052, -1,
01381 11, -1, 10, 1053, 226, -1, 1054, -1, 1055, -1,
01382 1062, -1, -1, 1055, 1056, -1, 1057, 1058, 1061, -1,
01383 236, -1, 1059, -1, -1, 1059, 1060, -1, 1068, -1,
01384 1067, -1, 10, 6, 237, -1, 231, 1063, 1064, -1,
01385 235, 1070, 6, 1070, -1, 1065, -1, 1066, -1, 10,
01386 232, -1, 11, -1, 10, 4, 232, -1, 233, 1070,
01387 6, 1070, -1, 234, 1070, 6, 1070, -1, 6, -1,
01388 7, -1, 1071, 8, -1, -1, 1071, 1072, -1, 239,
01389 -1, 240, -1, 241, -1, 242, -1
01390 };
01391
01392
01393 static const yytype_uint16 yyrline[] =
01394 {
01395 0, 171, 171, 172, 174, 181, 191, 191, 193, 193,
01396 195, 197, 199, 208, 209, 212, 220, 220, 227, 241,
01397 241, 243, 243, 245, 247, 249, 249, 252, 253, 254,
01398 255, 256, 258, 266, 266, 268, 268, 270, 276, 285,
01399 285, 287, 287, 289, 295, 303, 303, 305, 305, 307,
01400 313, 321, 321, 323, 323, 325, 331, 338, 338, 340,
01401 340, 342, 353, 353, 355, 371, 371, 373, 373, 375,
01402 377, 379, 379, 382, 383, 384, 385, 386, 387, 388,
01403 389, 390, 391, 392, 396, 398, 407, 407, 409, 409,
01404 411, 413, 423, 425, 432, 432, 434, 434, 436, 438,
01405 448, 450, 456, 456, 458, 458, 460, 462, 472, 479,
01406 487, 488, 495, 501, 501, 503, 503, 505, 507, 515,
01407 517, 523, 523, 525, 525, 527, 529, 538, 540, 547,
01408 547, 549, 549, 551, 553, 563, 565, 572, 572, 574,
01409 574, 576, 578, 588, 590, 596, 596, 598, 598, 600,
01410 602, 612, 614, 620, 620, 622, 622, 624, 626, 636,
01411 643, 652, 653, 659, 666, 666, 668, 668, 670, 672,
01412 680, 686, 696, 704, 709, 715, 715, 717, 719, 723,
01413 723, 725, 733, 752, 758, 758, 761, 765, 766, 769,
01414 769, 778, 778, 780, 790, 790, 792, 792, 794, 796,
01415 798, 798, 801, 802, 803, 804, 805, 809, 811, 821,
01416 823, 823, 826, 827, 830, 832, 840, 842, 852, 854,
01417 854, 857, 858, 861, 863, 872, 874, 884, 886, 886,
01418 889, 890, 893, 895, 904, 906, 914, 915, 917, 919,
01419 930, 936, 946, 954, 958, 963, 963, 965, 967, 971,
01420 971, 973, 981, 1000, 1005, 1005, 1008, 1013, 1014, 1017,
01421 1017, 1026, 1026, 1028, 1035, 1035, 1037, 1037, 1039, 1041,
01422 1043, 1043, 1046, 1047, 1051, 1053, 1059, 1059, 1061, 1061,
01423 1063, 1065, 1076, 1082, 1092, 1100, 1104, 1109, 1109, 1111,
01424 1113, 1117, 1117, 1119, 1127, 1146, 1151, 1151, 1154, 1159,
01425 1160, 1163, 1163, 1171, 1171, 1173, 1193, 1193, 1195, 1195,
01426 1197, 1199, 1201, 1201, 1204, 1205, 1206, 1207, 1208, 1209,
01427 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1223,
01428 1229, 1239, 1240, 1242, 1242, 1244, 1244, 1246, 1248, 1250,
01429 1257, 1259, 1265, 1265, 1267, 1267, 1269, 1271, 1281, 1292,
01430 1302, 1304, 1304, 1306, 1306, 1308, 1317, 1317, 1319, 1340,
01431 1351, 1361, 1361, 1363, 1363, 1365, 1376, 1387, 1397, 1397,
01432 1399, 1399, 1401, 1412, 1423, 1433, 1433, 1435, 1435, 1437,
01433 1448, 1459, 1469, 1469, 1471, 1471, 1473, 1484, 1500, 1510,
01434 1512, 1512, 1514, 1514, 1516, 1525, 1525, 1527, 1531, 1547,
01435 1557, 1559, 1559, 1561, 1561, 1563, 1572, 1572, 1574, 1578,
01436 1594, 1604, 1606, 1606, 1608, 1608, 1610, 1619, 1619, 1621,
01437 1625, 1641, 1651, 1653, 1653, 1655, 1655, 1657, 1666, 1666,
01438 1668, 1672, 1683, 1693, 1695, 1695, 1697, 1697, 1699, 1710,
01439 1721, 1731, 1733, 1733, 1735, 1735, 1737, 1762, 1773, 1783,
01440 1785, 1785, 1787, 1787, 1789, 1798, 1798, 1800, 1821, 1827,
01441 1837, 1845, 1849, 1854, 1854, 1856, 1858, 1862, 1862, 1864,
01442 1872, 1891, 1897, 1897, 1900, 1905, 1906, 1909, 1909, 1917,
01443 1917, 1919, 1927, 1929, 1929, 1932, 1938, 1944, 1952, 1952,
01444 1954, 1956, 1958, 1965, 1965, 1967, 1973, 1980, 1980, 1985,
01445 1985, 1987, 1989, 1991, 2001, 2001, 2016, 2021, 2032, 2040,
01446 2049, 2049, 2051, 2053, 2055, 2055, 2058, 2063, 2077, 2083,
01447 2083, 2086, 2098, 2103, 2111, 2111, 2115, 2115, 2130, 2135,
01448 2146, 2154, 2163, 2163, 2165, 2167, 2169, 2169, 2172, 2177,
01449 2192, 2198, 2198, 2201, 2213, 2218, 2224, 2224, 2228, 2228,
01450 2230, 2235, 2235, 2237, 2239, 2241, 2244, 2244, 2255, 2261,
01451 2268, 2268, 2270, 2272, 2274, 2278, 2278, 2290, 2296, 2303,
01452 2303, 2305, 2307, 2309, 2313, 2313, 2324, 2330, 2337, 2337,
01453 2339, 2341, 2343, 2347, 2347, 2358, 2364, 2371, 2371, 2373,
01454 2375, 2377, 2381, 2381, 2392, 2398, 2405, 2405, 2407, 2409,
01455 2411, 2415, 2415, 2426, 2432, 2439, 2439, 2441, 2443, 2445,
01456 2449, 2449, 2460, 2466, 2473, 2473, 2475, 2477, 2479, 2483,
01457 2483, 2499, 2504, 2515, 2523, 2532, 2532, 2534, 2536, 2542,
01458 2542, 2544, 2549, 2565, 2571, 2571, 2574, 2586, 2591, 2599,
01459 2599, 2603, 2603, 2609, 2615, 2623, 2631, 2639, 2639, 2641,
01460 2643, 2643, 2645, 2664, 2680, 2688, 2688, 2691, 2692, 2701,
01461 2704, 2704, 2706, 2706, 2708, 2713, 2713, 2715, 2720, 2751,
01462 2771, 2771, 2774, 2778, 2782, 2783, 2784, 2785, 2786, 2787,
01463 2788, 2789, 2792, 2792, 2794, 2794, 2796, 2798, 2798, 2800,
01464 2800, 2803, 2818, 2838, 2840, 2840, 2843, 2853, 2854, 2855,
01465 2856, 2859, 2861, 2861, 2869, 2869, 2871, 2877, 2884, 2884,
01466 2889, 2889, 2891, 2893, 2895, 2904, 2904, 2920, 2926, 2938,
01467 2946, 2955, 2955, 2957, 2959, 2961, 2961, 2964, 2969, 2984,
01468 2986, 2986, 2989, 3000, 3004, 3011, 3011, 3014, 3014, 3032,
01469 3037, 3051, 3059, 3068, 3068, 3070, 3072, 3074, 3074, 3077,
01470 3082, 3100, 3102, 3102, 3105, 3116, 3120, 3126, 3133, 3133,
01471 3137, 3137, 3139, 3144, 3144, 3146, 3148, 3150, 3153, 3153,
01472 3164, 3170, 3177, 3177, 3179, 3181, 3183, 3186, 3186, 3197,
01473 3203, 3210, 3210, 3212, 3214, 3216, 3219, 3219, 3230, 3236,
01474 3243, 3243, 3245, 3247, 3249, 3252, 3252, 3263, 3269, 3276,
01475 3276, 3278, 3280, 3282, 3285, 3285, 3296, 3302, 3309, 3309,
01476 3311, 3313, 3315, 3318, 3318, 3329, 3336, 3343, 3343, 3345,
01477 3347, 3349, 3353, 3353, 3364, 3370, 3377, 3377, 3379, 3381,
01478 3383, 3387, 3387, 3389, 3395, 3426, 3447, 3447, 3450, 3454,
01479 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3468, 3468,
01480 3470, 3470, 3472, 3474, 3474, 3476, 3476, 3479, 3494, 3516,
01481 3518, 3518, 3521, 3531, 3532, 3533, 3534, 3537, 3539, 3539,
01482 3547, 3547, 3549, 3555, 3562, 3562, 3567, 3567, 3569, 3571,
01483 3573, 3582, 3582, 3598, 3603, 3614, 3622, 3631, 3631, 3633,
01484 3635, 3637, 3637, 3640, 3645, 3660, 3666, 3666, 3669, 3680,
01485 3684, 3691, 3691, 3695, 3695, 3713, 3718, 3731, 3739, 3748,
01486 3748, 3750, 3752, 3754, 3754, 3757, 3762, 3780, 3786, 3786,
01487 3789, 3800, 3804, 3808, 3814, 3814, 3818, 3818, 3820, 3825,
01488 3825, 3827, 3829, 3831, 3834, 3834, 3845, 3851, 3858, 3858,
01489 3860, 3862, 3864, 3867, 3867, 3878, 3884, 3891, 3891, 3893,
01490 3895, 3897, 3901, 3901, 3912, 3918, 3925, 3925, 3927, 3929,
01491 3931, 3935, 3935, 3946, 3952, 3959, 3959, 3961, 3963, 3965,
01492 3969, 3969, 3980, 3986, 3993, 3993, 3995, 3997, 3999, 4003,
01493 4003, 4014, 4020, 4027, 4027, 4029, 4031, 4033, 4037, 4037,
01494 4048, 4054, 4061, 4061, 4063, 4065, 4067, 4071, 4071, 4073,
01495 4079, 4110, 4130, 4130, 4133, 4137, 4141, 4142, 4143, 4144,
01496 4145, 4146, 4147, 4148, 4151, 4151, 4153, 4153, 4155, 4157,
01497 4157, 4159, 4159, 4162, 4177, 4197, 4199, 4199, 4202, 4212,
01498 4213, 4214, 4215, 4218, 4220, 4220, 4228, 4228, 4234, 4236,
01499 4244, 4252, 4261, 4263, 4265, 4265, 4269, 4289, 4307, 4313,
01500 4313, 4316, 4317, 4318, 4319, 4320, 4321, 4322, 4329, 4337,
01501 4346, 4346, 4348, 4350, 4352, 4352, 4354, 4361, 4372, 4374,
01502 4374, 4376, 4378, 4395, 4395, 4397, 4419, 4436, 4448, 4453,
01503 4453, 4456, 4457, 4458, 4460, 4469, 4478, 4487, 4487, 4493,
01504 4500, 4500, 4502, 4507, 4514, 4520, 4520, 4522, 4525, 4532,
01505 4539, 4539, 4541, 4544, 4551, 4557, 4557, 4559, 4562, 4570,
01506 4577, 4584, 4591, 4593, 4599, 4606, 4606, 4608, 4613, 4620,
01507 4626, 4626, 4628, 4633, 4639, 4646, 4646, 4648, 4653, 4660,
01508 4666, 4666, 4668, 4671, 4679, 4685, 4685, 4687, 4690, 4697,
01509 4703, 4705, 4713, 4719, 4719, 4721, 4724, 4731, 4738, 4738,
01510 4740, 4745, 4752, 4758, 4758, 4760, 4763, 4770, 4776, 4776,
01511 4778, 4781, 4788, 4794, 4794, 4796, 4799, 4806, 4812, 4812,
01512 4814, 4817, 4829, 4838, 4847, 4856, 4865, 4874, 4884, 4893,
01513 4902, 4908, 4914, 4920, 4926, 4940, 4950, 4961, 4967, 4976,
01514 4996, 4996, 4998, 5016, 5032, 5040, 5040, 5043, 5050, 5051,
01515 5055, 5055, 5057, 5060, 5062, 5079, 5087, 5089, 5089, 5091,
01516 5093, 5102, 5104, 5104, 5106, 5106, 5108, 5124, 5126, 5131,
01517 5131, 5133, 5133, 5136, 5162, 5170, 5184, 5185, 5192, 5194,
01518 5194, 5196, 5197, 5198, 5199
01519 };
01520 #endif
01521
01522 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
01523
01524
01525 static const char *const yytname[] =
01526 {
01527 "$end", "error", "$undefined", "ATTRIBUTETEXT", "ELEMENTTEXT",
01528 "ITEMTEXT", "INTEGER", "DOUBLE", "QUOTE", "TWOQUOTES", "GREATERTHAN",
01529 "ENDOFELEMENT", "OSOLSTART", "OSOLSTARTEMPTY", "OSOLATTRIBUTETEXT",
01530 "OSOLEND", "NUMBEROFOTHEROPTIONSATT", "NUMBEROFENUMERATIONSATT",
01531 "NUMBEROFJOBIDSATT", "NUMBEROFPATHSATT", "NUMBEROFPATHPAIRSATT",
01532 "FROMATT", "TOATT", "MAKECOPYATT", "CATEGORYATT", "TYPEATT",
01533 "GROUPWEIGHTATT", "NUMBEROFPROCESSESATT", "NUMBEROFSOLVEROPTIONSATT",
01534 "NUMBEROFSOSATT", "NUMBEROFVARIABLESATT", "NUMBEROFOBJECTIVESATT",
01535 "NUMBEROFCONSTRAINTSATT", "NUMBEROFOTHERVARIABLEOPTIONSATT",
01536 "NUMBEROFOTHEROBJECTIVEOPTIONSATT", "NUMBEROFOTHERCONSTRAINTOPTIONSATT",
01537 "NUMBEROFITEMSATT", "NUMBEROFVARATT", "NUMBEROFOBJATT", "NUMBEROFCONATT",
01538 "NUMBEROFELATT", "NAMEATT", "IDXATT", "SOSIDXATT", "VALUEATT", "UNITATT",
01539 "DESCRIPTIONATT", "CONTYPEATT", "EMPTYCONTYPEATT", "ENUMTYPEATT",
01540 "EMPTYENUMTYPEATT", "OBJTYPEATT", "EMPTYOBJTYPEATT", "VARTYPEATT",
01541 "EMPTYVARTYPEATT", "EMPTYTYPEATT", "EMPTYNAMEATT", "EMPTYCATEGORYATT",
01542 "EMPTYDESCRIPTIONATT", "EMPTYUNITATT", "EMPTYVALUEATT",
01543 "EMPTYLBVALUEATT", "EMPTYUBVALUEATT", "LBVALUEATT", "UBVALUEATT",
01544 "EMPTYLBDUALVALUEATT", "EMPTYUBDUALVALUEATT", "LBDUALVALUEATT",
01545 "UBDUALVALUEATT", "SOLVERATT", "EMPTYSOLVERATT", "WEIGHTATT",
01546 "EMPTYWEIGHTATT", "TRANSPORTTYPEATT", "LOCATIONTYPEATT", "HEADERSTART",
01547 "HEADEREND", "GENERALSTART", "GENERALEND", "SYSTEMSTART", "SYSTEMEND",
01548 "SERVICESTART", "SERVICEEND", "JOBSTART", "JOBEND", "OPTIMIZATIONSTART",
01549 "OPTIMIZATIONEND", "FILENAMESTART", "FILENAMEEND", "FILENAMEEMPTY",
01550 "FILENAMESTARTANDEND", "FILESOURCESTART", "FILESOURCEEND",
01551 "FILESOURCEEMPTY", "FILESOURCESTARTANDEND", "FILEDESCRIPTIONSTART",
01552 "FILEDESCRIPTIONEND", "FILEDESCRIPTIONEMPTY",
01553 "FILEDESCRIPTIONSTARTANDEND", "FILECREATORSTART", "FILECREATOREND",
01554 "FILECREATOREMPTY", "FILECREATORSTARTANDEND", "FILELICENCESTART",
01555 "FILELICENCEEND", "FILELICENCEEMPTY", "FILELICENCESTARTANDEND",
01556 "SERVICEURISTART", "SERVICEURIEND", "SERVICENAMESTART", "SERVICENAMEEND",
01557 "INSTANCENAMESTART", "INSTANCENAMEEND", "INSTANCELOCATIONSTART",
01558 "INSTANCELOCATIONEND", "JOBIDSTART", "JOBIDEND", "SOLVERTOINVOKESTART",
01559 "SOLVERTOINVOKEEND", "LICENSESTART", "LICENSEEND", "USERNAMESTART",
01560 "USERNAMEEND", "PASSWORDSTART", "PASSWORDEND", "CONTACTSTART",
01561 "CONTACTEND", "OTHEROPTIONSSTART", "OTHEROPTIONSEND", "OTHERSTART",
01562 "OTHEREND", "MINDISKSPACESTART", "MINDISKSPACEEND", "MINMEMORYSTART",
01563 "MINMEMORYEND", "MINCPUSPEEDSTART", "MINCPUSPEEDEND",
01564 "MINCPUNUMBERSTART", "MINCPUNUMBEREND", "SERVICETYPESTART",
01565 "SERVICETYPEEND", "MAXTIMESTART", "MAXTIMEEND",
01566 "REQUESTEDSTARTTIMESTART", "REQUESTEDSTARTTIMEEND", "DEPENDENCIESSTART",
01567 "DEPENDENCIESEND", "REQUIREDDIRECTORIESSTART", "REQUIREDDIRECTORIESEND",
01568 "REQUIREDFILESSTART", "REQUIREDFILESEND", "PATHSTART", "PATHEND",
01569 "PATHPAIRSTART", "PATHPAIREND", "DIRECTORIESTOMAKESTART",
01570 "DIRECTORIESTOMAKEEND", "FILESTOMAKESTART", "FILESTOMAKEEND",
01571 "DIRECTORIESTODELETESTART", "DIRECTORIESTODELETEEND",
01572 "FILESTODELETESTART", "FILESTODELETEEND", "INPUTDIRECTORIESTOMOVESTART",
01573 "INPUTDIRECTORIESTOMOVEEND", "INPUTFILESTOMOVESTART",
01574 "INPUTFILESTOMOVEEND", "OUTPUTDIRECTORIESTOMOVESTART",
01575 "OUTPUTDIRECTORIESTOMOVEEND", "OUTPUTFILESTOMOVESTART",
01576 "OUTPUTFILESTOMOVEEND", "PROCESSESTOKILLSTART", "PROCESSESTOKILLEND",
01577 "PROCESSSTART", "PROCESSEND", "VARIABLESSTART", "VARIABLESEND",
01578 "INITIALVARIABLEVALUESSTART", "INITIALVARIABLEVALUESEND", "VARSTART",
01579 "VAREND", "INITIALVARIABLEVALUESSTRINGSTART",
01580 "INITIALVARIABLEVALUESSTRINGEND", "INITIALBASISSTATUSSTART",
01581 "INITIALBASISSTATUSEND", "BASICSTART", "BASICEND", "ATUPPERSTART",
01582 "ATUPPEREND", "ATLOWERSTART", "ATLOWEREND", "ATEQUALITYSTART",
01583 "ATEQUALITYEND", "SUPERBASICSTART", "SUPERBASICEND", "ISFREESTART",
01584 "ISFREEEND", "UNKNOWNSTART", "UNKNOWNEND",
01585 "INTEGERVARIABLEBRANCHINGWEIGHTSSTART",
01586 "INTEGERVARIABLEBRANCHINGWEIGHTSEND", "SOSVARIABLEBRANCHINGWEIGHTSSTART",
01587 "SOSVARIABLEBRANCHINGWEIGHTSEND", "SOSSTART", "SOSEND",
01588 "OBJECTIVESSTART", "OBJECTIVESEND", "INITIALOBJECTIVEVALUESSTART",
01589 "INITIALOBJECTIVEVALUESEND", "OBJSTART", "OBJEND",
01590 "INITIALOBJECTIVEBOUNDSSTART", "INITIALOBJECTIVEBOUNDSEND",
01591 "CONSTRAINTSSTART", "CONSTRAINTSEND", "INITIALCONSTRAINTVALUESSTART",
01592 "INITIALCONSTRAINTVALUESEND", "CONSTART", "CONEND",
01593 "INITIALDUALVALUESSTART", "INITIALDUALVALUESEND", "SOLVEROPTIONSSTART",
01594 "SOLVEROPTIONSEND", "SOLVEROPTIONSTART", "SOLVEROPTIONEND",
01595 "ENUMERATIONSTART", "ENUMERATIONEND", "ITEMEMPTY", "ITEMSTART",
01596 "ITEMEND", "ITEMSTARTANDEND", "BASE64START", "BASE64END", "INCRATT",
01597 "MULTATT", "SIZEOFATT", "ELSTART", "ELEND", "DUMMY", "' '", "'\\t'",
01598 "'\\r'", "'\\n'", "$accept", "osoldoc", "osolStartEmpty", "osolStart",
01599 "osolAttributes", "osolContent", "osolEmpty", "osolLaden", "osolEnd",
01600 "osolEnding", "osolBody", "headerElement", "headerElementStart",
01601 "headerElementContent", "headerElementEmpty", "headerElementLaden",
01602 "headerElementBody", "headerElementList", "headerChild", "fileName",
01603 "fileNameContent", "fileNameEmpty", "fileNameLaden", "fileSource",
01604 "fileSourceContent", "fileSourceEmpty", "fileSourceLaden",
01605 "fileDescription", "fileDescriptionContent", "fileDescriptionEmpty",
01606 "fileDescriptionLaden", "fileCreator", "fileCreatorContent",
01607 "fileCreatorEmpty", "fileCreatorLaden", "fileLicence",
01608 "fileLicenceContent", "fileLicenceEmpty", "fileLicenceLaden",
01609 "generalElement", "generalElementStart", "generalElementContent",
01610 "generalElementEmpty", "generalElementLaden", "generalElementBody",
01611 "generalElementList", "generalChild", "serviceURI", "serviceURIStart",
01612 "serviceURIContent", "serviceURIEmpty", "serviceURILaden",
01613 "serviceURIBody", "serviceName", "serviceNameStart",
01614 "serviceNameContent", "serviceNameEmpty", "serviceNameLaden",
01615 "serviceNameBody", "instanceName", "instanceNameStart",
01616 "instanceNameContent", "instanceNameEmpty", "instanceNameLaden",
01617 "instanceNameBody", "instanceLocation", "instanceLocationStart",
01618 "instanceLocationAttributes", "locationTypeAttribute",
01619 "instanceLocationContent", "instanceLocationEmpty",
01620 "instanceLocationLaden", "instanceLocationBody", "jobID", "jobIDStart",
01621 "jobIDContent", "jobIDEmpty", "jobIDLaden", "jobIDBody",
01622 "solverToInvoke", "solverToInvokeStart", "solverToInvokeContent",
01623 "solverToInvokeEmpty", "solverToInvokeLaden", "solverToInvokeBody",
01624 "license", "licenseStart", "licenseContent", "licenseEmpty",
01625 "licenseLaden", "licensebody", "username", "usernameStart",
01626 "usernameContent", "usernameEmpty", "usernameLaden", "usernamebody",
01627 "password", "passwordStart", "passwordContent", "passwordEmpty",
01628 "passwordLaden", "passwordbody", "contact", "contactStart",
01629 "contactAttributes", "transportTypeAttribute", "contactContent",
01630 "contactContentEmpty", "contactContentLaden", "contactBody",
01631 "otherGeneralOptions", "otherGeneralOptionsStart",
01632 "otherGeneralOptionsAttributes", "otherGeneralOptionsContent",
01633 "otherGeneralOptionsEmpty", "otherGeneralOptionsLaden",
01634 "otherGeneralOptionsBody", "otherGeneralOptionArray",
01635 "otherGeneralOption", "otherGeneralOptionStart",
01636 "otherGeneralAttributes", "otherGeneralAttList", "otherGeneralAtt",
01637 "otherGeneralEnd", "systemElement", "systemElementStart",
01638 "systemElementContent", "systemElementEmpty", "systemElementLaden",
01639 "systemElementBody", "systemElementList", "systemChild", "minDiskSpace",
01640 "minDiskSpaceStart", "minDiskSpaceAttributes", "minDiskSpaceAttList",
01641 "minDiskSpaceAtt", "minDiskSpaceContent", "minDiskSpaceValue",
01642 "minMemorySize", "minMemoryStart", "minMemoryAttributes",
01643 "minMemoryAttList", "minMemoryAtt", "minMemoryContent", "minMemoryValue",
01644 "minCPUSpeed", "minCPUSpeedStart", "minCPUSpeedAttributes",
01645 "minCPUSpeedAttList", "minCPUSpeedAtt", "minCPUSpeedContent",
01646 "minCPUSpeedValue", "minCPUNumber", "minCPUNumberStart",
01647 "minCPUNumberAttributes", "minCPUNumberContent", "minCPUNumberValue",
01648 "otherSystemOptions", "otherSystemOptionsStart",
01649 "otherSystemOptionsAttributes", "otherSystemOptionsContent",
01650 "otherSystemOptionsEmpty", "otherSystemOptionsLaden",
01651 "otherSystemOptionsBody", "otherSystemOptionArray", "otherSystemOption",
01652 "otherSystemOptionStart", "otherSystemOptionAttributes",
01653 "otherSystemOptionAttList", "otherSystemOptionAtt",
01654 "otherSystemOptionEnd", "serviceElement", "serviceElementStart",
01655 "serviceElementContent", "serviceElementEmpty", "serviceElementLaden",
01656 "serviceElementBody", "serviceElementList", "serviceChild",
01657 "serviceType", "serviceTypeStart", "serviceTypeContent",
01658 "serviceTypeEmpty", "serviceTypeLaden", "serviceTypeBody",
01659 "otherServiceOptions", "otherServiceOptionsStart",
01660 "otherServiceOptionsAttributes", "otherServiceOptionsContent",
01661 "otherServiceOptionsEmpty", "otherServiceOptionsLaden",
01662 "otherServiceOptionsBody", "otherServiceOptionArray",
01663 "otherServiceOption", "otherServiceOptionStart",
01664 "otherServiceOptionAttributes", "otherServiceOptionAttList",
01665 "otherServiceOptionAtt", "otherServiceOptionEnd", "jobElement",
01666 "jobElementStart", "jobElementContent", "jobElementEmpty",
01667 "jobElementLaden", "jobElementBody", "jobElementList", "jobChild",
01668 "maxTime", "maxTimeStart", "maxTimeAttributes", "maxTimeContent",
01669 "maxTimeEmpty", "maxTimeLaden", "maxTimeBody", "maxTimeValue",
01670 "requestedStartTime", "requestedStartTimeStart",
01671 "requestedStartTimeContent", "requestedStartTimeEmpty",
01672 "requestedStartTimeLaden", "requestedStartTimeBody", "dependencies",
01673 "dependenciesStart", "dependenciesAttributes", "dependenciesContent",
01674 "dependenciesEmpty", "dependenciesLaden", "dependenciesList",
01675 "dependencyJobID", "requiredDirectories", "requiredDirectoriesStart",
01676 "requiredDirectoriesContent", "requiredDirectoriesEmpty",
01677 "requiredDirectoriesLaden", "requiredFiles", "requiredFilesStart",
01678 "requiredFilesContent", "requiredFilesEmpty", "requiredFilesLaden",
01679 "directoriesToMake", "directoriesToMakeStart",
01680 "directoriesToMakeContent", "directoriesToMakeEmpty",
01681 "directoriesToMakeLaden", "filesToMake", "filesToMakeStart",
01682 "filesToMakeContent", "filesToMakeEmpty", "filesToMakeLaden",
01683 "inputDirectoriesToMove", "inputDirectoriesToMoveStart",
01684 "inputDirectoriesToMoveAttributes", "inputDirectoriesToMoveContent",
01685 "inputDirectoriesToMoveEmpty", "inputDirectoriesToMoveLaden",
01686 "inputDirectoriesToMoveList", "inputDirectoryToMove", "inputFilesToMove",
01687 "inputFilesToMoveStart", "inputFilesToMoveAttributes",
01688 "inputFilesToMoveContent", "inputFilesToMoveEmpty",
01689 "inputFilesToMoveLaden", "inputFilesToMoveList", "inputFileToMove",
01690 "outputFilesToMove", "outputFilesToMoveStart",
01691 "outputFilesToMoveAttributes", "outputFilesToMoveContent",
01692 "outputFilesToMoveEmpty", "outputFilesToMoveLaden",
01693 "outputFilesToMoveList", "outputFileToMove", "outputDirectoriesToMove",
01694 "outputDirectoriesToMoveStart", "outputDirectoriesToMoveAttributes",
01695 "outputDirectoriesToMoveContent", "outputDirectoriesToMoveEmpty",
01696 "outputDirectoriesToMoveLaden", "outputDirectoriesToMoveList",
01697 "outputDirectoryToMove", "filesToDelete", "filesToDeleteStart",
01698 "filesToDeleteAttributes", "filesToDeleteContent", "filesToDeleteEmpty",
01699 "filesToDeleteLaden", "directoriesToDelete", "directoriesToDeleteStart",
01700 "directoriesToDeleteAttributes", "directoriesToDeleteContent",
01701 "directoriesToDeleteEmpty", "directoriesToDeleteLaden",
01702 "processesToKill", "processesToKillStart", "processesToKillAttributes",
01703 "processesToKillContent", "processesToKillEmpty", "processesToKillLaden",
01704 "processesToKillList", "processID", "otherJobOptions",
01705 "otherJobOptionsStart", "otherJobOptionsAttributes",
01706 "otherJobOptionsContent", "otherJobOptionsEmpty", "otherJobOptionsLaden",
01707 "otherJobOptionsBody", "otherJobOptionArray", "otherJobOption",
01708 "otherJobOptionStart", "otherJobOptionAttributes",
01709 "otherJobOptionAttList", "otherJobOptionAtt", "otherJobOptionEnd",
01710 "optimizationElement", "optimizationStart", "optimizationAttributes",
01711 "optimizationAttList", "optimizationATT", "optimizationContent",
01712 "optimizationEmpty", "optimizationLaden", "optimizationBody",
01713 "variables", "variablesStart", "variablesAttributes",
01714 "numberOfOtherVariableOptions", "variablesContent", "variablesEmpty",
01715 "variablesLaden", "variablesBody", "initialVariableValues",
01716 "initialVariableValuesStart", "initialVariableValuesAttributes",
01717 "initialVariableValuesContent", "initialVariableValuesEmpty",
01718 "initialVariableValuesLaden", "initialVariableValuesBody",
01719 "initVarValueArray", "initVarValue", "initVarValueStart",
01720 "initVarValueAttributes", "initVarValueAttList", "initVarValueAtt",
01721 "initVarValueContent", "initialVariableValuesString",
01722 "initialVariableValuesStringStart",
01723 "initialVariableValuesStringAttributes",
01724 "initialVariableValuesStringContent", "initialVariableValuesStringEmpty",
01725 "initialVariableValuesStringLaden", "initialVariableValuesStringBody",
01726 "initVarValueStringArray", "initVarValueString",
01727 "initVarValueStringStart", "initVarValueStringAttributes",
01728 "initVarValueStringAttList", "initVarValueStringAtt",
01729 "initVarValueStringContent", "variableInitialBasis",
01730 "variableInitialBasisStart", "variableInitialBasisContent",
01731 "variableInitialBasisEmpty", "variableInitialBasisLaden",
01732 "variableInitialBasisBody", "variablesBasic", "variablesBasicStart",
01733 "variablesBasicNumberOfElATT", "variablesBasicContent",
01734 "variablesBasicEmpty", "variablesBasicLaden", "variablesBasicBody",
01735 "variablesAtLower", "variablesAtLowerStart",
01736 "variablesAtLowerNumberOfElATT", "variablesAtLowerContent",
01737 "variablesAtLowerEmpty", "variablesAtLowerLaden", "variablesAtLowerBody",
01738 "variablesAtUpper", "variablesAtUpperStart",
01739 "variablesAtUpperNumberOfElATT", "variablesAtUpperContent",
01740 "variablesAtUpperEmpty", "variablesAtUpperLaden", "variablesAtUpperBody",
01741 "variablesAtEquality", "variablesAtEqualityStart",
01742 "variablesAtEqualityNumberOfElATT", "variablesAtEqualityContent",
01743 "variablesAtEqualityEmpty", "variablesAtEqualityLaden",
01744 "variablesAtEqualityBody", "variablesIsFree", "variablesIsFreeStart",
01745 "variablesIsFreeNumberOfElATT", "variablesIsFreeContent",
01746 "variablesIsFreeEmpty", "variablesIsFreeLaden", "variablesIsFreeBody",
01747 "variablesSuperbasic", "variablesSuperbasicStart",
01748 "variablesSuperbasicNumberOfElATT", "variablesSuperbasicContent",
01749 "variablesSuperbasicEmpty", "variablesSuperbasicLaden",
01750 "variablesSuperbasicBody", "variablesUnknown", "variablesUnknownStart",
01751 "variablesUnknownNumberOfElATT", "variablesUnknownContent",
01752 "variablesUnknownEmpty", "variablesUnknownLaden", "variablesUnknownBody",
01753 "integerVariableBranchingWeights",
01754 "integerVariableBranchingWeightsStart",
01755 "integerVariableBranchingWeightsAttributes",
01756 "integerVariableBranchingWeightsContent",
01757 "integerVariableBranchingWeightsEmpty",
01758 "integerVariableBranchingWeightsLaden",
01759 "integerVariableBranchingWeightsBody", "branchingWeightsArray",
01760 "branchingWeight", "branchingWeightStart", "branchingWeightAttributes",
01761 "branchingWeightAttList", "branchingWeightAtt", "branchingWeightContent",
01762 "sosVariableBranchingWeights", "sosVariableBranchingWeightsStart",
01763 "sosVariableBranchingWeightsAttributes",
01764 "sosVariableBranchingWeightsContent", "sosVariableBranchingWeightsEmpty",
01765 "sosVariableBranchingWeightsLaden", "sosWeightGroupArray",
01766 "sosWeightGroup", "sosWeightGroupStart", "sosWeightGroupAttributes",
01767 "sosWeightGroupAttList", "sosWeightGroupAtt", "sosWeightGroupContent",
01768 "sosWeightGroupEmpty", "sosWeightGroupLaden",
01769 "otherVariableOptionsArray", "otherVariableOption",
01770 "otherVariableOptionStart", "otherVariableOptionAttributes",
01771 "otherVariableOptionAttList", "otherVariableOptionATT",
01772 "otherVariableOptionContent", "otherVariableOptionEmpty",
01773 "otherVariableOptionLaden", "otherVariableOptionBody", "otherVarList",
01774 "otherVar", "otherVarStart", "otherVarAttributes", "otherVarAttList",
01775 "otherVarAtt", "otherVarContent", "otherVarEmpty", "objectives",
01776 "objectivesStart", "objectivesAttributes",
01777 "numberOfOtherObjectiveOptions", "objectivesContent", "objectivesEmpty",
01778 "objectivesLaden", "objectivesBody", "initialObjectiveValues",
01779 "initialObjectiveValuesStart", "initialObjectiveValuesAttributes",
01780 "initialObjectiveValuesContent", "initialObjectiveValuesEmpty",
01781 "initialObjectiveValuesLaden", "initialObjectiveValuesBody",
01782 "initObjValueArray", "initObjValue", "initObjValueStart",
01783 "initObjValueAttributes", "initObjValueAttList", "initObjValueAtt",
01784 "initObjValueContent", "initialObjectiveBounds",
01785 "initialObjectiveBoundsStart", "numberOfObjATT",
01786 "initialObjectiveBoundsContent", "initialObjectiveBoundsEmpty",
01787 "initialObjectiveBoundsLaden", "initialObjectiveBoundsBody",
01788 "initObjBoundArray", "initObjBound", "initObjBoundStart",
01789 "initObjBoundAttributes", "initObjBoundAttList", "initObjBoundAtt",
01790 "initObjBoundContent", "objectiveInitialBasis",
01791 "objectiveInitialBasisStart", "objectiveInitialBasisContent",
01792 "objectiveInitialBasisEmpty", "objectiveInitialBasisLaden",
01793 "objectiveInitialBasisBody", "objectivesBasic", "objectivesBasicStart",
01794 "objectivesBasicNumberOfElATT", "objectivesBasicContent",
01795 "objectivesBasicEmpty", "objectivesBasicLaden", "objectivesBasicBody",
01796 "objectivesAtLower", "objectivesAtLowerStart",
01797 "objectivesAtLowerNumberOfElATT", "objectivesAtLowerContent",
01798 "objectivesAtLowerEmpty", "objectivesAtLowerLaden",
01799 "objectivesAtLowerBody", "objectivesAtUpper", "objectivesAtUpperStart",
01800 "objectivesAtUpperNumberOfElATT", "objectivesAtUpperContent",
01801 "objectivesAtUpperEmpty", "objectivesAtUpperLaden",
01802 "objectivesAtUpperBody", "objectivesAtEquality",
01803 "objectivesAtEqualityStart", "objectivesAtEqualityNumberOfElATT",
01804 "objectivesAtEqualityContent", "objectivesAtEqualityEmpty",
01805 "objectivesAtEqualityLaden", "objectivesAtEqualityBody",
01806 "objectivesIsFree", "objectivesIsFreeStart",
01807 "objectivesIsFreeNumberOfElATT", "objectivesIsFreeContent",
01808 "objectivesIsFreeEmpty", "objectivesIsFreeLaden", "objectivesIsFreeBody",
01809 "objectivesSuperbasic", "objectivesSuperbasicStart",
01810 "objectivesSuperbasicNumberOfElATT", "objectivesSuperbasicContent",
01811 "objectivesSuperbasicEmpty", "objectivesSuperbasicLaden",
01812 "objectivesSuperbasicBody", "objectivesUnknown",
01813 "objectivesUnknownStart", "objectivesUnknownNumberOfElATT",
01814 "objectivesUnknownContent", "objectivesUnknownEmpty",
01815 "objectivesUnknownLaden", "objectivesUnknownBody",
01816 "otherObjectiveOptionsArray", "otherObjectiveOption",
01817 "otherObjectiveOptionStart", "otherObjectiveOptionAttributes",
01818 "otherObjectiveOptionAttList", "otherObjectiveOptionATT",
01819 "otherObjectiveOptionContent", "otherObjectiveOptionEmpty",
01820 "otherObjectiveOptionLaden", "otherObjectiveOptionBody", "otherObjList",
01821 "otherObj", "otherObjStart", "otherObjAttributes", "otherObjAttList",
01822 "otherObjAtt", "otherObjContent", "otherObjEmpty", "constraints",
01823 "constraintsStart", "constraintsAttributes",
01824 "numberOfOtherConstraintOptions", "constraintsContent",
01825 "constraintsEmpty", "constraintsLaden", "constraintsBody",
01826 "initialConstraintValues", "initialConstraintValuesStart",
01827 "initialConstraintValuesAttributes", "initialConstraintValuesContent",
01828 "initialConstraintValuesEmpty", "initialConstraintValuesLaden",
01829 "initialConstraintValuesBody", "initConValueArray", "initConValue",
01830 "initConValueStart", "initConValueAttributes", "initConValueAttList",
01831 "initConValueAtt", "initConValueContent", "initialDualValues",
01832 "initialDualValuesStart", "initialDualValuesAttributes",
01833 "initialDualValuesContent", "initialDualValuesEmpty",
01834 "initialDualValuesLaden", "initialDualValuesBody", "initDualValueArray",
01835 "initDualValue", "initDualValueStart", "initDualValueAttributes",
01836 "initDualValueAttList", "initDualValueAtt", "initDualValueContent",
01837 "slacksInitialBasis", "slacksInitialBasisStart",
01838 "slacksInitialBasisContent", "slacksInitialBasisEmpty",
01839 "slacksInitialBasisLaden", "slacksInitialBasisBody", "slacksBasic",
01840 "slacksBasicStart", "slacksBasicNumberOfElATT", "slacksBasicContent",
01841 "slacksBasicEmpty", "slacksBasicLaden", "slacksBasicBody",
01842 "slacksAtLower", "slacksAtLowerStart", "slacksAtLowerNumberOfElATT",
01843 "slacksAtLowerContent", "slacksAtLowerEmpty", "slacksAtLowerLaden",
01844 "slacksAtLowerBody", "slacksAtUpper", "slacksAtUpperStart",
01845 "slacksAtUpperNumberOfElATT", "slacksAtUpperContent",
01846 "slacksAtUpperEmpty", "slacksAtUpperLaden", "slacksAtUpperBody",
01847 "slacksAtEquality", "slacksAtEqualityStart",
01848 "slacksAtEqualityNumberOfElATT", "slacksAtEqualityContent",
01849 "slacksAtEqualityEmpty", "slacksAtEqualityLaden", "slacksAtEqualityBody",
01850 "slacksIsFree", "slacksIsFreeStart", "slacksIsFreeNumberOfElATT",
01851 "slacksIsFreeContent", "slacksIsFreeEmpty", "slacksIsFreeLaden",
01852 "slacksIsFreeBody", "slacksSuperbasic", "slacksSuperbasicStart",
01853 "slacksSuperbasicNumberOfElATT", "slacksSuperbasicContent",
01854 "slacksSuperbasicEmpty", "slacksSuperbasicLaden", "slacksSuperbasicBody",
01855 "slacksUnknown", "slacksUnknownStart", "slacksUnknownNumberOfElATT",
01856 "slacksUnknownContent", "slacksUnknownEmpty", "slacksUnknownLaden",
01857 "slacksUnknownBody", "otherConstraintOptionsArray",
01858 "otherConstraintOption", "otherConstraintOptionStart",
01859 "otherConstraintOptionAttributes", "otherConstraintOptionAttList",
01860 "otherConstraintOptionATT", "otherConstraintOptionContent",
01861 "otherConstraintOptionEmpty", "otherConstraintOptionLaden",
01862 "otherConstraintOptionBody", "otherConList", "otherCon", "otherConStart",
01863 "otherConAttributes", "otherConAttList", "otherConAtt",
01864 "otherConContent", "otherConEmpty", "solverOptions",
01865 "solverOptionsStart", "numberOfSolverOptionsATT", "solverOptionsContent",
01866 "solverOptionsEmpty", "solverOptionsLaden", "solverOptionArray",
01867 "solverOption", "solverOptionStart", "solverOptionAttributes",
01868 "solverOptionAttList", "solverOptionATT", "solverOptionContent",
01869 "solverOptionEmpty", "solverOptionLaden", "solverOptionBody",
01870 "solverOptionItemArray", "solverOptionItem", "solverOptionItemContent",
01871 "solverOptionItemEmpty", "solverOptionItemLaden", "solverOptionItemBody",
01872 "PathList", "Path", "PathPair", "PathPairStart", "PathPairAttributes",
01873 "PathPairAttList", "PathPairAttribute", "PathPairFromATT",
01874 "PathPairToATT", "PathPairMakeCopyATT", "PathPairEnd",
01875 "categoryAttribute", "categoryAtt", "categoryAttEmpty",
01876 "categoryAttContent", "conTypeAttribute", "conTypeAtt",
01877 "conTypeAttEmpty", "conTypeAttContent", "descriptionAttribute",
01878 "descriptionAtt", "descriptionAttEmpty", "descriptionAttContent",
01879 "enumTypeAttribute", "enumTypeAtt", "enumTypeAttEmpty",
01880 "enumTypeAttContent", "groupWeightAttribute", "groupWeightAtt",
01881 "idxAttribute", "idxAtt", "idxAttContent", "lbValueAttribute",
01882 "lbValueAtt", "lbValueAttEmpty", "lbValueAttContent",
01883 "lbDualValueAttribute", "lbDualValueAtt", "lbDualValueAttEmpty",
01884 "lbDualValueAttContent", "nameAttribute", "nameAtt", "nameAttEmpty",
01885 "nameAttContent", "objTypeAttribute", "objTypeAtt", "objTypeAttEmpty",
01886 "objTypeAttContent", "solverAttribute", "solverAtt", "solverAttEmpty",
01887 "solverAttContent", "sosIdxAttribute", "sosIdxAtt", "sosIdxAttContent",
01888 "typeAttribute", "typeAtt", "typeAttEmpty", "typeAttContent",
01889 "ubValueAttribute", "ubValueAtt", "ubValueAttEmpty", "ubValueAttContent",
01890 "ubDualValueAttribute", "ubDualValueAtt", "ubDualValueAttEmpty",
01891 "ubDualValueAttContent", "unitAttribute", "unitAtt", "unitAttEmpty",
01892 "unitAttContent", "valueAttribute", "valueAtt", "valueAttEmpty",
01893 "valueAttContent", "varTypeAttribute", "varTypeAtt", "varTypeAttEmpty",
01894 "varTypeAttContent", "numberOfConAttribute",
01895 "numberOfConstraintsAttribute", "numberOfElAttribute",
01896 "numberOfEnumerationsAttribute", "numberOfItemsAttribute",
01897 "numberOfJobIDsATT", "numberOfObjAttribute",
01898 "numberOfObjectivesAttribute", "numberOfOtherConstraintOptionsAttribute",
01899 "numberOfOtherObjectiveOptionsAttribute",
01900 "numberOfOtherOptionsAttribute", "numberOfOtherVariableOptionsAttribute",
01901 "numberOfPathPairsAttribute", "numberOfPathsAttribute",
01902 "numberOfProcessesATT", "numberOfSolverOptionsAttribute",
01903 "numberOfVarAttribute", "numberOfVariablesAttribute",
01904 "otherEnumerationList", "otherEnumeration", "otherEnumerationStart",
01905 "otherEnumerationAttributes", "otherEnumerationAttList",
01906 "otherEnumerationATT", "otherEnumerationContent",
01907 "otherEnumerationEmpty", "otherEnumerationLaden", "otherEnumerationBody",
01908 "osglIntArrayData", "osglIntVectorElArray", "osglIntVectorEl",
01909 "osglIntVectorElStart", "osglIntVectorElAttributes",
01910 "osglIntVectorElAttList", "osglIntVectorElAtt", "osglIntVectorElContent",
01911 "osglIntVectorBase64", "Base64SizeAttribute", "Base64Content",
01912 "Base64Empty", "Base64Laden", "osglIncrAttribute", "osglMultAttribute",
01913 "aNumber", "quote", "xmlWhiteSpace", "xmlWhiteSpaceChar", 0
01914 };
01915 #endif
01916
01917 # ifdef YYPRINT
01918
01919
01920 static const yytype_uint16 yytoknum[] =
01921 {
01922 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
01923 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
01924 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
01925 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
01926 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
01927 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
01928 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
01929 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
01930 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
01931 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
01932 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
01933 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
01934 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
01935 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
01936 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
01937 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
01938 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
01939 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
01940 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
01941 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
01942 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
01943 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
01944 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
01945 485, 486, 487, 488, 489, 490, 491, 492, 493, 32,
01946 9, 13, 10
01947 };
01948 # endif
01949
01950
01951 static const yytype_uint16 yyr1[] =
01952 {
01953 0, 243, 244, 244, 245, 246, 247, 247, 248, 248,
01954 249, 250, 251, 252, 252, 253, 254, 254, 255, 256,
01955 256, 257, 257, 258, 259, 260, 260, 261, 261, 261,
01956 261, 261, 262, 263, 263, 264, 264, 265, 266, 267,
01957 267, 268, 268, 269, 270, 271, 271, 272, 272, 273,
01958 274, 275, 275, 276, 276, 277, 278, 279, 279, 280,
01959 280, 281, 282, 282, 283, 284, 284, 285, 285, 286,
01960 287, 288, 288, 289, 289, 289, 289, 289, 289, 289,
01961 289, 289, 289, 289, 290, 291, 292, 292, 293, 293,
01962 294, 295, 296, 297, 298, 298, 299, 299, 300, 301,
01963 302, 303, 304, 304, 305, 305, 306, 307, 308, 309,
01964 310, 310, 311, 312, 312, 313, 313, 314, 315, 316,
01965 317, 318, 318, 319, 319, 320, 321, 322, 323, 324,
01966 324, 325, 325, 326, 327, 328, 329, 330, 330, 331,
01967 331, 332, 333, 334, 335, 336, 336, 337, 337, 338,
01968 339, 340, 341, 342, 342, 343, 343, 344, 345, 346,
01969 347, 348, 348, 349, 350, 350, 351, 351, 352, 353,
01970 354, 355, 356, 357, 357, 358, 358, 359, 360, 361,
01971 361, 362, 363, 364, 365, 365, 366, 366, 366, 367,
01972 367, 368, 368, 369, 370, 370, 371, 371, 372, 373,
01973 374, 374, 375, 375, 375, 375, 375, 376, 377, 378,
01974 379, 379, 380, 380, 381, 382, 383, 384, 385, 386,
01975 386, 387, 387, 388, 389, 390, 391, 392, 393, 393,
01976 394, 394, 395, 396, 397, 398, 399, 399, 400, 401,
01977 402, 403, 404, 405, 405, 406, 406, 407, 408, 409,
01978 409, 410, 411, 412, 413, 413, 414, 414, 414, 415,
01979 415, 416, 416, 417, 418, 418, 419, 419, 420, 421,
01980 422, 422, 423, 423, 424, 425, 426, 426, 427, 427,
01981 428, 429, 430, 431, 432, 433, 433, 434, 434, 435,
01982 436, 437, 437, 438, 439, 440, 441, 441, 442, 442,
01983 442, 443, 443, 444, 444, 445, 446, 446, 447, 447,
01984 448, 449, 450, 450, 451, 451, 451, 451, 451, 451,
01985 451, 451, 451, 451, 451, 451, 451, 451, 451, 452,
01986 453, 454, 454, 455, 455, 456, 456, 457, 458, 459,
01987 460, 461, 462, 462, 463, 463, 464, 465, 466, 467,
01988 468, 469, 469, 470, 470, 471, 472, 472, 473, 474,
01989 475, 476, 476, 477, 477, 478, 479, 480, 481, 481,
01990 482, 482, 483, 484, 485, 486, 486, 487, 487, 488,
01991 489, 490, 491, 491, 492, 492, 493, 494, 495, 496,
01992 497, 497, 498, 498, 499, 500, 500, 501, 502, 503,
01993 504, 505, 505, 506, 506, 507, 508, 508, 509, 510,
01994 511, 512, 513, 513, 514, 514, 515, 516, 516, 517,
01995 518, 519, 520, 521, 521, 522, 522, 523, 524, 524,
01996 525, 526, 527, 528, 529, 529, 530, 530, 531, 532,
01997 533, 534, 535, 535, 536, 536, 537, 538, 539, 540,
01998 541, 541, 542, 542, 543, 544, 544, 545, 546, 547,
01999 548, 549, 549, 550, 550, 551, 552, 553, 553, 554,
02000 555, 556, 557, 557, 558, 558, 558, 559, 559, 560,
02001 560, 561, 562, 563, 563, 564, 564, 564, 565, 565,
02002 566, 567, 568, 569, 569, 570, 571, 572, 572, 573,
02003 573, 574, 575, 576, 577, 577, 578, 579, 580, 580,
02004 581, 581, 582, 583, 584, 584, 585, 586, 587, 588,
02005 588, 589, 589, 589, 590, 590, 591, 591, 592, 593,
02006 594, 594, 595, 595, 596, 597, 598, 598, 599, 600,
02007 601, 602, 602, 603, 603, 603, 604, 604, 605, 605,
02008 606, 607, 607, 608, 609, 610, 611, 611, 612, 613,
02009 614, 614, 615, 616, 617, 618, 618, 619, 620, 621,
02010 621, 622, 623, 624, 625, 625, 626, 627, 628, 628,
02011 629, 630, 631, 632, 632, 633, 634, 635, 635, 636,
02012 637, 638, 639, 639, 640, 641, 642, 642, 643, 644,
02013 645, 646, 646, 647, 648, 649, 649, 650, 651, 652,
02014 653, 653, 654, 655, 656, 656, 657, 658, 659, 660,
02015 660, 661, 662, 663, 663, 664, 664, 665, 666, 667,
02016 667, 668, 669, 670, 671, 671, 672, 672, 672, 673,
02017 673, 674, 674, 675, 676, 677, 677, 678, 678, 679,
02018 680, 680, 681, 682, 683, 684, 684, 685, 685, 685,
02019 686, 686, 687, 687, 688, 689, 689, 690, 691, 692,
02020 693, 693, 694, 694, 694, 694, 694, 694, 694, 694,
02021 694, 694, 695, 695, 696, 696, 697, 698, 698, 699,
02022 699, 700, 701, 702, 703, 703, 704, 704, 704, 704,
02023 704, 705, 706, 706, 707, 707, 708, 709, 710, 710,
02024 711, 711, 712, 713, 714, 715, 715, 716, 717, 718,
02025 718, 719, 719, 720, 721, 722, 722, 723, 724, 725,
02026 726, 726, 727, 727, 727, 728, 728, 729, 729, 730,
02027 731, 732, 732, 733, 733, 734, 735, 736, 736, 737,
02028 738, 739, 740, 740, 741, 741, 741, 741, 742, 742,
02029 743, 743, 744, 745, 745, 746, 747, 748, 749, 749,
02030 750, 751, 752, 752, 753, 754, 755, 756, 756, 757,
02031 758, 759, 759, 760, 761, 762, 763, 763, 764, 765,
02032 766, 766, 767, 768, 769, 770, 770, 771, 772, 773,
02033 773, 774, 775, 776, 777, 777, 778, 779, 780, 780,
02034 781, 782, 783, 784, 784, 785, 786, 787, 787, 788,
02035 789, 790, 791, 791, 792, 793, 794, 794, 795, 796,
02036 797, 798, 798, 799, 800, 801, 802, 802, 803, 803,
02037 803, 803, 803, 803, 803, 803, 803, 803, 804, 804,
02038 805, 805, 806, 807, 807, 808, 808, 809, 810, 811,
02039 812, 812, 813, 813, 813, 813, 813, 814, 815, 815,
02040 816, 816, 817, 818, 819, 819, 820, 820, 821, 822,
02041 823, 824, 824, 825, 826, 827, 827, 828, 828, 829,
02042 830, 831, 831, 832, 833, 834, 835, 835, 836, 836,
02043 836, 837, 837, 838, 838, 839, 840, 841, 841, 842,
02044 842, 843, 844, 845, 845, 846, 847, 848, 849, 849,
02045 850, 850, 850, 850, 851, 851, 852, 852, 853, 854,
02046 854, 855, 856, 857, 858, 858, 859, 860, 861, 861,
02047 862, 863, 864, 865, 865, 866, 867, 868, 868, 869,
02048 870, 871, 872, 872, 873, 874, 875, 875, 876, 877,
02049 878, 879, 879, 880, 881, 882, 882, 883, 884, 885,
02050 886, 886, 887, 888, 889, 889, 890, 891, 892, 893,
02051 893, 894, 895, 896, 896, 897, 898, 899, 900, 900,
02052 901, 902, 903, 903, 904, 905, 906, 907, 907, 908,
02053 909, 910, 911, 911, 912, 912, 912, 912, 912, 912,
02054 912, 912, 912, 912, 913, 913, 914, 914, 915, 916,
02055 916, 917, 917, 918, 919, 920, 921, 921, 922, 922,
02056 922, 922, 922, 923, 924, 924, 925, 925, 926, 927,
02057 928, 928, 929, 930, 931, 931, 932, 933, 934, 935,
02058 935, 936, 936, 936, 936, 936, 936, 936, 937, 937,
02059 938, 938, 939, 940, 941, 941, 942, 943, 943, 944,
02060 944, 945, 946, 947, 947, 948, 949, 950, 951, 952,
02061 952, 953, 953, 953, 954, 955, 956, 957, 957, 958,
02062 959, 959, 960, 961, 962, 963, 963, 964, 965, 966,
02063 967, 967, 968, 969, 970, 971, 971, 972, 973, 974,
02064 975, 976, 977, 978, 979, 980, 980, 981, 982, 983,
02065 984, 984, 985, 986, 987, 988, 988, 989, 990, 991,
02066 992, 992, 993, 994, 995, 996, 996, 997, 998, 999,
02067 1000, 1001, 1002, 1003, 1003, 1004, 1005, 1006, 1007, 1007,
02068 1008, 1009, 1010, 1011, 1011, 1012, 1013, 1014, 1015, 1015,
02069 1016, 1017, 1018, 1019, 1019, 1020, 1021, 1022, 1023, 1023,
02070 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
02071 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
02072 1044, 1044, 1045, 1046, 1047, 1048, 1048, 1049, 1049, 1049,
02073 1050, 1050, 1051, 1052, 1053, 1054, 1054, 1055, 1055, 1056,
02074 1057, 1058, 1059, 1059, 1060, 1060, 1061, 1062, 1063, 1064,
02075 1064, 1065, 1065, 1066, 1067, 1068, 1069, 1069, 1070, 1071,
02076 1071, 1072, 1072, 1072, 1072
02077 };
02078
02079
02080 static const yytype_uint8 yyr2[] =
02081 {
02082 0, 2, 3, 3, 1, 1, 0, 1, 1, 1,
02083 1, 3, 1, 1, 0, 6, 0, 2, 1, 1,
02084 1, 2, 1, 3, 1, 1, 2, 1, 1, 1,
02085 1, 1, 1, 1, 1, 1, 1, 3, 1, 1,
02086 1, 1, 1, 3, 1, 1, 1, 1, 1, 3,
02087 1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
02088 1, 3, 0, 2, 1, 1, 1, 2, 1, 3,
02089 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
02090 1, 1, 1, 1, 2, 1, 1, 1, 2, 1,
02091 3, 1, 2, 1, 1, 1, 2, 1, 3, 1,
02092 2, 1, 1, 1, 2, 1, 3, 1, 3, 1,
02093 0, 1, 3, 1, 1, 2, 1, 3, 1, 2,
02094 1, 1, 1, 2, 1, 3, 1, 2, 1, 1,
02095 1, 2, 1, 3, 1, 2, 1, 1, 1, 2,
02096 1, 3, 1, 2, 1, 1, 1, 2, 1, 3,
02097 1, 2, 1, 1, 1, 2, 1, 3, 1, 3,
02098 1, 0, 1, 3, 1, 1, 2, 1, 3, 1,
02099 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
02100 2, 3, 1, 1, 0, 2, 1, 1, 1, 2,
02101 1, 0, 2, 1, 1, 1, 2, 1, 3, 1,
02102 1, 2, 1, 1, 1, 1, 1, 3, 1, 1,
02103 0, 2, 1, 1, 3, 1, 3, 1, 1, 0,
02104 2, 1, 1, 3, 1, 3, 1, 1, 0, 2,
02105 1, 1, 3, 1, 3, 1, 0, 1, 3, 1,
02106 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
02107 2, 3, 1, 1, 0, 2, 1, 1, 1, 2,
02108 1, 0, 2, 1, 1, 1, 2, 1, 3, 1,
02109 1, 2, 1, 1, 2, 1, 1, 1, 2, 1,
02110 3, 1, 3, 1, 1, 1, 1, 2, 1, 3,
02111 1, 1, 2, 3, 1, 1, 0, 2, 1, 1,
02112 1, 2, 1, 0, 2, 1, 1, 1, 2, 1,
02113 3, 1, 1, 2, 1, 1, 1, 1, 1, 1,
02114 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
02115 1, 0, 1, 1, 1, 2, 1, 3, 1, 1,
02116 2, 1, 1, 1, 2, 1, 3, 1, 3, 1,
02117 1, 1, 1, 2, 1, 3, 1, 2, 4, 3,
02118 1, 1, 1, 2, 1, 3, 3, 1, 1, 1,
02119 2, 1, 3, 3, 1, 1, 1, 2, 1, 3,
02120 3, 1, 1, 1, 2, 1, 3, 3, 1, 1,
02121 1, 1, 2, 1, 3, 1, 2, 1, 3, 1,
02122 1, 1, 1, 2, 1, 3, 1, 2, 1, 3,
02123 1, 1, 1, 1, 2, 1, 3, 1, 2, 1,
02124 3, 1, 1, 1, 1, 2, 1, 3, 1, 2,
02125 1, 3, 1, 1, 1, 1, 2, 1, 3, 3,
02126 1, 1, 1, 1, 2, 1, 3, 3, 1, 1,
02127 1, 1, 2, 1, 3, 1, 2, 4, 3, 1,
02128 1, 1, 1, 2, 1, 3, 1, 1, 2, 3,
02129 1, 1, 0, 2, 1, 1, 1, 2, 1, 0,
02130 3, 1, 1, 0, 2, 1, 1, 1, 1, 1,
02131 1, 3, 4, 0, 3, 1, 1, 0, 1, 1,
02132 1, 1, 3, 6, 0, 3, 1, 1, 1, 1,
02133 2, 1, 3, 1, 1, 2, 3, 1, 1, 0,
02134 2, 1, 1, 1, 2, 1, 0, 3, 1, 1,
02135 1, 1, 2, 1, 3, 1, 1, 2, 3, 1,
02136 1, 0, 2, 1, 1, 1, 2, 1, 0, 2,
02137 1, 1, 1, 1, 3, 7, 0, 3, 1, 1,
02138 1, 1, 1, 3, 1, 0, 3, 1, 1, 1,
02139 1, 1, 3, 1, 0, 3, 1, 1, 1, 1,
02140 1, 3, 1, 0, 3, 1, 1, 1, 1, 1,
02141 3, 1, 0, 3, 1, 1, 1, 1, 1, 3,
02142 1, 0, 3, 1, 1, 1, 1, 1, 3, 1,
02143 0, 3, 1, 1, 1, 1, 1, 3, 1, 0,
02144 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
02145 2, 3, 1, 1, 0, 2, 1, 1, 1, 2,
02146 1, 0, 3, 1, 4, 1, 1, 2, 1, 3,
02147 1, 2, 3, 1, 1, 0, 2, 1, 1, 1,
02148 1, 1, 2, 1, 3, 0, 2, 3, 1, 1,
02149 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
02150 1, 1, 1, 1, 2, 1, 3, 1, 1, 1,
02151 2, 3, 1, 1, 0, 2, 1, 1, 1, 1,
02152 1, 1, 2, 1, 0, 3, 1, 1, 0, 1,
02153 1, 1, 1, 3, 4, 0, 3, 1, 1, 1,
02154 1, 2, 1, 3, 1, 1, 2, 3, 1, 1,
02155 0, 2, 1, 1, 1, 2, 1, 0, 3, 1,
02156 1, 1, 1, 2, 1, 3, 1, 1, 2, 3,
02157 1, 1, 0, 2, 1, 1, 1, 1, 2, 1,
02158 0, 2, 1, 1, 1, 1, 3, 7, 0, 3,
02159 1, 1, 1, 1, 1, 3, 1, 0, 3, 1,
02160 1, 1, 1, 1, 3, 1, 0, 3, 1, 1,
02161 1, 1, 1, 3, 1, 0, 3, 1, 1, 1,
02162 1, 1, 3, 1, 0, 3, 1, 1, 1, 1,
02163 1, 3, 1, 0, 3, 1, 1, 1, 1, 1,
02164 3, 1, 0, 3, 1, 1, 1, 1, 1, 3,
02165 1, 0, 2, 3, 1, 1, 0, 2, 1, 1,
02166 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
02167 2, 1, 3, 1, 1, 1, 2, 3, 1, 1,
02168 0, 2, 1, 1, 1, 1, 1, 1, 2, 1,
02169 0, 3, 1, 1, 0, 1, 1, 1, 1, 3,
02170 4, 0, 3, 1, 1, 1, 1, 2, 1, 3,
02171 1, 1, 2, 3, 1, 1, 0, 2, 1, 1,
02172 1, 2, 1, 0, 3, 1, 1, 1, 1, 2,
02173 1, 3, 1, 1, 2, 3, 1, 1, 0, 2,
02174 1, 1, 1, 1, 2, 1, 0, 2, 1, 1,
02175 1, 1, 3, 7, 0, 3, 1, 1, 1, 1,
02176 1, 3, 1, 0, 3, 1, 1, 1, 1, 1,
02177 3, 1, 0, 3, 1, 1, 1, 1, 1, 3,
02178 1, 0, 3, 1, 1, 1, 1, 1, 3, 1,
02179 0, 3, 1, 1, 1, 1, 1, 3, 1, 0,
02180 3, 1, 1, 1, 1, 1, 3, 1, 0, 3,
02181 1, 1, 1, 1, 1, 3, 1, 0, 2, 3,
02182 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
02183 1, 1, 1, 1, 1, 1, 2, 1, 3, 1,
02184 1, 1, 2, 3, 1, 1, 0, 2, 1, 1,
02185 1, 1, 1, 1, 2, 1, 0, 3, 1, 1,
02186 1, 1, 1, 3, 0, 2, 3, 1, 1, 1,
02187 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
02188 2, 1, 3, 1, 1, 2, 1, 1, 1, 1,
02189 1, 3, 1, 1, 2, 4, 3, 1, 1, 0,
02190 2, 1, 1, 1, 3, 3, 3, 2, 1, 1,
02191 1, 1, 1, 3, 1, 1, 1, 1, 3, 1,
02192 1, 1, 1, 3, 1, 1, 1, 1, 3, 1,
02193 4, 1, 1, 4, 1, 1, 1, 1, 3, 1,
02194 1, 1, 1, 4, 1, 1, 1, 1, 3, 1,
02195 1, 1, 1, 3, 1, 1, 1, 1, 3, 1,
02196 1, 4, 1, 1, 1, 1, 3, 1, 1, 1,
02197 1, 3, 1, 1, 1, 1, 4, 1, 1, 1,
02198 1, 3, 1, 1, 1, 1, 3, 1, 1, 1,
02199 1, 3, 4, 4, 4, 4, 4, 4, 4, 4,
02200 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
02201 1, 2, 3, 1, 1, 0, 2, 1, 1, 1,
02202 1, 1, 1, 3, 1, 1, 1, 0, 2, 3,
02203 1, 1, 0, 2, 1, 1, 3, 3, 4, 1,
02204 1, 2, 1, 3, 4, 4, 1, 1, 2, 0,
02205 2, 1, 1, 1, 1
02206 };
02207
02208
02209
02210
02211 static const yytype_uint16 yydefact[] =
02212 {
02213 0, 5, 4, 0, 16, 6, 1, 18, 14, 62,
02214 0, 7, 0, 13, 2, 12, 64, 191, 0, 0,
02215 22, 17, 19, 20, 16, 10, 3, 8, 9, 193,
02216 261, 0, 0, 68, 63, 65, 66, 21, 0, 36,
02217 35, 0, 42, 41, 0, 48, 47, 0, 54, 53,
02218 0, 60, 59, 0, 24, 25, 27, 32, 33, 34,
02219 28, 38, 39, 40, 29, 44, 45, 46, 30, 50,
02220 51, 52, 31, 56, 57, 58, 14, 263, 303, 0,
02221 0, 197, 192, 194, 195, 67, 85, 93, 101, 109,
02222 120, 128, 136, 144, 152, 160, 171, 0, 70, 71,
02223 73, 0, 74, 0, 75, 0, 76, 110, 77, 0,
02224 78, 0, 79, 0, 80, 0, 81, 0, 82, 161,
02225 83, 0, 0, 0, 0, 0, 0, 23, 26, 11,
02226 305, 479, 0, 0, 267, 262, 264, 265, 196, 241,
02227 208, 217, 226, 235, 0, 199, 200, 202, 210, 203,
02228 219, 204, 228, 205, 236, 206, 0, 69, 72, 0,
02229 89, 84, 86, 87, 0, 97, 92, 94, 95, 0,
02230 105, 100, 102, 103, 0, 0, 111, 0, 124, 119,
02231 121, 122, 0, 132, 127, 129, 130, 0, 140, 135,
02232 137, 138, 0, 148, 143, 145, 146, 0, 156, 151,
02233 153, 154, 0, 0, 162, 1229, 0, 172, 37, 43,
02234 49, 55, 61, 481, 15, 483, 0, 309, 304, 306,
02235 307, 266, 283, 275, 0, 269, 270, 272, 0, 273,
02236 0, 198, 201, 0, 209, 0, 218, 0, 227, 0,
02237 1102, 0, 237, 1099, 1100, 1101, 0, 242, 91, 88,
02238 0, 99, 96, 0, 107, 104, 0, 0, 0, 116,
02239 108, 113, 114, 126, 123, 0, 134, 131, 0, 142,
02240 139, 0, 150, 147, 0, 158, 155, 0, 0, 0,
02241 167, 159, 164, 165, 0, 0, 0, 176, 170, 173,
02242 174, 0, 482, 308, 459, 330, 341, 349, 360, 367,
02243 374, 381, 440, 432, 388, 399, 421, 410, 448, 0,
02244 311, 312, 314, 331, 315, 0, 316, 0, 317, 0,
02245 318, 0, 319, 0, 320, 0, 321, 0, 322, 0,
02246 324, 0, 323, 0, 325, 0, 326, 0, 327, 0,
02247 328, 0, 268, 271, 0, 279, 274, 276, 277, 0,
02248 284, 0, 207, 0, 1160, 211, 213, 212, 1157, 1158,
02249 1159, 0, 216, 220, 222, 221, 0, 225, 229, 231,
02250 230, 1229, 0, 234, 0, 246, 240, 243, 244, 90,
02251 98, 106, 112, 118, 115, 0, 125, 133, 141, 149,
02252 157, 163, 169, 166, 0, 1229, 1228, 1231, 1232, 1233,
02253 1234, 1230, 175, 182, 0, 178, 179, 184, 493, 490,
02254 480, 488, 489, 1229, 1229, 1229, 484, 486, 487, 485,
02255 310, 313, 0, 332, 0, 345, 340, 342, 343, 0,
02256 0, 350, 0, 0, 0, 0, 0, 0, 0, 389,
02257 0, 400, 0, 411, 0, 422, 0, 433, 0, 441,
02258 0, 0, 449, 0, 460, 281, 278, 0, 0, 288,
02259 282, 285, 286, 1226, 1227, 0, 215, 0, 0, 224,
02260 0, 233, 1103, 239, 0, 245, 252, 0, 248, 249,
02261 254, 117, 168, 1182, 177, 180, 0, 183, 495, 0,
02262 704, 497, 0, 0, 0, 0, 336, 329, 333, 334,
02263 347, 344, 0, 0, 0, 354, 348, 351, 352, 0,
02264 0, 364, 359, 361, 362, 0, 371, 366, 368, 369,
02265 0, 378, 373, 375, 376, 0, 385, 380, 382, 383,
02266 0, 0, 393, 387, 390, 391, 0, 404, 398, 401,
02267 402, 0, 415, 409, 412, 413, 0, 426, 420, 423,
02268 424, 0, 437, 431, 434, 435, 0, 445, 439, 442,
02269 443, 0, 0, 453, 447, 450, 451, 0, 464, 458,
02270 461, 462, 280, 287, 294, 0, 290, 291, 296, 214,
02271 1161, 223, 232, 238, 247, 250, 0, 253, 0, 190,
02272 181, 0, 0, 1127, 1165, 185, 188, 186, 1124, 1125,
02273 1126, 187, 1162, 1163, 1164, 491, 706, 870, 708, 1229,
02274 0, 496, 498, 1229, 1229, 1229, 335, 0, 338, 339,
02275 346, 0, 0, 353, 0, 356, 0, 363, 0, 0,
02276 1073, 370, 0, 377, 0, 384, 0, 0, 1077, 392,
02277 0, 395, 397, 1079, 403, 0, 406, 408, 414, 0,
02278 417, 419, 425, 0, 428, 430, 436, 0, 444, 0,
02279 0, 452, 0, 0, 455, 463, 470, 0, 466, 467,
02280 472, 289, 292, 0, 295, 0, 260, 251, 255, 258,
02281 256, 257, 189, 1229, 0, 872, 1036, 874, 1229, 0,
02282 707, 709, 0, 504, 501, 494, 499, 500, 1189, 1179,
02283 1173, 337, 1177, 0, 355, 357, 1185, 0, 365, 1074,
02284 372, 379, 386, 1184, 394, 396, 0, 1078, 405, 407,
02285 416, 418, 427, 429, 438, 446, 1186, 0, 454, 456,
02286 465, 468, 0, 471, 0, 302, 293, 297, 300, 298,
02287 299, 259, 1128, 1166, 1038, 492, 0, 1229, 0, 873,
02288 875, 0, 715, 712, 705, 710, 711, 1229, 506, 0,
02289 526, 0, 0, 0, 0, 1088, 1076, 0, 0, 0,
02290 1080, 1081, 1082, 1083, 0, 0, 478, 469, 473, 476,
02291 474, 475, 301, 1229, 0, 1039, 0, 881, 878, 871,
02292 876, 877, 1229, 717, 0, 737, 0, 1183, 502, 528,
02293 548, 0, 1229, 0, 507, 358, 1075, 1087, 0, 0,
02294 0, 457, 477, 0, 1044, 1042, 1037, 1040, 1041, 1229,
02295 883, 0, 903, 0, 1181, 713, 739, 760, 0, 1229,
02296 0, 718, 550, 619, 0, 0, 529, 0, 0, 511,
02297 505, 508, 509, 1084, 1085, 1086, 1229, 0, 1180, 879,
02298 905, 926, 0, 1229, 0, 884, 762, 831, 0, 0,
02299 740, 0, 0, 722, 716, 719, 720, 621, 641, 0,
02300 556, 553, 549, 551, 552, 0, 533, 527, 530, 531,
02301 1229, 510, 517, 0, 513, 514, 519, 1187, 1043, 1047,
02302 1045, 0, 928, 997, 0, 0, 906, 0, 0, 888,
02303 882, 885, 886, 714, 768, 765, 761, 763, 764, 0,
02304 744, 738, 741, 742, 1229, 721, 728, 0, 724, 725,
02305 730, 643, 665, 0, 0, 622, 558, 0, 565, 0,
02306 539, 532, 0, 535, 536, 541, 1188, 512, 515, 0,
02307 518, 0, 0, 1229, 1145, 1092, 0, 1137, 0, 1048,
02308 1049, 1054, 1089, 1090, 1091, 1056, 1051, 1053, 1134, 1135,
02309 1136, 1055, 1142, 1143, 1144, 1052, 1057, 880, 934, 931,
02310 927, 929, 930, 0, 910, 904, 907, 908, 1229, 887,
02311 894, 0, 890, 891, 896, 834, 832, 836, 770, 0,
02312 777, 0, 750, 743, 0, 746, 747, 752, 1178, 723,
02313 726, 0, 729, 503, 0, 0, 0, 626, 620, 623,
02314 624, 554, 567, 574, 0, 1229, 0, 559, 534, 537,
02315 0, 540, 0, 525, 516, 1229, 520, 521, 1111, 1112,
02316 522, 523, 1229, 0, 0, 1229, 0, 1061, 1046, 1058,
02317 1059, 1050, 1000, 998, 1002, 936, 0, 943, 0, 916,
02318 909, 0, 912, 913, 918, 1172, 889, 892, 0, 895,
02319 0, 835, 766, 779, 786, 0, 0, 771, 745, 748,
02320 0, 751, 0, 736, 727, 731, 732, 733, 734, 668,
02321 666, 670, 0, 0, 648, 642, 645, 646, 632, 625,
02322 0, 628, 629, 634, 576, 583, 0, 0, 568, 0,
02323 1207, 562, 557, 560, 561, 0, 547, 538, 542, 543,
02324 544, 545, 524, 0, 1093, 1146, 1229, 1138, 1060, 1070,
02325 0, 1069, 0, 1063, 1064, 1066, 1067, 1068, 0, 1001,
02326 932, 945, 952, 0, 0, 937, 911, 914, 0, 917,
02327 0, 902, 893, 897, 898, 899, 900, 0, 851, 833,
02328 848, 849, 1229, 0, 1107, 0, 1132, 837, 843, 847,
02329 846, 1104, 1105, 1106, 840, 845, 1129, 1130, 1131, 842,
02330 844, 841, 839, 838, 788, 795, 0, 0, 780, 1207,
02331 774, 769, 772, 773, 0, 759, 749, 1117, 1150, 0,
02332 0, 753, 754, 756, 1114, 1115, 1116, 755, 757, 1147,
02333 1148, 1149, 735, 0, 669, 0, 647, 653, 0, 650,
02334 655, 627, 630, 0, 633, 585, 592, 0, 0, 577,
02335 1207, 571, 566, 569, 570, 1229, 0, 0, 564, 1205,
02336 1206, 546, 1229, 1176, 1072, 0, 1062, 1065, 0, 1017,
02337 999, 1014, 1015, 0, 1097, 1003, 1009, 1011, 1094, 1095,
02338 1096, 1013, 1012, 1006, 1008, 1010, 1007, 1004, 1005, 954,
02339 961, 0, 0, 946, 1207, 940, 935, 938, 939, 0,
02340 925, 915, 1122, 1155, 1229, 1229, 919, 920, 922, 1119,
02341 1120, 1121, 921, 923, 1152, 1153, 1154, 901, 850, 858,
02342 1193, 0, 853, 855, 860, 854, 1190, 1195, 0, 0,
02343 0, 797, 804, 0, 0, 789, 1207, 783, 778, 781,
02344 782, 0, 776, 758, 1229, 1229, 0, 685, 667, 682,
02345 683, 0, 1170, 671, 677, 681, 680, 674, 676, 678,
02346 675, 679, 1167, 1168, 1169, 673, 672, 644, 649, 651,
02347 0, 654, 0, 640, 631, 635, 636, 637, 638, 594,
02348 601, 0, 0, 586, 1207, 580, 575, 578, 579, 0,
02349 573, 1174, 1229, 0, 563, 1210, 1208, 1212, 1113, 1071,
02350 1016, 1024, 0, 1019, 1021, 1026, 1020, 0, 963, 970,
02351 0, 0, 955, 1207, 949, 944, 947, 948, 0, 942,
02352 924, 0, 0, 852, 856, 0, 859, 1191, 0, 1194,
02353 1229, 1108, 1133, 806, 813, 0, 0, 798, 1207, 792,
02354 787, 790, 791, 0, 785, 775, 1118, 1151, 684, 692,
02355 0, 687, 689, 694, 688, 0, 0, 663, 652, 660,
02356 661, 0, 1229, 656, 659, 1109, 657, 1139, 1140, 658,
02357 639, 603, 610, 0, 0, 595, 1207, 589, 584, 587,
02358 588, 0, 582, 572, 0, 0, 1222, 1217, 1219, 1220,
02359 0, 1211, 1018, 1022, 0, 1025, 1098, 972, 979, 0,
02360 0, 964, 1207, 958, 953, 956, 957, 0, 951, 941,
02361 1229, 1229, 0, 869, 857, 867, 861, 862, 865, 863,
02362 866, 864, 1207, 1202, 1192, 1200, 1201, 1199, 1198, 1197,
02363 1196, 1175, 815, 822, 0, 0, 807, 1207, 801, 796,
02364 799, 800, 0, 794, 784, 686, 690, 0, 693, 1171,
02365 662, 0, 0, 0, 612, 555, 0, 0, 604, 1207,
02366 598, 593, 596, 597, 0, 591, 581, 1229, 0, 1221,
02367 0, 1209, 1229, 1229, 1213, 1215, 1214, 0, 1035, 1023,
02368 1033, 1027, 1028, 1031, 1029, 1032, 1030, 981, 988, 0,
02369 0, 973, 1207, 967, 962, 965, 966, 0, 960, 950,
02370 1123, 1156, 868, 0, 1204, 824, 767, 0, 0, 816,
02371 1207, 810, 805, 808, 809, 0, 803, 793, 0, 703,
02372 691, 701, 695, 696, 699, 697, 700, 698, 664, 0,
02373 1229, 0, 613, 1207, 607, 602, 605, 606, 0, 600,
02374 590, 1218, 1223, 0, 0, 0, 1034, 990, 933, 0,
02375 0, 982, 1207, 976, 971, 974, 975, 0, 969, 959,
02376 1203, 0, 825, 1207, 819, 814, 817, 818, 0, 812,
02377 802, 702, 1110, 1141, 1207, 616, 611, 614, 615, 0,
02378 609, 599, 1216, 1229, 1229, 0, 991, 1207, 985, 980,
02379 983, 984, 0, 978, 968, 1207, 828, 823, 826, 827,
02380 0, 821, 811, 0, 618, 608, 1224, 1225, 1207, 994,
02381 989, 992, 993, 0, 987, 977, 0, 830, 820, 617,
02382 0, 996, 986, 829, 995
02383 };
02384
02385
02386 static const yytype_int16 yydefgoto[] =
02387 {
02388 -1, 3, 4, 5, 12, 26, 27, 28, 14, 15,
02389 8, 9, 10, 21, 22, 23, 53, 54, 55, 56,
02390 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
02391 67, 68, 69, 70, 71, 72, 73, 74, 75, 17,
02392 18, 34, 35, 36, 97, 98, 99, 100, 101, 161,
02393 162, 163, 250, 102, 103, 166, 167, 168, 253, 104,
02394 105, 171, 172, 173, 256, 106, 107, 175, 176, 260,
02395 261, 262, 385, 108, 109, 179, 180, 181, 265, 110,
02396 111, 184, 185, 186, 268, 112, 113, 189, 190, 191,
02397 271, 114, 115, 194, 195, 196, 274, 116, 117, 199,
02398 200, 201, 277, 118, 119, 203, 204, 281, 282, 283,
02399 394, 120, 121, 206, 288, 289, 290, 404, 405, 406,
02400 407, 486, 487, 595, 590, 30, 31, 82, 83, 84,
02401 144, 145, 146, 147, 148, 233, 234, 355, 352, 465,
02402 149, 150, 235, 236, 363, 362, 468, 151, 152, 237,
02403 238, 368, 367, 470, 153, 154, 241, 373, 474, 155,
02404 156, 246, 376, 377, 378, 477, 478, 479, 480, 586,
02405 587, 678, 677, 78, 79, 135, 136, 137, 224, 225,
02406 226, 227, 228, 346, 347, 348, 457, 229, 230, 349,
02407 460, 461, 462, 575, 576, 577, 578, 673, 674, 737,
02408 736, 131, 132, 218, 219, 220, 309, 310, 311, 312,
02409 313, 422, 497, 498, 499, 617, 618, 314, 315, 426,
02410 427, 428, 502, 316, 317, 430, 506, 507, 508, 624,
02411 625, 318, 319, 512, 513, 514, 320, 321, 517, 518,
02412 519, 322, 323, 522, 523, 524, 324, 325, 527, 528,
02413 529, 326, 327, 438, 533, 534, 535, 640, 641, 328,
02414 329, 440, 538, 539, 540, 645, 646, 330, 331, 442,
02415 543, 544, 545, 649, 650, 332, 333, 444, 548, 549,
02416 550, 653, 654, 334, 335, 446, 553, 554, 555, 336,
02417 337, 448, 558, 559, 560, 338, 339, 451, 564, 565,
02418 566, 663, 664, 340, 341, 453, 569, 570, 571, 667,
02419 668, 669, 670, 732, 733, 778, 777, 214, 215, 291,
02420 292, 416, 410, 411, 412, 489, 490, 491, 610, 611,
02421 695, 696, 697, 759, 760, 761, 803, 840, 841, 842,
02422 883, 884, 885, 886, 939, 940, 1026, 1024, 800, 801,
02423 835, 877, 878, 879, 932, 933, 934, 935, 1020, 1021,
02424 1108, 1107, 833, 834, 872, 873, 874, 927, 928, 929,
02425 1016, 1102, 1103, 1104, 1227, 1013, 1014, 1097, 1222, 1223,
02426 1224, 1359, 1095, 1096, 1218, 1356, 1357, 1358, 1451, 1216,
02427 1217, 1352, 1448, 1449, 1450, 1534, 1350, 1351, 1444, 1531,
02428 1532, 1533, 1608, 1442, 1443, 1527, 1605, 1606, 1607, 1649,
02429 1525, 1526, 1601, 1646, 1647, 1648, 1673, 868, 869, 924,
02430 1008, 1009, 1010, 1090, 1091, 1092, 1093, 1213, 1214, 1345,
02431 1344, 922, 923, 1005, 1085, 1086, 1087, 1208, 1209, 1210,
02432 1340, 1341, 1433, 1428, 1429, 1430, 1003, 1080, 1081, 1203,
02433 1204, 1323, 1318, 1319, 1320, 1420, 1421, 1422, 1423, 1517,
02434 1518, 1592, 1590, 1591, 607, 608, 689, 690, 754, 755,
02435 756, 794, 795, 796, 830, 864, 865, 866, 917, 918,
02436 919, 920, 1001, 1002, 1075, 1074, 827, 828, 859, 911,
02437 912, 913, 994, 995, 996, 997, 1070, 1071, 1191, 1186,
02438 857, 858, 906, 907, 908, 989, 990, 991, 1066, 1181,
02439 1182, 1183, 1311, 1064, 1065, 1177, 1308, 1309, 1310, 1413,
02440 1175, 1176, 1304, 1410, 1411, 1412, 1512, 1302, 1303, 1406,
02441 1509, 1510, 1511, 1585, 1404, 1405, 1505, 1582, 1583, 1584,
02442 1638, 1503, 1504, 1578, 1635, 1636, 1637, 1670, 1576, 1577,
02443 1631, 1667, 1668, 1669, 1686, 903, 986, 987, 1060, 1061,
02444 1157, 1149, 1150, 1151, 1291, 1292, 1293, 1294, 1395, 1396,
02445 1486, 1484, 1485, 686, 687, 748, 749, 789, 790, 791,
02446 821, 822, 823, 854, 900, 901, 902, 981, 982, 983,
02447 984, 1058, 1059, 1143, 1142, 851, 852, 895, 975, 976,
02448 977, 1051, 1052, 1053, 1054, 1138, 1139, 1276, 1271, 893,
02449 894, 970, 971, 972, 1046, 1047, 1048, 1134, 1266, 1267,
02450 1268, 1388, 1132, 1133, 1262, 1385, 1386, 1387, 1477, 1260,
02451 1261, 1381, 1474, 1475, 1476, 1567, 1379, 1380, 1470, 1564,
02452 1565, 1566, 1627, 1468, 1469, 1560, 1624, 1625, 1626, 1662,
02453 1558, 1559, 1620, 1659, 1660, 1661, 1683, 1618, 1619, 1655,
02454 1680, 1681, 1682, 1690, 967, 1043, 1044, 1128, 1129, 1245,
02455 1240, 1241, 1242, 1372, 1373, 1374, 1375, 1464, 1465, 1551,
02456 1549, 1550, 745, 746, 784, 816, 817, 818, 847, 890,
02457 891, 948, 949, 950, 1038, 1039, 1040, 1122, 1123, 1124,
02458 1125, 1126, 1127, 1235, 629, 630, 642, 643, 716, 717,
02459 770, 771, 772, 773, 766, 951, 952, 953, 954, 1247,
02460 1248, 1249, 1250, 955, 243, 244, 245, 1160, 1161, 1162,
02461 1163, 1434, 1435, 1027, 1028, 1029, 1193, 1194, 1195, 1196,
02462 1278, 1279, 1280, 1281, 956, 598, 599, 600, 1165, 1166,
02463 1167, 1168, 957, 958, 959, 960, 1436, 1437, 1438, 961,
02464 962, 963, 964, 1198, 1199, 1200, 1201, 1283, 1284, 1285,
02465 1286, 357, 358, 359, 360, 965, 602, 603, 604, 1331,
02466 1332, 1333, 1334, 855, 417, 1017, 1172, 966, 431, 831,
02467 418, 750, 691, 207, 612, 439, 433, 452, 785, 804,
02468 419, 1295, 1296, 1297, 1398, 1399, 1500, 1494, 1495, 1496,
02469 1573, 1228, 1229, 1366, 1367, 1460, 1461, 1544, 1541, 1230,
02470 1363, 1457, 1458, 1459, 1545, 1546, 466, 284, 285, 401
02471 };
02472
02473
02474
02475 #define YYPACT_NINF -1370
02476 static const yytype_int16 yypact[] =
02477 {
02478 165, -1370, -1370, 98, 53, 116, -1370, -1370, 179, 62,
02479 236, -1370, 318, -1370, -1370, -1370, -1370, 117, 352, 576,
02480 -1370, -1370, -1370, -1370, 53, -1370, -1370, -1370, -1370, -1370,
02481 135, 357, 372, -1370, -1370, -1370, -1370, -1370, 219, -1370,
02482 -1370, 254, -1370, -1370, 262, -1370, -1370, 284, -1370, -1370,
02483 286, -1370, -1370, 217, 596, -1370, -1370, -1370, -1370, -1370,
02484 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02485 -1370, -1370, -1370, -1370, -1370, -1370, 179, -1370, 212, 359,
02486 -25, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02487 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 227, 444, -1370,
02488 -1370, 361, -1370, 368, -1370, 370, -1370, 225, -1370, 373,
02489 -1370, 378, -1370, 382, -1370, 384, -1370, 403, -1370, 241,
02490 -1370, 293, 232, 239, 263, 250, 260, -1370, -1370, -1370,
02491 -1370, 288, 405, -32, -1370, -1370, -1370, -1370, -1370, -1370,
02492 -1370, -1370, -1370, -1370, 295, 133, -1370, -1370, -1370, -1370,
02493 -1370, -1370, -1370, -1370, 114, -1370, 293, -1370, -1370, 32,
02494 -1370, -1370, -1370, -1370, 31, -1370, -1370, -1370, -1370, 42,
02495 -1370, -1370, -1370, -1370, 387, 407, -1370, 29, -1370, -1370,
02496 -1370, -1370, 26, -1370, -1370, -1370, -1370, 27, -1370, -1370,
02497 -1370, -1370, 30, -1370, -1370, -1370, -1370, 22, -1370, -1370,
02498 -1370, -1370, 399, 419, -1370, -1370, 425, -1370, -1370, -1370,
02499 -1370, -1370, -1370, -1370, -1370, -1370, 131, -1370, -1370, -1370,
02500 -1370, -1370, -1370, -1370, 324, 43, -1370, -1370, 427, -1370,
02501 293, -1370, -1370, 410, 177, 439, 177, 451, 177, 471,
02502 -1370, 455, -1370, -1370, -1370, -1370, 430, -1370, -1370, -1370,
02503 325, -1370, -1370, 362, -1370, -1370, 366, 472, 28, -1370,
02504 -1370, -1370, -1370, -1370, -1370, 374, -1370, -1370, 380, -1370,
02505 -1370, 364, -1370, -1370, 386, -1370, -1370, 393, 480, 25,
02506 -1370, -1370, -1370, -1370, 514, 12, 314, -1370, -1370, -1370,
02507 -1370, 434, 322, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02508 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 412,
02509 385, -1370, -1370, 79, -1370, 436, -1370, 488, -1370, 506,
02510 -1370, 506, -1370, 506, -1370, 506, -1370, 509, -1370, 509,
02511 -1370, 509, -1370, 509, -1370, 506, -1370, 506, -1370, 504,
02512 -1370, 293, -1370, -1370, 13, -1370, -1370, -1370, -1370, 442,
02513 -1370, 448, -1370, 530, -1370, -1370, -1370, -1370, -1370, -1370,
02514 -1370, 448, -1370, -1370, -1370, -1370, 448, -1370, -1370, -1370,
02515 -1370, -1370, 533, -1370, 331, -1370, -1370, -1370, -1370, -1370,
02516 -1370, -1370, -1370, -1370, -1370, 433, -1370, -1370, -1370, -1370,
02517 -1370, -1370, -1370, -1370, 415, -1370, -1370, -1370, -1370, -1370,
02518 -1370, -1370, -1370, -1370, 432, 429, -1370, -1370, 389, -1370,
02519 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02520 -1370, -1370, 453, -1370, 11, -1370, -1370, -1370, -1370, 554,
02521 457, -1370, 558, 460, 466, 490, 492, 560, 494, -1370,
02522 500, -1370, 503, -1370, 505, -1370, 513, -1370, 525, -1370,
02523 562, 563, -1370, 573, -1370, -1370, -1370, 452, 462, -1370,
02524 -1370, -1370, -1370, -1370, -1370, 447, -1370, 591, 470, -1370,
02525 473, -1370, -1370, -1370, 468, -1370, -1370, 495, 496, -1370,
02526 -1370, -1370, -1370, -1370, -1370, -1370, 575, 173, -1370, 546,
02527 438, 608, 645, 647, 654, 16, -1370, -1370, -1370, -1370,
02528 -1370, -1370, 518, 662, -64, -1370, -1370, -1370, -1370, 666,
02529 33, -1370, -1370, -1370, -1370, 443, -1370, -1370, -1370, -1370,
02530 -57, -1370, -1370, -1370, -1370, 90, -1370, -1370, -1370, -1370,
02531 670, 9, -1370, -1370, -1370, -1370, -97, -1370, -1370, -1370,
02532 -1370, -96, -1370, -1370, -1370, -1370, -88, -1370, -1370, -1370,
02533 -1370, -90, -1370, -1370, -1370, -1370, -84, -1370, -1370, -1370,
02534 -1370, 674, 423, -1370, -1370, -1370, -1370, 469, -1370, -1370,
02535 -1370, -1370, -1370, -1370, -1370, 556, 559, -1370, -1370, -1370,
02536 -1370, -1370, -1370, -1370, -1370, -1370, 592, 173, 566, -1370,
02537 -1370, 689, 697, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02538 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 531, 685, -1370,
02539 601, -1370, -1370, -1370, -1370, -1370, -1370, 624, -1370, -1370,
02540 -1370, 810, 809, -1370, -55, -1370, 812, -1370, 811, 77,
02541 -1370, -1370, 465, -1370, 105, -1370, 146, 814, -1370, -1370,
02542 40, -1370, -1370, -1370, -1370, 60, -1370, -1370, -1370, -33,
02543 -1370, -1370, -1370, -63, -1370, -1370, -1370, -30, -1370, -59,
02544 815, -1370, 816, 454, -1370, -1370, -1370, 696, 698, -1370,
02545 -1370, -1370, -1370, 618, 173, 695, -1370, -1370, -1370, -1370,
02546 -1370, -1370, -1370, -1370, 820, -1370, 609, 797, -1370, 620,
02547 -1370, -1370, 823, 656, -1370, -1370, -1370, -1370, -1370, -1370,
02548 -1370, -1370, -1370, 827, -1370, -1370, -1370, 830, -1370, -1370,
02549 -1370, -1370, -1370, -1370, -1370, -1370, 625, 334, -1370, -1370,
02550 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 831, -1370, -1370,
02551 -1370, -1370, 627, 173, 706, -1370, -1370, -1370, -1370, -1370,
02552 -1370, -1370, -1370, -1370, -1370, -1370, 813, -1370, 629, -1370,
02553 -1370, 832, 630, -1370, -1370, -1370, -1370, -1370, -1370, 663,
02554 659, 805, 727, 692, 691, -1370, -1370, 843, 844, 845,
02555 -1370, -1370, -1370, -1370, 675, 720, -1370, -1370, -1370, -1370,
02556 -1370, -1370, -1370, -1370, 637, -1370, 846, 636, -1370, -1370,
02557 -1370, -1370, -1370, -1370, 649, 642, 818, -1370, -1370, -1370,
02558 676, 805, -1370, 639, -1370, -1370, -1370, -1370, 849, 850,
02559 852, -1370, -1370, 856, -1370, -1370, -1370, -1370, -1370, -1370,
02560 -1370, 650, 644, 826, -1370, -1370, -1370, 683, 818, -1370,
02561 646, -1370, -1370, 668, 648, 693, -1370, 862, 527, -1370,
02562 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 485, -1370, -1370,
02563 -1370, 686, 826, -1370, 699, -1370, -1370, -1370, 701, 703,
02564 -1370, 864, 507, -1370, -1370, -1370, -1370, -1370, 671, 805,
02565 688, -1370, -1370, -1370, -1370, 100, -1370, -1370, -1370, -1370,
02566 -1370, -1370, -1370, 700, 702, -1370, -1370, -1370, -1370, -1370,
02567 -1370, 341, -1370, -1370, 707, 712, -1370, 865, 508, -1370,
02568 -1370, -1370, -1370, 745, 690, -1370, -1370, -1370, -1370, 94,
02569 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 669, 667, -1370,
02570 -1370, -1370, -1370, 851, 716, -1370, -1370, 704, 694, 839,
02571 -1370, -1370, 705, 710, -1370, -1370, -1370, -1370, -1370, 718,
02572 221, 879, 881, -1370, -1370, -1370, 882, -1370, 722, 341,
02573 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02574 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 757, 708, -1370,
02575 -1370, -1370, -1370, 107, -1370, -1370, -1370, -1370, -1370, -1370,
02576 -1370, 678, 673, -1370, -1370, -1370, -1370, -1370, -1370, 711,
02577 709, 839, -1370, -1370, 679, 687, -1370, -1370, -1370, -1370,
02578 -1370, 724, 221, 768, 884, 726, -121, -1370, -1370, -1370,
02579 -1370, -1370, -1370, 713, 839, -1370, 728, -1370, -1370, -1370,
02580 730, 221, 719, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02581 -1370, -1370, -1370, 893, 896, -1370, 83, -1370, -1370, -1370,
02582 -1370, -1370, -1370, -1370, -1370, -1370, 721, 717, 839, -1370,
02583 -1370, 714, 715, -1370, -1370, -1370, -1370, -1370, 732, 221,
02584 736, 151, -1370, -1370, 723, 839, 738, -1370, -1370, -1370,
02585 740, 124, 725, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02586 -1370, -1370, 901, 550, -1370, -1370, -1370, -1370, -1370, -1370,
02587 729, 735, -1370, -1370, -1370, 731, 839, 744, -1370, 903,
02588 680, -1370, -1370, -1370, -1370, 737, -1370, -1370, -1370, -1370,
02589 -1370, -1370, -1370, 909, -1370, -1370, -1370, -1370, -1370, -1370,
02590 913, -1370, 733, 95, -1370, -1370, -1370, -1370, 746, 291,
02591 -1370, -1370, 734, 839, 748, -1370, -1370, -1370, 750, 277,
02592 741, -1370, -1370, -1370, -1370, -1370, -1370, -92, -1370, -1370,
02593 -1370, -1370, -1370, 916, -1370, 917, -1370, -1370, -1370, -1370,
02594 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02595 -1370, -1370, -1370, -1370, -1370, 739, 839, 752, -1370, 680,
02596 -1370, -1370, -1370, -1370, 742, -1370, -1370, -1370, -1370, 920,
02597 921, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02598 -1370, -1370, -1370, 754, 564, 918, -1370, -1370, 565, -1370,
02599 -1370, -1370, -1370, 759, 221, -1370, 743, 839, 761, -1370,
02600 680, -1370, -1370, -1370, -1370, -1370, 749, 747, -1370, 751,
02601 -1370, -1370, -1370, -1370, -1370, 756, -1370, -1370, -91, -1370,
02602 -1370, -1370, -1370, 922, -1370, -1370, -1370, -1370, -1370, -1370,
02603 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02604 755, 839, 763, -1370, 680, -1370, -1370, -1370, -1370, 753,
02605 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02606 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02607 -1370, 801, 758, -1370, -1370, 764, -1370, -1370, 930, 919,
02608 929, -1370, 760, 839, 765, -1370, 680, -1370, -1370, -1370,
02609 -1370, 762, -1370, -1370, -1370, -1370, -68, -1370, -1370, -1370,
02610 -1370, 925, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02611 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02612 767, 88, 770, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02613 771, 839, 769, -1370, 680, -1370, -1370, -1370, -1370, 766,
02614 -1370, -1370, -1370, 772, -1370, -1370, -1370, -1370, -1370, -1370,
02615 -1370, -1370, 817, 773, -1370, -1370, 764, 931, -1370, 775,
02616 839, 774, -1370, 680, -1370, -1370, -1370, -1370, 777, -1370,
02617 -1370, 448, 448, -1370, -1370, 776, 363, -1370, 778, 69,
02618 -1370, -1370, -1370, -1370, 779, 839, 780, -1370, 680, -1370,
02619 -1370, -1370, -1370, 783, -1370, -1370, -1370, -1370, -1370, -1370,
02620 819, 781, -1370, -1370, 764, 932, -127, -1370, -1370, -1370,
02621 -1370, 933, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02622 -1370, -1370, 789, 839, 782, -1370, 680, -1370, -1370, -1370,
02623 -1370, 787, -1370, -1370, 936, 7, -1370, -1370, -1370, -1370,
02624 935, 561, -1370, -1370, 786, 363, -1370, -1370, 784, 839,
02625 788, -1370, 680, -1370, -1370, -1370, -1370, 793, -1370, -1370,
02626 -1370, -1370, 785, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02627 -1370, -1370, 680, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02628 -1370, -1370, -1370, 791, 839, 790, -1370, 680, -1370, -1370,
02629 -1370, -1370, 808, -1370, -1370, -1370, -1370, 792, 363, -1370,
02630 -1370, -126, 448, 945, -1370, -1370, 839, 794, -1370, 680,
02631 -1370, -1370, -1370, -1370, 807, -1370, -1370, -1370, 795, -1370,
02632 947, -1370, -1370, -1370, -1370, -1370, -1370, 799, -1370, -1370,
02633 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 803, 839,
02634 796, -1370, 680, -1370, -1370, -1370, -1370, 821, -1370, -1370,
02635 -1370, -1370, -1370, 822, -1370, -1370, -1370, 839, 798, -1370,
02636 680, -1370, -1370, -1370, -1370, 824, -1370, -1370, 825, -1370,
02637 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 946,
02638 -1370, 800, -1370, 680, -1370, -1370, -1370, -1370, 828, -1370,
02639 -1370, -1370, -1370, 829, 952, 955, -1370, -1370, -1370, 839,
02640 802, -1370, 680, -1370, -1370, -1370, -1370, 833, -1370, -1370,
02641 -1370, 804, -1370, 680, -1370, -1370, -1370, -1370, 834, -1370,
02642 -1370, -1370, -1370, -1370, 680, -1370, -1370, -1370, -1370, 837,
02643 -1370, -1370, -1370, -1370, -1370, 806, -1370, 680, -1370, -1370,
02644 -1370, -1370, 840, -1370, -1370, 680, -1370, -1370, -1370, -1370,
02645 847, -1370, -1370, 841, -1370, -1370, -1370, -1370, 680, -1370,
02646 -1370, -1370, -1370, 848, -1370, -1370, 842, -1370, -1370, -1370,
02647 854, -1370, -1370, -1370, -1370
02648 };
02649
02650
02651 static const yytype_int16 yypgoto[] =
02652 {
02653 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 886, -1370,
02654 941, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 912, -1370,
02655 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02656 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02657 -1370, -1370, -1370, -1370, -1370, -1370, 870, -1370, -1370, -1370,
02658 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02659 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02660 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02661 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02662 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02663 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02664 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 569,
02665 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02666 -1370, -1370, 835, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02667 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02668 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02669 -1370, -1370, -1370, -1370, -1370, -1370, -1370, 491, -1370, -1370,
02670 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02671 838, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02672 -1370, -1370, -1370, -1370, -1370, 402, -1370, -1370, -1370, -1370,
02673 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 682, -1370,
02674 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02675 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02676 355, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02677 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02678 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 353, -1370,
02679 -1370, -1370, -1370, -1370, -1370, -1370, 349, -1370, -1370, -1370,
02680 -1370, -1370, -1370, -1370, 348, -1370, -1370, -1370, -1370, -1370,
02681 -1370, -1370, 345, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02682 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02683 -1370, -1370, 338, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02684 -1370, 335, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02685 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02686 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02687 -1370, -1370, 118, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02688 -1370, -1370, -1370, -1370, -1370, -1370, 71, -1370, -1370, -1370,
02689 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02690 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02691 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02692 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02693 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02694 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02695 -1370, -1370, -1370, -1370, -420, -1082, -1370, -1370, -1370, -1370,
02696 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -201, -1370,
02697 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02698 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -413, -1370, -1370,
02699 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02700 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02701 92, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02702 -1370, -1370, -1370, -1370, 17, -1370, -1370, -1370, -1370, -1370,
02703 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02704 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02705 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02706 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02707 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02708 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02709 -1370, -1370, -1370, -1370, -1370, -1370, -281, -1370, -1370, -1370,
02710 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02711 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, 36,
02712 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02713 -1370, -1370, -1370, -39, -1370, -1370, -1370, -1370, -1370, -1370,
02714 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02715 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02716 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02717 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02718 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02719 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02720 -1370, -1370, -1370, -1370, -1370, -358, -1370, -1370, -1370, -1370,
02721 -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02722 -1370, -1370, -1370, 65, -1370, -1370, -1370, -1370, -1370, -104,
02723 -1370, -1370, -1370, -1370, -346, -402, -482, -1370, -1370, -1370,
02724 -1370, -1370, -1370, -1370, -1370, -1045, -1370, -1370, -1370, -1370,
02725 -1370, -1370, -1370, -153, -1370, -1370, -1370, -1088, -1370, -1370,
02726 -1370, -1370, -1370, -996, -1370, -1370, -1369, -1370, -1370, -1370,
02727 -1370, -1370, -1370, -1370, -484, -1370, -1370, -1370, -1370, -1370,
02728 -1370, -1370, -1043, -1370, -1370, -1370, -1370, -1370, -1370, -1040,
02729 -1370, -1370, -1370, -1368, -1370, -1370, -1370, -1370, -1370, -1370,
02730 -1370, -191, -1370, -1370, -1370, -483, -1370, -1370, -1370, -1370,
02731 -1370, -1370, -1370, -842, -1370, -977, -1081, -1370, -1370, -816,
02732 -1370, -1370, -1370, -143, -1370, -263, -52, -1370, -1370, -796,
02733 -1370, -1198, -1276, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02734 -1370, -1171, -1370, -1370, -1370, -1370, -1370, -1370, -1370, -1370,
02735 -1370, -1370, -1370, -1370, -1370, -1370, -359, -371, -1370, -1370
02736 };
02737
02738
02739
02740
02741
02742 #define YYTABLE_NINF -1
02743 static const yytype_uint16 yytable[] =
02744 {
02745 472, 242, 469, 597, 601, 836, 1076, 471, 1312, 1212,
02746 896, 1538, 860, 247, 1067, 500, 1158, 455, 1169, 1397,
02747 396, 1170, 463, 464, 483, 1109, 275, 1488, 1490, 392,
02748 266, 269, 383, 263, 272, 251, 248, 1098, 1288, 1370,
02749 1376, 1252, 492, 493, 494, 365, 254, 370, 1258, 1360,
02750 221, 622, 1088, 1088, 647, 138, 638, 638, 1088, 651,
02751 622, 628, 1418, 1144, 655, 638, 441, 628, 443, 644,
02752 445, 1135, 656, 925, 648, 1192, 658, 1520, 1598, 1089,
02753 652, 356, 623, 364, 1246, 369, 1254, 350, 1178, 1255,
02754 638, 704, 628, 1389, 628, 222, 1553, 1555, 6, 633,
02755 1397, 725, 139, 680, 681, 722, 140, 223, 141, 1015,
02756 142, 1419, 143, 592, 1431, 239, 1326, 1289, 1424, 1219,
02757 638, 628, 423, 1335, 353, 802, 1371, 240, 7, 594,
02758 11, 1432, 724, 1290, 1290, 1414, 619, 720, 354, 16,
02759 249, 252, 384, 1277, 267, 264, 276, 270, 1397, 1594,
02760 1596, 393, 273, 456, 255, 501, 1263, 1290, 616, 1324,
02761 239, 1328, 638, 647, 1329, 591, 1025, 651, 1152, 632,
02762 222, 655, 240, 639, 634, 941, 942, 1, 2, 636,
02763 593, 627, 223, 1452, 628, 1187, 1188, 1189, 1190, 829,
02764 739, 740, 591, 638, 13, 592, 29, 239, 454, 1305,
02765 1153, 1154, 1155, 1156, 714, 657, 944, 593, 945, 240,
02766 659, 594, 1478, 638, 591, 293, 77, 592, 1346, 239,
02767 946, 947, 353, 239, 122, 708, 718, 709, 628, 593,
02768 709, 240, 709, 594, 709, 240, 354, 1513, 692, 1539,
02769 1353, 628, 698, 699, 700, 1173, 19, 20, 635, 780,
02770 781, 397, 398, 399, 400, 709, 628, 709, 294, 123,
02771 139, 711, 591, 1025, 140, 592, 141, 124, 142, 434,
02772 143, 435, 295, 436, 296, 1535, 297, 593, 298, 930,
02773 299, 594, 931, 447, 1382, 449, 300, 1257, 301, 125,
02774 302, 126, 303, 127, 304, 130, 305, 628, 306, 174,
02775 307, 1568, 308, 992, 712, 157, 993, 1118, 1152, 205,
02776 1119, 1120, 742, 1121, 202, 941, 942, 751, 591, 1025,
02777 208, 1574, 1119, 1120, 1049, 1121, 1407, 1050, 24, 25,
02778 853, 209, 591, 593, 596, 592, 1586, 239, 1243, 1244,
02779 1153, 1154, 1272, 1273, 1274, 1275, 944, 593, 945, 240,
02780 211, 594, 413, 414, 415, 767, 768, 769, 1609, 210,
02781 946, 947, 32, 33, 212, 941, 942, 80, 81, 133,
02782 134, 159, 160, 213, 1445, 231, 786, 943, 164, 165,
02783 169, 170, 591, 177, 178, 592, 797, 239, 182, 183,
02784 257, 1628, 187, 188, 192, 193, 944, 593, 945, 240,
02785 1487, 594, 278, 1471, 591, 1025, 342, 592, 1336, 1639,
02786 946, 947, 813, 197, 198, 216, 217, 258, 259, 593,
02787 351, 824, 1499, 594, 1187, 1188, 1189, 1190, 1506, 279,
02788 280, 837, 1650, 379, 679, 286, 287, 344, 345, 1212,
02789 374, 375, 402, 403, 408, 409, 424, 425, 848, 361,
02790 85, 1663, 458, 459, 463, 464, 1030, 1031, 861, 475,
02791 476, 366, 1671, 495, 496, 372, 1528, 504, 505, 1552,
02792 510, 511, 380, 1674, 371, 887, 515, 516, 381, 86,
02793 382, 87, 897, 88, 388, 89, 1684, 90, 391, 91,
02794 386, 92, 1561, 93, 1687, 94, 420, 95, 387, 96,
02795 520, 521, 525, 526, 531, 532, 429, 1691, 389, 936,
02796 536, 537, 294, 541, 542, 546, 547, 390, 1077, 1078,
02797 395, 738, 1593, 551, 552, 432, 295, 1579, 296, 437,
02798 297, 450, 298, 467, 299, 556, 557, 1110, 1111, 473,
02799 300, 482, 301, 998, 302, 1439, 303, 481, 304, 1602,
02800 305, 86, 306, 87, 307, 88, 308, 89, 403, 90,
02801 484, 91, 503, 92, 488, 93, 509, 94, 530, 95,
02802 561, 96, 1034, 562, 563, 1145, 1146, 1164, 1171, 579,
02803 779, 1152, 1621, 567, 568, 588, 589, 1197, 941, 942,
02804 573, 574, 572, 631, 628, 661, 662, 665, 666, 580,
02805 1632, 802, 675, 676, 581, 591, 583, 1055, 592, 582,
02806 239, 693, 694, 1153, 1154, 710, 628, 1321, 1322, 944,
02807 593, 945, 240, 584, 594, 476, 728, 662, 734, 735,
02808 752, 753, 605, 946, 947, 764, 765, 775, 776, 787,
02809 788, 609, 1656, 606, 1099, 1253, 1256, 814, 815, 838,
02810 839, 613, 37, 614, 1113, 1282, 862, 863, 870, 871,
02811 615, 1114, 620, 38, 1117, 39, 40, 41, 621, 42,
02812 43, 44, 626, 45, 46, 47, 637, 48, 49, 50,
02813 660, 51, 52, 38, 671, 39, 40, 41, 574, 42,
02814 43, 44, 683, 45, 46, 47, 682, 48, 49, 50,
02815 684, 51, 52, 875, 876, 881, 882, 888, 889, 898,
02816 899, 904, 905, 909, 910, 915, 916, 968, 969, 688,
02817 1327, 1330, 973, 974, 979, 980, 1006, 1007, 1022, 1023,
02818 1347, 1348, 1036, 1037, 1072, 1073, 1083, 1084, 1100, 1101,
02819 1105, 1106, 1140, 1141, 685, 1233, 1147, 1148, 1179, 1180,
02820 1184, 1185, 1206, 1207, 1220, 1221, 1238, 1239, 1264, 1265,
02821 1269, 1270, 1306, 1307, 1316, 1317, 701, 1338, 1207, 1342,
02822 1343, 1354, 1355, 1383, 1384, 1408, 1409, 1426, 1427, 1446,
02823 1447, 1298, 1455, 1456, 1472, 1473, 1482, 1483, 1492, 1493,
02824 1507, 1508, 1529, 1530, 1542, 1543, 1547, 1548, 1562, 1563,
02825 1580, 1581, 1588, 1589, 1603, 1604, 1622, 1623, 1633, 1634,
02826 1644, 1645, 1657, 1658, 1665, 1666, 1678, 1679, 702, 703,
02827 706, 707, 713, 726, 730, 741, 727, 666, 743, 757,
02828 744, 762, 747, 758, 763, 774, 782, 793, 792, 798,
02829 799, 783, 802, 805, 806, 807, 808, 809, 810, 811,
02830 812, 820, 819, 826, 1361, 825, 829, 843, 844, 832,
02831 845, 1368, 846, 850, 849, 853, 856, 867, 880, 892,
02832 914, 978, 921, 926, 985, 988, 916, 999, 937, 1015,
02833 1004, 882, 1032, 1012, 1033, 1035, 1042, 1018, 1011, 930,
02834 980, 1068, 1082, 1045, 1056, 1062, 992, 1079, 1063, 1112,
02835 1094, 1115, 1116, 1391, 1392, 1130, 1131, 1205, 1159, 1225,
02836 1174, 1226, 1489, 1491, 1088, 1232, 1498, 1231, 1234, 1299,
02837 1300, 1259, 1215, 1314, 1315, 1377, 1337, 1401, 1425, 1211,
02838 1301, 1393, 1049, 1364, 1136, 1202, 1400, 1402, 1349, 1466,
02839 1519, 1522, 1537, 1416, 1417, 1540, 1378, 1462, 1415, 1515,
02840 1440, 1600, 1313, 1613, 1642, 1403, 1453, 1236, 1653, 1287,
02841 1419, 1654, 129, 1479, 1441, 76, 128, 1289, 158, 585,
02842 1467, 1390, 1502, 1514, 485, 1536, 1251, 1557, 672, 705,
02843 232, 1554, 1556, 1569, 1362, 1369, 1524, 1365, 1575, 1290,
02844 1371, 1454, 421, 715, 719, 1572, 1587, 721, 723, 1610,
02845 1617, 729, 938, 731, 1019, 1641, 1521, 1339, 1516, 1629,
02846 1000, 1394, 1069, 1137, 1041, 1463, 1640, 1616, 1057, 1237,
02847 0, 0, 0, 0, 1651, 1664, 0, 1612, 0, 1501,
02848 1672, 1675, 1480, 1481, 1595, 1597, 1685, 0, 0, 1689,
02849 1693, 1688, 1692, 0, 0, 0, 0, 0, 1630, 0,
02850 0, 1325, 1694, 0, 0, 0, 0, 0, 0, 0,
02851 0, 1523, 0, 343, 0, 0, 1652, 0, 0, 0,
02852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02855 0, 0, 0, 0, 0, 0, 0, 0, 0, 1570,
02856 1571, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02861 0, 0, 0, 1599, 0, 0, 1611, 0, 0, 0,
02862 0, 1614, 1615, 0, 0, 0, 0, 0, 0, 0,
02863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02867 0, 0, 0, 0, 0, 0, 0, 0, 0, 1643,
02868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02869 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0,
02870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02873 0, 0, 1676, 1677
02874 };
02875
02876 static const yytype_int16 yycheck[] =
02877 {
02878 371, 154, 361, 487, 487, 801, 1002, 366, 1179, 1091,
02879 852, 4, 828, 156, 991, 4, 1061, 4, 1061, 1295,
02880 8, 1061, 6, 7, 395, 1021, 4, 1396, 1396, 4,
02881 4, 4, 4, 4, 4, 4, 4, 1014, 130, 130,
02882 1238, 1129, 413, 414, 415, 236, 4, 238, 1129, 1220,
02883 82, 115, 179, 179, 536, 80, 153, 153, 179, 541,
02884 115, 151, 130, 1059, 546, 153, 329, 151, 331, 166,
02885 333, 1048, 162, 869, 170, 1071, 160, 204, 204, 200,
02886 168, 234, 146, 236, 1129, 238, 1129, 230, 1065, 1129,
02887 153, 146, 151, 1264, 151, 127, 1465, 1465, 0, 156,
02888 1376, 160, 127, 587, 587, 168, 131, 139, 133, 40,
02889 135, 179, 137, 44, 26, 46, 1204, 209, 1316, 1096,
02890 153, 151, 313, 1204, 45, 37, 217, 58, 75, 60,
02891 14, 43, 162, 225, 225, 1306, 495, 170, 59, 77,
02892 108, 110, 114, 1139, 118, 116, 124, 120, 1424, 1518,
02893 1518, 126, 122, 140, 112, 144, 1133, 225, 142, 1204,
02894 46, 1204, 153, 645, 1204, 41, 42, 649, 17, 515,
02895 127, 653, 58, 164, 520, 24, 25, 12, 13, 525,
02896 56, 148, 139, 1354, 151, 61, 62, 63, 64, 38,
02897 674, 674, 41, 153, 15, 44, 79, 46, 341, 1176,
02898 49, 50, 51, 52, 164, 551, 55, 56, 57, 58,
02899 556, 60, 1383, 153, 41, 84, 81, 44, 1214, 46,
02900 69, 70, 45, 46, 5, 148, 166, 629, 151, 56,
02901 632, 58, 634, 60, 636, 58, 59, 1408, 609, 232,
02902 1217, 151, 613, 614, 615, 1061, 10, 11, 158, 733,
02903 733, 239, 240, 241, 242, 657, 151, 659, 127, 5,
02904 127, 156, 41, 42, 131, 44, 133, 5, 135, 321,
02905 137, 323, 141, 325, 143, 1446, 145, 56, 147, 179,
02906 149, 60, 182, 335, 1261, 337, 155, 1129, 157, 5,
02907 159, 5, 161, 76, 163, 83, 165, 151, 167, 74,
02908 169, 1472, 171, 209, 158, 78, 212, 224, 17, 16,
02909 227, 228, 683, 230, 73, 24, 25, 688, 41, 42,
02910 88, 1492, 227, 228, 217, 230, 1303, 220, 10, 11,
02911 39, 92, 41, 56, 487, 44, 1507, 46, 47, 48,
02912 49, 50, 65, 66, 67, 68, 55, 56, 57, 58,
02913 100, 60, 30, 31, 32, 21, 22, 23, 1529, 96,
02914 69, 70, 10, 11, 104, 24, 25, 10, 11, 10,
02915 11, 10, 11, 85, 1351, 80, 747, 36, 10, 11,
02916 10, 11, 41, 10, 11, 44, 757, 46, 10, 11,
02917 3, 1562, 10, 11, 10, 11, 55, 56, 57, 58,
02918 1396, 60, 3, 1380, 41, 42, 82, 44, 1204, 1580,
02919 69, 70, 783, 10, 11, 10, 11, 10, 11, 56,
02920 10, 792, 1399, 60, 61, 62, 63, 64, 1405, 10,
02921 11, 802, 1603, 108, 587, 10, 11, 10, 11, 1521,
02922 10, 11, 128, 129, 10, 11, 10, 11, 819, 10,
02923 78, 1622, 10, 11, 6, 7, 940, 940, 829, 128,
02924 129, 10, 1633, 10, 11, 10, 1443, 10, 11, 1465,
02925 10, 11, 110, 1644, 3, 846, 10, 11, 112, 107,
02926 8, 109, 853, 111, 120, 113, 1657, 115, 8, 117,
02927 116, 119, 1469, 121, 1665, 123, 84, 125, 118, 127,
02928 10, 11, 10, 11, 10, 11, 18, 1678, 122, 880,
02929 10, 11, 127, 10, 11, 10, 11, 124, 1002, 1002,
02930 6, 674, 1518, 10, 11, 19, 141, 1504, 143, 20,
02931 145, 27, 147, 3, 149, 10, 11, 1021, 1021, 6,
02932 155, 126, 157, 914, 159, 1341, 161, 114, 163, 1526,
02933 165, 107, 167, 109, 169, 111, 171, 113, 129, 115,
02934 128, 117, 8, 119, 175, 121, 8, 123, 8, 125,
02935 8, 127, 943, 10, 11, 1059, 1059, 1061, 1061, 132,
02936 733, 17, 1559, 10, 11, 10, 11, 1071, 24, 25,
02937 128, 129, 140, 150, 151, 172, 173, 128, 129, 8,
02938 1577, 37, 10, 11, 134, 41, 138, 978, 44, 136,
02939 46, 10, 11, 49, 50, 150, 151, 53, 54, 55,
02940 56, 57, 58, 128, 60, 129, 172, 173, 10, 11,
02941 10, 11, 86, 69, 70, 10, 11, 10, 11, 10,
02942 11, 33, 1619, 205, 1015, 1129, 1129, 10, 11, 10,
02943 11, 6, 76, 6, 1025, 1139, 10, 11, 10, 11,
02944 6, 1032, 144, 87, 1035, 89, 90, 91, 6, 93,
02945 94, 95, 6, 97, 98, 99, 6, 101, 102, 103,
02946 6, 105, 106, 87, 128, 89, 90, 91, 129, 93,
02947 94, 95, 3, 97, 98, 99, 130, 101, 102, 103,
02948 3, 105, 106, 10, 11, 178, 179, 222, 223, 10,
02949 11, 10, 11, 10, 11, 208, 209, 10, 11, 34,
02950 1204, 1204, 10, 11, 216, 217, 10, 11, 10, 11,
02951 1214, 1214, 10, 11, 10, 11, 10, 11, 10, 11,
02952 10, 11, 10, 11, 213, 1116, 10, 11, 10, 11,
02953 10, 11, 202, 203, 10, 11, 10, 11, 10, 11,
02954 10, 11, 10, 11, 10, 11, 142, 202, 203, 10,
02955 11, 10, 11, 10, 11, 10, 11, 10, 11, 10,
02956 11, 1152, 10, 11, 10, 11, 10, 11, 10, 11,
02957 10, 11, 10, 11, 233, 234, 10, 11, 10, 11,
02958 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,
02959 10, 11, 10, 11, 10, 11, 10, 11, 8, 10,
02960 8, 10, 8, 8, 128, 130, 10, 129, 8, 6,
02961 221, 4, 35, 177, 4, 4, 130, 207, 6, 176,
02962 181, 28, 37, 116, 152, 154, 3, 3, 3, 174,
02963 130, 215, 6, 211, 1225, 206, 38, 8, 8, 183,
02964 8, 1232, 6, 219, 214, 39, 183, 199, 6, 183,
02965 6, 6, 201, 185, 129, 185, 209, 208, 178, 40,
02966 29, 179, 3, 189, 3, 3, 129, 182, 184, 179,
02967 217, 212, 8, 185, 216, 184, 209, 129, 189, 180,
02968 187, 8, 6, 1274, 1275, 184, 189, 6, 1061, 6,
02969 187, 231, 1396, 1396, 179, 6, 1399, 180, 5, 3,
02970 3, 187, 191, 3, 3, 3, 8, 8, 3, 200,
02971 191, 130, 217, 186, 220, 210, 6, 8, 195, 8,
02972 8, 8, 6, 1314, 1315, 10, 191, 130, 186, 130,
02973 180, 6, 210, 6, 8, 195, 190, 224, 6, 218,
02974 179, 6, 76, 186, 193, 24, 54, 209, 98, 478,
02975 195, 218, 193, 190, 405, 188, 1129, 193, 576, 624,
02976 145, 1465, 1465, 190, 235, 229, 197, 236, 197, 225,
02977 217, 1362, 310, 640, 645, 210, 188, 649, 653, 192,
02978 197, 663, 884, 668, 933, 180, 1426, 1208, 1421, 188,
02979 918, 1292, 995, 1052, 949, 1373, 192, 218, 982, 1123,
02980 -1, -1, -1, -1, 196, 192, -1, 232, -1, 1400,
02981 196, 194, 1391, 1392, 1518, 1518, 196, -1, -1, 198,
02982 198, 194, 194, -1, -1, -1, -1, -1, 226, -1,
02983 -1, 1204, 198, -1, -1, -1, -1, -1, -1, -1,
02984 -1, 1432, -1, 225, -1, -1, 237, -1, -1, -1,
02985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02988 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1480,
02989 1481, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02994 -1, -1, -1, 1522, -1, -1, 1537, -1, -1, -1,
02995 -1, 1542, 1543, -1, -1, -1, -1, -1, -1, -1,
02996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02999 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
03000 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1600,
03001 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
03002 -1, -1, -1, -1, -1, -1, 1399, -1, -1, -1,
03003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
03004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
03005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
03006 -1, -1, 1653, 1654
03007 };
03008
03009
03010
03011 static const yytype_uint16 yystos[] =
03012 {
03013 0, 12, 13, 244, 245, 246, 0, 75, 253, 254,
03014 255, 14, 247, 15, 251, 252, 77, 282, 283, 10,
03015 11, 256, 257, 258, 10, 11, 248, 249, 250, 79,
03016 368, 369, 10, 11, 284, 285, 286, 76, 87, 89,
03017 90, 91, 93, 94, 95, 97, 98, 99, 101, 102,
03018 103, 105, 106, 259, 260, 261, 262, 263, 264, 265,
03019 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
03020 276, 277, 278, 279, 280, 281, 253, 81, 416, 417,
03021 10, 11, 370, 371, 372, 78, 107, 109, 111, 113,
03022 115, 117, 119, 121, 123, 125, 127, 287, 288, 289,
03023 290, 291, 296, 297, 302, 303, 308, 309, 316, 317,
03024 322, 323, 328, 329, 334, 335, 340, 341, 346, 347,
03025 354, 355, 5, 5, 5, 5, 5, 76, 261, 251,
03026 83, 444, 445, 10, 11, 418, 419, 420, 80, 127,
03027 131, 133, 135, 137, 373, 374, 375, 376, 377, 383,
03028 384, 390, 391, 397, 398, 402, 403, 78, 289, 10,
03029 11, 292, 293, 294, 10, 11, 298, 299, 300, 10,
03030 11, 304, 305, 306, 74, 310, 311, 10, 11, 318,
03031 319, 320, 10, 11, 324, 325, 326, 10, 11, 330,
03032 331, 332, 10, 11, 336, 337, 338, 10, 11, 342,
03033 343, 344, 73, 348, 349, 16, 356, 1036, 88, 92,
03034 96, 100, 104, 85, 560, 561, 10, 11, 446, 447,
03035 448, 82, 127, 139, 421, 422, 423, 424, 425, 430,
03036 431, 80, 375, 378, 379, 385, 386, 392, 393, 46,
03037 58, 399, 966, 967, 968, 969, 404, 1036, 4, 108,
03038 295, 4, 110, 301, 4, 112, 307, 3, 10, 11,
03039 312, 313, 314, 4, 116, 321, 4, 118, 327, 4,
03040 120, 333, 4, 122, 339, 4, 124, 345, 3, 10,
03041 11, 350, 351, 352, 1070, 1071, 10, 11, 357, 358,
03042 359, 562, 563, 84, 127, 141, 143, 145, 147, 149,
03043 155, 157, 159, 161, 163, 165, 167, 169, 171, 449,
03044 450, 451, 452, 453, 460, 461, 466, 467, 474, 475,
03045 479, 480, 484, 485, 489, 490, 494, 495, 502, 503,
03046 510, 511, 518, 519, 526, 527, 532, 533, 538, 539,
03047 546, 547, 82, 423, 10, 11, 426, 427, 428, 432,
03048 1036, 10, 381, 45, 59, 380, 966, 1014, 1015, 1016,
03049 1017, 10, 388, 387, 966, 1014, 10, 395, 394, 966,
03050 1014, 3, 10, 400, 10, 11, 405, 406, 407, 108,
03051 110, 112, 8, 4, 114, 315, 116, 118, 120, 122,
03052 124, 8, 4, 126, 353, 6, 8, 239, 240, 241,
03053 242, 1072, 128, 129, 360, 361, 362, 363, 10, 11,
03054 565, 566, 567, 30, 31, 32, 564, 1027, 1033, 1043,
03055 84, 451, 454, 1014, 10, 11, 462, 463, 464, 18,
03056 468, 1031, 19, 1039, 1039, 1039, 1039, 20, 496, 1038,
03057 504, 1038, 512, 1038, 520, 1038, 528, 1039, 534, 1039,
03058 27, 540, 1040, 548, 1036, 4, 140, 429, 10, 11,
03059 433, 434, 435, 6, 7, 382, 1069, 3, 389, 1069,
03060 396, 1069, 1070, 6, 401, 128, 129, 408, 409, 410,
03061 411, 114, 126, 1070, 128, 362, 364, 365, 175, 568,
03062 569, 570, 1070, 1070, 1070, 10, 11, 455, 456, 457,
03063 4, 144, 465, 8, 10, 11, 469, 470, 471, 8,
03064 10, 11, 476, 477, 478, 10, 11, 481, 482, 483,
03065 10, 11, 486, 487, 488, 10, 11, 491, 492, 493,
03066 8, 10, 11, 497, 498, 499, 10, 11, 505, 506,
03067 507, 10, 11, 513, 514, 515, 10, 11, 521, 522,
03068 523, 10, 11, 529, 530, 531, 10, 11, 535, 536,
03069 537, 8, 10, 11, 541, 542, 543, 10, 11, 549,
03070 550, 551, 140, 128, 129, 436, 437, 438, 439, 132,
03071 8, 134, 136, 138, 128, 410, 412, 413, 10, 11,
03072 367, 41, 44, 56, 60, 366, 966, 987, 988, 989,
03073 990, 1018, 1019, 1020, 1021, 86, 205, 707, 708, 33,
03074 571, 572, 1037, 6, 6, 6, 142, 458, 459, 1069,
03075 144, 6, 115, 146, 472, 473, 6, 148, 151, 947,
03076 948, 150, 947, 156, 947, 158, 947, 6, 153, 164,
03077 500, 501, 949, 950, 166, 508, 509, 949, 170, 516,
03078 517, 949, 168, 524, 525, 949, 162, 947, 160, 947,
03079 6, 172, 173, 544, 545, 128, 129, 552, 553, 554,
03080 555, 128, 438, 440, 441, 10, 11, 415, 414, 966,
03081 987, 1018, 130, 3, 3, 213, 816, 817, 34, 709,
03082 710, 1035, 1070, 10, 11, 573, 574, 575, 1070, 1070,
03083 1070, 142, 8, 10, 146, 473, 8, 10, 148, 948,
03084 150, 156, 158, 8, 164, 501, 951, 952, 166, 509,
03085 170, 517, 168, 525, 162, 160, 8, 10, 172, 545,
03086 128, 554, 556, 557, 10, 11, 443, 442, 966, 987,
03087 1018, 130, 1070, 8, 221, 925, 926, 35, 818, 819,
03088 1034, 1070, 10, 11, 711, 712, 713, 6, 177, 576,
03089 577, 578, 4, 4, 10, 11, 957, 21, 22, 23,
03090 953, 954, 955, 956, 4, 10, 11, 559, 558, 966,
03091 987, 1018, 130, 28, 927, 1041, 1070, 10, 11, 820,
03092 821, 822, 6, 207, 714, 715, 716, 1070, 176, 181,
03093 591, 592, 37, 579, 1042, 116, 152, 154, 3, 3,
03094 3, 174, 130, 1070, 10, 11, 928, 929, 930, 6,
03095 215, 823, 824, 825, 1070, 206, 211, 729, 730, 38,
03096 717, 1032, 183, 605, 606, 593, 1042, 1070, 10, 11,
03097 580, 581, 582, 8, 8, 8, 6, 931, 1070, 214,
03098 219, 838, 839, 39, 826, 1026, 183, 743, 744, 731,
03099 1032, 1070, 10, 11, 718, 719, 720, 199, 660, 661,
03100 10, 11, 607, 608, 609, 10, 11, 594, 595, 596,
03101 6, 178, 179, 583, 584, 585, 586, 1070, 222, 223,
03102 932, 933, 183, 852, 853, 840, 1026, 1070, 10, 11,
03103 827, 828, 829, 798, 10, 11, 745, 746, 747, 10,
03104 11, 732, 733, 734, 6, 208, 209, 721, 722, 723,
03105 724, 201, 674, 675, 662, 1042, 185, 610, 611, 612,
03106 179, 182, 597, 598, 599, 600, 1070, 178, 585, 587,
03107 588, 24, 25, 36, 55, 57, 69, 70, 934, 935,
03108 936, 958, 959, 960, 961, 966, 987, 995, 996, 997,
03109 998, 1002, 1003, 1004, 1005, 1018, 1030, 907, 10, 11,
03110 854, 855, 856, 10, 11, 841, 842, 843, 6, 216,
03111 217, 830, 831, 832, 833, 129, 799, 800, 185, 748,
03112 749, 750, 209, 212, 735, 736, 737, 738, 1070, 208,
03113 723, 725, 726, 689, 29, 676, 10, 11, 663, 664,
03114 665, 184, 189, 618, 619, 40, 613, 1028, 182, 599,
03115 601, 602, 10, 11, 590, 42, 589, 976, 977, 978,
03116 987, 1018, 3, 3, 1070, 3, 10, 11, 937, 938,
03117 939, 936, 129, 908, 909, 185, 857, 858, 859, 217,
03118 220, 844, 845, 846, 847, 1070, 216, 832, 834, 835,
03119 801, 802, 184, 189, 756, 757, 751, 1028, 212, 737,
03120 739, 740, 10, 11, 728, 727, 976, 987, 1018, 129,
03121 690, 691, 8, 10, 11, 677, 678, 679, 179, 200,
03122 666, 667, 668, 669, 187, 625, 626, 620, 1028, 1070,
03123 10, 11, 614, 615, 616, 10, 11, 604, 603, 976,
03124 987, 1018, 180, 1070, 1070, 8, 6, 1070, 224, 227,
03125 228, 230, 940, 941, 942, 943, 944, 945, 910, 911,
03126 184, 189, 865, 866, 860, 1028, 220, 846, 848, 849,
03127 10, 11, 837, 836, 976, 987, 1018, 10, 11, 804,
03128 805, 806, 17, 49, 50, 51, 52, 803, 958, 966,
03129 970, 971, 972, 973, 987, 991, 992, 993, 994, 995,
03130 1002, 1018, 1029, 1032, 187, 763, 764, 758, 1028, 10,
03131 11, 752, 753, 754, 10, 11, 742, 61, 62, 63,
03132 64, 741, 976, 979, 980, 981, 982, 987, 1006, 1007,
03133 1008, 1009, 210, 692, 693, 6, 202, 203, 680, 681,
03134 682, 200, 668, 670, 671, 191, 632, 633, 627, 1028,
03135 10, 11, 621, 622, 623, 6, 231, 617, 1054, 1055,
03136 1062, 180, 6, 1070, 5, 946, 224, 942, 10, 11,
03137 913, 914, 915, 47, 48, 912, 958, 962, 963, 964,
03138 965, 966, 970, 987, 995, 1002, 1018, 1026, 1029, 187,
03139 872, 873, 867, 1028, 10, 11, 861, 862, 863, 10,
03140 11, 851, 65, 66, 67, 68, 850, 976, 983, 984,
03141 985, 986, 987, 1010, 1011, 1012, 1013, 218, 130, 209,
03142 225, 807, 808, 809, 810, 1044, 1045, 1046, 1070, 3,
03143 3, 191, 770, 771, 765, 1028, 10, 11, 759, 760,
03144 761, 755, 1054, 210, 3, 3, 10, 11, 695, 696,
03145 697, 53, 54, 694, 958, 966, 970, 987, 995, 1002,
03146 1018, 1022, 1023, 1024, 1025, 1029, 1042, 8, 202, 681,
03147 683, 684, 10, 11, 673, 672, 976, 987, 1018, 195,
03148 639, 640, 634, 1028, 10, 11, 628, 629, 630, 624,
03149 1054, 1070, 235, 1063, 186, 236, 1056, 1057, 1070, 229,
03150 130, 217, 916, 917, 918, 919, 1044, 3, 191, 879,
03151 880, 874, 1028, 10, 11, 868, 869, 870, 864, 1054,
03152 218, 1070, 1070, 130, 809, 811, 812, 1045, 1047, 1048,
03153 6, 8, 8, 195, 777, 778, 772, 1028, 10, 11,
03154 766, 767, 768, 762, 1054, 186, 1070, 1070, 130, 179,
03155 698, 699, 700, 701, 1044, 3, 10, 11, 686, 687,
03156 688, 26, 43, 685, 974, 975, 999, 1000, 1001, 1042,
03157 180, 193, 646, 647, 641, 1028, 10, 11, 635, 636,
03158 637, 631, 1054, 190, 1070, 10, 11, 1064, 1065, 1066,
03159 1058, 1059, 130, 918, 920, 921, 8, 195, 886, 887,
03160 881, 1028, 10, 11, 875, 876, 877, 871, 1054, 186,
03161 1069, 1069, 10, 11, 814, 815, 813, 976, 979, 987,
03162 1006, 1018, 10, 11, 1050, 1051, 1052, 966, 1018, 1028,
03163 1049, 1070, 193, 784, 785, 779, 1028, 10, 11, 773,
03164 774, 775, 769, 1054, 190, 130, 700, 702, 703, 8,
03165 204, 667, 8, 1070, 197, 653, 654, 648, 1028, 10,
03166 11, 642, 643, 644, 638, 1054, 188, 6, 4, 232,
03167 10, 1061, 233, 234, 1060, 1067, 1068, 10, 11, 923,
03168 924, 922, 976, 979, 987, 1006, 1018, 193, 893, 894,
03169 888, 1028, 10, 11, 882, 883, 884, 878, 1054, 190,
03170 1070, 1070, 210, 1053, 1054, 197, 791, 792, 786, 1028,
03171 10, 11, 780, 781, 782, 776, 1054, 188, 10, 11,
03172 705, 706, 704, 976, 979, 987, 1006, 1018, 204, 1069,
03173 6, 655, 1028, 10, 11, 649, 650, 651, 645, 1054,
03174 192, 1070, 232, 6, 1070, 1070, 218, 197, 900, 901,
03175 895, 1028, 10, 11, 889, 890, 891, 885, 1054, 188,
03176 226, 793, 1028, 10, 11, 787, 788, 789, 783, 1054,
03177 192, 180, 8, 1070, 10, 11, 656, 657, 658, 652,
03178 1054, 196, 237, 6, 6, 902, 1028, 10, 11, 896,
03179 897, 898, 892, 1054, 192, 10, 11, 794, 795, 796,
03180 790, 1054, 196, 659, 1054, 194, 1070, 1070, 10, 11,
03181 903, 904, 905, 899, 1054, 196, 797, 1054, 194, 198,
03182 906, 1054, 194, 198, 198
03183 };
03184
03185 #define yyerrok (yyerrstatus = 0)
03186 #define yyclearin (yychar = YYEMPTY)
03187 #define YYEMPTY (-2)
03188 #define YYEOF 0
03189
03190 #define YYACCEPT goto yyacceptlab
03191 #define YYABORT goto yyabortlab
03192 #define YYERROR goto yyerrorlab
03193
03194
03195
03196
03197
03198
03199 #define YYFAIL goto yyerrlab
03200
03201 #define YYRECOVERING() (!!yyerrstatus)
03202
03203 #define YYBACKUP(Token, Value) \
03204 do \
03205 if (yychar == YYEMPTY && yylen == 1) \
03206 { \
03207 yychar = (Token); \
03208 yylval = (Value); \
03209 yytoken = YYTRANSLATE (yychar); \
03210 YYPOPSTACK (1); \
03211 goto yybackup; \
03212 } \
03213 else \
03214 { \
03215 yyerror (&yylloc, osoption, parserData, osglData, YY_("syntax error: cannot back up")); \
03216 YYERROR; \
03217 } \
03218 while (YYID (0))
03219
03220
03221 #define YYTERROR 1
03222 #define YYERRCODE 256
03223
03224
03225
03226
03227
03228
03229 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
03230 #ifndef YYLLOC_DEFAULT
03231 # define YYLLOC_DEFAULT(Current, Rhs, N) \
03232 do \
03233 if (YYID (N)) \
03234 { \
03235 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
03236 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
03237 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
03238 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
03239 } \
03240 else \
03241 { \
03242 (Current).first_line = (Current).last_line = \
03243 YYRHSLOC (Rhs, 0).last_line; \
03244 (Current).first_column = (Current).last_column = \
03245 YYRHSLOC (Rhs, 0).last_column; \
03246 } \
03247 while (YYID (0))
03248 #endif
03249
03250
03251
03252
03253
03254
03255 #ifndef YY_LOCATION_PRINT
03256 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
03257 # define YY_LOCATION_PRINT(File, Loc) \
03258 fprintf (File, "%d.%d-%d.%d", \
03259 (Loc).first_line, (Loc).first_column, \
03260 (Loc).last_line, (Loc).last_column)
03261 # else
03262 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
03263 # endif
03264 #endif
03265
03266
03267
03268
03269 #ifdef YYLEX_PARAM
03270 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
03271 #else
03272 # define YYLEX yylex (&yylval, &yylloc, scanner)
03273 #endif
03274
03275
03276 #if YYDEBUG
03277
03278 # ifndef YYFPRINTF
03279 # include <stdio.h>
03280 # define YYFPRINTF fprintf
03281 # endif
03282
03283 # define YYDPRINTF(Args) \
03284 do { \
03285 if (yydebug) \
03286 YYFPRINTF Args; \
03287 } while (YYID (0))
03288
03289 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
03290 do { \
03291 if (yydebug) \
03292 { \
03293 YYFPRINTF (stderr, "%s ", Title); \
03294 yy_symbol_print (stderr, \
03295 Type, Value, Location, osoption, parserData, osglData); \
03296 YYFPRINTF (stderr, "\n"); \
03297 } \
03298 } while (YYID (0))
03299
03300
03301
03302
03303
03304
03305
03306 #if (defined __STDC__ || defined __C99__FUNC__ \
03307 || defined __cplusplus || defined _MSC_VER)
03308 static void
03309 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData)
03310 #else
03311 static void
03312 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData)
03313 FILE *yyoutput;
03314 int yytype;
03315 YYSTYPE const * const yyvaluep;
03316 YYLTYPE const * const yylocationp;
03317 OSOption *osoption;
03318 OSoLParserData *parserData;
03319 OSgLParserData *osglData;
03320 #endif
03321 {
03322 if (!yyvaluep)
03323 return;
03324 YYUSE (yylocationp);
03325 YYUSE (osoption);
03326 YYUSE (parserData);
03327 YYUSE (osglData);
03328 # ifdef YYPRINT
03329 if (yytype < YYNTOKENS)
03330 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
03331 # else
03332 YYUSE (yyoutput);
03333 # endif
03334 switch (yytype)
03335 {
03336 default:
03337 break;
03338 }
03339 }
03340
03341
03342
03343
03344
03345
03346 #if (defined __STDC__ || defined __C99__FUNC__ \
03347 || defined __cplusplus || defined _MSC_VER)
03348 static void
03349 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData)
03350 #else
03351 static void
03352 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData)
03353 FILE *yyoutput;
03354 int yytype;
03355 YYSTYPE const * const yyvaluep;
03356 YYLTYPE const * const yylocationp;
03357 OSOption *osoption;
03358 OSoLParserData *parserData;
03359 OSgLParserData *osglData;
03360 #endif
03361 {
03362 if (yytype < YYNTOKENS)
03363 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
03364 else
03365 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
03366
03367 YY_LOCATION_PRINT (yyoutput, *yylocationp);
03368 YYFPRINTF (yyoutput, ": ");
03369 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData);
03370 YYFPRINTF (yyoutput, ")");
03371 }
03372
03373
03374
03375
03376
03377
03378 #if (defined __STDC__ || defined __C99__FUNC__ \
03379 || defined __cplusplus || defined _MSC_VER)
03380 static void
03381 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
03382 #else
03383 static void
03384 yy_stack_print (bottom, top)
03385 yytype_int16 *bottom;
03386 yytype_int16 *top;
03387 #endif
03388 {
03389 YYFPRINTF (stderr, "Stack now");
03390 for (; bottom <= top; ++bottom)
03391 YYFPRINTF (stderr, " %d", *bottom);
03392 YYFPRINTF (stderr, "\n");
03393 }
03394
03395 # define YY_STACK_PRINT(Bottom, Top) \
03396 do { \
03397 if (yydebug) \
03398 yy_stack_print ((Bottom), (Top)); \
03399 } while (YYID (0))
03400
03401
03402
03403
03404
03405
03406 #if (defined __STDC__ || defined __C99__FUNC__ \
03407 || defined __cplusplus || defined _MSC_VER)
03408 static void
03409 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData)
03410 #else
03411 static void
03412 yy_reduce_print (yyvsp, yylsp, yyrule, osoption, parserData, osglData)
03413 YYSTYPE *yyvsp;
03414 YYLTYPE *yylsp;
03415 int yyrule;
03416 OSOption *osoption;
03417 OSoLParserData *parserData;
03418 OSgLParserData *osglData;
03419 #endif
03420 {
03421 int yynrhs = yyr2[yyrule];
03422 int yyi;
03423 unsigned long int yylno = yyrline[yyrule];
03424 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
03425 yyrule - 1, yylno);
03426
03427 for (yyi = 0; yyi < yynrhs; yyi++)
03428 {
03429 fprintf (stderr, " $%d = ", yyi + 1);
03430 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
03431 &(yyvsp[(yyi + 1) - (yynrhs)])
03432 , &(yylsp[(yyi + 1) - (yynrhs)]) , osoption, parserData, osglData);
03433 fprintf (stderr, "\n");
03434 }
03435 }
03436
03437 # define YY_REDUCE_PRINT(Rule) \
03438 do { \
03439 if (yydebug) \
03440 yy_reduce_print (yyvsp, yylsp, Rule, osoption, parserData, osglData); \
03441 } while (YYID (0))
03442
03443
03444
03445 int yydebug;
03446 #else
03447 # define YYDPRINTF(Args)
03448 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
03449 # define YY_STACK_PRINT(Bottom, Top)
03450 # define YY_REDUCE_PRINT(Rule)
03451 #endif
03452
03453
03454
03455 #ifndef YYINITDEPTH
03456 # define YYINITDEPTH 200
03457 #endif
03458
03459
03460
03461
03462
03463
03464
03465
03466 #ifndef YYMAXDEPTH
03467 # define YYMAXDEPTH 10000
03468 #endif
03469
03470
03471
03472 #if YYERROR_VERBOSE
03473
03474 # ifndef yystrlen
03475 # if defined __GLIBC__ && defined _STRING_H
03476 # define yystrlen strlen
03477 # else
03478
03479 #if (defined __STDC__ || defined __C99__FUNC__ \
03480 || defined __cplusplus || defined _MSC_VER)
03481 static YYSIZE_T
03482 yystrlen (const char *yystr)
03483 #else
03484 static YYSIZE_T
03485 yystrlen (yystr)
03486 const char *yystr;
03487 #endif
03488 {
03489 YYSIZE_T yylen;
03490 for (yylen = 0; yystr[yylen]; yylen++)
03491 continue;
03492 return yylen;
03493 }
03494 # endif
03495 # endif
03496
03497 # ifndef yystpcpy
03498 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
03499 # define yystpcpy stpcpy
03500 # else
03501
03502
03503 #if (defined __STDC__ || defined __C99__FUNC__ \
03504 || defined __cplusplus || defined _MSC_VER)
03505 static char *
03506 yystpcpy (char *yydest, const char *yysrc)
03507 #else
03508 static char *
03509 yystpcpy (yydest, yysrc)
03510 char *yydest;
03511 const char *yysrc;
03512 #endif
03513 {
03514 char *yyd = yydest;
03515 const char *yys = yysrc;
03516
03517 while ((*yyd++ = *yys++) != '\0')
03518 continue;
03519
03520 return yyd - 1;
03521 }
03522 # endif
03523 # endif
03524
03525 # ifndef yytnamerr
03526
03527
03528
03529
03530
03531
03532
03533 static YYSIZE_T
03534 yytnamerr (char *yyres, const char *yystr)
03535 {
03536 if (*yystr == '"')
03537 {
03538 YYSIZE_T yyn = 0;
03539 char const *yyp = yystr;
03540
03541 for (;;)
03542 switch (*++yyp)
03543 {
03544 case '\'':
03545 case ',':
03546 goto do_not_strip_quotes;
03547
03548 case '\\':
03549 if (*++yyp != '\\')
03550 goto do_not_strip_quotes;
03551
03552 default:
03553 if (yyres)
03554 yyres[yyn] = *yyp;
03555 yyn++;
03556 break;
03557
03558 case '"':
03559 if (yyres)
03560 yyres[yyn] = '\0';
03561 return yyn;
03562 }
03563 do_not_strip_quotes: ;
03564 }
03565
03566 if (! yyres)
03567 return yystrlen (yystr);
03568
03569 return yystpcpy (yyres, yystr) - yyres;
03570 }
03571 # endif
03572
03573
03574
03575
03576
03577
03578
03579
03580 static YYSIZE_T
03581 yysyntax_error (char *yyresult, int yystate, int yychar)
03582 {
03583 int yyn = yypact[yystate];
03584
03585 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
03586 return 0;
03587 else
03588 {
03589 int yytype = YYTRANSLATE (yychar);
03590 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
03591 YYSIZE_T yysize = yysize0;
03592 YYSIZE_T yysize1;
03593 int yysize_overflow = 0;
03594 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
03595 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
03596 int yyx;
03597
03598 # if 0
03599
03600
03601 YY_("syntax error, unexpected %s");
03602 YY_("syntax error, unexpected %s, expecting %s");
03603 YY_("syntax error, unexpected %s, expecting %s or %s");
03604 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
03605 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
03606 # endif
03607 char *yyfmt;
03608 char const *yyf;
03609 static char const yyunexpected[] = "syntax error, unexpected %s";
03610 static char const yyexpecting[] = ", expecting %s";
03611 static char const yyor[] = " or %s";
03612 char yyformat[sizeof yyunexpected
03613 + sizeof yyexpecting - 1
03614 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
03615 * (sizeof yyor - 1))];
03616 char const *yyprefix = yyexpecting;
03617
03618
03619
03620 int yyxbegin = yyn < 0 ? -yyn : 0;
03621
03622
03623 int yychecklim = YYLAST - yyn + 1;
03624 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
03625 int yycount = 1;
03626
03627 yyarg[0] = yytname[yytype];
03628 yyfmt = yystpcpy (yyformat, yyunexpected);
03629
03630 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
03631 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
03632 {
03633 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
03634 {
03635 yycount = 1;
03636 yysize = yysize0;
03637 yyformat[sizeof yyunexpected - 1] = '\0';
03638 break;
03639 }
03640 yyarg[yycount++] = yytname[yyx];
03641 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
03642 yysize_overflow |= (yysize1 < yysize);
03643 yysize = yysize1;
03644 yyfmt = yystpcpy (yyfmt, yyprefix);
03645 yyprefix = yyor;
03646 }
03647
03648 yyf = YY_(yyformat);
03649 yysize1 = yysize + yystrlen (yyf);
03650 yysize_overflow |= (yysize1 < yysize);
03651 yysize = yysize1;
03652
03653 if (yysize_overflow)
03654 return YYSIZE_MAXIMUM;
03655
03656 if (yyresult)
03657 {
03658
03659
03660
03661 char *yyp = yyresult;
03662 int yyi = 0;
03663 while ((*yyp = *yyf) != '\0')
03664 {
03665 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
03666 {
03667 yyp += yytnamerr (yyp, yyarg[yyi++]);
03668 yyf += 2;
03669 }
03670 else
03671 {
03672 yyp++;
03673 yyf++;
03674 }
03675 }
03676 }
03677 return yysize;
03678 }
03679 }
03680 #endif
03681
03682
03683
03684
03685
03686
03687
03688 #if (defined __STDC__ || defined __C99__FUNC__ \
03689 || defined __cplusplus || defined _MSC_VER)
03690 static void
03691 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData)
03692 #else
03693 static void
03694 yydestruct (yymsg, yytype, yyvaluep, yylocationp, osoption, parserData, osglData)
03695 const char *yymsg;
03696 int yytype;
03697 YYSTYPE *yyvaluep;
03698 YYLTYPE *yylocationp;
03699 OSOption *osoption;
03700 OSoLParserData *parserData;
03701 OSgLParserData *osglData;
03702 #endif
03703 {
03704 YYUSE (yyvaluep);
03705 YYUSE (yylocationp);
03706 YYUSE (osoption);
03707 YYUSE (parserData);
03708 YYUSE (osglData);
03709
03710 if (!yymsg)
03711 yymsg = "Deleting";
03712 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
03713
03714 switch (yytype)
03715 {
03716
03717 default:
03718 break;
03719 }
03720 }
03721
03722
03723
03724
03725 #ifdef YYPARSE_PARAM
03726 #if defined __STDC__ || defined __cplusplus
03727 int yyparse (void *YYPARSE_PARAM);
03728 #else
03729 int yyparse ();
03730 #endif
03731 #else
03732 #if defined __STDC__ || defined __cplusplus
03733 int yyparse (OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData);
03734 #else
03735 int yyparse ();
03736 #endif
03737 #endif
03738
03739
03740
03741
03742
03743
03744
03745
03746
03747
03748 #ifdef YYPARSE_PARAM
03749 #if (defined __STDC__ || defined __C99__FUNC__ \
03750 || defined __cplusplus || defined _MSC_VER)
03751 int
03752 yyparse (void *YYPARSE_PARAM)
03753 #else
03754 int
03755 yyparse (YYPARSE_PARAM)
03756 void *YYPARSE_PARAM;
03757 #endif
03758 #else
03759 #if (defined __STDC__ || defined __C99__FUNC__ \
03760 || defined __cplusplus || defined _MSC_VER)
03761 int
03762 yyparse (OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData)
03763 #else
03764 int
03765 yyparse (osoption, parserData, osglData)
03766 OSOption *osoption;
03767 OSoLParserData *parserData;
03768 OSgLParserData *osglData;
03769 #endif
03770 #endif
03771 {
03772
03773 int yychar;
03774
03775
03776 YYSTYPE yylval;
03777
03778
03779 int yynerrs;
03780
03781 YYLTYPE yylloc;
03782
03783 int yystate;
03784 int yyn;
03785 int yyresult;
03786
03787 int yyerrstatus;
03788
03789 int yytoken = 0;
03790 #if YYERROR_VERBOSE
03791
03792 char yymsgbuf[128];
03793 char *yymsg = yymsgbuf;
03794 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
03795 #endif
03796
03797
03798
03799
03800
03801
03802
03803
03804
03805
03806 yytype_int16 yyssa[YYINITDEPTH];
03807 yytype_int16 *yyss = yyssa;
03808 yytype_int16 *yyssp;
03809
03810
03811 YYSTYPE yyvsa[YYINITDEPTH];
03812 YYSTYPE *yyvs = yyvsa;
03813 YYSTYPE *yyvsp;
03814
03815
03816 YYLTYPE yylsa[YYINITDEPTH];
03817 YYLTYPE *yyls = yylsa;
03818 YYLTYPE *yylsp;
03819
03820 YYLTYPE yyerror_range[2];
03821
03822 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
03823
03824 YYSIZE_T yystacksize = YYINITDEPTH;
03825
03826
03827
03828 YYSTYPE yyval;
03829 YYLTYPE yyloc;
03830
03831
03832
03833 int yylen = 0;
03834
03835 YYDPRINTF ((stderr, "Starting parse\n"));
03836
03837 yystate = 0;
03838 yyerrstatus = 0;
03839 yynerrs = 0;
03840 yychar = YYEMPTY;
03841
03842
03843
03844
03845
03846
03847 yyssp = yyss;
03848 yyvsp = yyvs;
03849 yylsp = yyls;
03850 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
03851
03852 yylloc.first_line = yylloc.last_line = 1;
03853 yylloc.first_column = yylloc.last_column = 0;
03854 #endif
03855
03856 goto yysetstate;
03857
03858
03859
03860
03861 yynewstate:
03862
03863
03864 yyssp++;
03865
03866 yysetstate:
03867 *yyssp = yystate;
03868
03869 if (yyss + yystacksize - 1 <= yyssp)
03870 {
03871
03872 YYSIZE_T yysize = yyssp - yyss + 1;
03873
03874 #ifdef yyoverflow
03875 {
03876
03877
03878
03879 YYSTYPE *yyvs1 = yyvs;
03880 yytype_int16 *yyss1 = yyss;
03881 YYLTYPE *yyls1 = yyls;
03882
03883
03884
03885
03886
03887 yyoverflow (YY_("memory exhausted"),
03888 &yyss1, yysize * sizeof (*yyssp),
03889 &yyvs1, yysize * sizeof (*yyvsp),
03890 &yyls1, yysize * sizeof (*yylsp),
03891 &yystacksize);
03892 yyls = yyls1;
03893 yyss = yyss1;
03894 yyvs = yyvs1;
03895 }
03896 #else
03897 # ifndef YYSTACK_RELOCATE
03898 goto yyexhaustedlab;
03899 # else
03900
03901 if (YYMAXDEPTH <= yystacksize)
03902 goto yyexhaustedlab;
03903 yystacksize *= 2;
03904 if (YYMAXDEPTH < yystacksize)
03905 yystacksize = YYMAXDEPTH;
03906
03907 {
03908 yytype_int16 *yyss1 = yyss;
03909 union yyalloc *yyptr =
03910 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
03911 if (! yyptr)
03912 goto yyexhaustedlab;
03913 YYSTACK_RELOCATE (yyss);
03914 YYSTACK_RELOCATE (yyvs);
03915 YYSTACK_RELOCATE (yyls);
03916 # undef YYSTACK_RELOCATE
03917 if (yyss1 != yyssa)
03918 YYSTACK_FREE (yyss1);
03919 }
03920 # endif
03921 #endif
03922
03923 yyssp = yyss + yysize - 1;
03924 yyvsp = yyvs + yysize - 1;
03925 yylsp = yyls + yysize - 1;
03926
03927 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
03928 (unsigned long int) yystacksize));
03929
03930 if (yyss + yystacksize - 1 <= yyssp)
03931 YYABORT;
03932 }
03933
03934 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
03935
03936 goto yybackup;
03937
03938
03939
03940
03941 yybackup:
03942
03943
03944
03945
03946
03947 yyn = yypact[yystate];
03948 if (yyn == YYPACT_NINF)
03949 goto yydefault;
03950
03951
03952
03953
03954 if (yychar == YYEMPTY)
03955 {
03956 YYDPRINTF ((stderr, "Reading a token: "));
03957 yychar = YYLEX;
03958 }
03959
03960 if (yychar <= YYEOF)
03961 {
03962 yychar = yytoken = YYEOF;
03963 YYDPRINTF ((stderr, "Now at end of input.\n"));
03964 }
03965 else
03966 {
03967 yytoken = YYTRANSLATE (yychar);
03968 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
03969 }
03970
03971
03972
03973 yyn += yytoken;
03974 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
03975 goto yydefault;
03976 yyn = yytable[yyn];
03977 if (yyn <= 0)
03978 {
03979 if (yyn == 0 || yyn == YYTABLE_NINF)
03980 goto yyerrlab;
03981 yyn = -yyn;
03982 goto yyreduce;
03983 }
03984
03985 if (yyn == YYFINAL)
03986 YYACCEPT;
03987
03988
03989
03990 if (yyerrstatus)
03991 yyerrstatus--;
03992
03993
03994 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
03995
03996
03997 if (yychar != YYEOF)
03998 yychar = YYEMPTY;
03999
04000 yystate = yyn;
04001 *++yyvsp = yylval;
04002 *++yylsp = yylloc;
04003 goto yynewstate;
04004
04005
04006
04007
04008
04009 yydefault:
04010 yyn = yydefact[yystate];
04011 if (yyn == 0)
04012 goto yyerrlab;
04013 goto yyreduce;
04014
04015
04016
04017
04018
04019 yyreduce:
04020
04021 yylen = yyr2[yyn];
04022
04023
04024
04025
04026
04027
04028
04029
04030
04031 yyval = yyvsp[1-yylen];
04032
04033
04034 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
04035 YY_REDUCE_PRINT (yyn);
04036 switch (yyn)
04037 {
04038 case 4:
04039
04040 {
04041 #ifdef DEBUG
04042 yydebug = 1;
04043 #endif
04044 }
04045 break;
04046
04047 case 5:
04048
04049 {
04050 #ifdef DEBUG
04051 yydebug = 1;
04052 #endif
04053 osol_errmsg = "";
04054 suppressFurtherErrorMessages = false;
04055 ignoreDataAfterErrors = false;
04056 }
04057 break;
04058
04059 case 12:
04060
04061 {
04062 if (osol_errmsg != "")
04063 {
04064 osol_errmsg += ("\n\nOSoL input is either not valid or well formed.\n");
04065 osolerror( NULL, osoption, parserData, osglData, osol_errmsg);
04066 }
04067 }
04068 break;
04069
04070 case 14:
04071
04072 { osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "unexpected end of file, expecting </osol>");}
04073 break;
04074
04075 case 17:
04076
04077 {
04078 if (!osoption->setOptionHeader(osglData->fileName, osglData->source,
04079 osglData->description, osglData->fileCreator, osglData->licence) )
04080 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setHeader failed");
04081 }
04082 break;
04083
04084 case 18:
04085
04086 {
04087 osglData->fileName = "";
04088 osglData->source = "";
04089 osglData->description = "";
04090 osglData->fileCreator = "";
04091 osglData->licence = "";
04092 osglData->fileNamePresent = false;
04093 osglData->sourcePresent = false;
04094 osglData->descriptionPresent = false;
04095 osglData->fileCreatorPresent = false;
04096 osglData->licencePresent = false;
04097 }
04098 break;
04099
04100 case 32:
04101
04102 {
04103 if (osglData->fileNamePresent == true)
04104 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated header information: file name");
04105 else
04106 osglData->fileNamePresent = true;
04107 }
04108 break;
04109
04110 case 37:
04111
04112 {
04113 osglData->fileName = (yyvsp[(2) - (3)].sval);
04114 free((yyvsp[(2) - (3)].sval));
04115 }
04116 break;
04117
04118 case 38:
04119
04120 {
04121 if (osglData->sourcePresent == true)
04122 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated header information: source");
04123 else
04124 osglData->sourcePresent = true;
04125 }
04126 break;
04127
04128 case 43:
04129
04130 {
04131 osglData->source = (yyvsp[(2) - (3)].sval);
04132 free((yyvsp[(2) - (3)].sval));
04133 }
04134 break;
04135
04136 case 44:
04137
04138 {
04139 if (osglData->descriptionPresent == true)
04140 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated header information: description");
04141 else
04142 osglData->descriptionPresent = true;
04143 }
04144 break;
04145
04146 case 49:
04147
04148 {
04149 osglData->description = (yyvsp[(2) - (3)].sval);
04150 free((yyvsp[(2) - (3)].sval));
04151 }
04152 break;
04153
04154 case 50:
04155
04156 {
04157 if (osglData->fileCreatorPresent == true)
04158 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated header information: file creator");
04159 else
04160 osglData->fileCreatorPresent = true;
04161 }
04162 break;
04163
04164 case 55:
04165
04166 {
04167 osglData->fileCreator = (yyvsp[(2) - (3)].sval);
04168 free((yyvsp[(2) - (3)].sval));
04169 }
04170 break;
04171
04172 case 56:
04173
04174 {
04175 if (osglData->licencePresent == true)
04176 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated header information: licence");
04177 else
04178 osglData->licencePresent = true;
04179 }
04180 break;
04181
04182 case 61:
04183
04184 {
04185 osglData->licence = (yyvsp[(2) - (3)].sval);
04186 free((yyvsp[(2) - (3)].sval));
04187 }
04188 break;
04189
04190 case 64:
04191
04192 {
04193 parserData->serviceURIPresent = false;
04194 parserData->serviceNamePresent = false;
04195 parserData->instanceNamePresent = false;
04196 parserData->instanceLocationPresent = false;
04197 parserData->jobIDPresent = false;
04198 parserData->solverToInvokePresent = false;
04199 parserData->licensePresent = false;
04200 parserData->usernamePresent = false;
04201 parserData->passwordPresent = false;
04202 parserData->contactPresent = false;
04203 parserData->otherGeneralOptionsPresent = false;
04204 osoption->general = new GeneralOption();
04205 }
04206 break;
04207
04208 case 85:
04209
04210 {
04211 if (parserData->serviceURIPresent)
04212 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <serviceURI>");
04213 else
04214 parserData->serviceURIPresent = true;
04215
04216 }
04217 break;
04218
04219 case 91:
04220
04221 {
04222 if (osoption->setServiceURI((yyvsp[(1) - (1)].sval)) == false)
04223 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setServiceURI failed");
04224 free((yyvsp[(1) - (1)].sval));
04225 parserData->errorText = NULL;
04226 }
04227 break;
04228
04229 case 93:
04230
04231 {
04232 if (parserData->serviceNamePresent)
04233 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <serviceName>");
04234 parserData->serviceNamePresent = true;
04235 }
04236 break;
04237
04238 case 99:
04239
04240 {
04241 if (osoption->setServiceName((yyvsp[(1) - (1)].sval)) == false)
04242 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setServiceName failed");
04243 free((yyvsp[(1) - (1)].sval));
04244 parserData->errorText = NULL;
04245 }
04246 break;
04247
04248 case 101:
04249
04250 { if (parserData->instanceNamePresent)
04251 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <instanceName>");
04252 parserData->instanceNamePresent = true;
04253 }
04254 break;
04255
04256 case 107:
04257
04258 {
04259 if (osoption->setInstanceName((yyvsp[(1) - (1)].sval)) == false)
04260 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setInstanceName failed");
04261 free((yyvsp[(1) - (1)].sval));
04262 parserData->errorText = NULL;
04263 }
04264 break;
04265
04266 case 108:
04267
04268 {
04269 if (osoption->setInstanceLocation(parserData->tempStr,parserData->typeAttribute) == false)
04270 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setInstanceLocation failed");
04271 parserData->errorText = NULL;
04272 }
04273 break;
04274
04275 case 109:
04276
04277 {
04278 if (parserData->instanceLocationPresent)
04279 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <instanceLocation>");
04280 parserData->instanceLocationPresent = true;
04281 parserData->typeAttribute = "local";
04282 }
04283 break;
04284
04285 case 111:
04286
04287 {
04288 if (verifyLocationType(parserData->typeAttribute) == false)
04289 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "instance location type not recognized");
04290 parserData->errorText = NULL;
04291 }
04292 break;
04293
04294 case 112:
04295
04296 {
04297 parserData->typeAttribute = (yyvsp[(2) - (3)].sval);
04298 free((yyvsp[(2) - (3)].sval));
04299 }
04300 break;
04301
04302 case 118:
04303
04304 {
04305 parserData->tempStr = (yyvsp[(1) - (1)].sval);
04306 free((yyvsp[(1) - (1)].sval));
04307 }
04308 break;
04309
04310 case 120:
04311
04312 { if (parserData->jobIDPresent)
04313 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <jobID>");
04314 parserData->jobIDPresent = true;
04315 }
04316 break;
04317
04318 case 126:
04319
04320 {
04321 if (osoption->setJobID((yyvsp[(1) - (1)].sval)) == false)
04322 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setJobID failed");
04323 free((yyvsp[(1) - (1)].sval));
04324 parserData->errorText = NULL;
04325 }
04326 break;
04327
04328 case 128:
04329
04330 {
04331 if (parserData->solverToInvokePresent)
04332 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <solverToInvoke>");
04333 parserData->solverToInvokePresent = true;
04334 }
04335 break;
04336
04337 case 134:
04338
04339 {
04340 if (osoption->setSolverToInvoke((yyvsp[(1) - (1)].sval)) == false)
04341 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setSolverToInvoke failed");
04342 free((yyvsp[(1) - (1)].sval));
04343 parserData->errorText = NULL;
04344 }
04345 break;
04346
04347 case 136:
04348
04349 {
04350 if (parserData->licensePresent)
04351 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <license>");
04352 parserData->licensePresent = true;
04353 }
04354 break;
04355
04356 case 142:
04357
04358 {
04359 if (osoption->setLicense((yyvsp[(1) - (1)].sval)) == false)
04360 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setLicense failed");
04361 free((yyvsp[(1) - (1)].sval));
04362 parserData->errorText = NULL;
04363 }
04364 break;
04365
04366 case 144:
04367
04368 { if (parserData->usernamePresent)
04369 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <username>");
04370 parserData->usernamePresent = true;
04371 }
04372 break;
04373
04374 case 150:
04375
04376 {
04377 if (osoption->setUserName((yyvsp[(1) - (1)].sval)) == false)
04378 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setUsername failed");
04379 free((yyvsp[(1) - (1)].sval));
04380 parserData->errorText = NULL;
04381 }
04382 break;
04383
04384 case 152:
04385
04386 { if (parserData->passwordPresent)
04387 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <password>");
04388 parserData->passwordPresent = true;
04389 }
04390 break;
04391
04392 case 158:
04393
04394 {
04395 if (osoption->setPassword((yyvsp[(1) - (1)].sval)) == false)
04396 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setPassword failed");
04397 free((yyvsp[(1) - (1)].sval));
04398 parserData->errorText = NULL;
04399 }
04400 break;
04401
04402 case 159:
04403
04404 {
04405 if (osoption->setContact(parserData->tempStr,parserData->typeAttribute) == false)
04406 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setContact failed");
04407 parserData->errorText = NULL;
04408 }
04409 break;
04410
04411 case 160:
04412
04413 {
04414 if (parserData->contactPresent)
04415 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <contact>");
04416 parserData->contactPresent = true;
04417 parserData->typeAttribute = "osp";
04418 parserData->tempStr = "";
04419 }
04420 break;
04421
04422 case 162:
04423
04424 {
04425 if (verifyTransportType(parserData->typeAttribute) == false)
04426 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "transport type not recognized");
04427 }
04428 break;
04429
04430 case 163:
04431
04432 {
04433 parserData->typeAttribute = (yyvsp[(2) - (3)].sval);
04434 free((yyvsp[(2) - (3)].sval));
04435 }
04436 break;
04437
04438 case 169:
04439
04440 {
04441 parserData->tempStr = (yyvsp[(1) - (1)].sval);
04442 free((yyvsp[(1) - (1)].sval));
04443 }
04444 break;
04445
04446 case 170:
04447
04448 {
04449 suppressFurtherErrorMessages = false;
04450 ignoreDataAfterErrors = false;
04451 }
04452 break;
04453
04454 case 171:
04455
04456 {
04457 if (parserData->otherGeneralOptionsPresent)
04458 {
04459 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <general> <otherOptions>");
04460 ignoreDataAfterErrors = true;
04461 }
04462 parserData->otherGeneralOptionsPresent = true;
04463 }
04464 break;
04465
04466 case 172:
04467
04468 {
04469 if (parserData->tempInt < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other general options cannot be negative");
04470 parserData->numberOf = parserData->tempInt;
04471 parserData->kounter = 0;
04472 }
04473 break;
04474
04475 case 173:
04476
04477 {
04478 if (parserData->numberOf > 0)
04479 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <other> element");
04480 }
04481 break;
04482
04483 case 174:
04484
04485 {
04486 if (parserData->kounter < parserData->numberOf - 1)
04487 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <other> elements than specified");
04488 }
04489 break;
04490
04491 case 181:
04492
04493 {
04494 parserData->kounter++;
04495 if (!ignoreDataAfterErrors)
04496 if (osoption->setAnOtherGeneralOption(parserData->nameAttribute, parserData->valueAttribute, parserData->descriptionAttribute) == false)
04497 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setOtherGeneralOption failed");
04498 }
04499 break;
04500
04501 case 182:
04502
04503 {
04504 if (parserData->kounter >= parserData->numberOf)
04505 {
04506 if (!suppressFurtherErrorMessages)
04507 {
04508 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <other> elements than specified");
04509 suppressFurtherErrorMessages = true;
04510 ignoreDataAfterErrors = true;
04511 }
04512 }
04513 parserData->nameAttributePresent = false;
04514 parserData->valueAttributePresent = false;
04515 parserData->descriptionAttributePresent = false;
04516 parserData->nameAttribute = "";
04517 parserData->valueAttribute = "";
04518 parserData->descriptionAttribute = "";
04519 }
04520 break;
04521
04522 case 183:
04523
04524 {
04525 if (!parserData->nameAttributePresent)
04526 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> must have name attribute");
04527 }
04528 break;
04529
04530 case 186:
04531
04532 { if (parserData->nameAttribute.length() == 0)
04533 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "otherOption name cannot be empty");
04534 }
04535 break;
04536
04537 case 193:
04538
04539 {
04540 parserData->minDiskSpacePresent = false;
04541 parserData->minMemoryPresent = false;
04542 parserData->minCPUSpeedPresent = false;
04543 parserData->minCPUNumberPresent = false;
04544 parserData->otherSystemOptionsPresent = false;
04545 osoption->system = new SystemOption();
04546 }
04547 break;
04548
04549 case 208:
04550
04551 { if (parserData->minDiskSpacePresent)
04552 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one minDiskSpace element allowed");
04553 parserData->minDiskSpacePresent = true;
04554 parserData->unitAttributePresent = false;
04555 parserData->descriptionAttributePresent = false;
04556 parserData->unitAttribute = "byte";
04557 parserData->descriptionAttribute = "";
04558 }
04559 break;
04560
04561 case 215:
04562
04563 {
04564 if (osoption->setMinDiskSpace(parserData->unitAttribute, parserData->descriptionAttribute, parserData->tempVal) == false)
04565 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setMinDiskSpace failed");
04566 parserData->errorText = NULL;
04567 }
04568 break;
04569
04570 case 217:
04571
04572 { if (parserData->minMemoryPresent)
04573 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one minMemory element allowed");
04574 parserData->minMemoryPresent = true;
04575 parserData->unitAttributePresent = false;
04576 parserData->descriptionAttributePresent = false;
04577 parserData->unitAttribute = "byte";
04578 parserData->descriptionAttribute = "";
04579 }
04580 break;
04581
04582 case 224:
04583
04584 {
04585 if (osoption->setMinMemorySize(parserData->unitAttribute, parserData->descriptionAttribute, parserData->tempVal) == false)
04586 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setMinMemorySize failed");
04587 parserData->errorText = NULL;
04588 }
04589 break;
04590
04591 case 226:
04592
04593 { if (parserData->minCPUSpeedPresent)
04594 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one minCPUSpeed element allowed");
04595 parserData->minCPUSpeedPresent = true;
04596 parserData->unitAttributePresent = false;
04597 parserData->descriptionAttributePresent = false;
04598 parserData->unitAttribute = "hertz";
04599 parserData->descriptionAttribute = "";
04600 }
04601 break;
04602
04603 case 233:
04604
04605 {
04606 if (osoption->setMinCPUSpeed(parserData->unitAttribute, parserData->descriptionAttribute, parserData->tempVal) == false)
04607 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setMinCPUSpeed failed");
04608 parserData->errorText = NULL;
04609 }
04610 break;
04611
04612 case 235:
04613
04614 { if (parserData->minCPUNumberPresent)
04615 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one minCPUNumber element allowed");
04616 parserData->minCPUNumberPresent = true;
04617 parserData->descriptionAttributePresent = false;
04618 parserData->descriptionAttribute = "";
04619 }
04620 break;
04621
04622 case 239:
04623
04624 {
04625 if (osoption->setMinCPUNumber((yyvsp[(1) - (1)].ival), parserData->descriptionAttribute) == false)
04626 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setMinCPUNumber failed");
04627
04628 parserData->errorText = NULL;
04629 }
04630 break;
04631
04632 case 240:
04633
04634 {
04635 suppressFurtherErrorMessages = false;
04636 ignoreDataAfterErrors = false;
04637 }
04638 break;
04639
04640 case 241:
04641
04642 {
04643 if (parserData->otherSystemOptionsPresent)
04644 {
04645 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <system> <otherOptions>");
04646 ignoreDataAfterErrors = true;
04647 }
04648 parserData->otherSystemOptionsPresent = true;
04649 }
04650 break;
04651
04652 case 242:
04653
04654 {
04655 if (parserData->tempInt < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other system options cannot be negative");
04656 parserData->numberOf = parserData->tempInt;
04657 parserData->kounter = 0;
04658 }
04659 break;
04660
04661 case 243:
04662
04663 { if (parserData->numberOf > 0)
04664 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <other> element");
04665 }
04666 break;
04667
04668 case 244:
04669
04670 { if (parserData->kounter < parserData->numberOf - 1)
04671 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <other> elements than specified");
04672 }
04673 break;
04674
04675 case 251:
04676
04677 {
04678 parserData->kounter++;
04679 if (!ignoreDataAfterErrors)
04680 if (osoption->setAnOtherSystemOption(parserData->nameAttribute, parserData->valueAttribute, parserData->descriptionAttribute) == false)
04681 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setOtherSystemOption failed");
04682 }
04683 break;
04684
04685 case 252:
04686
04687 {
04688 if (parserData->kounter >= parserData->numberOf)
04689 {
04690 if (!suppressFurtherErrorMessages)
04691 {
04692 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <other> elements than specified");
04693 suppressFurtherErrorMessages = true;
04694 ignoreDataAfterErrors = true;
04695 }
04696 }
04697 parserData->nameAttributePresent = false;
04698 parserData->valueAttributePresent = false;
04699 parserData->descriptionAttributePresent = false;
04700 parserData->nameAttribute = "";
04701 parserData->valueAttribute = "";
04702 parserData->descriptionAttribute = "";
04703 }
04704 break;
04705
04706 case 253:
04707
04708 { if (!parserData->nameAttributePresent)
04709 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> must have name attribute");
04710 }
04711 break;
04712
04713 case 256:
04714
04715 {
04716 if (parserData->nameAttribute.length() == 0)
04717 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "otherOption name cannot be empty");
04718 }
04719 break;
04720
04721 case 263:
04722
04723 {
04724 parserData->serviceTypePresent = false;
04725 parserData->otherServiceOptionsPresent = false;
04726 osoption->service = new ServiceOption();
04727 }
04728 break;
04729
04730 case 275:
04731
04732 { if (parserData->serviceTypePresent)
04733 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one currentState element allowed");
04734 parserData->serviceTypePresent = true;
04735 }
04736 break;
04737
04738 case 281:
04739
04740 {
04741 parserData->tempStr = (yyvsp[(1) - (1)].sval);
04742 free((yyvsp[(1) - (1)].sval));
04743 if (osoption->setServiceType(parserData->tempStr) == false)
04744 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setServiceType failed; current system state not recognized");
04745 parserData->errorText = NULL;
04746 }
04747 break;
04748
04749 case 282:
04750
04751 {
04752 suppressFurtherErrorMessages = false;
04753 ignoreDataAfterErrors = false;
04754 }
04755 break;
04756
04757 case 283:
04758
04759 {
04760 if (parserData->otherServiceOptionsPresent)
04761 {
04762 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <service> <otherOptions>");
04763 ignoreDataAfterErrors = true;
04764 }
04765 parserData->otherServiceOptionsPresent = true;
04766 }
04767 break;
04768
04769 case 284:
04770
04771 {
04772 if (parserData->tempInt < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other service options cannot be negative");
04773 parserData->numberOf = parserData->tempInt;
04774 parserData->kounter = 0;
04775 }
04776 break;
04777
04778 case 285:
04779
04780 { if (parserData->numberOf > 0)
04781 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <other> element");
04782 }
04783 break;
04784
04785 case 286:
04786
04787 { if (parserData->kounter < parserData->numberOf - 1)
04788 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <other> elements than specified");
04789 }
04790 break;
04791
04792 case 293:
04793
04794 {
04795 parserData->kounter++;
04796 if (!ignoreDataAfterErrors)
04797 if (osoption->setAnOtherServiceOption(parserData->nameAttribute, parserData->valueAttribute, parserData->descriptionAttribute) == false)
04798 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setOtherServiceOption failed");
04799 }
04800 break;
04801
04802 case 294:
04803
04804 {
04805 if (parserData->kounter >= parserData->numberOf)
04806 {
04807 if (!suppressFurtherErrorMessages)
04808 {
04809 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <other> elements than specified");
04810 suppressFurtherErrorMessages = true;
04811 ignoreDataAfterErrors = true;
04812 }
04813 }
04814 parserData->nameAttributePresent = false;
04815 parserData->valueAttributePresent = false;
04816 parserData->descriptionAttributePresent = false;
04817 parserData->nameAttribute = "";
04818 parserData->valueAttribute = "";
04819 parserData->descriptionAttribute = "";
04820 }
04821 break;
04822
04823 case 295:
04824
04825 { if (!parserData->nameAttributePresent)
04826 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> must have name attribute");
04827 }
04828 break;
04829
04830 case 298:
04831
04832 {
04833 if (parserData->nameAttribute.length() == 0)
04834 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "otherOption name cannot be empty");
04835 }
04836 break;
04837
04838 case 305:
04839
04840 {
04841 parserData->maxTimePresent = false;
04842 parserData->requestedStartTimePresent = false;
04843 parserData->dependenciesPresent = false;
04844 parserData->requiredDirectoriesPresent = false;
04845 parserData->requiredFilesPresent = false;
04846 parserData->directoriesToMakePresent = false;
04847 parserData->filesToMakePresent = false;
04848 parserData->inputDirectoriesToMovePresent = false;
04849 parserData->inputFilesToMovePresent = false;
04850 parserData->outputDirectoriesToMovePresent = false;
04851 parserData->outputFilesToMovePresent = false;
04852 parserData->filesToDeletePresent = false;
04853 parserData->directoriesToDeletePresent = false;
04854 parserData->processesToKillPresent = false;
04855 parserData->otherJobOptionsPresent = false;
04856 osoption->job = new JobOption();
04857 }
04858 break;
04859
04860 case 329:
04861
04862 {
04863 if (osoption->setMaxTime(parserData->maxTimeValue, parserData->unitAttribute) == false)
04864 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "max time request could not be honored");
04865 }
04866 break;
04867
04868 case 330:
04869
04870 {
04871 if (parserData->maxTimePresent)
04872 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <maxTime> element allowed");
04873 parserData->maxTimePresent = true;
04874 parserData->unitAttributePresent = false;
04875 parserData->unitAttribute = "second";
04876 parserData->maxTimeValue = OSDBL_MAX;
04877 }
04878 break;
04879
04880 case 339:
04881
04882 {
04883 parserData->maxTimeValue = parserData->tempVal;
04884 }
04885 break;
04886
04887 case 341:
04888
04889 { if (parserData->requestedStartTimePresent)
04890 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one requestedStartTime element allowed");
04891 parserData->requestedStartTimePresent = true;
04892 }
04893 break;
04894
04895 case 347:
04896
04897 {
04898 if (osoption->setRequestedStartTime((yyvsp[(1) - (1)].sval)) == false)
04899 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setRequestedStartTime failed");
04900 free((yyvsp[(1) - (1)].sval));
04901 parserData->errorText = NULL;
04902 }
04903 break;
04904
04905 case 348:
04906
04907 {
04908 if (!ignoreDataAfterErrors)
04909 if (osoption->setJobDependencies(parserData->numberOf, parserData->jobDependencies) == false)
04910 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <job> <dependencies> failed");
04911 delete[] parserData->jobDependencies;
04912 parserData->jobDependencies = NULL;
04913 suppressFurtherErrorMessages = false;
04914 ignoreDataAfterErrors = false;
04915 }
04916 break;
04917
04918 case 349:
04919
04920 {
04921 if (parserData->dependenciesPresent)
04922 {
04923 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <dependencies> element allowed");
04924 ignoreDataAfterErrors = true;
04925 }
04926 parserData->dependenciesPresent = true;
04927 }
04928 break;
04929
04930 case 355:
04931
04932 {
04933 if (parserData->kounter < parserData->numberOf)
04934 {
04935 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few job IDs in <dependencies> element");
04936 ignoreDataAfterErrors = true;
04937 }
04938 }
04939 break;
04940
04941 case 358:
04942
04943 {
04944 if (parserData->kounter >= parserData->numberOf)
04945 {
04946 if (!suppressFurtherErrorMessages)
04947 {
04948 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too many job IDs in <dependencies> element");
04949 suppressFurtherErrorMessages = true;
04950 ignoreDataAfterErrors = true;
04951 }
04952 }
04953 else
04954 {
04955 parserData->jobDependencies[parserData->kounter] = (yyvsp[(3) - (4)].sval);
04956 parserData->kounter++;
04957 }
04958 free((yyvsp[(3) - (4)].sval));
04959 }
04960 break;
04961
04962 case 359:
04963
04964 {
04965 if (!ignoreDataAfterErrors)
04966 if (osoption->setRequiredDirectories(parserData->numberOf,parserData->paths) == false)
04967 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <requiredDirectories> failed");
04968 delete[] parserData->paths;
04969 parserData->paths = NULL;
04970 suppressFurtherErrorMessages = false;
04971 ignoreDataAfterErrors = false;
04972 }
04973 break;
04974
04975 case 360:
04976
04977 {
04978 if (parserData->requiredDirectoriesPresent)
04979 {
04980 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <requiredDirectories> element allowed");
04981 ignoreDataAfterErrors = true;
04982 }
04983 parserData->requiredDirectoriesPresent = true;
04984 }
04985 break;
04986
04987 case 365:
04988
04989 {
04990 if (parserData->kounter < parserData->numberOf)
04991 {
04992 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <requiredDirectories> element");
04993 ignoreDataAfterErrors = true;
04994 }
04995 }
04996 break;
04997
04998 case 366:
04999
05000 {
05001 if (!ignoreDataAfterErrors)
05002 if (osoption->setRequiredFiles(parserData->numberOf, parserData->paths) == false)
05003 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <requiredFiles> failed");
05004 delete[] parserData->paths;
05005 parserData->paths = NULL;
05006 suppressFurtherErrorMessages = false;
05007 ignoreDataAfterErrors = false;
05008 }
05009 break;
05010
05011 case 367:
05012
05013 {
05014 if (parserData->requiredFilesPresent)
05015 {
05016 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <requiredFiles> element allowed");
05017 ignoreDataAfterErrors = true;
05018 }
05019 parserData->requiredFilesPresent = true;
05020 }
05021 break;
05022
05023 case 372:
05024
05025 {
05026 if (parserData->kounter < parserData->numberOf)
05027 {
05028 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <requiredFiles> element");
05029 ignoreDataAfterErrors = true;
05030 }
05031 }
05032 break;
05033
05034 case 373:
05035
05036 {
05037 if (!ignoreDataAfterErrors)
05038 if (osoption->setDirectoriesToMake(parserData->numberOf, parserData->paths) == false)
05039 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <directoriesToMake> failed");
05040 delete[] parserData->paths;
05041 parserData->paths = NULL;
05042 suppressFurtherErrorMessages = false;
05043 ignoreDataAfterErrors = false;
05044 }
05045 break;
05046
05047 case 374:
05048
05049 {
05050 if (parserData->directoriesToMakePresent)
05051 {
05052 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <directoriesToMake> element allowed");
05053 ignoreDataAfterErrors = true;
05054 }
05055 parserData->directoriesToMakePresent = true;
05056 }
05057 break;
05058
05059 case 379:
05060
05061 {
05062 if (parserData->kounter < parserData->numberOf)
05063 {
05064 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <directoriesToMake> element");
05065 ignoreDataAfterErrors = true;
05066 }
05067 }
05068 break;
05069
05070 case 380:
05071
05072 {
05073 if (!ignoreDataAfterErrors)
05074 if (osoption->setFilesToMake(parserData->numberOf, parserData->paths) == false)
05075 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <filesToMake> failed");
05076 delete[] parserData->paths;
05077 parserData->paths = NULL;
05078 suppressFurtherErrorMessages = false;
05079 ignoreDataAfterErrors = false;
05080 }
05081 break;
05082
05083 case 381:
05084
05085 {
05086 if (parserData->filesToMakePresent)
05087 {
05088 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <filesToMake> element allowed");
05089 ignoreDataAfterErrors = true;
05090 }
05091 parserData->filesToMakePresent = true;
05092 }
05093 break;
05094
05095 case 386:
05096
05097 {
05098 if (parserData->kounter < parserData->numberOf)
05099 {
05100 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <filesToMake> element");
05101 ignoreDataAfterErrors = true;
05102 }
05103 }
05104 break;
05105
05106 case 387:
05107
05108 {
05109 if (!ignoreDataAfterErrors)
05110 if (osoption->setPathPairs(ENUM_PATHPAIR_input_dir, parserData->fromPaths,
05111 parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
05112 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <inputDirectoriesToMove> failed");
05113 delete[] parserData->fromPaths;
05114 delete[] parserData->toPaths;
05115 delete[] parserData->makeCopy;
05116 parserData->fromPaths = NULL;
05117 parserData->toPaths = NULL;
05118 parserData->makeCopy = NULL;
05119 suppressFurtherErrorMessages = false;
05120 ignoreDataAfterErrors = false;
05121 }
05122 break;
05123
05124 case 388:
05125
05126 {
05127 if (parserData->inputDirectoriesToMovePresent)
05128 {
05129 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <inputDirectoriesToMove> element allowed");
05130 ignoreDataAfterErrors = true;
05131 }
05132 parserData->inputDirectoriesToMovePresent = true;
05133 }
05134 break;
05135
05136 case 394:
05137
05138 {
05139 if (parserData->kounter < parserData->numberOfPathPairs)
05140 {
05141 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few path pairs in <inputDirectoriesToMove> element");
05142 ignoreDataAfterErrors = true;
05143 }
05144 }
05145 break;
05146
05147 case 398:
05148
05149 {
05150 if (!ignoreDataAfterErrors)
05151 if (osoption->setPathPairs(ENUM_PATHPAIR_input_file, parserData->fromPaths,
05152 parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
05153 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <inputFilesToMove> failed");
05154 delete[] parserData->fromPaths;
05155 delete[] parserData->toPaths;
05156 delete[] parserData->makeCopy;
05157 parserData->fromPaths = NULL;
05158 parserData->toPaths = NULL;
05159 parserData->makeCopy = NULL;
05160 suppressFurtherErrorMessages = false;
05161 ignoreDataAfterErrors = false;
05162 }
05163 break;
05164
05165 case 399:
05166
05167 {
05168 if (parserData->inputFilesToMovePresent)
05169 {
05170 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <inputFilesToMove> element allowed");
05171 ignoreDataAfterErrors = true;
05172 }
05173 parserData->inputFilesToMovePresent = true;
05174 }
05175 break;
05176
05177 case 405:
05178
05179 {
05180 if (parserData->kounter < parserData->numberOfPathPairs)
05181 {
05182 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few path pairs in <inputFilesToMove> element");
05183 ignoreDataAfterErrors = true;
05184 }
05185 }
05186 break;
05187
05188 case 409:
05189
05190 {
05191 if (!ignoreDataAfterErrors)
05192 if (osoption->setPathPairs(ENUM_PATHPAIR_output_file, parserData->fromPaths,
05193 parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
05194 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <inputDirectoriesToMake> failed");
05195 delete[] parserData->fromPaths;
05196 delete[] parserData->toPaths;
05197 delete[] parserData->makeCopy;
05198 parserData->fromPaths = NULL;
05199 parserData->toPaths = NULL;
05200 parserData->makeCopy = NULL;
05201 suppressFurtherErrorMessages = false;
05202 ignoreDataAfterErrors = false;
05203 }
05204 break;
05205
05206 case 410:
05207
05208 {
05209 if (parserData->outputFilesToMovePresent)
05210 {
05211 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <outputFilesToMove> element allowed");
05212 ignoreDataAfterErrors = true;
05213 }
05214 parserData->outputFilesToMovePresent = true;
05215 }
05216 break;
05217
05218 case 416:
05219
05220 {
05221 if (parserData->kounter < parserData->numberOfPathPairs)
05222 {
05223 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few path pairs in <outputFilesToMake> element");
05224 ignoreDataAfterErrors = true;
05225 }
05226 }
05227 break;
05228
05229 case 420:
05230
05231 {
05232 if (!ignoreDataAfterErrors)
05233 if (osoption->setPathPairs(ENUM_PATHPAIR_output_dir, parserData->fromPaths,
05234 parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
05235 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <inputDirectoriesToMake> failed");
05236 delete[] parserData->fromPaths;
05237 delete[] parserData->toPaths;
05238 delete[] parserData->makeCopy;
05239 parserData->fromPaths = NULL;
05240 parserData->toPaths = NULL;
05241 parserData->makeCopy = NULL;
05242 suppressFurtherErrorMessages = false;
05243 ignoreDataAfterErrors = false;
05244 }
05245 break;
05246
05247 case 421:
05248
05249 {
05250 if (parserData->outputDirectoriesToMovePresent)
05251 {
05252 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <outputDirectoriesToMove> element allowed");
05253 ignoreDataAfterErrors = true;
05254 }
05255 parserData->outputDirectoriesToMovePresent = true;
05256 }
05257 break;
05258
05259 case 427:
05260
05261 {
05262 if (parserData->kounter < parserData->numberOfPathPairs)
05263 {
05264 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few path pairs in <outputDirectoriesToMake> element");
05265 ignoreDataAfterErrors = true;
05266 }
05267 }
05268 break;
05269
05270 case 431:
05271
05272 {
05273 if (!ignoreDataAfterErrors)
05274 if (osoption->setFilesToDelete(parserData->numberOf, parserData->paths) == false)
05275 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <filesToDelete> failed");
05276 delete[] parserData->paths;
05277 parserData->paths = NULL;
05278 suppressFurtherErrorMessages = false;
05279 ignoreDataAfterErrors = false;
05280 }
05281 break;
05282
05283 case 432:
05284
05285 {
05286 if (parserData->filesToDeletePresent)
05287 {
05288 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <filesToDelete> element allowed");
05289 ignoreDataAfterErrors = true;
05290 }
05291 parserData->filesToDeletePresent = true;
05292 }
05293 break;
05294
05295 case 438:
05296
05297 {
05298 if (parserData->kounter < parserData->numberOf)
05299 {
05300 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <filesToDelete> element");
05301 ignoreDataAfterErrors = true;
05302 }
05303 }
05304 break;
05305
05306 case 439:
05307
05308 {
05309 if (!ignoreDataAfterErrors)
05310 if (osoption->setDirectoriesToDelete(parserData->numberOf, parserData->paths) == false)
05311 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <directoriesToDelete> failed");
05312 delete[] parserData->paths;
05313 parserData->paths = NULL;
05314 suppressFurtherErrorMessages = false;
05315 ignoreDataAfterErrors = false;
05316 }
05317 break;
05318
05319 case 440:
05320
05321 {
05322 if (parserData->directoriesToDeletePresent)
05323 {
05324 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <directoriesToDelete> element allowed");
05325 ignoreDataAfterErrors = true;
05326 }
05327 parserData->directoriesToDeletePresent = true;
05328 }
05329 break;
05330
05331 case 446:
05332
05333 {
05334 if (parserData->kounter < parserData->numberOf)
05335 {
05336 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few paths in <directoriesToDelete> element");
05337 ignoreDataAfterErrors = true;
05338 }
05339 }
05340 break;
05341
05342 case 447:
05343
05344 {
05345 if (!ignoreDataAfterErrors)
05346 if (osoption->setProcessesToKill(parserData->numberOf, parserData->processesToKill) == false)
05347 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <processesToKill> failed");
05348 delete[] parserData->processesToKill;
05349 parserData->processesToKill = NULL;
05350 suppressFurtherErrorMessages = false;
05351 ignoreDataAfterErrors = false;
05352 }
05353 break;
05354
05355 case 448:
05356
05357 {
05358 if (parserData->processesToKillPresent)
05359 {
05360 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one <processesToKill> element allowed");
05361 ignoreDataAfterErrors = true;
05362 }
05363 parserData->processesToKillPresent = true;
05364 }
05365 break;
05366
05367 case 454:
05368
05369 {
05370 if (parserData->kounter < parserData->numberOf)
05371 {
05372 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few process IDs in <processesToKill> element");
05373 ignoreDataAfterErrors = true;
05374 }
05375 }
05376 break;
05377
05378 case 457:
05379
05380 {
05381 if (parserData->kounter >= parserData->numberOf)
05382 {
05383 if (!suppressFurtherErrorMessages)
05384 {
05385 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too many process IDs in <processesToKill> element");
05386 suppressFurtherErrorMessages = true;
05387 ignoreDataAfterErrors = true;
05388 }
05389 }
05390 else
05391 {
05392 parserData->processesToKill[parserData->kounter] = (yyvsp[(3) - (4)].sval);
05393 parserData->kounter++;
05394 }
05395 free((yyvsp[(3) - (4)].sval));
05396 }
05397 break;
05398
05399 case 458:
05400
05401 {
05402 suppressFurtherErrorMessages = false;
05403 ignoreDataAfterErrors = false;
05404 }
05405 break;
05406
05407 case 459:
05408
05409 {
05410 if (parserData->otherJobOptionsPresent)
05411 {
05412 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Repeated element: <job> <otherOptions>");
05413 ignoreDataAfterErrors = true;
05414 }
05415 parserData->otherJobOptionsPresent = true;
05416 }
05417 break;
05418
05419 case 460:
05420
05421 {
05422 if (parserData->tempInt < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other job options cannot be negative");
05423 parserData->numberOf = parserData->tempInt;
05424 parserData->kounter = 0;
05425 }
05426 break;
05427
05428 case 461:
05429
05430 { if (parserData->numberOf > 0)
05431 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <other> element");
05432 }
05433 break;
05434
05435 case 462:
05436
05437 { if (parserData->kounter < parserData->numberOf - 1)
05438 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <other> elements than specified");
05439 }
05440 break;
05441
05442 case 469:
05443
05444 {
05445 parserData->kounter++;
05446 if (!ignoreDataAfterErrors)
05447 if (osoption->setAnOtherJobOption(parserData->nameAttribute, parserData->valueAttribute, parserData->descriptionAttribute) == false)
05448 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setOtherJobOption failed");
05449 }
05450 break;
05451
05452 case 470:
05453
05454 {
05455 if (parserData->kounter >= parserData->numberOf)
05456 {
05457 if (!suppressFurtherErrorMessages)
05458 {
05459 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <other> elements than specified");
05460 suppressFurtherErrorMessages = true;
05461 ignoreDataAfterErrors = true;
05462 }
05463 }
05464 parserData->nameAttributePresent = false;
05465 parserData->valueAttributePresent = false;
05466 parserData->descriptionAttributePresent = false;
05467 parserData->nameAttribute = "";
05468 parserData->valueAttribute = "";
05469 parserData->descriptionAttribute = "";
05470 }
05471 break;
05472
05473 case 471:
05474
05475 {
05476 if (!parserData->nameAttributePresent)
05477 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> must have name attribute");
05478 }
05479 break;
05480
05481 case 474:
05482
05483 {
05484 if (parserData->nameAttribute.length() == 0)
05485 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "otherOption name cannot be empty");
05486 }
05487 break;
05488
05489 case 481:
05490
05491 {
05492 osoption->optimization = new OptimizationOption();
05493 parserData->numberOfVariablesPresent = false;
05494 parserData->numberOfObjectivesPresent = false;
05495 parserData->numberOfConstraintsPresent = false;
05496 }
05497 break;
05498
05499 case 485:
05500
05501 {
05502 parserData->numberOfVariables = parserData->tempInt;
05503 if (osoption->setNumberOfVariables(parserData->tempInt) == false)
05504 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfVariables failed");
05505 }
05506 break;
05507
05508 case 486:
05509
05510 {
05511 parserData->numberOfConstraints = parserData->tempInt;
05512 if (osoption->setNumberOfConstraints(parserData->tempInt) == false)
05513 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfConstraints failed");
05514 }
05515 break;
05516
05517 case 487:
05518
05519 {
05520 parserData->numberOfObjectives = parserData->tempInt;
05521 if (osoption->setNumberOfObjectives(parserData->tempInt) == false)
05522 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfObjectives failed");
05523 }
05524 break;
05525
05526 case 495:
05527
05528 {
05529 parserData->numberOfOtherVariableOptions = 0;
05530 osoption->optimization->variables = new VariableOption();
05531 }
05532 break;
05533
05534 case 496:
05535
05536 {
05537 if (osoption->setNumberOfOtherVariableOptions(parserData->numberOfOtherVariableOptions) == false)
05538 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfOtherVariableOptions failed");
05539 parserData->iOther = 0;
05540 }
05541 break;
05542
05543 case 498:
05544
05545 {
05546 parserData->numberOfOtherVariableOptions = parserData->tempInt;
05547 }
05548 break;
05549
05550 case 503:
05551
05552 {
05553 suppressFurtherErrorMessages = false;
05554 ignoreDataAfterErrors = false;
05555
05556 }
05557 break;
05558
05559 case 505:
05560
05561 {
05562 if (!ignoreDataAfterErrors)
05563 if (osoption->setInitVarValues(parserData->numberOfVar, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
05564 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialVariableValues> failed");
05565 delete[] parserData->idxArray;
05566 delete[] parserData->namArray;
05567 delete[] parserData->valArray;
05568 parserData->idxArray = NULL;
05569 parserData->namArray = NULL;
05570 parserData->valArray = NULL;
05571 suppressFurtherErrorMessages = false;
05572 ignoreDataAfterErrors = false;
05573 }
05574 break;
05575
05576 case 506:
05577
05578 {
05579 parserData->numberOfVarAttributePresent = false;
05580 }
05581 break;
05582
05583 case 507:
05584
05585 {
05586 parserData->kounter = 0;
05587 parserData->idxArray = new int[parserData->numberOfVar];
05588 parserData->namArray = new std::string[parserData->numberOfVar];
05589 parserData->valArray = new double[parserData->numberOfVar];
05590 for (int i=0; i < parserData->numberOfVar; i++) parserData->namArray[i] = "";
05591 for (int i=0; i < parserData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
05592 }
05593 break;
05594
05595 case 508:
05596
05597 {
05598 if (parserData->numberOfVar > 0)
05599 {
05600 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialVariableValues>: expected at least one <var> element");
05601 ignoreDataAfterErrors = true;
05602 }
05603 }
05604 break;
05605
05606 case 509:
05607
05608 {
05609 if (parserData->kounter < parserData->numberOfVar)
05610 {
05611 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialVariableValues>: fewer <var> elements than specified");
05612 ignoreDataAfterErrors = true;
05613 }
05614 }
05615 break;
05616
05617 case 516:
05618
05619 {
05620 parserData->kounter++;
05621 }
05622 break;
05623
05624 case 517:
05625
05626 {
05627 if (parserData->kounter >= parserData->numberOfVar)
05628 if (!suppressFurtherErrorMessages)
05629 {
05630 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <var> elements than specified");
05631 suppressFurtherErrorMessages = true;
05632 ignoreDataAfterErrors = true;
05633 }
05634 parserData->idxAttributePresent = false;
05635 parserData->nameAttributePresent = false;
05636 parserData->valueAttributePresent = false;
05637 }
05638 break;
05639
05640 case 518:
05641
05642 {
05643 if (parserData->idxAttributePresent == false)
05644 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<var> element must have idx attribute");
05645 }
05646 break;
05647
05648 case 521:
05649
05650 {
05651 if (parserData->idxAttribute < 0)
05652 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index must be nonnegative");
05653 if (osoption->optimization->numberOfVariables >= 0)
05654 {
05655 if (parserData->idxAttribute >= osoption->optimization->numberOfVariables)
05656 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index exceeds upper limit");
05657 };
05658 if (!ignoreDataAfterErrors)
05659 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
05660 }
05661 break;
05662
05663 case 522:
05664
05665 {
05666 if (!ignoreDataAfterErrors)
05667 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
05668 }
05669 break;
05670
05671 case 523:
05672
05673 {
05674 if (parserData->valueAttribute == "")
05675 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
05676 if (!ignoreDataAfterErrors)
05677 parserData->valArray[parserData->kounter] = os_strtod((parserData->valueAttribute).c_str(), NULL);
05678 }
05679 break;
05680
05681 case 527:
05682
05683 {
05684 if (!ignoreDataAfterErrors)
05685 if (osoption->setInitVarValuesString(parserData->numberOfVar, parserData->idxArray, parserData->valueString, parserData->namArray) == false)
05686 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialVariableValuesString> failed");
05687 delete[] parserData->idxArray;
05688 delete[] parserData->namArray;
05689 delete[] parserData->valueString;
05690 parserData->idxArray = NULL;
05691 parserData->namArray = NULL;
05692 parserData->valueString = NULL;
05693 suppressFurtherErrorMessages = false;
05694 ignoreDataAfterErrors = false;
05695 }
05696 break;
05697
05698 case 528:
05699
05700 {
05701 parserData->numberOfVarAttributePresent = false;
05702 }
05703 break;
05704
05705 case 529:
05706
05707 {
05708 parserData->kounter = 0;
05709 parserData->idxArray = new int[parserData->numberOfVar];
05710 parserData->namArray = new std::string[parserData->numberOfVar];
05711 parserData->valueString = new std::string[parserData->numberOfVar];
05712 for (int i=0; i < parserData->numberOfVar; i++) parserData->namArray[i] = "";
05713 for (int i=0; i < parserData->numberOfVar; i++) parserData->valueString[i] = "";
05714 }
05715 break;
05716
05717 case 530:
05718
05719 {
05720 if (parserData->numberOfVar > 0)
05721 {
05722 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialVariableValuesString>: expected at least one <var> element");
05723 ignoreDataAfterErrors = true;
05724 }
05725 }
05726 break;
05727
05728 case 531:
05729
05730 {
05731 if (parserData->kounter < parserData->numberOfVar)
05732 {
05733 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too few initial values in <initialVariableValuesString> element");
05734 ignoreDataAfterErrors = true;
05735 }
05736 }
05737 break;
05738
05739 case 538:
05740
05741 {
05742 parserData->kounter++;
05743 }
05744 break;
05745
05746 case 539:
05747
05748 {
05749 if (parserData->kounter >= parserData->numberOfVar)
05750 if (!suppressFurtherErrorMessages)
05751 {
05752 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <var> elements than specified");
05753 suppressFurtherErrorMessages = true;
05754 ignoreDataAfterErrors = true;
05755 }
05756 parserData->idxAttributePresent = false;
05757 parserData->nameAttributePresent = false;
05758 parserData->valueAttributePresent = false;
05759 parserData->valueAttribute = "48r 87e WY EUV e7 df";
05760 }
05761 break;
05762
05763 case 540:
05764
05765 {
05766 if (parserData->idxAttributePresent == false)
05767 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<var> element must have idx attribute");
05768 }
05769 break;
05770
05771 case 543:
05772
05773 {
05774 if (parserData->idxAttribute < 0)
05775 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index must be nonnegative");
05776 if (osoption->optimization->numberOfVariables >= 0)
05777 {
05778 if (parserData->idxAttribute >= osoption->optimization->numberOfVariables)
05779 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index exceeds upper limit");
05780 };
05781 if (!ignoreDataAfterErrors)
05782 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
05783 }
05784 break;
05785
05786 case 544:
05787
05788 {
05789 if (!ignoreDataAfterErrors)
05790 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
05791 }
05792 break;
05793
05794 case 545:
05795
05796 {
05797 if (!ignoreDataAfterErrors)
05798 parserData->valueString[parserData->kounter] = parserData->valueAttribute;
05799 }
05800 break;
05801
05802 case 550:
05803
05804 {
05805 osoption->optimization->variables->initialBasisStatus = new BasisStatus();
05806 }
05807 break;
05808
05809 case 557:
05810
05811 {
05812 if (!ignoreDataAfterErrors)
05813 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05814 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables basic failed");
05815 delete[] osglData->osglIntArray;
05816 osglData->osglIntArray = NULL;
05817 suppressFurtherErrorMessages = false;
05818 ignoreDataAfterErrors = false;
05819 }
05820 break;
05821
05822 case 558:
05823
05824 {
05825 osglData->osglNumberOfEl = 0;
05826 osglData->osglNumberOfElPresent= false;
05827 }
05828 break;
05829
05830 case 559:
05831
05832 {
05833 osglData->osglCounter = 0;
05834 osglData->osglNumberOfEl = parserData->numberOf;
05835 osglData->osglIntArray = new int[parserData->numberOf];
05836 }
05837 break;
05838
05839 case 566:
05840
05841 {
05842 if (!ignoreDataAfterErrors)
05843 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05844 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables atLower failed");
05845 delete[] osglData->osglIntArray;
05846 osglData->osglIntArray = NULL;
05847 suppressFurtherErrorMessages = false;
05848 ignoreDataAfterErrors = false;
05849 }
05850 break;
05851
05852 case 567:
05853
05854 {
05855 osglData->osglNumberOfEl = 0;
05856 osglData->osglNumberOfElPresent= false;
05857 }
05858 break;
05859
05860 case 568:
05861
05862 {
05863 osglData->osglCounter = 0;
05864 osglData->osglNumberOfEl = parserData->numberOf;
05865 osglData->osglIntArray = new int[parserData->numberOf];
05866 }
05867 break;
05868
05869 case 575:
05870
05871 {
05872 if (!ignoreDataAfterErrors)
05873 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05874 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables atUpper failed");
05875 delete[] osglData->osglIntArray;
05876 osglData->osglIntArray = NULL;
05877 suppressFurtherErrorMessages = false;
05878 ignoreDataAfterErrors = false;
05879 }
05880 break;
05881
05882 case 576:
05883
05884 {
05885 osglData->osglNumberOfEl = 0;
05886 osglData->osglNumberOfElPresent= false;
05887 }
05888 break;
05889
05890 case 577:
05891
05892 {
05893 osglData->osglCounter = 0;
05894 osglData->osglNumberOfEl = parserData->numberOf;
05895 osglData->osglIntArray = new int[parserData->numberOf];
05896 }
05897 break;
05898
05899 case 584:
05900
05901 {
05902 if (!ignoreDataAfterErrors)
05903 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05904 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables atEquality failed");
05905 delete[] osglData->osglIntArray;
05906 osglData->osglIntArray = NULL;
05907 suppressFurtherErrorMessages = false;
05908 ignoreDataAfterErrors = false;
05909 }
05910 break;
05911
05912 case 585:
05913
05914 {
05915 osglData->osglNumberOfEl = 0;
05916 osglData->osglNumberOfElPresent= false;
05917 }
05918 break;
05919
05920 case 586:
05921
05922 {
05923 osglData->osglCounter = 0;
05924 osglData->osglNumberOfEl = parserData->numberOf;
05925 osglData->osglIntArray = new int[parserData->numberOf];
05926 }
05927 break;
05928
05929 case 593:
05930
05931 {
05932 if (!ignoreDataAfterErrors)
05933 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05934 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables isFree failed");
05935 delete[] osglData->osglIntArray;
05936 osglData->osglIntArray = NULL;
05937 suppressFurtherErrorMessages = false;
05938 ignoreDataAfterErrors = false;
05939 }
05940 break;
05941
05942 case 594:
05943
05944 {
05945 osglData->osglNumberOfEl = 0;
05946 osglData->osglNumberOfElPresent= false;
05947 }
05948 break;
05949
05950 case 595:
05951
05952 {
05953 osglData->osglCounter = 0;
05954 osglData->osglNumberOfEl = parserData->numberOf;
05955 osglData->osglIntArray = new int[parserData->numberOf];
05956 }
05957 break;
05958
05959 case 602:
05960
05961 {
05962 if (!ignoreDataAfterErrors)
05963 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05964 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables superbasic failed");
05965 delete[] osglData->osglIntArray;
05966 osglData->osglIntArray = NULL;
05967 suppressFurtherErrorMessages = false;
05968 ignoreDataAfterErrors = false;
05969 }
05970 break;
05971
05972 case 603:
05973
05974 {
05975 osglData->osglNumberOfEl = 0;
05976 osglData->osglNumberOfElPresent= false;
05977 }
05978 break;
05979
05980 case 604:
05981
05982 {
05983 osglData->osglCounter = 0;
05984 osglData->osglNumberOfEl = parserData->numberOf;
05985 osglData->osglIntArray = new int[parserData->numberOf];
05986 }
05987 break;
05988
05989 case 611:
05990
05991 {
05992 if (!ignoreDataAfterErrors)
05993 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05994 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables unknown failed");
05995 delete[] osglData->osglIntArray;
05996 osglData->osglIntArray = NULL;
05997 suppressFurtherErrorMessages = false;
05998 ignoreDataAfterErrors = false;
05999 }
06000 break;
06001
06002 case 612:
06003
06004 {
06005 osglData->osglNumberOfEl = 0;
06006 osglData->osglNumberOfElPresent= false;
06007 }
06008 break;
06009
06010 case 613:
06011
06012 {
06013 osglData->osglCounter = 0;
06014 osglData->osglNumberOfEl = parserData->numberOf;
06015 osglData->osglIntArray = new int[parserData->numberOf];
06016 }
06017 break;
06018
06019 case 620:
06020
06021 {
06022 if (!ignoreDataAfterErrors)
06023 if (osoption->setIntegerVariableBranchingWeights(parserData->numberOfVar, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
06024 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialVariableValues> failed");
06025 delete[] parserData->idxArray;
06026 delete[] parserData->namArray;
06027 delete[] parserData->valArray;
06028 parserData->idxArray = NULL;
06029 parserData->namArray = NULL;
06030 parserData->valArray = NULL;
06031 suppressFurtherErrorMessages = false;
06032 ignoreDataAfterErrors = false;
06033 }
06034 break;
06035
06036 case 621:
06037
06038 {
06039 parserData->numberOfVarAttributePresent = false;
06040 }
06041 break;
06042
06043 case 622:
06044
06045 {
06046 parserData->kounter = 0;
06047 parserData->idxArray = new int[parserData->numberOfVar];
06048 parserData->namArray = new std::string[parserData->numberOfVar];
06049 parserData->valArray = new double[parserData->numberOfVar];
06050 for (int i=0; i < parserData->numberOfVar; i++) parserData->namArray[i] = "";
06051 for (int i=0; i < parserData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
06052 }
06053 break;
06054
06055 case 623:
06056
06057 {
06058 if (parserData->numberOfVar > 0)
06059 {
06060 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <var> element");
06061 ignoreDataAfterErrors = true;
06062 }
06063 }
06064 break;
06065
06066 case 624:
06067
06068 {
06069 if (parserData->kounter < parserData->numberOfVar)
06070 {
06071 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <var> elements than specified");
06072 ignoreDataAfterErrors = true;
06073 }
06074 }
06075 break;
06076
06077 case 631:
06078
06079 {
06080 parserData->kounter++;
06081 }
06082 break;
06083
06084 case 632:
06085
06086 {
06087 if (parserData->kounter >= parserData->numberOfVar)
06088 if (!suppressFurtherErrorMessages)
06089 {
06090 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <var> elements than specified");
06091 suppressFurtherErrorMessages = true;
06092 ignoreDataAfterErrors = true;
06093 }
06094 parserData->idxAttributePresent = false;
06095 parserData->nameAttributePresent = false;
06096 parserData->nameAttribute = "";
06097 parserData->valueAttributePresent = false;
06098 parserData->valueAttribute = "1.0";
06099 }
06100 break;
06101
06102 case 633:
06103
06104 {
06105 if (parserData->idxAttributePresent == false)
06106 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<var> element must have idx attribute");
06107 }
06108 break;
06109
06110 case 636:
06111
06112 {
06113 if (parserData->idxAttribute < 0)
06114 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index must be nonnegative");
06115 if (osoption->optimization->numberOfVariables >= 0)
06116 {
06117 if (parserData->idxAttribute >= osoption->optimization->numberOfVariables)
06118 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index exceeds upper limit");
06119 };
06120 if (!ignoreDataAfterErrors)
06121 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
06122 }
06123 break;
06124
06125 case 637:
06126
06127 {
06128 if (!ignoreDataAfterErrors)
06129 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
06130 }
06131 break;
06132
06133 case 638:
06134
06135 {
06136 if (parserData->valueAttribute == "")
06137 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
06138 if (!ignoreDataAfterErrors)
06139 parserData->valArray[parserData->kounter] = os_strtod((parserData->valueAttribute).c_str(), NULL);
06140 }
06141 break;
06142
06143 case 642:
06144
06145 {
06146 suppressFurtherErrorMessages = false;
06147 ignoreDataAfterErrors = false;
06148 }
06149 break;
06150
06151 case 643:
06152
06153 {
06154 parserData->sosIdxAttributePresent = false;
06155 parserData->currentSOS = 0;
06156 }
06157 break;
06158
06159 case 644:
06160
06161 {
06162 if ((yyvsp[(3) - (4)].ival) < 0)
06163 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <sos> elements must be nonnegative");
06164 parserData->numberOfSOS = (yyvsp[(3) - (4)].ival);
06165 }
06166 break;
06167
06168 case 645:
06169
06170 {
06171 if (parserData->numberOfSOS > 0)
06172 {
06173 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <sos> element");
06174 ignoreDataAfterErrors = true;
06175 }
06176 }
06177 break;
06178
06179 case 646:
06180
06181 { if (parserData->currentSOS != parserData->numberOfSOS)
06182 {
06183 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <sos> elements than specified");
06184 ignoreDataAfterErrors = true;
06185 }
06186 }
06187 break;
06188
06189 case 652:
06190
06191 {
06192 if (!ignoreDataAfterErrors)
06193 if (!osoption->setAnotherSOSVariableBranchingWeight(parserData->sosIdx,
06194 parserData->numberOfVar, parserData->groupWeight,
06195 parserData->idxArray, parserData->valArray, parserData->namArray) )
06196 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "error processing SOS branching weights");
06197 delete[] parserData->idxArray;
06198 delete[] parserData->namArray;
06199 delete[] parserData->valArray;
06200 parserData->idxArray = NULL;
06201 parserData->namArray = NULL;
06202 parserData->valArray = NULL;
06203 parserData->currentSOS++;
06204 suppressFurtherErrorMessages = false;
06205 ignoreDataAfterErrors = false;
06206 }
06207 break;
06208
06209 case 653:
06210
06211 {
06212 if (parserData->currentSOS >= parserData->numberOfSOS)
06213 if (!suppressFurtherErrorMessages)
06214 {
06215 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too many SOS branching weights");
06216 suppressFurtherErrorMessages = true;
06217 ignoreDataAfterErrors = true;
06218 }
06219 parserData->sosIdxAttributePresent = false;
06220 parserData->groupWeightAttributePresent = false;
06221 parserData->numberOfVarAttributePresent = false;
06222 parserData->groupWeight = 1.0;
06223 parserData->numberOfSOSVar = 0;
06224 }
06225 break;
06226
06227 case 654:
06228
06229 {
06230 if (!parserData->sosIdxAttributePresent)
06231 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "SOS index required");
06232 if (!parserData->numberOfVarAttributePresent)
06233 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfVar required");
06234 }
06235 break;
06236
06237 case 658:
06238
06239 {
06240 parserData->kounter = 0;
06241 parserData->idxArray = new int[parserData->numberOfVar];
06242 parserData->namArray = new std::string[parserData->numberOfVar];
06243 parserData->valArray = new double[parserData->numberOfVar];
06244 for (int i=0; i < parserData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
06245 parserData->numberOfVarAttributePresent = true;
06246 }
06247 break;
06248
06249 case 667:
06250
06251 {
06252 parserData->iOther++;
06253 }
06254 break;
06255
06256 case 668:
06257
06258 {
06259 if (parserData->iOther >= parserData->numberOfOtherVariableOptions)
06260 if (!suppressFurtherErrorMessages)
06261 {
06262 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <otherVariableOptions> than specified");
06263 suppressFurtherErrorMessages = true;
06264 ignoreDataAfterErrors = true;
06265 }
06266 parserData->numberOfVarAttributePresent = false;
06267 parserData->numberOfVar = 0;
06268 parserData->numberOfEnumerationsAttributePresent = false;
06269 parserData->numberOfEnumerations = 0;
06270 parserData->nameAttributePresent = false;
06271 parserData->valueAttributePresent = false;
06272 parserData->valueAttribute = "";
06273 parserData->solverAttributePresent = false;
06274 parserData->solverAttribute = "";
06275 parserData->categoryAttributePresent = false;
06276 parserData->categoryAttribute = "";
06277 parserData->typeAttributePresent = false;
06278 parserData->typeAttribute = "";
06279 parserData->varTypeAttributePresent = false;
06280 parserData->varTypeAttribute = "";
06281 parserData->enumTypeAttributePresent = false;
06282 parserData->enumTypeAttribute = "";
06283 parserData->descriptionAttributePresent = false;
06284 parserData->descriptionAttribute = "";
06285 parserData->otherOptionType = ENUM_PROBLEM_COMPONENT_variables;
06286 }
06287 break;
06288
06289 case 669:
06290
06291 {
06292 if (!parserData->nameAttributePresent)
06293 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element requires name attribute");
06294 if (!ignoreDataAfterErrors)
06295 if (!osoption->setOtherVariableOptionAttributes(
06296 parserData->iOther,
06297 parserData->numberOfVar,
06298 parserData->numberOfEnumerations,
06299 parserData->nameAttribute,
06300 parserData->valueAttribute,
06301 parserData->solverAttribute,
06302 parserData->categoryAttribute,
06303 parserData->typeAttribute,
06304 parserData->varTypeAttribute,
06305 parserData->enumTypeAttribute,
06306 parserData->descriptionAttribute) )
06307 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element could not be initialed");
06308 }
06309 break;
06310
06311 case 672:
06312
06313 {
06314 parserData->kounter = 0;
06315 }
06316 break;
06317
06318 case 673:
06319
06320 {
06321 parserData->kounter = 0;
06322 }
06323 break;
06324
06325 case 691:
06326
06327 {
06328 if (!ignoreDataAfterErrors)
06329 if (!osoption->setOtherVariableOptionVar(
06330 parserData->iOther,
06331 parserData->kounter,
06332 parserData->idxAttribute,
06333 parserData->nameAttribute,
06334 parserData->valueAttribute,
06335 parserData->lbValueAttribute,
06336 parserData->ubValueAttribute) )
06337 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set other variable option <var> element failed");
06338 parserData->kounter++;
06339 }
06340 break;
06341
06342 case 692:
06343
06344 {
06345 if (parserData->kounter >= parserData->numberOfVar)
06346 if (!suppressFurtherErrorMessages)
06347 {
06348 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <var> elements than specified");
06349 suppressFurtherErrorMessages = true;
06350 ignoreDataAfterErrors = true;
06351 }
06352 parserData->idxAttributePresent = false;
06353 parserData->nameAttributePresent = false;
06354 parserData->nameAttribute = "";
06355 parserData->valueAttributePresent = false;
06356 parserData->valueAttribute = "";
06357 parserData->lbValueAttributePresent = false;
06358 parserData->lbValueAttribute = "";
06359 parserData->ubValueAttributePresent = false;
06360 parserData->ubValueAttribute = "";
06361 }
06362 break;
06363
06364 case 696:
06365
06366 {
06367 if (parserData->idxAttribute < 0)
06368 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index must be nonnegative");
06369 if (osoption->optimization->numberOfVariables >= 0)
06370 {
06371 if (parserData->idxAttribute >= osoption->optimization->numberOfVariables)
06372 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "variable index exceeds upper limit");
06373 };
06374 }
06375 break;
06376
06377 case 706:
06378
06379 {
06380 parserData->numberOfOtherObjectiveOptions = 0;
06381 osoption->optimization->objectives = new ObjectiveOption();
06382 }
06383 break;
06384
06385 case 707:
06386
06387 {
06388 if (osoption->setNumberOfOtherObjectiveOptions(parserData->numberOfOtherObjectiveOptions) == false)
06389 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfOtherVariableOptions failed");
06390 parserData->iOther = 0;
06391 }
06392 break;
06393
06394 case 709:
06395
06396 {
06397 parserData->numberOfOtherObjectiveOptions = parserData->tempInt;
06398 }
06399 break;
06400
06401 case 714:
06402
06403 {
06404 suppressFurtherErrorMessages = false;
06405 ignoreDataAfterErrors = false;
06406
06407 }
06408 break;
06409
06410 case 716:
06411
06412 {
06413 if (!ignoreDataAfterErrors)
06414 if (osoption->setInitObjValues(parserData->numberOfObj, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
06415 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialObjectiveValues> failed");
06416 delete[] parserData->idxArray;
06417 delete[] parserData->namArray;
06418 delete[] parserData->valArray;
06419 parserData->idxArray = NULL;
06420 parserData->namArray = NULL;
06421 parserData->valArray = NULL;
06422 suppressFurtherErrorMessages = false;
06423 ignoreDataAfterErrors = false;
06424 }
06425 break;
06426
06427 case 717:
06428
06429 {
06430 parserData->numberOfObjAttributePresent = false;
06431 }
06432 break;
06433
06434 case 718:
06435
06436 {
06437 parserData->kounter = 0;
06438 parserData->idxArray = new int[parserData->numberOfObj];
06439 parserData->namArray = new std::string[parserData->numberOfObj];
06440 parserData->valArray = new double[parserData->numberOfObj];
06441 for (int i=0; i < parserData->numberOfObj; i++) parserData->idxArray[i] = -1;
06442 for (int i=0; i < parserData->numberOfObj; i++) parserData->namArray[i] = "";
06443 for (int i=0; i < parserData->numberOfObj; i++) parserData->valArray[i] = OSNaN();
06444 }
06445 break;
06446
06447 case 719:
06448
06449 {
06450 if (parserData->numberOfObj > 0)
06451 {
06452 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialObjectiveValues>: expected at least one <obj> element");
06453 ignoreDataAfterErrors = true;
06454 }
06455 }
06456 break;
06457
06458 case 720:
06459
06460 {
06461 if (parserData->kounter < parserData->numberOfObj)
06462 {
06463 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialObjectiveValues>: fewer <obj> elements than specified");
06464 ignoreDataAfterErrors = true;
06465 }
06466 }
06467 break;
06468
06469 case 727:
06470
06471 {
06472 parserData->kounter++;
06473 }
06474 break;
06475
06476 case 728:
06477
06478 {
06479 if (parserData->kounter >= parserData->numberOfObj)
06480 if (!suppressFurtherErrorMessages)
06481 {
06482 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <obj> elements than specified");
06483 suppressFurtherErrorMessages = true;
06484 ignoreDataAfterErrors = true;
06485 }
06486 parserData->idxAttributePresent = false;
06487 parserData->nameAttributePresent = false;
06488 parserData->valueAttributePresent = false;
06489 parserData->idxAttribute = -1;
06490 }
06491 break;
06492
06493 case 732:
06494
06495 {
06496 if (parserData->idxAttribute >= 0)
06497 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index must be negative");
06498 if (osoption->optimization->numberOfObjectives >= 0)
06499 {
06500 if (parserData->idxAttribute < -osoption->optimization->numberOfObjectives)
06501 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index exceeds limit");
06502 };
06503 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
06504 }
06505 break;
06506
06507 case 733:
06508
06509 {
06510 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
06511 }
06512 break;
06513
06514 case 734:
06515
06516 {
06517 if (parserData->valueAttribute == "")
06518 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
06519 parserData->valArray[parserData->kounter] = os_strtod((parserData->valueAttribute).c_str(), NULL);
06520 }
06521 break;
06522
06523 case 738:
06524
06525 {
06526 if (!ignoreDataAfterErrors)
06527 if (osoption->setInitObjBounds(parserData->numberOfObj, parserData->idxArray, parserData->lbValArray, parserData->ubValArray, parserData->namArray) == false)
06528 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialObjectiveBounds> failed");
06529 delete[] parserData->idxArray;
06530 delete[] parserData->namArray;
06531 delete[] parserData->lbValArray;
06532 delete[] parserData->ubValArray;
06533 parserData->idxArray = NULL;
06534 parserData->namArray = NULL;
06535 parserData->lbValArray = NULL;
06536 parserData->ubValArray = NULL;
06537 suppressFurtherErrorMessages = false;
06538 ignoreDataAfterErrors = false;
06539 }
06540 break;
06541
06542 case 739:
06543
06544 {
06545 parserData->numberOfObjAttributePresent = false;
06546 }
06547 break;
06548
06549 case 740:
06550
06551 {
06552 parserData->kounter = 0;
06553 parserData->idxArray = new int[parserData->numberOfObj];
06554 parserData->lbValArray = new double[parserData->numberOfObj];
06555 parserData->ubValArray = new double[parserData->numberOfObj];
06556 parserData->namArray = new std::string[parserData->numberOfObj];
06557 for (int i=0; i < parserData->numberOfObj; i++) parserData->idxArray[i] = -1;
06558 for (int i=0; i < parserData->numberOfObj; i++) parserData->namArray[i] = "";
06559 for (int i=0; i < parserData->numberOfObj; i++) parserData->lbValArray[i] = OSNaN();
06560 for (int i=0; i < parserData->numberOfObj; i++) parserData->ubValArray[i] = OSNaN();
06561 }
06562 break;
06563
06564 case 741:
06565
06566 {
06567 if (parserData->numberOfObj > 0)
06568 {
06569 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialObjectiveBounds>: expected at least one <obj> element");
06570 ignoreDataAfterErrors = true;
06571 }
06572 }
06573 break;
06574
06575 case 742:
06576
06577 {
06578 if (parserData->kounter < parserData->numberOfObj)
06579 {
06580 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialObjectiveBounds>: fewer <obj> elements than specified");
06581 ignoreDataAfterErrors = true;
06582 }
06583 }
06584 break;
06585
06586 case 749:
06587
06588 {
06589 parserData->kounter++;
06590 }
06591 break;
06592
06593 case 750:
06594
06595 {
06596 if (parserData->kounter >= parserData->numberOfObj)
06597 if (!suppressFurtherErrorMessages)
06598 {
06599 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <var> elements than specified");
06600 suppressFurtherErrorMessages = true;
06601 ignoreDataAfterErrors = true;
06602 }
06603 parserData->idxAttributePresent = false;
06604 parserData->nameAttributePresent = false;
06605 parserData->lbValueAttributePresent = false;
06606 parserData->ubValueAttributePresent = false;
06607 parserData->idxAttribute = -1;
06608 parserData->lbValueAttribute = "-INF";
06609 parserData->ubValueAttribute = "INF";
06610 }
06611 break;
06612
06613 case 754:
06614
06615 {
06616 if (parserData->idxAttribute >= 0)
06617 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index must be nonnegative");
06618 if (osoption->optimization->numberOfObjectives >= 0)
06619 {
06620 if (parserData->idxAttribute < -osoption->optimization->numberOfVariables)
06621 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index exceeds limit");
06622 };
06623 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
06624 }
06625 break;
06626
06627 case 755:
06628
06629 {
06630 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
06631 }
06632 break;
06633
06634 case 756:
06635
06636 {
06637 if (parserData->lbValueAttribute == "")
06638 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
06639 parserData->lbValArray[parserData->kounter] = os_strtod((parserData->lbValueAttribute).c_str(), NULL);
06640 }
06641 break;
06642
06643 case 757:
06644
06645 {
06646 if (parserData->ubValueAttribute == "")
06647 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
06648 parserData->ubValArray[parserData->kounter] = os_strtod((parserData->ubValueAttribute).c_str(), NULL);
06649 }
06650 break;
06651
06652 case 762:
06653
06654 {
06655 osoption->optimization->objectives->initialBasisStatus = new BasisStatus();
06656 }
06657 break;
06658
06659 case 769:
06660
06661 {
06662 if (!ignoreDataAfterErrors)
06663 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06664 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives basic failed");
06665 delete[] osglData->osglIntArray;
06666 osglData->osglIntArray = NULL;
06667 suppressFurtherErrorMessages = false;
06668 ignoreDataAfterErrors = false;
06669 }
06670 break;
06671
06672 case 770:
06673
06674 {
06675 osglData->osglNumberOfEl = 0;
06676 osglData->osglNumberOfElPresent= false;
06677 }
06678 break;
06679
06680 case 771:
06681
06682 {
06683 osglData->osglCounter = 0;
06684 osglData->osglNumberOfEl = parserData->numberOf;
06685 osglData->osglIntArray = new int[parserData->numberOf];
06686 }
06687 break;
06688
06689 case 778:
06690
06691 {
06692 if (!ignoreDataAfterErrors)
06693 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06694 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives atLower failed");
06695 delete[] osglData->osglIntArray;
06696 osglData->osglIntArray = NULL;
06697 suppressFurtherErrorMessages = false;
06698 ignoreDataAfterErrors = false;
06699 }
06700 break;
06701
06702 case 779:
06703
06704 {
06705 osglData->osglNumberOfEl = 0;
06706 osglData->osglNumberOfElPresent= false;
06707 }
06708 break;
06709
06710 case 780:
06711
06712 {
06713 osglData->osglCounter = 0;
06714 osglData->osglNumberOfEl = parserData->numberOf;
06715 osglData->osglIntArray = new int[parserData->numberOf];
06716 }
06717 break;
06718
06719 case 787:
06720
06721 {
06722 if (!ignoreDataAfterErrors)
06723 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06724 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives atUpper failed");
06725 delete[] osglData->osglIntArray;
06726 osglData->osglIntArray = NULL;
06727 suppressFurtherErrorMessages = false;
06728 ignoreDataAfterErrors = false;
06729 }
06730 break;
06731
06732 case 788:
06733
06734 {
06735 osglData->osglNumberOfEl = 0;
06736 osglData->osglNumberOfElPresent= false;
06737 }
06738 break;
06739
06740 case 789:
06741
06742 {
06743 osglData->osglCounter = 0;
06744 osglData->osglNumberOfEl = parserData->numberOf;
06745 osglData->osglIntArray = new int[parserData->numberOf];
06746 }
06747 break;
06748
06749 case 796:
06750
06751 {
06752 if (!ignoreDataAfterErrors)
06753 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06754 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives atEquality failed");
06755 delete[] osglData->osglIntArray;
06756 osglData->osglIntArray = NULL;
06757 suppressFurtherErrorMessages = false;
06758 ignoreDataAfterErrors = false;
06759 }
06760 break;
06761
06762 case 797:
06763
06764 {
06765 osglData->osglNumberOfEl = 0;
06766 osglData->osglNumberOfElPresent= false;
06767 }
06768 break;
06769
06770 case 798:
06771
06772 {
06773 osglData->osglCounter = 0;
06774 osglData->osglNumberOfEl = parserData->numberOf;
06775 osglData->osglIntArray = new int[parserData->numberOf];
06776 }
06777 break;
06778
06779 case 805:
06780
06781 {
06782 if (!ignoreDataAfterErrors)
06783 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06784 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives isFree failed");
06785 delete[] osglData->osglIntArray;
06786 osglData->osglIntArray = NULL;
06787 suppressFurtherErrorMessages = false;
06788 ignoreDataAfterErrors = false;
06789 }
06790 break;
06791
06792 case 806:
06793
06794 {
06795 osglData->osglNumberOfEl = 0;
06796 osglData->osglNumberOfElPresent= false;
06797 }
06798 break;
06799
06800 case 807:
06801
06802 {
06803 osglData->osglCounter = 0;
06804 osglData->osglNumberOfEl = parserData->numberOf;
06805 osglData->osglIntArray = new int[parserData->numberOf];
06806 }
06807 break;
06808
06809 case 814:
06810
06811 {
06812 if (!ignoreDataAfterErrors)
06813 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06814 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives superbasic failed");
06815 delete[] osglData->osglIntArray;
06816 osglData->osglIntArray = NULL;
06817 suppressFurtherErrorMessages = false;
06818 ignoreDataAfterErrors = false;
06819 }
06820 break;
06821
06822 case 815:
06823
06824 {
06825 osglData->osglNumberOfEl = 0;
06826 osglData->osglNumberOfElPresent= false;
06827 }
06828 break;
06829
06830 case 816:
06831
06832 {
06833 osglData->osglCounter = 0;
06834 osglData->osglNumberOfEl = parserData->numberOf;
06835 osglData->osglIntArray = new int[parserData->numberOf];
06836 }
06837 break;
06838
06839 case 823:
06840
06841 {
06842 if (!ignoreDataAfterErrors)
06843 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06844 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set objectives unknown failed");
06845 delete[] osglData->osglIntArray;
06846 osglData->osglIntArray = NULL;
06847 suppressFurtherErrorMessages = false;
06848 ignoreDataAfterErrors = false;
06849 }
06850 break;
06851
06852 case 824:
06853
06854 {
06855 osglData->osglNumberOfEl = 0;
06856 osglData->osglNumberOfElPresent= false;
06857 }
06858 break;
06859
06860 case 825:
06861
06862 {
06863 osglData->osglCounter = 0;
06864 osglData->osglNumberOfEl = parserData->numberOf;
06865 osglData->osglIntArray = new int[parserData->numberOf];
06866 }
06867 break;
06868
06869 case 833:
06870
06871 {
06872 parserData->iOther++;
06873 }
06874 break;
06875
06876 case 834:
06877
06878 {
06879 if (parserData->iOther >= parserData->numberOfOtherObjectiveOptions)
06880 if (!suppressFurtherErrorMessages)
06881 {
06882 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <otherObjectiveOptions> than specified");
06883 suppressFurtherErrorMessages = true;
06884 ignoreDataAfterErrors = true;
06885 }
06886 parserData->numberOfObjAttributePresent = false;
06887 parserData->numberOfObj = 0;
06888 parserData->numberOfEnumerationsAttributePresent = false;
06889 parserData->numberOfEnumerations = 0;
06890 parserData->nameAttributePresent = false;
06891 parserData->valueAttributePresent = false;
06892 parserData->valueAttribute = "";
06893 parserData->solverAttributePresent = false;
06894 parserData->solverAttribute = "";
06895 parserData->categoryAttributePresent = false;
06896 parserData->categoryAttribute = "";
06897 parserData->typeAttributePresent = false;
06898 parserData->typeAttribute = "";
06899 parserData->objTypeAttributePresent = false;
06900 parserData->objTypeAttribute = "";
06901 parserData->enumTypeAttributePresent = false;
06902 parserData->enumTypeAttribute = "";
06903 parserData->descriptionAttributePresent = false;
06904 parserData->descriptionAttribute = "";
06905 parserData->otherOptionType = ENUM_PROBLEM_COMPONENT_objectives;
06906 }
06907 break;
06908
06909 case 835:
06910
06911 {
06912 if (!parserData->nameAttributePresent)
06913 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element requires name attribute");
06914 if (!ignoreDataAfterErrors)
06915 if (!osoption->setOtherObjectiveOptionAttributes(
06916 parserData->iOther,
06917 parserData->numberOfObj,
06918 parserData->numberOfEnumerations,
06919 parserData->nameAttribute,
06920 parserData->valueAttribute,
06921 parserData->solverAttribute,
06922 parserData->categoryAttribute,
06923 parserData->typeAttribute,
06924 parserData->objTypeAttribute,
06925 parserData->enumTypeAttribute,
06926 parserData->descriptionAttribute) )
06927 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element could not be initialed");
06928 }
06929 break;
06930
06931 case 838:
06932
06933 {
06934 parserData->kounter = 0;
06935 }
06936 break;
06937
06938 case 839:
06939
06940 {
06941 parserData->kounter = 0;
06942 }
06943 break;
06944
06945 case 857:
06946
06947 {
06948 if (!ignoreDataAfterErrors)
06949 if (!osoption->setOtherObjectiveOptionObj(
06950 parserData->iOther,
06951 parserData->kounter,
06952 parserData->idxAttribute,
06953 parserData->nameAttribute,
06954 parserData->valueAttribute,
06955 parserData->lbValueAttribute,
06956 parserData->ubValueAttribute) )
06957 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set other objective option <obj> element failed");
06958 parserData->kounter++;
06959 }
06960 break;
06961
06962 case 858:
06963
06964 {
06965
06966 if (parserData->kounter >= parserData->numberOfObj)
06967 if (!suppressFurtherErrorMessages)
06968 {
06969 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <obj> elements than specified");
06970 suppressFurtherErrorMessages = true;
06971 ignoreDataAfterErrors = true;
06972 }
06973 parserData->idxAttributePresent = false;
06974 parserData->idxAttribute = -1;
06975 parserData->nameAttributePresent = false;
06976 parserData->nameAttribute = "";
06977 parserData->valueAttributePresent = false;
06978 parserData->valueAttribute = "";
06979 parserData->lbValueAttributePresent = false;
06980 parserData->lbValueAttribute = "";
06981 parserData->ubValueAttributePresent = false;
06982 parserData->ubValueAttribute = "";
06983 }
06984 break;
06985
06986 case 862:
06987
06988 {
06989 if (parserData->idxAttribute >= 0)
06990 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index must be negative");
06991 if (osoption->optimization->numberOfObjectives >= 0)
06992 {
06993 if (parserData->idxAttribute < -osoption->optimization->numberOfObjectives)
06994 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "objective index exceeds limit");
06995 };
06996 }
06997 break;
06998
06999 case 872:
07000
07001 {
07002 parserData->numberOfOtherConstraintOptions = 0;
07003 osoption->optimization->constraints = new ConstraintOption();
07004 }
07005 break;
07006
07007 case 873:
07008
07009 {
07010 if (osoption->setNumberOfOtherConstraintOptions(parserData->numberOfOtherConstraintOptions) == false)
07011 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfOtherConstraintOptions failed");
07012 parserData->iOther = 0;
07013 }
07014 break;
07015
07016 case 875:
07017
07018 {
07019 parserData->numberOfOtherConstraintOptions = parserData->tempInt;
07020 }
07021 break;
07022
07023 case 880:
07024
07025 {
07026 suppressFurtherErrorMessages = false;
07027 ignoreDataAfterErrors = false;
07028
07029 }
07030 break;
07031
07032 case 882:
07033
07034 {
07035 if (!ignoreDataAfterErrors)
07036 if (osoption->setInitConValues(parserData->numberOfCon, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
07037 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialConstraintValues> failed");
07038 delete[] parserData->idxArray;
07039 delete[] parserData->namArray;
07040 delete[] parserData->valArray;
07041 parserData->idxArray = NULL;
07042 parserData->namArray = NULL;
07043 parserData->valArray = NULL;
07044 suppressFurtherErrorMessages = false;
07045 ignoreDataAfterErrors = false;
07046 }
07047 break;
07048
07049 case 883:
07050
07051 {
07052 parserData->numberOfConAttributePresent = false;
07053 }
07054 break;
07055
07056 case 884:
07057
07058 {
07059 parserData->kounter = 0;
07060 parserData->idxArray = new int[parserData->numberOfCon];
07061 parserData->namArray = new std::string[parserData->numberOfCon];
07062 parserData->valArray = new double[parserData->numberOfCon];
07063 for (int i=0; i < parserData->numberOfCon; i++) parserData->namArray[i] = "";
07064 for (int i=0; i < parserData->numberOfCon; i++) parserData->valArray[i] = OSNaN();
07065 }
07066 break;
07067
07068 case 885:
07069
07070 {
07071 if (parserData->numberOfCon > 0)
07072 {
07073 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialConstraintValues>: expected at least one <con element");
07074 ignoreDataAfterErrors = true;
07075 }
07076 }
07077 break;
07078
07079 case 886:
07080
07081 {
07082 if (parserData->kounter < parserData->numberOfCon)
07083 {
07084 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialConstraintValues>: fewer <con> elements than specified");
07085 ignoreDataAfterErrors = true;
07086 }
07087 }
07088 break;
07089
07090 case 893:
07091
07092 {
07093 parserData->kounter++;
07094 }
07095 break;
07096
07097 case 894:
07098
07099 {
07100 if (parserData->kounter >= parserData->numberOfCon)
07101 if (!suppressFurtherErrorMessages)
07102 {
07103 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <con> elements than specified");
07104 suppressFurtherErrorMessages = true;
07105 ignoreDataAfterErrors = true;
07106 }
07107 parserData->idxAttributePresent = false;
07108 parserData->nameAttribute = "";
07109 parserData->nameAttributePresent = false;
07110 parserData->valueAttributePresent = false;
07111 }
07112 break;
07113
07114 case 895:
07115
07116 {
07117 if (parserData->idxAttributePresent == false)
07118 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<con> element must have idx attribute");
07119 }
07120 break;
07121
07122 case 898:
07123
07124 {
07125 if (parserData->idxAttribute < 0)
07126 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index must be nonnegative");
07127 if (osoption->optimization->numberOfConstraints >= 0)
07128 {
07129 if (parserData->idxAttribute >= osoption->optimization->numberOfConstraints)
07130 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index exceeds upper limit");
07131 };
07132 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
07133 }
07134 break;
07135
07136 case 899:
07137
07138 {
07139 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
07140 }
07141 break;
07142
07143 case 900:
07144
07145 {
07146 if (parserData->valueAttribute == "")
07147 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected an integer or floating point value");
07148 parserData->valArray[parserData->kounter] = os_strtod((parserData->valueAttribute).c_str(), NULL);
07149 }
07150 break;
07151
07152 case 904:
07153
07154 {
07155 if (!ignoreDataAfterErrors)
07156 if (osoption->setInitDualValues(parserData->numberOfCon, parserData->idxArray, parserData->lbValArray, parserData->ubValArray, parserData->namArray) == false)
07157 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <initialConstraintValues> failed");
07158 delete[] parserData->idxArray;
07159 delete[] parserData->namArray;
07160 delete[] parserData->lbValArray;
07161 delete[] parserData->ubValArray;
07162 parserData->idxArray = NULL;
07163 parserData->namArray = NULL;
07164 parserData->lbValArray = NULL;
07165 parserData->ubValArray = NULL;
07166 suppressFurtherErrorMessages = false;
07167 ignoreDataAfterErrors = false;
07168 }
07169 break;
07170
07171 case 905:
07172
07173 {
07174 parserData->numberOfConAttributePresent = false;
07175 }
07176 break;
07177
07178 case 906:
07179
07180 {
07181 parserData->kounter = 0;
07182 parserData->idxArray = new int[parserData->numberOfCon];
07183 parserData->namArray = new std::string[parserData->numberOfCon];
07184 parserData->lbValArray = new double[parserData->numberOfCon];
07185 parserData->ubValArray = new double[parserData->numberOfCon];
07186 for (int i=0; i < parserData->numberOfCon; i++) parserData->namArray[i] = "";
07187 for (int i=0; i < parserData->numberOfCon; i++) parserData->lbValArray[i] = OSNaN();
07188 for (int i=0; i < parserData->numberOfCon; i++) parserData->ubValArray[i] = OSNaN();
07189 }
07190 break;
07191
07192 case 907:
07193
07194 {
07195 if (parserData->numberOfCon > 0)
07196 {
07197 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialDualValues>: expected at least one <con> element");
07198 ignoreDataAfterErrors = true;
07199 }
07200 }
07201 break;
07202
07203 case 908:
07204
07205 {
07206 if (parserData->kounter < parserData->numberOfCon)
07207 {
07208 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<initialDualValues>: fewer <con> elements than specified");
07209 ignoreDataAfterErrors = true;
07210 }
07211 }
07212 break;
07213
07214 case 915:
07215
07216 {
07217 parserData->kounter++;
07218 }
07219 break;
07220
07221 case 916:
07222
07223 {
07224 if (parserData->kounter >= parserData->numberOfCon)
07225 if (!suppressFurtherErrorMessages)
07226 {
07227 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <con> elements than specified");
07228 suppressFurtherErrorMessages = true;
07229 ignoreDataAfterErrors = true;
07230 }
07231 parserData->idxAttributePresent = false;
07232 parserData->nameAttributePresent = false;
07233 parserData->nameAttribute = "";
07234 parserData->lbValueAttributePresent = false;
07235 parserData->ubValueAttributePresent = false;
07236 parserData->lbDualValue = OSNaN();
07237 parserData->ubDualValue = OSNaN();
07238 }
07239 break;
07240
07241 case 917:
07242
07243 {
07244 if (parserData->idxAttributePresent == false)
07245 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<con> element must have idx attribute");
07246 }
07247 break;
07248
07249 case 920:
07250
07251 {
07252 if (parserData->idxAttribute < 0)
07253 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index must be nonnegative");
07254 if (osoption->optimization->numberOfConstraints >= 0)
07255 {
07256 if (parserData->idxAttribute >= osoption->optimization->numberOfConstraints)
07257 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index exceeds upper limit");
07258 };
07259 parserData->idxArray[parserData->kounter] = parserData->idxAttribute;
07260 }
07261 break;
07262
07263 case 921:
07264
07265 {
07266 parserData->namArray[parserData->kounter] = parserData->nameAttribute;
07267 }
07268 break;
07269
07270 case 922:
07271
07272 {
07273 parserData->lbValArray[parserData->kounter] = parserData->lbDualValue;
07274 }
07275 break;
07276
07277 case 923:
07278
07279 {
07280 parserData->ubValArray[parserData->kounter] = parserData->ubDualValue;
07281 }
07282 break;
07283
07284 case 928:
07285
07286 {
07287 osoption->optimization->constraints->initialBasisStatus = new BasisStatus();
07288 }
07289 break;
07290
07291 case 935:
07292
07293 {
07294 if (!ignoreDataAfterErrors)
07295 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07296 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks basic failed");
07297 delete[] osglData->osglIntArray;
07298 osglData->osglIntArray = NULL;
07299 suppressFurtherErrorMessages = false;
07300 ignoreDataAfterErrors = false;
07301 }
07302 break;
07303
07304 case 936:
07305
07306 {
07307 osglData->osglNumberOfEl = 0;
07308 osglData->osglNumberOfElPresent= false;
07309 }
07310 break;
07311
07312 case 937:
07313
07314 {
07315 osglData->osglCounter = 0;
07316 osglData->osglNumberOfEl = parserData->numberOf;
07317 osglData->osglIntArray = new int[parserData->numberOf];
07318 }
07319 break;
07320
07321 case 944:
07322
07323 {
07324 if (!ignoreDataAfterErrors)
07325 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07326 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks atLower failed");
07327 delete[] osglData->osglIntArray;
07328 osglData->osglIntArray = NULL;
07329 suppressFurtherErrorMessages = false;
07330 ignoreDataAfterErrors = false;
07331 }
07332 break;
07333
07334 case 945:
07335
07336 {
07337 osglData->osglNumberOfEl = 0;
07338 osglData->osglNumberOfElPresent= false;
07339 }
07340 break;
07341
07342 case 946:
07343
07344 {
07345 osglData->osglCounter = 0;
07346 osglData->osglNumberOfEl = parserData->numberOf;
07347 osglData->osglIntArray = new int[parserData->numberOf];
07348 }
07349 break;
07350
07351 case 953:
07352
07353 {
07354 if (!ignoreDataAfterErrors)
07355 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07356 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks atUpper failed");
07357 delete[] osglData->osglIntArray;
07358 osglData->osglIntArray = NULL;
07359 suppressFurtherErrorMessages = false;
07360 ignoreDataAfterErrors = false;
07361 }
07362 break;
07363
07364 case 954:
07365
07366 {
07367 osglData->osglNumberOfEl = 0;
07368 osglData->osglNumberOfElPresent= false;
07369 }
07370 break;
07371
07372 case 955:
07373
07374 {
07375 osglData->osglCounter = 0;
07376 osglData->osglNumberOfEl = parserData->numberOf;
07377 osglData->osglIntArray = new int[parserData->numberOf];
07378 }
07379 break;
07380
07381 case 962:
07382
07383 {
07384 if (!ignoreDataAfterErrors)
07385 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07386 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks atEquality failed");
07387 delete[] osglData->osglIntArray;
07388 osglData->osglIntArray = NULL;
07389 suppressFurtherErrorMessages = false;
07390 ignoreDataAfterErrors = false;
07391 }
07392 break;
07393
07394 case 963:
07395
07396 {
07397 osglData->osglNumberOfEl = 0;
07398 osglData->osglNumberOfElPresent= false;
07399 }
07400 break;
07401
07402 case 964:
07403
07404 {
07405 osglData->osglCounter = 0;
07406 osglData->osglNumberOfEl = parserData->numberOf;
07407 osglData->osglIntArray = new int[parserData->numberOf];
07408 }
07409 break;
07410
07411 case 971:
07412
07413 {
07414 if (!ignoreDataAfterErrors)
07415 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07416 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks isFree failed");
07417 delete[] osglData->osglIntArray;
07418 osglData->osglIntArray = NULL;
07419 suppressFurtherErrorMessages = false;
07420 ignoreDataAfterErrors = false;
07421 }
07422 break;
07423
07424 case 972:
07425
07426 {
07427 osglData->osglNumberOfEl = 0;
07428 osglData->osglNumberOfElPresent= false;
07429 }
07430 break;
07431
07432 case 973:
07433
07434 {
07435 osglData->osglCounter = 0;
07436 osglData->osglNumberOfEl = parserData->numberOf;
07437 osglData->osglIntArray = new int[parserData->numberOf];
07438 }
07439 break;
07440
07441 case 980:
07442
07443 {
07444 if (!ignoreDataAfterErrors)
07445 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07446 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set variables superbasic failed");
07447 delete[] osglData->osglIntArray;
07448 osglData->osglIntArray = NULL;
07449 suppressFurtherErrorMessages = false;
07450 ignoreDataAfterErrors = false;
07451 }
07452 break;
07453
07454 case 981:
07455
07456 {
07457 osglData->osglNumberOfEl = 0;
07458 osglData->osglNumberOfElPresent= false;
07459 }
07460 break;
07461
07462 case 982:
07463
07464 {
07465 osglData->osglCounter = 0;
07466 osglData->osglNumberOfEl = parserData->numberOf;
07467 osglData->osglIntArray = new int[parserData->numberOf];
07468 }
07469 break;
07470
07471 case 989:
07472
07473 {
07474 if (!ignoreDataAfterErrors)
07475 if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
07476 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set slacks unknown failed");
07477 delete[] osglData->osglIntArray;
07478 osglData->osglIntArray = NULL;
07479 suppressFurtherErrorMessages = false;
07480 ignoreDataAfterErrors = false;
07481 }
07482 break;
07483
07484 case 990:
07485
07486 {
07487 osglData->osglNumberOfEl = 0;
07488 osglData->osglNumberOfElPresent= false;
07489 }
07490 break;
07491
07492 case 991:
07493
07494 {
07495 osglData->osglCounter = 0;
07496 osglData->osglNumberOfEl = parserData->numberOf;
07497 osglData->osglIntArray = new int[parserData->numberOf];
07498 }
07499 break;
07500
07501 case 999:
07502
07503 {
07504 parserData->iOther++;
07505 }
07506 break;
07507
07508 case 1000:
07509
07510 {
07511 if (parserData->iOther >= parserData->numberOfOtherConstraintOptions)
07512 if (!suppressFurtherErrorMessages)
07513 {
07514 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <otherConstraintOptions> than specified");
07515 suppressFurtherErrorMessages = true;
07516 ignoreDataAfterErrors = true;
07517 }
07518 parserData->numberOfConAttributePresent = false;
07519 parserData->numberOfCon = 0;
07520 parserData->numberOfEnumerationsAttributePresent = false;
07521 parserData->numberOfEnumerations = 0;
07522 parserData->nameAttributePresent = false;
07523 parserData->valueAttributePresent = false;
07524 parserData->valueAttribute = "";
07525 parserData->solverAttributePresent = false;
07526 parserData->solverAttribute = "";
07527 parserData->categoryAttributePresent = false;
07528 parserData->categoryAttribute = "";
07529 parserData->typeAttributePresent = false;
07530 parserData->typeAttribute = "";
07531 parserData->conTypeAttributePresent = false;
07532 parserData->conTypeAttribute = "";
07533 parserData->enumTypeAttributePresent = false;
07534 parserData->enumTypeAttribute = "";
07535 parserData->descriptionAttributePresent = false;
07536 parserData->descriptionAttribute = "";
07537 parserData->otherOptionType = ENUM_PROBLEM_COMPONENT_constraints;
07538 }
07539 break;
07540
07541 case 1001:
07542
07543 {
07544 if(!parserData->nameAttributePresent)
07545 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element requires name attribute");
07546 if (!ignoreDataAfterErrors)
07547 if (!osoption->setOtherConstraintOptionAttributes(
07548 parserData->iOther,
07549 parserData->numberOfCon,
07550 parserData->numberOfEnumerations,
07551 parserData->nameAttribute,
07552 parserData->valueAttribute,
07553 parserData->solverAttribute,
07554 parserData->categoryAttribute,
07555 parserData->typeAttribute,
07556 parserData->conTypeAttribute,
07557 parserData->enumTypeAttribute,
07558 parserData->descriptionAttribute) )
07559 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element could not be initialed");
07560 }
07561 break;
07562
07563 case 1004:
07564
07565 {
07566 parserData->kounter = 0;
07567 }
07568 break;
07569
07570 case 1005:
07571
07572 {
07573 parserData->kounter = 0;
07574 }
07575 break;
07576
07577 case 1023:
07578
07579 {
07580 if (!ignoreDataAfterErrors)
07581 if (!osoption->setOtherConstraintOptionCon(
07582 parserData->iOther,
07583 parserData->kounter,
07584 parserData->idxAttribute,
07585 parserData->nameAttribute,
07586 parserData->valueAttribute,
07587 parserData->lbValueAttribute,
07588 parserData->ubValueAttribute) )
07589 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set other constraint option <con> element failed");
07590 parserData->kounter++;
07591 }
07592 break;
07593
07594 case 1024:
07595
07596 {
07597 if (parserData->kounter >= parserData->numberOfCon)
07598 if (!suppressFurtherErrorMessages)
07599 {
07600 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <con> elements than specified");
07601 suppressFurtherErrorMessages = true;
07602 ignoreDataAfterErrors = true;
07603 }
07604 parserData->idxAttributePresent = false;
07605 parserData->nameAttributePresent = false;
07606 parserData->nameAttribute = "";
07607 parserData->valueAttributePresent = false;
07608 parserData->valueAttribute = "";
07609 parserData->lbValueAttributePresent = false;
07610 parserData->lbValueAttribute = "";
07611 parserData->ubValueAttributePresent = false;
07612 parserData->ubValueAttribute = "";
07613 }
07614 break;
07615
07616 case 1028:
07617
07618 {
07619 if (parserData->idxAttribute < 0)
07620 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index must be nonnegative");
07621 if (osoption->optimization->numberOfConstraints >= 0)
07622 {
07623 if (parserData->idxAttribute >= osoption->optimization->numberOfConstraints)
07624 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "constraint index exceeds upper limit");
07625 };
07626 }
07627 break;
07628
07629 case 1037:
07630
07631 {
07632 suppressFurtherErrorMessages = false;
07633 ignoreDataAfterErrors = false;
07634 }
07635 break;
07636
07637 case 1039:
07638
07639 {
07640 if (!osoption->setNumberOfSolverOptions(parserData->numberOfSolverOptions) )
07641 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setNumberOfSolverOptions failed");
07642 parserData->iOption = 0;
07643 }
07644 break;
07645
07646 case 1040:
07647
07648 {
07649 if (parserData->numberOfSolverOptions > 0)
07650 {
07651 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <solverOption> element");
07652 ignoreDataAfterErrors = true;
07653 }
07654 }
07655 break;
07656
07657 case 1041:
07658
07659 {
07660 if (parserData->iOption != parserData->numberOfSolverOptions)
07661 {
07662 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <solverOption> elements than specified");
07663 ignoreDataAfterErrors = true;
07664 }
07665 }
07666 break;
07667
07668 case 1046:
07669
07670 {
07671 if (!ignoreDataAfterErrors)
07672 if (!osoption->setSolverOptionContent(
07673 parserData->iOption,
07674 parserData->numberOfItems,
07675 parserData->nameAttribute,
07676 parserData->valueAttribute,
07677 parserData->solverAttribute,
07678 parserData->categoryAttribute,
07679 parserData->typeAttribute,
07680 parserData->descriptionAttribute,
07681 parserData->itemList) )
07682 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "setSolverOptionContent failed");
07683 if (parserData->numberOfItems > 0)
07684 delete[] parserData->itemList;
07685 parserData->itemList = NULL;
07686 parserData->iOption++;
07687 }
07688 break;
07689
07690 case 1047:
07691
07692 {
07693 parserData->nameAttributePresent = false;
07694 parserData->valueAttributePresent = false;
07695 parserData->solverAttributePresent = false;
07696 parserData->categoryAttributePresent = false;
07697 parserData->typeAttributePresent = false;
07698 parserData->descriptionAttributePresent = false;
07699 parserData->numberOfItemsPresent = false;
07700 parserData->valueAttribute = "";
07701 parserData->solverAttribute = "";
07702 parserData->categoryAttribute = "";
07703 parserData->typeAttribute = "";
07704 parserData->descriptionAttribute = "";
07705 parserData->numberOfItems = 0;
07706 parserData->kounter = 0;
07707 }
07708 break;
07709
07710 case 1048:
07711
07712 {
07713 if (!parserData->nameAttributePresent)
07714 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "name attribute must be present");
07715 }
07716 break;
07717
07718 case 1057:
07719
07720 {
07721 parserData->itemList = new std::string[parserData->numberOfItems];
07722 }
07723 break;
07724
07725 case 1058:
07726
07727 {
07728 if (parserData->numberOfItems > 0)
07729 {
07730 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "expected at least one <item> element");
07731 ignoreDataAfterErrors = true;
07732 }
07733 }
07734 break;
07735
07736 case 1059:
07737
07738 {
07739 if (parserData->kounter < parserData->numberOfItems)
07740 {
07741 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer <item> elements than specified");
07742 ignoreDataAfterErrors = true;
07743 }
07744 }
07745 break;
07746
07747 case 1066:
07748
07749 {
07750 parserData->itemList[parserData->kounter] = parserData->itemContent;
07751 parserData->kounter++;
07752 }
07753 break;
07754
07755 case 1067:
07756
07757 {
07758 if (parserData->kounter >= parserData->numberOfItems)
07759 if (!suppressFurtherErrorMessages)
07760 {
07761 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <item> elements than specified");
07762 suppressFurtherErrorMessages = true;
07763 ignoreDataAfterErrors = true;
07764 }
07765 parserData->itemContent = "";
07766 }
07767 break;
07768
07769 case 1072:
07770
07771 {
07772 if (parserData->kounter >= parserData->numberOf)
07773 if (!suppressFurtherErrorMessages)
07774 {
07775 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <item> elements than specified");
07776 suppressFurtherErrorMessages = true;
07777 ignoreDataAfterErrors = true;
07778 }
07779 parserData->itemContent = (yyvsp[(1) - (1)].sval);
07780 free((yyvsp[(1) - (1)].sval));
07781 }
07782 break;
07783
07784 case 1075:
07785
07786 {
07787 if (parserData->kounter >= parserData->numberOf)
07788 {
07789 if (!suppressFurtherErrorMessages)
07790 {
07791 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too many paths in <requiredDirectories> element");
07792 suppressFurtherErrorMessages = true;
07793 ignoreDataAfterErrors = true;
07794 }
07795 }
07796 else
07797 {
07798 parserData->paths[parserData->kounter] = (yyvsp[(3) - (4)].sval);
07799 parserData->kounter++;
07800 }
07801 free((yyvsp[(3) - (4)].sval));
07802 }
07803 break;
07804
07805 case 1076:
07806
07807 {
07808 if (parserData->kounter >= parserData->numberOfPathPairs)
07809 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "too many path pairs");
07810 else
07811 {
07812 if (!parserData->pathPairFromPresent)
07813 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "\"from\" attribute must be present");
07814 if (!parserData->pathPairToPresent)
07815 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "\"to\" attribute must be present");
07816 parserData->fromPaths[parserData->kounter] = parserData->pathPairFrom;
07817 parserData->toPaths[parserData->kounter] = parserData->pathPairTo;
07818 parserData->makeCopy[parserData->kounter] = parserData->pathPairMakeCopy;
07819 parserData->kounter++;
07820 }
07821 }
07822 break;
07823
07824 case 1077:
07825
07826 {
07827
07828
07829 parserData->pathPairFrom = "";
07830 parserData->pathPairTo = "";
07831 parserData->pathPairFromPresent = false;
07832 parserData->pathPairToPresent = false;
07833 parserData->pathPairMakeCopyPresent = false;
07834 parserData->pathPairMakeCopy = false;
07835 }
07836 break;
07837
07838 case 1078:
07839
07840 {
07841
07842 }
07843 break;
07844
07845 case 1084:
07846
07847 {
07848 if (parserData->pathPairFromPresent)
07849 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one \"from\" attribute allowed");
07850 parserData->pathPairFromPresent = true;
07851 parserData->pathPairFrom = (yyvsp[(2) - (3)].sval);
07852 free((yyvsp[(2) - (3)].sval));
07853 }
07854 break;
07855
07856 case 1085:
07857
07858 {
07859 if (parserData->pathPairToPresent)
07860 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one \"to\" attribute allowed");
07861 parserData->pathPairToPresent = true;
07862 parserData->pathPairTo = (yyvsp[(2) - (3)].sval);
07863 free((yyvsp[(2) - (3)].sval));
07864 }
07865 break;
07866
07867 case 1086:
07868
07869 {
07870 if (parserData->pathPairMakeCopyPresent)
07871 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one \"makeCopy\" attribute allowed");
07872 parserData->pathPairMakeCopyPresent = true;
07873 parserData->pathPairMakeCopy = (strcmp((yyvsp[(2) - (3)].sval),"true") == 0);
07874 free((yyvsp[(2) - (3)].sval));
07875 }
07876 break;
07877
07878 case 1089:
07879
07880 {
07881 if (parserData->categoryAttributePresent )
07882 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one category attribute allowed for this element");
07883 parserData->categoryAttributePresent = true;
07884 }
07885 break;
07886
07887 case 1092:
07888
07889 {
07890 parserData->categoryAttribute = "";
07891 }
07892 break;
07893
07894 case 1093:
07895
07896 {
07897 parserData->categoryAttribute = (yyvsp[(2) - (3)].sval);
07898 free((yyvsp[(2) - (3)].sval));
07899 }
07900 break;
07901
07902 case 1094:
07903
07904 { if (parserData->conTypeAttributePresent )
07905 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one conType attribute allowed for this element");
07906 parserData->conTypeAttributePresent = true;
07907 }
07908 break;
07909
07910 case 1097:
07911
07912 { parserData->conTypeAttribute = ""; }
07913 break;
07914
07915 case 1098:
07916
07917 {
07918 parserData->conTypeAttribute = (yyvsp[(2) - (3)].sval);
07919 free((yyvsp[(2) - (3)].sval));
07920 }
07921 break;
07922
07923 case 1099:
07924
07925 {
07926 if (parserData->descriptionAttributePresent )
07927 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one description attribute allowed for this element");
07928 parserData->descriptionAttributePresent = true;
07929 }
07930 break;
07931
07932 case 1102:
07933
07934 { parserData->descriptionAttribute = ""; }
07935 break;
07936
07937 case 1103:
07938
07939 {
07940 parserData->descriptionAttribute = (yyvsp[(2) - (3)].sval);
07941 free((yyvsp[(2) - (3)].sval));
07942 }
07943 break;
07944
07945 case 1104:
07946
07947 { if (parserData->enumTypeAttributePresent )
07948 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one enumType attribute allowed for this element");
07949 parserData->enumTypeAttributePresent = true;
07950 }
07951 break;
07952
07953 case 1107:
07954
07955 { parserData->enumTypeAttribute = ""; }
07956 break;
07957
07958 case 1108:
07959
07960 {
07961 parserData->enumTypeAttribute = (yyvsp[(2) - (3)].sval);
07962 free((yyvsp[(2) - (3)].sval));
07963 }
07964 break;
07965
07966 case 1109:
07967
07968 {
07969 if (parserData->groupWeightAttributePresent )
07970 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one groupWeight attribute allowed for this element");
07971 parserData->groupWeightAttributePresent = true;
07972 }
07973 break;
07974
07975 case 1110:
07976
07977 {
07978 parserData->groupWeight = parserData->tempVal;
07979 }
07980 break;
07981
07982 case 1111:
07983
07984 {
07985 if (parserData->idxAttributePresent )
07986 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one idx attribute allowed for this element");
07987 parserData->idxAttributePresent = true;
07988 }
07989 break;
07990
07991 case 1113:
07992
07993 {
07994 parserData->idxAttribute = (yyvsp[(3) - (4)].ival);
07995 }
07996 break;
07997
07998 case 1114:
07999
08000 {
08001 if (parserData->lbValueAttributePresent )
08002 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one lb attribute allowed for this element");
08003 parserData->lbValueAttributePresent = true;
08004 }
08005 break;
08006
08007 case 1117:
08008
08009 {
08010 parserData->lbValueAttribute = "";
08011 }
08012 break;
08013
08014 case 1118:
08015
08016 {
08017 parserData->lbValueAttribute = (yyvsp[(2) - (3)].sval);
08018 free((yyvsp[(2) - (3)].sval));
08019 }
08020 break;
08021
08022 case 1119:
08023
08024 { if (parserData->lbValueAttributePresent )
08025 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one lb attribute allowed for this element");
08026 parserData->lbValueAttributePresent = true;
08027 }
08028 break;
08029
08030 case 1122:
08031
08032 {
08033 parserData->lbDualValue = 0.0;
08034 }
08035 break;
08036
08037 case 1123:
08038
08039 {
08040 parserData->lbDualValue = parserData->tempVal;
08041 }
08042 break;
08043
08044 case 1124:
08045
08046 {
08047 if (parserData->nameAttributePresent )
08048 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one name attribute allowed for this element");
08049 parserData->nameAttributePresent = true;
08050 }
08051 break;
08052
08053 case 1127:
08054
08055 {
08056 parserData->nameAttribute = "";
08057 }
08058 break;
08059
08060 case 1128:
08061
08062 {
08063 parserData->nameAttribute = (yyvsp[(2) - (3)].sval);
08064 free((yyvsp[(2) - (3)].sval));
08065 }
08066 break;
08067
08068 case 1129:
08069
08070 { if (parserData->objTypeAttributePresent )
08071 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one objType attribute allowed for this element");
08072 parserData->objTypeAttributePresent = true;
08073 }
08074 break;
08075
08076 case 1132:
08077
08078 { parserData->objTypeAttribute = ""; }
08079 break;
08080
08081 case 1133:
08082
08083 {
08084 parserData->objTypeAttribute = (yyvsp[(2) - (3)].sval);
08085 free((yyvsp[(2) - (3)].sval));
08086 }
08087 break;
08088
08089 case 1134:
08090
08091 { if (parserData->solverAttributePresent )
08092 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one solver attribute allowed for this element");
08093 parserData->solverAttributePresent = true;
08094 }
08095 break;
08096
08097 case 1137:
08098
08099 { parserData->solverAttribute = ""; }
08100 break;
08101
08102 case 1138:
08103
08104 {
08105 parserData->solverAttribute = (yyvsp[(2) - (3)].sval);
08106 free((yyvsp[(2) - (3)].sval));
08107 }
08108 break;
08109
08110 case 1139:
08111
08112 { if (parserData->sosIdxAttributePresent )
08113 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one sosIdx attribute allowed for this element");
08114 parserData->sosIdxAttributePresent = true;
08115 }
08116 break;
08117
08118 case 1141:
08119
08120 {
08121 if ((yyvsp[(3) - (4)].ival) < 0)
08122 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "SOS index must be nonnegative");
08123 parserData->sosIdx = (yyvsp[(3) - (4)].ival);
08124 }
08125 break;
08126
08127 case 1142:
08128
08129 { if (parserData->typeAttributePresent )
08130 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one type attribute allowed for this element");
08131 parserData->typeAttributePresent = true;
08132 }
08133 break;
08134
08135 case 1145:
08136
08137 { parserData->typeAttribute = ""; }
08138 break;
08139
08140 case 1146:
08141
08142 {
08143 parserData->typeAttribute = (yyvsp[(2) - (3)].sval);
08144 free((yyvsp[(2) - (3)].sval));
08145 }
08146 break;
08147
08148 case 1147:
08149
08150 {
08151 if (parserData->ubValueAttributePresent )
08152 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one ub attribute allowed for this element");
08153 parserData->ubValueAttributePresent = true;
08154 }
08155 break;
08156
08157 case 1150:
08158
08159 {
08160 parserData->ubValueAttribute = "";
08161 }
08162 break;
08163
08164 case 1151:
08165
08166 {
08167 parserData->ubValueAttribute = (yyvsp[(2) - (3)].sval);
08168 free((yyvsp[(2) - (3)].sval));
08169 }
08170 break;
08171
08172 case 1152:
08173
08174 { if (parserData->ubValueAttributePresent )
08175 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one ub attribute allowed for this element");
08176 parserData->ubValueAttributePresent = true;
08177 }
08178 break;
08179
08180 case 1155:
08181
08182 { parserData->ubDualValue = 0.0; }
08183 break;
08184
08185 case 1156:
08186
08187 {
08188 parserData->ubDualValue = parserData->tempVal;
08189 }
08190 break;
08191
08192 case 1157:
08193
08194 { if (parserData->unitAttributePresent )
08195 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one unit attribute allowed for this element");
08196 parserData->unitAttributePresent = true;
08197 }
08198 break;
08199
08200 case 1160:
08201
08202 { parserData->unitAttribute = ""; }
08203 break;
08204
08205 case 1161:
08206
08207 {
08208 parserData->unitAttribute = (yyvsp[(2) - (3)].sval);
08209 free((yyvsp[(2) - (3)].sval));
08210 }
08211 break;
08212
08213 case 1162:
08214
08215 { if (parserData->valueAttributePresent )
08216 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one value attribute allowed for this element");
08217 parserData->valueAttributePresent = true;
08218 }
08219 break;
08220
08221 case 1165:
08222
08223 { parserData->valueAttribute = ""; }
08224 break;
08225
08226 case 1166:
08227
08228 {
08229 parserData->valueAttribute = (yyvsp[(2) - (3)].sval);
08230 free((yyvsp[(2) - (3)].sval));
08231 }
08232 break;
08233
08234 case 1167:
08235
08236 { if (parserData->varTypeAttributePresent )
08237 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one varType attribute allowed for this element");
08238 parserData->varTypeAttributePresent = true;
08239 }
08240 break;
08241
08242 case 1170:
08243
08244 { parserData->varTypeAttribute = ""; }
08245 break;
08246
08247 case 1171:
08248
08249 {
08250 parserData->varTypeAttribute = (yyvsp[(2) - (3)].sval);
08251 free((yyvsp[(2) - (3)].sval));
08252 }
08253 break;
08254
08255 case 1172:
08256
08257 {
08258 if (parserData->numberOfConAttributePresent)
08259 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfCon attribute previously set");
08260 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <con> cannot be negative");
08261 parserData->numberOfConAttributePresent = true;
08262 parserData->numberOfCon = (yyvsp[(3) - (4)].ival);
08263 }
08264 break;
08265
08266 case 1173:
08267
08268 {
08269 if (parserData->numberOfConstraintsPresent)
08270 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfConstraints attribute previously set");
08271 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of constraints cannot be negative");
08272 parserData->numberOfConstraintsPresent = true;
08273 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08274 }
08275 break;
08276
08277 case 1174:
08278
08279 {
08280 if (osglData->osglNumberOfElPresent)
08281 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfEl attribute previously set");
08282 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <el> cannot be negative");
08283 osglData->osglNumberOfElPresent = true;
08284 parserData->numberOf = (yyvsp[(3) - (4)].ival);
08285 }
08286 break;
08287
08288 case 1175:
08289
08290 {
08291 if (parserData->numberOfEnumerationsAttributePresent)
08292 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfEnumerations attribute previously set");
08293 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <enumeration> elements cannot be negative");
08294 parserData->numberOfEnumerationsAttributePresent = true;
08295 parserData->numberOfEnumerations = (yyvsp[(3) - (4)].ival);
08296 }
08297 break;
08298
08299 case 1176:
08300
08301 {
08302 if (parserData->numberOfItemsPresent )
08303 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one numberOfItems attribute allowed");
08304 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of items cannot be negative");
08305 parserData->numberOfItemsPresent = true;
08306 parserData->numberOfItems = (yyvsp[(3) - (4)].ival);
08307 }
08308 break;
08309
08310 case 1177:
08311
08312 {
08313 if ((yyvsp[(3) - (4)].ival) < 0)
08314 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Number of job IDs cannot be negative");
08315 else
08316 parserData->jobDependencies = new std::string[(yyvsp[(3) - (4)].ival)];
08317 parserData->numberOf = (yyvsp[(3) - (4)].ival);
08318 parserData->kounter = 0;
08319 }
08320 break;
08321
08322 case 1178:
08323
08324 {
08325 if (parserData->numberOfObjAttributePresent)
08326 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfObj attribute previously set");
08327 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <obj> cannot be negative");
08328 parserData->numberOfObjAttributePresent = true;
08329 parserData->numberOfObj = (yyvsp[(3) - (4)].ival);
08330 }
08331 break;
08332
08333 case 1179:
08334
08335 {
08336 if (parserData->numberOfObjectivesPresent)
08337 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfObjectives attribute previously set");
08338 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of objectives cannot be negative");
08339 parserData->numberOfObjectivesPresent = true;
08340 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08341 }
08342 break;
08343
08344 case 1180:
08345
08346 {
08347 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other constraint options cannot be negative");
08348 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08349 }
08350 break;
08351
08352 case 1181:
08353
08354 {
08355 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other objective options cannot be negative");
08356 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08357 }
08358 break;
08359
08360 case 1182:
08361
08362 {
08363 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other options cannot be negative");
08364 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08365 }
08366 break;
08367
08368 case 1183:
08369
08370 {
08371 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of other variable options cannot be negative");
08372 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08373 }
08374 break;
08375
08376 case 1184:
08377
08378 {
08379 if ((yyvsp[(3) - (4)].ival) < 0)
08380 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Number of path pairs cannot be negative");
08381 else if ((yyvsp[(3) - (4)].ival) > 0)
08382 {
08383 parserData->fromPaths = new std::string[(yyvsp[(3) - (4)].ival)];
08384 parserData->toPaths = new std::string[(yyvsp[(3) - (4)].ival)];
08385 parserData->makeCopy = new bool[(yyvsp[(3) - (4)].ival)];
08386 }
08387 parserData->numberOfPathPairs = (yyvsp[(3) - (4)].ival);
08388 parserData->kounter = 0;
08389 }
08390 break;
08391
08392 case 1185:
08393
08394 {
08395 if ((yyvsp[(3) - (4)].ival) < 0)
08396 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Number of paths cannot be negative");
08397 else
08398 parserData->paths = new std::string[(yyvsp[(3) - (4)].ival)];
08399 parserData->numberOf = (yyvsp[(3) - (4)].ival);
08400 parserData->kounter = 0;
08401 }
08402 break;
08403
08404 case 1186:
08405
08406 {
08407 if ((yyvsp[(3) - (4)].ival) < 0)
08408 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "Number of job IDs cannot be negative");
08409 else
08410 parserData->processesToKill = new std::string[(yyvsp[(3) - (4)].ival)];
08411 parserData->numberOf = (yyvsp[(3) - (4)].ival);
08412 parserData->kounter = 0;
08413 }
08414 break;
08415
08416 case 1187:
08417
08418 {
08419 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of solver options cannot be negative");
08420 parserData->numberOfSolverOptions = (yyvsp[(3) - (4)].ival);
08421 }
08422 break;
08423
08424 case 1188:
08425
08426 {
08427 if (parserData->numberOfVarAttributePresent)
08428 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfVar attribute previously set");
08429 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of <var> cannot be negative");
08430 parserData->numberOfVarAttributePresent = true;
08431 parserData->numberOfVar = (yyvsp[(3) - (4)].ival);
08432 }
08433 break;
08434
08435 case 1189:
08436
08437 { if (parserData->numberOfVariablesPresent)
08438 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "numberOfVariables attribute previously set");
08439 if ((yyvsp[(3) - (4)].ival) < 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "number of variables cannot be negative");
08440 parserData->numberOfVariablesPresent = true;
08441 parserData->tempInt = (yyvsp[(3) - (4)].ival);
08442 }
08443 break;
08444
08445 case 1192:
08446
08447 {
08448 if (!ignoreDataAfterErrors)
08449 if (!osoption->setOtherOptionEnumeration(parserData->otherOptionType,
08450 parserData->iOther,
08451 parserData->kounter,
08452 osglData->osglNumberOfEl,
08453 parserData->valueAttribute,
08454 parserData->descriptionAttribute,
08455 osglData->osglIntArray) )
08456 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "set <other> option enumeration failed");
08457
08458 delete[] osglData->osglIntArray;
08459 osglData->osglIntArray = NULL;
08460 osglData->osglNumberOfEl = 0;
08461 parserData->kounter++;
08462 }
08463 break;
08464
08465 case 1193:
08466
08467 {
08468 if (parserData->kounter >= parserData->numberOfEnumerations)
08469 if (!suppressFurtherErrorMessages)
08470 {
08471 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more <enumeration> elements than specified");
08472 suppressFurtherErrorMessages = true;
08473 ignoreDataAfterErrors = true;
08474 }
08475 osglData->osglNumberOfElPresent = false;
08476 parserData->valueAttributePresent = false;
08477 parserData->descriptionAttributePresent = false;
08478 parserData->valueAttribute = "";
08479 parserData->descriptionAttribute = "";
08480 }
08481 break;
08482
08483 case 1194:
08484
08485 {
08486 if(!osglData->osglNumberOfElPresent)
08487 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element enumeration requires numberOfEl attribute");
08488 if(!parserData->valueAttributePresent)
08489 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "<other> element enumeration requires value attribute");
08490 }
08491 break;
08492
08493 case 1197:
08494
08495 {
08496 osglData->osglCounter = 0;
08497 osglData->osglNumberOfElPresent = true;
08498 osglData->osglNumberOfEl = parserData->numberOf;
08499 osglData->osglIntArray = new int[parserData->numberOf];
08500 }
08501 break;
08502
08503 case 1205:
08504
08505 {
08506 if (osglData->osglCounter < osglData->osglNumberOfEl)
08507 {
08508 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "fewer data elements than specified");
08509 ignoreDataAfterErrors = true;
08510 }
08511 }
08512 break;
08513
08514 case 1210:
08515
08516 {
08517 osglData->osglMultPresent = false;
08518 osglData->osglIncrPresent = false;
08519 osglData->osglMult = 1;
08520 osglData->osglIncr = 0;
08521 }
08522 break;
08523
08524 case 1216:
08525
08526 {
08527 if (osglData->osglCounter + osglData->osglMult > osglData->osglNumberOfEl)
08528 {
08529 if (!suppressFurtherErrorMessages)
08530 {
08531 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "more data elements than specified");
08532 suppressFurtherErrorMessages = true;
08533 ignoreDataAfterErrors = true;
08534 }
08535 }
08536 else
08537 for (int i=0; i<osglData->osglMult; i++)
08538 osglData->osglIntArray[osglData->osglCounter++] = (yyvsp[(2) - (3)].ival) + i*osglData->osglIncr;
08539 }
08540 break;
08541
08542 case 1218:
08543
08544 {
08545 osglData->osglSize = (yyvsp[(3) - (4)].ival);
08546 }
08547 break;
08548
08549 case 1223:
08550
08551 {
08552 char* b64string = (yyvsp[(2) - (3)].sval);
08553 if( b64string == NULL)
08554 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "base 64 data expected");
08555 if (osglData->osglSize != sizeof(int))
08556 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "base 64 encoded with a size of int different than on this machine");
08557
08558 std::string base64decodeddata = Base64::decodeb64( b64string );
08559 int base64decodeddatalength = base64decodeddata.length();
08560 int *intvec = NULL;
08561 if ( parserData->numberOf != (base64decodeddatalength/osglData->osglSize) )
08562 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "base 64 data length does not match numberOfEl");
08563 else
08564 {
08565 intvec = (int*)&base64decodeddata[0];
08566 for(int i = 0; i < (base64decodeddatalength/osglData->osglSize); i++)
08567 {
08568 osglData->osglIntArray[i] = *(intvec++);
08569 }
08570 }
08571
08572 free((yyvsp[(2) - (3)].sval));
08573 }
08574 break;
08575
08576 case 1224:
08577
08578 {
08579 if (osglData->osglIncrPresent)
08580 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one incr attribute allowed");
08581 osglData->osglIncrPresent = true;
08582 osglData->osglIncr = (yyvsp[(3) - (4)].ival);
08583 }
08584 break;
08585
08586 case 1225:
08587
08588 {
08589 if (osglData->osglMultPresent)
08590 osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "only one mult attribute allowed");
08591 if ((yyvsp[(3) - (4)].ival) <= 0) osol_errmsg += addErrorMsg( NULL, osoption, parserData, osglData, "mult must be positive");
08592 osglData->osglMultPresent = true;
08593 osglData->osglMult = (yyvsp[(3) - (4)].ival);
08594 }
08595 break;
08596
08597 case 1226:
08598
08599 {parserData->tempVal = (yyvsp[(1) - (1)].ival);}
08600 break;
08601
08602 case 1227:
08603
08604 {parserData->tempVal = (yyvsp[(1) - (1)].dval);}
08605 break;
08606
08607
08608
08609
08610 default: break;
08611 }
08612 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
08613
08614 YYPOPSTACK (yylen);
08615 yylen = 0;
08616 YY_STACK_PRINT (yyss, yyssp);
08617
08618 *++yyvsp = yyval;
08619 *++yylsp = yyloc;
08620
08621
08622
08623
08624
08625 yyn = yyr1[yyn];
08626
08627 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
08628 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
08629 yystate = yytable[yystate];
08630 else
08631 yystate = yydefgoto[yyn - YYNTOKENS];
08632
08633 goto yynewstate;
08634
08635
08636
08637
08638
08639 yyerrlab:
08640
08641 if (!yyerrstatus)
08642 {
08643 ++yynerrs;
08644 #if ! YYERROR_VERBOSE
08645 yyerror (&yylloc, osoption, parserData, osglData, YY_("syntax error"));
08646 #else
08647 {
08648 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
08649 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
08650 {
08651 YYSIZE_T yyalloc = 2 * yysize;
08652 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
08653 yyalloc = YYSTACK_ALLOC_MAXIMUM;
08654 if (yymsg != yymsgbuf)
08655 YYSTACK_FREE (yymsg);
08656 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
08657 if (yymsg)
08658 yymsg_alloc = yyalloc;
08659 else
08660 {
08661 yymsg = yymsgbuf;
08662 yymsg_alloc = sizeof yymsgbuf;
08663 }
08664 }
08665
08666 if (0 < yysize && yysize <= yymsg_alloc)
08667 {
08668 (void) yysyntax_error (yymsg, yystate, yychar);
08669 yyerror (&yylloc, osoption, parserData, osglData, yymsg);
08670 }
08671 else
08672 {
08673 yyerror (&yylloc, osoption, parserData, osglData, YY_("syntax error"));
08674 if (yysize != 0)
08675 goto yyexhaustedlab;
08676 }
08677 }
08678 #endif
08679 }
08680
08681 yyerror_range[0] = yylloc;
08682
08683 if (yyerrstatus == 3)
08684 {
08685
08686
08687
08688 if (yychar <= YYEOF)
08689 {
08690
08691 if (yychar == YYEOF)
08692 YYABORT;
08693 }
08694 else
08695 {
08696 yydestruct ("Error: discarding",
08697 yytoken, &yylval, &yylloc, osoption, parserData, osglData);
08698 yychar = YYEMPTY;
08699 }
08700 }
08701
08702
08703
08704 goto yyerrlab1;
08705
08706
08707
08708
08709
08710 yyerrorlab:
08711
08712
08713
08714
08715 if ( 0)
08716 goto yyerrorlab;
08717
08718 yyerror_range[0] = yylsp[1-yylen];
08719
08720
08721 YYPOPSTACK (yylen);
08722 yylen = 0;
08723 YY_STACK_PRINT (yyss, yyssp);
08724 yystate = *yyssp;
08725 goto yyerrlab1;
08726
08727
08728
08729
08730
08731 yyerrlab1:
08732 yyerrstatus = 3;
08733
08734 for (;;)
08735 {
08736 yyn = yypact[yystate];
08737 if (yyn != YYPACT_NINF)
08738 {
08739 yyn += YYTERROR;
08740 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
08741 {
08742 yyn = yytable[yyn];
08743 if (0 < yyn)
08744 break;
08745 }
08746 }
08747
08748
08749 if (yyssp == yyss)
08750 YYABORT;
08751
08752 yyerror_range[0] = *yylsp;
08753 yydestruct ("Error: popping",
08754 yystos[yystate], yyvsp, yylsp, osoption, parserData, osglData);
08755 YYPOPSTACK (1);
08756 yystate = *yyssp;
08757 YY_STACK_PRINT (yyss, yyssp);
08758 }
08759
08760 if (yyn == YYFINAL)
08761 YYACCEPT;
08762
08763 *++yyvsp = yylval;
08764
08765 yyerror_range[1] = yylloc;
08766
08767
08768 YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
08769 *++yylsp = yyloc;
08770
08771
08772 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
08773
08774 yystate = yyn;
08775 goto yynewstate;
08776
08777
08778
08779
08780
08781 yyacceptlab:
08782 yyresult = 0;
08783 goto yyreturn;
08784
08785
08786
08787
08788 yyabortlab:
08789 yyresult = 1;
08790 goto yyreturn;
08791
08792 #ifndef yyoverflow
08793
08794
08795
08796 yyexhaustedlab:
08797 yyerror (&yylloc, osoption, parserData, osglData, YY_("memory exhausted"));
08798 yyresult = 2;
08799
08800 #endif
08801
08802 yyreturn:
08803 if (yychar != YYEOF && yychar != YYEMPTY)
08804 yydestruct ("Cleanup: discarding lookahead",
08805 yytoken, &yylval, &yylloc, osoption, parserData, osglData);
08806
08807
08808 YYPOPSTACK (yylen);
08809 YY_STACK_PRINT (yyss, yyssp);
08810 while (yyssp != yyss)
08811 {
08812 yydestruct ("Cleanup: popping",
08813 yystos[*yyssp], yyvsp, yylsp, osoption, parserData, osglData);
08814 YYPOPSTACK (1);
08815 }
08816 #ifndef yyoverflow
08817 if (yyss != yyssa)
08818 YYSTACK_FREE (yyss);
08819 #endif
08820 #if YYERROR_VERBOSE
08821 if (yymsg != yymsgbuf)
08822 YYSTACK_FREE (yymsg);
08823 #endif
08824
08825 return YYID (yyresult);
08826 }
08827
08828
08829
08830
08831
08832 #if 0
08833 void addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
08834 {
08835 osol_empty_vectors( parserData);
08836 osgl_empty_vectors( osglData);
08837 std::ostringstream outStr;
08838 std::string error = errormsg;
08839 error = "OSoL input is either not valid or well formed: " + error;
08840 outStr << error << std::endl;
08841 outStr << "Error occurred when reading: " << osolget_text ( scanner ) << std::endl;
08842 outStr << "See line number: " << osolget_lineno( scanner) << std::endl;
08843 error = outStr.str();
08844
08845 }
08846 #endif
08847
08848 std::string addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
08849 {
08850 std::ostringstream outStr;
08851 outStr << "At line number " << osolget_lineno( scanner) << ": ";
08852 outStr << osolget_text ( scanner ) << std::endl;
08853 outStr << errormsg << std::endl;
08854
08855 return outStr.str();
08856 }
08857
08858 void osolerror(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, std::string errormsg )
08859 {
08860 osol_empty_vectors( parserData);
08861 osgl_empty_vectors( osglData);
08862 throw ErrorClass( errormsg);
08863 }
08864
08865 void yygetOSOption(const char *parsestring, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData) throw(ErrorClass){
08866 try{
08867 osol_scan_string( parsestring, scanner);
08868 osolset_lineno (1 , scanner );
08869
08870
08871
08872 if( osolparse( osoption, parserData, osglData) != 0) {
08873
08874 throw ErrorClass( "Error parsing the OSoL file");
08875 }
08876 }
08877 catch(const ErrorClass& eclass){
08878 throw ErrorClass( eclass.errormsg);
08879 }
08880 }
08881
08882
08883 void osol_empty_vectors( OSoLParserData* parserData){
08884
08885
08886
08887
08888
08889
08890
08891
08892
08893
08894
08895
08896
08897
08898
08899
08900
08901
08902
08903
08904
08905
08906
08907
08908
08909
08910
08911
08912
08913
08914
08915
08916
08917
08918
08919
08920
08921
08922 }
08923
08924