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