/home/coin/SVN-release/OS-2.3.5/OS/src/OSParsers/OSParseosol.tab.cpp

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

Generated on Thu Mar 31 03:13:11 2011 by  doxygen 1.4.7