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