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