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

Generated on Sun Jan 2 03:04:46 2011 by  doxygen 1.4.7