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