/home/coin/SVN-release/OS-2.4.2/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      374,   381,   381,   384,   389,   393,   402,   406,   411,   411,
01320      413,   415,   417,   417,   419,   424,   434,   440,   440,   443,
01321      448,   454,   454,   457,   459,   466,   466,   468,   468,   470,
01322      472,   475,   477,   484,   484,   486,   486,   488,   490,   495,
01323      497,   504,   504,   506,   506,   508,   510,   515,   517,   524,
01324      524,   526,   526,   528,   530,   535,   537,   544,   544,   546,
01325      546,   548,   550,   555,   557,   564,   564,   566,   566,   568,
01326      570,   575,   577,   584,   584,   586,   586,   588,   590,   595,
01327      597,   604,   614,   619,   625,   625,   627,   629,   631,   631,
01328      633,   638,   650,   656,   656,   659,   666,   671,   678,   678,
01329      682,   682,   684,   695,   695,   697,   697,   699,   701,   703,
01330      703,   706,   707,   708,   709,   710,   711,   714,   716,   723,
01331      723,   725,   725,   727,   729,   736,   738,   749,   751,   751,
01332      754,   760,   766,   768,   774,   776,   787,   789,   789,   792,
01333      798,   804,   806,   813,   815,   826,   828,   828,   831,   837,
01334      843,   845,   852,   854,   863,   864,   870,   872,   878,   880,
01335      887,   897,   902,   908,   908,   910,   912,   914,   914,   916,
01336      921,   933,   939,   939,   942,   949,   954,   960,   960,   964,
01337      964,   966,   977,   977,   979,   979,   981,   983,   985,   985,
01338      988,   989,   990,   991,   992,   993,   996,   998,  1005,  1005,
01339     1007,  1007,  1009,  1011,  1019,  1021,  1028,  1028,  1030,  1030,
01340     1032,  1034,  1039,  1041,  1048,  1048,  1050,  1050,  1052,  1054,
01341     1059,  1061,  1068,  1068,  1070,  1070,  1072,  1074,  1079,  1081,
01342     1088,  1088,  1090,  1090,  1092,  1094,  1101,  1103,  1110,  1120,
01343     1125,  1131,  1131,  1133,  1135,  1137,  1137,  1139,  1144,  1156,
01344     1162,  1162,  1165,  1172,  1177,  1184,  1184,  1187,  1187,  1189,
01345     1205,  1205,  1207,  1207,  1209,  1211,  1213,  1213,  1216,  1217,
01346     1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,  1226,  1229,
01347     1231,  1238,  1238,  1240,  1240,  1242,  1244,  1252,  1254,  1261,
01348     1261,  1263,  1263,  1265,  1267,  1272,  1274,  1281,  1281,  1283,
01349     1283,  1285,  1287,  1292,  1294,  1301,  1301,  1303,  1303,  1305,
01350     1307,  1312,  1314,  1321,  1321,  1323,  1323,  1325,  1327,  1332,
01351     1334,  1341,  1351,  1356,  1362,  1362,  1364,  1366,  1368,  1368,
01352     1370,  1372,  1386,  1386,  1389,  1389,  1389,  1389,  1392,  1392,
01353     1394,  1394,  1396,  1398,  1407,  1408,  1411,  1413,  1424,  1426,
01354     1426,  1429,  1435,  1441,  1443,  1450,  1452,  1463,  1465,  1465,
01355     1468,  1474,  1480,  1482,  1489,  1491,  1502,  1504,  1504,  1507,
01356     1513,  1519,  1521,  1528,  1530,  1540,  1541,  1547,  1549,  1556,
01357     1558,  1565,  1575,  1580,  1586,  1586,  1588,  1590,  1592,  1592,
01358     1594,  1599,  1611,  1617,  1617,  1620,  1627,  1632,  1639,  1639,
01359     1642,  1642,  1644,  1652,  1658,  1658,  1661,  1668,  1674,  1680,
01360     1688,  1693,  1699,  1699,  1701,  1703,  1705,  1705,  1707,  1709,
01361     1718,  1720,  1720,  1722,  1722,  1722,  1724,  1734,  1744,  1764,
01362     1770,  1772,  1782,  1788,  1788,  1791,  1796,  1801,  1811,  1816,
01363     1822,  1822,  1824,  1826,  1828,  1828,  1830,  1835,  1845,  1851,
01364     1851,  1854,  1860,  1867,  1867,  1870,  1870,  1872,  1874,  1874,
01365     1876,  1876,  1878,  1880,  1888,  1888,  1890,  1896,  1896,  1904,
01366     1904,  1906,  1908,  1910,  1912,  1912,  1914,  1916,  1924,  1929,
01367     1935,  1935,  1937,  1939,  1941,  1941,  1943,  1954,  1963,  1963,
01368     1966,  1967,  1970,  1973,  1973,  1975,  1977,  1985,  1990,  1996,
01369     1996,  1998,  2000,  2002,  2002,  2004,  2015,  2024,  2024,  2027,
01370     2028,  2032,  2033,  2035,  2035,  2037,  2039,  2044,  2044,  2046,
01371     2051,  2051,  2053,  2055,  2057,  2059,  2059,  2068,  2070,  2077,
01372     2077,  2079,  2081,  2083,  2086,  2086,  2096,  2098,  2105,  2105,
01373     2107,  2109,  2111,  2114,  2114,  2123,  2125,  2132,  2132,  2134,
01374     2136,  2138,  2141,  2141,  2150,  2152,  2159,  2159,  2161,  2163,
01375     2165,  2168,  2168,  2177,  2179,  2186,  2186,  2188,  2190,  2192,
01376     2195,  2195,  2204,  2206,  2213,  2213,  2215,  2217,  2219,  2222,
01377     2222,  2224,  2229,  2242,  2248,  2248,  2251,  2262,  2273,  2279,
01378     2285,  2292,  2292,  2294,  2294,  2296,  2298,  2298,  2300,  2300,
01379     2302,  2309,  2318,  2318,  2321,  2327,  2334,  2334,  2336,  2336,
01380     2338,  2340,  2349,  2349,  2351,  2362,  2370,  2376,  2376,  2379,
01381     2385,  2386,  2390,  2390,  2392,  2394,  2397,  2401,  2401,  2403,
01382     2411,  2411,  2419,  2419,  2421,  2423,  2425,  2427,  2427,  2429,
01383     2431,  2439,  2444,  2450,  2450,  2452,  2454,  2457,  2457,  2459,
01384     2468,  2478,  2478,  2481,  2482,  2485,  2488,  2488,  2490,  2495,
01385     2495,  2498,  2500,  2502,  2504,  2504,  2513,  2515,  2522,  2522,
01386     2524,  2526,  2528,  2530,  2530,  2539,  2541,  2548,  2548,  2550,
01387     2552,  2554,  2557,  2557,  2566,  2568,  2575,  2575,  2577,  2579,
01388     2581,  2584,  2584,  2593,  2595,  2602,  2602,  2604,  2606,  2608,
01389     2611,  2611,  2620,  2622,  2629,  2629,  2631,  2633,  2635,  2638,
01390     2638,  2647,  2649,  2656,  2656,  2658,  2660,  2662,  2665,  2665,
01391     2667,  2673,  2686,  2693,  2693,  2696,  2707,  2718,  2724,  2730,
01392     2739,  2739,  2741,  2741,  2743,  2745,  2745,  2747,  2747,  2749,
01393     2754,  2764,  2764,  2767,  2772,  2779,  2779,  2781,  2781,  2783,
01394     2785,  2792,  2792,  2794,  2805,  2813,  2819,  2819,  2822,  2828,
01395     2829,  2833,  2833,  2835,  2837,  2840,  2843,  2843,  2845,  2852,
01396     2852,  2860,  2860,  2862,  2864,  2866,  2868,  2868,  2870,  2873,
01397     2881,  2886,  2892,  2892,  2894,  2896,  2898,  2898,  2900,  2909,
01398     2918,  2918,  2921,  2922,  2925,  2928,  2928,  2930,  2935,  2935,
01399     2937,  2939,  2941,  2943,  2943,  2952,  2954,  2961,  2961,  2963,
01400     2965,  2967,  2969,  2969,  2978,  2980,  2987,  2987,  2989,  2991,
01401     2993,  2996,  2996,  3005,  3007,  3014,  3014,  3016,  3018,  3020,
01402     3023,  3023,  3032,  3034,  3041,  3041,  3043,  3045,  3047,  3050,
01403     3050,  3059,  3061,  3068,  3068,  3070,  3072,  3074,  3077,  3077,
01404     3086,  3088,  3095,  3095,  3097,  3099,  3101,  3104,  3104,  3106,
01405     3112,  3125,  3131,  3131,  3134,  3145,  3156,  3162,  3168,  3175,
01406     3175,  3177,  3177,  3179,  3181,  3181,  3183,  3183,  3185,  3192,
01407     3201,  3201,  3205,  3210,  3218,  3218,  3220,  3220,  3222,  3224,
01408     3231,  3231,  3233,  3244,  3252,  3258,  3258,  3261,  3267,  3268,
01409     3272,  3272,  3274,  3276,  3278,  3282,  3282,  3284,  3289,  3298,
01410     3303,  3309,  3309,  3311,  3313,  3315,  3315,  3317,  3322,  3334,
01411     3342,  3342,  3345,  3351,  3357,  3365,  3375,  3380,  3386,  3386,
01412     3388,  3390,  3392,  3392,  3394,  3400,  3405,  3407,  3407,  3409,
01413     3411,  3423,  3423,  3425,  3430,  3439,  3444,  3450,  3450,  3452,
01414     3454,  3456,  3456,  3458,  3463,  3475,  3483,  3483,  3486,  3491,
01415     3497,  3503,  3512,  3517,  3523,  3523,  3525,  3527,  3529,  3529,
01416     3531,  3537,  3542,  3544,  3544,  3546,  3548,  3559,  3566,  3566,
01417     3568,  3573,  3578,  3585,  3585,  3587,  3592,  3597,  3605,  3612,
01418     3612,  3614,  3619,  3624,  3631,  3631,  3633,  3638,  3643,  3650,
01419     3650,  3652,  3657,  3662,  3669,  3669,  3671,  3676,  3682,  3688,
01420     3697,  3703,  3717,  3726,  3732,  3741,  3747,  3753,  3759,  3765,
01421     3771,  3780,  3786,  3795,  3800,  3806,  3833,  3838,  3840,  3840,
01422     3842,  3844,  3853,  3855,  3855,  3857,  3857,  3859,  3867,  3869,
01423     3874,  3874,  3876,  3876,  3878,  3901,  3909,  3923,  3924,  3928,
01424     3929,  3930,  3932,  3934,  3934,  3936,  3937,  3938,  3939
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     {
03949                 if (parserData->generalStatusPresent)
03950                         osrlerror(NULL, NULL, parserData, osglData, "only one generalStatus element allowed");  
03951                 if (osresult->general->generalStatus != NULL) 
03952                         osrlerror(NULL, NULL, parserData, osglData, "generalStatus previously allocated");
03953                 parserData->generalStatusPresent = true;
03954                 parserData->typeAttributePresent = false;
03955                 parserData->descriptionAttributePresent = false;
03956                 parserData->numberAttributePresent = false;
03957                 parserData->numberOf = 0;
03958                 parserData->typeAttribute = "";
03959                 parserData->descriptionAttribute = "";
03960         }
03961     break;
03962 
03963   case 80:
03964 
03965     {
03966                 if (!parserData->typeAttributePresent)
03967                         osrlerror(NULL, NULL, parserData, osglData, "type attribute must be present for generalStatus element");
03968                 parserData->kounter = 0;
03969         }
03970     break;
03971 
03972   case 83:
03973 
03974     { 
03975                 if (osresult->setGeneralStatusType(parserData->typeAttribute) == false)
03976                         osrlerror(NULL, NULL, parserData, osglData, "general status type does not match any legal value");
03977         }
03978     break;
03979 
03980   case 84:
03981 
03982     {   
03983                 osresult->setGeneralStatusDescription(parserData->descriptionAttribute);
03984         }
03985     break;
03986 
03987   case 85:
03988 
03989     {
03990            if (osresult->setNumberOfGeneralSubstatuses(parserData->tempInt) == false)
03991                         osrlerror(NULL, NULL, parserData, osglData, "Attempting to reallocate substatus array. Potential loss of data.");
03992                 parserData->numberOf = parserData->tempInt;
03993                 parserData->kounter = 0;
03994         }
03995     break;
03996 
03997   case 86:
03998 
03999     {   if (parserData->numberOf > 0)
04000                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <substatus> element");
04001         }
04002     break;
04003 
04004   case 87:
04005 
04006     {   if (parserData->kounter != parserData->numberOf)
04007                         osrlerror(NULL, NULL, parserData, osglData, "fewer <substatus> elements than specified");
04008         }
04009     break;
04010 
04011   case 94:
04012 
04013     {
04014         parserData->kounter++;
04015 }
04016     break;
04017 
04018   case 95:
04019 
04020     {
04021         if (parserData->kounter >= parserData->numberOf)
04022                 osrlerror( NULL, NULL, parserData, osglData, "more <substatus> elements than specified");
04023         parserData->nameAttributePresent = false;
04024         parserData->descriptionAttributePresent = false;
04025         parserData->nameAttribute = "";
04026         parserData->descriptionAttribute = "";
04027 }
04028     break;
04029 
04030   case 96:
04031 
04032     {
04033         if (!parserData->nameAttributePresent)
04034                 osrlerror (NULL, NULL, parserData, osglData, "<substatus> must have name attribute");
04035 }
04036     break;
04037 
04038   case 99:
04039 
04040     {   
04041                 if (osresult->setGeneralSubstatusName(parserData->kounter, parserData->nameAttribute) == false)
04042                         osrlerror(NULL, NULL, parserData, osglData, "Error while setting <general> substatus name");
04043         }
04044     break;
04045 
04046   case 100:
04047 
04048     {   
04049                 if (osresult->setGeneralSubstatusDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04050                         osrlerror(NULL, NULL, parserData, osglData, "Error while setting <general> substatus description");
04051         }
04052     break;
04053 
04054   case 104:
04055 
04056     {
04057                 if (parserData->generalMessagePresent)
04058                         osrlerror(NULL, NULL, parserData, osglData, "only one message element allowed");
04059                 parserData->generalMessagePresent = true;
04060         }
04061     break;
04062 
04063   case 110:
04064 
04065     {osresult->setGeneralMessage((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
04066     break;
04067 
04068   case 112:
04069 
04070     {
04071                 if (parserData->generalServiceURIPresent)
04072                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceURI element allowed");
04073                 parserData->generalServiceURIPresent = true;
04074         }
04075     break;
04076 
04077   case 118:
04078 
04079     {
04080                 osresult->setServiceURI((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04081         }
04082     break;
04083 
04084   case 120:
04085 
04086     {
04087                 if (parserData->generalServiceNamePresent)
04088                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceName element allowed");
04089                 parserData->generalServiceNamePresent = true;
04090         }
04091     break;
04092 
04093   case 126:
04094 
04095     {
04096                 osresult->setServiceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04097         }
04098     break;
04099 
04100   case 128:
04101 
04102     {
04103                 if (parserData->generalInstanceNamePresent)
04104                         osrlerror(NULL, NULL, parserData, osglData, "only one instanceName element allowed");
04105                 parserData->generalInstanceNamePresent = true;
04106         }
04107     break;
04108 
04109   case 134:
04110 
04111     {
04112                 osresult->setInstanceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04113         }
04114     break;
04115 
04116   case 136:
04117 
04118     {
04119                 if (parserData->generalJobIDPresent)
04120                         osrlerror(NULL, NULL, parserData, osglData, "only one jobID element allowed");
04121                 parserData->generalJobIDPresent = true;
04122         }
04123     break;
04124 
04125   case 142:
04126 
04127     {
04128                 osresult->setJobID((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04129         }
04130     break;
04131 
04132   case 144:
04133 
04134     {
04135                 if (parserData->generalSolverInvokedPresent)
04136                         osrlerror(NULL, NULL, parserData, osglData, "only one solverInvoked element allowed");
04137                 parserData->generalSolverInvokedPresent = true;
04138         }
04139     break;
04140 
04141   case 150:
04142 
04143     {
04144                 osresult->setSolverInvoked((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04145         }
04146     break;
04147 
04148   case 152:
04149 
04150     {
04151                 if (parserData->generalTimeStampPresent)
04152                         osrlerror(NULL, NULL, parserData, osglData, "only one timeStamp element allowed");
04153                 parserData->generalTimeStampPresent = true;
04154         }
04155     break;
04156 
04157   case 158:
04158 
04159     {
04160                 osresult->setTimeStamp((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04161         }
04162     break;
04163 
04164   case 160:
04165 
04166     {
04167                 if (parserData->otherGeneralResultsPresent)
04168                         osrlerror(NULL, NULL, parserData, osglData, "only one general other results element allowed");
04169                 parserData->otherGeneralResultsPresent = true;
04170         }
04171     break;
04172 
04173   case 161:
04174 
04175     {
04176         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other general results cannot be negative");
04177         if (osresult->setNumberOfOtherGeneralResults(parserData->tempInt) == false)
04178                 osrlerror(NULL, NULL, parserData, osglData, "Attempting to reallocate other general results array. Potential loss of data.");
04179         parserData->numberOf = parserData->tempInt;
04180         parserData->kounter = 0;
04181 }
04182     break;
04183 
04184   case 162:
04185 
04186     {
04187                 if (parserData->numberOf > 0)
04188                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04189         }
04190     break;
04191 
04192   case 163:
04193 
04194     {
04195                 if (parserData->kounter < parserData->numberOf - 1)
04196                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04197         }
04198     break;
04199 
04200   case 170:
04201 
04202     {
04203         parserData->kounter++;
04204 }
04205     break;
04206 
04207   case 171:
04208 
04209     {
04210         if (parserData->kounter >= parserData->numberOf)
04211                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04212         parserData->nameAttributePresent = false;
04213         parserData->valueAttributePresent = false;
04214         parserData->descriptionAttributePresent = false;
04215         parserData->nameAttribute = "";
04216         parserData->valueAttribute = "";
04217         parserData->descriptionAttribute = "";
04218 }
04219     break;
04220 
04221   case 172:
04222 
04223     {
04224         if (!parserData->nameAttributePresent)
04225                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04226 }
04227     break;
04228 
04229   case 175:
04230 
04231     {
04232                 if (parserData->nameAttribute.length() == 0)
04233                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04234                 if (osresult->setOtherGeneralResultName(parserData->kounter, parserData->nameAttribute) == false)
04235                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultName failed");
04236         }
04237     break;
04238 
04239   case 176:
04240 
04241     {   
04242                 if (osresult->setOtherGeneralResultValue(parserData->kounter, parserData->valueAttribute) == false)
04243                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultValue failed");
04244         }
04245     break;
04246 
04247   case 177:
04248 
04249     {   
04250                 if (osresult->setOtherGeneralResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04251                         osrlerror(NULL, NULL, parserData, osglData, "setGeneralOtherResultDescription failed");
04252         }
04253     break;
04254 
04255   case 182:
04256 
04257     {
04258         parserData->systemInformationPresent = false;   
04259         parserData->systemAvailableDiskSpacePresent = false;    
04260         parserData->systemAvailableMemoryPresent = false;
04261         parserData->systemAvailableCPUSpeedPresent = false;
04262         parserData->systemAvailableCPUNumberPresent = false;
04263         parserData->otherSystemResultsPresent = false;
04264         osresult->system = new SystemResult();
04265 }
04266     break;
04267 
04268   case 198:
04269 
04270     {
04271                 if (parserData->systemInformationPresent)
04272                         osrlerror(NULL, NULL, parserData, osglData, "only one systemInformation element allowed");
04273                 parserData->systemInformationPresent = true;
04274         }
04275     break;
04276 
04277   case 204:
04278 
04279     {
04280                 osresult->setSystemInformation((yyvsp[(1) - (1)].sval)); 
04281                 free((yyvsp[(1) - (1)].sval)); 
04282                 parserData->errorText = NULL;
04283         }
04284     break;
04285 
04286   case 206:
04287 
04288     {
04289                 if (parserData->systemAvailableDiskSpacePresent)
04290                         osrlerror(NULL, NULL, parserData, osglData, "only one availableDiskSpace element allowed");
04291                 parserData->systemAvailableDiskSpacePresent = true;     
04292                 parserData->unitAttributePresent = false;       
04293                 parserData->descriptionAttributePresent = false;        
04294                 parserData->unitAttribute = ""; 
04295                 parserData->descriptionAttribute = "";
04296         }
04297     break;
04298 
04299   case 210:
04300 
04301     {
04302                 if (osresult->setAvailableDiskSpaceUnit( parserData->unitAttribute) == false) 
04303                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit not recognized");
04304                 parserData->errorText = NULL;
04305         }
04306     break;
04307 
04308   case 211:
04309 
04310     {
04311                 osresult->setAvailableDiskSpaceDescription( parserData->descriptionAttribute); 
04312                 parserData->errorText = NULL;
04313         }
04314     break;
04315 
04316   case 213:
04317 
04318     {
04319         osresult->setAvailableDiskSpaceValue(parserData->tempVal);  
04320         parserData->errorText = NULL;
04321 }
04322     break;
04323 
04324   case 215:
04325 
04326     {
04327                 if (parserData->systemAvailableMemoryPresent)
04328                         osrlerror(NULL, NULL, parserData, osglData, "only one availableMemory element allowed");
04329                 parserData->systemAvailableMemoryPresent = true;
04330                 parserData->unitAttributePresent = false;       
04331                 parserData->descriptionAttributePresent = false;        
04332                 parserData->unitAttribute = ""; 
04333                 parserData->descriptionAttribute = "";
04334         }
04335     break;
04336 
04337   case 219:
04338 
04339     {
04340                 if (osresult->setAvailableMemoryUnit( parserData->unitAttribute) == false)
04341                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit not recognized");
04342                 parserData->errorText = NULL;
04343         }
04344     break;
04345 
04346   case 220:
04347 
04348     {
04349                 osresult->setAvailableMemoryDescription( parserData->descriptionAttribute); 
04350                 parserData->errorText = NULL;
04351         }
04352     break;
04353 
04354   case 222:
04355 
04356     {
04357         osresult->setAvailableMemoryValue(parserData->tempVal);  
04358         parserData->errorText = NULL;
04359 }
04360     break;
04361 
04362   case 224:
04363 
04364     {
04365                 if (parserData->systemAvailableCPUSpeedPresent)
04366                         osrlerror(NULL, NULL, parserData, osglData, "only one availableCPUSpeed element allowed");
04367                 parserData->systemAvailableCPUSpeedPresent = true;
04368                 parserData->unitAttributePresent = false;       
04369                 parserData->descriptionAttributePresent = false;        
04370                 parserData->unitAttribute = ""; 
04371                 parserData->descriptionAttribute = "";
04372         }
04373     break;
04374 
04375   case 228:
04376 
04377     {
04378                 if (osresult->setAvailableCPUSpeedUnit( parserData->unitAttribute) == false)
04379                         osrlerror(NULL, NULL, parserData, osglData, "available CPU Speed could not be set");
04380                 parserData->errorText = NULL;
04381         }
04382     break;
04383 
04384   case 229:
04385 
04386     {
04387                 osresult->setAvailableCPUSpeedDescription( parserData->descriptionAttribute); 
04388                 parserData->errorText = NULL;
04389         }
04390     break;
04391 
04392   case 231:
04393 
04394     {
04395         osresult->setAvailableCPUSpeedValue(parserData->tempVal);  
04396         parserData->errorText = NULL;
04397 }
04398     break;
04399 
04400   case 233:
04401 
04402     {
04403                 if (parserData->systemAvailableCPUNumberPresent)
04404                         osrlerror(NULL, NULL, parserData, osglData, "only one availableCPUNumber element allowed");
04405                 parserData->systemAvailableCPUNumberPresent = true;
04406                 parserData->descriptionAttributePresent = false;        
04407                 parserData->descriptionAttribute = "";  
04408         }
04409     break;
04410 
04411   case 235:
04412 
04413     {
04414                 osresult->setAvailableCPUNumberDescription( parserData->descriptionAttribute); 
04415                 parserData->errorText = NULL;
04416         }
04417     break;
04418 
04419   case 237:
04420 
04421     {
04422         osresult->setAvailableCPUNumberValue( (yyvsp[(1) - (1)].ival));  parserData->errorText = NULL;
04423 }
04424     break;
04425 
04426   case 239:
04427 
04428     {
04429                 if (parserData->otherSystemResultsPresent)
04430                         osrlerror(NULL, NULL, parserData, osglData, "only one system other results element allowed");
04431                 parserData->otherSystemResultsPresent = true;
04432         }
04433     break;
04434 
04435   case 240:
04436 
04437     {
04438         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other system results cannot be negative");
04439         if (osresult->setNumberOfOtherSystemResults(parserData->tempInt) == false)
04440                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherSystemResults failed");
04441         parserData->numberOf = parserData->tempInt;
04442         parserData->kounter = 0;
04443 }
04444     break;
04445 
04446   case 241:
04447 
04448     {
04449                 if (parserData->numberOf > 0)
04450                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04451         }
04452     break;
04453 
04454   case 242:
04455 
04456     {
04457                 if (parserData->kounter < parserData->numberOf - 1)
04458                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04459         }
04460     break;
04461 
04462   case 249:
04463 
04464     {
04465         parserData->kounter++;
04466 }
04467     break;
04468 
04469   case 250:
04470 
04471     {
04472         if (parserData->kounter >= parserData->numberOf)
04473                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04474         parserData->nameAttributePresent = false;
04475         parserData->valueAttributePresent = false;
04476         parserData->descriptionAttributePresent = false;
04477         parserData->nameAttribute = "";
04478         parserData->valueAttribute = "";
04479         parserData->descriptionAttribute = "";
04480 }
04481     break;
04482 
04483   case 251:
04484 
04485     {
04486         if (!parserData->nameAttributePresent)
04487                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04488 }
04489     break;
04490 
04491   case 254:
04492 
04493     {
04494                 if (parserData->nameAttribute.length() == 0)
04495                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04496                 if (osresult->setOtherSystemResultName(parserData->kounter, parserData->nameAttribute) == false)
04497                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultName failed");
04498         }
04499     break;
04500 
04501   case 255:
04502 
04503     {   
04504                 if (osresult->setOtherSystemResultValue(parserData->kounter, parserData->valueAttribute) == false)
04505                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultValue failed");
04506         }
04507     break;
04508 
04509   case 256:
04510 
04511     {   
04512                 if (osresult->setOtherSystemResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04513                         osrlerror(NULL, NULL, parserData, osglData, "setSystemOtherResultDescription failed");
04514         }
04515     break;
04516 
04517   case 261:
04518 
04519     {
04520         parserData->serviceCurrentStatePresent = false; 
04521         parserData->serviceCurrentJobCountPresent = false;      
04522         parserData->serviceTotalJobsSoFarPresent = false;       
04523         parserData->timeServiceStartedPresent = false;  
04524         parserData->serviceUtilizationPresent = false;  
04525         parserData->otherServiceResultsPresent = false;
04526         osresult->service = new ServiceResult();
04527 }
04528     break;
04529 
04530   case 277:
04531 
04532     {
04533                 if (parserData->serviceCurrentStatePresent)
04534                         osrlerror(NULL, NULL, parserData, osglData, "only one currentState element allowed");
04535                 parserData->serviceCurrentStatePresent = true;
04536         }
04537     break;
04538 
04539   case 283:
04540 
04541     {
04542            parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
04543                 if (osresult->setCurrentState(parserData->tempStr) == false)
04544                         osrlerror(NULL, NULL, parserData, osglData, "setCurrentState failed; current system state not recognized");
04545                 parserData->errorText = NULL;
04546         }
04547     break;
04548 
04549   case 285:
04550 
04551     {
04552                 if (parserData->serviceCurrentJobCountPresent)
04553                         osrlerror(NULL, NULL, parserData, osglData, "only one currentJobCount element allowed");
04554                 parserData->serviceCurrentJobCountPresent = true;
04555         }
04556     break;
04557 
04558   case 291:
04559 
04560     {
04561                 osresult->setCurrentJobCount((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL;
04562         }
04563     break;
04564 
04565   case 293:
04566 
04567     {
04568                 if (parserData->serviceTotalJobsSoFarPresent)
04569                         osrlerror(NULL, NULL, parserData, osglData, "only one totalJobsSoFar element allowed");
04570                 parserData->serviceTotalJobsSoFarPresent = true;
04571         }
04572     break;
04573 
04574   case 299:
04575 
04576     {
04577                 osresult->setTotalJobsSoFar((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; 
04578         }
04579     break;
04580 
04581   case 301:
04582 
04583     {
04584                 if (parserData->timeServiceStartedPresent)
04585                         osrlerror(NULL, NULL, parserData, osglData, "only one timeServiceStarted element allowed");
04586                 parserData->timeServiceStartedPresent = true;
04587         }
04588     break;
04589 
04590   case 307:
04591 
04592     {
04593                 osresult->setTimeServiceStarted((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04594         }
04595     break;
04596 
04597   case 309:
04598 
04599     {
04600                 if (parserData->serviceUtilizationPresent)
04601                         osrlerror(NULL, NULL, parserData, osglData, "only one serviceUtilization element allowed");
04602                 parserData->serviceUtilizationPresent = true;
04603         }
04604     break;
04605 
04606   case 315:
04607 
04608     {
04609         if (osresult->setServiceUtilization( parserData->tempVal) == false)
04610                 osrlerror(NULL, NULL, parserData, osglData, "setServiceUtilization failed");
04611         parserData->errorText = NULL;
04612 }
04613     break;
04614 
04615   case 317:
04616 
04617     {
04618                 if (parserData->otherServiceResultsPresent)
04619                         osrlerror(NULL, NULL, parserData, osglData, "only one service other results element allowed");
04620                 parserData->otherServiceResultsPresent = true;
04621         }
04622     break;
04623 
04624   case 318:
04625 
04626     {
04627         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other service results cannot be negative");
04628         if (osresult->setNumberOfOtherServiceResults(parserData->tempInt) == false)
04629                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherServiceResults failed");
04630         parserData->numberOf = parserData->tempInt;
04631         parserData->kounter = 0;
04632 }
04633     break;
04634 
04635   case 319:
04636 
04637     {
04638                 if (parserData->numberOf > 0)
04639                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
04640         }
04641     break;
04642 
04643   case 320:
04644 
04645     {
04646                 if (parserData->kounter < parserData->numberOf - 1)
04647                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
04648         }
04649     break;
04650 
04651   case 327:
04652 
04653     {
04654         parserData->kounter++;
04655 }
04656     break;
04657 
04658   case 328:
04659 
04660     {
04661         if (parserData->kounter >= parserData->numberOf)
04662                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
04663         parserData->nameAttributePresent = false;
04664         parserData->valueAttributePresent = false;
04665         parserData->descriptionAttributePresent = false;
04666         parserData->nameAttribute = "";
04667         parserData->valueAttribute = "";
04668         parserData->descriptionAttribute = "";
04669 }
04670     break;
04671 
04672   case 329:
04673 
04674     {
04675         if (!parserData->nameAttributePresent)
04676                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
04677 }
04678     break;
04679 
04680   case 332:
04681 
04682     {
04683                 if (parserData->nameAttribute.length() == 0)
04684                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
04685                 if (osresult->setOtherServiceResultName(parserData->kounter, parserData->nameAttribute) == false)
04686                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultName failed");
04687         }
04688     break;
04689 
04690   case 333:
04691 
04692     {   
04693                 if (osresult->setOtherServiceResultValue(parserData->kounter, parserData->valueAttribute) == false)
04694                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultValue failed");
04695         }
04696     break;
04697 
04698   case 334:
04699 
04700     {   
04701                 if (osresult->setOtherServiceResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04702                         osrlerror(NULL, NULL, parserData, osglData, "setServiceOtherResultDescription failed");
04703         }
04704     break;
04705 
04706   case 339:
04707 
04708     {
04709         parserData->jobStatusPresent = false;   
04710         parserData->jobSubmitTimePresent = false;       
04711         parserData->scheduledStartTimePresent = false;  
04712         parserData->actualStartTimePresent = false;     
04713         parserData->jobEndTimePresent = false;  
04714         parserData->jobTimingInformationPresent = false;        
04715         parserData->jobUsedDiskSpacePresent = false;    
04716         parserData->jobUsedMemoryPresent = false;       
04717         parserData->jobUsedCPUSpeedPresent = false;     
04718         parserData->jobUsedCPUNumberPresent = false;    
04719         parserData->otherJobResultsPresent = false;      
04720         osresult->job = new JobResult();
04721 }
04722     break;
04723 
04724   case 360:
04725 
04726     {
04727                 if (parserData->jobStatusPresent)
04728                         osrlerror(NULL, NULL, parserData, osglData, "only one job status element allowed");
04729                 parserData->jobStatusPresent = true;
04730         }
04731     break;
04732 
04733   case 366:
04734 
04735     {
04736                 parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
04737                 if (osresult->setJobStatus(parserData->tempStr) == false)
04738                         osrlerror(NULL, NULL, parserData, osglData, "setJobStatus failed");
04739                 parserData->errorText = NULL;
04740         }
04741     break;
04742 
04743   case 368:
04744 
04745     {
04746                 if (parserData->jobSubmitTimePresent)
04747                         osrlerror(NULL, NULL, parserData, osglData, "only one submitTime element allowed");
04748                 parserData->jobSubmitTimePresent = true;
04749         }
04750     break;
04751 
04752   case 374:
04753 
04754     {
04755                 osresult->setJobSubmitTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04756         }
04757     break;
04758 
04759   case 376:
04760 
04761     {
04762                 if (parserData->scheduledStartTimePresent)
04763                         osrlerror(NULL, NULL, parserData, osglData, "only one scheduledStartTime element allowed");
04764                 parserData->scheduledStartTimePresent = true;
04765         }
04766     break;
04767 
04768   case 382:
04769 
04770     {
04771                 osresult->setScheduledStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;
04772         }
04773     break;
04774 
04775   case 384:
04776 
04777     {
04778                 if (parserData->actualStartTimePresent)
04779                         osrlerror(NULL, NULL, parserData, osglData, "only one actualStartTime element allowed");
04780                 parserData->actualStartTimePresent = true;
04781         }
04782     break;
04783 
04784   case 390:
04785 
04786     {
04787                 osresult->setActualStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval));  parserData->errorText = NULL;
04788         }
04789     break;
04790 
04791   case 392:
04792 
04793     {
04794                 if (parserData->jobEndTimePresent)
04795                         osrlerror(NULL, NULL, parserData, osglData, "only one job endTime element allowed");
04796                 parserData->jobEndTimePresent = true;
04797         }
04798     break;
04799 
04800   case 398:
04801 
04802     {
04803                 osresult->setJobEndTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval));  parserData->errorText = NULL;
04804         }
04805     break;
04806 
04807   case 400:
04808 
04809     {
04810                 if (parserData->jobTimingInformationPresent)
04811                         osrlerror(NULL, NULL, parserData, osglData, "only one timingInformation element allowed");
04812                 parserData->jobTimingInformationPresent = true;
04813         }
04814     break;
04815 
04816   case 401:
04817 
04818     {
04819         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of time measurements cannot be negative");
04820         if (osresult->setNumberOfTimes(parserData->tempInt) == false)
04821                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfTimes failed");
04822         parserData->numberOfTimes = parserData->tempInt;
04823         parserData->ivar = 0;
04824 }
04825     break;
04826 
04827   case 402:
04828 
04829     {
04830                 if (parserData->numberOfTimes > 0)
04831                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <time> element");
04832         }
04833     break;
04834 
04835   case 403:
04836 
04837     {
04838                 if (parserData->ivar != parserData->numberOfTimes)
04839                         osrlerror(NULL, NULL, parserData, osglData, "fewer <time> elements than specified");
04840         }
04841     break;
04842 
04843   case 411:
04844 
04845     {
04846         if (parserData->ivar >= parserData->numberOfTimes)
04847                 osrlerror(NULL, NULL, parserData, osglData, "more <time> elements than specified");
04848         parserData->unitAttributePresent = false;
04849         parserData->typeAttributePresent = false;
04850         parserData->categoryAttributePresent = false;
04851         parserData->descriptionAttributePresent = false;
04852         parserData->unitAttribute = "second";
04853         parserData->typeAttribute = "elapsedTime";
04854         parserData->categoryAttribute = "total";
04855         parserData->descriptionAttribute = "";
04856 }
04857     break;
04858 
04859   case 423:
04860 
04861     {   
04862         if (osresult->setTimingInformation(parserData->ivar, parserData->typeAttribute, parserData->categoryAttribute,
04863                 parserData->unitAttribute, parserData->descriptionAttribute, parserData->timeValue) == false)       
04864                         osrlerror(NULL, NULL, parserData, osglData, "timing information could not be stored");
04865         parserData->ivar++;
04866 }
04867     break;
04868 
04869   case 424:
04870 
04871     { parserData->timeValue = (yyvsp[(1) - (1)].dval); }
04872     break;
04873 
04874   case 425:
04875 
04876     { parserData->timeValue = (yyvsp[(1) - (1)].ival); }
04877     break;
04878 
04879   case 427:
04880 
04881     {
04882                 if (parserData->jobUsedDiskSpacePresent)
04883                         osrlerror(NULL, NULL, parserData, osglData, "only one usedDiskSpace element allowed");
04884                 parserData->jobUsedDiskSpacePresent = true;             
04885                 parserData->unitAttributePresent = false;       
04886                 parserData->descriptionAttributePresent = false;
04887                 parserData->unitAttribute = "";
04888                 parserData->descriptionAttribute = "";
04889         }
04890     break;
04891 
04892   case 431:
04893 
04894     {
04895                 if (osresult->setUsedDiskSpaceUnit( parserData->unitAttribute) == false) 
04896                         osrlerror(NULL, NULL, parserData, osglData, "availableDiskSpace unit could not be set");
04897                 parserData->errorText = NULL;
04898         }
04899     break;
04900 
04901   case 432:
04902 
04903     {
04904                 osresult->setUsedDiskSpaceDescription( parserData->descriptionAttribute); 
04905                 parserData->errorText = NULL;
04906         }
04907     break;
04908 
04909   case 434:
04910 
04911     {
04912         osresult->setUsedDiskSpaceValue(parserData->tempVal);  
04913         parserData->errorText = NULL;
04914 }
04915     break;
04916 
04917   case 436:
04918 
04919     {
04920                 if (parserData->jobUsedMemoryPresent)
04921                         osrlerror(NULL, NULL, parserData, osglData, "only one usedMemory element allowed");
04922                 parserData->jobUsedMemoryPresent = true;
04923                 parserData->unitAttributePresent = false;       
04924                 parserData->descriptionAttributePresent = false;        
04925                 parserData->unitAttribute = "";
04926                 parserData->descriptionAttribute = "";
04927         }
04928     break;
04929 
04930   case 440:
04931 
04932     {
04933                 if (osresult->setUsedMemoryUnit( parserData->unitAttribute) == false) 
04934                         osrlerror(NULL, NULL, parserData, osglData, "usedMemory unit could not be set");
04935                 parserData->errorText = NULL;
04936         }
04937     break;
04938 
04939   case 441:
04940 
04941     {
04942                 osresult->setUsedMemoryDescription( parserData->descriptionAttribute); 
04943                 parserData->errorText = NULL;
04944         }
04945     break;
04946 
04947   case 443:
04948 
04949     {
04950         osresult->setUsedMemoryValue(parserData->tempVal);  
04951         parserData->errorText = NULL;
04952 }
04953     break;
04954 
04955   case 445:
04956 
04957     {
04958                 if (parserData->jobUsedCPUSpeedPresent)
04959                         osrlerror(NULL, NULL, parserData, osglData, "only one usedCPUSpeed element allowed");
04960                 parserData->jobUsedCPUSpeedPresent = true;
04961                 parserData->unitAttributePresent = false;       
04962                 parserData->descriptionAttributePresent = false;        
04963                 parserData->unitAttribute = ""; 
04964                 parserData->descriptionAttribute = "";  
04965         }
04966     break;
04967 
04968   case 449:
04969 
04970     {
04971                 if (osresult->setUsedCPUSpeedUnit( parserData->unitAttribute) == false) 
04972                         osrlerror(NULL, NULL, parserData, osglData, "availableCPUSpeed unit could not be set");
04973                 parserData->errorText = NULL;
04974         }
04975     break;
04976 
04977   case 450:
04978 
04979     {
04980                 osresult->setUsedCPUSpeedDescription( parserData->descriptionAttribute); 
04981                 parserData->errorText = NULL;
04982         }
04983     break;
04984 
04985   case 452:
04986 
04987     {
04988         osresult->setUsedCPUSpeedValue(parserData->tempVal);  
04989         parserData->errorText = NULL;
04990 }
04991     break;
04992 
04993   case 454:
04994 
04995     {
04996                 if (parserData->jobUsedCPUNumberPresent)
04997                         osrlerror(NULL, NULL, parserData, osglData, "only one usedCPUNumber element allowed");
04998                 parserData->jobUsedCPUNumberPresent = true;
04999                 parserData->descriptionAttributePresent = false;        
05000                 parserData->descriptionAttribute = "";  
05001         }
05002     break;
05003 
05004   case 456:
05005 
05006     {
05007                 osresult->setUsedCPUNumberDescription( parserData->descriptionAttribute); 
05008                 parserData->errorText = NULL;
05009         }
05010     break;
05011 
05012   case 458:
05013 
05014     { 
05015         osresult->setUsedCPUNumberValue( (yyvsp[(1) - (1)].ival));  parserData->errorText = NULL; 
05016 }
05017     break;
05018 
05019   case 460:
05020 
05021     {
05022                 if (parserData->otherJobResultsPresent)
05023                         osrlerror(NULL, NULL, parserData, osglData, "only one job other results element allowed");
05024                 parserData->otherJobResultsPresent = true;
05025         }
05026     break;
05027 
05028   case 461:
05029 
05030     {
05031         if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other job results cannot be negative");
05032         if (osresult->setNumberOfOtherJobResults(parserData->tempInt) == false)
05033                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherJobResults failed");
05034         parserData->numberOf = parserData->tempInt;
05035         parserData->kounter = 0;
05036 }
05037     break;
05038 
05039   case 462:
05040 
05041     {
05042                 if (parserData->numberOf > 0)
05043                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <other> element");
05044         }
05045     break;
05046 
05047   case 463:
05048 
05049     {
05050                 if (parserData->kounter < parserData->numberOf - 1)
05051                         osrlerror(NULL, NULL, parserData, osglData, "fewer <other> elements than specified");
05052         }
05053     break;
05054 
05055   case 470:
05056 
05057     {
05058         parserData->kounter++;
05059 }
05060     break;
05061 
05062   case 471:
05063 
05064     {
05065         if (parserData->kounter >= parserData->numberOf)
05066                 osrlerror(NULL, NULL, parserData, osglData, "more <other> elements than specified");
05067         parserData->nameAttributePresent = false;
05068         parserData->valueAttributePresent = false;
05069         parserData->descriptionAttributePresent = false;
05070         parserData->nameAttribute = "";
05071         parserData->valueAttribute = "";
05072         parserData->descriptionAttribute = "";
05073 }
05074     break;
05075 
05076   case 472:
05077 
05078     {
05079         if (!parserData->nameAttributePresent)
05080                 osrlerror (NULL, NULL, parserData, osglData, "<other> must have name attribute");
05081 }
05082     break;
05083 
05084   case 475:
05085 
05086     {
05087                 if (parserData->nameAttribute.length() == 0)
05088                         osrlerror(NULL, NULL, parserData, osglData, "otherResult name cannot be empty");
05089                 if (osresult->setOtherJobResultName(parserData->kounter, parserData->nameAttribute) == false)
05090                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultName failed");
05091         }
05092     break;
05093 
05094   case 476:
05095 
05096     {   
05097                 if (osresult->setOtherJobResultValue(parserData->kounter, parserData->valueAttribute) == false)
05098                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultValue failed");
05099         }
05100     break;
05101 
05102   case 477:
05103 
05104     {   
05105                 if (osresult->setOtherJobResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
05106                         osrlerror(NULL, NULL, parserData, osglData, "setJobOtherResultDescription failed");
05107         }
05108     break;
05109 
05110   case 482:
05111 
05112     {
05113         parserData->numberAttributePresent = false;
05114         parserData->nVarPresent = false;
05115         parserData->nObjPresent = false;
05116         parserData->nConPresent = false;
05117 }
05118     break;
05119 
05120   case 483:
05121 
05122     {
05123         if (!parserData->numberAttributePresent)
05124                 osrlerror (NULL, NULL, parserData, osglData, "numberOfSolutions was never set");
05125 }
05126     break;
05127 
05128   case 486:
05129 
05130     {
05131                 parserData->numberOfSolutions = parserData->tempInt; 
05132                 if (osresult->setSolutionNumber(parserData->tempInt) == false)
05133                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionNumber failed");
05134                 parserData->solutionIdx = 0;
05135         }
05136     break;
05137 
05138   case 487:
05139 
05140     {   
05141                 parserData->numberOfVariables = parserData->tempInt; 
05142                 if (osresult->setVariableNumber(parserData->tempInt) == false)
05143                         osrlerror(NULL, NULL, parserData, osglData, "setVariableNumber failed");
05144         }
05145     break;
05146 
05147   case 488:
05148 
05149     {
05150                 parserData->numberOfConstraints = parserData->tempInt; 
05151                 if (osresult->setConstraintNumber(parserData->tempInt) == false)
05152                         osrlerror(NULL, NULL, parserData, osglData, "setConstraintNumber failed");
05153         }
05154     break;
05155 
05156   case 489:
05157 
05158     {   
05159                 parserData->numberOfObjectives = parserData->tempInt; 
05160                 if (osresult->setObjectiveNumber(parserData->tempInt) == false)
05161                         osrlerror(NULL, NULL, parserData, osglData, "setObjectiveNumber failed");
05162         }
05163     break;
05164 
05165   case 490:
05166 
05167     {
05168                 if (parserData->numberOfSolutions > 0)
05169                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <solution> element");
05170         }
05171     break;
05172 
05173   case 491:
05174 
05175     {
05176                 if (parserData->solutionIdx != parserData->numberOfSolutions)
05177                         osrlerror(NULL, NULL, parserData, osglData, "fewer <solution> elements than specified");
05178         }
05179     break;
05180 
05181   case 499:
05182 
05183     {
05184         if (parserData->solutionIdx >= parserData->numberOfSolutions) 
05185         osrlerror(NULL, NULL, parserData, osglData, "too many solutions"); 
05186         parserData->idxAttributePresent = false;
05187         parserData->nameAttributePresent = false;
05188         parserData->weightedObjAttributePresent = false;
05189 }
05190     break;
05191 
05192   case 506:
05193 
05194     {
05195         if (parserData->idxAttributePresent)
05196                 osrlerror(NULL, NULL, parserData, osglData, "target objective idx previously set");
05197         parserData->idxAttributePresent = true;
05198         if((yyvsp[(3) - (4)].ival) >= 0) osrlerror(NULL, NULL, parserData, osglData, "target objective index must be negative");
05199         if (osresult->setSolutionTargetObjectiveIdx(parserData->solutionIdx, (yyvsp[(3) - (4)].ival)) == false)
05200                 osrlerror(NULL, NULL, parserData, osglData, "setSolutionTargetObjectiveIdx failed");
05201  }
05202     break;
05203 
05204   case 507:
05205 
05206     {
05207         if (parserData->nameAttributePresent)
05208                 osrlerror(NULL, NULL, parserData, osglData, "target objective name previously set");
05209         parserData->nameAttributePresent = true;
05210         parserData->tempStr = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
05211         if (osresult->setSolutionTargetObjectiveName(parserData->solutionIdx, parserData->tempStr) == false)
05212                 osrlerror(NULL, NULL, parserData, osglData, "setSolutionTargetObjectiveName failed");
05213  }
05214     break;
05215 
05216   case 508:
05217 
05218     {
05219         if (parserData->weightedObjAttributePresent)
05220                 osrlerror(NULL, NULL, parserData, osglData, "weighted objective attribute previously set");
05221         parserData->weightedObjAttributePresent = true;
05222         parserData->tempStr = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
05223         if (parserData->tempStr == "true")
05224         {
05225                 if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, true) == false)
05226                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionWeightedObjectives failed");
05227         }
05228         else if (parserData->tempStr == "false")
05229         {
05230                 if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, false) == false)
05231                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionWeightedObjectives failed");
05232         }
05233         else
05234                 osrlerror(NULL, NULL, parserData, osglData, "weightedobjectives must be true or false");
05235 }
05236     break;
05237 
05238   case 509:
05239 
05240     {
05241                 parserData->solutionIdx++;
05242         }
05243     break;
05244 
05245   case 511:
05246 
05247     {
05248                 parserData->typeAttributePresent = false;
05249                 parserData->descriptionAttributePresent = false;
05250                 parserData->numberAttributePresent = false;
05251                 parserData->numberOf = 0;
05252                 parserData->typeAttribute = "";
05253                 parserData->descriptionAttribute = "";
05254         }
05255     break;
05256 
05257   case 512:
05258 
05259     {
05260                 if (!parserData->typeAttributePresent)
05261                         osrlerror(NULL, NULL, parserData, osglData, "type attribute must be present for solution status element");
05262         }
05263     break;
05264 
05265   case 515:
05266 
05267     {   
05268                 if (osresult->setSolutionStatusType(parserData->solutionIdx, parserData->typeAttribute) == false)
05269                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionStatusType failed");
05270         }
05271     break;
05272 
05273   case 516:
05274 
05275     {
05276            if (osresult->setSolutionStatusDescription(parserData->solutionIdx, parserData->descriptionAttribute) == false)
05277                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionStatusDescription failed");
05278         }
05279     break;
05280 
05281   case 517:
05282 
05283     {
05284                 if (osresult->setNumberOfSolutionSubstatuses(parserData->solutionIdx, parserData->tempInt) == false)
05285                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfSolutionSubstatuses failed");
05286                 parserData->numberOf = parserData->tempInt;
05287                 parserData->kounter = 0;
05288         }
05289     break;
05290 
05291   case 518:
05292 
05293     {
05294                 if (parserData->numberOf > 0)
05295                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <substatus> element");
05296         }
05297     break;
05298 
05299   case 519:
05300 
05301     {
05302                 if (parserData->kounter != parserData->numberOf)
05303                         osrlerror(NULL, NULL, parserData, osglData, "fewer <substatus> elements than specified");
05304         }
05305     break;
05306 
05307   case 526:
05308 
05309     {
05310         parserData->kounter++; 
05311 }
05312     break;
05313 
05314   case 527:
05315 
05316     {
05317         if (parserData->kounter >= parserData->numberOf)
05318                 osrlerror(NULL, NULL, parserData, osglData, "more <substatus> elements than specified");
05319         parserData->typeAttributePresent = false;
05320         parserData->descriptionAttributePresent = false;
05321         parserData->typeAttribute = "";
05322         parserData->descriptionAttribute = "";
05323 }
05324     break;
05325 
05326   case 528:
05327 
05328     {
05329         if (!parserData->typeAttributePresent)
05330                 osrlerror (NULL, NULL, parserData, osglData, "<substatus> must have type attribute");
05331 }
05332     break;
05333 
05334   case 531:
05335 
05336     {   
05337                 if (osresult->setSolutionSubstatusType(parserData->solutionIdx, parserData->kounter, 
05338                                                                                            parserData->typeAttribute) == false)
05339                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionSubstatusType failed");
05340         }
05341     break;
05342 
05343   case 532:
05344 
05345     {   
05346                 if (osresult->setSolutionSubstatusDescription(parserData->solutionIdx, parserData->kounter,
05347                                                                                                           parserData->descriptionAttribute) == false)
05348                         osrlerror(NULL, NULL, parserData, osglData, "setSolutionSubstatusDescription failed");
05349         }
05350     break;
05351 
05352   case 543:
05353 
05354     {
05355                 parserData->tempStr = (yyvsp[(1) - (1)].sval);
05356                 free((yyvsp[(1) - (1)].sval));
05357                 osresult->setSolutionMessage(parserData->solutionIdx, parserData->tempStr);
05358                 parserData->errorText = NULL;
05359         }
05360     break;
05361 
05362   case 546:
05363 
05364     {
05365         parserData->numberOfOtherVariableResults = 0;
05366         osresult->optimization->solution[parserData->solutionIdx]->variables = new VariableSolution();
05367 }
05368     break;
05369 
05370   case 548:
05371 
05372     {   
05373         if (osresult->setNumberOfOtherVariableResults(parserData->solutionIdx, parserData->tempInt) == false)
05374                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherVariableResults failed");
05375         parserData->numberOfOtherVariableResults = parserData->tempInt;
05376         parserData->iOther = 0;
05377 }
05378     break;
05379 
05380   case 557:
05381 
05382     {
05383         if (osresult->setNumberOfVarValues(parserData->solutionIdx, parserData->numberOfVar) == false)
05384                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfVarValues failed");
05385         parserData->kounter = 0;
05386 }
05387     break;
05388 
05389   case 558:
05390 
05391     {
05392                 if (parserData->numberOfVar > 0)
05393                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <var> element");
05394         }
05395     break;
05396 
05397   case 559:
05398 
05399     {
05400                 if (parserData->kounter != parserData->numberOfVar)
05401                         osrlerror(NULL, NULL, parserData, osglData, "fewer <var> elements than specified");
05402         }
05403     break;
05404 
05405   case 566:
05406 
05407     {
05408         if (!parserData->idxAttributePresent)
05409                         osrlerror(NULL, NULL, parserData, osglData, "idx attribute not set");
05410         if (osresult->setVarValue(parserData->solutionIdx, parserData->kounter, 
05411                                                           parserData->idx,         parserData->nameAttribute,
05412                                                           parserData->tempVal                           ) == false)
05413                         osrlerror(NULL, NULL, parserData, osglData, "setVarValue failed");
05414         parserData->kounter++;
05415 }
05416     break;
05417 
05418   case 567:
05419 
05420     {   
05421         if (parserData->kounter >= parserData->numberOfVar)
05422                 osrlerror(NULL, NULL, parserData, osglData, "more <var> elements than specified");
05423         parserData->idxAttributePresent = false;
05424         parserData->nameAttributePresent = false;
05425         parserData->name = "";  
05426 }
05427     break;
05428 
05429   case 576:
05430 
05431     {
05432         if (osresult->setNumberOfVarValuesString(parserData->solutionIdx, parserData->numberOfVar) == false)
05433                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfVarValuesString failed");
05434         parserData->kounter = 0;
05435 }
05436     break;
05437 
05438   case 577:
05439 
05440     {
05441                 if (parserData->numberOfVar > 0)
05442                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <var> element");
05443         }
05444     break;
05445 
05446   case 578:
05447 
05448     {
05449                 if (parserData->kounter != parserData->numberOfVar)
05450                         osrlerror(NULL, NULL, parserData, osglData, "fewer <var> elements than specified");
05451         }
05452     break;
05453 
05454   case 585:
05455 
05456     {
05457         if (!parserData->idxAttributePresent)
05458                         osrlerror(NULL, NULL, parserData, osglData, "idx attribute not set");
05459         if (osresult->setVarValueString(parserData->solutionIdx, parserData->kounter, 
05460                                                                         parserData->idx,         parserData->nameAttribute,
05461                                                                         parserData->tempStr                           ) == false)
05462                         osrlerror(NULL, NULL, parserData, osglData, "setVarValueString failed");
05463         parserData->kounter++;
05464 }
05465     break;
05466 
05467   case 586:
05468 
05469     {   
05470         if (parserData->kounter >= parserData->numberOfVar)
05471                 osrlerror(NULL, NULL, parserData, osglData, "more <var> elements than specified");
05472         parserData->idxAttributePresent = false;
05473         parserData->nameAttributePresent = false;
05474         parserData->name = "";  
05475 }
05476     break;
05477 
05478   case 591:
05479 
05480     {parserData->tempStr = "";}
05481     break;
05482 
05483   case 596:
05484 
05485     {
05486                 parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
05487         }
05488     break;
05489 
05490   case 599:
05491 
05492     {
05493         osresult->optimization->solution[parserData->solutionIdx]->variables->basisStatus = new BasisStatus();
05494 }
05495     break;
05496 
05497   case 606:
05498 
05499     {
05500         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05501                 osrlerror(NULL, NULL, parserData, osglData, "set variables basic failed");      
05502         delete[] osglData->osglIntArray;
05503         osglData->osglIntArray = NULL;
05504         osglData->osglNumberOfEl = 0;
05505 }
05506     break;
05507 
05508   case 608:
05509 
05510     {
05511         osglData->osglCounter = 0; 
05512         osglData->osglNumberOfEl = parserData->numberOf;
05513         osglData->osglIntArray = new int[parserData->numberOf];
05514 }
05515     break;
05516 
05517   case 615:
05518 
05519     {
05520         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05521                 osrlerror(NULL, NULL, parserData, osglData, "set variables atLower failed");    
05522         delete[] osglData->osglIntArray;
05523         osglData->osglIntArray = NULL;
05524         osglData->osglNumberOfEl = 0;
05525 }
05526     break;
05527 
05528   case 617:
05529 
05530     {
05531         osglData->osglCounter = 0; 
05532         osglData->osglNumberOfEl = parserData->numberOf;
05533         osglData->osglIntArray = new int[parserData->numberOf];
05534 }
05535     break;
05536 
05537   case 624:
05538 
05539     {
05540         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05541                 osrlerror(NULL, NULL, parserData, osglData, "set variables atUpper failed");    
05542         delete[] osglData->osglIntArray;
05543         osglData->osglIntArray = NULL;
05544         osglData->osglNumberOfEl = 0;
05545 }
05546     break;
05547 
05548   case 626:
05549 
05550     {
05551         osglData->osglCounter = 0; 
05552         osglData->osglNumberOfEl = parserData->numberOf;
05553         osglData->osglIntArray = new int[parserData->numberOf];
05554 }
05555     break;
05556 
05557   case 633:
05558 
05559     {
05560         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05561                 osrlerror(NULL, NULL, parserData, osglData, "set variables isFree failed");     
05562         delete[] osglData->osglIntArray;
05563         osglData->osglIntArray = NULL;
05564         osglData->osglNumberOfEl = 0;
05565 }
05566     break;
05567 
05568   case 635:
05569 
05570     {
05571         osglData->osglCounter = 0; 
05572         osglData->osglNumberOfEl = parserData->numberOf;
05573         osglData->osglIntArray = new int[parserData->numberOf];
05574 }
05575     break;
05576 
05577   case 642:
05578 
05579     {
05580         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05581                 osrlerror(NULL, NULL, parserData, osglData, "set variables superbasic failed"); 
05582         delete[] osglData->osglIntArray;
05583         osglData->osglIntArray = NULL;
05584         osglData->osglNumberOfEl = 0;
05585 }
05586     break;
05587 
05588   case 644:
05589 
05590     {
05591         osglData->osglCounter = 0; 
05592         osglData->osglNumberOfEl = parserData->numberOf;
05593         osglData->osglIntArray = new int[parserData->numberOf];
05594 }
05595     break;
05596 
05597   case 651:
05598 
05599     {
05600         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05601                 osrlerror(NULL, NULL, parserData, osglData, "set variables unknown failed");    
05602         delete[] osglData->osglIntArray;
05603         osglData->osglIntArray = NULL;
05604         osglData->osglNumberOfEl = 0;
05605 }
05606     break;
05607 
05608   case 653:
05609 
05610     {
05611         osglData->osglCounter = 0; 
05612         osglData->osglNumberOfEl = parserData->numberOf;
05613         osglData->osglIntArray = new int[parserData->numberOf];
05614 }
05615     break;
05616 
05617   case 661:
05618 
05619     {    
05620                 parserData->iOther++;
05621         }
05622     break;
05623 
05624   case 662:
05625 
05626     {
05627         if (parserData->iOther >= parserData->numberOfOtherVariableResults)
05628                 osrlerror(NULL, NULL, parserData, osglData, "more <otherVariableResults> than specified");
05629         parserData->nameAttributePresent = false;       
05630         parserData->numberOfVarAttributePresent = false;        
05631         parserData->numberOfEnumerationsAttributePresent = false;       
05632         parserData->valueAttributePresent = false;      
05633         parserData->descriptionAttributePresent = false;        
05634         parserData->valueAttribute = "";
05635         parserData->descriptionAttribute = "";  
05636 }
05637     break;
05638 
05639   case 663:
05640 
05641     {
05642                 if(!parserData->nameAttributePresent) 
05643                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
05644         }
05645     break;
05646 
05647   case 666:
05648 
05649     {
05650                 if (parserData->numberOfVarAttributePresent)
05651                         osrlerror(NULL, NULL, parserData, osglData, "numberOfVar attribute previously set");
05652                 parserData->numberOfVarAttributePresent = true;
05653                 if (osresult->setOtherVariableResultNumberOfVar(parserData->solutionIdx, 
05654                                                                                                                 parserData->iOther, 
05655                                                                                                                 parserData->numberOfVar) == false)
05656                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultNumberOfVar failed");
05657                 parserData->kounter = 0;
05658         }
05659     break;
05660 
05661   case 667:
05662 
05663     {
05664                 if (parserData->numberOfEnumerationsAttributePresent)
05665                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
05666                 parserData->numberOfEnumerationsAttributePresent = true;
05667                 if (osresult->setOtherVariableResultNumberOfEnumerations(parserData->solutionIdx, 
05668                                                                                                                 parserData->iOther, 
05669                                                                                                                 parserData->numberOfEnumerations) == false)
05670                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultNumberOfEnumerations failed");
05671                 parserData->kounter = 0;
05672         }
05673     break;
05674 
05675   case 668:
05676 
05677     {   
05678                 if (osresult->setOtherVariableResultValue(parserData->solutionIdx, parserData->iOther, 
05679                                                                                                   parserData->valueAttribute) == false)
05680                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultValue failed");
05681     }
05682     break;
05683 
05684   case 669:
05685 
05686     {   
05687                 if (osresult->setOtherVariableResultName(parserData->solutionIdx, parserData->iOther, 
05688                                                                                                  parserData->nameAttribute) == false)
05689                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultName failed");
05690     }
05691     break;
05692 
05693   case 670:
05694 
05695     {   
05696                 if (osresult->setOtherVariableResultDescription(parserData->solutionIdx, parserData->iOther, 
05697                                                                                                                 parserData->descriptionAttribute) == false)
05698                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultDescription failed");
05699     }
05700     break;
05701 
05702   case 680:
05703 
05704     {   
05705         if (!parserData->idxAttributePresent)
05706                         osrlerror(NULL, NULL, parserData, osglData, "idx attribute not set");
05707         parserData->kounter++;
05708 }
05709     break;
05710 
05711   case 681:
05712 
05713     {   
05714         if (parserData->kounter >= parserData->numberOfVar)
05715                 osrlerror(NULL, NULL, parserData, osglData, "more <var> elements than specified");
05716         parserData->idxAttributePresent = false;
05717         parserData->nameAttributePresent = false;
05718         parserData->name = ""   ;
05719 }
05720     break;
05721 
05722   case 684:
05723 
05724     {   
05725                 if (osresult->setOtherVariableResultVarIdx(parserData->solutionIdx, parserData->iOther, 
05726                                                                                                    parserData->kounter, parserData->idx) == false)
05727                                 osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultVarIdx failed");
05728         }
05729     break;
05730 
05731   case 685:
05732 
05733     {   
05734                 if (osresult->setOtherVariableResultVarName(parserData->solutionIdx, parserData->iOther, 
05735                                                                                                    parserData->kounter, parserData->nameAttribute) == false)
05736                                 osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultVarName failed");
05737         }
05738     break;
05739 
05740   case 691:
05741 
05742     {   
05743                 if (osresult->setOtherVariableResultVar(parserData->solutionIdx, parserData->iOther, 
05744                                                                                                 parserData->kounter,     parserData->tempStr) 
05745                                                                                                     == false)
05746                         osrlerror(NULL, NULL, parserData, osglData, "setOtherVariableResultVar failed");
05747         }
05748     break;
05749 
05750   case 694:
05751 
05752     {   
05753         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_variables, parserData->kounter, parserData->valueAttribute, 
05754                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05755                 osrlerror(NULL, NULL, parserData, osglData, "set other variable option failed");        
05756         delete[] osglData->osglIntArray;
05757         osglData->osglIntArray = NULL;
05758         osglData->osglNumberOfEl = 0;
05759         parserData->kounter++;
05760 }
05761     break;
05762 
05763   case 695:
05764 
05765     {
05766         parserData->valueAttributePresent = false;
05767         parserData->descriptionAttributePresent = false;
05768         parserData->valueAttribute = "";
05769         parserData->descriptionAttribute = "";
05770 }
05771     break;
05772 
05773   case 696:
05774 
05775     {
05776                 if(!parserData->nameAttributePresent) 
05777                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
05778         }
05779     break;
05780 
05781   case 699:
05782 
05783     {
05784                 osglData->osglCounter = 0; 
05785                 osglData->osglNumberOfEl = parserData->numberOf;
05786                 osglData->osglIntArray = new int[parserData->numberOf];
05787         }
05788     break;
05789 
05790   case 709:
05791 
05792     {
05793         parserData->numberOfOtherObjectiveResults = 0; 
05794         parserData->iOther = 0;
05795         osresult->optimization->solution[parserData->solutionIdx]->objectives = new ObjectiveSolution();
05796 }
05797     break;
05798 
05799   case 711:
05800 
05801     {
05802         parserData->numberOfOtherObjectiveResults = parserData->tempInt;
05803         if (osresult->setNumberOfOtherObjectiveResults(parserData->solutionIdx, parserData->tempInt) == false)
05804                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherObjectiveResults failed");
05805         parserData->iOther = 0;
05806 }
05807     break;
05808 
05809   case 720:
05810 
05811     {
05812         if (osresult->setNumberOfObjValues(parserData->solutionIdx, parserData->numberOfObj) == false)
05813                         osrlerror(NULL, NULL, parserData, osglData, "setNumberOfObjValues failed");
05814         parserData->kounter = 0;
05815 }
05816     break;
05817 
05818   case 721:
05819 
05820     {
05821                 if (parserData->numberOfObj > 0)
05822                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <obj> element");
05823         }
05824     break;
05825 
05826   case 722:
05827 
05828     {
05829                 if (parserData->kounter != parserData->numberOfObj)
05830                         osrlerror(NULL, NULL, parserData, osglData, "fewer <obj> elements than specified");
05831         }
05832     break;
05833 
05834   case 729:
05835 
05836     {
05837         if (osresult->setObjValue(parserData->solutionIdx, parserData->kounter, 
05838                                                           parserData->idx,         parserData->nameAttribute,
05839                                                           parserData->tempVal                           ) == false)
05840                         osrlerror(NULL, NULL, parserData, osglData, "setObjValue failed");
05841         parserData->kounter++;
05842 }
05843     break;
05844 
05845   case 730:
05846 
05847     {   
05848         if (parserData->kounter >= parserData->numberOfObj)
05849                 osrlerror(NULL, NULL, parserData, osglData, "more <obj> elements than specified");
05850         parserData->idxAttributePresent = false;
05851         parserData->idx = -1;
05852         parserData->nameAttributePresent = false;
05853         parserData->name = ""   ;
05854 }
05855     break;
05856 
05857   case 738:
05858 
05859     {
05860         osresult->optimization->solution[parserData->solutionIdx]->objectives->basisStatus = new BasisStatus();
05861 }
05862     break;
05863 
05864   case 745:
05865 
05866     {
05867         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05868                 osrlerror(NULL, NULL, parserData, osglData, "set objectives basic failed");     
05869         delete[] osglData->osglIntArray;
05870         osglData->osglIntArray = NULL;
05871         osglData->osglNumberOfEl = 0;
05872 }
05873     break;
05874 
05875   case 747:
05876 
05877     {
05878         osglData->osglCounter = 0; 
05879         osglData->osglNumberOfEl = parserData->numberOf;
05880         osglData->osglIntArray = new int[parserData->numberOf];
05881 }
05882     break;
05883 
05884   case 754:
05885 
05886     {
05887         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05888                 osrlerror(NULL, NULL, parserData, osglData, "set objectives atLower failed");   
05889         delete[] osglData->osglIntArray;
05890         osglData->osglIntArray = NULL;
05891         osglData->osglNumberOfEl = 0;
05892 }
05893     break;
05894 
05895   case 756:
05896 
05897     {
05898         osglData->osglCounter = 0; 
05899         osglData->osglNumberOfEl = parserData->numberOf;
05900         osglData->osglIntArray = new int[parserData->numberOf];
05901 }
05902     break;
05903 
05904   case 763:
05905 
05906     {
05907         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05908                 osrlerror(NULL, NULL, parserData, osglData, "set objectives atUpper failed");   
05909         delete[] osglData->osglIntArray;
05910         osglData->osglIntArray = NULL;
05911         osglData->osglNumberOfEl = 0;
05912 }
05913     break;
05914 
05915   case 765:
05916 
05917     {
05918         osglData->osglCounter = 0; 
05919         osglData->osglNumberOfEl = parserData->numberOf;
05920         osglData->osglIntArray = new int[parserData->numberOf];
05921 }
05922     break;
05923 
05924   case 772:
05925 
05926     {
05927         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05928                 osrlerror(NULL, NULL, parserData, osglData, "set objectives isFree failed");    
05929         delete[] osglData->osglIntArray;
05930         osglData->osglIntArray = NULL;
05931         osglData->osglNumberOfEl = 0;
05932 }
05933     break;
05934 
05935   case 774:
05936 
05937     {
05938         osglData->osglCounter = 0; 
05939         osglData->osglNumberOfEl = parserData->numberOf;
05940         osglData->osglIntArray = new int[parserData->numberOf];
05941 }
05942     break;
05943 
05944   case 781:
05945 
05946     {
05947         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05948                 osrlerror(NULL, NULL, parserData, osglData, "set objectives superbasic failed");        
05949         delete[] osglData->osglIntArray;
05950         osglData->osglIntArray = NULL;
05951         osglData->osglNumberOfEl = 0;
05952 }
05953     break;
05954 
05955   case 783:
05956 
05957     {
05958         osglData->osglCounter = 0; 
05959         osglData->osglNumberOfEl = parserData->numberOf;
05960         osglData->osglIntArray = new int[parserData->numberOf];
05961 }
05962     break;
05963 
05964   case 790:
05965 
05966     {
05967         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
05968                 osrlerror(NULL, NULL, parserData, osglData, "set objectives unknown failed");   
05969         delete[] osglData->osglIntArray;
05970         osglData->osglIntArray = NULL;
05971         osglData->osglNumberOfEl = 0;
05972 }
05973     break;
05974 
05975   case 792:
05976 
05977     {
05978         osglData->osglCounter = 0; 
05979         osglData->osglNumberOfEl = parserData->numberOf;
05980         osglData->osglIntArray = new int[parserData->numberOf];
05981 }
05982     break;
05983 
05984   case 800:
05985 
05986     {    
05987                 parserData->iOther++;  
05988         }
05989     break;
05990 
05991   case 801:
05992 
05993     {
05994         if (parserData->iOther >= parserData->numberOfOtherObjectiveResults)
05995                 osrlerror(NULL, NULL, parserData, osglData, "more <otherObjectiveResults> than specified");
05996         parserData->nameAttributePresent = false;       
05997         parserData->numberOfObjAttributePresent = false;        
05998         parserData->numberOfEnumerationsAttributePresent = false;       
05999         parserData->valueAttributePresent = false;      
06000         parserData->descriptionAttributePresent = false;        
06001         parserData->valueAttribute = "";
06002         parserData->descriptionAttribute = "";
06003 }
06004     break;
06005 
06006   case 802:
06007 
06008     {
06009                 if(!parserData->nameAttributePresent) 
06010                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
06011         }
06012     break;
06013 
06014   case 805:
06015 
06016     {
06017                 if (parserData->numberOfObjAttributePresent)
06018                         osrlerror(NULL, NULL, parserData, osglData, "numberOfObj attribute previously set");
06019                 parserData->numberOfObjAttributePresent = true;
06020                 if (osresult->setOtherObjectiveResultNumberOfObj(parserData->solutionIdx, 
06021                                                                                  parserData->iOther, 
06022                                                                                  parserData->numberOfObj) == false)
06023                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultNumberOfObj failed");
06024                 parserData->kounter = 0;
06025         }
06026     break;
06027 
06028   case 806:
06029 
06030     {
06031                 if (parserData->numberOfEnumerationsAttributePresent)
06032                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
06033                 parserData->numberOfEnumerationsAttributePresent = true;
06034                 if (osresult->setOtherObjectiveResultNumberOfEnumerations(parserData->solutionIdx, 
06035                                                                                                                 parserData->iOther, 
06036                                                                                                                 parserData->numberOfEnumerations) == false)
06037                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultNumberOfEnumerations failed");
06038                 parserData->kounter = 0;
06039         }
06040     break;
06041 
06042   case 807:
06043 
06044     {   
06045                 if (osresult->setOtherObjectiveResultValue(parserData->solutionIdx, parserData->iOther, 
06046                                                                                                    parserData->valueAttribute) == false)
06047                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultValue failed");
06048     }
06049     break;
06050 
06051   case 808:
06052 
06053     {   
06054                 if (osresult->setOtherObjectiveResultName(parserData->solutionIdx, parserData->iOther, 
06055                                                                                                   parserData->nameAttribute) == false)
06056                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultName failed");
06057     }
06058     break;
06059 
06060   case 809:
06061 
06062     {   
06063                 if (osresult->setOtherObjectiveResultDescription(parserData->solutionIdx, 
06064                                                                                                                  parserData->iOther, 
06065                                                                                                                  parserData->descriptionAttribute) 
06066                                                                                                                      == false)
06067                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultDescription failed");
06068     }
06069     break;
06070 
06071   case 819:
06072 
06073     {  
06074         parserData->kounter++;
06075 }
06076     break;
06077 
06078   case 820:
06079 
06080     {   
06081         if (parserData->kounter >= parserData->numberOfObj)
06082                 osrlerror(NULL, NULL, parserData, osglData, "more <obj> elements than specified");
06083         parserData->idxAttributePresent = false;
06084         parserData->idx = -1;   
06085         parserData->nameAttributePresent = false;
06086         parserData->name = ""   ;
06087 }
06088     break;
06089 
06090   case 823:
06091 
06092     {
06093                 if (osresult->setOtherObjectiveResultObjIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->idx) == false)
06094                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultObjIdx failed");
06095         }
06096     break;
06097 
06098   case 824:
06099 
06100     {   
06101                 if (osresult->setOtherObjectiveResultObjName(parserData->solutionIdx, parserData->iOther, 
06102                                                                                                    parserData->kounter, parserData->nameAttribute) == false)
06103                                 osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultObjName failed");
06104         }
06105     break;
06106 
06107   case 830:
06108 
06109     {
06110                 if (osresult->setOtherObjectiveResultObj(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
06111                         osrlerror(NULL, NULL, parserData, osglData, "setOtherObjectiveResultObj failed");
06112         }
06113     break;
06114 
06115   case 833:
06116 
06117     {   
06118         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_objectives, parserData->kounter, parserData->valueAttribute, 
06119                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06120                 osrlerror(NULL, NULL, parserData, osglData, "set other objective option failed");       
06121         delete[] osglData->osglIntArray;
06122         osglData->osglIntArray = NULL;
06123         osglData->osglNumberOfEl = 0;
06124         parserData->kounter++;
06125 }
06126     break;
06127 
06128   case 834:
06129 
06130     {
06131         parserData->valueAttributePresent = false;
06132         parserData->descriptionAttributePresent = false;
06133         parserData->valueAttribute = "";
06134         parserData->descriptionAttribute = "";
06135 }
06136     break;
06137 
06138   case 835:
06139 
06140     {
06141                 if(!parserData->nameAttributePresent) 
06142                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
06143         }
06144     break;
06145 
06146   case 838:
06147 
06148     {
06149                 osglData->osglCounter = 0; 
06150                 osglData->osglNumberOfEl = parserData->numberOf;
06151                 osglData->osglIntArray = new int[parserData->numberOf];
06152         }
06153     break;
06154 
06155   case 848:
06156 
06157     {
06158         parserData->numberOfOtherConstraintResults = 0; 
06159         parserData->iOther = 0;
06160         osresult->optimization->solution[parserData->solutionIdx]->constraints = new ConstraintSolution();
06161 }
06162     break;
06163 
06164   case 850:
06165 
06166     {
06167         parserData->numberOfOtherConstraintResults = parserData->tempInt;
06168         if (osresult->setNumberOfOtherConstraintResults(parserData->solutionIdx, parserData->tempInt) == false)
06169                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherConstraintResults failed");
06170         parserData->iOther = 0;
06171 }
06172     break;
06173 
06174   case 858:
06175 
06176     {   parserData->numberAttributePresent = false; }
06177     break;
06178 
06179   case 859:
06180 
06181     {
06182         if (osresult->setNumberOfDualValues(parserData->solutionIdx, parserData->numberOfCon) == false)
06183                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfDualValues failed");
06184         parserData->kounter = 0;
06185 }
06186     break;
06187 
06188   case 860:
06189 
06190     {
06191                 if (parserData->numberOfCon > 0)
06192                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <con> element");
06193         }
06194     break;
06195 
06196   case 861:
06197 
06198     {
06199                 if (parserData->kounter != parserData->numberOfCon)
06200                         osrlerror(NULL, NULL, parserData, osglData, "fewer <con> elements than specified");
06201         }
06202     break;
06203 
06204   case 868:
06205 
06206     {
06207         if (osresult->setDualValue(parserData->solutionIdx, parserData->kounter, 
06208                                                            parserData->idx,         parserData->nameAttribute,
06209                                                            parserData->tempVal                           ) == false)
06210                 osrlerror(NULL, NULL, parserData, osglData, "setDualValue failed");
06211         parserData->kounter++;
06212 }
06213     break;
06214 
06215   case 869:
06216 
06217     {   
06218         if (parserData->kounter >= parserData->numberOfCon)
06219                 osrlerror(NULL, NULL, parserData, osglData, "more <con> elements than specified");
06220         parserData->idxAttributePresent = false;
06221         parserData->nameAttributePresent = false;
06222         parserData->name = "";  
06223 }
06224     break;
06225 
06226   case 877:
06227 
06228     {
06229         osresult->optimization->solution[parserData->solutionIdx]->constraints->basisStatus = new BasisStatus();
06230 }
06231     break;
06232 
06233   case 884:
06234 
06235     {
06236         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06237                 osrlerror(NULL, NULL, parserData, osglData, "set slacks basic failed"); 
06238         delete[] osglData->osglIntArray;
06239         osglData->osglIntArray = NULL;
06240         osglData->osglNumberOfEl = 0;
06241 }
06242     break;
06243 
06244   case 886:
06245 
06246     {
06247         osglData->osglCounter = 0; 
06248         osglData->osglNumberOfEl = parserData->numberOf;
06249         osglData->osglIntArray = new int[parserData->numberOf];
06250 }
06251     break;
06252 
06253   case 893:
06254 
06255     {
06256         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06257                 osrlerror(NULL, NULL, parserData, osglData, "set slacks atLower failed");       
06258         delete[] osglData->osglIntArray;
06259         osglData->osglIntArray = NULL;
06260         osglData->osglNumberOfEl = 0;
06261 }
06262     break;
06263 
06264   case 895:
06265 
06266     {
06267         osglData->osglCounter = 0; 
06268         osglData->osglNumberOfEl = parserData->numberOf;
06269         osglData->osglIntArray = new int[parserData->numberOf];
06270 }
06271     break;
06272 
06273   case 902:
06274 
06275     {
06276         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06277                 osrlerror(NULL, NULL, parserData, osglData, "set slacks atUpper failed");       
06278         delete[] osglData->osglIntArray;
06279         osglData->osglIntArray = NULL;
06280         osglData->osglNumberOfEl = 0;
06281 }
06282     break;
06283 
06284   case 904:
06285 
06286     {
06287         osglData->osglCounter = 0; 
06288         osglData->osglNumberOfEl = parserData->numberOf;
06289         osglData->osglIntArray = new int[parserData->numberOf];
06290 }
06291     break;
06292 
06293   case 911:
06294 
06295     {
06296         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06297                 osrlerror(NULL, NULL, parserData, osglData, "set slacks isFree failed");        
06298         delete[] osglData->osglIntArray;
06299         osglData->osglIntArray = NULL;
06300         osglData->osglNumberOfEl = 0;
06301 }
06302     break;
06303 
06304   case 913:
06305 
06306     {
06307         osglData->osglCounter = 0; 
06308         osglData->osglNumberOfEl = parserData->numberOf;
06309         osglData->osglIntArray = new int[parserData->numberOf];
06310 }
06311     break;
06312 
06313   case 920:
06314 
06315     {
06316         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06317                 osrlerror(NULL, NULL, parserData, osglData, "set variables superbasic failed"); 
06318         delete[] osglData->osglIntArray;
06319         osglData->osglIntArray = NULL;
06320         osglData->osglNumberOfEl = 0;
06321 }
06322     break;
06323 
06324   case 922:
06325 
06326     {
06327         osglData->osglCounter = 0; 
06328         osglData->osglNumberOfEl = parserData->numberOf;
06329         osglData->osglIntArray = new int[parserData->numberOf];
06330 }
06331     break;
06332 
06333   case 929:
06334 
06335     {
06336         if (osresult->setBasisStatus(parserData->solutionIdx, ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06337                 osrlerror(NULL, NULL, parserData, osglData, "set slacks unknown failed");       
06338         delete[] osglData->osglIntArray;
06339         osglData->osglIntArray = NULL;
06340         osglData->osglNumberOfEl = 0;
06341 }
06342     break;
06343 
06344   case 931:
06345 
06346     {
06347         osglData->osglCounter = 0; 
06348         osglData->osglNumberOfEl = parserData->numberOf;
06349         osglData->osglIntArray = new int[parserData->numberOf];
06350 }
06351     break;
06352 
06353   case 939:
06354 
06355     {    
06356                 parserData->iOther++;  
06357         }
06358     break;
06359 
06360   case 940:
06361 
06362     {
06363         if (parserData->iOther >= parserData->numberOfOtherConstraintResults)
06364                 osrlerror(NULL, NULL, parserData, osglData, "more <otherConstraintResults> than specified");
06365         parserData->nameAttributePresent = false;       
06366         parserData->numberOfConAttributePresent = false;        
06367         parserData->numberOfEnumerationsAttributePresent = false;       
06368         parserData->valueAttributePresent = false;      
06369         parserData->descriptionAttributePresent = false;        
06370         parserData->valueAttribute = "";
06371         parserData->descriptionAttribute = "";
06372 }
06373     break;
06374 
06375   case 941:
06376 
06377     {
06378                 if (!parserData->nameAttributePresent) 
06379                         osrlerror(NULL, NULL, parserData, osglData, "other element requires name attribute"); 
06380         }
06381     break;
06382 
06383   case 944:
06384 
06385     {
06386                 if (parserData->numberOfConAttributePresent)
06387                         osrlerror(NULL, NULL, parserData, osglData, "numberOfCon attribute previously set");
06388                 parserData->numberOfConAttributePresent = true;
06389                 if (osresult->setOtherConstraintResultNumberOfCon(parserData->solutionIdx, 
06390                                                                                       parserData->iOther, 
06391                                                                                       parserData->numberOfCon) == false)
06392                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultNumberOfCon failed");
06393                 parserData->kounter = 0;
06394         }
06395     break;
06396 
06397   case 945:
06398 
06399     {
06400                 if (parserData->numberOfEnumerationsAttributePresent)
06401                         osrlerror(NULL, NULL, parserData, osglData, "numberOfEnumerations attribute previously set");
06402                 parserData->numberOfEnumerationsAttributePresent = true;
06403                 if (osresult->setOtherConstraintResultNumberOfEnumerations(parserData->solutionIdx, 
06404                                                                                                                 parserData->iOther, 
06405                                                                                                                 parserData->numberOfEnumerations) == false)
06406                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultNumberOfEnumerations failed");
06407                 parserData->kounter = 0;
06408         }
06409     break;
06410 
06411   case 946:
06412 
06413     {   
06414                 if (osresult->setOtherConstraintResultValue(parserData->solutionIdx, parserData->iOther, 
06415                                                                                                         parserData->valueAttribute) == false)
06416                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultValue failed");
06417     }
06418     break;
06419 
06420   case 947:
06421 
06422     {   
06423                 if (osresult->setOtherConstraintResultName(parserData->solutionIdx, parserData->iOther, 
06424                                                                                                    parserData->nameAttribute) == false)
06425                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultName failed");
06426     }
06427     break;
06428 
06429   case 948:
06430 
06431     {   
06432                 if (osresult->setOtherConstraintResultDescription(parserData->solutionIdx, parserData->iOther, 
06433                                                                                                                   parserData->descriptionAttribute) == false)
06434                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultDescription failed");
06435     }
06436     break;
06437 
06438   case 958:
06439 
06440     {   
06441         if (!parserData->idxAttributePresent)
06442                         osrlerror(NULL, NULL, parserData, osglData, "idx attribute not set");
06443         parserData->kounter++;
06444 }
06445     break;
06446 
06447   case 959:
06448 
06449     {   
06450         if (parserData->kounter >= parserData->numberOfCon)
06451                 osrlerror(NULL, NULL, parserData, osglData, "more <con> elements than specified");
06452         parserData->idxAttributePresent = false;
06453         parserData->nameAttributePresent = false;
06454         parserData->name = ""   ;
06455 }
06456     break;
06457 
06458   case 962:
06459 
06460     {   
06461                 if (osresult->setOtherConstraintResultConIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->idx) == false)
06462                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultConIdx failed");
06463         }
06464     break;
06465 
06466   case 963:
06467 
06468     {   
06469                 if (osresult->setOtherConstraintResultConName(parserData->solutionIdx, parserData->iOther, 
06470                                                                                                    parserData->kounter, parserData->nameAttribute) == false)
06471                                 osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultConName failed");
06472         }
06473     break;
06474 
06475   case 969:
06476 
06477     {   
06478                 if (osresult->setOtherConstraintResultCon(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
06479                         osrlerror(NULL, NULL, parserData, osglData, "setOtherConstraintResultCon failed");
06480         }
06481     break;
06482 
06483   case 972:
06484 
06485     {   
06486         if (osresult->setOtherOptionEnumeration(parserData->solutionIdx, parserData->iOther, ENUM_PROBLEM_COMPONENT_constraints, parserData->kounter, parserData->valueAttribute, 
06487                         parserData->descriptionAttribute, osglData->osglIntArray, osglData->osglNumberOfEl) != true)
06488                 osrlerror(NULL, NULL, parserData, osglData, "set other constraint option failed");
06489         delete[] osglData->osglIntArray;
06490         osglData->osglIntArray = NULL;
06491         osglData->osglNumberOfEl = 0;
06492         parserData->kounter++;
06493 }
06494     break;
06495 
06496   case 973:
06497 
06498     {
06499         parserData->valueAttributePresent = false;
06500         parserData->descriptionAttributePresent = false;
06501         parserData->valueAttribute = "";
06502         parserData->descriptionAttribute = "";
06503 }
06504     break;
06505 
06506   case 974:
06507 
06508     {
06509                 if(!parserData->nameAttributePresent) 
06510                         osrlerror(NULL, NULL, parserData, osglData, "other element enumeration requires name attribute"); 
06511         }
06512     break;
06513 
06514   case 977:
06515 
06516     {
06517                 osglData->osglCounter = 0; 
06518                 osglData->osglNumberOfEl = parserData->numberOf;
06519                 osglData->osglIntArray = new int[parserData->numberOf];
06520         }
06521     break;
06522 
06523   case 987:
06524 
06525     {
06526         parserData->numberOf = 0; 
06527 }
06528     break;
06529 
06530   case 988:
06531 
06532     {   
06533     if (osresult->setNumberOfOtherSolutionResults(parserData->solutionIdx, parserData->tempInt) == false)
06534                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfOtherSolutionResults failed");
06535         parserData->numberOf = parserData->tempInt;
06536         parserData->iOther = 0; 
06537 }
06538     break;
06539 
06540   case 989:
06541 
06542     {
06543                 if (parserData->numberOf > 0)
06544                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <otherSolutionResult> element");
06545         }
06546     break;
06547 
06548   case 990:
06549 
06550     {
06551                 if (parserData->iOther != parserData->numberOf)
06552                         osrlerror(NULL, NULL, parserData, osglData, "fewer <otherSolutionResult> elements than specified");
06553         }
06554     break;
06555 
06556   case 997:
06557 
06558     {
06559         parserData->iOther++;
06560 }
06561     break;
06562 
06563   case 998:
06564 
06565     {
06566         if (parserData->iOther >= parserData->numberOf)
06567                 osrlerror(NULL, NULL, parserData, osglData, "more <otherSolutionResult> elements than specified");
06568         parserData->numberOfItemsPresent = false; 
06569         parserData->nameAttributePresent = false;
06570         parserData->categoryAttributePresent = false;
06571         parserData->descriptionAttributePresent = false;
06572         parserData->categoryAttribute = "";
06573         parserData->descriptionAttribute = "";
06574 }
06575     break;
06576 
06577   case 999:
06578 
06579     {
06580         if (!parserData->nameAttributePresent)
06581                 osrlerror (NULL, NULL, parserData, osglData, "<otherSolutionResult> element must have name attribute");
06582         if (!parserData->numberOfItemsPresent)
06583                 osrlerror (NULL, NULL, parserData, osglData, "<otherSolutionResult> element must have numberOfItems attribute");
06584 }
06585     break;
06586 
06587   case 1002:
06588 
06589     {   
06590                 if (osresult->setOtherSolutionResultName(parserData->solutionIdx, parserData->iOther,
06591                                                                                                  parserData->nameAttribute) == false)
06592                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultName failed");
06593         }
06594     break;
06595 
06596   case 1003:
06597 
06598     {   
06599                 if (osresult->setOtherSolutionResultCategory(parserData->solutionIdx, parserData->iOther,
06600                                                                                                          parserData->categoryAttribute) == false)
06601                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultCategory failed");
06602         }
06603     break;
06604 
06605   case 1004:
06606 
06607     {   
06608                 if (osresult->setOtherSolutionResultDescription(parserData->solutionIdx, 
06609                                                                                                                 parserData->iOther,
06610                                                                                                                 parserData->descriptionAttribute) 
06611                                                                                                                     == false)
06612                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultDescription failed");
06613         }
06614     break;
06615 
06616   case 1005:
06617 
06618     {   
06619                 if (osresult->setOtherSolutionResultNumberOfItems(parserData->solutionIdx, 
06620                                                                                                                   parserData->iOther,
06621                                                                                                                   parserData->numberOfItems) == false)
06622                         osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultNumberOfItems failed");
06623                 parserData->kounter = 0;
06624         }
06625     break;
06626 
06627   case 1006:
06628 
06629     {
06630                 if (parserData->numberOfItems > 0)
06631                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <item> element");
06632         }
06633     break;
06634 
06635   case 1007:
06636 
06637     {
06638                 if (parserData->kounter != parserData->numberOfItems)
06639                         osrlerror(NULL, NULL, parserData, osglData, "fewer <item> elements than specified");
06640         }
06641     break;
06642 
06643   case 1014:
06644 
06645     {
06646         parserData->kounter++;
06647 }
06648     break;
06649 
06650   case 1015:
06651 
06652     {
06653                 if (parserData->kounter >= parserData->numberOfItems)
06654                         osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06655         }
06656     break;
06657 
06658   case 1020:
06659 
06660     {
06661         if (parserData->kounter >= parserData->numberOfItems)
06662                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06663         parserData->itemContent = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
06664         if (osresult->setOtherSolutionResultItem(parserData->solutionIdx, parserData->iOther, 
06665                                                                                          parserData->kounter, parserData->itemContent) 
06666                                                                                              == false)
06667                 osrlerror(NULL, NULL, parserData, osglData, "setOtherSolutionResultItem failed");
06668 }
06669     break;
06670 
06671   case 1023:
06672 
06673     {
06674         parserData->numberOf = 0; 
06675 }
06676     break;
06677 
06678   case 1024:
06679 
06680     {   
06681     if (osresult->setNumberOfSolverOutputs(parserData->tempInt) == false)
06682                 osrlerror(NULL, NULL, parserData, osglData, "setNumberOfSolverOutputs failed");
06683         parserData->numberOf = parserData->tempInt;
06684         parserData->iOther = 0; 
06685 }
06686     break;
06687 
06688   case 1025:
06689 
06690     {
06691                 if (parserData->numberOf > 0)
06692                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <solverOutput> element");
06693         }
06694     break;
06695 
06696   case 1026:
06697 
06698     {
06699                 if (parserData->iOther != parserData->numberOf)
06700                         osrlerror(NULL, NULL, parserData, osglData, "fewer <solverOutput> elements than specified");
06701         }
06702     break;
06703 
06704   case 1033:
06705 
06706     {
06707         parserData->iOther++;
06708 }
06709     break;
06710 
06711   case 1034:
06712 
06713     {
06714         if (parserData->iOther >= parserData->numberOf)
06715                 osrlerror(NULL, NULL, parserData, osglData, "more <solverOutput> elements than specified");
06716         parserData->numberOfItemsPresent = false; 
06717         parserData->nameAttributePresent = false;
06718         parserData->categoryAttributePresent = false;
06719         parserData->descriptionAttributePresent = false;
06720         parserData->categoryAttribute = "";
06721         parserData->descriptionAttribute = "";
06722 }
06723     break;
06724 
06725   case 1035:
06726 
06727     {
06728         if (!parserData->nameAttributePresent)
06729                 osrlerror (NULL, NULL, parserData, osglData, "<solverOutput> element must have name attribute");
06730         if (!parserData->numberOfItemsPresent)
06731                 osrlerror (NULL, NULL, parserData, osglData, "<solverOutput> element must have numberOfItems attribute");
06732 }
06733     break;
06734 
06735   case 1038:
06736 
06737     {   
06738                 if (osresult->setSolverOutputName(parserData->iOther, parserData->nameAttribute) == false)
06739                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputName failed");
06740         }
06741     break;
06742 
06743   case 1039:
06744 
06745     {   
06746                 if (osresult->setSolverOutputCategory(parserData->iOther, 
06747                                                                                           parserData->categoryAttribute) == false)
06748                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputCategory failed");
06749         }
06750     break;
06751 
06752   case 1040:
06753 
06754     {   
06755                 if (osresult->setSolverOutputDescription(parserData->iOther, 
06756                                                                                                  parserData->descriptionAttribute) == false)
06757                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputDescription failed");
06758         }
06759     break;
06760 
06761   case 1041:
06762 
06763     {   
06764                 if (osresult->setSolverOutputNumberOfItems(parserData->iOther, 
06765                                                                                                    parserData->numberOfItems) == false)
06766                         osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputNumberOfItems failed");
06767                 parserData->kounter = 0;
06768         }
06769     break;
06770 
06771   case 1042:
06772 
06773     {
06774                 if (parserData->numberOfItems > 0)
06775                         osrlerror(NULL, NULL, parserData, osglData, "expected at least one <item> element");
06776         }
06777     break;
06778 
06779   case 1043:
06780 
06781     {
06782                 if (parserData->kounter != parserData->numberOfItems)
06783                         osrlerror(NULL, NULL, parserData, osglData, "fewer <item> elements than specified");
06784         }
06785     break;
06786 
06787   case 1050:
06788 
06789     {
06790         parserData->kounter++;
06791 }
06792     break;
06793 
06794   case 1051:
06795 
06796     {
06797                 if (parserData->kounter >= parserData->numberOfItems)
06798                         osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06799         }
06800     break;
06801 
06802   case 1056:
06803 
06804     {
06805         if (parserData->kounter >= parserData->numberOfItems)
06806                 osrlerror(NULL, NULL, parserData, osglData, "more <item> elements than specified");
06807         parserData->itemContent = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
06808         if (osresult->setSolverOutputItem(parserData->iOther, parserData->kounter, 
06809                                                                           parserData->itemContent) == false)
06810                 osrlerror(NULL, NULL, parserData, osglData, "setSolverOutputItem failed");
06811 }
06812     break;
06813 
06814   case 1057:
06815 
06816     {
06817                 if (parserData->categoryAttributePresent ) 
06818                         osrlerror(NULL, NULL, parserData, osglData, "only one category attribute allowed for this element");
06819                 parserData->categoryAttributePresent = true;
06820         }
06821     break;
06822 
06823   case 1060:
06824 
06825     { 
06826         parserData->categoryAttribute = ""; 
06827 }
06828     break;
06829 
06830   case 1061:
06831 
06832     { 
06833         parserData->categoryAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval)); 
06834 }
06835     break;
06836 
06837   case 1062:
06838 
06839     {
06840                 if (parserData->descriptionAttributePresent ) 
06841                         osrlerror(NULL, NULL, parserData, osglData, "only one description attribute allowed for this element");
06842                 parserData->descriptionAttributePresent = true;
06843         }
06844     break;
06845 
06846   case 1065:
06847 
06848     { 
06849         parserData->descriptionAttribute = ""; 
06850 }
06851     break;
06852 
06853   case 1066:
06854 
06855     { 
06856         parserData->descriptionAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
06857 }
06858     break;
06859 
06860   case 1067:
06861 
06862     {   
06863                 if (parserData->idxAttributePresent)
06864                         osrlerror(NULL, NULL, parserData, osglData, "idx attribute was previously set");
06865                 parserData->idxAttributePresent = true;
06866                 parserData->idx = (yyvsp[(3) - (4)].ival); 
06867         }
06868     break;
06869 
06870   case 1068:
06871 
06872     {
06873            if (parserData->nameAttributePresent ) 
06874                         osrlerror(NULL, NULL, parserData, osglData, "only one name attribute allowed for this element");
06875                 parserData->nameAttributePresent = true;
06876         }
06877     break;
06878 
06879   case 1071:
06880 
06881     { 
06882         parserData->nameAttribute = ""; 
06883 }
06884     break;
06885 
06886   case 1072:
06887 
06888     { 
06889         parserData->nameAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
06890 }
06891     break;
06892 
06893   case 1073:
06894 
06895     {
06896                 if (parserData->typeAttributePresent ) 
06897                                 osrlerror(NULL, NULL, parserData, osglData, "only one type attribute allowed for this element");
06898                 parserData->typeAttributePresent = true;
06899         }
06900     break;
06901 
06902   case 1076:
06903 
06904     { 
06905         parserData->typeAttribute = ""; 
06906 }
06907     break;
06908 
06909   case 1077:
06910 
06911     { 
06912         parserData->typeAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
06913 }
06914     break;
06915 
06916   case 1078:
06917 
06918     {
06919                 if (parserData->unitAttributePresent ) 
06920                         osrlerror(NULL, NULL, parserData, osglData, "only one unit attribute allowed for this element");
06921                 parserData->unitAttributePresent = true;
06922         }
06923     break;
06924 
06925   case 1081:
06926 
06927     { 
06928         parserData->unitAttribute = ""; 
06929 }
06930     break;
06931 
06932   case 1082:
06933 
06934     { 
06935         parserData->unitAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
06936 }
06937     break;
06938 
06939   case 1083:
06940 
06941     {
06942                 if (parserData->valueAttributePresent ) 
06943                         osrlerror(NULL, NULL, parserData, osglData, "only one value attribute allowed for this element");
06944                 parserData->valueAttributePresent = true;
06945         }
06946     break;
06947 
06948   case 1086:
06949 
06950     { 
06951         parserData->valueAttribute = ""; 
06952 }
06953     break;
06954 
06955   case 1087:
06956 
06957     { 
06958         parserData->valueAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
06959 }
06960     break;
06961 
06962   case 1088:
06963 
06964     {
06965         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <con> cannot be negative");
06966         parserData->numberOfCon = (yyvsp[(3) - (4)].ival);
06967 }
06968     break;
06969 
06970   case 1089:
06971 
06972     {
06973         if (parserData->nConPresent)
06974                 osrlerror(NULL, NULL, parserData, osglData, "numberOfConstraints attribute previously set");
06975         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of constraints cannot be negative");
06976         parserData->nConPresent = true;         
06977         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
06978 }
06979     break;
06980 
06981   case 1090:
06982 
06983     {
06984         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <el> cannot be negative");
06985         parserData->numberOf = (yyvsp[(3) - (4)].ival); 
06986 }
06987     break;
06988 
06989   case 1091:
06990 
06991     {
06992         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <enumeration> elements cannot be negative");
06993         parserData->numberOfEnumerations = (yyvsp[(3) - (4)].ival); 
06994 }
06995     break;
06996 
06997   case 1092:
06998 
06999     {   
07000    if (parserData->numberOfItemsPresent ) 
07001         osrlerror(NULL, NULL, parserData, osglData, "only one numberOfItems attribute allowed");
07002         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of items cannot be negative");
07003         parserData->numberOfItemsPresent = true;
07004         parserData->numberOfItems = (yyvsp[(3) - (4)].ival);
07005 }
07006     break;
07007 
07008   case 1093:
07009 
07010     {
07011         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <obj> cannot be negative");
07012         parserData->numberOfObj = (yyvsp[(3) - (4)].ival);
07013 }
07014     break;
07015 
07016   case 1094:
07017 
07018     {
07019         if (parserData->nObjPresent)
07020                 osrlerror(NULL, NULL, parserData, osglData, "numberOfObjectives attribute previously set");
07021         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of objectives cannot be negative");
07022         parserData->nObjPresent = true;
07023         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
07024 }
07025     break;
07026 
07027   case 1095:
07028 
07029     {
07030         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other constraint results cannot be negative");
07031         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07032 }
07033     break;
07034 
07035   case 1096:
07036 
07037     {
07038         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other objective results cannot be negative");
07039         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07040 }
07041     break;
07042 
07043   case 1097:
07044 
07045     {
07046         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other results cannot be negative");
07047         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07048 }
07049     break;
07050 
07051   case 1098:
07052 
07053     {   
07054         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other solution results cannot be negative");
07055         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07056 }
07057     break;
07058 
07059   case 1099:
07060 
07061     {   
07062         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other variable results cannot be negative");
07063         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07064 }
07065     break;
07066 
07067   case 1100:
07068 
07069     {
07070         if (parserData->numberAttributePresent)
07071                 osrlerror(NULL, NULL, parserData, osglData, "numberOfSolutions attribute previously set");
07072         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of solutions cannot be negative");
07073         parserData->numberAttributePresent = true;
07074         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
07075 }
07076     break;
07077 
07078   case 1101:
07079 
07080     {   
07081         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of other solver outputs cannot be negative");
07082         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07083 }
07084     break;
07085 
07086   case 1102:
07087 
07088     {
07089    if (parserData->numberAttributePresent ) 
07090         osrlerror(NULL, NULL, parserData, osglData, "only one numberOfSubstatuses attribute allowed");
07091     parserData->numberAttributePresent = true;
07092         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <substatus> elements cannot be negative");
07093         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07094 }
07095     break;
07096 
07097   case 1103:
07098 
07099     {
07100         parserData->tempInt = (yyvsp[(3) - (4)].ival);
07101 }
07102     break;
07103 
07104   case 1104:
07105 
07106     {
07107         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of <var> cannot be negative");
07108         parserData->numberOfVar = (yyvsp[(3) - (4)].ival); 
07109 }
07110     break;
07111 
07112   case 1105:
07113 
07114     {
07115         if (parserData->nVarPresent)
07116                 osrlerror(NULL, NULL, parserData, osglData, "numberOfVariables attribute previously set");
07117         if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, osglData, "number of variables cannot be negative");
07118         parserData->nVarPresent = true; 
07119         parserData->tempInt = (yyvsp[(3) - (4)].ival); 
07120 }
07121     break;
07122 
07123   case 1106:
07124 
07125     {
07126                 if (osglData->osglCounter < osglData->osglNumberOfEl)
07127                 osrlerror(NULL, NULL, parserData, osglData, "fewer data elements than specified");
07128         }
07129     break;
07130 
07131   case 1111:
07132 
07133     {   
07134         osglData->osglMultPresent = false;
07135         osglData->osglIncrPresent = false;
07136         osglData->osglMult = 1;
07137         osglData->osglIncr = 0;
07138 }
07139     break;
07140 
07141   case 1117:
07142 
07143     {
07144         if (osglData->osglCounter + osglData->osglMult > osglData->osglNumberOfEl)
07145                 osrlerror(NULL, NULL, parserData, osglData, "more data elements than specified");
07146         for (int i=0; i<osglData->osglMult; i++)
07147                 osglData->osglIntArray[osglData->osglCounter++] = (yyvsp[(2) - (3)].ival) + i*osglData->osglIncr;       
07148 }
07149     break;
07150 
07151   case 1119:
07152 
07153     {
07154         osglData->osglSize = (yyvsp[(3) - (4)].ival);
07155 }
07156     break;
07157 
07158   case 1124:
07159 
07160     {
07161         char* b64string = (yyvsp[(2) - (3)].sval);
07162         if (b64string == NULL) 
07163                 osrlerror(NULL, NULL, parserData, osglData, "base 64 data expected"); 
07164         if (osglData->osglSize != sizeof(int))
07165                 osrlerror(NULL, NULL, parserData, osglData, "base 64 encoded with a size of int different than on this machine"); 
07166 
07167         std::string base64decodeddata = Base64::decodeb64( b64string );
07168         int base64decodeddatalength = base64decodeddata.length();
07169         int *intvec = NULL;
07170         if ( parserData->numberOf != (base64decodeddatalength/osglData->osglSize) )
07171                 osrlerror(NULL, NULL, parserData, osglData, "base 64 data length does not match numberOfEl"); 
07172         intvec = (int*)&base64decodeddata[0];
07173         for (int i = 0; i < (base64decodeddatalength/osglData->osglSize); i++)
07174         {
07175                 osglData->osglIntArray[i] = *(intvec++);
07176         }
07177         //delete [] b64string;
07178         free((yyvsp[(2) - (3)].sval));
07179 }
07180     break;
07181 
07182   case 1125:
07183 
07184     {   
07185         if (osglData->osglIncrPresent) 
07186         osrlerror(NULL, NULL, parserData, osglData, "only one incr attribute allowed");
07187         osglData->osglIncrPresent = true;
07188         osglData->osglIncr = (yyvsp[(3) - (4)].ival);
07189 }
07190     break;
07191 
07192   case 1126:
07193 
07194     {   
07195         if (osglData->osglMultPresent) 
07196         osrlerror(NULL, NULL, parserData, osglData, "only one mult attribute allowed");
07197         if ((yyvsp[(3) - (4)].ival) <= 0) osrlerror(NULL, NULL, parserData, osglData, "mult must be positive");
07198         osglData->osglMultPresent = true;
07199         osglData->osglMult = (yyvsp[(3) - (4)].ival);
07200 }
07201     break;
07202 
07203   case 1127:
07204 
07205     {parserData->tempVal = (yyvsp[(1) - (1)].ival);}
07206     break;
07207 
07208   case 1128:
07209 
07210     {parserData->tempVal = (yyvsp[(1) - (1)].dval);}
07211     break;
07212 
07213   case 1129:
07214 
07215     { parserData->tempStr = (yyvsp[(1) - (1)].sval);       free((yyvsp[(1) - (1)].sval)); }
07216     break;
07217 
07218   case 1130:
07219 
07220     { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].ival)); }
07221     break;
07222 
07223   case 1131:
07224 
07225     { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].dval)); }
07226     break;
07227 
07228 
07229 /* Line 1267 of yacc.c.  */
07230 
07231       default: break;
07232     }
07233   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
07234 
07235   YYPOPSTACK (yylen);
07236   yylen = 0;
07237   YY_STACK_PRINT (yyss, yyssp);
07238 
07239   *++yyvsp = yyval;
07240   *++yylsp = yyloc;
07241 
07242   /* Now `shift' the result of the reduction.  Determine what state
07243      that goes to, based on the state we popped back to and the rule
07244      number reduced by.  */
07245 
07246   yyn = yyr1[yyn];
07247 
07248   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
07249   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
07250     yystate = yytable[yystate];
07251   else
07252     yystate = yydefgoto[yyn - YYNTOKENS];
07253 
07254   goto yynewstate;
07255 
07256 
07257 /*------------------------------------.
07258 | yyerrlab -- here on detecting error |
07259 `------------------------------------*/
07260 yyerrlab:
07261   /* If not already recovering from an error, report this error.  */
07262   if (!yyerrstatus)
07263     {
07264       ++yynerrs;
07265 #if ! YYERROR_VERBOSE
07266       yyerror (&yylloc, osresult, parserData, osglData, YY_("syntax error"));
07267 #else
07268       {
07269         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
07270         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
07271           {
07272             YYSIZE_T yyalloc = 2 * yysize;
07273             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
07274               yyalloc = YYSTACK_ALLOC_MAXIMUM;
07275             if (yymsg != yymsgbuf)
07276               YYSTACK_FREE (yymsg);
07277             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
07278             if (yymsg)
07279               yymsg_alloc = yyalloc;
07280             else
07281               {
07282                 yymsg = yymsgbuf;
07283                 yymsg_alloc = sizeof yymsgbuf;
07284               }
07285           }
07286 
07287         if (0 < yysize && yysize <= yymsg_alloc)
07288           {
07289             (void) yysyntax_error (yymsg, yystate, yychar);
07290             yyerror (&yylloc, osresult, parserData, osglData, yymsg);
07291           }
07292         else
07293           {
07294             yyerror (&yylloc, osresult, parserData, osglData, YY_("syntax error"));
07295             if (yysize != 0)
07296               goto yyexhaustedlab;
07297           }
07298       }
07299 #endif
07300     }
07301 
07302   yyerror_range[0] = yylloc;
07303 
07304   if (yyerrstatus == 3)
07305     {
07306       /* If just tried and failed to reuse look-ahead token after an
07307          error, discard it.  */
07308 
07309       if (yychar <= YYEOF)
07310         {
07311           /* Return failure if at end of input.  */
07312           if (yychar == YYEOF)
07313             YYABORT;
07314         }
07315       else
07316         {
07317           yydestruct ("Error: discarding",
07318                       yytoken, &yylval, &yylloc, osresult, parserData, osglData);
07319           yychar = YYEMPTY;
07320         }
07321     }
07322 
07323   /* Else will try to reuse look-ahead token after shifting the error
07324      token.  */
07325   goto yyerrlab1;
07326 
07327 
07328 /*---------------------------------------------------.
07329 | yyerrorlab -- error raised explicitly by YYERROR.  |
07330 `---------------------------------------------------*/
07331 yyerrorlab:
07332 
07333   /* Pacify compilers like GCC when the user code never invokes
07334      YYERROR and the label yyerrorlab therefore never appears in user
07335      code.  */
07336   if (/*CONSTCOND*/ 0)
07337      goto yyerrorlab;
07338 
07339   yyerror_range[0] = yylsp[1-yylen];
07340   /* Do not reclaim the symbols of the rule which action triggered
07341      this YYERROR.  */
07342   YYPOPSTACK (yylen);
07343   yylen = 0;
07344   YY_STACK_PRINT (yyss, yyssp);
07345   yystate = *yyssp;
07346   goto yyerrlab1;
07347 
07348 
07349 /*-------------------------------------------------------------.
07350 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
07351 `-------------------------------------------------------------*/
07352 yyerrlab1:
07353   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
07354 
07355   for (;;)
07356     {
07357       yyn = yypact[yystate];
07358       if (yyn != YYPACT_NINF)
07359         {
07360           yyn += YYTERROR;
07361           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
07362             {
07363               yyn = yytable[yyn];
07364               if (0 < yyn)
07365                 break;
07366             }
07367         }
07368 
07369       /* Pop the current state because it cannot handle the error token.  */
07370       if (yyssp == yyss)
07371         YYABORT;
07372 
07373       yyerror_range[0] = *yylsp;
07374       yydestruct ("Error: popping",
07375                   yystos[yystate], yyvsp, yylsp, osresult, parserData, osglData);
07376       YYPOPSTACK (1);
07377       yystate = *yyssp;
07378       YY_STACK_PRINT (yyss, yyssp);
07379     }
07380 
07381   if (yyn == YYFINAL)
07382     YYACCEPT;
07383 
07384   *++yyvsp = yylval;
07385 
07386   yyerror_range[1] = yylloc;
07387   /* Using YYLLOC is tempting, but would change the location of
07388      the look-ahead.  YYLOC is available though.  */
07389   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
07390   *++yylsp = yyloc;
07391 
07392   /* Shift the error token.  */
07393   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
07394 
07395   yystate = yyn;
07396   goto yynewstate;
07397 
07398 
07399 /*-------------------------------------.
07400 | yyacceptlab -- YYACCEPT comes here.  |
07401 `-------------------------------------*/
07402 yyacceptlab:
07403   yyresult = 0;
07404   goto yyreturn;
07405 
07406 /*-----------------------------------.
07407 | yyabortlab -- YYABORT comes here.  |
07408 `-----------------------------------*/
07409 yyabortlab:
07410   yyresult = 1;
07411   goto yyreturn;
07412 
07413 #ifndef yyoverflow
07414 /*-------------------------------------------------.
07415 | yyexhaustedlab -- memory exhaustion comes here.  |
07416 `-------------------------------------------------*/
07417 yyexhaustedlab:
07418   yyerror (&yylloc, osresult, parserData, osglData, YY_("memory exhausted"));
07419   yyresult = 2;
07420   /* Fall through.  */
07421 #endif
07422 
07423 yyreturn:
07424   if (yychar != YYEOF && yychar != YYEMPTY)
07425      yydestruct ("Cleanup: discarding lookahead",
07426                  yytoken, &yylval, &yylloc, osresult, parserData, osglData);
07427   /* Do not reclaim the symbols of the rule which action triggered
07428      this YYABORT or YYACCEPT.  */
07429   YYPOPSTACK (yylen);
07430   YY_STACK_PRINT (yyss, yyssp);
07431   while (yyssp != yyss)
07432     {
07433       yydestruct ("Cleanup: popping",
07434                   yystos[*yyssp], yyvsp, yylsp, osresult, parserData, osglData);
07435       YYPOPSTACK (1);
07436     }
07437 #ifndef yyoverflow
07438   if (yyss != yyssa)
07439     YYSTACK_FREE (yyss);
07440 #endif
07441 #if YYERROR_VERBOSE
07442   if (yymsg != yymsgbuf)
07443     YYSTACK_FREE (yymsg);
07444 #endif
07445   /* Make sure YYID is used.  */
07446   return YYID (yyresult);
07447 }
07448 
07449 
07450 
07451 
07452 
07453 void osrlerror(YYLTYPE* mytype, OSResult *osresult, OSrLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
07454 {
07455         osrl_empty_vectors( parserData );
07456         osgl_empty_vectors(   osglData );
07457         std::ostringstream outStr;
07458         std::string error = errormsg;
07459         error = "OSrL input is either not valid or well formed: "  + error;
07460         outStr << error << std::endl;
07461         outStr << "Error occurred when reading: " << osrlget_text ( scanner ) << std::endl; 
07462         outStr << "See line number: " << osrlget_lineno( scanner) << std::endl; 
07463         error = outStr.str();
07464         //printf("THIS DID NOT GET DESTROYED:   %s\n", parserData->errorText);
07465         //if( (parserData->errorText != NULL) &&  (strlen(parserData->errorText) > 0) ) free(  parserData->errorText);
07466         //osrllex_destroy( scanner);
07467         throw ErrorClass( error);
07468 } //end osrlerror
07469 
07470 void  yygetOSResult(const char *parsestring, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData) throw(ErrorClass)
07471 {
07472         try
07473         {
07474                 osrl_scan_string( parsestring, scanner);
07475                 osrlset_lineno (1 , scanner );
07476                 //
07477                 // call the Bison parser
07478                 //
07479                 if(  osrlparse( osresult,  parserData, osglData) != 0) {
07480                         //osrllex_destroy(scanner);
07481                         throw ErrorClass(  "Error parsing the OSrL file");
07482                  }
07483         }
07484         catch(const ErrorClass& eclass)
07485         {
07486                 throw ErrorClass(  eclass.errormsg); 
07487         }
07488 } //end yygetOSResult
07489 
07490 
07491 void osrl_empty_vectors( OSrLParserData* parserData)
07492 {
07493         int k;
07494         int numOtherVarVec = parserData->otherVarVec.size();
07495    
07496         for (k = 0; k < numOtherVarVec; k++)
07497         {
07498                 if ( (parserData->otherVarVec[k] != NULL) && (parserData->otherVarVec[k]->otherVarText  != NULL) ) 
07499                         delete[] parserData->otherVarVec[k]->otherVarText;
07500                 if ( (parserData->otherVarVec[k] != NULL) && (parserData->otherVarVec[k]->otherVarIndex != NULL) ) 
07501                         delete[] parserData->otherVarVec[k]->otherVarIndex;
07502                         
07503                 if (  parserData->otherVarVec[k] != NULL) delete parserData->otherVarVec[k];
07504         }
07505         parserData->otherVarVec.clear(); 
07506         
07507         int numDualVals =  parserData->dualVals.size();
07508         for (k = 0; k < numDualVals; k++)
07509         {
07510                 if (parserData->dualVals[k]  != NULL  ) 
07511                         delete parserData->dualVals[k];
07512         }
07513         parserData->dualVals.clear();
07514         
07515         
07516         int numObjVals =  parserData->objVals.size();
07517         for (k = 0; k < numObjVals; k++)
07518         {
07519                 if (parserData->objVals[ k]  != NULL  ) 
07520                         delete parserData->objVals[ k];
07521         }
07522         parserData->objVals.clear();
07523         
07524         
07525         int numPrimalVals =  parserData->primalVals.size();
07526         for (k = 0; k < numPrimalVals; k++)
07527         {       
07528                 if (parserData->primalVals[ k]  != NULL  ) 
07529                         delete parserData->primalVals[ k];
07530         }
07531         parserData->primalVals.clear();
07532 }//end osrl_empty_vectors
07533 
07534 

Generated on Wed Nov 30 03:04:23 2011 by  doxygen 1.4.7