/home/coin/SVN-release/OS-2.3.5/OS/src/OSParsers/OSParseosrl.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         osrlparse
00068 #define yylex           osrllex
00069 #define yyerror         osrlerror
00070 #define yylval          osrllval
00071 #define yychar          osrlchar
00072 #define yydebug         osrldebug
00073 #define yynerrs         osrlnerrs
00074 #define yylloc          osrllloc
00075 
00076 /* Copy the first part of user declarations.  */
00077 
00078 
00079 
00080  
00081 #include "OSConfig.h"
00082 #include "OSMathUtil.h"
00083 #include "OSParameters.h"
00084 #include "OSGeneral.h"
00085 #include "OSErrorClass.h"
00086 #include "OSResult.h"
00087 #include "OSrLParserData.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 osrl_scan_string (const char *yy_str , void* yyscanner  );
00103 int osrllex_init(void** ptr_yy_globals);
00104 int osrllex_destroy (void* yyscanner );
00105 int osrlget_lineno( void* yyscanner);
00106 char *osrlget_text (void* yyscanner );
00107 void osrlset_lineno (int line_number , void* yyscanner );
00108 void osrlset_extra (OSrLParserData* parserData , void* yyscanner );
00109 void  yygetOSResult(const char *ch, OSResult* m_osresult, OSrLParserData *m_parserData, OSgLParserData *osglData ) throw(ErrorClass);
00110 void osrl_empty_vectors( OSrLParserData* 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      OSRLSTART = 267,
00153      OSRLSTARTEMPTY = 268,
00154      OSRLATTRIBUTETEXT = 269,
00155      OSRLEND = 270,
00156      NUMBEROFCONATT = 271,
00157      NUMBEROFCONSTRAINTSATT = 272,
00158      NUMBEROFELATT = 273,
00159      NUMBEROFENUMERATIONSATT = 274,
00160      NUMBEROFIDXATT = 275,
00161      NUMBEROFITEMSATT = 276,
00162      NUMBEROFOBJATT = 277,
00163      NUMBEROFOBJECTIVESATT = 278,
00164      NUMBEROFOTHERCONSTRAINTRESULTSATT = 279,
00165      NUMBEROFOTHEROBJECTIVERESULTSATT = 280,
00166      NUMBEROFOTHERRESULTSATT = 281,
00167      NUMBEROFOTHERSOLUTIONRESULTSATT = 282,
00168      NUMBEROFOTHERVARIABLERESULTSATT = 283,
00169      NUMBEROFSOLUTIONSATT = 284,
00170      NUMBEROFSOLVEROUTPUTSATT = 285,
00171      NUMBEROFSUBSTATUSESATT = 286,
00172      NUMBEROFTIMESATT = 287,
00173      NUMBEROFVARATT = 288,
00174      NUMBEROFVARIABLESATT = 289,
00175      NUMBEROFVARIDXATT = 290,
00176      TARGETOBJECTIVEIDXATT = 291,
00177      IDXATT = 292,
00178      INCRATT = 293,
00179      MULTATT = 294,
00180      SIZEOFATT = 295,
00181      CATEGORYATT = 296,
00182      EMPTYCATEGORYATT = 297,
00183      DESCRIPTIONATT = 298,
00184      EMPTYDESCRIPTIONATT = 299,
00185      NAMEATT = 300,
00186      EMPTYNAMEATT = 301,
00187      TYPEATT = 302,
00188      EMPTYTYPEATT = 303,
00189      UNITATT = 304,
00190      EMPTYUNITATT = 305,
00191      VALUEATT = 306,
00192      EMPTYVALUEATT = 307,
00193      WEIGHTEDOBJECTIVESATT = 308,
00194      EMPTYWEIGHTEDOBJECTIVESATT = 309,
00195      HEADERSTART = 310,
00196      HEADEREND = 311,
00197      GENERALSTART = 312,
00198      GENERALEND = 313,
00199      SYSTEMSTART = 314,
00200      SYSTEMEND = 315,
00201      SERVICESTART = 316,
00202      SERVICEEND = 317,
00203      JOBSTART = 318,
00204      JOBEND = 319,
00205      OPTIMIZATIONSTART = 320,
00206      OPTIMIZATIONEND = 321,
00207      ITEMSTART = 322,
00208      ITEMEND = 323,
00209      ITEMSTARTANDEND = 324,
00210      ITEMEMPTY = 325,
00211      FILENAMESTART = 326,
00212      FILENAMEEND = 327,
00213      FILENAMEEMPTY = 328,
00214      FILENAMESTARTANDEND = 329,
00215      FILESOURCESTART = 330,
00216      FILESOURCEEND = 331,
00217      FILESOURCEEMPTY = 332,
00218      FILESOURCESTARTANDEND = 333,
00219      FILEDESCRIPTIONSTART = 334,
00220      FILEDESCRIPTIONEND = 335,
00221      FILEDESCRIPTIONEMPTY = 336,
00222      FILEDESCRIPTIONSTARTANDEND = 337,
00223      FILECREATORSTART = 338,
00224      FILECREATOREND = 339,
00225      FILECREATOREMPTY = 340,
00226      FILECREATORSTARTANDEND = 341,
00227      FILELICENCESTART = 342,
00228      FILELICENCEEND = 343,
00229      FILELICENCEEMPTY = 344,
00230      FILELICENCESTARTANDEND = 345,
00231      ACTUALSTARTTIMESTART = 346,
00232      ACTUALSTARTTIMEEND = 347,
00233      ATLOWERSTART = 348,
00234      ATLOWEREND = 349,
00235      ATUPPERSTART = 350,
00236      ATUPPEREND = 351,
00237      AVAILABLECPUNUMBERSTART = 352,
00238      AVAILABLECPUNUMBEREND = 353,
00239      AVAILABLECPUSPEEDSTART = 354,
00240      AVAILABLECPUSPEEDEND = 355,
00241      AVAILABLEDISKSPACESTART = 356,
00242      AVAILABLEDISKSPACEEND = 357,
00243      AVAILABLEMEMORYSTART = 358,
00244      AVAILABLEMEMORYEND = 359,
00245      BASE64START = 360,
00246      BASE64END = 361,
00247      BASICSTART = 362,
00248      BASICEND = 363,
00249      BASISSTATUSSTART = 364,
00250      BASISSTATUSEND = 365,
00251      BASSTATUSSTART = 366,
00252      BASSTATUSEND = 367,
00253      CONSTART = 368,
00254      CONEND = 369,
00255      CONSTRAINTSSTART = 370,
00256      CONSTRAINTSEND = 371,
00257      CURRENTJOBCOUNTSTART = 372,
00258      CURRENTJOBCOUNTEND = 373,
00259      CURRENTSTATESTART = 374,
00260      CURRENTSTATEEND = 375,
00261      DUALVALUESSTART = 376,
00262      DUALVALUESEND = 377,
00263      ELSTART = 378,
00264      ELEND = 379,
00265      ENUMERATIONSTART = 380,
00266      ENUMERATIONEND = 381,
00267      ENDTIMESTART = 382,
00268      ENDTIMEEND = 383,
00269      GENERALSTATUSSTART = 384,
00270      GENERALSTATUSEND = 385,
00271      GENERALSUBSTATUSSTART = 386,
00272      GENERALSUBSTATUSEND = 387,
00273      IDXSTART = 388,
00274      IDXEND = 389,
00275      INSTANCENAMESTART = 390,
00276      INSTANCENAMEEND = 391,
00277      ISFREESTART = 392,
00278      ISFREEEND = 393,
00279      JOBIDSTART = 394,
00280      JOBIDEND = 395,
00281      MESSAGESTART = 396,
00282      MESSAGEEND = 397,
00283      OBJSTART = 398,
00284      OBJEND = 399,
00285      OBJECTIVESSTART = 400,
00286      OBJECTIVESEND = 401,
00287      OPTIMIZATIONSOLUTIONSTATUSSTART = 402,
00288      OPTIMIZATIONSOLUTIONSTATUSEND = 403,
00289      OPTIMIZATIONSOLUTIONSUBSTATUSSTART = 404,
00290      OPTIMIZATIONSOLUTIONSUBSTATUSEND = 405,
00291      OTHERSTART = 406,
00292      OTHEREND = 407,
00293      OTHERRESULTSSTART = 408,
00294      OTHERRESULTSEND = 409,
00295      OTHERSOLUTIONRESULTSTART = 410,
00296      OTHERSOLUTIONRESULTEND = 411,
00297      OTHERSOLUTIONRESULTSSTART = 412,
00298      OTHERSOLUTIONRESULTSEND = 413,
00299      OTHERSOLVEROUTPUTSTART = 414,
00300      OTHERSOLVEROUTPUTEND = 415,
00301      SCHEDULEDSTARTTIMESTART = 416,
00302      SCHEDULEDSTARTTIMEEND = 417,
00303      SERVICENAMESTART = 418,
00304      SERVICENAMEEND = 419,
00305      SERVICEURISTART = 420,
00306      SERVICEURIEND = 421,
00307      SERVICEUTILIZATIONSTART = 422,
00308      SERVICEUTILIZATIONEND = 423,
00309      SOLUTIONSTART = 424,
00310      SOLUTIONEND = 425,
00311      SOLVERINVOKEDSTART = 426,
00312      SOLVERINVOKEDEND = 427,
00313      SOLVEROUTPUTSTART = 428,
00314      SOLVEROUTPUTEND = 429,
00315      STATUSSTART = 430,
00316      STATUSEND = 431,
00317      SUBMITTIMESTART = 432,
00318      SUBMITTIMEEND = 433,
00319      SUBSTATUSSTART = 434,
00320      SUBSTATUSEND = 435,
00321      SUPERBASICSTART = 436,
00322      SUPERBASICEND = 437,
00323      SYSTEMINFORMATIONSTART = 438,
00324      SYSTEMINFORMATIONEND = 439,
00325      TIMESTART = 440,
00326      TIMEEND = 441,
00327      TIMESERVICESTARTEDSTART = 442,
00328      TIMESERVICESTARTEDEND = 443,
00329      TIMESTAMPSTART = 444,
00330      TIMESTAMPEND = 445,
00331      TIMINGINFORMATIONSTART = 446,
00332      TIMINGINFORMATIONEND = 447,
00333      TOTALJOBSSOFARSTART = 448,
00334      TOTALJOBSSOFAREND = 449,
00335      UNKNOWNSTART = 450,
00336      UNKNOWNEND = 451,
00337      USEDCPUNUMBERSTART = 452,
00338      USEDCPUNUMBEREND = 453,
00339      USEDCPUSPEEDSTART = 454,
00340      USEDCPUSPEEDEND = 455,
00341      USEDDISKSPACESTART = 456,
00342      USEDDISKSPACEEND = 457,
00343      USEDMEMORYSTART = 458,
00344      USEDMEMORYEND = 459,
00345      VALUESSTART = 460,
00346      VALUESEND = 461,
00347      VALUESSTRINGSTART = 462,
00348      VALUESSTRINGEND = 463,
00349      VARSTART = 464,
00350      VAREND = 465,
00351      VARIABLESSTART = 466,
00352      VARIABLESEND = 467,
00353      VARIDXSTART = 468,
00354      VARIDXEND = 469,
00355      DUMMY = 470
00356    };
00357 #endif
00358 /* Tokens.  */
00359 #define ATTRIBUTETEXT 258
00360 #define ELEMENTTEXT 259
00361 #define ITEMTEXT 260
00362 #define INTEGER 261
00363 #define DOUBLE 262
00364 #define QUOTE 263
00365 #define TWOQUOTES 264
00366 #define GREATERTHAN 265
00367 #define ENDOFELEMENT 266
00368 #define OSRLSTART 267
00369 #define OSRLSTARTEMPTY 268
00370 #define OSRLATTRIBUTETEXT 269
00371 #define OSRLEND 270
00372 #define NUMBEROFCONATT 271
00373 #define NUMBEROFCONSTRAINTSATT 272
00374 #define NUMBEROFELATT 273
00375 #define NUMBEROFENUMERATIONSATT 274
00376 #define NUMBEROFIDXATT 275
00377 #define NUMBEROFITEMSATT 276
00378 #define NUMBEROFOBJATT 277
00379 #define NUMBEROFOBJECTIVESATT 278
00380 #define NUMBEROFOTHERCONSTRAINTRESULTSATT 279
00381 #define NUMBEROFOTHEROBJECTIVERESULTSATT 280
00382 #define NUMBEROFOTHERRESULTSATT 281
00383 #define NUMBEROFOTHERSOLUTIONRESULTSATT 282
00384 #define NUMBEROFOTHERVARIABLERESULTSATT 283
00385 #define NUMBEROFSOLUTIONSATT 284
00386 #define NUMBEROFSOLVEROUTPUTSATT 285
00387 #define NUMBEROFSUBSTATUSESATT 286
00388 #define NUMBEROFTIMESATT 287
00389 #define NUMBEROFVARATT 288
00390 #define NUMBEROFVARIABLESATT 289
00391 #define NUMBEROFVARIDXATT 290
00392 #define TARGETOBJECTIVEIDXATT 291
00393 #define IDXATT 292
00394 #define INCRATT 293
00395 #define MULTATT 294
00396 #define SIZEOFATT 295
00397 #define CATEGORYATT 296
00398 #define EMPTYCATEGORYATT 297
00399 #define DESCRIPTIONATT 298
00400 #define EMPTYDESCRIPTIONATT 299
00401 #define NAMEATT 300
00402 #define EMPTYNAMEATT 301
00403 #define TYPEATT 302
00404 #define EMPTYTYPEATT 303
00405 #define UNITATT 304
00406 #define EMPTYUNITATT 305
00407 #define VALUEATT 306
00408 #define EMPTYVALUEATT 307
00409 #define WEIGHTEDOBJECTIVESATT 308
00410 #define EMPTYWEIGHTEDOBJECTIVESATT 309
00411 #define HEADERSTART 310
00412 #define HEADEREND 311
00413 #define GENERALSTART 312
00414 #define GENERALEND 313
00415 #define SYSTEMSTART 314
00416 #define SYSTEMEND 315
00417 #define SERVICESTART 316
00418 #define SERVICEEND 317
00419 #define JOBSTART 318
00420 #define JOBEND 319
00421 #define OPTIMIZATIONSTART 320
00422 #define OPTIMIZATIONEND 321
00423 #define ITEMSTART 322
00424 #define ITEMEND 323
00425 #define ITEMSTARTANDEND 324
00426 #define ITEMEMPTY 325
00427 #define FILENAMESTART 326
00428 #define FILENAMEEND 327
00429 #define FILENAMEEMPTY 328
00430 #define FILENAMESTARTANDEND 329
00431 #define FILESOURCESTART 330
00432 #define FILESOURCEEND 331
00433 #define FILESOURCEEMPTY 332
00434 #define FILESOURCESTARTANDEND 333
00435 #define FILEDESCRIPTIONSTART 334
00436 #define FILEDESCRIPTIONEND 335
00437 #define FILEDESCRIPTIONEMPTY 336
00438 #define FILEDESCRIPTIONSTARTANDEND 337
00439 #define FILECREATORSTART 338
00440 #define FILECREATOREND 339
00441 #define FILECREATOREMPTY 340
00442 #define FILECREATORSTARTANDEND 341
00443 #define FILELICENCESTART 342
00444 #define FILELICENCEEND 343
00445 #define FILELICENCEEMPTY 344
00446 #define FILELICENCESTARTANDEND 345
00447 #define ACTUALSTARTTIMESTART 346
00448 #define ACTUALSTARTTIMEEND 347
00449 #define ATLOWERSTART 348
00450 #define ATLOWEREND 349
00451 #define ATUPPERSTART 350
00452 #define ATUPPEREND 351
00453 #define AVAILABLECPUNUMBERSTART 352
00454 #define AVAILABLECPUNUMBEREND 353
00455 #define AVAILABLECPUSPEEDSTART 354
00456 #define AVAILABLECPUSPEEDEND 355
00457 #define AVAILABLEDISKSPACESTART 356
00458 #define AVAILABLEDISKSPACEEND 357
00459 #define AVAILABLEMEMORYSTART 358
00460 #define AVAILABLEMEMORYEND 359
00461 #define BASE64START 360
00462 #define BASE64END 361
00463 #define BASICSTART 362
00464 #define BASICEND 363
00465 #define BASISSTATUSSTART 364
00466 #define BASISSTATUSEND 365
00467 #define BASSTATUSSTART 366
00468 #define BASSTATUSEND 367
00469 #define CONSTART 368
00470 #define CONEND 369
00471 #define CONSTRAINTSSTART 370
00472 #define CONSTRAINTSEND 371
00473 #define CURRENTJOBCOUNTSTART 372
00474 #define CURRENTJOBCOUNTEND 373
00475 #define CURRENTSTATESTART 374
00476 #define CURRENTSTATEEND 375
00477 #define DUALVALUESSTART 376
00478 #define DUALVALUESEND 377
00479 #define ELSTART 378
00480 #define ELEND 379
00481 #define ENUMERATIONSTART 380
00482 #define ENUMERATIONEND 381
00483 #define ENDTIMESTART 382
00484 #define ENDTIMEEND 383
00485 #define GENERALSTATUSSTART 384
00486 #define GENERALSTATUSEND 385
00487 #define GENERALSUBSTATUSSTART 386
00488 #define GENERALSUBSTATUSEND 387
00489 #define IDXSTART 388
00490 #define IDXEND 389
00491 #define INSTANCENAMESTART 390
00492 #define INSTANCENAMEEND 391
00493 #define ISFREESTART 392
00494 #define ISFREEEND 393
00495 #define JOBIDSTART 394
00496 #define JOBIDEND 395
00497 #define MESSAGESTART 396
00498 #define MESSAGEEND 397
00499 #define OBJSTART 398
00500 #define OBJEND 399
00501 #define OBJECTIVESSTART 400
00502 #define OBJECTIVESEND 401
00503 #define OPTIMIZATIONSOLUTIONSTATUSSTART 402
00504 #define OPTIMIZATIONSOLUTIONSTATUSEND 403
00505 #define OPTIMIZATIONSOLUTIONSUBSTATUSSTART 404
00506 #define OPTIMIZATIONSOLUTIONSUBSTATUSEND 405
00507 #define OTHERSTART 406
00508 #define OTHEREND 407
00509 #define OTHERRESULTSSTART 408
00510 #define OTHERRESULTSEND 409
00511 #define OTHERSOLUTIONRESULTSTART 410
00512 #define OTHERSOLUTIONRESULTEND 411
00513 #define OTHERSOLUTIONRESULTSSTART 412
00514 #define OTHERSOLUTIONRESULTSEND 413
00515 #define OTHERSOLVEROUTPUTSTART 414
00516 #define OTHERSOLVEROUTPUTEND 415
00517 #define SCHEDULEDSTARTTIMESTART 416
00518 #define SCHEDULEDSTARTTIMEEND 417
00519 #define SERVICENAMESTART 418
00520 #define SERVICENAMEEND 419
00521 #define SERVICEURISTART 420
00522 #define SERVICEURIEND 421
00523 #define SERVICEUTILIZATIONSTART 422
00524 #define SERVICEUTILIZATIONEND 423
00525 #define SOLUTIONSTART 424
00526 #define SOLUTIONEND 425
00527 #define SOLVERINVOKEDSTART 426
00528 #define SOLVERINVOKEDEND 427
00529 #define SOLVEROUTPUTSTART 428
00530 #define SOLVEROUTPUTEND 429
00531 #define STATUSSTART 430
00532 #define STATUSEND 431
00533 #define SUBMITTIMESTART 432
00534 #define SUBMITTIMEEND 433
00535 #define SUBSTATUSSTART 434
00536 #define SUBSTATUSEND 435
00537 #define SUPERBASICSTART 436
00538 #define SUPERBASICEND 437
00539 #define SYSTEMINFORMATIONSTART 438
00540 #define SYSTEMINFORMATIONEND 439
00541 #define TIMESTART 440
00542 #define TIMEEND 441
00543 #define TIMESERVICESTARTEDSTART 442
00544 #define TIMESERVICESTARTEDEND 443
00545 #define TIMESTAMPSTART 444
00546 #define TIMESTAMPEND 445
00547 #define TIMINGINFORMATIONSTART 446
00548 #define TIMINGINFORMATIONEND 447
00549 #define TOTALJOBSSOFARSTART 448
00550 #define TOTALJOBSSOFAREND 449
00551 #define UNKNOWNSTART 450
00552 #define UNKNOWNEND 451
00553 #define USEDCPUNUMBERSTART 452
00554 #define USEDCPUNUMBEREND 453
00555 #define USEDCPUSPEEDSTART 454
00556 #define USEDCPUSPEEDEND 455
00557 #define USEDDISKSPACESTART 456
00558 #define USEDDISKSPACEEND 457
00559 #define USEDMEMORYSTART 458
00560 #define USEDMEMORYEND 459
00561 #define VALUESSTART 460
00562 #define VALUESEND 461
00563 #define VALUESSTRINGSTART 462
00564 #define VALUESSTRINGEND 463
00565 #define VARSTART 464
00566 #define VAREND 465
00567 #define VARIABLESSTART 466
00568 #define VARIABLESEND 467
00569 #define VARIDXSTART 468
00570 #define VARIDXEND 469
00571 #define DUMMY 470
00572 
00573 
00574 
00575 
00576 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00577 typedef union YYSTYPE
00578 {
00579 
00580 
00581         double dval;
00582         int ival;
00583         char* sval;
00584 
00585 
00586 
00587 } YYSTYPE;
00588 # define YYSTYPE_IS_TRIVIAL 1
00589 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
00590 # define YYSTYPE_IS_DECLARED 1
00591 #endif
00592 
00593 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
00594 typedef struct YYLTYPE
00595 {
00596   int first_line;
00597   int first_column;
00598   int last_line;
00599   int last_column;
00600 } YYLTYPE;
00601 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
00602 # define YYLTYPE_IS_DECLARED 1
00603 # define YYLTYPE_IS_TRIVIAL 1
00604 #endif
00605 
00606 
00607 /* Copy the second part of user declarations.  */
00608 
00609 
00610 
00611 void osrlerror(YYLTYPE* type, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData, const char* errormsg);
00612 int osrllex(YYSTYPE* lvalp,  YYLTYPE* llocp, void* scanner);
00613  
00614 #define scanner parserData->scanner
00615 
00616 
00617 
00618 #ifdef short
00619 # undef short
00620 #endif
00621 
00622 #ifdef YYTYPE_UINT8
00623 typedef YYTYPE_UINT8 yytype_uint8;
00624 #else
00625 typedef unsigned char yytype_uint8;
00626 #endif
00627 
00628 #ifdef YYTYPE_INT8
00629 typedef YYTYPE_INT8 yytype_int8;
00630 #elif (defined __STDC__ || defined __C99__FUNC__ \
00631      || defined __cplusplus || defined _MSC_VER)
00632 typedef signed char yytype_int8;
00633 #else
00634 typedef short int yytype_int8;
00635 #endif
00636 
00637 #ifdef YYTYPE_UINT16
00638 typedef YYTYPE_UINT16 yytype_uint16;
00639 #else
00640 typedef unsigned short int yytype_uint16;
00641 #endif
00642 
00643 #ifdef YYTYPE_INT16
00644 typedef YYTYPE_INT16 yytype_int16;
00645 #else
00646 typedef short int yytype_int16;
00647 #endif
00648 
00649 #ifndef YYSIZE_T
00650 # ifdef __SIZE_TYPE__
00651 #  define YYSIZE_T __SIZE_TYPE__
00652 # elif defined size_t
00653 #  define YYSIZE_T size_t
00654 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
00655      || defined __cplusplus || defined _MSC_VER)
00656 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
00657 #  define YYSIZE_T size_t
00658 # else
00659 #  define YYSIZE_T unsigned int
00660 # endif
00661 #endif
00662 
00663 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
00664 
00665 #ifndef YY_
00666 # if YYENABLE_NLS
00667 #  if ENABLE_NLS
00668 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
00669 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
00670 #  endif
00671 # endif
00672 # ifndef YY_
00673 #  define YY_(msgid) msgid
00674 # endif
00675 #endif
00676 
00677 /* Suppress unused-variable warnings by "using" E.  */
00678 #if ! defined lint || defined __GNUC__
00679 # define YYUSE(e) ((void) (e))
00680 #else
00681 # define YYUSE(e) /* empty */
00682 #endif
00683 
00684 /* Identity function, used to suppress warnings about constant conditions.  */
00685 #ifndef lint
00686 # define YYID(n) (n)
00687 #else
00688 #if (defined __STDC__ || defined __C99__FUNC__ \
00689      || defined __cplusplus || defined _MSC_VER)
00690 static int
00691 YYID (int yyi)
00692 #else
00693 static int
00694 YYID (yyi)
00695     int yyi;
00696 #endif
00697 {
00698   return yyi;
00699 }
00700 #endif
00701 
00702 #if ! defined yyoverflow || YYERROR_VERBOSE
00703 
00704 /* The parser invokes alloca or malloc; define the necessary symbols.  */
00705 
00706 # ifdef YYSTACK_USE_ALLOCA
00707 #  if YYSTACK_USE_ALLOCA
00708 #   ifdef __GNUC__
00709 #    define YYSTACK_ALLOC __builtin_alloca
00710 #   elif defined __BUILTIN_VA_ARG_INCR
00711 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
00712 #   elif defined _AIX
00713 #    define YYSTACK_ALLOC __alloca
00714 #   elif defined _MSC_VER
00715 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
00716 #    define alloca _alloca
00717 #   else
00718 #    define YYSTACK_ALLOC alloca
00719 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00720      || defined __cplusplus || defined _MSC_VER)
00721 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
00722 #     ifndef _STDLIB_H
00723 #      define _STDLIB_H 1
00724 #     endif
00725 #    endif
00726 #   endif
00727 #  endif
00728 # endif
00729 
00730 # ifdef YYSTACK_ALLOC
00731    /* Pacify GCC's `empty if-body' warning.  */
00732 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
00733 #  ifndef YYSTACK_ALLOC_MAXIMUM
00734     /* The OS might guarantee only one guard page at the bottom of the stack,
00735        and a page size can be as small as 4096 bytes.  So we cannot safely
00736        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
00737        to allow for a few compiler-allocated temporary stack slots.  */
00738 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
00739 #  endif
00740 # else
00741 #  define YYSTACK_ALLOC YYMALLOC
00742 #  define YYSTACK_FREE YYFREE
00743 #  ifndef YYSTACK_ALLOC_MAXIMUM
00744 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
00745 #  endif
00746 #  if (defined __cplusplus && ! defined _STDLIB_H \
00747        && ! ((defined YYMALLOC || defined malloc) \
00748              && (defined YYFREE || defined free)))
00749 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
00750 #   ifndef _STDLIB_H
00751 #    define _STDLIB_H 1
00752 #   endif
00753 #  endif
00754 #  ifndef YYMALLOC
00755 #   define YYMALLOC malloc
00756 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00757      || defined __cplusplus || defined _MSC_VER)
00758 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
00759 #   endif
00760 #  endif
00761 #  ifndef YYFREE
00762 #   define YYFREE free
00763 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00764      || defined __cplusplus || defined _MSC_VER)
00765 void free (void *); /* INFRINGES ON USER NAME SPACE */
00766 #   endif
00767 #  endif
00768 # endif
00769 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
00770 
00771 
00772 #if (! defined yyoverflow \
00773      && (! defined __cplusplus \
00774          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
00775              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
00776 
00777 /* A type that is properly aligned for any stack member.  */
00778 union yyalloc
00779 {
00780   yytype_int16 yyss_alloc;
00781   YYSTYPE yyvs_alloc;
00782   YYLTYPE yyls_alloc;
00783 };
00784 
00785 /* The size of the maximum gap between one aligned stack and the next.  */
00786 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00787 
00788 /* The size of an array large to enough to hold all stacks, each with
00789    N elements.  */
00790 # define YYSTACK_BYTES(N) \
00791      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
00792       + 2 * YYSTACK_GAP_MAXIMUM)
00793 
00794 /* Copy COUNT objects from FROM to TO.  The source and destination do
00795    not overlap.  */
00796 # ifndef YYCOPY
00797 #  if defined __GNUC__ && 1 < __GNUC__
00798 #   define YYCOPY(To, From, Count) \
00799       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00800 #  else
00801 #   define YYCOPY(To, From, Count)              \
00802       do                                        \
00803         {                                       \
00804           YYSIZE_T yyi;                         \
00805           for (yyi = 0; yyi < (Count); yyi++)   \
00806             (To)[yyi] = (From)[yyi];            \
00807         }                                       \
00808       while (YYID (0))
00809 #  endif
00810 # endif
00811 
00812 /* Relocate STACK from its old location to the new one.  The
00813    local variables YYSIZE and YYSTACKSIZE give the old and new number of
00814    elements in the stack, and YYPTR gives the new location of the
00815    stack.  Advance YYPTR to a properly aligned location for the next
00816    stack.  */
00817 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
00818     do                                                                  \
00819       {                                                                 \
00820         YYSIZE_T yynewbytes;                                            \
00821         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
00822         Stack = &yyptr->Stack_alloc;                                    \
00823         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00824         yyptr += yynewbytes / sizeof (*yyptr);                          \
00825       }                                                                 \
00826     while (YYID (0))
00827 
00828 #endif
00829 
00830 /* YYFINAL -- State number of the termination state.  */
00831 #define YYFINAL  6
00832 /* YYLAST -- Last index in YYTABLE.  */
00833 #define YYLAST   1356
00834 
00835 /* YYNTOKENS -- Number of terminals.  */
00836 #define YYNTOKENS  220
00837 /* YYNNTS -- Number of nonterminals.  */
00838 #define YYNNTS  766
00839 /* YYNRULES -- Number of rules.  */
00840 #define YYNRULES  1117
00841 /* YYNRULES -- Number of states.  */
00842 #define YYNSTATES  1546
00843 
00844 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
00845 #define YYUNDEFTOK  2
00846 #define YYMAXUTOK   470
00847 
00848 #define YYTRANSLATE(YYX)                                                \
00849   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00850 
00851 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
00852 static const yytype_uint8 yytranslate[] =
00853 {
00854        0,     2,     2,     2,     2,     2,     2,     2,     2,   217,
00855      219,     2,     2,   218,     2,     2,     2,     2,     2,     2,
00856        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00857        2,     2,   216,     2,     2,     2,     2,     2,     2,     2,
00858        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00859        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00860        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00861        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00862        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00863        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00864        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00865        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00866        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00867        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00868        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00869        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00870        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00871        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00872        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00873        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00874        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00875        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00876        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00877        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00878        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00879        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
00880        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
00881       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
00882       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
00883       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
00884       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
00885       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
00886       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
00887       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
00888       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
00889       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
00890      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
00891      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
00892      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
00893      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
00894      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
00895      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
00896      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
00897      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
00898      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
00899      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
00900      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
00901      215
00902 };
00903 
00904 #if YYDEBUG
00905 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
00906    YYRHS.  */
00907 static const yytype_uint16 yyprhs[] =
00908 {
00909        0,     0,     3,     7,    11,    13,    15,    16,    18,    20,
00910       22,    24,    28,    30,    31,    38,    39,    42,    44,    46,
00911       48,    50,    54,    60,    61,    63,    65,    67,    69,    71,
00912       75,    76,    78,    80,    82,    84,    86,    90,    91,    93,
00913       95,    97,    99,   101,   105,   106,   108,   110,   112,   114,
00914      116,   120,   121,   123,   125,   127,   129,   131,   135,   136,
00915      139,   141,   143,   145,   148,   150,   154,   156,   158,   161,
00916      163,   165,   167,   169,   171,   173,   175,   177,   179,   183,
00917      185,   187,   189,   192,   194,   196,   198,   200,   202,   205,
00918      207,   211,   213,   215,   218,   222,   224,   226,   227,   230,
00919      232,   234,   237,   239,   242,   244,   246,   248,   251,   253,
00920      257,   259,   262,   264,   266,   268,   271,   273,   277,   279,
00921      282,   284,   286,   288,   291,   293,   297,   299,   302,   304,
00922      306,   308,   311,   313,   317,   319,   322,   324,   326,   328,
00923      331,   333,   337,   339,   342,   344,   346,   348,   351,   353,
00924      357,   359,   362,   364,   366,   368,   371,   373,   377,   379,
00925      383,   385,   387,   389,   391,   394,   396,   400,   402,   404,
00926      407,   411,   413,   415,   416,   419,   421,   423,   425,   428,
00927      430,   431,   434,   436,   438,   440,   443,   445,   449,   451,
00928      453,   456,   458,   460,   462,   464,   466,   468,   471,   473,
00929      475,   477,   480,   482,   486,   488,   492,   494,   496,   497,
00930      500,   502,   504,   508,   510,   514,   516,   518,   519,   522,
00931      524,   526,   530,   532,   536,   538,   540,   541,   544,   546,
00932      548,   552,   554,   558,   560,   561,   563,   567,   569,   573,
00933      575,   577,   579,   581,   584,   586,   590,   592,   594,   597,
00934      601,   603,   605,   606,   609,   611,   613,   615,   618,   620,
00935      621,   624,   626,   628,   630,   633,   635,   639,   641,   643,
00936      646,   648,   650,   652,   654,   656,   658,   661,   663,   665,
00937      667,   670,   672,   676,   678,   681,   683,   685,   687,   690,
00938      692,   696,   698,   701,   703,   705,   707,   710,   712,   716,
00939      718,   721,   723,   725,   727,   730,   732,   736,   738,   741,
00940      743,   745,   747,   750,   752,   756,   758,   762,   764,   766,
00941      768,   770,   773,   775,   779,   781,   783,   786,   790,   792,
00942      794,   795,   798,   800,   802,   804,   807,   809,   810,   813,
00943      815,   817,   819,   822,   824,   828,   830,   832,   835,   837,
00944      839,   841,   843,   845,   847,   849,   851,   853,   855,   857,
00945      860,   862,   864,   866,   869,   871,   875,   877,   880,   882,
00946      884,   886,   889,   891,   895,   897,   900,   902,   904,   906,
00947      909,   911,   915,   917,   920,   922,   924,   926,   929,   931,
00948      935,   937,   940,   942,   944,   946,   949,   951,   955,   957,
00949      961,   963,   965,   967,   969,   972,   974,   978,   980,   982,
00950      985,   989,   991,   992,   995,   997,   999,  1001,  1003,  1005,
00951     1007,  1010,  1012,  1016,  1018,  1020,  1022,  1026,  1028,  1030,
00952     1031,  1034,  1036,  1038,  1042,  1044,  1048,  1050,  1052,  1053,
00953     1056,  1058,  1060,  1064,  1066,  1070,  1072,  1074,  1075,  1078,
00954     1080,  1082,  1086,  1088,  1092,  1094,  1095,  1097,  1101,  1103,
00955     1107,  1109,  1111,  1113,  1115,  1118,  1120,  1124,  1126,  1128,
00956     1131,  1135,  1137,  1139,  1140,  1143,  1145,  1147,  1149,  1152,
00957     1154,  1155,  1159,  1161,  1163,  1164,  1167,  1169,  1171,  1173,
00958     1175,  1177,  1179,  1182,  1184,  1188,  1191,  1193,  1196,  1200,
00959     1202,  1204,  1205,  1208,  1210,  1212,  1217,  1221,  1230,  1234,
00960     1236,  1238,  1240,  1243,  1245,  1247,  1249,  1251,  1253,  1256,
00961     1258,  1262,  1264,  1266,  1269,  1273,  1275,  1277,  1278,  1281,
00962     1283,  1285,  1288,  1290,  1291,  1294,  1296,  1298,  1300,  1303,
00963     1305,  1309,  1311,  1312,  1316,  1318,  1319,  1321,  1323,  1325,
00964     1327,  1331,  1336,  1337,  1341,  1343,  1345,  1347,  1349,  1352,
00965     1354,  1358,  1360,  1362,  1365,  1369,  1371,  1376,  1380,  1381,
00966     1385,  1387,  1389,  1391,  1393,  1396,  1398,  1402,  1404,  1406,
00967     1409,  1413,  1415,  1420,  1422,  1424,  1427,  1429,  1433,  1435,
00968     1436,  1439,  1441,  1443,  1445,  1447,  1451,  1458,  1459,  1463,
00969     1465,  1467,  1469,  1471,  1473,  1477,  1479,  1480,  1484,  1486,
00970     1488,  1490,  1492,  1494,  1498,  1500,  1501,  1505,  1507,  1509,
00971     1511,  1513,  1515,  1519,  1521,  1522,  1526,  1528,  1530,  1532,
00972     1534,  1536,  1540,  1542,  1543,  1547,  1549,  1551,  1553,  1555,
00973     1557,  1561,  1563,  1564,  1568,  1570,  1572,  1574,  1576,  1578,
00974     1582,  1584,  1585,  1588,  1592,  1594,  1596,  1597,  1600,  1602,
00975     1604,  1606,  1608,  1610,  1612,  1614,  1617,  1619,  1623,  1625,
00976     1627,  1629,  1632,  1636,  1638,  1643,  1645,  1647,  1650,  1652,
00977     1656,  1658,  1660,  1663,  1667,  1669,  1671,  1672,  1675,  1677,
00978     1679,  1681,  1683,  1685,  1687,  1691,  1693,  1694,  1698,  1700,
00979     1701,  1703,  1705,  1707,  1709,  1713,  1717,  1718,  1722,  1724,
00980     1726,  1728,  1730,  1733,  1735,  1739,  1741,  1743,  1746,  1750,
00981     1752,  1753,  1758,  1762,  1764,  1766,  1767,  1770,  1772,  1774,
00982     1776,  1778,  1782,  1789,  1790,  1794,  1796,  1798,  1800,  1802,
00983     1804,  1808,  1810,  1811,  1815,  1817,  1819,  1821,  1823,  1825,
00984     1829,  1831,  1832,  1836,  1838,  1840,  1842,  1844,  1846,  1850,
00985     1852,  1853,  1857,  1859,  1861,  1863,  1865,  1867,  1871,  1873,
00986     1874,  1878,  1880,  1882,  1884,  1886,  1888,  1892,  1894,  1895,
00987     1899,  1901,  1903,  1905,  1907,  1909,  1913,  1915,  1916,  1919,
00988     1923,  1925,  1927,  1928,  1931,  1933,  1935,  1937,  1939,  1941,
00989     1943,  1945,  1948,  1950,  1954,  1956,  1958,  1960,  1963,  1967,
00990     1969,  1974,  1976,  1978,  1981,  1983,  1987,  1989,  1991,  1994,
00991     1998,  2000,  2002,  2003,  2006,  2008,  2010,  2012,  2014,  2016,
00992     2018,  2022,  2024,  2025,  2029,  2031,  2032,  2034,  2036,  2038,
00993     2040,  2044,  2048,  2049,  2053,  2055,  2057,  2059,  2061,  2064,
00994     2066,  2070,  2072,  2074,  2077,  2081,  2083,  2088,  2092,  2093,
00995     2096,  2098,  2100,  2102,  2104,  2108,  2115,  2116,  2120,  2122,
00996     2124,  2126,  2128,  2130,  2134,  2136,  2137,  2141,  2143,  2145,
00997     2147,  2149,  2151,  2155,  2157,  2158,  2162,  2164,  2166,  2168,
00998     2170,  2172,  2176,  2178,  2179,  2183,  2185,  2187,  2189,  2191,
00999     2193,  2197,  2199,  2200,  2204,  2206,  2208,  2210,  2212,  2214,
01000     2218,  2220,  2221,  2225,  2227,  2229,  2231,  2233,  2235,  2239,
01001     2241,  2242,  2245,  2249,  2251,  2253,  2254,  2257,  2259,  2261,
01002     2263,  2265,  2267,  2269,  2271,  2274,  2276,  2280,  2282,  2284,
01003     2286,  2289,  2293,  2295,  2300,  2302,  2304,  2307,  2309,  2313,
01004     2315,  2317,  2320,  2324,  2326,  2328,  2329,  2332,  2334,  2336,
01005     2338,  2340,  2342,  2344,  2348,  2350,  2351,  2355,  2357,  2359,
01006     2361,  2363,  2366,  2368,  2372,  2374,  2376,  2379,  2383,  2385,
01007     2387,  2388,  2391,  2393,  2395,  2397,  2399,  2401,  2403,  2406,
01008     2408,  2412,  2414,  2416,  2419,  2421,  2423,  2425,  2427,  2429,
01009     2433,  2435,  2436,  2440,  2442,  2444,  2446,  2448,  2451,  2453,
01010     2457,  2459,  2461,  2464,  2468,  2470,  2472,  2473,  2476,  2478,
01011     2480,  2482,  2484,  2486,  2488,  2491,  2493,  2497,  2499,  2501,
01012     2504,  2506,  2508,  2510,  2512,  2514,  2518,  2520,  2522,  2524,
01013     2526,  2528,  2532,  2534,  2536,  2538,  2540,  2544,  2546,  2548,
01014     2550,  2552,  2556,  2558,  2560,  2562,  2564,  2568,  2570,  2572,
01015     2574,  2576,  2580,  2582,  2584,  2586,  2588,  2592,  2597,  2602,
01016     2607,  2612,  2617,  2622,  2627,  2632,  2637,  2642,  2647,  2652,
01017     2657,  2662,  2667,  2672,  2677,  2682,  2684,  2686,  2687,  2690,
01018     2694,  2696,  2698,  2699,  2702,  2704,  2706,  2710,  2714,  2719,
01019     2721,  2723,  2726,  2728,  2732,  2737,  2742,  2744,  2746,  2748,
01020     2750,  2752,  2755,  2756,  2759,  2761,  2763,  2765
01021 };
01022 
01023 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
01024 static const yytype_int16 yyrhs[] =
01025 {
01026      221,     0,    -1,   222,   229,   228,    -1,   223,   224,   225,
01027       -1,    13,    -1,    12,    -1,    -1,    14,    -1,   226,    -1,
01028      227,    -1,    11,    -1,    10,   229,   228,    -1,    15,    -1,
01029       -1,   230,   256,   336,   390,   442,   537,    -1,    -1,   231,
01030      232,    -1,    55,    -1,   233,    -1,   234,    -1,    11,    -1,
01031       10,   235,    56,    -1,   236,   240,   244,   248,   252,    -1,
01032       -1,   237,    -1,   238,    -1,   239,    -1,    74,    -1,    73,
01033       -1,    71,     5,    72,    -1,    -1,   241,    -1,   242,    -1,
01034      243,    -1,    78,    -1,    77,    -1,    75,     5,    76,    -1,
01035       -1,   245,    -1,   246,    -1,   247,    -1,    82,    -1,    81,
01036       -1,    79,     5,    80,    -1,    -1,   249,    -1,   250,    -1,
01037      251,    -1,    86,    -1,    85,    -1,    83,     5,    84,    -1,
01038       -1,   253,    -1,   254,    -1,   255,    -1,    90,    -1,    89,
01039       -1,    87,     5,    88,    -1,    -1,   257,   258,    -1,    57,
01040       -1,   259,    -1,   260,    -1,    10,    58,    -1,    11,    -1,
01041       10,   261,    58,    -1,   262,    -1,   263,    -1,   262,   263,
01042       -1,   264,    -1,   280,    -1,   286,    -1,   292,    -1,   298,
01043       -1,   304,    -1,   310,    -1,   316,    -1,   322,    -1,   265,
01044      266,   269,    -1,   129,    -1,   267,    -1,   268,    -1,   267,
01045      268,    -1,   936,    -1,   928,    -1,   962,    -1,   270,    -1,
01046      271,    -1,    10,   130,    -1,    11,    -1,    10,   272,   130,
01047       -1,   273,    -1,   274,    -1,   273,   274,    -1,   275,   276,
01048      279,    -1,   179,    -1,   277,    -1,    -1,   277,   278,    -1,
01049      932,    -1,   928,    -1,    10,   180,    -1,    11,    -1,   281,
01050      282,    -1,   141,    -1,   283,    -1,   284,    -1,    10,   142,
01051       -1,    11,    -1,    10,   285,   142,    -1,     4,    -1,   287,
01052      288,    -1,   165,    -1,   289,    -1,   290,    -1,    10,   166,
01053       -1,    11,    -1,    10,   291,   166,    -1,     4,    -1,   293,
01054      294,    -1,   163,    -1,   295,    -1,   296,    -1,    10,   164,
01055       -1,    11,    -1,    10,   297,   164,    -1,     4,    -1,   299,
01056      300,    -1,   135,    -1,   301,    -1,   302,    -1,    10,   136,
01057       -1,    11,    -1,    10,   303,   136,    -1,     4,    -1,   305,
01058      306,    -1,   139,    -1,   307,    -1,   308,    -1,    10,   140,
01059       -1,    11,    -1,    10,   309,   140,    -1,     4,    -1,   311,
01060      312,    -1,   171,    -1,   313,    -1,   314,    -1,    10,   172,
01061       -1,    11,    -1,    10,   315,   172,    -1,     4,    -1,   317,
01062      318,    -1,   189,    -1,   319,    -1,   320,    -1,    10,   190,
01063       -1,    11,    -1,    10,   321,   190,    -1,     4,    -1,   323,
01064      324,   325,    -1,   153,    -1,   957,    -1,   326,    -1,   327,
01065       -1,    10,   154,    -1,    11,    -1,    10,   328,   154,    -1,
01066      329,    -1,   330,    -1,   329,   330,    -1,   331,   332,   335,
01067       -1,   151,    -1,   333,    -1,    -1,   333,   334,    -1,   932,
01068       -1,   944,    -1,   928,    -1,    10,   152,    -1,    11,    -1,
01069       -1,   337,   338,    -1,    59,    -1,   339,    -1,   340,    -1,
01070       10,    60,    -1,    11,    -1,    10,   341,    60,    -1,   342,
01071       -1,   343,    -1,   342,   343,    -1,   344,    -1,   350,    -1,
01072      357,    -1,   364,    -1,   371,    -1,   376,    -1,   345,   346,
01073       -1,   183,    -1,   347,    -1,   348,    -1,    10,   184,    -1,
01074       11,    -1,    10,   349,   184,    -1,     4,    -1,   351,   352,
01075      355,    -1,   101,    -1,   353,    -1,    -1,   353,   354,    -1,
01076      940,    -1,   928,    -1,    10,   356,   102,    -1,   981,    -1,
01077      358,   359,   362,    -1,   103,    -1,   360,    -1,    -1,   360,
01078      361,    -1,   940,    -1,   928,    -1,    10,   363,   104,    -1,
01079      981,    -1,   365,   366,   369,    -1,    99,    -1,   367,    -1,
01080       -1,   367,   368,    -1,   940,    -1,   928,    -1,    10,   370,
01081      100,    -1,   981,    -1,   372,   373,   374,    -1,    97,    -1,
01082       -1,   928,    -1,    10,   375,    98,    -1,     6,    -1,   377,
01083      378,   379,    -1,   153,    -1,   957,    -1,   380,    -1,   381,
01084       -1,    10,   154,    -1,    11,    -1,    10,   382,   154,    -1,
01085      383,    -1,   384,    -1,   383,   384,    -1,   385,   386,   389,
01086       -1,   151,    -1,   387,    -1,    -1,   387,   388,    -1,   932,
01087       -1,   944,    -1,   928,    -1,    10,   152,    -1,    11,    -1,
01088       -1,   391,   392,    -1,    61,    -1,   393,    -1,   394,    -1,
01089       10,    62,    -1,    11,    -1,    10,   395,    62,    -1,   396,
01090       -1,   397,    -1,   396,   397,    -1,   398,    -1,   404,    -1,
01091      410,    -1,   416,    -1,   422,    -1,   428,    -1,   399,   400,
01092       -1,   119,    -1,   401,    -1,   402,    -1,    10,   120,    -1,
01093       11,    -1,    10,   403,   120,    -1,     4,    -1,   405,   406,
01094       -1,   117,    -1,   407,    -1,   408,    -1,    10,   118,    -1,
01095       11,    -1,    10,   409,   118,    -1,     6,    -1,   411,   412,
01096       -1,   193,    -1,   413,    -1,   414,    -1,    10,   194,    -1,
01097       11,    -1,    10,   415,   194,    -1,     6,    -1,   417,   418,
01098       -1,   187,    -1,   419,    -1,   420,    -1,    10,   188,    -1,
01099       11,    -1,    10,   421,   188,    -1,     4,    -1,   423,   424,
01100       -1,   167,    -1,   425,    -1,   426,    -1,    10,   168,    -1,
01101       11,    -1,    10,   427,   168,    -1,   981,    -1,   429,   430,
01102      431,    -1,   153,    -1,   957,    -1,   432,    -1,   433,    -1,
01103       10,   154,    -1,    11,    -1,    10,   434,   154,    -1,   435,
01104       -1,   436,    -1,   435,   436,    -1,   437,   438,   441,    -1,
01105      151,    -1,   439,    -1,    -1,   439,   440,    -1,   932,    -1,
01106      944,    -1,   928,    -1,    10,   152,    -1,    11,    -1,    -1,
01107      443,   444,    -1,    63,    -1,   445,    -1,   446,    -1,    10,
01108       64,    -1,    11,    -1,    10,   447,    64,    -1,   448,    -1,
01109      449,    -1,   448,   449,    -1,   450,    -1,   456,    -1,   462,
01110       -1,   468,    -1,   474,    -1,   480,    -1,   497,    -1,   504,
01111       -1,   511,    -1,   518,    -1,   523,    -1,   451,   452,    -1,
01112      175,    -1,   453,    -1,   454,    -1,    10,   176,    -1,    11,
01113       -1,    10,   455,   176,    -1,     4,    -1,   457,   458,    -1,
01114      177,    -1,   459,    -1,   460,    -1,    10,   178,    -1,    11,
01115       -1,    10,   461,   178,    -1,     4,    -1,   463,   464,    -1,
01116      161,    -1,   465,    -1,   466,    -1,    10,   162,    -1,    11,
01117       -1,    10,   467,   162,    -1,     4,    -1,   469,   470,    -1,
01118       91,    -1,   471,    -1,   472,    -1,    10,    92,    -1,    11,
01119       -1,    10,   473,    92,    -1,     4,    -1,   475,   476,    -1,
01120      127,    -1,   477,    -1,   478,    -1,    10,   128,    -1,    11,
01121       -1,    10,   479,   128,    -1,     4,    -1,   481,   482,   483,
01122       -1,   191,    -1,   963,    -1,   484,    -1,   485,    -1,    10,
01123      192,    -1,    11,    -1,    10,   486,   192,    -1,   487,    -1,
01124      488,    -1,   487,   488,    -1,   489,   490,   492,    -1,   185,
01125       -1,    -1,   490,   491,    -1,   940,    -1,   936,    -1,   924,
01126       -1,   928,    -1,   493,    -1,   494,    -1,    10,   186,    -1,
01127       11,    -1,    10,   495,   186,    -1,   496,    -1,     7,    -1,
01128        6,    -1,   498,   499,   502,    -1,   201,    -1,   500,    -1,
01129       -1,   500,   501,    -1,   940,    -1,   928,    -1,    10,   503,
01130      202,    -1,   981,    -1,   505,   506,   509,    -1,   203,    -1,
01131      507,    -1,    -1,   507,   508,    -1,   940,    -1,   928,    -1,
01132       10,   510,   204,    -1,   981,    -1,   512,   513,   516,    -1,
01133      199,    -1,   514,    -1,    -1,   514,   515,    -1,   940,    -1,
01134      928,    -1,    10,   517,   200,    -1,   981,    -1,   519,   520,
01135      521,    -1,   197,    -1,    -1,   928,    -1,    10,   522,   198,
01136       -1,     6,    -1,   524,   525,   526,    -1,   153,    -1,   957,
01137       -1,   527,    -1,   528,    -1,    10,   154,    -1,    11,    -1,
01138       10,   529,   154,    -1,   530,    -1,   531,    -1,   530,   531,
01139       -1,   532,   533,   536,    -1,   151,    -1,   534,    -1,    -1,
01140      534,   535,    -1,   932,    -1,   944,    -1,   928,    -1,    10,
01141      152,    -1,    11,    -1,    -1,   538,   539,   542,    -1,    65,
01142       -1,   540,    -1,    -1,   540,   541,    -1,   960,    -1,   965,
01143       -1,   949,    -1,   954,    -1,   543,    -1,   544,    -1,    10,
01144       66,    -1,    11,    -1,    10,   545,    66,    -1,   546,   901,
01145       -1,   547,    -1,   546,   547,    -1,   548,   549,   554,    -1,
01146      169,    -1,   550,    -1,    -1,   550,   551,    -1,   552,    -1,
01147      553,    -1,    36,   983,     6,   983,    -1,    53,     3,   983,
01148       -1,    10,   555,   571,   577,   687,   783,   878,   170,    -1,
01149      556,   557,   560,    -1,   175,    -1,   558,    -1,   559,    -1,
01150      558,   559,    -1,   936,    -1,   928,    -1,   962,    -1,   561,
01151       -1,   562,    -1,    10,   176,    -1,    11,    -1,    10,   563,
01152      176,    -1,   564,    -1,   565,    -1,   564,   565,    -1,   566,
01153      567,   570,    -1,   179,    -1,   568,    -1,    -1,   568,   569,
01154       -1,   936,    -1,   928,    -1,    10,   180,    -1,    11,    -1,
01155       -1,   572,   573,    -1,   141,    -1,   574,    -1,   575,    -1,
01156       10,   142,    -1,    11,    -1,    10,   576,   142,    -1,     4,
01157       -1,    -1,   578,   579,   580,    -1,   211,    -1,    -1,   959,
01158       -1,   581,    -1,   582,    -1,    11,    -1,    10,   583,   212,
01159       -1,   584,   596,   611,   659,    -1,    -1,   585,   586,   587,
01160       -1,   205,    -1,   964,    -1,   588,    -1,   589,    -1,    10,
01161      206,    -1,    11,    -1,    10,   590,   206,    -1,   591,    -1,
01162      592,    -1,   591,   592,    -1,   593,   594,   595,    -1,   209,
01163       -1,    37,   983,     6,   983,    -1,    10,   981,   210,    -1,
01164       -1,   597,   598,   599,    -1,   207,    -1,   964,    -1,   600,
01165       -1,   601,    -1,    10,   208,    -1,    11,    -1,    10,   602,
01166      208,    -1,   603,    -1,   604,    -1,   603,   604,    -1,   605,
01167      606,   607,    -1,   209,    -1,    37,   983,     6,   983,    -1,
01168      608,    -1,   609,    -1,    10,   210,    -1,    11,    -1,    10,
01169      610,   210,    -1,     4,    -1,    -1,   612,   613,    -1,   109,
01170       -1,   614,    -1,   615,    -1,    11,    -1,    10,   616,   110,
01171       -1,   617,   624,   631,   638,   645,   652,    -1,    -1,   618,
01172      619,   620,    -1,   107,    -1,   950,    -1,   621,    -1,   622,
01173       -1,    11,    -1,    10,   623,   108,    -1,   966,    -1,    -1,
01174      625,   626,   627,    -1,    93,    -1,   950,    -1,   628,    -1,
01175      629,    -1,    11,    -1,    10,   630,    94,    -1,   966,    -1,
01176       -1,   632,   633,   634,    -1,    95,    -1,   950,    -1,   635,
01177       -1,   636,    -1,    11,    -1,    10,   637,    96,    -1,   966,
01178       -1,    -1,   639,   640,   641,    -1,   137,    -1,   950,    -1,
01179      642,    -1,   643,    -1,    11,    -1,    10,   644,   138,    -1,
01180      966,    -1,    -1,   646,   647,   648,    -1,   181,    -1,   950,
01181       -1,   649,    -1,   650,    -1,    11,    -1,    10,   651,   182,
01182       -1,   966,    -1,    -1,   653,   654,   655,    -1,   195,    -1,
01183      950,    -1,   656,    -1,   657,    -1,    11,    -1,    10,   658,
01184      196,    -1,   966,    -1,    -1,   659,   660,    -1,   661,   662,
01185      665,    -1,   151,    -1,   663,    -1,    -1,   663,   664,    -1,
01186      964,    -1,   951,    -1,   944,    -1,   932,    -1,   928,    -1,
01187      666,    -1,   667,    -1,    10,   152,    -1,    11,    -1,    10,
01188      668,   152,    -1,   669,    -1,   677,    -1,   670,    -1,   669,
01189      670,    -1,   671,   672,   673,    -1,   209,    -1,    37,   983,
01190        6,   983,    -1,   674,    -1,   675,    -1,    10,   210,    -1,
01191       11,    -1,    10,   676,   210,    -1,   982,    -1,   678,    -1,
01192      677,   678,    -1,   679,   680,   683,    -1,   125,    -1,   681,
01193       -1,    -1,   681,   682,    -1,   950,    -1,   944,    -1,   928,
01194       -1,   684,    -1,   685,    -1,    11,    -1,    10,   686,   126,
01195       -1,   966,    -1,    -1,   688,   689,   690,    -1,   145,    -1,
01196       -1,   956,    -1,   691,    -1,   692,    -1,    11,    -1,    10,
01197      693,   146,    -1,   694,   707,   755,    -1,    -1,   695,   696,
01198      697,    -1,   205,    -1,   953,    -1,   698,    -1,   699,    -1,
01199       10,   206,    -1,    11,    -1,    10,   700,   206,    -1,   701,
01200       -1,   702,    -1,   701,   702,    -1,   703,   704,   705,    -1,
01201      143,    -1,    -1,    37,   983,     6,   983,    -1,    10,   706,
01202      144,    -1,     6,    -1,     7,    -1,    -1,   708,   709,    -1,
01203      109,    -1,   710,    -1,   711,    -1,    11,    -1,    10,   712,
01204      110,    -1,   713,   720,   727,   734,   741,   748,    -1,    -1,
01205      714,   715,   716,    -1,   107,    -1,   950,    -1,   717,    -1,
01206      718,    -1,    11,    -1,    10,   719,   108,    -1,   966,    -1,
01207       -1,   721,   722,   723,    -1,    93,    -1,   950,    -1,   724,
01208       -1,   725,    -1,    11,    -1,    10,   726,    94,    -1,   966,
01209       -1,    -1,   728,   729,   730,    -1,    95,    -1,   950,    -1,
01210      731,    -1,   732,    -1,    11,    -1,    10,   733,    96,    -1,
01211      966,    -1,    -1,   735,   736,   737,    -1,   137,    -1,   950,
01212       -1,   738,    -1,   739,    -1,    11,    -1,    10,   740,   138,
01213       -1,   966,    -1,    -1,   742,   743,   744,    -1,   181,    -1,
01214      950,    -1,   745,    -1,   746,    -1,    11,    -1,    10,   747,
01215      182,    -1,   966,    -1,    -1,   749,   750,   751,    -1,   195,
01216       -1,   950,    -1,   752,    -1,   753,    -1,    11,    -1,    10,
01217      754,   196,    -1,   966,    -1,    -1,   755,   756,    -1,   757,
01218      758,   761,    -1,   151,    -1,   759,    -1,    -1,   759,   760,
01219       -1,   953,    -1,   951,    -1,   944,    -1,   932,    -1,   928,
01220       -1,   762,    -1,   763,    -1,    10,   152,    -1,    11,    -1,
01221       10,   764,   152,    -1,   765,    -1,   773,    -1,   766,    -1,
01222      765,   766,    -1,   767,   768,   769,    -1,   143,    -1,    37,
01223      983,     6,   983,    -1,   770,    -1,   771,    -1,    10,   144,
01224       -1,    11,    -1,    10,   772,   144,    -1,   982,    -1,   774,
01225       -1,   773,   774,    -1,   775,   776,   779,    -1,   125,    -1,
01226      777,    -1,    -1,   777,   778,    -1,   950,    -1,   944,    -1,
01227      928,    -1,   780,    -1,   781,    -1,    11,    -1,    10,   782,
01228      126,    -1,   966,    -1,    -1,   784,   785,   786,    -1,   115,
01229       -1,    -1,   955,    -1,   787,    -1,   788,    -1,    11,    -1,
01230       10,   789,   116,    -1,   790,   802,   850,    -1,    -1,   791,
01231      792,   793,    -1,   121,    -1,   948,    -1,   794,    -1,   795,
01232       -1,    10,   122,    -1,    11,    -1,    10,   796,   122,    -1,
01233      797,    -1,   798,    -1,   797,   798,    -1,   799,   800,   801,
01234       -1,   113,    -1,    37,   983,     6,   983,    -1,    10,   981,
01235      114,    -1,    -1,   803,   804,    -1,   109,    -1,   805,    -1,
01236      806,    -1,    11,    -1,    10,   807,   110,    -1,   808,   815,
01237      822,   829,   836,   843,    -1,    -1,   809,   810,   811,    -1,
01238      107,    -1,   950,    -1,   812,    -1,   813,    -1,    11,    -1,
01239       10,   814,   108,    -1,   966,    -1,    -1,   816,   817,   818,
01240       -1,    93,    -1,   950,    -1,   819,    -1,   820,    -1,    11,
01241       -1,    10,   821,    94,    -1,   966,    -1,    -1,   823,   824,
01242      825,    -1,    95,    -1,   950,    -1,   826,    -1,   827,    -1,
01243       11,    -1,    10,   828,    96,    -1,   966,    -1,    -1,   830,
01244      831,   832,    -1,   137,    -1,   950,    -1,   833,    -1,   834,
01245       -1,    11,    -1,    10,   835,   138,    -1,   966,    -1,    -1,
01246      837,   838,   839,    -1,   181,    -1,   950,    -1,   840,    -1,
01247      841,    -1,    11,    -1,    10,   842,   182,    -1,   966,    -1,
01248       -1,   844,   845,   846,    -1,   195,    -1,   950,    -1,   847,
01249       -1,   848,    -1,    11,    -1,    10,   849,   196,    -1,   966,
01250       -1,    -1,   850,   851,    -1,   852,   853,   856,    -1,   151,
01251       -1,   854,    -1,    -1,   854,   855,    -1,   948,    -1,   951,
01252       -1,   944,    -1,   932,    -1,   928,    -1,   857,    -1,   858,
01253       -1,    10,   152,    -1,    11,    -1,    10,   859,   152,    -1,
01254      860,    -1,   868,    -1,   861,    -1,   860,   861,    -1,   862,
01255      863,   864,    -1,   113,    -1,    37,   983,     6,   983,    -1,
01256      865,    -1,   866,    -1,    10,   114,    -1,    11,    -1,    10,
01257      867,   114,    -1,   982,    -1,   869,    -1,   868,   869,    -1,
01258      870,   871,   874,    -1,   125,    -1,   872,    -1,    -1,   872,
01259      873,    -1,   950,    -1,   944,    -1,   928,    -1,   875,    -1,
01260      876,    -1,    11,    -1,    10,   877,   126,    -1,   966,    -1,
01261       -1,   879,   880,   881,    -1,   157,    -1,   958,    -1,   882,
01262       -1,   883,    -1,    10,   158,    -1,    11,    -1,    10,   884,
01263      158,    -1,   885,    -1,   886,    -1,   885,   886,    -1,   887,
01264      888,   891,    -1,   155,    -1,   889,    -1,    -1,   889,   890,
01265       -1,   932,    -1,   924,    -1,   928,    -1,   952,    -1,   892,
01266       -1,   893,    -1,    10,   156,    -1,    11,    -1,    10,   894,
01267      156,    -1,   895,    -1,   896,    -1,   895,   896,    -1,   897,
01268       -1,   898,    -1,   899,    -1,    69,    -1,    70,    -1,    67,
01269      900,    68,    -1,     5,    -1,    -1,   902,   903,   904,    -1,
01270      159,    -1,   961,    -1,   905,    -1,   906,    -1,    10,   160,
01271       -1,    11,    -1,    10,   907,   160,    -1,   908,    -1,   909,
01272       -1,   908,   909,    -1,   910,   911,   914,    -1,   173,    -1,
01273      912,    -1,    -1,   912,   913,    -1,   932,    -1,   924,    -1,
01274      928,    -1,   952,    -1,   915,    -1,   916,    -1,    10,   174,
01275       -1,    11,    -1,    10,   917,   174,    -1,   918,    -1,   919,
01276       -1,   918,   919,    -1,   920,    -1,   921,    -1,   922,    -1,
01277       69,    -1,    70,    -1,    67,   923,    68,    -1,     5,    -1,
01278      925,    -1,   926,    -1,   927,    -1,    42,    -1,    41,     3,
01279      983,    -1,   929,    -1,   930,    -1,   931,    -1,    44,    -1,
01280       43,     3,   983,    -1,   933,    -1,   934,    -1,   935,    -1,
01281       46,    -1,    45,     3,   983,    -1,   937,    -1,   938,    -1,
01282      939,    -1,    48,    -1,    47,     3,   983,    -1,   941,    -1,
01283      942,    -1,   943,    -1,    50,    -1,    49,     3,   983,    -1,
01284      945,    -1,   946,    -1,   947,    -1,    52,    -1,    51,     3,
01285      983,    -1,    16,   983,     6,   983,    -1,    17,   983,     6,
01286      983,    -1,    18,   983,     6,   983,    -1,    19,   983,     6,
01287      983,    -1,    21,   983,     6,   983,    -1,    22,   983,     6,
01288      983,    -1,    23,   983,     6,   983,    -1,    24,   983,     6,
01289      983,    -1,    25,   983,     6,   983,    -1,    26,   983,     6,
01290      983,    -1,    27,   983,     6,   983,    -1,    28,   983,     6,
01291      983,    -1,    29,   983,     6,   983,    -1,    30,   983,     6,
01292      983,    -1,    31,   983,     6,   983,    -1,    32,   983,     6,
01293      983,    -1,    33,   983,     6,   983,    -1,    34,   983,     6,
01294      983,    -1,   967,    -1,   974,    -1,    -1,   967,   968,    -1,
01295      969,   970,   973,    -1,   123,    -1,   971,    -1,    -1,   971,
01296      972,    -1,   980,    -1,   979,    -1,    10,     6,   124,    -1,
01297      105,   975,   976,    -1,    40,   983,     6,   983,    -1,   977,
01298       -1,   978,    -1,    10,   106,    -1,    11,    -1,    10,     4,
01299      106,    -1,    38,   983,     6,   983,    -1,    39,   983,     6,
01300      983,    -1,     6,    -1,     7,    -1,     4,    -1,     6,    -1,
01301        7,    -1,   984,     8,    -1,    -1,   984,   985,    -1,   216,
01302       -1,   217,    -1,   218,    -1,   219,    -1
01303 };
01304 
01305 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
01306 static const yytype_uint16 yyrline[] =
01307 {
01308        0,   191,   191,   192,   194,   201,   208,   208,   210,   210,
01309      212,   214,   216,   217,   220,   229,   229,   236,   245,   245,
01310      247,   249,   251,   253,   253,   255,   255,   257,   257,   259,
01311      265,   265,   267,   267,   269,   269,   271,   277,   277,   279,
01312      279,   281,   281,   283,   289,   289,   291,   291,   293,   293,
01313      295,   301,   301,   303,   303,   305,   305,   307,   318,   318,
01314      320,   334,   334,   336,   336,   338,   340,   342,   342,   345,
01315      346,   347,   348,   349,   350,   351,   352,   353,   356,   358,
01316      372,   378,   378,   381,   386,   390,   398,   402,   407,   407,
01317      409,   411,   413,   413,   415,   419,   428,   433,   433,   436,
01318      441,   447,   447,   450,   452,   458,   458,   460,   460,   462,
01319      464,   467,   469,   475,   475,   477,   477,   479,   481,   484,
01320      486,   492,   492,   494,   494,   496,   498,   501,   503,   509,
01321      509,   511,   511,   513,   515,   518,   520,   526,   526,   528,
01322      528,   530,   532,   535,   537,   543,   543,   545,   545,   547,
01323      549,   552,   554,   560,   560,   562,   562,   564,   566,   569,
01324      571,   577,   587,   591,   596,   596,   598,   600,   602,   602,
01325      604,   608,   619,   624,   624,   627,   633,   638,   645,   645,
01326      649,   649,   651,   662,   662,   664,   664,   666,   668,   670,
01327      670,   673,   674,   675,   676,   677,   678,   681,   683,   689,
01328      689,   691,   691,   693,   695,   701,   703,   713,   715,   715,
01329      718,   724,   729,   731,   736,   738,   748,   750,   750,   753,
01330      759,   764,   766,   772,   774,   784,   786,   786,   789,   795,
01331      800,   802,   808,   810,   818,   819,   824,   826,   830,   832,
01332      838,   848,   852,   857,   857,   859,   861,   863,   863,   865,
01333      869,   880,   885,   885,   888,   894,   899,   906,   906,   910,
01334      910,   912,   923,   923,   925,   925,   927,   929,   931,   931,
01335      934,   935,   936,   937,   938,   939,   942,   944,   950,   950,
01336      952,   952,   954,   956,   963,   965,   971,   971,   973,   973,
01337      975,   977,   980,   982,   988,   988,   990,   990,   992,   994,
01338      997,   999,  1005,  1005,  1007,  1007,  1009,  1011,  1014,  1016,
01339     1022,  1022,  1024,  1024,  1026,  1028,  1034,  1036,  1042,  1052,
01340     1056,  1061,  1061,  1063,  1065,  1067,  1067,  1069,  1073,  1084,
01341     1089,  1089,  1092,  1098,  1103,  1110,  1110,  1113,  1113,  1115,
01342     1131,  1131,  1133,  1133,  1135,  1137,  1139,  1139,  1142,  1143,
01343     1144,  1145,  1146,  1147,  1148,  1149,  1150,  1151,  1152,  1155,
01344     1157,  1163,  1163,  1165,  1165,  1167,  1169,  1176,  1178,  1184,
01345     1184,  1186,  1186,  1188,  1190,  1193,  1195,  1201,  1201,  1203,
01346     1203,  1205,  1207,  1210,  1212,  1218,  1218,  1220,  1220,  1222,
01347     1224,  1227,  1229,  1235,  1235,  1237,  1237,  1239,  1241,  1244,
01348     1246,  1252,  1261,  1265,  1270,  1270,  1272,  1274,  1276,  1276,
01349     1278,  1280,  1293,  1293,  1296,  1296,  1296,  1296,  1299,  1299,
01350     1301,  1301,  1303,  1305,  1318,  1319,  1322,  1324,  1334,  1336,
01351     1336,  1339,  1345,  1350,  1352,  1358,  1360,  1370,  1372,  1372,
01352     1375,  1381,  1386,  1388,  1394,  1396,  1406,  1408,  1408,  1411,
01353     1417,  1422,  1424,  1430,  1432,  1441,  1442,  1447,  1449,  1454,
01354     1456,  1462,  1472,  1476,  1481,  1481,  1483,  1485,  1487,  1487,
01355     1489,  1493,  1504,  1509,  1509,  1512,  1518,  1523,  1530,  1530,
01356     1533,  1533,  1535,  1543,  1548,  1548,  1551,  1558,  1564,  1570,
01357     1578,  1582,  1587,  1587,  1589,  1591,  1593,  1593,  1595,  1597,
01358     1605,  1607,  1607,  1609,  1609,  1611,  1620,  1637,  1643,  1645,
01359     1655,  1660,  1660,  1663,  1668,  1672,  1681,  1685,  1691,  1691,
01360     1693,  1695,  1697,  1697,  1699,  1702,  1711,  1716,  1716,  1719,
01361     1725,  1732,  1732,  1735,  1735,  1737,  1739,  1739,  1741,  1741,
01362     1743,  1745,  1752,  1752,  1754,  1760,  1760,  1768,  1768,  1770,
01363     1772,  1774,  1776,  1776,  1778,  1780,  1788,  1792,  1797,  1797,
01364     1799,  1801,  1803,  1803,  1805,  1812,  1818,  1820,  1823,  1823,
01365     1825,  1827,  1835,  1839,  1844,  1844,  1846,  1848,  1850,  1850,
01366     1852,  1860,  1866,  1869,  1870,  1872,  1872,  1874,  1876,  1879,
01367     1879,  1881,  1886,  1886,  1888,  1890,  1892,  1894,  1894,  1903,
01368     1905,  1912,  1912,  1914,  1916,  1918,  1921,  1921,  1931,  1933,
01369     1940,  1940,  1942,  1944,  1946,  1949,  1949,  1958,  1960,  1967,
01370     1967,  1969,  1971,  1973,  1976,  1976,  1985,  1987,  1994,  1994,
01371     1996,  1998,  2000,  2003,  2003,  2012,  2014,  2021,  2021,  2023,
01372     2025,  2027,  2030,  2030,  2039,  2041,  2048,  2048,  2050,  2052,
01373     2054,  2057,  2057,  2059,  2064,  2077,  2084,  2084,  2087,  2097,
01374     2107,  2113,  2119,  2126,  2126,  2128,  2128,  2130,  2132,  2132,
01375     2134,  2134,  2136,  2141,  2143,  2150,  2150,  2152,  2152,  2154,
01376     2156,  2165,  2165,  2167,  2178,  2187,  2194,  2194,  2197,  2203,
01377     2209,  2217,  2217,  2219,  2221,  2224,  2228,  2228,  2230,  2238,
01378     2238,  2246,  2246,  2248,  2250,  2252,  2254,  2254,  2256,  2258,
01379     2266,  2270,  2275,  2275,  2277,  2279,  2282,  2282,  2284,  2291,
01380     2298,  2298,  2300,  2303,  2304,  2307,  2307,  2309,  2314,  2314,
01381     2317,  2319,  2321,  2323,  2323,  2332,  2334,  2341,  2341,  2343,
01382     2345,  2347,  2349,  2349,  2358,  2360,  2367,  2367,  2369,  2371,
01383     2373,  2376,  2376,  2385,  2387,  2394,  2394,  2396,  2398,  2400,
01384     2403,  2403,  2412,  2414,  2421,  2421,  2423,  2425,  2427,  2430,
01385     2430,  2439,  2441,  2448,  2448,  2450,  2452,  2454,  2457,  2457,
01386     2466,  2468,  2475,  2475,  2477,  2479,  2481,  2484,  2484,  2486,
01387     2492,  2505,  2513,  2513,  2516,  2526,  2536,  2542,  2548,  2557,
01388     2557,  2559,  2559,  2561,  2563,  2563,  2565,  2565,  2567,  2572,
01389     2574,  2579,  2579,  2581,  2581,  2583,  2585,  2591,  2591,  2593,
01390     2604,  2613,  2620,  2620,  2623,  2629,  2635,  2643,  2643,  2645,
01391     2647,  2650,  2653,  2653,  2655,  2662,  2662,  2670,  2670,  2672,
01392     2674,  2676,  2678,  2678,  2680,  2683,  2691,  2695,  2700,  2700,
01393     2702,  2704,  2706,  2706,  2708,  2715,  2721,  2723,  2726,  2726,
01394     2728,  2733,  2733,  2735,  2737,  2739,  2741,  2741,  2750,  2752,
01395     2759,  2759,  2761,  2763,  2765,  2767,  2767,  2776,  2778,  2785,
01396     2785,  2787,  2789,  2791,  2794,  2794,  2803,  2805,  2812,  2812,
01397     2814,  2816,  2818,  2821,  2821,  2830,  2832,  2839,  2839,  2841,
01398     2843,  2845,  2848,  2848,  2857,  2859,  2866,  2866,  2868,  2870,
01399     2872,  2875,  2875,  2884,  2886,  2893,  2893,  2895,  2897,  2899,
01400     2902,  2902,  2904,  2910,  2923,  2930,  2930,  2933,  2943,  2953,
01401     2959,  2965,  2972,  2972,  2974,  2974,  2976,  2978,  2978,  2980,
01402     2980,  2982,  2987,  2989,  2995,  2995,  2997,  2997,  2999,  3001,
01403     3008,  3008,  3010,  3021,  3030,  3037,  3037,  3040,  3046,  3052,
01404     3060,  3060,  3062,  3064,  3066,  3070,  3070,  3072,  3077,  3086,
01405     3090,  3095,  3095,  3097,  3099,  3101,  3101,  3103,  3107,  3118,
01406     3125,  3125,  3128,  3134,  3140,  3148,  3158,  3162,  3167,  3167,
01407     3169,  3171,  3173,  3173,  3175,  3180,  3184,  3186,  3186,  3188,
01408     3190,  3201,  3201,  3203,  3208,  3217,  3221,  3226,  3226,  3228,
01409     3230,  3232,  3232,  3234,  3238,  3249,  3256,  3256,  3259,  3264,
01410     3270,  3276,  3285,  3289,  3294,  3294,  3296,  3298,  3300,  3300,
01411     3302,  3307,  3311,  3313,  3313,  3315,  3317,  3327,  3333,  3333,
01412     3335,  3338,  3341,  3347,  3347,  3349,  3352,  3356,  3362,  3362,
01413     3364,  3367,  3370,  3376,  3376,  3378,  3381,  3384,  3390,  3390,
01414     3392,  3395,  3398,  3404,  3404,  3406,  3409,  3432,  3438,  3446,
01415     3452,  3465,  3474,  3480,  3488,  3494,  3500,  3506,  3512,  3518,
01416     3526,  3532,  3540,  3545,  3551,  3577,  3582,  3584,  3584,  3586,
01417     3588,  3597,  3599,  3599,  3601,  3601,  3603,  3611,  3613,  3618,
01418     3618,  3620,  3620,  3622,  3645,  3653,  3667,  3668,  3672,  3673,
01419     3674,  3676,  3678,  3678,  3680,  3681,  3682,  3683
01420 };
01421 #endif
01422 
01423 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
01424 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
01425    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
01426 static const char *const yytname[] =
01427 {
01428   "$end", "error", "$undefined", "ATTRIBUTETEXT", "ELEMENTTEXT",
01429   "ITEMTEXT", "INTEGER", "DOUBLE", "QUOTE", "TWOQUOTES", "GREATERTHAN",
01430   "ENDOFELEMENT", "OSRLSTART", "OSRLSTARTEMPTY", "OSRLATTRIBUTETEXT",
01431   "OSRLEND", "NUMBEROFCONATT", "NUMBEROFCONSTRAINTSATT", "NUMBEROFELATT",
01432   "NUMBEROFENUMERATIONSATT", "NUMBEROFIDXATT", "NUMBEROFITEMSATT",
01433   "NUMBEROFOBJATT", "NUMBEROFOBJECTIVESATT",
01434   "NUMBEROFOTHERCONSTRAINTRESULTSATT", "NUMBEROFOTHEROBJECTIVERESULTSATT",
01435   "NUMBEROFOTHERRESULTSATT", "NUMBEROFOTHERSOLUTIONRESULTSATT",
01436   "NUMBEROFOTHERVARIABLERESULTSATT", "NUMBEROFSOLUTIONSATT",
01437   "NUMBEROFSOLVEROUTPUTSATT", "NUMBEROFSUBSTATUSESATT", "NUMBEROFTIMESATT",
01438   "NUMBEROFVARATT", "NUMBEROFVARIABLESATT", "NUMBEROFVARIDXATT",
01439   "TARGETOBJECTIVEIDXATT", "IDXATT", "INCRATT", "MULTATT", "SIZEOFATT",
01440   "CATEGORYATT", "EMPTYCATEGORYATT", "DESCRIPTIONATT",
01441   "EMPTYDESCRIPTIONATT", "NAMEATT", "EMPTYNAMEATT", "TYPEATT",
01442   "EMPTYTYPEATT", "UNITATT", "EMPTYUNITATT", "VALUEATT", "EMPTYVALUEATT",
01443   "WEIGHTEDOBJECTIVESATT", "EMPTYWEIGHTEDOBJECTIVESATT", "HEADERSTART",
01444   "HEADEREND", "GENERALSTART", "GENERALEND", "SYSTEMSTART", "SYSTEMEND",
01445   "SERVICESTART", "SERVICEEND", "JOBSTART", "JOBEND", "OPTIMIZATIONSTART",
01446   "OPTIMIZATIONEND", "ITEMSTART", "ITEMEND", "ITEMSTARTANDEND",
01447   "ITEMEMPTY", "FILENAMESTART", "FILENAMEEND", "FILENAMEEMPTY",
01448   "FILENAMESTARTANDEND", "FILESOURCESTART", "FILESOURCEEND",
01449   "FILESOURCEEMPTY", "FILESOURCESTARTANDEND", "FILEDESCRIPTIONSTART",
01450   "FILEDESCRIPTIONEND", "FILEDESCRIPTIONEMPTY",
01451   "FILEDESCRIPTIONSTARTANDEND", "FILECREATORSTART", "FILECREATOREND",
01452   "FILECREATOREMPTY", "FILECREATORSTARTANDEND", "FILELICENCESTART",
01453   "FILELICENCEEND", "FILELICENCEEMPTY", "FILELICENCESTARTANDEND",
01454   "ACTUALSTARTTIMESTART", "ACTUALSTARTTIMEEND", "ATLOWERSTART",
01455   "ATLOWEREND", "ATUPPERSTART", "ATUPPEREND", "AVAILABLECPUNUMBERSTART",
01456   "AVAILABLECPUNUMBEREND", "AVAILABLECPUSPEEDSTART",
01457   "AVAILABLECPUSPEEDEND", "AVAILABLEDISKSPACESTART",
01458   "AVAILABLEDISKSPACEEND", "AVAILABLEMEMORYSTART", "AVAILABLEMEMORYEND",
01459   "BASE64START", "BASE64END", "BASICSTART", "BASICEND", "BASISSTATUSSTART",
01460   "BASISSTATUSEND", "BASSTATUSSTART", "BASSTATUSEND", "CONSTART", "CONEND",
01461   "CONSTRAINTSSTART", "CONSTRAINTSEND", "CURRENTJOBCOUNTSTART",
01462   "CURRENTJOBCOUNTEND", "CURRENTSTATESTART", "CURRENTSTATEEND",
01463   "DUALVALUESSTART", "DUALVALUESEND", "ELSTART", "ELEND",
01464   "ENUMERATIONSTART", "ENUMERATIONEND", "ENDTIMESTART", "ENDTIMEEND",
01465   "GENERALSTATUSSTART", "GENERALSTATUSEND", "GENERALSUBSTATUSSTART",
01466   "GENERALSUBSTATUSEND", "IDXSTART", "IDXEND", "INSTANCENAMESTART",
01467   "INSTANCENAMEEND", "ISFREESTART", "ISFREEEND", "JOBIDSTART", "JOBIDEND",
01468   "MESSAGESTART", "MESSAGEEND", "OBJSTART", "OBJEND", "OBJECTIVESSTART",
01469   "OBJECTIVESEND", "OPTIMIZATIONSOLUTIONSTATUSSTART",
01470   "OPTIMIZATIONSOLUTIONSTATUSEND", "OPTIMIZATIONSOLUTIONSUBSTATUSSTART",
01471   "OPTIMIZATIONSOLUTIONSUBSTATUSEND", "OTHERSTART", "OTHEREND",
01472   "OTHERRESULTSSTART", "OTHERRESULTSEND", "OTHERSOLUTIONRESULTSTART",
01473   "OTHERSOLUTIONRESULTEND", "OTHERSOLUTIONRESULTSSTART",
01474   "OTHERSOLUTIONRESULTSEND", "OTHERSOLVEROUTPUTSTART",
01475   "OTHERSOLVEROUTPUTEND", "SCHEDULEDSTARTTIMESTART",
01476   "SCHEDULEDSTARTTIMEEND", "SERVICENAMESTART", "SERVICENAMEEND",
01477   "SERVICEURISTART", "SERVICEURIEND", "SERVICEUTILIZATIONSTART",
01478   "SERVICEUTILIZATIONEND", "SOLUTIONSTART", "SOLUTIONEND",
01479   "SOLVERINVOKEDSTART", "SOLVERINVOKEDEND", "SOLVEROUTPUTSTART",
01480   "SOLVEROUTPUTEND", "STATUSSTART", "STATUSEND", "SUBMITTIMESTART",
01481   "SUBMITTIMEEND", "SUBSTATUSSTART", "SUBSTATUSEND", "SUPERBASICSTART",
01482   "SUPERBASICEND", "SYSTEMINFORMATIONSTART", "SYSTEMINFORMATIONEND",
01483   "TIMESTART", "TIMEEND", "TIMESERVICESTARTEDSTART",
01484   "TIMESERVICESTARTEDEND", "TIMESTAMPSTART", "TIMESTAMPEND",
01485   "TIMINGINFORMATIONSTART", "TIMINGINFORMATIONEND", "TOTALJOBSSOFARSTART",
01486   "TOTALJOBSSOFAREND", "UNKNOWNSTART", "UNKNOWNEND", "USEDCPUNUMBERSTART",
01487   "USEDCPUNUMBEREND", "USEDCPUSPEEDSTART", "USEDCPUSPEEDEND",
01488   "USEDDISKSPACESTART", "USEDDISKSPACEEND", "USEDMEMORYSTART",
01489   "USEDMEMORYEND", "VALUESSTART", "VALUESEND", "VALUESSTRINGSTART",
01490   "VALUESSTRINGEND", "VARSTART", "VAREND", "VARIABLESSTART",
01491   "VARIABLESEND", "VARIDXSTART", "VARIDXEND", "DUMMY", "' '", "'\\t'",
01492   "'\\r'", "'\\n'", "$accept", "osrldoc", "osrlStartEmpty", "osrlStart",
01493   "osrlAttributes", "osrlContent", "osrlEmpty", "osrlLaden", "osrlEnd",
01494   "osrlBody", "headerElement", "headerElementStart",
01495   "headerElementContent", "headerElementEmpty", "headerElementLaden",
01496   "headerElementBody", "fileName", "fileNameContent", "fileNameEmpty",
01497   "fileNameLaden", "fileSource", "fileSourceContent", "fileSourceEmpty",
01498   "fileSourceLaden", "fileDescription", "fileDescriptionContent",
01499   "fileDescriptionEmpty", "fileDescriptionLaden", "fileCreator",
01500   "fileCreatorContent", "fileCreatorEmpty", "fileCreatorLaden",
01501   "fileLicence", "fileLicenceContent", "fileLicenceEmpty",
01502   "fileLicenceLaden", "generalElement", "generalElementStart",
01503   "generalElementContent", "generalElementEmpty", "generalElementLaden",
01504   "generalElementBody", "generalElementList", "generalChild",
01505   "generalStatus", "generalStatusStart", "generalStatusAttributes",
01506   "generalStatusAttList", "generalStatusATT", "generalStatusContent",
01507   "generalStatusEmpty", "generalStatusLaden", "generalStatusBody",
01508   "generalSubstatusArray", "generalSubstatus", "generalSubstatusStart",
01509   "generalSubstatusAttributes", "generalSubstatusAttList",
01510   "generalSubstatusATT", "generalSubstatusEnd", "generalMessage",
01511   "generalMessageStart", "generalMessageContent", "generalMessageEmpty",
01512   "generalMessageLaden", "generalMessageBody", "serviceURI",
01513   "serviceURIStart", "serviceURIContent", "serviceURIEmpty",
01514   "serviceURILaden", "serviceURIBody", "serviceName", "serviceNameStart",
01515   "serviceNameContent", "serviceNameEmpty", "serviceNameLaden",
01516   "serviceNameBody", "instanceName", "instanceNameStart",
01517   "instanceNameContent", "instanceNameEmpty", "instanceNameLaden",
01518   "instanceNameBody", "jobID", "jobIDStart", "jobIDContent", "jobIDEmpty",
01519   "jobIDLaden", "jobIDBody", "solverInvoked", "solverInvokedStart",
01520   "solverInvokedContent", "solverInvokedEmpty", "solverInvokedLaden",
01521   "solverInvokedBody", "timeStamp", "timeStampStart", "timeStampContent",
01522   "timeStampEmpty", "timeStampLaden", "timeStampBody",
01523   "otherGeneralResults", "otherGeneralResultsStart",
01524   "otherGeneralResultsAttributes", "otherGeneralResultsContent",
01525   "otherGeneralResultsEmpty", "otherGeneralResultsLaden",
01526   "otherGeneralResultsBody", "otherGeneralResultArray",
01527   "otherGeneralResult", "otherGeneralResultStart",
01528   "otherGeneralResultAttributes", "otherGeneralResultAttList",
01529   "otherGeneralResultAtt", "otherGeneralResultEnd", "systemElement",
01530   "systemElementStart", "systemElementContent", "systemElementEmpty",
01531   "systemElementLaden", "systemElementBody", "systemElementList",
01532   "systemChild", "systemInformation", "systemInformationStart",
01533   "systemInformationContent", "systemInformationEmpty",
01534   "systemInformationLaden", "systemInformationBody", "availableDiskSpace",
01535   "availableDiskSpaceStart", "availableDiskSpaceAttributes",
01536   "availableDiskSpaceAttList", "availableDiskSpaceAtt",
01537   "availableDiskSpaceContent", "availableDiskSpaceValue",
01538   "availableMemory", "availableMemoryStart", "availableMemoryAttributes",
01539   "availableMemoryAttList", "availableMemoryAtt", "availableMemoryContent",
01540   "availableMemoryValue", "availableCPUSpeed", "availableCPUSpeedStart",
01541   "availableCPUSpeedAttributes", "availableCPUSpeedAttList",
01542   "availableCPUSpeedAtt", "availableCPUSpeedContent",
01543   "availableCPUSpeedValue", "availableCPUNumber",
01544   "availableCPUNumberStart", "availableCPUNumberAttributes",
01545   "availableCPUNumberContent", "availableCPUNumberValue",
01546   "otherSystemResults", "otherSystemResultsStart",
01547   "otherSystemResultsAttributes", "otherSystemResultsContent",
01548   "otherSystemResultsEmpty", "otherSystemResultsLaden",
01549   "otherSystemResultsBody", "otherSystemResultArray", "otherSystemResult",
01550   "otherSystemResultStart", "otherSystemResultAttributes",
01551   "otherSystemResultAttList", "otherSystemResultAtt",
01552   "otherSystemResultEnd", "serviceElement", "serviceElementStart",
01553   "serviceElementContent", "serviceElementEmpty", "serviceElementLaden",
01554   "serviceElementBody", "serviceElementList", "serviceChild",
01555   "currentState", "currentStateStart", "currentStateContent",
01556   "currentStateEmpty", "currentStateLaden", "currentStateBody",
01557   "currentJobCount", "currentJobCountStart", "currentJobCountContent",
01558   "currentJobCountEmpty", "currentJobCountLaden", "currentJobCountBody",
01559   "totalJobsSoFar", "totalJobsSoFarStart", "totalJobsSoFarContent",
01560   "totalJobsSoFarEmpty", "totalJobsSoFarLaden", "totalJobsSoFarBody",
01561   "timeServiceStarted", "timeServiceStartedStart",
01562   "timeServiceStartedContent", "timeServiceStartedEmpty",
01563   "timeServiceStartedLaden", "timeServiceStartedBody",
01564   "serviceUtilization", "serviceUtilizationStart",
01565   "serviceUtilizationContent", "serviceUtilizationEmpty",
01566   "serviceUtilizationLaden", "serviceUtilizationBody",
01567   "otherServiceResults", "otherServiceResultsStart",
01568   "otherServiceResultsAttributes", "otherServiceResultsContent",
01569   "otherServiceResultsEmpty", "otherServiceResultsLaden",
01570   "otherServiceResultsBody", "otherServiceResultArray",
01571   "otherServiceResult", "otherServiceResultStart",
01572   "otherServiceResultAttributes", "otherServiceResultAttList",
01573   "otherServiceResultAtt", "otherServiceResultEnd", "jobElement",
01574   "jobElementStart", "jobElementContent", "jobElementEmpty",
01575   "jobElementLaden", "jobElementBody", "jobElementList", "jobChild",
01576   "jobStatus", "jobStatusStart", "jobStatusContent", "jobStatusEmpty",
01577   "jobStatusLaden", "jobStatusBody", "submitTime", "submitTimeStart",
01578   "submitTimeContent", "submitTimeEmpty", "submitTimeLaden",
01579   "submitTimeBody", "scheduledStartTime", "scheduledStartTimeStart",
01580   "scheduledStartTimeContent", "scheduledStartTimeEmpty",
01581   "scheduledStartTimeLaden", "scheduledStartTimeBody", "actualStartTime",
01582   "actualStartTimeStart", "actualStartTimeContent", "actualStartTimeEmpty",
01583   "actualStartTimeLaden", "actualStartTimeBody", "endTime", "endTimeStart",
01584   "endTimeContent", "endTimeEmpty", "endTimeLaden", "endTimeBody",
01585   "timingInformation", "timingInformationStart",
01586   "timingInformationAttributes", "timingInformationContent",
01587   "timingInformationEmpty", "timingInformationLaden",
01588   "timingInformationBody", "timeArray", "time", "timeStart",
01589   "timeAttributes", "timeAtt", "timeContent", "timeEmpty", "timeLaden",
01590   "timeBody", "timeValue", "usedDiskSpace", "usedDiskSpaceStart",
01591   "usedDiskSpaceAttributes", "usedDiskSpaceAttList", "usedDiskSpaceAtt",
01592   "usedDiskSpaceContent", "usedDiskSpaceValue", "usedMemory",
01593   "usedMemoryStart", "usedMemoryAttributes", "usedMemoryAttList",
01594   "usedMemoryAtt", "usedMemoryContent", "usedMemoryValue", "usedCPUSpeed",
01595   "usedCPUSpeedStart", "usedCPUSpeedAttributes", "usedCPUSpeedAttList",
01596   "usedCPUSpeedAtt", "usedCPUSpeedContent", "usedCPUSpeedValue",
01597   "usedCPUNumber", "usedCPUNumberStart", "usedCPUNumberAttributes",
01598   "usedCPUNumberContent", "usedCPUNumberValue", "otherJobResults",
01599   "otherJobResultsStart", "otherJobResultsAttributes",
01600   "otherJobResultsContent", "otherJobResultsEmpty", "otherJobResultsLaden",
01601   "otherJobResultsBody", "otherJobResultArray", "otherJobResult",
01602   "otherJobResultStart", "otherJobResultAttributes",
01603   "otherJobResultAttList", "otherJobResultAtt", "otherJobResultEnd",
01604   "optimizationElement", "optimizationStart", "optimizationAttributes",
01605   "optimizationAttList", "optimizationATT", "optimizationContent",
01606   "optimizationEmpty", "optimizationLaden", "optimizationBody",
01607   "solutionArray", "solution", "solutionStart", "solutionAttributes",
01608   "solutionAttList", "solutionATT", "targetObjectiveIdxATT",
01609   "weightedObjectivesATT", "solutionContent", "solutionStatus",
01610   "solutionStatusStart", "solutionStatusAttributes",
01611   "solutionStatusAttList", "solutionStatusATT", "solutionStatusContent",
01612   "solutionStatusEmpty", "solutionStatusLaden", "solutionStatusBody",
01613   "solutionSubstatusArray", "solutionSubstatus", "solutionSubstatusStart",
01614   "solutionSubstatusAttributes", "solutionSubstatusAttList",
01615   "solutionSubstatusATT", "solutionSubstatusEnd", "solutionMessage",
01616   "solutionMessageStart", "solutionMessageContent", "solutionMessageEmpty",
01617   "solutionMessageLaden", "solutionMessageBody", "variables",
01618   "variablesStart", "numberOfOtherVariableResults", "variablesContent",
01619   "variablesEmpty", "variablesLaden", "variablesBody", "variableValues",
01620   "variableValuesStart", "numberOfVarATT", "variableValuesContent",
01621   "variableValuesEmpty", "variableValuesLaden", "variableValuesBody",
01622   "varValueArray", "varValue", "varValueStart", "varIdxATT",
01623   "varValueContent", "variableValuesString", "variableValuesStringStart",
01624   "numberOfVarStringATT", "variableValuesStringContent",
01625   "variableValuesStringEmpty", "variableValuesStringLaden",
01626   "variableValuesStringBody", "varValueStringArray", "varValueString",
01627   "varValueStringStart", "varStrIdxATT", "varValueStringContent",
01628   "varValueStringEmpty", "varValueStringLaden", "varValueStringBody",
01629   "variableBasisStatus", "variableBasisStatusStart",
01630   "variableBasisStatusContent", "variableBasisStatusEmpty",
01631   "variableBasisStatusLaden", "variableBasisStatusBody", "variablesBasic",
01632   "variablesBasicStart", "variablesBasicNumberOfElATT",
01633   "variablesBasicContent", "variablesBasicEmpty", "variablesBasicLaden",
01634   "variablesBasicBody", "variablesAtLower", "variablesAtLowerStart",
01635   "variablesAtLowerNumberOfElATT", "variablesAtLowerContent",
01636   "variablesAtLowerEmpty", "variablesAtLowerLaden", "variablesAtLowerBody",
01637   "variablesAtUpper", "variablesAtUpperStart",
01638   "variablesAtUpperNumberOfElATT", "variablesAtUpperContent",
01639   "variablesAtUpperEmpty", "variablesAtUpperLaden", "variablesAtUpperBody",
01640   "variablesIsFree", "variablesIsFreeStart",
01641   "variablesIsFreeNumberOfElATT", "variablesIsFreeContent",
01642   "variablesIsFreeEmpty", "variablesIsFreeLaden", "variablesIsFreeBody",
01643   "variablesSuperbasic", "variablesSuperbasicStart",
01644   "variablesSuperbasicNumberOfElATT", "variablesSuperbasicContent",
01645   "variablesSuperbasicEmpty", "variablesSuperbasicLaden",
01646   "variablesSuperbasicBody", "variablesUnknown", "variablesUnknownStart",
01647   "variablesUnknownNumberOfElATT", "variablesUnknownContent",
01648   "variablesUnknownEmpty", "variablesUnknownLaden", "variablesUnknownBody",
01649   "otherVariableResultsArray", "otherVariableResult",
01650   "otherVariableResultStart", "otherVariableResultAttributes",
01651   "otherVariableResultAttList", "otherVariableResultATT",
01652   "otherVariableResultContent", "otherVariableResultEmpty",
01653   "otherVariableResultLaden", "otherVariableResultBody", "otherVarList",
01654   "otherVar", "otherVarStart", "otherVarIdxATT", "otherVarContent",
01655   "otherVarEmpty", "otherVarLaden", "otherVarBody",
01656   "otherVarEnumerationList", "otherVarEnumeration",
01657   "otherVarEnumerationStart", "otherVarEnumerationAttributes",
01658   "otherVarEnumerationAttList", "otherVarEnumerationATT",
01659   "otherVarEnumerationContent", "otherVarEnumerationEmpty",
01660   "otherVarEnumerationLaden", "otherVarEnumerationBody", "objectives",
01661   "objectivesStart", "numberOfOtherObjectiveResults", "objectivesContent",
01662   "objectivesEmpty", "objectivesLaden", "objectivesBody",
01663   "objectiveValues", "objectiveValuesStart", "numberOfObjATT",
01664   "objectiveValuesContent", "objectiveValuesEmpty", "objectiveValuesLaden",
01665   "objectiveValuesBody", "objValueArray", "objValue", "objValueStart",
01666   "objIdxATT", "objValueContent", "objVal", "objectiveBasisStatus",
01667   "objectiveBasisStatusStart", "objectiveBasisStatusContent",
01668   "objectiveBasisStatusEmpty", "objectiveBasisStatusLaden",
01669   "objectiveBasisStatusBody", "objectivesBasic", "objectivesBasicStart",
01670   "objectivesBasicNumberOfElATT", "objectivesBasicContent",
01671   "objectivesBasicEmpty", "objectivesBasicLaden", "objectivesBasicBody",
01672   "objectivesAtLower", "objectivesAtLowerStart",
01673   "objectivesAtLowerNumberOfElATT", "objectivesAtLowerContent",
01674   "objectivesAtLowerEmpty", "objectivesAtLowerLaden",
01675   "objectivesAtLowerBody", "objectivesAtUpper", "objectivesAtUpperStart",
01676   "objectivesAtUpperNumberOfElATT", "objectivesAtUpperContent",
01677   "objectivesAtUpperEmpty", "objectivesAtUpperLaden",
01678   "objectivesAtUpperBody", "objectivesIsFree", "objectivesIsFreeStart",
01679   "objectivesIsFreeNumberOfElATT", "objectivesIsFreeContent",
01680   "objectivesIsFreeEmpty", "objectivesIsFreeLaden", "objectivesIsFreeBody",
01681   "objectivesSuperbasic", "objectivesSuperbasicStart",
01682   "objectivesSuperbasicNumberOfElATT", "objectivesSuperbasicContent",
01683   "objectivesSuperbasicEmpty", "objectivesSuperbasicLaden",
01684   "objectivesSuperbasicBody", "objectivesUnknown",
01685   "objectivesUnknownStart", "objectivesUnknownNumberOfElATT",
01686   "objectivesUnknownContent", "objectivesUnknownEmpty",
01687   "objectivesUnknownLaden", "objectivesUnknownBody",
01688   "otherObjectiveResultsArray", "otherObjectiveResult",
01689   "otherObjectiveResultStart", "otherObjectiveResultAttributes",
01690   "otherObjectiveResultAttList", "otherObjectiveResultATT",
01691   "otherObjectiveResultContent", "otherObjectiveResultEmpty",
01692   "otherObjectiveResultLaden", "otherObjectiveResultBody", "otherObjList",
01693   "otherObj", "otherObjStart", "otherObjIdxATT", "otherObjContent",
01694   "otherObjEmpty", "otherObjLaden", "otherObjBody",
01695   "otherObjEnumerationList", "otherObjEnumeration",
01696   "otherObjEnumerationStart", "otherObjEnumerationAttributes",
01697   "otherObjEnumerationAttList", "otherObjEnumerationATT",
01698   "otherObjEnumerationContent", "otherObjEnumerationEmpty",
01699   "otherObjEnumerationLaden", "otherObjEnumerationBody", "constraints",
01700   "constraintsStart", "numberOfOtherConstraintResults",
01701   "constraintsContent", "constraintsEmpty", "constraintsLaden",
01702   "constraintsBody", "dualValues", "dualValuesStart", "numberOfConATT",
01703   "dualValuesContent", "dualValuesEmpty", "dualValuesLaden",
01704   "dualValuesBody", "dualValueArray", "dualValue", "dualValueStart",
01705   "conIdxATT", "dualValueContent", "slackBasisStatus",
01706   "slackBasisStatusStart", "slackBasisStatusContent",
01707   "slackBasisStatusEmpty", "slackBasisStatusLaden", "slackBasisStatusBody",
01708   "slacksBasic", "slacksBasicStart", "slacksBasicNumberOfElATT",
01709   "slacksBasicContent", "slacksBasicEmpty", "slacksBasicLaden",
01710   "slacksBasicBody", "slacksAtLower", "slacksAtLowerStart",
01711   "slacksAtLowerNumberOfElATT", "slacksAtLowerContent",
01712   "slacksAtLowerEmpty", "slacksAtLowerLaden", "slacksAtLowerBody",
01713   "slacksAtUpper", "slacksAtUpperStart", "slacksAtUpperNumberOfElATT",
01714   "slacksAtUpperContent", "slacksAtUpperEmpty", "slacksAtUpperLaden",
01715   "slacksAtUpperBody", "slacksIsFree", "slacksIsFreeStart",
01716   "slacksIsFreeNumberOfElATT", "slacksIsFreeContent", "slacksIsFreeEmpty",
01717   "slacksIsFreeLaden", "slacksIsFreeBody", "slacksSuperbasic",
01718   "slacksSuperbasicStart", "slacksSuperbasicNumberOfElATT",
01719   "slacksSuperbasicContent", "slacksSuperbasicEmpty",
01720   "slacksSuperbasicLaden", "slacksSuperbasicBody", "slacksUnknown",
01721   "slacksUnknownStart", "slacksUnknownNumberOfElATT",
01722   "slacksUnknownContent", "slacksUnknownEmpty", "slacksUnknownLaden",
01723   "slacksUnknownBody", "otherConstraintResultsArray",
01724   "otherConstraintResult", "otherConstraintResultStart",
01725   "otherConstraintResultAttributes", "otherConstraintResultAttList",
01726   "otherConstraintResultATT", "otherConstraintResultContent",
01727   "otherConstraintResultEmpty", "otherConstraintResultLaden",
01728   "otherConstraintResultBody", "otherConList", "otherCon", "otherConStart",
01729   "otherConIdxATT", "otherConContent", "otherConEmpty", "otherConLaden",
01730   "otherConBody", "otherConEnumerationList", "otherConEnumeration",
01731   "otherConEnumerationStart", "otherConEnumerationAttributes",
01732   "otherConEnumerationAttList", "otherConEnumerationATT",
01733   "otherConEnumerationContent", "otherConEnumerationEmpty",
01734   "otherConEnumerationLaden", "otherConEnumerationBody",
01735   "otherSolutionResults", "otherSolutionResultsStart",
01736   "numberOfOtherSolutionResults", "otherSolutionResultsContent",
01737   "otherSolutionResultsEmpty", "otherSolutionResultsLaden",
01738   "otherSolutionResultsBody", "otherSolutionResultArray",
01739   "otherSolutionResult", "otherSolutionResultStart",
01740   "otherSolutionResultAttributes", "otherSolutionResultAttList",
01741   "otherSolutionResultAtt", "otherSolutionResultContent",
01742   "otherSolutionResultEmpty", "otherSolutionResultLaden",
01743   "otherSolutionResultBody", "otherSolutionResultItemArray",
01744   "otherSolutionResultItem", "otherSolutionResultItemContent",
01745   "otherSolutionResultItemEmpty", "otherSolutionResultItemLaden",
01746   "otherSolutionResultItemBody", "otherSolverOutput",
01747   "otherSolverOutputStart", "numberOfSolverOutputsATT",
01748   "otherSolverOutputContent", "otherSolverOutputEmpty",
01749   "otherSolverOutputLaden", "otherSolverOutputBody", "solverOutputArray",
01750   "solverOutput", "solverOutputStart", "solverOutputAttributes",
01751   "solverOutputAttList", "solverOutputAtt", "solverOutputContent",
01752   "solverOutputEmpty", "solverOutputLaden", "solverOutputBody",
01753   "solverOutputItemArray", "solverOutputItem", "solverOutputItemContent",
01754   "solverOutputItemEmpty", "solverOutputItemLaden", "solverOutputItemBody",
01755   "categoryAttribute", "categoryAtt", "categoryAttEmpty",
01756   "categoryAttContent", "descriptionAttribute", "descriptionAtt",
01757   "descriptionAttEmpty", "descriptionAttContent", "nameAttribute",
01758   "nameAtt", "nameAttEmpty", "nameAttContent", "typeAttribute", "typeAtt",
01759   "typeAttEmpty", "typeAttContent", "unitAttribute", "unitAtt",
01760   "unitAttEmpty", "unitAttContent", "valueAttribute", "valueAtt",
01761   "valueAttEmpty", "valueAttContent", "numberOfConAttribute",
01762   "numberOfConstraintsAttribute", "numberOfElAttribute",
01763   "numberOfEnumerationsAttribute", "numberOfItemsAttribute",
01764   "numberOfObjAttribute", "numberOfObjectivesAttribute",
01765   "numberOfOtherConstraintResultsAttribute",
01766   "numberOfOtherObjectiveResultsAttribute",
01767   "numberOfOtherResultsAttribute", "numberOfOtherSolutionResultsAttribute",
01768   "numberOfOtherVariableResultsAttribute", "numberOfSolutionsAttribute",
01769   "numberOfSolverOutputsAttribute", "numberOfSubstatusesAttribute",
01770   "numberOfTimesAttribute", "numberOfVarAttribute",
01771   "numberOfVariablesAttribute", "osglIntArrayData", "osglIntVectorElArray",
01772   "osglIntVectorEl", "osglIntVectorElStart", "osglIntVectorElAttributes",
01773   "osglIntVectorElAttList", "osglIntVectorElAtt", "osglIntVectorElContent",
01774   "osglIntVectorBase64", "Base64SizeAttribute", "Base64Content",
01775   "Base64Empty", "Base64Laden", "osglIncrAttribute", "osglMultAttribute",
01776   "aNumber", "ElementValue", "quote", "xmlWhiteSpace", "xmlWhiteSpaceChar", 0
01777 };
01778 #endif
01779 
01780 # ifdef YYPRINT
01781 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
01782    token YYLEX-NUM.  */
01783 static const yytype_uint16 yytoknum[] =
01784 {
01785        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
01786      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
01787      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
01788      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
01789      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
01790      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
01791      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
01792      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
01793      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
01794      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
01795      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
01796      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
01797      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
01798      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
01799      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
01800      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
01801      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
01802      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
01803      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
01804      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
01805      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
01806      465,   466,   467,   468,   469,   470,    32,     9,    13,    10
01807 };
01808 # endif
01809 
01810 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
01811 static const yytype_uint16 yyr1[] =
01812 {
01813        0,   220,   221,   221,   222,   223,   224,   224,   225,   225,
01814      226,   227,   228,   228,   229,   230,   230,   231,   232,   232,
01815      233,   234,   235,   236,   236,   237,   237,   238,   238,   239,
01816      240,   240,   241,   241,   242,   242,   243,   244,   244,   245,
01817      245,   246,   246,   247,   248,   248,   249,   249,   250,   250,
01818      251,   252,   252,   253,   253,   254,   254,   255,   256,   256,
01819      257,   258,   258,   259,   259,   260,   261,   262,   262,   263,
01820      263,   263,   263,   263,   263,   263,   263,   263,   264,   265,
01821      266,   267,   267,   268,   268,   268,   269,   269,   270,   270,
01822      271,   272,   273,   273,   274,   275,   276,   277,   277,   278,
01823      278,   279,   279,   280,   281,   282,   282,   283,   283,   284,
01824      285,   286,   287,   288,   288,   289,   289,   290,   291,   292,
01825      293,   294,   294,   295,   295,   296,   297,   298,   299,   300,
01826      300,   301,   301,   302,   303,   304,   305,   306,   306,   307,
01827      307,   308,   309,   310,   311,   312,   312,   313,   313,   314,
01828      315,   316,   317,   318,   318,   319,   319,   320,   321,   322,
01829      323,   324,   325,   325,   326,   326,   327,   328,   329,   329,
01830      330,   331,   332,   333,   333,   334,   334,   334,   335,   335,
01831      336,   336,   337,   338,   338,   339,   339,   340,   341,   342,
01832      342,   343,   343,   343,   343,   343,   343,   344,   345,   346,
01833      346,   347,   347,   348,   349,   350,   351,   352,   353,   353,
01834      354,   354,   355,   356,   357,   358,   359,   360,   360,   361,
01835      361,   362,   363,   364,   365,   366,   367,   367,   368,   368,
01836      369,   370,   371,   372,   373,   373,   374,   375,   376,   377,
01837      378,   379,   379,   380,   380,   381,   382,   383,   383,   384,
01838      385,   386,   387,   387,   388,   388,   388,   389,   389,   390,
01839      390,   391,   392,   392,   393,   393,   394,   395,   396,   396,
01840      397,   397,   397,   397,   397,   397,   398,   399,   400,   400,
01841      401,   401,   402,   403,   404,   405,   406,   406,   407,   407,
01842      408,   409,   410,   411,   412,   412,   413,   413,   414,   415,
01843      416,   417,   418,   418,   419,   419,   420,   421,   422,   423,
01844      424,   424,   425,   425,   426,   427,   428,   429,   430,   431,
01845      431,   432,   432,   433,   434,   435,   435,   436,   437,   438,
01846      439,   439,   440,   440,   440,   441,   441,   442,   442,   443,
01847      444,   444,   445,   445,   446,   447,   448,   448,   449,   449,
01848      449,   449,   449,   449,   449,   449,   449,   449,   449,   450,
01849      451,   452,   452,   453,   453,   454,   455,   456,   457,   458,
01850      458,   459,   459,   460,   461,   462,   463,   464,   464,   465,
01851      465,   466,   467,   468,   469,   470,   470,   471,   471,   472,
01852      473,   474,   475,   476,   476,   477,   477,   478,   479,   480,
01853      481,   482,   483,   483,   484,   484,   485,   486,   487,   487,
01854      488,   489,   490,   490,   491,   491,   491,   491,   492,   492,
01855      493,   493,   494,   495,   496,   496,   497,   498,   499,   500,
01856      500,   501,   501,   502,   503,   504,   505,   506,   507,   507,
01857      508,   508,   509,   510,   511,   512,   513,   514,   514,   515,
01858      515,   516,   517,   518,   519,   520,   520,   521,   522,   523,
01859      524,   525,   526,   526,   527,   527,   528,   529,   530,   530,
01860      531,   532,   533,   534,   534,   535,   535,   535,   536,   536,
01861      537,   537,   538,   539,   540,   540,   541,   541,   541,   541,
01862      542,   542,   543,   543,   544,   545,   546,   546,   547,   548,
01863      549,   550,   550,   551,   551,   552,   553,   554,   555,   556,
01864      557,   558,   558,   559,   559,   559,   560,   560,   561,   561,
01865      562,   563,   564,   564,   565,   566,   567,   568,   568,   569,
01866      569,   570,   570,   571,   571,   572,   573,   573,   574,   574,
01867      575,   576,   577,   577,   578,   579,   579,   580,   580,   581,
01868      582,   583,   584,   584,   585,   586,   587,   587,   588,   588,
01869      589,   590,   591,   591,   592,   593,   594,   595,   596,   596,
01870      597,   598,   599,   599,   600,   600,   601,   602,   603,   603,
01871      604,   605,   606,   607,   607,   608,   608,   609,   610,   611,
01872      611,   612,   613,   613,   614,   615,   616,   617,   617,   618,
01873      619,   620,   620,   621,   622,   623,   624,   624,   625,   626,
01874      627,   627,   628,   629,   630,   631,   631,   632,   633,   634,
01875      634,   635,   636,   637,   638,   638,   639,   640,   641,   641,
01876      642,   643,   644,   645,   645,   646,   647,   648,   648,   649,
01877      650,   651,   652,   652,   653,   654,   655,   655,   656,   657,
01878      658,   659,   659,   660,   661,   662,   663,   663,   664,   664,
01879      664,   664,   664,   665,   665,   666,   666,   667,   668,   668,
01880      669,   669,   670,   671,   672,   673,   673,   674,   674,   675,
01881      676,   677,   677,   678,   679,   680,   681,   681,   682,   682,
01882      682,   683,   683,   684,   685,   686,   687,   687,   688,   689,
01883      689,   690,   690,   691,   692,   693,   694,   694,   695,   696,
01884      697,   697,   698,   698,   699,   700,   701,   701,   702,   703,
01885      704,   704,   705,   706,   706,   707,   707,   708,   709,   709,
01886      710,   711,   712,   713,   713,   714,   715,   716,   716,   717,
01887      718,   719,   720,   720,   721,   722,   723,   723,   724,   725,
01888      726,   727,   727,   728,   729,   730,   730,   731,   732,   733,
01889      734,   734,   735,   736,   737,   737,   738,   739,   740,   741,
01890      741,   742,   743,   744,   744,   745,   746,   747,   748,   748,
01891      749,   750,   751,   751,   752,   753,   754,   755,   755,   756,
01892      757,   758,   759,   759,   760,   760,   760,   760,   760,   761,
01893      761,   762,   762,   763,   764,   764,   765,   765,   766,   767,
01894      768,   769,   769,   770,   770,   771,   772,   773,   773,   774,
01895      775,   776,   777,   777,   778,   778,   778,   779,   779,   780,
01896      781,   782,   783,   783,   784,   785,   785,   786,   786,   787,
01897      788,   789,   790,   790,   791,   792,   793,   793,   794,   794,
01898      795,   796,   797,   797,   798,   799,   800,   801,   802,   802,
01899      803,   804,   804,   805,   806,   807,   808,   808,   809,   810,
01900      811,   811,   812,   813,   814,   815,   815,   816,   817,   818,
01901      818,   819,   820,   821,   822,   822,   823,   824,   825,   825,
01902      826,   827,   828,   829,   829,   830,   831,   832,   832,   833,
01903      834,   835,   836,   836,   837,   838,   839,   839,   840,   841,
01904      842,   843,   843,   844,   845,   846,   846,   847,   848,   849,
01905      850,   850,   851,   852,   853,   854,   854,   855,   855,   855,
01906      855,   855,   856,   856,   857,   857,   858,   859,   859,   860,
01907      860,   861,   862,   863,   864,   864,   865,   865,   866,   867,
01908      868,   868,   869,   870,   871,   872,   872,   873,   873,   873,
01909      874,   874,   875,   876,   877,   878,   878,   879,   880,   881,
01910      881,   882,   882,   883,   884,   885,   885,   886,   887,   888,
01911      889,   889,   890,   890,   890,   890,   891,   891,   892,   892,
01912      893,   894,   895,   895,   896,   897,   897,   898,   898,   899,
01913      900,   901,   901,   902,   903,   904,   904,   905,   905,   906,
01914      907,   908,   908,   909,   910,   911,   912,   912,   913,   913,
01915      913,   913,   914,   914,   915,   915,   916,   917,   918,   918,
01916      919,   920,   920,   921,   921,   922,   923,   924,   925,   925,
01917      926,   927,   928,   929,   929,   930,   931,   932,   933,   933,
01918      934,   935,   936,   937,   937,   938,   939,   940,   941,   941,
01919      942,   943,   944,   945,   945,   946,   947,   948,   949,   950,
01920      951,   952,   953,   954,   955,   956,   957,   958,   959,   960,
01921      961,   962,   963,   964,   965,   966,   966,   967,   967,   968,
01922      969,   970,   971,   971,   972,   972,   973,   974,   975,   976,
01923      976,   977,   977,   978,   979,   980,   981,   981,   982,   982,
01924      982,   983,   984,   984,   985,   985,   985,   985
01925 };
01926 
01927 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
01928 static const yytype_uint8 yyr2[] =
01929 {
01930        0,     2,     3,     3,     1,     1,     0,     1,     1,     1,
01931        1,     3,     1,     0,     6,     0,     2,     1,     1,     1,
01932        1,     3,     5,     0,     1,     1,     1,     1,     1,     3,
01933        0,     1,     1,     1,     1,     1,     3,     0,     1,     1,
01934        1,     1,     1,     3,     0,     1,     1,     1,     1,     1,
01935        3,     0,     1,     1,     1,     1,     1,     3,     0,     2,
01936        1,     1,     1,     2,     1,     3,     1,     1,     2,     1,
01937        1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
01938        1,     1,     2,     1,     1,     1,     1,     1,     2,     1,
01939        3,     1,     1,     2,     3,     1,     1,     0,     2,     1,
01940        1,     2,     1,     2,     1,     1,     1,     2,     1,     3,
01941        1,     2,     1,     1,     1,     2,     1,     3,     1,     2,
01942        1,     1,     1,     2,     1,     3,     1,     2,     1,     1,
01943        1,     2,     1,     3,     1,     2,     1,     1,     1,     2,
01944        1,     3,     1,     2,     1,     1,     1,     2,     1,     3,
01945        1,     2,     1,     1,     1,     2,     1,     3,     1,     3,
01946        1,     1,     1,     1,     2,     1,     3,     1,     1,     2,
01947        3,     1,     1,     0,     2,     1,     1,     1,     2,     1,
01948        0,     2,     1,     1,     1,     2,     1,     3,     1,     1,
01949        2,     1,     1,     1,     1,     1,     1,     2,     1,     1,
01950        1,     2,     1,     3,     1,     3,     1,     1,     0,     2,
01951        1,     1,     3,     1,     3,     1,     1,     0,     2,     1,
01952        1,     3,     1,     3,     1,     1,     0,     2,     1,     1,
01953        3,     1,     3,     1,     0,     1,     3,     1,     3,     1,
01954        1,     1,     1,     2,     1,     3,     1,     1,     2,     3,
01955        1,     1,     0,     2,     1,     1,     1,     2,     1,     0,
01956        2,     1,     1,     1,     2,     1,     3,     1,     1,     2,
01957        1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
01958        2,     1,     3,     1,     2,     1,     1,     1,     2,     1,
01959        3,     1,     2,     1,     1,     1,     2,     1,     3,     1,
01960        2,     1,     1,     1,     2,     1,     3,     1,     2,     1,
01961        1,     1,     2,     1,     3,     1,     3,     1,     1,     1,
01962        1,     2,     1,     3,     1,     1,     2,     3,     1,     1,
01963        0,     2,     1,     1,     1,     2,     1,     0,     2,     1,
01964        1,     1,     2,     1,     3,     1,     1,     2,     1,     1,
01965        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
01966        1,     1,     1,     2,     1,     3,     1,     2,     1,     1,
01967        1,     2,     1,     3,     1,     2,     1,     1,     1,     2,
01968        1,     3,     1,     2,     1,     1,     1,     2,     1,     3,
01969        1,     2,     1,     1,     1,     2,     1,     3,     1,     3,
01970        1,     1,     1,     1,     2,     1,     3,     1,     1,     2,
01971        3,     1,     0,     2,     1,     1,     1,     1,     1,     1,
01972        2,     1,     3,     1,     1,     1,     3,     1,     1,     0,
01973        2,     1,     1,     3,     1,     3,     1,     1,     0,     2,
01974        1,     1,     3,     1,     3,     1,     1,     0,     2,     1,
01975        1,     3,     1,     3,     1,     0,     1,     3,     1,     3,
01976        1,     1,     1,     1,     2,     1,     3,     1,     1,     2,
01977        3,     1,     1,     0,     2,     1,     1,     1,     2,     1,
01978        0,     3,     1,     1,     0,     2,     1,     1,     1,     1,
01979        1,     1,     2,     1,     3,     2,     1,     2,     3,     1,
01980        1,     0,     2,     1,     1,     4,     3,     8,     3,     1,
01981        1,     1,     2,     1,     1,     1,     1,     1,     2,     1,
01982        3,     1,     1,     2,     3,     1,     1,     0,     2,     1,
01983        1,     2,     1,     0,     2,     1,     1,     1,     2,     1,
01984        3,     1,     0,     3,     1,     0,     1,     1,     1,     1,
01985        3,     4,     0,     3,     1,     1,     1,     1,     2,     1,
01986        3,     1,     1,     2,     3,     1,     4,     3,     0,     3,
01987        1,     1,     1,     1,     2,     1,     3,     1,     1,     2,
01988        3,     1,     4,     1,     1,     2,     1,     3,     1,     0,
01989        2,     1,     1,     1,     1,     3,     6,     0,     3,     1,
01990        1,     1,     1,     1,     3,     1,     0,     3,     1,     1,
01991        1,     1,     1,     3,     1,     0,     3,     1,     1,     1,
01992        1,     1,     3,     1,     0,     3,     1,     1,     1,     1,
01993        1,     3,     1,     0,     3,     1,     1,     1,     1,     1,
01994        3,     1,     0,     3,     1,     1,     1,     1,     1,     3,
01995        1,     0,     2,     3,     1,     1,     0,     2,     1,     1,
01996        1,     1,     1,     1,     1,     2,     1,     3,     1,     1,
01997        1,     2,     3,     1,     4,     1,     1,     2,     1,     3,
01998        1,     1,     2,     3,     1,     1,     0,     2,     1,     1,
01999        1,     1,     1,     1,     3,     1,     0,     3,     1,     0,
02000        1,     1,     1,     1,     3,     3,     0,     3,     1,     1,
02001        1,     1,     2,     1,     3,     1,     1,     2,     3,     1,
02002        0,     4,     3,     1,     1,     0,     2,     1,     1,     1,
02003        1,     3,     6,     0,     3,     1,     1,     1,     1,     1,
02004        3,     1,     0,     3,     1,     1,     1,     1,     1,     3,
02005        1,     0,     3,     1,     1,     1,     1,     1,     3,     1,
02006        0,     3,     1,     1,     1,     1,     1,     3,     1,     0,
02007        3,     1,     1,     1,     1,     1,     3,     1,     0,     3,
02008        1,     1,     1,     1,     1,     3,     1,     0,     2,     3,
02009        1,     1,     0,     2,     1,     1,     1,     1,     1,     1,
02010        1,     2,     1,     3,     1,     1,     1,     2,     3,     1,
02011        4,     1,     1,     2,     1,     3,     1,     1,     2,     3,
02012        1,     1,     0,     2,     1,     1,     1,     1,     1,     1,
02013        3,     1,     0,     3,     1,     0,     1,     1,     1,     1,
02014        3,     3,     0,     3,     1,     1,     1,     1,     2,     1,
02015        3,     1,     1,     2,     3,     1,     4,     3,     0,     2,
02016        1,     1,     1,     1,     3,     6,     0,     3,     1,     1,
02017        1,     1,     1,     3,     1,     0,     3,     1,     1,     1,
02018        1,     1,     3,     1,     0,     3,     1,     1,     1,     1,
02019        1,     3,     1,     0,     3,     1,     1,     1,     1,     1,
02020        3,     1,     0,     3,     1,     1,     1,     1,     1,     3,
02021        1,     0,     3,     1,     1,     1,     1,     1,     3,     1,
02022        0,     2,     3,     1,     1,     0,     2,     1,     1,     1,
02023        1,     1,     1,     1,     2,     1,     3,     1,     1,     1,
02024        2,     3,     1,     4,     1,     1,     2,     1,     3,     1,
02025        1,     2,     3,     1,     1,     0,     2,     1,     1,     1,
02026        1,     1,     1,     3,     1,     0,     3,     1,     1,     1,
02027        1,     2,     1,     3,     1,     1,     2,     3,     1,     1,
02028        0,     2,     1,     1,     1,     1,     1,     1,     2,     1,
02029        3,     1,     1,     2,     1,     1,     1,     1,     1,     3,
02030        1,     0,     3,     1,     1,     1,     1,     2,     1,     3,
02031        1,     1,     2,     3,     1,     1,     0,     2,     1,     1,
02032        1,     1,     1,     1,     2,     1,     3,     1,     1,     2,
02033        1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
02034        1,     3,     1,     1,     1,     1,     3,     1,     1,     1,
02035        1,     3,     1,     1,     1,     1,     3,     1,     1,     1,
02036        1,     3,     1,     1,     1,     1,     3,     4,     4,     4,
02037        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
02038        4,     4,     4,     4,     4,     1,     1,     0,     2,     3,
02039        1,     1,     0,     2,     1,     1,     3,     3,     4,     1,
02040        1,     2,     1,     3,     4,     4,     1,     1,     1,     1,
02041        1,     2,     0,     2,     1,     1,     1,     1
02042 };
02043 
02044 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
02045    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
02046    means the default is an error.  */
02047 static const yytype_uint16 yydefact[] =
02048 {
02049        0,     5,     4,     0,    15,     6,     1,    17,    13,    58,
02050        0,     7,     0,    12,     2,    60,   180,     0,    23,    20,
02051       16,    18,    19,    15,    10,     3,     8,     9,   182,   259,
02052        0,     0,    64,    59,    61,    62,     0,    28,    27,     0,
02053       30,    24,    25,    26,    13,   261,   337,     0,     0,   186,
02054      181,   183,   184,    63,    79,   128,   136,   104,   160,   120,
02055      112,   144,   152,     0,    66,    67,    69,     0,    70,     0,
02056       71,     0,    72,     0,    73,     0,    74,     0,    75,     0,
02057       76,     0,    77,     0,     0,    21,     0,    35,    34,    37,
02058       31,    32,    33,    11,   339,   480,     0,     0,   265,   260,
02059      262,   263,   185,   233,   224,   206,   215,   239,   198,     0,
02060      188,   189,   191,     0,   192,   208,   193,   217,   194,   226,
02061      195,   234,   196,     0,    65,    68,  1112,     0,  1045,     0,
02062     1055,     0,    80,    81,    84,  1042,  1043,  1044,    83,  1052,
02063     1053,  1054,    85,     0,   108,   103,   105,   106,     0,   116,
02064      111,   113,   114,     0,   124,   119,   121,   122,     0,   132,
02065      127,   129,   130,     0,   140,   135,   137,   138,     0,   148,
02066      143,   145,   146,     0,   156,   151,   153,   154,  1112,     0,
02067      161,    29,     0,     0,    42,    41,    44,    38,    39,    40,
02068      482,    14,   484,     0,   343,   338,   340,   341,   264,   285,
02069      277,   317,   309,   301,   293,     0,   267,   268,   270,     0,
02070      271,     0,   272,     0,   273,     0,   274,     0,   275,     0,
02071      187,   190,     0,   202,   197,   199,   200,     0,   207,     0,
02072      216,     0,   225,     0,   235,     0,   240,     0,     0,  1112,
02073     1112,     0,    89,    78,    86,    87,    82,   110,   107,     0,
02074      118,   115,     0,   126,   123,     0,   134,   131,     0,   142,
02075      139,     0,   150,   147,     0,   158,   155,     0,     0,     0,
02076      165,   159,   162,   163,    36,     0,     0,    49,    48,    51,
02077       45,    46,    47,     0,   483,   342,   384,   392,   460,   376,
02078      360,   368,   400,   454,   445,   427,   436,     0,   345,   346,
02079      348,     0,   349,     0,   350,     0,   351,     0,   352,     0,
02080      353,     0,   354,   429,   355,   438,   356,   447,   357,   455,
02081      358,     0,   266,   269,     0,   281,   276,   278,   279,     0,
02082      289,   284,   286,   287,     0,   297,   292,   294,   295,     0,
02083      305,   300,   302,   303,     0,   313,   308,   310,   311,     0,
02084      318,   204,   201,     0,     0,   205,     0,  1060,   209,   211,
02085      210,  1057,  1058,  1059,     0,   214,   218,   220,   219,     0,
02086      223,   227,   229,   228,     0,   232,     0,   244,   238,   241,
02087      242,  1112,  1111,  1114,  1115,  1116,  1117,  1113,  1046,  1056,
02088       88,    95,     0,    91,    92,    97,   109,   117,   125,   133,
02089      141,   149,   157,  1112,   171,   164,     0,   167,   168,   173,
02090       43,     0,     0,    56,    55,    22,    52,    53,    54,     0,
02091      493,   481,   490,   491,  1112,  1112,  1112,  1112,   485,   488,
02092      489,   486,   487,   344,   347,     0,   364,   359,   361,   362,
02093        0,   372,   367,   369,   370,     0,   380,   375,   377,   378,
02094        0,   388,   383,   385,   386,     0,   396,   391,   393,   394,
02095     1112,     0,   401,     0,   428,     0,   437,     0,   446,     0,
02096      456,     0,   461,   283,   280,     0,   291,   288,     0,   299,
02097      296,     0,   307,   304,     0,  1106,  1107,   312,     0,   315,
02098        0,   322,   316,   319,   320,   203,     0,   213,  1112,     0,
02099      222,     0,   231,   237,     0,   250,   243,     0,   246,   247,
02100      252,  1081,    90,    93,     0,    96,  1076,   166,   169,     0,
02101      172,    50,     0,   492,   499,     0,  1001,   496,   501,     0,
02102        0,     0,     0,   366,   363,     0,   374,   371,     0,   382,
02103      379,     0,   390,   387,     0,   398,   395,     0,     0,     0,
02104      405,   399,   402,   403,     0,   426,   430,   432,   431,     0,
02105      435,   439,   441,   440,     0,   444,   448,   450,   449,     0,
02106      453,     0,   465,   459,   462,   463,   282,   290,   298,   306,
02107      314,   328,   321,     0,   324,   325,   330,   212,  1061,   221,
02108      230,   236,   245,   248,     0,   251,     0,   102,    94,     0,
02109     1050,    98,   100,    99,  1047,  1048,  1049,     0,   179,   170,
02110        0,  1065,   174,   177,   175,   176,  1062,  1063,  1064,    57,
02111      494,  1003,   497,   495,     0,     0,   500,  1112,  1112,  1112,
02112     1112,   365,   373,   381,   389,   397,  1112,   411,   404,     0,
02113      407,   408,   412,     0,   434,     0,   443,     0,   452,   458,
02114        0,   471,   464,     0,   467,   468,   473,   323,   326,     0,
02115      329,     0,   258,   249,   253,   256,   254,   255,   101,  1112,
02116      178,  1112,  1112,     0,  1004,     0,   498,  1112,     0,   502,
02117      503,   504,  1068,  1073,  1079,  1084,  1082,   406,   409,     0,
02118      433,   442,   451,   457,   466,   469,     0,   472,     0,   336,
02119      327,   331,   334,   332,   333,   257,  1051,  1066,     0,     0,
02120     1008,  1002,  1005,  1006,   509,   533,     0,     0,  1112,     0,
02121      421,     0,  1040,   413,   410,   418,   419,   416,  1037,  1038,
02122     1039,   417,   415,   414,     0,   479,   470,   474,   477,   475,
02123      476,   335,  1112,  1007,  1014,     0,  1010,  1011,  1016,   535,
02124      542,     0,     0,   510,   511,   514,   513,   515,  1112,   506,
02125      425,   424,   420,     0,   423,  1112,   478,  1080,  1009,  1012,
02126        0,  1015,   544,   696,   545,     0,   539,   534,   536,   537,
02127        0,   519,   508,   516,   517,   512,   505,   422,  1041,     0,
02128     1025,  1013,  1022,  1023,  1112,  1017,  1019,  1020,  1018,  1021,
02129      698,   832,   699,  1112,     0,   546,   541,   538,     0,   518,
02130      525,     0,   521,   522,   527,     0,  1033,  1034,  1024,     0,
02131     1027,  1028,  1030,  1031,  1032,     0,   834,   965,   835,  1112,
02132        0,   700,     0,   552,   549,   543,   547,   548,   540,   520,
02133      523,     0,   526,  1036,     0,  1026,  1029,  1112,   967,     0,
02134        0,  1112,     0,   836,     0,   706,   703,   697,   701,   702,
02135     1112,   554,     0,   568,     0,     0,   532,   524,   528,   530,
02136      529,  1035,  1071,   507,  1112,     0,   968,     0,   842,   839,
02137      833,   837,   838,  1112,   708,     0,   725,     0,  1078,   550,
02138      570,   589,     0,  1112,     0,   555,   531,     0,     0,   972,
02139      966,   969,   970,  1112,   844,     0,   858,     0,  1075,   704,
02140      727,   787,     0,  1112,     0,   709,   591,   651,     0,     0,
02141      571,     0,     0,   559,   553,   556,   557,  1112,   978,   971,
02142        0,   974,   975,   980,  1074,   840,   860,   920,     0,  1112,
02143        0,   845,   705,   733,   730,   726,   728,   729,     0,     0,
02144      713,   707,   710,   711,   551,   597,   594,   590,   592,   593,
02145        0,   575,   569,   572,   573,  1112,   558,   565,     0,   561,
02146      562,     0,  1077,   973,   976,     0,   979,   841,   866,   863,
02147      859,   861,   862,     0,     0,   849,   843,   846,   847,   790,
02148      788,   792,   735,     0,   742,     0,  1112,   719,   712,     0,
02149      715,   716,   720,   654,   652,   656,   599,     0,   606,     0,
02150      574,   581,     0,   577,   578,     0,  1083,   560,   563,  1112,
02151        0,     0,   989,   977,   986,   987,   981,   983,   984,   982,
02152      985,   923,   921,   925,   868,     0,   875,     0,  1112,   855,
02153      848,     0,   851,   852,     0,     0,   791,   731,   744,   751,
02154        0,  1112,     0,   736,  1072,   714,   717,  1112,     0,     0,
02155      655,   595,   608,   615,     0,     0,   600,   576,   579,  1112,
02156        0,     0,     0,   564,     0,   997,   998,   988,     0,   991,
02157      992,   994,   995,   996,     0,   924,   864,   877,   884,     0,
02158        0,   869,  1067,   850,   853,  1112,     0,     0,   802,   789,
02159      799,   800,  1112,   793,   798,   797,   796,   795,   794,   753,
02160      760,     0,     0,   745,     0,  1087,   739,   734,   737,   738,
02161        0,     0,   718,     0,   666,   653,   663,   664,   657,   662,
02162      661,   660,   659,   658,   617,   624,     0,     0,   609,  1087,
02163      603,   598,   601,   602,     0,     0,   586,   580,   583,   584,
02164     1112,     0,  1000,     0,   990,   993,     0,   935,   922,   932,
02165      933,   926,   931,   930,   929,   927,   928,   886,   893,     0,
02166        0,   878,  1087,   872,   867,   870,   871,     0,     0,   854,
02167      820,   809,   801,     0,   804,   806,     0,   805,   817,   822,
02168        0,   762,   769,     0,     0,   754,  1087,   748,   743,   746,
02169      747,  1112,     0,     0,   741,  1085,  1086,  1112,   723,   724,
02170        0,   684,   665,   673,     0,   668,   670,     0,   669,   681,
02171      686,   626,   633,     0,     0,   618,  1087,   612,   607,   610,
02172      611,     0,   605,  1112,   588,   585,     0,   566,   567,   999,
02173      942,   953,   934,     0,   937,   939,     0,   938,   950,   955,
02174      895,   902,     0,     0,   887,  1087,   881,   876,   879,   880,
02175        0,   874,  1112,     0,   803,   807,  1112,     0,   818,     0,
02176      821,  1112,   771,   778,     0,     0,   763,  1087,   757,   752,
02177      755,   756,     0,   750,  1069,  1112,     0,   740,  1090,  1088,
02178     1092,   721,   722,   667,   671,  1112,     0,   682,     0,   685,
02179      635,   642,     0,     0,   627,  1087,   621,   616,   619,   620,
02180        0,   614,   604,   582,   587,   936,   940,  1112,     0,   951,
02181        0,   954,   904,   911,     0,     0,   896,  1087,   890,   885,
02182      888,   889,     0,   883,   873,   856,   857,     0,     0,   814,
02183      808,   811,   812,  1087,   829,   819,   827,   828,   823,   826,
02184      825,   824,  1070,   780,   732,     0,     0,   772,  1087,   766,
02185      761,   764,   765,     0,   759,   749,     0,     0,  1102,  1097,
02186     1099,  1100,     0,  1091,     0,     0,   678,   672,   675,   676,
02187     1087,   693,   683,   691,   692,   687,   690,   689,   688,   644,
02188      596,     0,     0,   636,  1087,   630,   625,   628,   629,     0,
02189      623,   613,     0,     0,   947,   941,   944,   945,  1087,   962,
02190      952,   960,   961,   956,   959,   958,   957,   913,   865,     0,
02191        0,   905,  1087,   899,   894,   897,   898,     0,   892,   882,
02192     1112,  1108,  1109,  1110,   813,     0,   816,     0,   831,     0,
02193      781,  1087,   775,   770,   773,   774,     0,   768,   758,  1112,
02194        0,  1101,     0,  1089,  1112,  1112,  1093,  1095,  1094,  1112,
02195      677,     0,   680,     0,   695,     0,   645,  1087,   639,   634,
02196      637,   638,     0,   632,   622,  1112,   946,     0,   949,     0,
02197      964,     0,   914,  1087,   908,   903,   906,   907,     0,   901,
02198      891,   810,   815,   830,  1087,   784,   779,   782,   783,     0,
02199      777,   767,  1098,  1103,     0,     0,     0,   674,   679,   694,
02200     1087,   648,   643,   646,   647,     0,   641,   631,   943,   948,
02201      963,  1087,   917,   912,   915,   916,     0,   910,   900,     0,
02202      786,   776,  1096,  1112,  1112,     0,   650,   640,     0,   919,
02203      909,   785,  1104,  1105,   649,   918
02204 };
02205 
02206 /* YYDEFGOTO[NTERM-NUM].  */
02207 static const yytype_int16 yydefgoto[] =
02208 {
02209       -1,     3,     4,     5,    12,    25,    26,    27,    14,     8,
02210        9,    10,    20,    21,    22,    39,    40,    41,    42,    43,
02211       89,    90,    91,    92,   186,   187,   188,   189,   279,   280,
02212      281,   282,   415,   416,   417,   418,    16,    17,    33,    34,
02213       35,    63,    64,    65,    66,    67,   131,   132,   133,   243,
02214      244,   245,   392,   393,   394,   395,   514,   515,   601,   598,
02215       68,    69,   145,   146,   147,   249,    70,    71,   150,   151,
02216      152,   252,    72,    73,   155,   156,   157,   255,    74,    75,
02217      160,   161,   162,   258,    76,    77,   165,   166,   167,   261,
02218       78,    79,   170,   171,   172,   264,    80,    81,   175,   176,
02219      177,   267,    82,    83,   179,   271,   272,   273,   406,   407,
02220      408,   409,   519,   520,   612,   609,    29,    30,    50,    51,
02221       52,   109,   110,   111,   112,   113,   224,   225,   226,   353,
02222      114,   115,   227,   228,   358,   355,   496,   116,   117,   229,
02223      230,   366,   365,   499,   118,   119,   231,   232,   371,   370,
02224      501,   120,   121,   233,   375,   504,   122,   123,   235,   378,
02225      379,   380,   507,   508,   509,   510,   594,   595,   664,   663,
02226       46,    47,    99,   100,   101,   205,   206,   207,   208,   209,
02227      326,   327,   328,   475,   210,   211,   331,   332,   333,   478,
02228      212,   213,   336,   337,   338,   481,   214,   215,   341,   342,
02229      343,   484,   216,   217,   346,   347,   348,   488,   218,   219,
02230      349,   492,   493,   494,   583,   584,   585,   586,   659,   660,
02231      701,   700,    95,    96,   195,   196,   197,   297,   298,   299,
02232      300,   301,   437,   438,   439,   535,   302,   303,   442,   443,
02233      444,   538,   304,   305,   447,   448,   449,   541,   306,   307,
02234      452,   453,   454,   544,   308,   309,   457,   458,   459,   547,
02235      310,   311,   461,   551,   552,   553,   639,   640,   641,   642,
02236      689,   723,   724,   725,   726,   763,   764,   312,   313,   463,
02237      464,   556,   555,   643,   314,   315,   465,   466,   561,   560,
02238      645,   316,   317,   467,   468,   566,   565,   647,   318,   319,
02239      469,   570,   650,   320,   321,   471,   573,   574,   575,   653,
02240      654,   655,   656,   696,   697,   737,   736,   191,   192,   283,
02241      284,   428,   421,   422,   423,   525,   526,   527,   528,   625,
02242      626,   679,   680,   681,   676,   715,   716,   752,   753,   754,
02243      782,   783,   784,   811,   812,   813,   814,   841,   842,   868,
02244      867,   750,   751,   777,   778,   779,   808,   773,   774,   804,
02245      835,   836,   837,   862,   863,   864,   894,   924,   925,   926,
02246      968,   969,   970,   971,  1020,  1073,   891,   892,   919,   962,
02247      963,   964,  1012,  1013,  1014,  1015,  1070,  1147,  1148,  1149,
02248     1236,   917,   918,   957,   958,   959,  1007,  1008,  1009,  1065,
02249     1141,  1142,  1143,  1231,  1063,  1064,  1137,  1228,  1229,  1230,
02250     1310,  1135,  1136,  1224,  1307,  1308,  1309,  1399,  1222,  1223,
02251     1303,  1396,  1397,  1398,  1472,  1301,  1302,  1392,  1469,  1470,
02252     1471,  1515,  1390,  1391,  1465,  1512,  1513,  1514,  1535,   954,
02253     1004,  1005,  1059,  1060,  1128,  1125,  1126,  1127,  1214,  1215,
02254     1216,  1217,  1296,  1377,  1378,  1379,  1461,  1218,  1219,  1220,
02255     1298,  1299,  1385,  1382,  1383,  1384,  1463,   801,   802,   830,
02256      857,   858,   859,   885,   886,   887,   914,   951,   952,   953,
02257      999,  1000,  1001,  1002,  1058,  1122,  1210,   911,   912,   945,
02258      946,   947,   993,   994,   995,  1052,  1117,  1118,  1119,  1203,
02259     1049,  1050,  1112,  1198,  1199,  1200,  1282,  1110,  1111,  1194,
02260     1279,  1280,  1281,  1363,  1192,  1193,  1275,  1360,  1361,  1362,
02261     1446,  1273,  1274,  1356,  1443,  1444,  1445,  1499,  1354,  1355,
02262     1439,  1496,  1497,  1498,  1529,   942,   990,   991,  1045,  1046,
02263     1103,  1099,  1100,  1101,  1183,  1184,  1185,  1186,  1267,  1340,
02264     1341,  1342,  1435,  1187,  1188,  1189,  1269,  1270,  1348,  1345,
02265     1346,  1347,  1437,   827,   828,   852,   880,   881,   882,   905,
02266      906,   907,   940,   986,   987,   988,  1041,  1042,  1043,  1044,
02267     1096,  1179,   937,   938,   980,   981,   982,  1035,  1036,  1037,
02268     1090,  1174,  1175,  1176,  1260,  1088,  1089,  1170,  1257,  1258,
02269     1259,  1332,  1168,  1169,  1253,  1329,  1330,  1331,  1427,  1251,
02270     1252,  1325,  1424,  1425,  1426,  1488,  1323,  1324,  1420,  1485,
02271     1486,  1487,  1526,  1418,  1419,  1481,  1523,  1524,  1525,  1538,
02272      977,  1032,  1033,  1084,  1085,  1161,  1158,  1159,  1160,  1243,
02273     1244,  1245,  1246,  1318,  1405,  1406,  1407,  1477,  1247,  1248,
02274     1249,  1320,  1321,  1413,  1410,  1411,  1412,  1479,   849,   850,
02275      875,   900,   901,   902,   930,   931,   932,   933,   975,   976,
02276     1026,  1023,  1024,  1025,  1078,  1079,  1080,  1081,  1082,  1083,
02277     1153,   623,   624,   673,   711,   712,   713,   745,   746,   747,
02278      748,   770,   771,   795,   791,   792,   793,   819,   820,   821,
02279      822,   823,   824,   844,   727,   728,   729,   730,   134,   135,
02280      136,   137,   603,   604,   605,   606,   138,   139,   140,   141,
02281      360,   361,   362,   363,   615,   616,   617,   618,   941,   429,
02282     1053,  1107,   799,   915,   430,   853,   831,   180,   876,   805,
02283      431,   674,   142,   462,   895,   432,  1204,  1205,  1289,  1290,
02284     1372,  1373,  1456,  1453,  1206,  1286,  1369,  1370,  1371,  1457,
02285     1458,   489,  1436,   237,   238,   387
02286 };
02287 
02288 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
02289    STATE-NUM.  */
02290 #define YYPACT_NINF -1323
02291 static const yytype_int16 yypact[] =
02292 {
02293      155, -1323, -1323,    63,    39,    91, -1323, -1323,   103,    67,
02294      361, -1323,   363, -1323, -1323, -1323,    71,   375,    85, -1323,
02295    -1323, -1323, -1323,    39, -1323, -1323, -1323, -1323, -1323,    81,
02296      384,    -8, -1323, -1323, -1323, -1323,   143, -1323, -1323,    88,
02297      145, -1323, -1323, -1323,   103, -1323,    89,   388,   -17, -1323,
02298    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02299    -1323, -1323, -1323,    96,   189, -1323, -1323,   208, -1323,   403,
02300    -1323,   407, -1323,   415, -1323,   417, -1323,   421, -1323,   423,
02301    -1323,   425, -1323,   157,    97, -1323,   167, -1323, -1323,   195,
02302    -1323, -1323, -1323, -1323, -1323,   147,   427,    -3, -1323, -1323,
02303    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   148,
02304      -30, -1323, -1323,   429, -1323, -1323, -1323, -1323, -1323, -1323,
02305    -1323,   190, -1323,   157, -1323, -1323, -1323,   224, -1323,   242,
02306    -1323,   431,   208, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02307    -1323, -1323, -1323,    35, -1323, -1323, -1323, -1323,    27, -1323,
02308    -1323, -1323, -1323,    28, -1323, -1323, -1323, -1323,    40, -1323,
02309    -1323, -1323, -1323,    31, -1323, -1323, -1323, -1323,    26, -1323,
02310    -1323, -1323, -1323,     9, -1323, -1323, -1323, -1323, -1323,   433,
02311    -1323, -1323,   182,   255, -1323, -1323,   231, -1323, -1323, -1323,
02312    -1323, -1323, -1323,    82, -1323, -1323, -1323, -1323, -1323, -1323,
02313    -1323, -1323, -1323, -1323, -1323,   210,   146, -1323, -1323,   435,
02314    -1323,   437, -1323,   443, -1323,   450, -1323,   454, -1323,   157,
02315    -1323, -1323,    18, -1323, -1323, -1323, -1323,   260,   187,   270,
02316      187,   279,   187,   305, -1323,   456, -1323,   285,    -1, -1323,
02317    -1323,   -62, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   177,
02318    -1323, -1323,   161, -1323, -1323,   159, -1323, -1323,   185, -1323,
02319    -1323,   191, -1323, -1323,   163, -1323, -1323,   151,   323,   -13,
02320    -1323, -1323, -1323, -1323, -1323,   264,   341, -1323, -1323,   268,
02321    -1323, -1323, -1323,   458,   105, -1323, -1323, -1323, -1323, -1323,
02322    -1323, -1323, -1323, -1323, -1323, -1323, -1323,   284,   135, -1323,
02323    -1323,   461, -1323,   463, -1323,   467, -1323,   469, -1323,   471,
02324    -1323,   345, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   190,
02325    -1323,   157, -1323, -1323,    41, -1323, -1323, -1323, -1323,    42,
02326    -1323, -1323, -1323, -1323,    13, -1323, -1323, -1323, -1323,    16,
02327    -1323, -1323, -1323, -1323,    21, -1323, -1323, -1323, -1323,   473,
02328    -1323, -1323, -1323,   218,   479, -1323,   416, -1323, -1323, -1323,
02329    -1323, -1323, -1323, -1323,   479, -1323, -1323, -1323, -1323,   479,
02330    -1323, -1323, -1323, -1323,   449, -1323,    78, -1323, -1323, -1323,
02331    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02332    -1323, -1323,   327,   283, -1323, -1323, -1323, -1323, -1323, -1323,
02333    -1323, -1323, -1323, -1323, -1323, -1323,   321,   347, -1323, -1323,
02334    -1323,   408,   523, -1323, -1323, -1323, -1323, -1323, -1323,   -20,
02335    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02336    -1323, -1323, -1323, -1323, -1323,    20, -1323, -1323, -1323, -1323,
02337       17, -1323, -1323, -1323, -1323,    25, -1323, -1323, -1323, -1323,
02338       43, -1323, -1323, -1323, -1323,    37, -1323, -1323, -1323, -1323,
02339    -1323,   477, -1323,   532,   187,   557,   187,   559,   187,   569,
02340    -1323,   486, -1323, -1323, -1323,   455, -1323, -1323,   478, -1323,
02341    -1323,   432, -1323, -1323,   439, -1323, -1323, -1323,   460, -1323,
02342       90, -1323, -1323, -1323, -1323, -1323,   527, -1323, -1323,   529,
02343    -1323,   530, -1323, -1323,   533, -1323, -1323,   481,   485, -1323,
02344    -1323, -1323, -1323, -1323,   490,   223, -1323, -1323, -1323,   492,
02345      364, -1323,   549, -1323, -1323,   572,   -82, -1323, -1323,   626,
02346      633,   634,   635, -1323, -1323,   466, -1323, -1323,   465, -1323,
02347    -1323,   482, -1323, -1323,   553, -1323, -1323,   518,   641,   -66,
02348    -1323, -1323, -1323, -1323,   479, -1323, -1323, -1323, -1323,   479,
02349    -1323, -1323, -1323, -1323,   479, -1323, -1323, -1323, -1323,   642,
02350    -1323,   139, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02351    -1323, -1323, -1323,   495,   499, -1323, -1323, -1323, -1323, -1323,
02352    -1323, -1323, -1323, -1323,   494,   364,   474, -1323, -1323,   650,
02353    -1323, -1323, -1323, -1323, -1323, -1323, -1323,   503, -1323, -1323,
02354      653, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02355    -1323, -1323, -1323, -1323,   627,   648,    57, -1323, -1323, -1323,
02356    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   468,
02357      476, -1323, -1323,   457, -1323,   459, -1323,   462, -1323, -1323,
02358      470, -1323, -1323,   511,   513, -1323, -1323, -1323, -1323,   496,
02359      364,   515, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02360    -1323, -1323, -1323,   498, -1323,   491, -1323, -1323,   667, -1323,
02361    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   340,
02362    -1323, -1323, -1323, -1323, -1323, -1323,   500,   364,   519, -1323,
02363    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   666,   -75,
02364    -1323, -1323, -1323, -1323, -1323,   535,   208,   668, -1323,    19,
02365    -1323,   672, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02366    -1323, -1323, -1323, -1323,   525, -1323, -1323, -1323, -1323, -1323,
02367    -1323, -1323, -1323, -1323, -1323,   521,   505, -1323, -1323, -1323,
02368      472,   502,   504,   208, -1323, -1323, -1323, -1323, -1323, -1323,
02369    -1323, -1323, -1323,   493, -1323, -1323, -1323, -1323, -1323, -1323,
02370      506,   263, -1323,   539,   657,    36, -1323, -1323, -1323, -1323,
02371      -87, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,     5,
02372    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02373    -1323,   576,   661, -1323,   508, -1323, -1323, -1323,   545, -1323,
02374    -1323,   517,   509, -1323, -1323,   684, -1323, -1323, -1323,   537,
02375      292, -1323, -1323, -1323, -1323,   686, -1323,   541,   670, -1323,
02376      510, -1323,   689,   497, -1323, -1323, -1323, -1323, -1323, -1323,
02377    -1323,   512,   254, -1323,   622, -1323, -1323, -1323, -1323,   531,
02378      673, -1323,   514, -1323,   691,   501, -1323, -1323, -1323, -1323,
02379    -1323, -1323,   487,   507,   671,   547, -1323, -1323, -1323, -1323,
02380    -1323, -1323, -1323, -1323, -1323,   516, -1323,   697,   586, -1323,
02381    -1323, -1323, -1323, -1323, -1323,   562,   601,   690, -1323, -1323,
02382    -1323,   608,   671, -1323,   520, -1323, -1323,   707,   -26, -1323,
02383    -1323, -1323, -1323, -1323, -1323,   602,   612,   700, -1323, -1323,
02384    -1323, -1323,   522, -1323,   524, -1323, -1323, -1323,   526,   528,
02385    -1323,   714,   -24, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02386      564,   577, -1323, -1323, -1323, -1323, -1323, -1323,   534, -1323,
02387      536, -1323,   579,   617, -1323, -1323, -1323, -1323,   720,   -86,
02388    -1323, -1323, -1323, -1323,   583,   621, -1323, -1323, -1323, -1323,
02389      281, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   551,   543,
02390    -1323,   692, -1323, -1323, -1323,   538,   263,   585,   630, -1323,
02391    -1323, -1323, -1323,   727,   -22, -1323, -1323, -1323, -1323, -1323,
02392    -1323, -1323, -1323,   628,   646,   722, -1323, -1323, -1323,   554,
02393      599, -1323,   704, -1323, -1323, -1323, -1323,   636,   651,   722,
02394    -1323, -1323,   556,   558, -1323,   706, -1323, -1323, -1323, -1323,
02395      735,    32, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02396    -1323, -1323, -1323, -1323, -1323,   637,   655,   722, -1323, -1323,
02397    -1323,   629,   640, -1323,   713,   540,   378, -1323, -1323,   659,
02398      722, -1323,   542, -1323, -1323, -1323, -1323, -1323,   745,   544,
02399      360, -1323, -1323,   663,   722,   546, -1323, -1323, -1323, -1323,
02400      548,   750,   479, -1323,   754, -1323, -1323, -1323,   606,   296,
02401    -1323, -1323, -1323, -1323,   550,   324, -1323, -1323,   674,   722,
02402      552, -1323, -1323, -1323, -1323, -1323,   753,   -37, -1323, -1323,
02403    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02404      631,   722,   555, -1323,   759,   665, -1323, -1323, -1323, -1323,
02405      760,   565, -1323,   -69, -1323, -1323, -1323, -1323, -1323, -1323,
02406    -1323, -1323, -1323, -1323, -1323,   638,   722,   563, -1323,   665,
02407    -1323, -1323, -1323, -1323,   765,     4, -1323, -1323, -1323, -1323,
02408    -1323,   567, -1323,   705, -1323, -1323,   -49, -1323, -1323, -1323,
02409    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   639,   722,
02410      566, -1323,   665, -1323, -1323, -1323, -1323,   766,   479, -1323,
02411    -1323, -1323, -1323,   632,   643, -1323,   737,   654, -1323, -1323,
02412      772, -1323,   610,   722,   571, -1323,   665, -1323, -1323, -1323,
02413    -1323, -1323,   740,   675, -1323,   658, -1323, -1323, -1323, -1323,
02414      644, -1323, -1323, -1323,   645,   581, -1323,   748,   664, -1323,
02415    -1323, -1323,   614,   722,   573, -1323,   665, -1323, -1323, -1323,
02416    -1323,   685, -1323, -1323, -1323, -1323,   589, -1323, -1323, -1323,
02417    -1323, -1323, -1323,   649,   669, -1323,   755,   677, -1323, -1323,
02418    -1323,   615,   722,   575, -1323,   665, -1323, -1323, -1323, -1323,
02419      695, -1323, -1323,   680, -1323, -1323, -1323,   578, -1323,   580,
02420      243, -1323, -1323,   603,   722,   582, -1323,   665, -1323, -1323,
02421    -1323, -1323,   710, -1323, -1323, -1323,   584, -1323, -1323, -1323,
02422    -1323, -1323, -1323, -1323, -1323, -1323,   588, -1323,   590,   243,
02423    -1323,   605,   722,   592, -1323,   665, -1323, -1323, -1323, -1323,
02424      711, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   594, -1323,
02425      596,   243, -1323,   616,   722,   598, -1323,   665, -1323, -1323,
02426    -1323, -1323,   712, -1323, -1323, -1323, -1323,   801,    30, -1323,
02427    -1323, -1323, -1323,   665, -1323, -1323, -1323, -1323, -1323, -1323,
02428    -1323, -1323, -1323, -1323, -1323,   722,   600, -1323,   665, -1323,
02429    -1323, -1323, -1323,   716, -1323, -1323,   802,    45, -1323, -1323,
02430    -1323, -1323,   799,   574,   804,    11, -1323, -1323, -1323, -1323,
02431      665, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02432    -1323,   722,   604, -1323,   665, -1323, -1323, -1323, -1323,   717,
02433    -1323, -1323,   808,    48, -1323, -1323, -1323, -1323,   665, -1323,
02434    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   722,
02435      607, -1323,   665, -1323, -1323, -1323, -1323,   719, -1323, -1323,
02436    -1323, -1323, -1323, -1323, -1323,   676, -1323,   693, -1323,   609,
02437    -1323,   665, -1323, -1323, -1323, -1323,   678, -1323, -1323, -1323,
02438      715, -1323,   811, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02439    -1323,   618, -1323,   696, -1323,   611, -1323,   665, -1323, -1323,
02440    -1323, -1323,   688, -1323, -1323, -1323, -1323,   709, -1323,   698,
02441    -1323,   613, -1323,   665, -1323, -1323, -1323, -1323,   694, -1323,
02442    -1323, -1323, -1323, -1323,   665, -1323, -1323, -1323, -1323,   647,
02443    -1323, -1323, -1323, -1323,   703,   824,   825, -1323, -1323, -1323,
02444      665, -1323, -1323, -1323, -1323,   652, -1323, -1323, -1323, -1323,
02445    -1323,   665, -1323, -1323, -1323, -1323,   656, -1323, -1323,   660,
02446    -1323, -1323, -1323, -1323, -1323,   662, -1323, -1323,   679, -1323,
02447    -1323, -1323, -1323, -1323, -1323, -1323
02448 };
02449 
02450 /* YYPGOTO[NTERM-NUM].  */
02451 static const yytype_int16 yypgoto[] =
02452 {
02453    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   789,   812,
02454    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02455    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02456    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02457    -1323, -1323, -1323,   773, -1323, -1323, -1323, -1323,   708, -1323,
02458    -1323, -1323, -1323, -1323,   446, -1323, -1323, -1323, -1323, -1323,
02459    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02460    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02461    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02462    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02463    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02464      436, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02465    -1323, -1323, -1323,   726, -1323, -1323, -1323, -1323, -1323, -1323,
02466    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02467    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02468    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02469    -1323, -1323, -1323, -1323,   334, -1323, -1323, -1323, -1323, -1323,
02470    -1323, -1323, -1323, -1323, -1323, -1323, -1323,   681, -1323, -1323,
02471    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02472    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02473    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02474    -1323, -1323, -1323, -1323, -1323, -1323,   261, -1323, -1323, -1323,
02475    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   561,
02476    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02477    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02478    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02479    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   204, -1323,
02480    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02481    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02482    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02483    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02484    -1323,   192, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02485    -1323, -1323, -1323, -1323, -1323, -1323, -1323,   322, -1323, -1323,
02486    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,    94,
02487    -1323, -1323, -1323, -1323, -1323,    38, -1323, -1323, -1323, -1323,
02488    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02489    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02490    -1323, -1323,  -120, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02491    -1323, -1323, -1323, -1323,  -162, -1323, -1323, -1323, -1323, -1323,
02492    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02493    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02494    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02495    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02496    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02497    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02498     -363, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  -365, -1323,
02499    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02500    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02501    -1323, -1323,  -146, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02502    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02503    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02504    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02505    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02506    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02507    -1323, -1323, -1323, -1323, -1323, -1323,  -329, -1323, -1323, -1323,
02508    -1323, -1323, -1323, -1323,  -326, -1323, -1323, -1323, -1323, -1323,
02509    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02510    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  -180, -1323,
02511    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02512    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02513    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02514    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02515    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02516    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02517    -1323,  -381, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  -383,
02518    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02519    -1323, -1323, -1323, -1323, -1323, -1323,   -65, -1323, -1323, -1323,
02520    -1323, -1323, -1323, -1323, -1323, -1323,  -214, -1323, -1323, -1323,
02521    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,   121,
02522    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,    49,
02523    -1323, -1323, -1323, -1323,  -757, -1323, -1323, -1323,  -119, -1323,
02524    -1323, -1323,  -517, -1323, -1323, -1323,  -656, -1323, -1323, -1323,
02525     -226, -1323, -1323, -1323,  -590, -1323, -1323, -1323,  -217, -1323,
02526     -999,  -981,  -106,  -175, -1323, -1323, -1323,  -111, -1323, -1323,
02527    -1323, -1323,  -658, -1323,  -869, -1323, -1130, -1323, -1323, -1323,
02528    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
02529    -1323,  -353, -1322,  -178, -1323, -1323
02530 };
02531 
02532 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
02533    positive, shift that token.  If negative, reduce the rule which
02534    number is the opposite.  If zero, do what YYDEFACT says.
02535    If YYTABLE_NINF, syntax error.  */
02536 #define YYTABLE_NINF -1
02537 static const yytype_uint16 yytable[] =
02538 {
02539      268,   497,   234,   614,   368,   667,   373,   382,  1234,  1232,
02540     1066,   500,   236,   265,   796,  1431,   502,  1432,  1433,   479,
02541      482,   536,   351,   920,   533,   760,   761,   485,   486,   539,
02542      262,   250,   253,   732,  1431,   259,  1432,  1433,  1091,   247,
02543      806,   545,  1261,   102,   256,   473,   523,   542,   476,  1450,
02544       53,  1113,  1431,  1462,  1432,  1433,  1211,   997,   757,   198,
02545      756,   388,   389,     6,  1240,  1138,  1283,   103,   390,   104,
02546      704,   105,   815,   106,   816,   817,  1241,   621,   666,  1132,
02547      103,  1478,   104,  1212,   105,   743,   106,   524,  1180,   809,
02548     1171,  1039,   810,   677,     7,   757,  1311,   756,   744,  1074,
02549     1040,  1075,  1076,  1242,  1166,    11,  1181,   740,   350,   359,
02550      678,   367,  1195,   372,   199,  1182,   200,   391,    13,   637,
02551      998,    54,   424,   107,    15,  1333,   638,    55,   425,   928,
02552       28,    56,   929,    57,   426,   543,   107,  1225,   404,   427,
02553     1213,   405,    45,   703,    85,    58,   285,  1364,    84,   524,
02554      201,  1451,    94,   108,   124,    59,    36,    60,    37,    38,
02555      477,   474,  1476,    61,   202,   546,   108,     1,     2,   181,
02556     1254,   260,   182,   286,  1434,  1400,   257,   248,   807,   818,
02557      739,    62,   966,   178,   203,   967,   870,   540,  1077,   487,
02558      204,  1133,   254,   251,  1276,   537,   534,  1428,   263,   266,
02559      470,   644,   352,   511,   483,   762,   646,   480,   220,   287,
02560      472,   648,   190,  1438,  1235,   383,   384,   385,   386,  1027,
02561       86,  1460,    87,    88,  1304,   516,   286,   239,  1447,   505,
02562      127,   128,   506,   127,   128,   288,   356,   357,   558,   126,
02563      563,   581,   568,   289,   582,   240,   529,   530,   531,   532,
02564     1464,   127,   128,  1326,   798,   129,   130,   290,   274,   291,
02565      275,  1051,   287,   199,  1473,   200,   127,   128,   599,   600,
02566      354,  1351,   322,   292,   183,  1357,   184,   185,  1480,   293,
02567      364,   294,   548,   295,   794,   296,   127,   128,   288,   369,
02568      651,   381,  1489,   652,   610,   611,   289,   127,   128,   201,
02569     1388,   129,   130,  1393,   721,   722,   127,   128,   599,   600,
02570      290,  1500,   291,   202,   276,   374,   277,   278,    54,   396,
02571      588,   399,  1416,   398,    55,  1421,   292,   397,    56,   403,
02572       57,   400,   293,   203,   294,   401,   295,  1516,   296,   204,
02573      939,   402,    58,  1102,   410,   557,   411,   562,   433,   567,
02574      719,   720,    59,  1527,    60,   412,  1440,   413,   414,   815,
02575       61,   816,   817,  1074,  1530,  1075,  1076,   127,   128,   599,
02576      600,    18,    19,    23,    24,   610,   611,   460,    62,  1102,
02577     1536,   721,   722,   127,   128,    31,    32,   129,   130,   356,
02578      357,  1539,  1466,   893,    48,    49,   602,  1102,    97,    98,
02579      913,   613,   495,   127,   128,   599,   600,   127,   128,   599,
02580      600,   610,   611,   143,   144,   610,   611,   148,   149,   498,
02581     1482,   127,   128,   599,   600,   153,   154,   158,   159,   610,
02582      611,   163,   164,   168,   169,   173,   174,   193,   194,   222,
02583      223,   241,   242,   269,   270,   324,   325,   329,   330,   682,
02584      683,   684,   685,   334,   335,   503,  1106,   512,   686,  1029,
02585      339,   340,   391,   733,   344,   345,   376,   377,   419,   420,
02586     1131,   435,   436,   440,   441,   517,   665,   445,   446,   450,
02587      451,   455,   456,   490,   491,   485,   486,   549,   550,  1010,
02588     1011,   706,   521,   707,   708,  1164,   571,   572,   404,   717,
02589      596,   597,   607,   608,   661,   662,   698,   699,   709,   710,
02590      734,   735,   775,   776,   780,   781,   789,   790,   833,   834,
02591      855,   856,   865,   866,   878,   879,   898,   899,   522,  1105,
02592      922,   923,   943,   944,   949,   950,   955,   956,   960,   961,
02593      759,   702,   554,  1130,   978,   979,   984,   985,  1021,  1022,
02594     1097,  1098,  1115,  1116,  1123,  1124,  1139,  1140,  1145,  1146,
02595     1156,  1157,  1172,  1173,   767,  1196,  1197,   559,  1163,   564,
02596      731,  1208,  1209,  1226,  1227,   576,  1255,  1256,   738,   569,
02597      786,  1277,  1278,  1305,  1306,  1327,  1328,   788,  1338,  1339,
02598     1343,  1344,  1358,  1359,  1367,  1368,   577,   755,  1375,  1376,
02599     1380,  1381,  1394,  1395,  1403,  1404,  1408,  1409,  1422,  1423,
02600     1441,  1442,  1454,  1455,  1467,  1468,   825,  1483,  1484,  1494,
02601     1495,  1510,  1511,  1521,  1522,   832,   578,   579,   580,   587,
02602      590,   591,   627,   589,   755,   592,   505,   619,   620,   628,
02603      629,   630,   631,   632,   633,   634,   635,   636,   649,   657,
02604      581,   854,   797,   669,   668,   670,   671,   672,   675,   690,
02605      687,   637,   692,   691,   651,   694,   714,   705,   693,   872,
02606      718,   741,   742,   877,   758,   765,   749,   766,   744,   787,
02607     1350,   768,   888,   772,   800,   803,   829,   838,   810,   843,
02608      871,   826,   847,   839,   851,   860,   897,   883,   848,   889,
02609      874,   873,   861,   903,   893,   908,   884,   904,   909,  1387,
02610      910,   845,   913,   927,   890,   921,   939,   916,   935,  1151,
02611      965,   936,   973,   869,   992,   934,   996,   896,  1006,  1019,
02612      989,  1415,   928,  1038,  1003,   948,  1031,  1034,  1047,  1048,
02613     1051,  1057,   997,  1069,  1062,  1072,  1061,  1086,  1087,   972,
02614     1095,  1093,   967,  1039,  1109,  1121,  1150,  1017,  1134,  1152,
02615     1055,   983,  1154,  1178,  1067,  1201,  1207,  1011,  1191,  1167,
02616     1202,  1233,  1262,  1239,  1266,  1221,  1250,  1238,  1271,  1180,
02617     1285,  1288,  1240,  1287,  1264,  1295,  1181,  1016,  1292,  1211,
02618     1213,  1272,  1317,  1312,  1336,  1300,  1322,  1293,  1353,  1314,
02619     1389,  1315,  1241,  1334,  1365,  1401,  1429,  1430,  1449,  1452,
02620     1459,  1417,  1448,  1474,  1475,  1490,  1501,  1504,  1054,  1493,
02621     1492,  1503,  1509,  1519,  1520,  1263,  1517,  1532,  1508,  1531,
02622     1533,  1534,  1528,    93,  1537,    44,   221,   125,  1540,   513,
02623      246,  1071,   593,   518,   688,   658,   695,   785,   622,  1018,
02624      840,  1068,  1294,  1297,  1056,  1265,  1541,  1028,  1544,   434,
02625     1092,  1268,  1094,  1316,  1319,  1155,   974,   769,  1165,   846,
02626     1030,  1108,     0,  1114,     0,  1545,     0,     0,     0,  1120,
02627        0,     0,     0,     0,     0,     0,     0,   323,     0,     0,
02628        0,  1144,     0,     0,     0,     0,     0,     0,     0,     0,
02629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02630        0,     0,     0,     0,     0,     0,     0,  1177,     0,     0,
02631        0,     0,     0,     0,  1190,     0,     0,  1104,     0,     0,
02632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02633        0,  1129,     0,     0,     0,     0,     0,     0,     0,     0,
02634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02635        0,     0,     0,     0,     0,     0,  1162,     0,     0,     0,
02636        0,     0,  1237,     0,     0,     0,     0,     0,     0,     0,
02637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02641        0,     0,     0,  1284,     0,     0,     0,     0,     0,  1291,
02642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02644        0,     0,     0,     0,     0,  1313,     0,     0,     0,     0,
02645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02646        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02647        0,     0,     0,     0,  1335,     0,     0,     0,  1337,     0,
02648        0,     0,     0,  1352,     0,     0,     0,     0,     0,     0,
02649        0,     0,     0,     0,     0,     0,     0,  1366,     0,     0,
02650        0,     0,     0,     0,     0,     0,     0,  1374,     0,     0,
02651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02652        0,     0,     0,     0,     0,     0,     0,     0,     0,  1402,
02653        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02654        0,  1349,     0,     0,     0,     0,     0,     0,     0,     0,
02655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02657     1386,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02659        0,     0,  1414,     0,     0,     0,     0,     0,     0,     0,
02660        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02661        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02662        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02664        0,     0,  1491,     0,     0,     0,     0,     0,     0,     0,
02665        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02666        0,  1502,     0,     0,     0,     0,  1505,  1506,     0,     0,
02667        0,  1507,     0,     0,     0,     0,     0,     0,     0,     0,
02668        0,     0,     0,     0,     0,     0,     0,  1518,     0,     0,
02669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02671        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
02674        0,     0,     0,     0,     0,  1542,  1543
02675 };
02676 
02677 static const yytype_int16 yycheck[] =
02678 {
02679      178,   354,   121,   520,   230,   595,   232,     8,     4,  1139,
02680     1009,   364,   123,     4,   771,     4,   369,     6,     7,     6,
02681        4,     4,     4,   892,     4,     6,     7,     6,     7,     4,
02682        4,     4,     4,   689,     4,     4,     6,     7,  1037,     4,
02683        4,     4,  1172,    60,     4,     4,    66,     4,     6,     4,
02684       58,  1050,     4,  1375,     6,     7,   125,   143,   716,    62,
02685      716,   239,   240,     0,   113,  1064,  1196,    97,   130,    99,
02686      660,   101,    67,   103,    69,    70,   125,   159,   595,  1060,
02687       97,  1403,    99,   152,   101,   160,   103,   169,   125,   176,
02688     1089,   113,   179,    36,    55,   753,  1226,   753,   173,    67,
02689      122,    69,    70,   152,  1085,    14,   143,   697,   219,   228,
02690       53,   230,  1111,   232,   117,   152,   119,   179,    15,   185,
02691      206,   129,    17,   153,    57,  1255,   192,   135,    23,   155,
02692       59,   139,   158,   141,    29,    92,   153,  1136,   151,    34,
02693      209,   154,    61,   660,    56,   153,    64,  1277,     5,   169,
02694      153,   106,    63,   183,    58,   163,    71,   165,    73,    74,
02695      118,   120,   114,   171,   167,   128,   183,    12,    13,    72,
02696     1169,   140,     5,    91,   144,  1305,   136,   142,   142,   174,
02697      697,   189,   206,    26,   187,   209,   842,   162,   156,   168,
02698      193,  1060,   164,   166,  1193,   178,   176,  1327,   172,   190,
02699      319,   554,   184,   381,   188,   186,   559,   194,    60,   127,
02700      321,   564,    65,  1343,   210,   216,   217,   218,   219,   976,
02701       75,   210,    77,    78,  1223,   403,    91,     3,  1358,   151,
02702       43,    44,   154,    43,    44,   153,    49,    50,   464,    31,
02703      466,   151,   468,   161,   154,     3,   424,   425,   426,   427,
02704     1380,    43,    44,  1252,   771,    47,    48,   175,    76,   177,
02705        5,    18,   127,   117,  1394,   119,    43,    44,    45,    46,
02706       10,  1270,    62,   191,    79,  1274,    81,    82,  1408,   197,
02707       10,   199,   460,   201,    21,   203,    43,    44,   153,    10,
02708      151,     6,  1422,   154,    51,    52,   161,    43,    44,   153,
02709     1299,    47,    48,  1302,    41,    42,    43,    44,    45,    46,
02710      175,  1441,   177,   167,    83,    10,    85,    86,   129,   142,
02711      498,   136,  1321,   164,   135,  1324,   191,   166,   139,     6,
02712      141,   140,   197,   187,   199,   172,   201,  1467,   203,   193,
02713       16,   190,   153,    19,    80,   464,     5,   466,    64,   468,
02714       10,    11,   163,  1483,   165,    87,  1355,    89,    90,    67,
02715      171,    69,    70,    67,  1494,    69,    70,    43,    44,    45,
02716       46,    10,    11,    10,    11,    51,    52,    32,   189,    19,
02717     1510,    41,    42,    43,    44,    10,    11,    47,    48,    49,
02718       50,  1521,  1391,    33,    10,    11,   515,    19,    10,    11,
02719       22,   520,   184,    43,    44,    45,    46,    43,    44,    45,
02720       46,    51,    52,    10,    11,    51,    52,    10,    11,     3,
02721     1419,    43,    44,    45,    46,    10,    11,    10,    11,    51,
02722       52,    10,    11,    10,    11,    10,    11,    10,    11,    10,
02723       11,    10,    11,    10,    11,    10,    11,    10,    11,   627,
02724      628,   629,   630,    10,    11,     6,  1046,   130,   636,   976,
02725       10,    11,   179,   689,    10,    11,    10,    11,    10,    11,
02726     1060,    10,    11,    10,    11,   154,   595,    10,    11,    10,
02727       11,    10,    11,    10,    11,     6,     7,    10,    11,   208,
02728      209,   669,    84,   671,   672,  1085,    10,    11,   151,   677,
02729       10,    11,    10,    11,    10,    11,    10,    11,    10,    11,
02730       10,    11,    10,    11,    10,    11,    10,    11,    10,    11,
02731       10,    11,    10,    11,    10,    11,    10,    11,     5,  1046,
02732       10,    11,    10,    11,    10,    11,    10,    11,    10,    11,
02733      718,   660,    10,  1060,    10,    11,    10,    11,    10,    11,
02734       10,    11,    10,    11,    10,    11,    10,    11,    10,    11,
02735       10,    11,    10,    11,   742,    10,    11,    10,  1085,    10,
02736      689,     6,     7,    10,    11,   120,    10,    11,   697,    10,
02737      758,    10,    11,    10,    11,    10,    11,   765,    10,    11,
02738       10,    11,    10,    11,    10,    11,   118,   716,    10,    11,
02739       10,    11,    10,    11,    10,    11,    10,    11,    10,    11,
02740       10,    11,    38,    39,    10,    11,   794,    10,    11,    10,
02741       11,    10,    11,    10,    11,   803,   194,   188,   168,   102,
02742      100,    98,     6,   104,   753,   154,   151,    88,    66,     6,
02743        6,     6,   176,   178,   162,    92,   128,     6,     6,   154,
02744      151,   829,   771,     3,   180,   152,     3,    30,    10,   202,
02745      192,   185,   200,   204,   151,   154,   175,   152,   198,   847,
02746        3,   152,     6,   851,     6,     3,   141,   152,   173,   186,
02747     1270,   160,   860,   211,   145,    28,    25,   142,   179,     5,
02748       68,   115,     6,   176,    24,     6,   874,     6,   157,   212,
02749       27,   170,   205,     6,    33,   883,   205,   121,   146,  1299,
02750      109,   174,    22,     6,   207,   893,    16,   109,   116,  1072,
02751        6,   109,   158,   842,   107,   903,     6,   180,   107,    37,
02752      151,  1321,   155,     6,   151,   913,   151,   107,   110,    93,
02753       18,    37,   143,    37,    93,    10,   110,   110,    93,   927,
02754       37,   122,   209,   113,    95,    10,     6,   206,    95,     5,
02755      206,   939,   156,    10,   208,     6,     6,   209,   137,    95,
02756      105,     6,     6,    68,    37,   137,   137,   210,     6,   125,
02757       40,   123,   113,   108,   152,    37,   143,   965,   144,   125,
02758      209,   181,    37,   108,   114,   181,   181,   152,   195,   210,
02759      195,   152,   125,   108,    94,    94,    94,     6,     6,    10,
02760        6,   195,    96,    96,     6,    96,   138,     6,   996,   126,
02761      144,   106,   126,   114,   126,  1178,   138,   124,   210,   182,
02762        6,     6,   138,    44,   182,    23,   110,    64,   182,   393,
02763      132,  1019,   508,   407,   640,   584,   654,   753,   526,   969,
02764      812,  1013,  1215,  1218,  1000,  1184,   196,   976,   196,   298,
02765     1038,  1187,  1042,  1244,  1247,  1079,   931,   746,  1085,   820,
02766      976,  1046,    -1,  1051,    -1,   196,    -1,    -1,    -1,  1057,
02767       -1,    -1,    -1,    -1,    -1,    -1,    -1,   206,    -1,    -1,
02768       -1,  1069,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02770       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1095,    -1,    -1,
02771       -1,    -1,    -1,    -1,  1102,    -1,    -1,  1046,    -1,    -1,
02772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02773       -1,  1060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02775       -1,    -1,    -1,    -1,    -1,    -1,  1085,    -1,    -1,    -1,
02776       -1,    -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02781       -1,    -1,    -1,  1201,    -1,    -1,    -1,    -1,    -1,  1207,
02782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02784       -1,    -1,    -1,    -1,    -1,  1233,    -1,    -1,    -1,    -1,
02785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02787       -1,    -1,    -1,    -1,  1262,    -1,    -1,    -1,  1266,    -1,
02788       -1,    -1,    -1,  1271,    -1,    -1,    -1,    -1,    -1,    -1,
02789       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1285,    -1,    -1,
02790       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1295,    -1,    -1,
02791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1317,
02793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02794       -1,  1270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02797     1299,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02799       -1,    -1,  1321,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02804       -1,    -1,  1430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02806       -1,  1449,    -1,    -1,    -1,    -1,  1454,  1455,    -1,    -1,
02807       -1,  1459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02808       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1475,    -1,    -1,
02809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02814       -1,    -1,    -1,    -1,    -1,  1533,  1534
02815 };
02816 
02817 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
02818    symbol of state STATE-NUM.  */
02819 static const yytype_uint16 yystos[] =
02820 {
02821        0,    12,    13,   221,   222,   223,     0,    55,   229,   230,
02822      231,    14,   224,    15,   228,    57,   256,   257,    10,    11,
02823      232,   233,   234,    10,    11,   225,   226,   227,    59,   336,
02824      337,    10,    11,   258,   259,   260,    71,    73,    74,   235,
02825      236,   237,   238,   239,   229,    61,   390,   391,    10,    11,
02826      338,   339,   340,    58,   129,   135,   139,   141,   153,   163,
02827      165,   171,   189,   261,   262,   263,   264,   265,   280,   281,
02828      286,   287,   292,   293,   298,   299,   304,   305,   310,   311,
02829      316,   317,   322,   323,     5,    56,    75,    77,    78,   240,
02830      241,   242,   243,   228,    63,   442,   443,    10,    11,   392,
02831      393,   394,    60,    97,    99,   101,   103,   153,   183,   341,
02832      342,   343,   344,   345,   350,   351,   357,   358,   364,   365,
02833      371,   372,   376,   377,    58,   263,    31,    43,    44,    47,
02834       48,   266,   267,   268,   928,   929,   930,   931,   936,   937,
02835      938,   939,   962,    10,    11,   282,   283,   284,    10,    11,
02836      288,   289,   290,    10,    11,   294,   295,   296,    10,    11,
02837      300,   301,   302,    10,    11,   306,   307,   308,    10,    11,
02838      312,   313,   314,    10,    11,   318,   319,   320,    26,   324,
02839      957,    72,     5,    79,    81,    82,   244,   245,   246,   247,
02840       65,   537,   538,    10,    11,   444,   445,   446,    62,   117,
02841      119,   153,   167,   187,   193,   395,   396,   397,   398,   399,
02842      404,   405,   410,   411,   416,   417,   422,   423,   428,   429,
02843       60,   343,    10,    11,   346,   347,   348,   352,   353,   359,
02844      360,   366,   367,   373,   928,   378,   957,   983,   984,     3,
02845        3,    10,    11,   269,   270,   271,   268,     4,   142,   285,
02846        4,   166,   291,     4,   164,   297,     4,   136,   303,     4,
02847      140,   309,     4,   172,   315,     4,   190,   321,   983,    10,
02848       11,   325,   326,   327,    76,     5,    83,    85,    86,   248,
02849      249,   250,   251,   539,   540,    64,    91,   127,   153,   161,
02850      175,   177,   191,   197,   199,   201,   203,   447,   448,   449,
02851      450,   451,   456,   457,   462,   463,   468,   469,   474,   475,
02852      480,   481,   497,   498,   504,   505,   511,   512,   518,   519,
02853      523,   524,    62,   397,    10,    11,   400,   401,   402,    10,
02854       11,   406,   407,   408,    10,    11,   412,   413,   414,    10,
02855       11,   418,   419,   420,    10,    11,   424,   425,   426,   430,
02856      957,     4,   184,   349,    10,   355,    49,    50,   354,   928,
02857      940,   941,   942,   943,    10,   362,   361,   928,   940,    10,
02858      369,   368,   928,   940,    10,   374,    10,    11,   379,   380,
02859      381,     6,     8,   216,   217,   218,   219,   985,   983,   983,
02860      130,   179,   272,   273,   274,   275,   142,   166,   164,   136,
02861      140,   172,   190,     6,   151,   154,   328,   329,   330,   331,
02862       80,     5,    87,    89,    90,   252,   253,   254,   255,    10,
02863       11,   542,   543,   544,    17,    23,    29,    34,   541,   949,
02864      954,   960,   965,    64,   449,    10,    11,   452,   453,   454,
02865       10,    11,   458,   459,   460,    10,    11,   464,   465,   466,
02866       10,    11,   470,   471,   472,    10,    11,   476,   477,   478,
02867       32,   482,   963,   499,   500,   506,   507,   513,   514,   520,
02868      928,   525,   957,     4,   120,   403,     6,   118,   409,     6,
02869      194,   415,     4,   188,   421,     6,     7,   168,   427,   981,
02870       10,    11,   431,   432,   433,   184,   356,   981,     3,   363,
02871      981,   370,   981,     6,   375,   151,   154,   382,   383,   384,
02872      385,   983,   130,   274,   276,   277,   983,   154,   330,   332,
02873      333,    84,     5,    66,   169,   545,   546,   547,   548,   983,
02874      983,   983,   983,     4,   176,   455,     4,   178,   461,     4,
02875      162,   467,     4,    92,   473,     4,   128,   479,   983,    10,
02876       11,   483,   484,   485,    10,   502,   501,   928,   940,    10,
02877      509,   508,   928,   940,    10,   516,   515,   928,   940,    10,
02878      521,    10,    11,   526,   527,   528,   120,   118,   194,   188,
02879      168,   151,   154,   434,   435,   436,   437,   102,   983,   104,
02880      100,    98,   154,   384,   386,   387,    10,    11,   279,    45,
02881       46,   278,   928,   932,   933,   934,   935,    10,    11,   335,
02882       51,    52,   334,   928,   932,   944,   945,   946,   947,    88,
02883       66,   159,   547,   901,   902,   549,   550,     6,     6,     6,
02884        6,   176,   178,   162,    92,   128,     6,   185,   192,   486,
02885      487,   488,   489,   503,   981,   510,   981,   517,   981,     6,
02886      522,   151,   154,   529,   530,   531,   532,   154,   436,   438,
02887      439,    10,    11,   389,   388,   928,   932,   944,   180,     3,
02888      152,     3,    30,   903,   961,    10,   554,    36,    53,   551,
02889      552,   553,   983,   983,   983,   983,   983,   192,   488,   490,
02890      202,   204,   200,   198,   154,   531,   533,   534,    10,    11,
02891      441,   440,   928,   932,   944,   152,   983,   983,   983,    10,
02892       11,   904,   905,   906,   175,   555,   556,   983,     3,    10,
02893       11,    41,    42,   491,   492,   493,   494,   924,   925,   926,
02894      927,   928,   936,   940,    10,    11,   536,   535,   928,   932,
02895      944,   152,     6,   160,   173,   907,   908,   909,   910,   141,
02896      571,   572,   557,   558,   559,   928,   936,   962,     6,   983,
02897        6,     7,   186,   495,   496,     3,   152,   983,   160,   909,
02898      911,   912,   211,   577,   578,    10,    11,   573,   574,   575,
02899       10,    11,   560,   561,   562,   559,   983,   186,   983,    10,
02900       11,   914,   915,   916,    21,   913,   924,   928,   932,   952,
02901      145,   687,   688,    28,   579,   959,     4,   142,   576,   176,
02902      179,   563,   564,   565,   566,    67,    69,    70,   174,   917,
02903      918,   919,   920,   921,   922,   983,   115,   783,   784,    25,
02904      689,   956,   983,    10,    11,   580,   581,   582,   142,   176,
02905      565,   567,   568,     5,   923,   174,   919,     6,   157,   878,
02906      879,    24,   785,   955,   983,    10,    11,   690,   691,   692,
02907        6,   205,   583,   584,   585,    10,    11,   570,   569,   928,
02908      936,    68,   983,   170,    27,   880,   958,   983,    10,    11,
02909      786,   787,   788,     6,   205,   693,   694,   695,   983,   212,
02910      207,   596,   597,    33,   586,   964,   180,   983,    10,    11,
02911      881,   882,   883,     6,   121,   789,   790,   791,   983,   146,
02912      109,   707,   708,    22,   696,   953,   109,   611,   612,   598,
02913      964,   983,    10,    11,   587,   588,   589,     6,   155,   158,
02914      884,   885,   886,   887,   983,   116,   109,   802,   803,    16,
02915      792,   948,   755,    10,    11,   709,   710,   711,   983,    10,
02916       11,   697,   698,   699,   659,    10,    11,   613,   614,   615,
02917       10,    11,   599,   600,   601,     6,   206,   209,   590,   591,
02918      592,   593,   983,   158,   886,   888,   889,   850,    10,    11,
02919      804,   805,   806,   983,    10,    11,   793,   794,   795,   151,
02920      756,   757,   107,   712,   713,   714,     6,   143,   206,   700,
02921      701,   702,   703,   151,   660,   661,   107,   616,   617,   618,
02922      208,   209,   602,   603,   604,   605,   983,   206,   592,    37,
02923      594,    10,    11,   891,   892,   893,   890,   924,   928,   932,
02924      952,   151,   851,   852,   107,   807,   808,   809,     6,   113,
02925      122,   796,   797,   798,   799,   758,   759,   110,    93,   720,
02926      721,    18,   715,   950,   983,   206,   702,    37,   704,   662,
02927      663,   110,    93,   624,   625,   619,   950,   208,   604,    37,
02928      606,   983,    10,   595,    67,    69,    70,   156,   894,   895,
02929      896,   897,   898,   899,   853,   854,   110,    93,   815,   816,
02930      810,   950,   983,   122,   798,    37,   800,    10,    11,   761,
02931      762,   763,    19,   760,   928,   932,   944,   951,   953,    95,
02932      727,   728,   722,   950,   983,    10,    11,   716,   717,   718,
02933      983,    10,   705,    10,    11,   665,   666,   667,   664,   928,
02934      932,   944,   951,   964,    95,   631,   632,   626,   950,    10,
02935       11,   620,   621,   622,   983,    10,    11,   607,   608,   609,
02936        6,   981,     5,   900,   156,   896,    10,    11,   856,   857,
02937      858,   855,   928,   932,   944,   948,   951,    95,   822,   823,
02938      817,   950,    10,    11,   811,   812,   813,   983,    10,   801,
02939      125,   143,   152,   764,   765,   766,   767,   773,   774,   775,
02940      983,   137,   734,   735,   729,   950,    10,    11,   723,   724,
02941      725,     6,   105,   719,   966,   967,   974,     6,     6,     7,
02942      706,   125,   152,   209,   668,   669,   670,   671,   677,   678,
02943      679,   137,   638,   639,   633,   950,    10,    11,   627,   628,
02944      629,   623,   966,     6,     4,   210,   610,   983,   210,    68,
02945      113,   125,   152,   859,   860,   861,   862,   868,   869,   870,
02946      137,   829,   830,   824,   950,    10,    11,   818,   819,   820,
02947      814,   966,     6,   981,   152,   766,    37,   768,   774,   776,
02948      777,     6,   181,   741,   742,   736,   950,    10,    11,   730,
02949      731,   732,   726,   966,   983,    40,   975,   108,   123,   968,
02950      969,   983,   144,   152,   670,    37,   672,   678,   680,   681,
02951      181,   645,   646,   640,   950,    10,    11,   634,   635,   636,
02952      630,   966,   108,   983,   210,   152,   861,    37,   863,   869,
02953      871,   872,   181,   836,   837,   831,   950,    10,    11,   825,
02954      826,   827,   821,   966,   108,   983,   114,   983,    10,    11,
02955      769,   770,   771,    10,    11,   779,   780,   781,   778,   928,
02956      944,   950,   983,   195,   748,   749,   743,   950,    10,    11,
02957      737,   738,   739,   733,   966,    94,   983,    10,    11,   976,
02958      977,   978,   970,   971,   983,    10,    11,   673,   674,   675,
02959       10,    11,   683,   684,   685,   682,   928,   944,   950,   195,
02960      652,   653,   647,   950,    10,    11,   641,   642,   643,   637,
02961      966,    94,   983,    10,    11,   864,   865,   866,    10,    11,
02962      874,   875,   876,   873,   928,   944,   950,   195,   843,   844,
02963      838,   950,    10,    11,   832,   833,   834,   828,   966,    94,
02964        6,     4,     6,     7,   144,   772,   982,   782,   966,   750,
02965      950,    10,    11,   744,   745,   746,   740,   966,    96,     6,
02966        4,   106,    10,   973,    38,    39,   972,   979,   980,     6,
02967      210,   676,   982,   686,   966,   654,   950,    10,    11,   648,
02968      649,   650,   644,   966,    96,     6,   114,   867,   982,   877,
02969      966,   845,   950,    10,    11,   839,   840,   841,   835,   966,
02970       96,   983,   144,   126,    10,    11,   751,   752,   753,   747,
02971      966,   138,   983,   106,     6,   983,   983,   983,   210,   126,
02972       10,    11,   655,   656,   657,   651,   966,   138,   983,   114,
02973      126,    10,    11,   846,   847,   848,   842,   966,   138,   754,
02974      966,   182,   124,     6,     6,   658,   966,   182,   849,   966,
02975      182,   196,   983,   983,   196,   196
02976 };
02977 
02978 #define yyerrok         (yyerrstatus = 0)
02979 #define yyclearin       (yychar = YYEMPTY)
02980 #define YYEMPTY         (-2)
02981 #define YYEOF           0
02982 
02983 #define YYACCEPT        goto yyacceptlab
02984 #define YYABORT         goto yyabortlab
02985 #define YYERROR         goto yyerrorlab
02986 
02987 
02988 /* Like YYERROR except do call yyerror.  This remains here temporarily
02989    to ease the transition to the new meaning of YYERROR, for GCC.
02990    Once GCC version 2 has supplanted version 1, this can go.  */
02991 
02992 #define YYFAIL          goto yyerrlab
02993 
02994 #define YYRECOVERING()  (!!yyerrstatus)
02995 
02996 #define YYBACKUP(Token, Value)                                  \
02997 do                                                              \
02998   if (yychar == YYEMPTY && yylen == 1)                          \
02999     {                                                           \
03000       yychar = (Token);                                         \
03001       yylval = (Value);                                         \
03002       yytoken = YYTRANSLATE (yychar);                           \
03003       YYPOPSTACK (1);                                           \
03004       goto yybackup;                                            \
03005     }                                                           \
03006   else                                                          \
03007     {                                                           \
03008       yyerror (&yylloc, osresult, parserData, osglData, YY_("syntax error: cannot back up")); \
03009       YYERROR;                                                  \
03010     }                                                           \
03011 while (YYID (0))
03012 
03013 
03014 #define YYTERROR        1
03015 #define YYERRCODE       256
03016 
03017 
03018 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
03019    If N is 0, then set CURRENT to the empty location which ends
03020    the previous symbol: RHS[0] (always defined).  */
03021 
03022 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
03023 #ifndef YYLLOC_DEFAULT
03024 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
03025     do                                                                  \
03026       if (YYID (N))                                                    \
03027         {                                                               \
03028           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
03029           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
03030           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
03031           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
03032         }                                                               \
03033       else                                                              \
03034         {                                                               \
03035           (Current).first_line   = (Current).last_line   =              \
03036             YYRHSLOC (Rhs, 0).last_line;                                \
03037           (Current).first_column = (Current).last_column =              \
03038             YYRHSLOC (Rhs, 0).last_column;                              \
03039         }                                                               \
03040     while (YYID (0))
03041 #endif
03042 
03043 
03044 /* YY_LOCATION_PRINT -- Print the location on the stream.
03045    This macro was not mandated originally: define only if we know
03046    we won't break user code: when these are the locations we know.  */
03047 
03048 #ifndef YY_LOCATION_PRINT
03049 # if YYLTYPE_IS_TRIVIAL
03050 #  define YY_LOCATION_PRINT(File, Loc)                  \
03051      fprintf (File, "%d.%d-%d.%d",                      \
03052               (Loc).first_line, (Loc).first_column,     \
03053               (Loc).last_line,  (Loc).last_column)
03054 # else
03055 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
03056 # endif
03057 #endif
03058 
03059 
03060 /* YYLEX -- calling `yylex' with the right arguments.  */
03061 
03062 #ifdef YYLEX_PARAM
03063 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
03064 #else
03065 # define YYLEX yylex (&yylval, &yylloc, scanner)
03066 #endif
03067 
03068 /* Enable debugging if requested.  */
03069 #if YYDEBUG
03070 
03071 # ifndef YYFPRINTF
03072 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
03073 #  define YYFPRINTF fprintf
03074 # endif
03075 
03076 # define YYDPRINTF(Args)                        \
03077 do {                                            \
03078   if (yydebug)                                  \
03079     YYFPRINTF Args;                             \
03080 } while (YYID (0))
03081 
03082 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
03083 do {                                                                      \
03084   if (yydebug)                                                            \
03085     {                                                                     \
03086       YYFPRINTF (stderr, "%s ", Title);                                   \
03087       yy_symbol_print (stderr,                                            \
03088                   Type, Value, Location, osresult, parserData, osglData); \
03089       YYFPRINTF (stderr, "\n");                                           \
03090     }                                                                     \
03091 } while (YYID (0))
03092 
03093 
03094 /*--------------------------------.
03095 | Print this symbol on YYOUTPUT.  |
03096 `--------------------------------*/
03097 
03098 /*ARGSUSED*/
03099 #if (defined __STDC__ || defined __C99__FUNC__ \
03100      || defined __cplusplus || defined _MSC_VER)
03101 static void
03102 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData)
03103 #else
03104 static void
03105 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData, osglData)
03106     FILE *yyoutput;
03107     int yytype;
03108     YYSTYPE const * const yyvaluep;
03109     YYLTYPE const * const yylocationp;
03110     OSResult *osresult;
03111     OSrLParserData *parserData;
03112     OSgLParserData *osglData;
03113 #endif
03114 {
03115   if (!yyvaluep)
03116     return;
03117   YYUSE (yylocationp);
03118   YYUSE (osresult);
03119   YYUSE (parserData);
03120   YYUSE (osglData);
03121 # ifdef YYPRINT
03122   if (yytype < YYNTOKENS)
03123     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
03124 # else
03125   YYUSE (yyoutput);
03126 # endif
03127   switch (yytype)
03128     {
03129       default:
03130         break;
03131     }
03132 }
03133 
03134 
03135 /*--------------------------------.
03136 | Print this symbol on YYOUTPUT.  |
03137 `--------------------------------*/
03138 
03139 #if (defined __STDC__ || defined __C99__FUNC__ \
03140      || defined __cplusplus || defined _MSC_VER)
03141 static void
03142 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData)
03143 #else
03144 static void
03145 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData, osglData)
03146     FILE *yyoutput;
03147     int yytype;
03148     YYSTYPE const * const yyvaluep;
03149     YYLTYPE const * const yylocationp;
03150     OSResult *osresult;
03151     OSrLParserData *parserData;
03152     OSgLParserData *osglData;
03153 #endif
03154 {
03155   if (yytype < YYNTOKENS)
03156     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
03157   else
03158     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
03159 
03160   YY_LOCATION_PRINT (yyoutput, *yylocationp);
03161   YYFPRINTF (yyoutput, ": ");
03162   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData, osglData);
03163   YYFPRINTF (yyoutput, ")");
03164 }
03165 
03166 /*------------------------------------------------------------------.
03167 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
03168 | TOP (included).                                                   |
03169 `------------------------------------------------------------------*/
03170 
03171 #if (defined __STDC__ || defined __C99__FUNC__ \
03172      || defined __cplusplus || defined _MSC_VER)
03173 static void
03174 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
03175 #else
03176 static void
03177 yy_stack_print (yybottom, yytop)
03178     yytype_int16 *yybottom;
03179     yytype_int16 *yytop;
03180 #endif
03181 {
03182   YYFPRINTF (stderr, "Stack now");
03183   for (; yybottom <= yytop; yybottom++)
03184     {
03185       int yybot = *yybottom;
03186       YYFPRINTF (stderr, " %d", yybot);
03187     }
03188   YYFPRINTF (stderr, "\n");
03189 }
03190 
03191 # define YY_STACK_PRINT(Bottom, Top)                            \
03192 do {                                                            \
03193   if (yydebug)                                                  \
03194     yy_stack_print ((Bottom), (Top));                           \
03195 } while (YYID (0))
03196 
03197 
03198 /*------------------------------------------------.
03199 | Report that the YYRULE is going to be reduced.  |
03200 `------------------------------------------------*/
03201 
03202 #if (defined __STDC__ || defined __C99__FUNC__ \
03203      || defined __cplusplus || defined _MSC_VER)
03204 static void
03205 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData)
03206 #else
03207 static void
03208 yy_reduce_print (yyvsp, yylsp, yyrule, osresult, parserData, osglData)
03209     YYSTYPE *yyvsp;
03210     YYLTYPE *yylsp;
03211     int yyrule;
03212     OSResult *osresult;
03213     OSrLParserData *parserData;
03214     OSgLParserData *osglData;
03215 #endif
03216 {
03217   int yynrhs = yyr2[yyrule];
03218   int yyi;
03219   unsigned long int yylno = yyrline[yyrule];
03220   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
03221              yyrule - 1, yylno);
03222   /* The symbols being reduced.  */
03223   for (yyi = 0; yyi < yynrhs; yyi++)
03224     {
03225       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
03226       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
03227                        &(yyvsp[(yyi + 1) - (yynrhs)])
03228                        , &(yylsp[(yyi + 1) - (yynrhs)])                , osresult, parserData, osglData);
03229       YYFPRINTF (stderr, "\n");
03230     }
03231 }
03232 
03233 # define YY_REDUCE_PRINT(Rule)          \
03234 do {                                    \
03235   if (yydebug)                          \
03236     yy_reduce_print (yyvsp, yylsp, Rule, osresult, parserData, osglData); \
03237 } while (YYID (0))
03238 
03239 /* Nonzero means print parse trace.  It is left uninitialized so that
03240    multiple parsers can coexist.  */
03241 int yydebug;
03242 #else /* !YYDEBUG */
03243 # define YYDPRINTF(Args)
03244 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
03245 # define YY_STACK_PRINT(Bottom, Top)
03246 # define YY_REDUCE_PRINT(Rule)
03247 #endif /* !YYDEBUG */
03248 
03249 
03250 /* YYINITDEPTH -- initial size of the parser's stacks.  */
03251 #ifndef YYINITDEPTH
03252 # define YYINITDEPTH 200
03253 #endif
03254 
03255 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
03256    if the built-in stack extension method is used).
03257 
03258    Do not make this value too large; the results are undefined if
03259    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
03260    evaluated with infinite-precision integer arithmetic.  */
03261 
03262 #ifndef YYMAXDEPTH
03263 # define YYMAXDEPTH 10000
03264 #endif
03265 
03266 
03267 
03268 #if YYERROR_VERBOSE
03269 
03270 # ifndef yystrlen
03271 #  if defined __GLIBC__ && defined _STRING_H
03272 #   define yystrlen strlen
03273 #  else
03274 /* Return the length of YYSTR.  */
03275 #if (defined __STDC__ || defined __C99__FUNC__ \
03276      || defined __cplusplus || defined _MSC_VER)
03277 static YYSIZE_T
03278 yystrlen (const char *yystr)
03279 #else
03280 static YYSIZE_T
03281 yystrlen (yystr)
03282     const char *yystr;
03283 #endif
03284 {
03285   YYSIZE_T yylen;
03286   for (yylen = 0; yystr[yylen]; yylen++)
03287     continue;
03288   return yylen;
03289 }
03290 #  endif
03291 # endif
03292 
03293 # ifndef yystpcpy
03294 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
03295 #   define yystpcpy stpcpy
03296 #  else
03297 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
03298    YYDEST.  */
03299 #if (defined __STDC__ || defined __C99__FUNC__ \
03300      || defined __cplusplus || defined _MSC_VER)
03301 static char *
03302 yystpcpy (char *yydest, const char *yysrc)
03303 #else
03304 static char *
03305 yystpcpy (yydest, yysrc)
03306     char *yydest;
03307     const char *yysrc;
03308 #endif
03309 {
03310   char *yyd = yydest;
03311   const char *yys = yysrc;
03312 
03313   while ((*yyd++ = *yys++) != '\0')
03314     continue;
03315 
03316   return yyd - 1;
03317 }
03318 #  endif
03319 # endif
03320 
03321 # ifndef yytnamerr
03322 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
03323    quotes and backslashes, so that it's suitable for yyerror.  The
03324    heuristic is that double-quoting is unnecessary unless the string
03325    contains an apostrophe, a comma, or backslash (other than
03326    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
03327    null, do not copy; instead, return the length of what the result
03328    would have been.  */
03329 static YYSIZE_T
03330 yytnamerr (char *yyres, const char *yystr)
03331 {
03332   if (*yystr == '"')
03333     {
03334       YYSIZE_T yyn = 0;
03335       char const *yyp = yystr;
03336 
03337       for (;;)
03338         switch (*++yyp)
03339           {
03340           case '\'':
03341           case ',':
03342             goto do_not_strip_quotes;
03343 
03344           case '\\':
03345             if (*++yyp != '\\')
03346               goto do_not_strip_quotes;
03347             /* Fall through.  */
03348           default:
03349             if (yyres)
03350               yyres[yyn] = *yyp;
03351             yyn++;
03352             break;
03353 
03354           case '"':
03355             if (yyres)
03356               yyres[yyn] = '\0';
03357             return yyn;
03358           }
03359     do_not_strip_quotes: ;
03360     }
03361 
03362   if (! yyres)
03363     return yystrlen (yystr);
03364 
03365   return yystpcpy (yyres, yystr) - yyres;
03366 }
03367 # endif
03368 
03369 /* Copy into YYRESULT an error message about the unexpected token
03370    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
03371    including the terminating null byte.  If YYRESULT is null, do not
03372    copy anything; just return the number of bytes that would be
03373    copied.  As a special case, return 0 if an ordinary "syntax error"
03374    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
03375    size calculation.  */
03376 static YYSIZE_T
03377 yysyntax_error (char *yyresult, int yystate, int yychar)
03378 {
03379   int yyn = yypact[yystate];
03380 
03381   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
03382     return 0;
03383   else
03384     {
03385       int yytype = YYTRANSLATE (yychar);
03386       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
03387       YYSIZE_T yysize = yysize0;
03388       YYSIZE_T yysize1;
03389       int yysize_overflow = 0;
03390       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
03391       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
03392       int yyx;
03393 
03394 # if 0
03395       /* This is so xgettext sees the translatable formats that are
03396          constructed on the fly.  */
03397       YY_("syntax error, unexpected %s");
03398       YY_("syntax error, unexpected %s, expecting %s");
03399       YY_("syntax error, unexpected %s, expecting %s or %s");
03400       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
03401       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
03402 # endif
03403       char *yyfmt;
03404       char const *yyf;
03405       static char const yyunexpected[] = "syntax error, unexpected %s";
03406       static char const yyexpecting[] = ", expecting %s";
03407       static char const yyor[] = " or %s";
03408       char yyformat[sizeof yyunexpected
03409                     + sizeof yyexpecting - 1
03410                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
03411                        * (sizeof yyor - 1))];
03412       char const *yyprefix = yyexpecting;
03413 
03414       /* Start YYX at -YYN if negative to avoid negative indexes in
03415          YYCHECK.  */
03416       int yyxbegin = yyn < 0 ? -yyn : 0;
03417 
03418       /* Stay within bounds of both yycheck and yytname.  */
03419       int yychecklim = YYLAST - yyn + 1;
03420       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
03421       int yycount = 1;
03422 
03423       yyarg[0] = yytname[yytype];
03424       yyfmt = yystpcpy (yyformat, yyunexpected);
03425 
03426       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
03427         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
03428           {
03429             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
03430               {
03431                 yycount = 1;
03432                 yysize = yysize0;
03433                 yyformat[sizeof yyunexpected - 1] = '\0';
03434                 break;
03435               }
03436             yyarg[yycount++] = yytname[yyx];
03437             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
03438             yysize_overflow |= (yysize1 < yysize);
03439             yysize = yysize1;
03440             yyfmt = yystpcpy (yyfmt, yyprefix);
03441             yyprefix = yyor;
03442           }
03443 
03444       yyf = YY_(yyformat);
03445       yysize1 = yysize + yystrlen (yyf);
03446       yysize_overflow |= (yysize1 < yysize);
03447       yysize = yysize1;
03448 
03449       if (yysize_overflow)
03450         return YYSIZE_MAXIMUM;
03451 
03452       if (yyresult)
03453         {
03454           /* Avoid sprintf, as that infringes on the user's name space.
03455              Don't have undefined behavior even if the translation
03456              produced a string with the wrong number of "%s"s.  */
03457           char *yyp = yyresult;
03458           int yyi = 0;
03459           while ((*yyp = *yyf) != '\0')
03460             {
03461               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
03462                 {
03463                   yyp += yytnamerr (yyp, yyarg[yyi++]);
03464                   yyf += 2;
03465                 }
03466               else
03467                 {
03468                   yyp++;
03469                   yyf++;
03470                 }
03471             }
03472         }
03473       return yysize;
03474     }
03475 }
03476 #endif /* YYERROR_VERBOSE */
03477 
03478 
03479 /*-----------------------------------------------.
03480 | Release the memory associated to this symbol.  |
03481 `-----------------------------------------------*/
03482 
03483 /*ARGSUSED*/
03484 #if (defined __STDC__ || defined __C99__FUNC__ \
03485      || defined __cplusplus || defined _MSC_VER)
03486 static void
03487 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData)
03488 #else
03489 static void
03490 yydestruct (yymsg, yytype, yyvaluep, yylocationp, osresult, parserData, osglData)
03491     const char *yymsg;
03492     int yytype;
03493     YYSTYPE *yyvaluep;
03494     YYLTYPE *yylocationp;
03495     OSResult *osresult;
03496     OSrLParserData *parserData;
03497     OSgLParserData *osglData;
03498 #endif
03499 {
03500   YYUSE (yyvaluep);
03501   YYUSE (yylocationp);
03502   YYUSE (osresult);
03503   YYUSE (parserData);
03504   YYUSE (osglData);
03505 
03506   if (!yymsg)
03507     yymsg = "Deleting";
03508   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
03509 
03510   switch (yytype)
03511     {
03512 
03513       default:
03514         break;
03515     }
03516 }
03517 
03518 /* Prevent warnings from -Wmissing-prototypes.  */
03519 #ifdef YYPARSE_PARAM
03520 #if defined __STDC__ || defined __cplusplus
03521 int yyparse (void *YYPARSE_PARAM);
03522 #else
03523 int yyparse ();
03524 #endif
03525 #else /* ! YYPARSE_PARAM */
03526 #if defined __STDC__ || defined __cplusplus
03527 int yyparse (OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData);
03528 #else
03529 int yyparse ();
03530 #endif
03531 #endif /* ! YYPARSE_PARAM */
03532 
03533 
03534 
03535 
03536 
03537 /*-------------------------.
03538 | yyparse or yypush_parse.  |
03539 `-------------------------*/
03540 
03541 #ifdef YYPARSE_PARAM
03542 #if (defined __STDC__ || defined __C99__FUNC__ \
03543      || defined __cplusplus || defined _MSC_VER)
03544 int
03545 yyparse (void *YYPARSE_PARAM)
03546 #else
03547 int
03548 yyparse (YYPARSE_PARAM)
03549     void *YYPARSE_PARAM;
03550 #endif
03551 #else /* ! YYPARSE_PARAM */
03552 #if (defined __STDC__ || defined __C99__FUNC__ \
03553      || defined __cplusplus || defined _MSC_VER)
03554 int
03555 yyparse (OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData)
03556 #else
03557 int
03558 yyparse (osresult, parserData, osglData)
03559     OSResult *osresult;
03560     OSrLParserData *parserData;
03561     OSgLParserData *osglData;
03562 #endif
03563 #endif
03564 {
03565 /* The lookahead symbol.  */
03566 int yychar;
03567 
03568 /* The semantic value of the lookahead symbol.  */
03569 YYSTYPE yylval;
03570 
03571 /* Location data for the lookahead symbol.  */
03572 YYLTYPE yylloc;
03573 
03574     /* Number of syntax errors so far.  */
03575     int yynerrs;
03576 
03577     int yystate;
03578     /* Number of tokens to shift before error messages enabled.  */
03579     int yyerrstatus;
03580 
03581     /* The stacks and their tools:
03582        `yyss': related to states.
03583        `yyvs': related to semantic values.
03584        `yyls': related to locations.
03585 
03586        Refer to the stacks thru separate pointers, to allow yyoverflow
03587        to reallocate them elsewhere.  */
03588 
03589     /* The state stack.  */
03590     yytype_int16 yyssa[YYINITDEPTH];
03591     yytype_int16 *yyss;
03592     yytype_int16 *yyssp;
03593 
03594     /* The semantic value stack.  */
03595     YYSTYPE yyvsa[YYINITDEPTH];
03596     YYSTYPE *yyvs;
03597     YYSTYPE *yyvsp;
03598 
03599     /* The location stack.  */
03600     YYLTYPE yylsa[YYINITDEPTH];
03601     YYLTYPE *yyls;
03602     YYLTYPE *yylsp;
03603 
03604     /* The locations where the error started and ended.  */
03605     YYLTYPE yyerror_range[2];
03606 
03607     YYSIZE_T yystacksize;
03608 
03609   int yyn;
03610   int yyresult;
03611   /* Lookahead token as an internal (translated) token number.  */
03612   int yytoken;
03613   /* The variables used to return semantic value and location from the
03614      action routines.  */
03615   YYSTYPE yyval;
03616   YYLTYPE yyloc;
03617 
03618 #if YYERROR_VERBOSE
03619   /* Buffer for error messages, and its allocated size.  */
03620   char yymsgbuf[128];
03621   char *yymsg = yymsgbuf;
03622   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
03623 #endif
03624 
03625 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
03626 
03627   /* The number of symbols on the RHS of the reduced rule.
03628      Keep to zero when no symbol should be popped.  */
03629   int yylen = 0;
03630 
03631   yytoken = 0;
03632   yyss = yyssa;
03633   yyvs = yyvsa;
03634   yyls = yylsa;
03635   yystacksize = YYINITDEPTH;
03636 
03637   YYDPRINTF ((stderr, "Starting parse\n"));
03638 
03639   yystate = 0;
03640   yyerrstatus = 0;
03641   yynerrs = 0;
03642   yychar = YYEMPTY; /* Cause a token to be read.  */
03643 
03644   /* Initialize stack pointers.
03645      Waste one element of value and location stack
03646      so that they stay on the same level as the state stack.
03647      The wasted elements are never initialized.  */
03648   yyssp = yyss;
03649   yyvsp = yyvs;
03650   yylsp = yyls;
03651 
03652 #if YYLTYPE_IS_TRIVIAL
03653   /* Initialize the default location before parsing starts.  */
03654   yylloc.first_line   = yylloc.last_line   = 1;
03655   yylloc.first_column = yylloc.last_column = 1;
03656 #endif
03657 
03658   goto yysetstate;
03659 
03660 /*------------------------------------------------------------.
03661 | yynewstate -- Push a new state, which is found in yystate.  |
03662 `------------------------------------------------------------*/
03663  yynewstate:
03664   /* In all cases, when you get here, the value and location stacks
03665      have just been pushed.  So pushing a state here evens the stacks.  */
03666   yyssp++;
03667 
03668  yysetstate:
03669   *yyssp = yystate;
03670 
03671   if (yyss + yystacksize - 1 <= yyssp)
03672     {
03673       /* Get the current used size of the three stacks, in elements.  */
03674       YYSIZE_T yysize = yyssp - yyss + 1;
03675 
03676 #ifdef yyoverflow
03677       {
03678         /* Give user a chance to reallocate the stack.  Use copies of
03679            these so that the &'s don't force the real ones into
03680            memory.  */
03681         YYSTYPE *yyvs1 = yyvs;
03682         yytype_int16 *yyss1 = yyss;
03683         YYLTYPE *yyls1 = yyls;
03684 
03685         /* Each stack pointer address is followed by the size of the
03686            data in use in that stack, in bytes.  This used to be a
03687            conditional around just the two extra args, but that might
03688            be undefined if yyoverflow is a macro.  */
03689         yyoverflow (YY_("memory exhausted"),
03690                     &yyss1, yysize * sizeof (*yyssp),
03691                     &yyvs1, yysize * sizeof (*yyvsp),
03692                     &yyls1, yysize * sizeof (*yylsp),
03693                     &yystacksize);
03694 
03695         yyls = yyls1;
03696         yyss = yyss1;
03697         yyvs = yyvs1;
03698       }
03699 #else /* no yyoverflow */
03700 # ifndef YYSTACK_RELOCATE
03701       goto yyexhaustedlab;
03702 # else
03703       /* Extend the stack our own way.  */
03704       if (YYMAXDEPTH <= yystacksize)
03705         goto yyexhaustedlab;
03706       yystacksize *= 2;
03707       if (YYMAXDEPTH < yystacksize)
03708         yystacksize = YYMAXDEPTH;
03709 
03710       {
03711         yytype_int16 *yyss1 = yyss;
03712         union yyalloc *yyptr =
03713           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
03714         if (! yyptr)
03715           goto yyexhaustedlab;
03716         YYSTACK_RELOCATE (yyss_alloc, yyss);
03717         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
03718         YYSTACK_RELOCATE (yyls_alloc, yyls);
03719 #  undef YYSTACK_RELOCATE
03720         if (yyss1 != yyssa)
03721           YYSTACK_FREE (yyss1);
03722       }
03723 # endif
03724 #endif /* no yyoverflow */
03725 
03726       yyssp = yyss + yysize - 1;
03727       yyvsp = yyvs + yysize - 1;
03728       yylsp = yyls + yysize - 1;
03729 
03730       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
03731                   (unsigned long int) yystacksize));
03732 
03733       if (yyss + yystacksize - 1 <= yyssp)
03734         YYABORT;
03735     }
03736 
03737   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
03738 
03739   if (yystate == YYFINAL)
03740     YYACCEPT;
03741 
03742   goto yybackup;
03743 
03744 /*-----------.
03745 | yybackup.  |
03746 `-----------*/
03747 yybackup:
03748 
03749   /* Do appropriate processing given the current state.  Read a
03750      lookahead token if we need one and don't already have one.  */
03751 
03752   /* First try to decide what to do without reference to lookahead token.  */
03753   yyn = yypact[yystate];
03754   if (yyn == YYPACT_NINF)
03755     goto yydefault;
03756 
03757   /* Not known => get a lookahead token if don't already have one.  */
03758 
03759   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
03760   if (yychar == YYEMPTY)
03761     {
03762       YYDPRINTF ((stderr, "Reading a token: "));
03763       yychar = YYLEX;
03764     }
03765 
03766   if (yychar <= YYEOF)
03767     {
03768       yychar = yytoken = YYEOF;
03769       YYDPRINTF ((stderr, "Now at end of input.\n"));
03770     }
03771   else
03772     {
03773       yytoken = YYTRANSLATE (yychar);
03774       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
03775     }
03776 
03777   /* If the proper action on seeing token YYTOKEN is to reduce or to
03778      detect an error, take that action.  */
03779   yyn += yytoken;
03780   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
03781     goto yydefault;
03782   yyn = yytable[yyn];
03783   if (yyn <= 0)
03784     {
03785       if (yyn == 0 || yyn == YYTABLE_NINF)
03786         goto yyerrlab;
03787       yyn = -yyn;
03788       goto yyreduce;
03789     }
03790 
03791   /* Count tokens shifted since error; after three, turn off error
03792      status.  */
03793   if (yyerrstatus)
03794     yyerrstatus--;
03795 
03796   /* Shift the lookahead token.  */
03797   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
03798 
03799   /* Discard the shifted token.  */
03800   yychar = YYEMPTY;
03801 
03802   yystate = yyn;
03803   *++yyvsp = yylval;
03804   *++yylsp = yylloc;
03805   goto yynewstate;
03806 
03807 
03808 /*-----------------------------------------------------------.
03809 | yydefault -- do the default action for the current state.  |
03810 `-----------------------------------------------------------*/
03811 yydefault:
03812   yyn = yydefact[yystate];
03813   if (yyn == 0)
03814     goto yyerrlab;
03815   goto yyreduce;
03816 
03817 
03818 /*-----------------------------.
03819 | yyreduce -- Do a reduction.  |
03820 `-----------------------------*/
03821 yyreduce:
03822   /* yyn is the number of a rule to reduce with.  */
03823   yylen = yyr2[yyn];
03824 
03825   /* If YYLEN is nonzero, implement the default value of the action:
03826      `$$ = $1'.
03827 
03828      Otherwise, the following line sets YYVAL to garbage.
03829      This behavior is undocumented and Bison
03830      users should not rely upon it.  Assigning to YYVAL
03831      unconditionally makes the parser a bit smaller, and it avoids a
03832      GCC warning that YYVAL may be used uninitialized.  */
03833   yyval = yyvsp[1-yylen];
03834 
03835   /* Default location.  */
03836   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
03837   YY_REDUCE_PRINT (yyn);
03838   switch (yyn)
03839     {
03840         case 4:
03841 
03842     {
03843 #ifdef DEBUG
03844 yydebug = 1;
03845 #endif
03846 }
03847     break;
03848 
03849   case 5:
03850 
03851     {
03852 #ifdef DEBUG
03853 yydebug = 1;
03854 #endif
03855 }
03856     break;
03857 
03858   case 13:
03859 
03860     {   osrlerror( NULL, osresult, parserData, osglData, "unexpected end of file, expecting </osrl>");}
03861     break;
03862 
03863   case 16:
03864 
03865     {
03866         if (!osresult->setResultHeader(osglData->fileName, osglData->source,    
03867                         osglData->description, osglData->fileCreator, osglData->licence) )      
03868                 osrlerror( NULL, osresult, parserData, osglData, "setHeader failed");
03869 }
03870     break;
03871 
03872   case 17:
03873 
03874     {
03875         osglData->fileName    = "";
03876         osglData->source      = "";
03877         osglData->description = "";
03878         osglData->fileCreator = "";
03879         osglData->licence     = "";
03880 }
03881     break;
03882 
03883   case 29:
03884 
03885     {
03886         osglData->fileName = (yyvsp[(2) - (3)].sval);
03887         free((yyvsp[(2) - (3)].sval));
03888 }
03889     break;
03890 
03891   case 36:
03892 
03893     {
03894         osglData->source = (yyvsp[(2) - (3)].sval);
03895         free((yyvsp[(2) - (3)].sval));
03896 }
03897     break;
03898 
03899   case 43:
03900 
03901     {
03902         osglData->description = (yyvsp[(2) - (3)].sval);
03903         free((yyvsp[(2) - (3)].sval));
03904 }
03905     break;
03906 
03907   case 50:
03908 
03909     {
03910         osglData->fileCreator = (yyvsp[(2) - (3)].sval);
03911         free((yyvsp[(2) - (3)].sval));
03912 }
03913     break;
03914 
03915   case 57:
03916 
03917     {
03918         osglData->licence = (yyvsp[(2) - (3)].sval);
03919         free((yyvsp[(2) - (3)].sval));
03920 }
03921     break;
03922 
03923   case 60:
03924 
03925     {
03926         parserData->generalStatusPresent = false;       
03927         parserData->generalMessagePresent = false;
03928         parserData->generalServiceURIPresent = false;
03929         parserData->generalServiceNamePresent = false;
03930         parserData->generalInstanceNamePresent = false;
03931         parserData->generalJobIDPresent = false;
03932         parserData->generalSolverInvokedPresent = false;
03933         parserData->generalTimeStampPresent = false;
03934         parserData->otherGeneralResultsPresent = false;
03935         osresult->general = new GeneralResult();
03936 }
03937     break;
03938 
03939   case 79:
03940 
03941     {   if (parserData->generalStatusPresent)
03942                         osrlerror(NULL, NULL, parserData, osglData, "only one generalStatus element allowed");  
03943                 if (osresult->general->generalStatus != NULL) 
03944                         osrlerror(NULL, NULL, parserData, osglData, "generalStatus previously allocated");
03945                 parserData->generalStatusPresent = true;
03946                 parserData->typeAttributePresent = false;
03947                 parserData->descriptionAttributePresent = false;
03948                 parserData->numberAttributePresent = false;
03949                 parserData->numberOf = 0;
03950                 parserData->typeAttribute = "";
03951                 parserData->descriptionAttribute = "";
03952         }
03953     break;
03954 
03955   case 80:
03956 
03957     {   if (!parserData->typeAttributePresent)
03958                         osrlerror(NULL, NULL, parserData, osglData, "type attribute must be present for generalStatus element");
03959                 parserData->kounter = 0;
03960         }
03961     break;
03962 
03963   case 83:
03964 
03965     { 
03966                 if (osresult->setGeneralStatusType(parserData->typeAttribute) == false)
03967                         osrlerror(NULL, NULL, parserData, osglData, "general status type does not match any legal value");
03968         }
03969     break;
03970 
03971   case 84:
03972 
03973     {   
03974                 osresult->setGeneralStatusDescription(parserData->descriptionAttribute);
03975         }
03976     break;
03977 
03978   case 85:
03979 
03980     {   if (osresult->setNumberOfGeneralSubstatuses(parserData->tempInt) == false)
03981                         osrlerror(NULL, NULL, parserData, osglData, "Attempting to reallocate substatus array. Potential loss of data.");
03982                 parserData->numberOf = parserData->tempInt;
03983                 parserData->kounter = 0;
03984         }
03985     break;
03986 
03987   case 86:
03988 
03989     {   if (parserData->numberOf > 0)
03990                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <substatus> element");
03991         }
03992     break;
03993 
03994   case 87:
03995 
03996     {   if (parserData->kounter != parserData->numberOf)
03997                         osrlerror(NULL, NULL, parserData, osglData, "fewer <substatus> elements than specified");
03998         }
03999     break;
04000 
04001   case 94:
04002 
04003     {   parserData->kounter++;
04004 }
04005     break;
04006 
04007   case 95:
04008 
04009     {   if (parserData->kounter >= parserData->numberOf)
04010                 osrlerror( NULL, NULL, parserData, osglData, "more <substatus> elements than specified");
04011         parserData->nameAttributePresent = false;
04012         parserData->descriptionAttributePresent = false;
04013         parserData->nameAttribute = "";
04014         parserData->descriptionAttribute = "";
04015 }
04016     break;
04017 
04018   case 96:
04019 
04020     {   if (!parserData->nameAttributePresent)
04021                 osrlerror (NULL, NULL, parserData, osglData, "<substatus> must have name attribute");
04022 }
04023     break;
04024 
04025   case 99:
04026 
04027     {   
04028                 if (osresult->setGeneralSubstatusName(parserData->kounter, parserData->nameAttribute) == false)
04029                         osrlerror(NULL, NULL, parserData, osglData, "Error while setting <general> substatus name");
04030         }
04031     break;
04032 
04033   case 100:
04034 
04035     {   
04036                 if (osresult->setGeneralSubstatusDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04037                         osrlerror(NULL, NULL, parserData, osglData, "Error while setting <general> substatus description");
04038         }
04039     break;
04040 
04041   case 104:
04042 
04043     {   if (parserData->generalMessagePresent)
04044                         osrlerror(NULL, NULL, parserData, osglData, "only one message element allowed");
04045                 parserData->generalMessagePresent = true;
04046         }
04047     break;
04048 
04049   case 110:
04050 
04051     {osresult->setGeneralMessage((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04052     break;
04053 
04054   case 112:
04055 
04056     {   if (parserData->generalServiceURIPresent)
04057                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceURI element allowed");
04058                 parserData->generalServiceURIPresent = true;
04059         }
04060     break;
04061 
04062   case 118:
04063 
04064     {osresult->setServiceURI((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04065     break;
04066 
04067   case 120:
04068 
04069     {   if (parserData->generalServiceNamePresent)
04070                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceName element allowed");
04071                 parserData->generalServiceNamePresent = true;
04072         }
04073     break;
04074 
04075   case 126:
04076 
04077     {osresult->setServiceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04078     break;
04079 
04080   case 128:
04081 
04082     {   if (parserData->generalInstanceNamePresent)
04083                         osrlerror(NULL, NULL, parserData, osglData, "only one instanceName element allowed");
04084                 parserData->generalInstanceNamePresent = true;
04085         }
04086     break;
04087 
04088   case 134:
04089 
04090     {osresult->setInstanceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04091     break;
04092 
04093   case 136:
04094 
04095     {   if (parserData->generalJobIDPresent)
04096                         osrlerror(NULL, NULL, parserData, osglData, "only one jobID element allowed");
04097                 parserData->generalJobIDPresent = true;
04098         }
04099     break;
04100 
04101   case 142:
04102 
04103     {osresult->setJobID((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04104     break;
04105 
04106   case 144:
04107 
04108     {   if (parserData->generalSolverInvokedPresent)
04109                         osrlerror(NULL, NULL, parserData, osglData, "only one solverInvoked element allowed");
04110                 parserData->generalSolverInvokedPresent = true;
04111         }
04112     break;
04113 
04114   case 150:
04115 
04116     {osresult->setSolverInvoked((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04117     break;
04118 
04119   case 152:
04120 
04121     {   if (parserData->generalTimeStampPresent)
04122                         osrlerror(NULL, NULL, parserData, osglData, "only one timeStamp element allowed");
04123                 parserData->generalTimeStampPresent = true;
04124         }
04125     break;
04126 
04127   case 158:
04128 
04129     {osresult->setTimeStamp((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04130     break;
04131 
04132   case 160:
04133 
04134     {   if (parserData->otherGeneralResultsPresent)
04135                         osrlerror(NULL, NULL, parserData, osglData, "only one general other results element allowed");
04136                 parserData->otherGeneralResultsPresent = true;
04137         }
04138     break;
04139 
04140   case 161:
04141 
04142     {
04143         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other general results cannot be negative");
04144         if (osresult->setNumberOfOtherGeneralResults(parserData->tempInt) == false)
04145                 osrlerror(NULL, NULL, parserData, osglData, "Attempting to reallocate other general results array. Potential loss of data.");
04146         parserData->numberOf = parserData->tempInt;
04147         parserData->kounter = 0;
04148 }
04149     break;
04150 
04151   case 162:
04152 
04153     {   if (parserData->numberOf > 0)
04154                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04155         }
04156     break;
04157 
04158   case 163:
04159 
04160     {   if (parserData->kounter < parserData->numberOf - 1)
04161                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04162         }
04163     break;
04164 
04165   case 170:
04166 
04167     {   parserData->kounter++;
04168 }
04169     break;
04170 
04171   case 171:
04172 
04173     {   if (parserData->kounter >= parserData->numberOf)
04174                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04175         parserData->nameAttributePresent = false;
04176         parserData->valueAttributePresent = false;
04177         parserData->descriptionAttributePresent = false;
04178         parserData->nameAttribute = "";
04179         parserData->valueAttribute = "";
04180         parserData->descriptionAttribute = "";
04181 }
04182     break;
04183 
04184   case 172:
04185 
04186     {   if (!parserData->nameAttributePresent)
04187                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04188 }
04189     break;
04190 
04191   case 175:
04192 
04193     {   if (parserData->nameAttribute.length() == 0)
04194                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04195                 if (osresult->setOtherGeneralResultName(parserData->kounter, parserData->nameAttribute) == false)
04196                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultName failed");
04197         }
04198     break;
04199 
04200   case 176:
04201 
04202     {   
04203                 if (osresult->setOtherGeneralResultValue(parserData->kounter, parserData->valueAttribute) == false)
04204                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultValue failed");
04205         }
04206     break;
04207 
04208   case 177:
04209 
04210     {   
04211                 if (osresult->setOtherGeneralResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04212                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultDescription failed");
04213         }
04214     break;
04215 
04216   case 182:
04217 
04218     {
04219         parserData->systemInformationPresent = false;   
04220         parserData->systemAvailableDiskSpacePresent = false;    
04221         parserData->systemAvailableMemoryPresent = false;
04222         parserData->systemAvailableCPUSpeedPresent = false;
04223         parserData->systemAvailableCPUNumberPresent = false;
04224         parserData->otherSystemResultsPresent = false;
04225         osresult->system = new SystemResult();
04226 }
04227     break;
04228 
04229   case 198:
04230 
04231     {   if (parserData->systemInformationPresent)
04232                         osrlerror(NULL, NULL, parserData, osglData, "only one systemInformation element allowed");
04233                 parserData->systemInformationPresent = true;
04234         }
04235     break;
04236 
04237   case 204:
04238 
04239     {   osresult->setSystemInformation((yyvsp[(1) - (1)].sval)); 
04240                 free((yyvsp[(1) - (1)].sval)); 
04241                 parserData->errorText = NULL;
04242         }
04243     break;
04244 
04245   case 206:
04246 
04247     {   if (parserData->systemAvailableDiskSpacePresent)
04248                         osrlerror(NULL, NULL, parserData, osglData, "only one availableDiskSpace element allowed");
04249                 parserData->systemAvailableDiskSpacePresent = true;     
04250                 parserData->unitAttributePresent = false;       
04251                 parserData->descriptionAttributePresent = false;        
04252                 parserData->unitAttribute = ""; 
04253                 parserData->descriptionAttribute = "";
04254         }
04255     break;
04256 
04257   case 210:
04258 
04259     {
04260                 if (osresult->setAvailableDiskSpaceUnit( parserData->unitAttribute) == false) 
04261                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit not recognized");
04262                 parserData->errorText = NULL;
04263         }
04264     break;
04265 
04266   case 211:
04267 
04268     {   osresult->setAvailableDiskSpaceDescription( parserData->descriptionAttribute); 
04269                 parserData->errorText = NULL;
04270         }
04271     break;
04272 
04273   case 213:
04274 
04275     {   osresult->setAvailableDiskSpaceValue(parserData->tempVal);  
04276         parserData->errorText = NULL;
04277 }
04278     break;
04279 
04280   case 215:
04281 
04282     {   if (parserData->systemAvailableMemoryPresent)
04283                         osrlerror(NULL, NULL, parserData, osglData, "only one availableMemory element allowed");
04284                 parserData->systemAvailableMemoryPresent = true;
04285                 parserData->unitAttributePresent = false;       
04286                 parserData->descriptionAttributePresent = false;        
04287                 parserData->unitAttribute = ""; 
04288                 parserData->descriptionAttribute = "";
04289         }
04290     break;
04291 
04292   case 219:
04293 
04294     {
04295                 if (osresult->setAvailableMemoryUnit( parserData->unitAttribute) == false)
04296                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit not recognized");
04297                 parserData->errorText = NULL;
04298         }
04299     break;
04300 
04301   case 220:
04302 
04303     {   osresult->setAvailableMemoryDescription( parserData->descriptionAttribute); 
04304                 parserData->errorText = NULL;
04305         }
04306     break;
04307 
04308   case 222:
04309 
04310     {   osresult->setAvailableMemoryValue(parserData->tempVal);  
04311     parserData->errorText = NULL;
04312 }
04313     break;
04314 
04315   case 224:
04316 
04317     {   if (parserData->systemAvailableCPUSpeedPresent)
04318                         osrlerror(NULL, NULL, parserData, osglData, "only one availableCPUSpeed element allowed");
04319                 parserData->systemAvailableCPUSpeedPresent = true;
04320                 parserData->unitAttributePresent = false;       
04321                 parserData->descriptionAttributePresent = false;        
04322                 parserData->unitAttribute = ""; 
04323                 parserData->descriptionAttribute = "";
04324         }
04325     break;
04326 
04327   case 228:
04328 
04329     {
04330                 if (osresult->setAvailableCPUSpeedUnit( parserData->unitAttribute) == false)
04331                         osrlerror(NULL, NULL, parserData, osglData, "available CPU Speed could not be set");
04332                 parserData->errorText = NULL;
04333         }
04334     break;
04335 
04336   case 229:
04337 
04338     {   osresult->setAvailableCPUSpeedDescription( parserData->descriptionAttribute); 
04339                 parserData->errorText = NULL;
04340         }
04341     break;
04342 
04343   case 231:
04344 
04345     {   osresult->setAvailableCPUSpeedValue(parserData->tempVal);  
04346     parserData->errorText = NULL;
04347 }
04348     break;
04349 
04350   case 233:
04351 
04352     {   if (parserData->systemAvailableCPUNumberPresent)
04353                         osrlerror(NULL, NULL, parserData, osglData, "only one availableCPUNumber element allowed");
04354                 parserData->systemAvailableCPUNumberPresent = true;
04355                 parserData->descriptionAttributePresent = false;        
04356                 parserData->descriptionAttribute = "";  
04357         }
04358     break;
04359 
04360   case 235:
04361 
04362     {   osresult->setAvailableCPUNumberDescription( parserData->descriptionAttribute); 
04363                 parserData->errorText = NULL;
04364         }
04365     break;
04366 
04367   case 237:
04368 
04369     {   osresult->setAvailableCPUNumberValue( (yyvsp[(1) - (1)].ival));  parserData->errorText = NULL; }
04370     break;
04371 
04372   case 239:
04373 
04374     {   if (parserData->otherSystemResultsPresent)
04375                         osrlerror(NULL, NULL, parserData, osglData, "only one system other results element allowed");
04376                 parserData->otherSystemResultsPresent = true;
04377         }
04378     break;
04379 
04380   case 240:
04381 
04382     {
04383         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other system results cannot be negative");
04384         if (osresult->setNumberOfOtherSystemResults(parserData->tempInt) == false)
04385                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherSystemResults failed");
04386         parserData->numberOf = parserData->tempInt;
04387         parserData->kounter = 0;
04388 }
04389     break;
04390 
04391   case 241:
04392 
04393     {   if (parserData->numberOf > 0)
04394                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04395         }
04396     break;
04397 
04398   case 242:
04399 
04400     {   if (parserData->kounter < parserData->numberOf - 1)
04401                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04402         }
04403     break;
04404 
04405   case 249:
04406 
04407     {   parserData->kounter++;
04408 }
04409     break;
04410 
04411   case 250:
04412 
04413     {   if (parserData->kounter >= parserData->numberOf)
04414                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04415         parserData->nameAttributePresent = false;
04416         parserData->valueAttributePresent = false;
04417         parserData->descriptionAttributePresent = false;
04418         parserData->nameAttribute = "";
04419         parserData->valueAttribute = "";
04420         parserData->descriptionAttribute = "";
04421 }
04422     break;
04423 
04424   case 251:
04425 
04426     {   if (!parserData->nameAttributePresent)
04427                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04428 }
04429     break;
04430 
04431   case 254:
04432 
04433     {   if (parserData->nameAttribute.length() == 0)
04434                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04435                 if (osresult->setOtherSystemResultName(parserData->kounter, parserData->nameAttribute) == false)
04436                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultName failed");
04437         }
04438     break;
04439 
04440   case 255:
04441 
04442     {   
04443                 if (osresult->setOtherSystemResultValue(parserData->kounter, parserData->valueAttribute) == false)
04444                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultValue failed");
04445         }
04446     break;
04447 
04448   case 256:
04449 
04450     {   
04451                 if (osresult->setOtherSystemResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04452                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultDescription failed");
04453         }
04454     break;
04455 
04456   case 261:
04457 
04458     {
04459         parserData->serviceCurrentStatePresent = false; 
04460         parserData->serviceCurrentJobCountPresent = false;      
04461         parserData->serviceTotalJobsSoFarPresent = false;       
04462         parserData->timeServiceStartedPresent = false;  
04463         parserData->serviceUtilizationPresent = false;  
04464         parserData->otherServiceResultsPresent = false;
04465         osresult->service = new ServiceResult();
04466 }
04467     break;
04468 
04469   case 277:
04470 
04471     {   if (parserData->serviceCurrentStatePresent)
04472                         osrlerror(NULL, NULL, parserData, osglData, "only one currentState element allowed");
04473                 parserData->serviceCurrentStatePresent = true;
04474         }
04475     break;
04476 
04477   case 283:
04478 
04479     {   parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
04480                 if (osresult->setCurrentState(parserData->tempStr) == false)
04481                         osrlerror(NULL, NULL, parserData, osglData, "setCurrentState failed; current system state not recognized");
04482                 parserData->errorText = NULL;
04483         }
04484     break;
04485 
04486   case 285:
04487 
04488     {   if (parserData->serviceCurrentJobCountPresent)
04489                         osrlerror(NULL, NULL, parserData, osglData, "only one currentJobCount element allowed");
04490                 parserData->serviceCurrentJobCountPresent = true;
04491         }
04492     break;
04493 
04494   case 291:
04495 
04496     { osresult->setCurrentJobCount((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
04497     break;
04498 
04499   case 293:
04500 
04501     {   if (parserData->serviceTotalJobsSoFarPresent)
04502                         osrlerror(NULL, NULL, parserData, osglData, "only one totalJobsSoFar element allowed");
04503                 parserData->serviceTotalJobsSoFarPresent = true;
04504         }
04505     break;
04506 
04507   case 299:
04508 
04509     { osresult->setTotalJobsSoFar((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
04510     break;
04511 
04512   case 301:
04513 
04514     {   if (parserData->timeServiceStartedPresent)
04515                         osrlerror(NULL, NULL, parserData, osglData, "only one timeServiceStarted element allowed");
04516                 parserData->timeServiceStartedPresent = true;
04517         }
04518     break;
04519 
04520   case 307:
04521 
04522     {osresult->setTimeServiceStarted((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04523     break;
04524 
04525   case 309:
04526 
04527     {   if (parserData->serviceUtilizationPresent)
04528                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceUtilization element allowed");
04529                 parserData->serviceUtilizationPresent = true;
04530         }
04531     break;
04532 
04533   case 315:
04534 
04535     {   if (osresult->setServiceUtilization( parserData->tempVal) == false)
04536                 osrlerror(NULL, NULL, parserData, osglData, "setServiceUtilization failed");
04537         parserData->errorText = NULL;
04538 }
04539     break;
04540 
04541   case 317:
04542 
04543     {   if (parserData->otherServiceResultsPresent)
04544                         osrlerror(NULL, NULL, parserData, osglData, "only one service other results element allowed");
04545                 parserData->otherServiceResultsPresent = true;
04546         }
04547     break;
04548 
04549   case 318:
04550 
04551     {
04552         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other service results cannot be negative");
04553         if (osresult->setNumberOfOtherServiceResults(parserData->tempInt) == false)
04554                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherServiceResults failed");
04555         parserData->numberOf = parserData->tempInt;
04556         parserData->kounter = 0;
04557 }
04558     break;
04559 
04560   case 319:
04561 
04562     {   if (parserData->numberOf > 0)
04563                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04564         }
04565     break;
04566 
04567   case 320:
04568 
04569     {   if (parserData->kounter < parserData->numberOf - 1)
04570                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04571         }
04572     break;
04573 
04574   case 327:
04575 
04576     {   parserData->kounter++;
04577 }
04578     break;
04579 
04580   case 328:
04581 
04582     {   if (parserData->kounter >= parserData->numberOf)
04583                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04584         parserData->nameAttributePresent = false;
04585         parserData->valueAttributePresent = false;
04586         parserData->descriptionAttributePresent = false;
04587         parserData->nameAttribute = "";
04588         parserData->valueAttribute = "";
04589         parserData->descriptionAttribute = "";
04590 }
04591     break;
04592 
04593   case 329:
04594 
04595     {   if (!parserData->nameAttributePresent)
04596                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04597 }
04598     break;
04599 
04600   case 332:
04601 
04602     {   if (parserData->nameAttribute.length() == 0)
04603                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04604                 if (osresult->setOtherServiceResultName(parserData->kounter, parserData->nameAttribute) == false)
04605                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultName failed");
04606         }
04607     break;
04608 
04609   case 333:
04610 
04611     {   
04612                 if (osresult->setOtherServiceResultValue(parserData->kounter, parserData->valueAttribute) == false)
04613                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultValue failed");
04614         }
04615     break;
04616 
04617   case 334:
04618 
04619     {   
04620                 if (osresult->setOtherServiceResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04621                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultDescription failed");
04622         }
04623     break;
04624 
04625   case 339:
04626 
04627     {
04628         parserData->jobStatusPresent = false;   
04629         parserData->jobSubmitTimePresent = false;       
04630         parserData->scheduledStartTimePresent = false;  
04631         parserData->actualStartTimePresent = false;     
04632         parserData->jobEndTimePresent = false;  
04633         parserData->jobTimingInformationPresent = false;        
04634         parserData->jobUsedDiskSpacePresent = false;    
04635         parserData->jobUsedMemoryPresent = false;       
04636         parserData->jobUsedCPUSpeedPresent = false;     
04637         parserData->jobUsedCPUNumberPresent = false;    
04638         parserData->otherJobResultsPresent = false;      
04639         osresult->job = new JobResult();
04640 }
04641     break;
04642 
04643   case 360:
04644 
04645     {   if (parserData->jobStatusPresent)
04646                         osrlerror(NULL, NULL, parserData, osglData, "only one job status element allowed");
04647                 parserData->jobStatusPresent = true;
04648         }
04649     break;
04650 
04651   case 366:
04652 
04653     {   parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
04654                 if (osresult->setJobStatus(parserData->tempStr) == false)
04655                         osrlerror(NULL, NULL, parserData, osglData, "setJobStatus failed");
04656                 parserData->errorText = NULL;
04657         }
04658     break;
04659 
04660   case 368:
04661 
04662     {   if (parserData->jobSubmitTimePresent)
04663                         osrlerror(NULL, NULL, parserData, osglData, "only one submitTime element allowed");
04664                 parserData->jobSubmitTimePresent = true;
04665         }
04666     break;
04667 
04668   case 374:
04669 
04670     {osresult->setJobSubmitTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04671     break;
04672 
04673   case 376:
04674 
04675     {   if (parserData->scheduledStartTimePresent)
04676                         osrlerror(NULL, NULL, parserData, osglData, "only one scheduledStartTime element allowed");
04677                 parserData->scheduledStartTimePresent = true;
04678         }
04679     break;
04680 
04681   case 382:
04682 
04683     {osresult->setScheduledStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04684     break;
04685 
04686   case 384:
04687 
04688     {   if (parserData->actualStartTimePresent)
04689                         osrlerror(NULL, NULL, parserData, osglData, "only one actualStartTime element allowed");
04690                 parserData->actualStartTimePresent = true;
04691         }
04692     break;
04693 
04694   case 390:
04695 
04696     {osresult->setActualStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval));  parserData->errorText = NULL;}
04697     break;
04698 
04699   case 392:
04700 
04701     {   if (parserData->jobEndTimePresent)
04702                         osrlerror(NULL, NULL, parserData, osglData, "only one job endTime element allowed");
04703                 parserData->jobEndTimePresent = true;
04704         }
04705     break;
04706 
04707   case 398:
04708 
04709     {osresult->setJobEndTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval));  parserData->errorText = NULL;}
04710     break;
04711 
04712   case 400:
04713 
04714     {   if (parserData->jobTimingInformationPresent)
04715                         osrlerror(NULL, NULL, parserData, osglData, "only one timingInformation element allowed");
04716                 parserData->jobTimingInformationPresent = true;
04717         }
04718     break;
04719 
04720   case 401:
04721 
04722     {   if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of time measurements cannot be negative");
04723         if (osresult->setNumberOfTimes(parserData->tempInt) == false)
04724                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfTimes failed");
04725         parserData->numberOfTimes = parserData->tempInt;
04726         parserData->ivar = 0;
04727 }
04728     break;
04729 
04730   case 402:
04731 
04732     {   if (parserData->numberOfTimes > 0)
04733                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <time> element");
04734         }
04735     break;
04736 
04737   case 403:
04738 
04739     {   if (parserData->ivar != parserData->numberOfTimes)
04740                         osrlerror(NULL, NULL, parserData, osglData, "fewer <time> elements than specified");
04741         }
04742     break;
04743 
04744   case 411:
04745 
04746     {   if (parserData->ivar >= parserData->numberOfTimes)
04747                 osrlerror(NULL, NULL, parserData, osglData, "more <time> elements than specified");
04748         parserData->unitAttributePresent = false;
04749         parserData->typeAttributePresent = false;
04750         parserData->categoryAttributePresent = false;
04751         parserData->descriptionAttributePresent = false;
04752         parserData->unitAttribute = "second";
04753         parserData->typeAttribute = "elapsedTime";
04754         parserData->categoryAttribute = "total";
04755         parserData->descriptionAttribute = "";
04756 }
04757     break;
04758 
04759   case 423:
04760 
04761     {   
04762         if (osresult->setTimingInformation(parserData->ivar, parserData->typeAttribute, parserData->categoryAttribute,
04763                 parserData->unitAttribute, parserData->descriptionAttribute, parserData->timeValue) == false)       
04764                         osrlerror(NULL, NULL, parserData, osglData, "timing information could not be stored");
04765         parserData->ivar++;
04766 //      parserData->timeType = "elapsedTime";
04767 //      parserData->timeCategory = "total";
04768 //      parserData->timeUnit = "unit";
04769 //      parserData->timeDescription = "";      
04770 }
04771     break;
04772 
04773   case 424:
04774 
04775     { parserData->timeValue = (yyvsp[(1) - (1)].dval); }
04776     break;
04777 
04778   case 425:
04779 
04780     { parserData->timeValue = (yyvsp[(1) - (1)].ival); }
04781     break;
04782 
04783   case 427:
04784 
04785     {   if (parserData->jobUsedDiskSpacePresent)
04786                         osrlerror(NULL, NULL, parserData, osglData, "only one usedDiskSpace element allowed");
04787                 parserData->jobUsedDiskSpacePresent = true;             
04788                 parserData->unitAttributePresent = false;       
04789                 parserData->descriptionAttributePresent = false;
04790                 parserData->unitAttribute = "";
04791                 parserData->descriptionAttribute = "";
04792         }
04793     break;
04794 
04795   case 431:
04796 
04797     {
04798                 if (osresult->setUsedDiskSpaceUnit( parserData->unitAttribute) == false) 
04799                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit could not be set");
04800                 parserData->errorText = NULL;
04801         }
04802     break;
04803 
04804   case 432:
04805 
04806     {   osresult->setUsedDiskSpaceDescription( parserData->descriptionAttribute); 
04807                 parserData->errorText = NULL;
04808         }
04809     break;
04810 
04811   case 434:
04812 
04813     {   osresult->setUsedDiskSpaceValue(parserData->tempVal);  
04814         parserData->errorText = NULL;
04815 }
04816     break;
04817 
04818   case 436:
04819 
04820     {   if (parserData->jobUsedMemoryPresent)
04821                         osrlerror(NULL, NULL, parserData, osglData, "only one usedMemory element allowed");
04822                 parserData->jobUsedMemoryPresent = true;
04823                 parserData->unitAttributePresent = false;       
04824                 parserData->descriptionAttributePresent = false;        
04825                 parserData->unitAttribute = "";
04826                 parserData->descriptionAttribute = "";
04827         }
04828     break;
04829 
04830   case 440:
04831 
04832     {
04833                 if (osresult->setUsedMemoryUnit( parserData->unitAttribute) == false) 
04834                         osrlerror(NULL, NULL, parserData, osglData, "usedMemory unit could not be set");
04835                 parserData->errorText = NULL;
04836         }
04837     break;
04838 
04839   case 441:
04840 
04841     {   osresult->setUsedMemoryDescription( parserData->descriptionAttribute); 
04842                 parserData->errorText = NULL;
04843         }
04844     break;
04845 
04846   case 443:
04847 
04848     {   osresult->setUsedMemoryValue(parserData->tempVal);  
04849         parserData->errorText = NULL;
04850 }
04851     break;
04852 
04853   case 445:
04854 
04855     {   if (parserData->jobUsedCPUSpeedPresent)
04856                         osrlerror(NULL, NULL, parserData, osglData, "only one usedCPUSpeed element allowed");
04857                 parserData->jobUsedCPUSpeedPresent = true;
04858                 parserData->unitAttributePresent = false;       
04859                 parserData->descriptionAttributePresent = false;        
04860                 parserData->unitAttribute = ""; 
04861                 parserData->descriptionAttribute = "";  
04862         }
04863     break;
04864 
04865   case 449:
04866 
04867     {
04868                 if (osresult->setUsedCPUSpeedUnit( parserData->unitAttribute) == false) 
04869                         osrlerror(NULL, NULL, parserData, osglData, "availableCPUSpeed unit could not be set");
04870                 parserData->errorText = NULL;
04871         }
04872     break;
04873 
04874   case 450:
04875 
04876     {   osresult->setUsedCPUSpeedDescription( parserData->descriptionAttribute); 
04877                 parserData->errorText = NULL;
04878         }
04879     break;
04880 
04881   case 452:
04882 
04883     {   osresult->setUsedCPUSpeedValue(parserData->tempVal);  
04884         parserData->errorText = NULL;
04885 }
04886     break;
04887 
04888   case 454:
04889 
04890     {   if (parserData->jobUsedCPUNumberPresent)
04891                         osrlerror(NULL, NULL, parserData, osglData, "only one usedCPUNumber element allowed");
04892                 parserData->jobUsedCPUNumberPresent = true;
04893                 parserData->descriptionAttributePresent = false;        
04894                 parserData->descriptionAttribute = "";  
04895         }
04896     break;
04897 
04898   case 456:
04899 
04900     {   osresult->setUsedCPUNumberDescription( parserData->descriptionAttribute); 
04901                 parserData->errorText = NULL;
04902         }
04903     break;
04904 
04905   case 458:
04906 
04907     { osresult->setUsedCPUNumberValue( (yyvsp[(1) - (1)].ival));  parserData->errorText = NULL; }
04908     break;
04909 
04910   case 460:
04911 
04912     {   if (parserData->otherJobResultsPresent)
04913                         osrlerror(NULL, NULL, parserData, osglData, "only one job other results element allowed");
04914                 parserData->otherJobResultsPresent = true;
04915         }
04916     break;
04917 
04918   case 461:
04919 
04920     {
04921         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other job results cannot be negative");
04922         if (osresult->setNumberOfOtherJobResults(parserData->tempInt) == false)
04923                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherJobResults failed");
04924         parserData->numberOf = parserData->tempInt;
04925         parserData->kounter = 0;
04926 }
04927     break;
04928 
04929   case 462:
04930 
04931     {   if (parserData->numberOf > 0)
04932                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04933         }
04934     break;
04935 
04936   case 463:
04937 
04938     {   if (parserData->kounter < parserData->numberOf - 1)
04939                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04940         }
04941     break;
04942 
04943   case 470:
04944 
04945     {   parserData->kounter++;
04946 }
04947     break;
04948 
04949   case 471:
04950 
04951     {   if (parserData->kounter >= parserData->numberOf)
04952                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04953         parserData->nameAttributePresent = false;
04954         parserData->valueAttributePresent = false;
04955         parserData->descriptionAttributePresent = false;
04956         parserData->nameAttribute = "";
04957         parserData->valueAttribute = "";
04958         parserData->descriptionAttribute = "";
04959 }
04960     break;
04961 
04962   case 472:
04963 
04964     {   if (!parserData->nameAttributePresent)
04965                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04966 }
04967     break;
04968 
04969   case 475:
04970 
04971     {   if (parserData->nameAttribute.length() == 0)
04972                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04973                 if (osresult->setOtherJobResultName(parserData->kounter, parserData->nameAttribute) == false)
04974                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultName failed");
04975         }
04976     break;
04977 
04978   case 476:
04979 
04980     {   
04981                 if (osresult->setOtherJobResultValue(parserData->kounter, parserData->valueAttribute) == false)
04982                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultValue failed");
04983         }
04984     break;
04985 
04986   case 477:
04987 
04988     {   
04989                 if (osresult->setOtherJobResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04990                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultDescription failed");
04991         }
04992     break;
04993 
04994   case 482:
04995 
04996     {
04997         parserData->numberAttributePresent = false;
04998         parserData->nVarPresent = false;
04999         parserData->nObjPresent = false;
05000         parserData->nConPresent = false;
05001 }
05002     break;
05003 
05004   case 483:
05005 
05006     {   if (!parserData->numberAttributePresent)
05007                 osrlerror (NULL, NULL, parserData, osglData, "numberOfSolutions was never set");
05008 }
05009     break;
05010 
05011   case 486:
05012 
05013     {
05014                 parserData->numberOfSolutions = parserData->tempInt; 
05015                 if (osresult->setSolutionNumber(parserData->tempInt) == false)
05016                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionNumber failed");
05017                 parserData->solutionIdx = 0;
05018         }
05019     break;
05020 
05021   case 487:
05022 
05023     {   
05024                 parserData->numberOfVariables = parserData->tempInt; 
05025                 if (osresult->setVariableNumber(parserData->tempInt) == false)
05026                         osrlerror(NULL, NULL, parserData, osglData, "setVariableNumber failed");
05027         }
05028     break;
05029 
05030   case 488:
05031 
05032     {
05033                 parserData->numberOfConstraints = parserData->tempInt; 
05034                 if (osresult->setConstraintNumber(parserData->tempInt) == false)
05035                         osrlerror(NULL, NULL, parserData, osglData, "setConstraintNumber failed");
05036         }
05037     break;
05038 
05039   case 489:
05040 
05041     {   
05042                 parserData->numberOfObjectives = parserData->tempInt; 
05043                 if (osresult->setObjectiveNumber(parserData->tempInt) == false)
05044                         osrlerror(NULL, NULL, parserData, osglData, "setObjectiveNumber failed");
05045         }
05046     break;
05047 
05048   case 490:
05049 
05050     {   if (parserData->numberOfSolutions > 0)
05051                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <solution> element");
05052         }
05053     break;
05054 
05055   case 491:
05056 
05057     {   if (parserData->solutionIdx != parserData->numberOfSolutions)
05058                         osrlerror(NULL, NULL, parserData, osglData, "fewer <solution> elements than specified");
05059         }
05060     break;
05061 
05062   case 499:
05063 
05064     {
05065         if (parserData->solutionIdx >= parserData->numberOfSolutions) 
05066         osrlerror(NULL, NULL, parserData, osglData, "too many solutions"); 
05067         parserData->idxAttributePresent = false;
05068         parserData->weightedObjAttributePresent = false;
05069 }
05070     break;
05071 
05072   case 505:
05073 
05074     {   if (parserData->idxAttributePresent)
05075                 osrlerror(NULL, NULL, parserData, osglData, "target objective idx previously set");
05076         parserData->idxAttributePresent = true;
05077         if((yyvsp[(3) - (4)].ival) >= 0) osrlerror(NULL, NULL, parserData, osglData, "target objective index must be negative");
05078         if (osresult->setSolutionTargetObjectiveIdx(parserData->solutionIdx, (yyvsp[(3) - (4)].ival)) == false)
05079                 osrlerror(NULL, NULL, parserData, osglData, "setSolutionTargetObjectiveIdx failed");
05080  }
05081     break;
05082 
05083   case 506:
05084 
05085     {   if (parserData->weightedObjAttributePresent)
05086                 osrlerror(NULL, NULL, parserData, osglData, "target objective idx previously set");
05087         parserData->weightedObjAttributePresent = true;
05088         parserData->tempStr = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
05089         if (parserData->tempStr == "true")
05090         {       if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, true) == false)
05091                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionWeightedObjectives failed");
05092         }
05093         else if (parserData->tempStr == "false")
05094         {       if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, false) == false)
05095                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionWeightedObjectives failed");
05096         }
05097         else
05098                 osrlerror(NULL, NULL, parserData, osglData, "weightedobjectives must be true or false");
05099 }
05100     break;
05101 
05102   case 507:
05103 
05104     {
05105                 parserData->solutionIdx++;
05106         }
05107     break;
05108 
05109   case 509:
05110 
05111     {
05112                 parserData->typeAttributePresent = false;
05113                 parserData->descriptionAttributePresent = false;
05114                 parserData->numberAttributePresent = false;
05115                 parserData->numberOf = 0;
05116                 parserData->typeAttribute = "";
05117                 parserData->descriptionAttribute = "";
05118         }
05119     break;
05120 
05121   case 510:
05122 
05123     {   if (!parserData->typeAttributePresent)
05124                         osrlerror(NULL, NULL, parserData, osglData, "type attribute must be present for solution status element");
05125         }
05126     break;
05127 
05128   case 513:
05129 
05130     {   
05131                 if (osresult->setSolutionStatusType(parserData->solutionIdx, parserData->typeAttribute) == false)
05132                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionStatusType failed");
05133         }
05134     break;
05135 
05136   case 514:
05137 
05138     {   if (osresult->setSolutionStatusDescription(parserData->solutionIdx, parserData->descriptionAttribute) == false)
05139                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionStatusDescription failed");
05140         }
05141     break;
05142 
05143   case 515:
05144 
05145     {   if (osresult->setNumberOfSolutionSubstatuses(parserData->solutionIdx, parserData->tempInt) == false)
05146                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfSolutionSubstatuses failed");
05147                 parserData->numberOf = parserData->tempInt;
05148                 parserData->kounter = 0;
05149         }
05150     break;
05151 
05152   case 516:
05153 
05154     {   if (parserData->numberOf > 0)
05155                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <substatus> element");
05156         }
05157     break;
05158 
05159   case 517:
05160 
05161     {   if (parserData->kounter != parserData->numberOf)
05162                         osrlerror(NULL, NULL, parserData, osglData, "fewer <substatus> elements than specified");
05163         }
05164     break;
05165 
05166   case 524:
05167 
05168     {   parserData->kounter++; }
05169     break;
05170 
05171   case 525:
05172 
05173     {   if (parserData->kounter >= parserData->numberOf)
05174                 osrlerror(NULL, NULL, parserData, osglData, "more <substatus> elements than specified");
05175         parserData->typeAttributePresent = false;
05176         parserData->descriptionAttributePresent = false;
05177         parserData->typeAttribute = "";
05178         parserData->descriptionAttribute = "";
05179 }
05180     break;
05181 
05182   case 526:
05183 
05184     {   if (!parserData->typeAttributePresent)
05185                 osrlerror (NULL, NULL, parserData, osglData, "<substatus> must have type attribute");
05186 }
05187     break;
05188 
05189   case 529:
05190 
05191     {   
05192                 if (osresult->setSolutionSubstatusType(parserData->solutionIdx, parserData->kounter, 
05193                                                                                            parserData->typeAttribute) == false)
05194                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionSubstatusType failed");
05195         }
05196     break;
05197 
05198   case 530:
05199 
05200     {   
05201                 if (osresult->setSolutionSubstatusDescription(parserData->solutionIdx, parserData->kounter,
05202                                                                                                           parserData->descriptionAttribute) == false)
05203                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionSubstatusDescription failed");
05204         }
05205     break;
05206 
05207   case 541:
05208 
05209     {   parserData->tempStr = (yyvsp[(1) - (1)].sval);
05210         free((yyvsp[(1) - (1)].sval));
05211                 osresult->setSolutionMessage(parserData->solutionIdx, parserData->tempStr);
05212                 parserData->errorText = NULL;
05213         }
05214     break;
05215 
05216   case 544:
05217 
05218     {
05219         parserData->numberOfOtherVariableResults = 0;
05220         osresult->optimization->solution[parserData->solutionIdx]->variables = new VariableSolution();
05221 }
05222     break;
05223 
05224   case 546:
05225 
05226     {   
05227         if (osresult->setNumberOfOtherVariableResults(parserData->solutionIdx, parserData->tempInt) == false)
05228                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherVariableResults failed");
05229         parserData->numberOfOtherVariableResults = parserData->tempInt;
05230         parserData->iOther = 0;
05231 }
05232     break;
05233 
05234   case 555:
05235 
05236     {
05237         if (osresult->setNumberOfVarValues(parserData->solutionIdx, parserData->numberOfVar) == false)
05238                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfVarValues failed");
05239         parserData->kounter = 0;
05240 }
05241     break;
05242 
05243   case 556:
05244 
05245     {   if (parserData->numberOfVar > 0)
05246                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <var> element");
05247         }
05248     break;
05249 
05250   case 557:
05251 
05252     {   if (parserData->kounter != parserData->numberOfVar)
05253                         osrlerror(NULL, NULL, parserData, osglData, "fewer <var> elements than specified");
05254         }
05255     break;
05256 
05257   case 564:
05258 
05259     {   if (osresult->setVarValue(parserData->solutionIdx, parserData->kounter, 
05260                                                           parserData->idx,         parserData->tempVal) == false)
05261                         osrlerror(NULL, NULL, parserData, osglData, "setVarValue failed");
05262         parserData->kounter++;
05263 }
05264     break;
05265 
05266   case 565:
05267 
05268     {   
05269         if (parserData->kounter >= parserData->numberOfVar)
05270                 osrlerror(NULL, NULL, parserData, osglData, "more <var> elements than specified");
05271 }
05272     break;
05273 
05274   case 566:
05275 
05276     {   parserData->idx = (yyvsp[(3) - (4)].ival); }
05277     break;
05278 
05279   case 571:
05280 
05281     {
05282         if (osresult->setNumberOfVarValuesString(parserData->solutionIdx, parserData->numberOfVar) == false)
05283                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfVarValuesString failed");
05284         parserData->kounter = 0;
05285 }
05286     break;
05287 
05288   case 572:
05289 
05290     {   if (parserData->numberOfVar > 0)
05291                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <var> element");
05292         }
05293     break;
05294 
05295   case 573:
05296 
05297     {   if (parserData->kounter != parserData->numberOfVar)
05298                         osrlerror(NULL, NULL, parserData, osglData, "fewer <var> elements than specified");
05299         }
05300     break;
05301 
05302   case 580:
05303 
05304     {
05305         if (osresult->setVarValueString(parserData->solutionIdx, parserData->kounter, 
05306                                                                         parserData->idx,         parserData->tempStr) == false)
05307                         osrlerror(NULL, NULL, parserData, osglData, "setVarValueString failed");
05308         parserData->kounter++;
05309 }
05310     break;
05311 
05312   case 581:
05313 
05314     {   
05315         if (parserData->kounter >= parserData->numberOfVar)
05316                 osrlerror(NULL, NULL, parserData, osglData, "more <var> elements than specified");
05317 }
05318     break;
05319 
05320   case 582:
05321 
05322     { parserData->idx = (yyvsp[(3) - (4)].ival); }
05323     break;
05324 
05325   case 583:
05326 
05327     {parserData->tempStr = "";}
05328     break;
05329 
05330   case 588:
05331 
05332     {parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));}
05333     break;
05334 
05335   case 591:
05336 
05337     {
05338         osresult->optimization->solution[parserData->solutionIdx]->variables->basisStatus = new BasisStatus();
05339 }
05340     break;
05341 
05342   case 598:
05343 
05344     {
05345         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05346                 osrlerror(NULL, NULL, parserData, osglData, "set variables basic failed");      
05347         delete[] osglData->osglIntArray;
05348         osglData->osglIntArray = NULL;
05349         osglData->osglNumberOfEl = 0;
05350 }
05351     break;
05352 
05353   case 600:
05354 
05355     {
05356         osglData->osglCounter = 0; 
05357         osglData->osglNumberOfEl = parserData->numberOf;
05358         osglData->osglIntArray = new int[parserData->numberOf];
05359 }
05360     break;
05361 
05362   case 607:
05363 
05364     {
05365         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05366                 osrlerror(NULL, NULL, parserData, osglData, "set variables atLower failed");    
05367         delete[] osglData->osglIntArray;
05368         osglData->osglIntArray = NULL;
05369         osglData->osglNumberOfEl = 0;
05370 }
05371     break;
05372 
05373   case 609:
05374 
05375     {
05376         osglData->osglCounter = 0; 
05377         osglData->osglNumberOfEl = parserData->numberOf;
05378         osglData->osglIntArray = new int[parserData->numberOf];
05379 }
05380     break;
05381 
05382   case 616:
05383 
05384     {
05385         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05386                 osrlerror(NULL, NULL, parserData, osglData, "set variables atUpper failed");    
05387         delete[] osglData->osglIntArray;
05388         osglData->osglIntArray = NULL;
05389         osglData->osglNumberOfEl = 0;
05390 }
05391     break;
05392 
05393   case 618:
05394 
05395     {
05396         osglData->osglCounter = 0; 
05397         osglData->osglNumberOfEl = parserData->numberOf;
05398         osglData->osglIntArray = new int[parserData->numberOf];
05399 }
05400     break;
05401 
05402   case 625:
05403 
05404     {
05405         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05406                 osrlerror(NULL, NULL, parserData, osglData, "set variables isFree failed");     
05407         delete[] osglData->osglIntArray;
05408         osglData->osglIntArray = NULL;
05409         osglData->osglNumberOfEl = 0;
05410 }
05411     break;
05412 
05413   case 627:
05414 
05415     {
05416         osglData->osglCounter = 0; 
05417         osglData->osglNumberOfEl = parserData->numberOf;
05418         osglData->osglIntArray = new int[parserData->numberOf];
05419 }
05420     break;
05421 
05422   case 634:
05423 
05424     {
05425         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05426                 osrlerror(NULL, NULL, parserData, osglData, "set variables superbasic failed"); 
05427         delete[] osglData->osglIntArray;
05428         osglData->osglIntArray = NULL;
05429         osglData->osglNumberOfEl = 0;
05430 }
05431     break;
05432 
05433   case 636:
05434 
05435     {
05436         osglData->osglCounter = 0; 
05437         osglData->osglNumberOfEl = parserData->numberOf;
05438         osglData->osglIntArray = new int[parserData->numberOf];
05439 }
05440     break;
05441 
05442   case 643:
05443 
05444     {
05445         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05446                 osrlerror(NULL, NULL, parserData, osglData, "set variables unknown failed");    
05447         delete[] osglData->osglIntArray;
05448         osglData->osglIntArray = NULL;
05449         osglData->osglNumberOfEl = 0;
05450 }
05451     break;
05452 
05453   case 645:
05454 
05455     {
05456         osglData->osglCounter = 0; 
05457         osglData->osglNumberOfEl = parserData->numberOf;
05458         osglData->osglIntArray = new int[parserData->numberOf];
05459 }
05460     break;
05461 
05462   case 653:
05463 
05464     {    
05465                 parserData->iOther++;
05466         }
05467     break;
05468 
05469   case 654:
05470 
05471     {
05472         if (parserData->iOther >= parserData->numberOfOtherVariableResults)
05473                 osrlerror(NULL, NULL, parserData, osglData, "more <otherVariableResults> than specified");
05474         parserData->nameAttributePresent = false;       
05475         parserData->numberOfVarAttributePresent = false;        
05476         parserData->numberOfEnumerationsAttributePresent = false;       
05477         parserData->valueAttributePresent = false;      
05478         parserData->descriptionAttributePresent = false;        
05479         parserData->valueAttribute = "";
05480         parserData->descriptionAttribute = "";  
05481 }
05482     break;
05483 
05484   case 655:
05485 
05486     {   if(!parserData->nameAttributePresent) 
05487                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
05488 //              if(!parserData->numberAttributePresent) 
05489 //                      osrlerror(NULL, NULL, parserData, osglData, "other element requires numberOfVar attribute"); 
05490         }
05491     break;
05492 
05493   case 658:
05494 
05495     {   if (parserData->numberOfVarAttributePresent)
05496                         osrlerror(NULL, NULL, parserData, osglData, "numberOfVar attribute previously set");
05497                 parserData->numberOfVarAttributePresent = true;
05498                 if (osresult->setOtherVariableResultNumberOfVar(parserData->solutionIdx, 
05499                                                                                                                 parserData->iOther, 
05500                                                                                                                 parserData->numberOfVar) == false)
05501                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultNumberOfVar failed");
05502                 parserData->kounter = 0;
05503         }
05504     break;
05505 
05506   case 659:
05507 
05508     {   if (parserData->numberOfEnumerationsAttributePresent)
05509                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
05510                 parserData->numberOfEnumerationsAttributePresent = true;
05511                 if (osresult->setOtherVariableResultNumberOfEnumerations(parserData->solutionIdx, 
05512                                                                                                                 parserData->iOther, 
05513                                                                                                                 parserData->numberOfEnumerations) == false)
05514                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultNumberOfEnumerations failed");
05515                 parserData->kounter = 0;
05516         }
05517     break;
05518 
05519   case 660:
05520 
05521     {   
05522                 if (osresult->setOtherVariableResultValue(parserData->solutionIdx, parserData->iOther, 
05523                                                                                                   parserData->valueAttribute) == false)
05524                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultValue failed");
05525     }
05526     break;
05527 
05528   case 661:
05529 
05530     {   
05531                 if (osresult->setOtherVariableResultName(parserData->solutionIdx, parserData->iOther, 
05532                                                                                                  parserData->nameAttribute) == false)
05533                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultName failed");
05534     }
05535     break;
05536 
05537   case 662:
05538 
05539     {   
05540                 if (osresult->setOtherVariableResultDescription(parserData->solutionIdx, parserData->iOther, 
05541                                                                                                                 parserData->descriptionAttribute) == false)
05542                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultDescription failed");
05543     }
05544     break;
05545 
05546   case 672:
05547 
05548     {   
05549         parserData->kounter++;
05550 }
05551     break;
05552 
05553   case 674:
05554 
05555     {   
05556         if (osresult->setOtherVariableResultVarIdx(parserData->solutionIdx, parserData->iOther, 
05557                                                                                            parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
05558                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultVarIdx failed");
05559 }
05560     break;
05561 
05562   case 680:
05563 
05564     {   
05565                 if (osresult->setOtherVariableResultVar(parserData->solutionIdx, parserData->iOther, 
05566                                                                                                 parserData->kounter,     parserData->tempStr) 
05567                                                                                                     == false)
05568                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultVar failed");
05569         }
05570     break;
05571 
05572   case 683:
05573 
05574     {   
05575         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_variables, parserData->kounter, parserData->valueAttribute, 
05576                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05577                 osrlerror(NULL, NULL, parserData, osglData, "set other variable option failed");        
05578         delete[] osglData->osglIntArray;
05579         osglData->osglIntArray = NULL;
05580         osglData->osglNumberOfEl = 0;
05581         parserData->kounter++;
05582 }
05583     break;
05584 
05585   case 684:
05586 
05587     {
05588 //      parserData->numberOfElAttributePresent = false;
05589         parserData->valueAttributePresent = false;
05590         parserData->descriptionAttributePresent = false;
05591         parserData->valueAttribute = "";
05592         parserData->descriptionAttribute = "";
05593 }
05594     break;
05595 
05596   case 685:
05597 
05598     {   if(!parserData->nameAttributePresent) 
05599                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
05600 //              if(!parserData->numberOfVarIdxAttributePresent) 
05601 //                      osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires numberOfVarIdx attribute"); 
05602         }
05603     break;
05604 
05605   case 688:
05606 
05607     {
05608                 osglData->osglCounter = 0; 
05609                 osglData->osglNumberOfEl = parserData->numberOf;
05610                 osglData->osglIntArray = new int[parserData->numberOf];
05611         }
05612     break;
05613 
05614   case 689:
05615 
05616     {   
05617 //              if (osresult->setOtherVariableResultValue(parserData->solutionIdx, parserData->iOther, 
05618 //                                                                                                parserData->valueAttribute) == false)
05619 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultValue failed");
05620     }
05621     break;
05622 
05623   case 690:
05624 
05625     {   
05626 //              if (osresult->setOtherVariableResultDescription(parserData->solutionIdx, parserData->iOther, 
05627 //                                                                                                              parserData->descriptionAttribute) == false)
05628 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultDescription failed");
05629     }
05630     break;
05631 
05632   case 698:
05633 
05634     {
05635         parserData->numberOfOtherObjectiveResults = 0; 
05636         parserData->iOther = 0;
05637         osresult->optimization->solution[parserData->solutionIdx]->objectives = new ObjectiveSolution();
05638 }
05639     break;
05640 
05641   case 700:
05642 
05643     {
05644         parserData->numberOfOtherObjectiveResults = parserData->tempInt;
05645         if (osresult->setNumberOfOtherObjectiveResults(parserData->solutionIdx, parserData->tempInt) == false)
05646                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherObjectiveResults failed");
05647         parserData->iOther = 0;
05648 }
05649     break;
05650 
05651   case 709:
05652 
05653     {
05654         if (osresult->setNumberOfObjValues(parserData->solutionIdx, parserData->numberOfObj) == false)
05655                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfObjValues failed");
05656         parserData->kounter = 0;
05657 }
05658     break;
05659 
05660   case 710:
05661 
05662     {   if (parserData->numberOfObj > 0)
05663                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <obj> element");
05664         }
05665     break;
05666 
05667   case 711:
05668 
05669     {   if (parserData->kounter != parserData->numberOfObj)
05670                         osrlerror(NULL, NULL, parserData, osglData, "fewer <obj> elements than specified");
05671         }
05672     break;
05673 
05674   case 718:
05675 
05676     {   if (osresult->setObjValue(parserData->solutionIdx, parserData->kounter, 
05677                                                           parserData->idx,         parserData->tempVal) == false)
05678                         osrlerror(NULL, NULL, parserData, osglData, "setObjValue failed");
05679         parserData->kounter++;
05680 }
05681     break;
05682 
05683   case 719:
05684 
05685     {   
05686         if (parserData->kounter >= parserData->numberOfObj)
05687                 osrlerror(NULL, NULL, parserData, osglData, "more <obj> elements than specified");
05688         parserData->idx = -1;
05689 }
05690     break;
05691 
05692   case 721:
05693 
05694     { parserData->idx = (yyvsp[(3) - (4)].ival); }
05695     break;
05696 
05697   case 723:
05698 
05699     {parserData->tempVal = (yyvsp[(1) - (1)].ival); }
05700     break;
05701 
05702   case 724:
05703 
05704     {parserData->tempVal = (yyvsp[(1) - (1)].dval); }
05705     break;
05706 
05707   case 727:
05708 
05709     {
05710         osresult->optimization->solution[parserData->solutionIdx]->objectives->basisStatus = new BasisStatus();
05711 }
05712     break;
05713 
05714   case 734:
05715 
05716     {
05717         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05718                 osrlerror(NULL, NULL, parserData, osglData, "set objectives basic failed");     
05719         delete[] osglData->osglIntArray;
05720         osglData->osglIntArray = NULL;
05721         osglData->osglNumberOfEl = 0;
05722 }
05723     break;
05724 
05725   case 736:
05726 
05727     {
05728         osglData->osglCounter = 0; 
05729         osglData->osglNumberOfEl = parserData->numberOf;
05730         osglData->osglIntArray = new int[parserData->numberOf];
05731 }
05732     break;
05733 
05734   case 743:
05735 
05736     {
05737         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05738                 osrlerror(NULL, NULL, parserData, osglData, "set objectives atLower failed");   
05739         delete[] osglData->osglIntArray;
05740         osglData->osglIntArray = NULL;
05741         osglData->osglNumberOfEl = 0;
05742 }
05743     break;
05744 
05745   case 745:
05746 
05747     {
05748         osglData->osglCounter = 0; 
05749         osglData->osglNumberOfEl = parserData->numberOf;
05750         osglData->osglIntArray = new int[parserData->numberOf];
05751 }
05752     break;
05753 
05754   case 752:
05755 
05756     {
05757         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05758                 osrlerror(NULL, NULL, parserData, osglData, "set objectives atUpper failed");   
05759         delete[] osglData->osglIntArray;
05760         osglData->osglIntArray = NULL;
05761         osglData->osglNumberOfEl = 0;
05762 }
05763     break;
05764 
05765   case 754:
05766 
05767     {
05768         osglData->osglCounter = 0; 
05769         osglData->osglNumberOfEl = parserData->numberOf;
05770         osglData->osglIntArray = new int[parserData->numberOf];
05771 }
05772     break;
05773 
05774   case 761:
05775 
05776     {
05777         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05778                 osrlerror(NULL, NULL, parserData, osglData, "set objectives isFree failed");    
05779         delete[] osglData->osglIntArray;
05780         osglData->osglIntArray = NULL;
05781         osglData->osglNumberOfEl = 0;
05782 }
05783     break;
05784 
05785   case 763:
05786 
05787     {
05788         osglData->osglCounter = 0; 
05789         osglData->osglNumberOfEl = parserData->numberOf;
05790         osglData->osglIntArray = new int[parserData->numberOf];
05791 }
05792     break;
05793 
05794   case 770:
05795 
05796     {
05797         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05798                 osrlerror(NULL, NULL, parserData, osglData, "set objectives superbasic failed");        
05799         delete[] osglData->osglIntArray;
05800         osglData->osglIntArray = NULL;
05801         osglData->osglNumberOfEl = 0;
05802 }
05803     break;
05804 
05805   case 772:
05806 
05807     {
05808         osglData->osglCounter = 0; 
05809         osglData->osglNumberOfEl = parserData->numberOf;
05810         osglData->osglIntArray = new int[parserData->numberOf];
05811 }
05812     break;
05813 
05814   case 779:
05815 
05816     {
05817         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05818                 osrlerror(NULL, NULL, parserData, osglData, "set objectives unknown failed");   
05819         delete[] osglData->osglIntArray;
05820         osglData->osglIntArray = NULL;
05821         osglData->osglNumberOfEl = 0;
05822 }
05823     break;
05824 
05825   case 781:
05826 
05827     {
05828         osglData->osglCounter = 0; 
05829         osglData->osglNumberOfEl = parserData->numberOf;
05830         osglData->osglIntArray = new int[parserData->numberOf];
05831 }
05832     break;
05833 
05834   case 789:
05835 
05836     {    
05837                 parserData->iOther++;  
05838         }
05839     break;
05840 
05841   case 790:
05842 
05843     {
05844         if (parserData->iOther >= parserData->numberOfOtherObjectiveResults)
05845                 osrlerror(NULL, NULL, parserData, osglData, "more <otherObjectiveResults> than specified");
05846         parserData->nameAttributePresent = false;       
05847         parserData->numberOfObjAttributePresent = false;        
05848         parserData->numberOfEnumerationsAttributePresent = false;       
05849         parserData->valueAttributePresent = false;      
05850         parserData->descriptionAttributePresent = false;        
05851         parserData->valueAttribute = "";
05852         parserData->descriptionAttribute = "";
05853 }
05854     break;
05855 
05856   case 791:
05857 
05858     {   if(!parserData->nameAttributePresent) 
05859                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
05860 //              if(!parserData->numberAttributePresent) 
05861 //                      osrlerror(NULL, NULL, parserData, osglData, "other element requires numberOfObj attribute"); 
05862         }
05863     break;
05864 
05865   case 794:
05866 
05867     {   if (parserData->numberOfObjAttributePresent)
05868                         osrlerror(NULL, NULL, parserData, osglData, "numberOfObj attribute previously set");
05869                 parserData->numberOfObjAttributePresent = true;
05870                 if (osresult->setOtherObjectiveResultNumberOfObj(parserData->solutionIdx, 
05871                                                                                  parserData->iOther, 
05872                                                                                  parserData->numberOfObj) == false)
05873                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultNumberOfObj failed");
05874                 parserData->kounter = 0;
05875         }
05876     break;
05877 
05878   case 795:
05879 
05880     {   if (parserData->numberOfEnumerationsAttributePresent)
05881                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
05882                 parserData->numberOfEnumerationsAttributePresent = true;
05883                 if (osresult->setOtherObjectiveResultNumberOfEnumerations(parserData->solutionIdx, 
05884                                                                                                                 parserData->iOther, 
05885                                                                                                                 parserData->numberOfEnumerations) == false)
05886                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultNumberOfEnumerations failed");
05887                 parserData->kounter = 0;
05888         }
05889     break;
05890 
05891   case 796:
05892 
05893     {   
05894                 if (osresult->setOtherObjectiveResultValue(parserData->solutionIdx, parserData->iOther, 
05895                                                                                                    parserData->valueAttribute) == false)
05896                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultValue failed");
05897     }
05898     break;
05899 
05900   case 797:
05901 
05902     {   
05903                 if (osresult->setOtherObjectiveResultName(parserData->solutionIdx, parserData->iOther, 
05904                                                                                                   parserData->nameAttribute) == false)
05905                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultName failed");
05906     }
05907     break;
05908 
05909   case 798:
05910 
05911     {   
05912                 if (osresult->setOtherObjectiveResultDescription(parserData->solutionIdx, 
05913                                                                                                                  parserData->iOther, 
05914                                                                                                                  parserData->descriptionAttribute) 
05915                                                                                                                      == false)
05916                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultDescription failed");
05917     }
05918     break;
05919 
05920   case 808:
05921 
05922     {  
05923         parserData->kounter++;
05924 }
05925     break;
05926 
05927   case 810:
05928 
05929     {   if (osresult->setOtherObjectiveResultObjIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
05930                 osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultObjIdx failed");
05931 }
05932     break;
05933 
05934   case 816:
05935 
05936     {   if (osresult->setOtherObjectiveResultObj(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
05937                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultObj failed");
05938         }
05939     break;
05940 
05941   case 819:
05942 
05943     {   
05944         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_objectives, parserData->kounter, parserData->valueAttribute, 
05945                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05946                 osrlerror(NULL, NULL, parserData, osglData, "set other objective option failed");       
05947         delete[] osglData->osglIntArray;
05948         osglData->osglIntArray = NULL;
05949         osglData->osglNumberOfEl = 0;
05950         parserData->kounter++;
05951 }
05952     break;
05953 
05954   case 820:
05955 
05956     {
05957 //      parserData->numberOfElAttributePresent = false;
05958         parserData->valueAttributePresent = false;
05959         parserData->descriptionAttributePresent = false;
05960         parserData->valueAttribute = "";
05961         parserData->descriptionAttribute = "";
05962 }
05963     break;
05964 
05965   case 821:
05966 
05967     {   if(!parserData->nameAttributePresent) 
05968                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
05969 //              if(!parserData->numberOfObjIdxAttributePresent) 
05970 //                      osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires numberOfObjIdx attribute"); 
05971         }
05972     break;
05973 
05974   case 824:
05975 
05976     {
05977                 osglData->osglCounter = 0; 
05978                 osglData->osglNumberOfEl = parserData->numberOf;
05979                 osglData->osglIntArray = new int[parserData->numberOf];
05980         }
05981     break;
05982 
05983   case 825:
05984 
05985     {   
05986 //              if (osresult->setOtherObjectiveResultValue(parserData->solutionIdx, parserData->iOther, 
05987 //                                                                                                parserData->valueAttribute) == false)
05988 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultValue failed");
05989     }
05990     break;
05991 
05992   case 826:
05993 
05994     {   
05995 //              if (osresult->setOtherObjectiveResultDescription(parserData->solutionIdx, parserData->iOther, 
05996 //                                                                                                              parserData->descriptionAttribute) == false)
05997 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultDescription failed");
05998     }
05999     break;
06000 
06001   case 834:
06002 
06003     {
06004         parserData->numberOfOtherConstraintResults = 0; 
06005         parserData->iOther = 0;
06006         osresult->optimization->solution[parserData->solutionIdx]->constraints = new ConstraintSolution();
06007 }
06008     break;
06009 
06010   case 836:
06011 
06012     {
06013         parserData->numberOfOtherConstraintResults = parserData->tempInt;
06014         if (osresult->setNumberOfOtherConstraintResults(parserData->solutionIdx, parserData->tempInt) == false)
06015                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherConstraintResults failed");
06016         parserData->iOther = 0;
06017 }
06018     break;
06019 
06020   case 844:
06021 
06022     {   parserData->numberAttributePresent = false; }
06023     break;
06024 
06025   case 845:
06026 
06027     {
06028         if (osresult->setNumberOfDualValues(parserData->solutionIdx, parserData->numberOfCon) == false)
06029                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfDualValues failed");
06030         parserData->kounter = 0;
06031 }
06032     break;
06033 
06034   case 846:
06035 
06036     {   if (parserData->numberOfCon > 0)
06037                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <con> element");
06038         }
06039     break;
06040 
06041   case 847:
06042 
06043     {   if (parserData->kounter != parserData->numberOfCon)
06044                         osrlerror(NULL, NULL, parserData, osglData, "fewer <con> elements than specified");
06045         }
06046     break;
06047 
06048   case 854:
06049 
06050     {   if (osresult->setDualValue(parserData->solutionIdx, parserData->kounter, 
06051                                                            parserData->idx,         parserData->tempVal) == false)
06052                 osrlerror(NULL, NULL, parserData, osglData, "setDualValue failed");
06053         parserData->kounter++;
06054 }
06055     break;
06056 
06057   case 855:
06058 
06059     {   
06060         if (parserData->kounter >= parserData->numberOfCon)
06061                 osrlerror(NULL, NULL, parserData, osglData, "more <con> elements than specified");
06062 }
06063     break;
06064 
06065   case 856:
06066 
06067     { parserData->idx = (yyvsp[(3) - (4)].ival); }
06068     break;
06069 
06070   case 860:
06071 
06072     {
06073         osresult->optimization->solution[parserData->solutionIdx]->constraints->basisStatus = new BasisStatus();
06074 }
06075     break;
06076 
06077   case 867:
06078 
06079     {
06080         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06081                 osrlerror(NULL, NULL, parserData, osglData, "set slacks basic failed"); 
06082         delete[] osglData->osglIntArray;
06083         osglData->osglIntArray = NULL;
06084         osglData->osglNumberOfEl = 0;
06085 }
06086     break;
06087 
06088   case 869:
06089 
06090     {
06091         osglData->osglCounter = 0; 
06092         osglData->osglNumberOfEl = parserData->numberOf;
06093         osglData->osglIntArray = new int[parserData->numberOf];
06094 }
06095     break;
06096 
06097   case 876:
06098 
06099     {
06100         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06101                 osrlerror(NULL, NULL, parserData, osglData, "set slacks atLower failed");       
06102         delete[] osglData->osglIntArray;
06103         osglData->osglIntArray = NULL;
06104         osglData->osglNumberOfEl = 0;
06105 }
06106     break;
06107 
06108   case 878:
06109 
06110     {
06111         osglData->osglCounter = 0; 
06112         osglData->osglNumberOfEl = parserData->numberOf;
06113         osglData->osglIntArray = new int[parserData->numberOf];
06114 }
06115     break;
06116 
06117   case 885:
06118 
06119     {
06120         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06121                 osrlerror(NULL, NULL, parserData, osglData, "set slacks atUpper failed");       
06122         delete[] osglData->osglIntArray;
06123         osglData->osglIntArray = NULL;
06124         osglData->osglNumberOfEl = 0;
06125 }
06126     break;
06127 
06128   case 887:
06129 
06130     {
06131         osglData->osglCounter = 0; 
06132         osglData->osglNumberOfEl = parserData->numberOf;
06133         osglData->osglIntArray = new int[parserData->numberOf];
06134 }
06135     break;
06136 
06137   case 894:
06138 
06139     {
06140         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06141                 osrlerror(NULL, NULL, parserData, osglData, "set slacks isFree failed");        
06142         delete[] osglData->osglIntArray;
06143         osglData->osglIntArray = NULL;
06144         osglData->osglNumberOfEl = 0;
06145 }
06146     break;
06147 
06148   case 896:
06149 
06150     {
06151         osglData->osglCounter = 0; 
06152         osglData->osglNumberOfEl = parserData->numberOf;
06153         osglData->osglIntArray = new int[parserData->numberOf];
06154 }
06155     break;
06156 
06157   case 903:
06158 
06159     {
06160         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06161                 osrlerror(NULL, NULL, parserData, osglData, "set variables superbasic failed"); 
06162         delete[] osglData->osglIntArray;
06163         osglData->osglIntArray = NULL;
06164         osglData->osglNumberOfEl = 0;
06165 }
06166     break;
06167 
06168   case 905:
06169 
06170     {
06171         osglData->osglCounter = 0; 
06172         osglData->osglNumberOfEl = parserData->numberOf;
06173         osglData->osglIntArray = new int[parserData->numberOf];
06174 }
06175     break;
06176 
06177   case 912:
06178 
06179     {
06180         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06181                 osrlerror(NULL, NULL, parserData, osglData, "set slacks unknown failed");       
06182         delete[] osglData->osglIntArray;
06183         osglData->osglIntArray = NULL;
06184         osglData->osglNumberOfEl = 0;
06185 }
06186     break;
06187 
06188   case 914:
06189 
06190     {
06191         osglData->osglCounter = 0; 
06192         osglData->osglNumberOfEl = parserData->numberOf;
06193         osglData->osglIntArray = new int[parserData->numberOf];
06194 }
06195     break;
06196 
06197   case 922:
06198 
06199     {    
06200                 parserData->iOther++;  
06201         }
06202     break;
06203 
06204   case 923:
06205 
06206     {
06207         if (parserData->iOther >= parserData->numberOfOtherConstraintResults)
06208                 osrlerror(NULL, NULL, parserData, osglData, "more <otherConstraintResults> than specified");
06209         parserData->nameAttributePresent = false;       
06210         parserData->numberOfConAttributePresent = false;        
06211         parserData->numberOfEnumerationsAttributePresent = false;       
06212         parserData->valueAttributePresent = false;      
06213         parserData->descriptionAttributePresent = false;        
06214         parserData->valueAttribute = "";
06215         parserData->descriptionAttribute = "";
06216 }
06217     break;
06218 
06219   case 924:
06220 
06221     {   if(!parserData->nameAttributePresent) 
06222                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
06223 //              if(!parserData->numberAttributePresent) 
06224 //                      osrlerror(NULL, NULL, parserData, osglData, "other element requires numberOfCon attribute"); 
06225         }
06226     break;
06227 
06228   case 927:
06229 
06230     {   if (parserData->numberOfConAttributePresent)
06231                         osrlerror(NULL, NULL, parserData, osglData, "numberOfCon attribute previously set");
06232                 parserData->numberOfConAttributePresent = true;
06233                 if (osresult->setOtherConstraintResultNumberOfCon(parserData->solutionIdx, 
06234                                                                                       parserData->iOther, 
06235                                                                                       parserData->numberOfCon) == false)
06236                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultNumberOfCon failed");
06237                 parserData->kounter = 0;
06238         }
06239     break;
06240 
06241   case 928:
06242 
06243     {   if (parserData->numberOfEnumerationsAttributePresent)
06244                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
06245                 parserData->numberOfEnumerationsAttributePresent = true;
06246                 if (osresult->setOtherConstraintResultNumberOfEnumerations(parserData->solutionIdx, 
06247                                                                                                                 parserData->iOther, 
06248                                                                                                                 parserData->numberOfEnumerations) == false)
06249                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultNumberOfEnumerations failed");
06250                 parserData->kounter = 0;
06251         }
06252     break;
06253 
06254   case 929:
06255 
06256     {   
06257                 if (osresult->setOtherConstraintResultValue(parserData->solutionIdx, parserData->iOther, 
06258                                                                                                         parserData->valueAttribute) == false)
06259                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultValue failed");
06260     }
06261     break;
06262 
06263   case 930:
06264 
06265     {   
06266                 if (osresult->setOtherConstraintResultName(parserData->solutionIdx, parserData->iOther, 
06267                                                                                                    parserData->nameAttribute) == false)
06268                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultName failed");
06269     }
06270     break;
06271 
06272   case 931:
06273 
06274     {   
06275                 if (osresult->setOtherConstraintResultDescription(parserData->solutionIdx, parserData->iOther, 
06276                                                                                                                   parserData->descriptionAttribute) == false)
06277                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultDescription failed");
06278     }
06279     break;
06280 
06281   case 941:
06282 
06283     {   
06284         parserData->kounter++;
06285 }
06286     break;
06287 
06288   case 943:
06289 
06290     {   
06291         if (osresult->setOtherConstraintResultConIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
06292                 osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultConIdx failed");
06293 }
06294     break;
06295 
06296   case 949:
06297 
06298     {   
06299                 if (osresult->setOtherConstraintResultCon(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
06300                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultCon failed");
06301         }
06302     break;
06303 
06304   case 952:
06305 
06306     {   
06307         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_constraints, parserData->kounter, parserData->valueAttribute, 
06308                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06309                 osrlerror(NULL, NULL, parserData, osglData, "set other constraint option failed");
06310         delete[] osglData->osglIntArray;
06311         osglData->osglIntArray = NULL;
06312         osglData->osglNumberOfEl = 0;
06313         parserData->kounter++;
06314 }
06315     break;
06316 
06317   case 953:
06318 
06319     {
06320 //      parserData->numberOfElAttributePresent = false;
06321         parserData->valueAttributePresent = false;
06322         parserData->descriptionAttributePresent = false;
06323         parserData->valueAttribute = "";
06324         parserData->descriptionAttribute = "";
06325 }
06326     break;
06327 
06328   case 954:
06329 
06330     {   if(!parserData->nameAttributePresent) 
06331                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
06332 //              if(!parserData->numberOfConIdxAttributePresent) 
06333 //                      osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires numberOfConIdx attribute"); 
06334         }
06335     break;
06336 
06337   case 957:
06338 
06339     {
06340                 osglData->osglCounter = 0; 
06341                 osglData->osglNumberOfEl = parserData->numberOf;
06342                 osglData->osglIntArray = new int[parserData->numberOf];
06343         }
06344     break;
06345 
06346   case 958:
06347 
06348     {   
06349 //              if (osresult->setOtherConstraintResultValue(parserData->solutionIdx, parserData->iOther, 
06350 //                                                                                                parserData->valueAttribute) == false)
06351 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultValue failed");
06352     }
06353     break;
06354 
06355   case 959:
06356 
06357     {   
06358 //              if (osresult->setOtherConstraintResultDescription(parserData->solutionIdx, parserData->iOther, 
06359 //                                                                                                              parserData->descriptionAttribute) == false)
06360 //                      osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultDescription failed");
06361     }
06362     break;
06363 
06364   case 967:
06365 
06366     {
06367         parserData->numberOf = 0; 
06368 }
06369     break;
06370 
06371   case 968:
06372 
06373     {   
06374     if (osresult->setNumberOfOtherSolutionResults(parserData->solutionIdx, parserData->tempInt) == false)
06375                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherSolutionResults failed");
06376         parserData->numberOf = parserData->tempInt;
06377         parserData->iOther = 0; 
06378 }
06379     break;
06380 
06381   case 969:
06382 
06383     {   if (parserData->numberOf > 0)
06384                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <otherSolutionResult> element");
06385         }
06386     break;
06387 
06388   case 970:
06389 
06390     {   if (parserData->iOther != parserData->numberOf)
06391                         osrlerror(NULL, NULL, parserData, osglData, "fewer <otherSolutionResult> elements than specified");
06392         }
06393     break;
06394 
06395   case 977:
06396 
06397     {   parserData->iOther++;
06398 }
06399     break;
06400 
06401   case 978:
06402 
06403     {   if (parserData->iOther >= parserData->numberOf)
06404                 osrlerror(NULL, NULL, parserData, osglData, "more <otherSolutionResult> elements than specified");
06405         parserData->numberOfItemsPresent = false; 
06406         parserData->nameAttributePresent = false;
06407         parserData->categoryAttributePresent = false;
06408         parserData->descriptionAttributePresent = false;
06409         parserData->categoryAttribute = "";
06410         parserData->descriptionAttribute = "";
06411 }
06412     break;
06413 
06414   case 979:
06415 
06416     {   if (!parserData->nameAttributePresent)
06417                 osrlerror (NULL, NULL, parserData, osglData, "<otherSolutionResult> element must have name attribute");
06418         if (!parserData->numberOfItemsPresent)
06419                 osrlerror (NULL, NULL, parserData, osglData, "<otherSolutionResult> element must have numberOfItems attribute");
06420 }
06421     break;
06422 
06423   case 982:
06424 
06425     {   
06426                 if (osresult->setOtherSolutionResultName(parserData->solutionIdx, parserData->iOther,
06427                                                                                                  parserData->nameAttribute) == false)
06428                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultName failed");
06429         }
06430     break;
06431 
06432   case 983:
06433 
06434     {   
06435                 if (osresult->setOtherSolutionResultCategory(parserData->solutionIdx, parserData->iOther,
06436                                                                                                          parserData->categoryAttribute) == false)
06437                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultCategory failed");
06438         }
06439     break;
06440 
06441   case 984:
06442 
06443     {   
06444                 if (osresult->setOtherSolutionResultDescription(parserData->solutionIdx, 
06445                                                                                                                 parserData->iOther,
06446                                                                                                                 parserData->descriptionAttribute) 
06447                                                                                                                     == false)
06448                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultDescription failed");
06449         }
06450     break;
06451 
06452   case 985:
06453 
06454     {   
06455                 if (osresult->setOtherSolutionResultNumberOfItems(parserData->solutionIdx, 
06456                                                                                                                   parserData->iOther,
06457                                                                                                                   parserData->numberOfItems) == false)
06458                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultNumberOfItems failed");
06459                 parserData->kounter = 0;
06460         }
06461     break;
06462 
06463   case 986:
06464 
06465     {   if (parserData->numberOfItems > 0)
06466                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <item> element");
06467         }
06468     break;
06469 
06470   case 987:
06471 
06472     {   if (parserData->kounter != parserData->numberOfItems)
06473                         osrlerror(NULL, NULL, parserData, osglData, "fewer <item> elements than specified");
06474         }
06475     break;
06476 
06477   case 994:
06478 
06479     {   parserData->kounter++;
06480 }
06481     break;
06482 
06483   case 995:
06484 
06485     {   if (parserData->kounter >= parserData->numberOfItems)
06486                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06487 }
06488     break;
06489 
06490   case 1000:
06491 
06492     {   if (parserData->kounter >= parserData->numberOfItems)
06493                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06494         parserData->itemContent = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
06495         if (osresult->setOtherSolutionResultItem(parserData->solutionIdx, parserData->iOther, 
06496                                                                                          parserData->kounter, parserData->itemContent) 
06497                                                                                              == false)
06498                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultItem failed");
06499 }
06500     break;
06501 
06502   case 1003:
06503 
06504     {
06505         parserData->numberOf = 0; 
06506 }
06507     break;
06508 
06509   case 1004:
06510 
06511     {   
06512     if (osresult->setNumberOfSolverOutputs(parserData->tempInt) == false)
06513                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfSolverOutputs failed");
06514         parserData->numberOf = parserData->tempInt;
06515         parserData->iOther = 0; 
06516 }
06517     break;
06518 
06519   case 1005:
06520 
06521     {   if (parserData->numberOf > 0)
06522                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <solverOutput> element");
06523         }
06524     break;
06525 
06526   case 1006:
06527 
06528     {   if (parserData->iOther != parserData->numberOf)
06529                         osrlerror(NULL, NULL, parserData, osglData, "fewer <solverOutput> elements than specified");
06530         }
06531     break;
06532 
06533   case 1013:
06534 
06535     {   parserData->iOther++;
06536 }
06537     break;
06538 
06539   case 1014:
06540 
06541     {   if (parserData->iOther >= parserData->numberOf)
06542                 osrlerror(NULL, NULL, parserData, osglData, "more <solverOutput> elements than specified");
06543         parserData->numberOfItemsPresent = false; 
06544         parserData->nameAttributePresent = false;
06545         parserData->categoryAttributePresent = false;
06546         parserData->descriptionAttributePresent = false;
06547         parserData->categoryAttribute = "";
06548         parserData->descriptionAttribute = "";
06549 }
06550     break;
06551 
06552   case 1015:
06553 
06554     {   if (!parserData->nameAttributePresent)
06555                 osrlerror (NULL, NULL, parserData, osglData, "<solverOutput> element must have name attribute");
06556         if (!parserData->numberOfItemsPresent)
06557                 osrlerror (NULL, NULL, parserData, osglData, "<solverOutput> element must have numberOfItems attribute");
06558 }
06559     break;
06560 
06561   case 1018:
06562 
06563     {   
06564                 if (osresult->setSolverOutputName(parserData->iOther, parserData->nameAttribute) == false)
06565                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputName failed");
06566         }
06567     break;
06568 
06569   case 1019:
06570 
06571     {   
06572                 if (osresult->setSolverOutputCategory(parserData->iOther, 
06573                                                                                           parserData->categoryAttribute) == false)
06574                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputCategory failed");
06575         }
06576     break;
06577 
06578   case 1020:
06579 
06580     {   
06581                 if (osresult->setSolverOutputDescription(parserData->iOther, 
06582                                                                                                  parserData->descriptionAttribute) == false)
06583                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputDescription failed");
06584         }
06585     break;
06586 
06587   case 1021:
06588 
06589     {   
06590                 if (osresult->setSolverOutputNumberOfItems(parserData->iOther, 
06591                                                                                                    parserData->numberOfItems) == false)
06592                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputNumberOfItems failed");
06593                 parserData->kounter = 0;
06594         }
06595     break;
06596 
06597   case 1022:
06598 
06599     {   if (parserData->numberOfItems > 0)
06600                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <item> element");
06601         }
06602     break;
06603 
06604   case 1023:
06605 
06606     {   if (parserData->kounter != parserData->numberOfItems)
06607                         osrlerror(NULL, NULL, parserData, osglData, "fewer <item> elements than specified");
06608         }
06609     break;
06610 
06611   case 1030:
06612 
06613     {   parserData->kounter++;
06614 }
06615     break;
06616 
06617   case 1031:
06618 
06619     {   if (parserData->kounter >= parserData->numberOfItems)
06620                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06621 }
06622     break;
06623 
06624   case 1036:
06625 
06626     {   if (parserData->kounter >= parserData->numberOfItems)
06627                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06628         parserData->itemContent = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
06629         if (osresult->setSolverOutputItem(parserData->iOther, parserData->kounter, 
06630                                                                           parserData->itemContent) == false)
06631                 osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputItem failed");
06632 }
06633     break;
06634 
06635   case 1037:
06636 
06637     {   if (parserData->categoryAttributePresent ) 
06638                                 osrlerror(NULL, NULL, parserData, osglData, "only one category attribute allowed for this element");
06639                         parserData->categoryAttributePresent = true;
06640                 }
06641     break;
06642 
06643   case 1040:
06644 
06645     { parserData->categoryAttribute = ""; }
06646     break;
06647 
06648   case 1041:
06649 
06650     { parserData->categoryAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval)); }
06651     break;
06652 
06653   case 1042:
06654 
06655     {   if (parserData->descriptionAttributePresent ) 
06656                                 osrlerror(NULL, NULL, parserData, osglData, "only one description attribute allowed for this element");
06657                         parserData->descriptionAttributePresent = true;
06658                 }
06659     break;
06660 
06661   case 1045:
06662 
06663     { parserData->descriptionAttribute = ""; }
06664     break;
06665 
06666   case 1046:
06667 
06668     { parserData->descriptionAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
06669     break;
06670 
06671   case 1047:
06672 
06673     {   if (parserData->nameAttributePresent ) 
06674                                 osrlerror(NULL, NULL, parserData, osglData, "only one name attribute allowed for this element");
06675                         parserData->nameAttributePresent = true;
06676                 }
06677     break;
06678 
06679   case 1050:
06680 
06681     { parserData->nameAttribute = ""; }
06682     break;
06683 
06684   case 1051:
06685 
06686     { parserData->nameAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
06687     break;
06688 
06689   case 1052:
06690 
06691     {   if (parserData->typeAttributePresent ) 
06692                                 osrlerror(NULL, NULL, parserData, osglData, "only one type attribute allowed for this element");
06693                         parserData->typeAttributePresent = true;
06694                 }
06695     break;
06696 
06697   case 1055:
06698 
06699     { parserData->typeAttribute = ""; }
06700     break;
06701 
06702   case 1056:
06703 
06704     { parserData->typeAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
06705     break;
06706 
06707   case 1057:
06708 
06709     {   if (parserData->unitAttributePresent ) 
06710                                 osrlerror(NULL, NULL, parserData, osglData, "only one unit attribute allowed for this element");
06711                         parserData->unitAttributePresent = true;
06712                 }
06713     break;
06714 
06715   case 1060:
06716 
06717     { parserData->unitAttribute = ""; }
06718     break;
06719 
06720   case 1061:
06721 
06722     { parserData->unitAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
06723     break;
06724 
06725   case 1062:
06726 
06727     {   if (parserData->valueAttributePresent ) 
06728                                 osrlerror(NULL, NULL, parserData, osglData, "only one value attribute allowed for this element");
06729                         parserData->valueAttributePresent = true;
06730                 }
06731     break;
06732 
06733   case 1065:
06734 
06735     { parserData->valueAttribute = ""; }
06736     break;
06737 
06738   case 1066:
06739 
06740     { parserData->valueAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
06741     break;
06742 
06743   case 1067:
06744 
06745     {
06746         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <con> cannot be negative");
06747         parserData->numberOfCon = (yyvsp[(3) - (4)].ival);
06748 }
06749     break;
06750 
06751   case 1068:
06752 
06753     {   if (parserData->nConPresent)
06754                 osrlerror(NULL, NULL, parserData, osglData, "numberOfConstraints attribute previously set");
06755         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of constraints cannot be negative");
06756         parserData->nConPresent = true;         
06757         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
06758 }
06759     break;
06760 
06761   case 1069:
06762 
06763     {
06764         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <el> cannot be negative");
06765         parserData->numberOf = (yyvsp[(3) - (4)].ival); 
06766 }
06767     break;
06768 
06769   case 1070:
06770 
06771     {
06772         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <enumeration> elements cannot be negative");
06773         parserData->numberOfEnumerations = (yyvsp[(3) - (4)].ival); 
06774 }
06775     break;
06776 
06777   case 1071:
06778 
06779     {   
06780    if (parserData->numberOfItemsPresent ) 
06781         osrlerror(NULL, NULL, parserData, osglData, "only one numberOfItems attribute allowed");
06782         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of items cannot be negative");
06783         parserData->numberOfItemsPresent = true;
06784         parserData->numberOfItems = (yyvsp[(3) - (4)].ival);
06785 }
06786     break;
06787 
06788   case 1072:
06789 
06790     {
06791         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <obj> cannot be negative");
06792         parserData->numberOfObj = (yyvsp[(3) - (4)].ival);
06793 }
06794     break;
06795 
06796   case 1073:
06797 
06798     {   if (parserData->nObjPresent)
06799                 osrlerror(NULL, NULL, parserData, osglData, "numberOfObjectives attribute previously set");
06800         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of objectives cannot be negative");
06801         parserData->nObjPresent = true;
06802         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
06803 }
06804     break;
06805 
06806   case 1074:
06807 
06808     {
06809         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other constraint results cannot be negative");
06810         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06811 }
06812     break;
06813 
06814   case 1075:
06815 
06816     {
06817         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other objective results cannot be negative");
06818         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06819 }
06820     break;
06821 
06822   case 1076:
06823 
06824     {
06825         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other results cannot be negative");
06826         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06827 }
06828     break;
06829 
06830   case 1077:
06831 
06832     {   
06833         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other solution results cannot be negative");
06834         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06835 }
06836     break;
06837 
06838   case 1078:
06839 
06840     {   
06841         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other variable results cannot be negative");
06842         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06843 }
06844     break;
06845 
06846   case 1079:
06847 
06848     {   if (parserData->numberAttributePresent)
06849                 osrlerror(NULL, NULL, parserData, osglData, "numberOfSolutions attribute previously set");
06850         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of solutions cannot be negative");
06851         parserData->numberAttributePresent = true;
06852         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
06853 }
06854     break;
06855 
06856   case 1080:
06857 
06858     {   
06859         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other solver outputs cannot be negative");
06860         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06861 }
06862     break;
06863 
06864   case 1081:
06865 
06866     {   if (parserData->numberAttributePresent ) 
06867         osrlerror(NULL, NULL, parserData, osglData, "only one numberOfSubstatuses attribute allowed");
06868     parserData->numberAttributePresent = true;
06869         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <substatus> elements cannot be negative");
06870         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06871 }
06872     break;
06873 
06874   case 1082:
06875 
06876     {
06877         parserData->tempInt = (yyvsp[(3) - (4)].ival);
06878 }
06879     break;
06880 
06881   case 1083:
06882 
06883     {
06884         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <var> cannot be negative");
06885         parserData->numberOfVar = (yyvsp[(3) - (4)].ival); 
06886 }
06887     break;
06888 
06889   case 1084:
06890 
06891     {   if (parserData->nVarPresent)
06892                 osrlerror(NULL, NULL, parserData, osglData, "numberOfVariables attribute previously set");
06893         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of variables cannot be negative");
06894         parserData->nVarPresent = true; 
06895         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
06896 }
06897     break;
06898 
06899   case 1085:
06900 
06901     {
06902                 if (osglData->osglCounter < osglData->osglNumberOfEl)
06903                 osrlerror(NULL, NULL, parserData, osglData, "fewer data elements than specified");
06904         }
06905     break;
06906 
06907   case 1090:
06908 
06909     {   
06910         osglData->osglMultPresent = false;
06911         osglData->osglIncrPresent = false;
06912         osglData->osglMult = 1;
06913         osglData->osglIncr = 0;
06914 }
06915     break;
06916 
06917   case 1096:
06918 
06919     {
06920         if (osglData->osglCounter + osglData->osglMult > osglData->osglNumberOfEl)
06921                 osrlerror(NULL, NULL, parserData, osglData, "more data elements than specified");
06922         for (int i=0; i<osglData->osglMult; i++)
06923                 osglData->osglIntArray[osglData->osglCounter++] = (yyvsp[(2) - (3)].ival) + i*osglData->osglIncr;       
06924 }
06925     break;
06926 
06927   case 1098:
06928 
06929     {
06930         osglData->osglSize = (yyvsp[(3) - (4)].ival);
06931 }
06932     break;
06933 
06934   case 1103:
06935 
06936     {
06937         char* b64string = (yyvsp[(2) - (3)].sval);
06938         if( b64string == NULL) 
06939                 osrlerror(NULL, NULL, parserData, osglData, "base 64 data expected"); 
06940         if (osglData->osglSize != sizeof(int))
06941                 osrlerror(NULL, NULL, parserData, osglData, "base 64 encoded with a size of int different than on this machine"); 
06942 
06943         std::string base64decodeddata = Base64::decodeb64( b64string );
06944         int base64decodeddatalength = base64decodeddata.length();
06945         int *intvec = NULL;
06946         if ( parserData->numberOf != (base64decodeddatalength/osglData->osglSize) )
06947                 osrlerror(NULL, NULL, parserData, osglData, "base 64 data length does not match numberOfEl"); 
06948         intvec = (int*)&base64decodeddata[0];
06949         for(int i = 0; i < (base64decodeddatalength/osglData->osglSize); i++)
06950         {
06951                 osglData->osglIntArray[i] = *(intvec++);
06952         }
06953         //delete [] b64string;
06954         free((yyvsp[(2) - (3)].sval));
06955 }
06956     break;
06957 
06958   case 1104:
06959 
06960     {   
06961         if (osglData->osglIncrPresent) 
06962         osrlerror(NULL, NULL, parserData, osglData, "only one incr attribute allowed");
06963         osglData->osglIncrPresent = true;
06964         osglData->osglIncr = (yyvsp[(3) - (4)].ival);
06965 }
06966     break;
06967 
06968   case 1105:
06969 
06970     {   
06971         if (osglData->osglMultPresent) 
06972         osrlerror(NULL, NULL, parserData, osglData, "only one mult attribute allowed");
06973         if ((yyvsp[(3) - (4)].ival) <= 0) osrlerror(NULL, NULL, parserData, osglData, "mult must be positive");
06974         osglData->osglMultPresent = true;
06975         osglData->osglMult = (yyvsp[(3) - (4)].ival);
06976 }
06977     break;
06978 
06979   case 1106:
06980 
06981     {parserData->tempVal = (yyvsp[(1) - (1)].ival);}
06982     break;
06983 
06984   case 1107:
06985 
06986     {parserData->tempVal = (yyvsp[(1) - (1)].dval);}
06987     break;
06988 
06989   case 1108:
06990 
06991     { parserData->tempStr = (yyvsp[(1) - (1)].sval);       free((yyvsp[(1) - (1)].sval)); }
06992     break;
06993 
06994   case 1109:
06995 
06996     { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].ival)); }
06997     break;
06998 
06999   case 1110:
07000 
07001     { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].dval)); }
07002     break;
07003 
07004 
07005 
07006       default: break;
07007     }
07008   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
07009 
07010   YYPOPSTACK (yylen);
07011   yylen = 0;
07012   YY_STACK_PRINT (yyss, yyssp);
07013 
07014   *++yyvsp = yyval;
07015   *++yylsp = yyloc;
07016 
07017   /* Now `shift' the result of the reduction.  Determine what state
07018      that goes to, based on the state we popped back to and the rule
07019      number reduced by.  */
07020 
07021   yyn = yyr1[yyn];
07022 
07023   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
07024   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
07025     yystate = yytable[yystate];
07026   else
07027     yystate = yydefgoto[yyn - YYNTOKENS];
07028 
07029   goto yynewstate;
07030 
07031 
07032 /*------------------------------------.
07033 | yyerrlab -- here on detecting error |
07034 `------------------------------------*/
07035 yyerrlab:
07036   /* If not already recovering from an error, report this error.  */
07037   if (!yyerrstatus)
07038     {
07039       ++yynerrs;
07040 #if ! YYERROR_VERBOSE
07041       yyerror (&yylloc, osresult, parserData, osglData, YY_("syntax error"));
07042 #else
07043       {
07044         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
07045         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
07046           {
07047             YYSIZE_T yyalloc = 2 * yysize;
07048             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
07049               yyalloc = YYSTACK_ALLOC_MAXIMUM;
07050             if (yymsg != yymsgbuf)
07051               YYSTACK_FREE (yymsg);
07052             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
07053             if (yymsg)
07054               yymsg_alloc = yyalloc;
07055             else
07056               {
07057                 yymsg = yymsgbuf;
07058                 yymsg_alloc = sizeof yymsgbuf;
07059               }
07060           }
07061 
07062         if (0 < yysize && yysize <= yymsg_alloc)
07063           {
07064             (void) yysyntax_error (yymsg, yystate, yychar);
07065             yyerror (&yylloc, osresult, parserData, osglData, yymsg);
07066           }
07067         else
07068           {
07069             yyerror (&yylloc, osresult, parserData, osglData, YY_("syntax error"));
07070             if (yysize != 0)
07071               goto yyexhaustedlab;
07072           }
07073       }
07074 #endif
07075     }
07076 
07077   yyerror_range[0] = yylloc;
07078 
07079   if (yyerrstatus == 3)
07080     {
07081       /* If just tried and failed to reuse lookahead token after an
07082          error, discard it.  */
07083 
07084       if (yychar <= YYEOF)
07085         {
07086           /* Return failure if at end of input.  */
07087           if (yychar == YYEOF)
07088             YYABORT;
07089         }
07090       else
07091         {
07092           yydestruct ("Error: discarding",
07093                       yytoken, &yylval, &yylloc, osresult, parserData, osglData);
07094           yychar = YYEMPTY;
07095         }
07096     }
07097 
07098   /* Else will try to reuse lookahead token after shifting the error
07099      token.  */
07100   goto yyerrlab1;
07101 
07102 
07103 /*---------------------------------------------------.
07104 | yyerrorlab -- error raised explicitly by YYERROR.  |
07105 `---------------------------------------------------*/
07106 yyerrorlab:
07107 
07108   /* Pacify compilers like GCC when the user code never invokes
07109      YYERROR and the label yyerrorlab therefore never appears in user
07110      code.  */
07111   if (/*CONSTCOND*/ 0)
07112      goto yyerrorlab;
07113 
07114   yyerror_range[0] = yylsp[1-yylen];
07115   /* Do not reclaim the symbols of the rule which action triggered
07116      this YYERROR.  */
07117   YYPOPSTACK (yylen);
07118   yylen = 0;
07119   YY_STACK_PRINT (yyss, yyssp);
07120   yystate = *yyssp;
07121   goto yyerrlab1;
07122 
07123 
07124 /*-------------------------------------------------------------.
07125 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
07126 `-------------------------------------------------------------*/
07127 yyerrlab1:
07128   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
07129 
07130   for (;;)
07131     {
07132       yyn = yypact[yystate];
07133       if (yyn != YYPACT_NINF)
07134         {
07135           yyn += YYTERROR;
07136           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
07137             {
07138               yyn = yytable[yyn];
07139               if (0 < yyn)
07140                 break;
07141             }
07142         }
07143 
07144       /* Pop the current state because it cannot handle the error token.  */
07145       if (yyssp == yyss)
07146         YYABORT;
07147 
07148       yyerror_range[0] = *yylsp;
07149       yydestruct ("Error: popping",
07150                   yystos[yystate], yyvsp, yylsp, osresult, parserData, osglData);
07151       YYPOPSTACK (1);
07152       yystate = *yyssp;
07153       YY_STACK_PRINT (yyss, yyssp);
07154     }
07155 
07156   *++yyvsp = yylval;
07157 
07158   yyerror_range[1] = yylloc;
07159   /* Using YYLLOC is tempting, but would change the location of
07160      the lookahead.  YYLOC is available though.  */
07161   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
07162   *++yylsp = yyloc;
07163 
07164   /* Shift the error token.  */
07165   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
07166 
07167   yystate = yyn;
07168   goto yynewstate;
07169 
07170 
07171 /*-------------------------------------.
07172 | yyacceptlab -- YYACCEPT comes here.  |
07173 `-------------------------------------*/
07174 yyacceptlab:
07175   yyresult = 0;
07176   goto yyreturn;
07177 
07178 /*-----------------------------------.
07179 | yyabortlab -- YYABORT comes here.  |
07180 `-----------------------------------*/
07181 yyabortlab:
07182   yyresult = 1;
07183   goto yyreturn;
07184 
07185 #if !defined(yyoverflow) || YYERROR_VERBOSE
07186 /*-------------------------------------------------.
07187 | yyexhaustedlab -- memory exhaustion comes here.  |
07188 `-------------------------------------------------*/
07189 yyexhaustedlab:
07190   yyerror (&yylloc, osresult, parserData, osglData, YY_("memory exhausted"));
07191   yyresult = 2;
07192   /* Fall through.  */
07193 #endif
07194 
07195 yyreturn:
07196   if (yychar != YYEMPTY)
07197      yydestruct ("Cleanup: discarding lookahead",
07198                  yytoken, &yylval, &yylloc, osresult, parserData, osglData);
07199   /* Do not reclaim the symbols of the rule which action triggered
07200      this YYABORT or YYACCEPT.  */
07201   YYPOPSTACK (yylen);
07202   YY_STACK_PRINT (yyss, yyssp);
07203   while (yyssp != yyss)
07204     {
07205       yydestruct ("Cleanup: popping",
07206                   yystos[*yyssp], yyvsp, yylsp, osresult, parserData, osglData);
07207       YYPOPSTACK (1);
07208     }
07209 #ifndef yyoverflow
07210   if (yyss != yyssa)
07211     YYSTACK_FREE (yyss);
07212 #endif
07213 #if YYERROR_VERBOSE
07214   if (yymsg != yymsgbuf)
07215     YYSTACK_FREE (yymsg);
07216 #endif
07217   /* Make sure YYID is used.  */
07218   return YYID (yyresult);
07219 }
07220 
07221 
07222 
07223 
07224 
07225 void osrlerror(YYLTYPE* mytype, OSResult *osresult, OSrLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
07226 {
07227         osrl_empty_vectors( parserData);
07228         osgl_empty_vectors(     osglData);
07229         std::ostringstream outStr;
07230         std::string error = errormsg;
07231         error = "OSrL input is either not valid or well formed: "  + error;
07232         outStr << error << std::endl;
07233         outStr << "Error occurred when reading: " << osrlget_text ( scanner ) << std::endl; 
07234         outStr << "See line number: " << osrlget_lineno( scanner) << std::endl; 
07235         error = outStr.str();
07236         //printf("THIS DID NOT GET DESTROYED:   %s\n", parserData->errorText);
07237         //if( (parserData->errorText != NULL) &&  (strlen(parserData->errorText) > 0) ) free(  parserData->errorText);
07238         //osrllex_destroy( scanner);
07239         throw ErrorClass( error);
07240 } //end osrlerror
07241 
07242 void  yygetOSResult(const char *parsestring, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData) throw(ErrorClass){
07243         try{
07244                 osrl_scan_string( parsestring, scanner);
07245                 osrlset_lineno (1 , scanner );
07246                 //
07247                 // call the Bison parser
07248                 //
07249                 if(  osrlparse( osresult,  parserData, osglData) != 0) {
07250                         //osrllex_destroy(scanner);
07251                         throw ErrorClass(  "Error parsing the OSrL file");
07252                  }
07253         }
07254         catch(const ErrorClass& eclass){
07255                 throw ErrorClass(  eclass.errormsg); 
07256         }
07257 } //end yygetOSResult
07258 
07259 
07260 void osrl_empty_vectors( OSrLParserData* parserData){
07261 
07262     int k;
07263     int numOtherVarVec = parserData->otherVarVec.size();
07264    
07265     for( k = 0; k < numOtherVarVec; k++){
07266         if( (parserData->otherVarVec[ k]  != NULL) && (parserData->otherVarVec[ k]->otherVarText != NULL) ) 
07267                         delete[] parserData->otherVarVec[ k]->otherVarText;
07268                 if( (parserData->otherVarVec[ k]  != NULL) && (parserData->otherVarVec[ k]->otherVarIndex != NULL) ) 
07269                         delete[] parserData->otherVarVec[ k]->otherVarIndex;
07270                         
07271                 if( parserData->otherVarVec[ k]  != NULL) delete parserData->otherVarVec[ k];
07272     }
07273         parserData->otherVarVec.clear(); 
07274         
07275         int numDualVals =  parserData->dualVals.size();
07276         for(k = 0; k < numDualVals; k++){
07277                 if( parserData->dualVals[ k]  != NULL  ) 
07278                         delete parserData->dualVals[ k];
07279         }
07280         parserData->dualVals.clear();
07281         
07282         
07283         int numObjVals =  parserData->objVals.size();
07284         for(k = 0; k < numObjVals; k++){
07285                 if( parserData->objVals[ k]  != NULL  ) 
07286                         delete parserData->objVals[ k];
07287         }
07288         parserData->objVals.clear();
07289         
07290         
07291         int numPrimalVals =  parserData->primalVals.size();
07292         for(k = 0; k < numPrimalVals; k++){     
07293                 if( parserData->primalVals[ k]  != NULL  ) 
07294                         delete parserData->primalVals[ k];
07295         }
07296         parserData->primalVals.clear();
07297 }//end osrl_empty_vectors
07298 
07299 //void osgl_empty_vectors( OSgLParserData* osglData){
07300 //      if (osglData->osglIntArray != NULL)
07301 //              delete[] osglData->osglIntArray;
07302 //}//end osgl_empty_vectors
07303 

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