/home/coin/SVN-release/OS-2.4.0/OS/src/OSParsers/OSParseosrl.tab.cpp

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

Generated on Thu Sep 22 03:06:04 2011 by  doxygen 1.4.7