00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 #define YYBISON 1
00048
00049
00050 #define YYBISON_VERSION "2.3"
00051
00052
00053 #define YYSKELETON_NAME "yacc.c"
00054
00055
00056 #define YYPURE 1
00057
00058
00059 #define YYLSP_NEEDED 1
00060
00061
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
00072 #ifndef YYTOKENTYPE
00073 # define YYTOKENTYPE
00074
00075
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 NUMBEROFCONATT = 267,
00087 NUMBEROFCONSTRAINTSATT = 268,
00088 NUMBEROFITEMSATT = 269,
00089 NUMBEROFOBJATT = 270,
00090 NUMBEROFOBJECTIVESATT = 271,
00091 NUMBEROFOTHERCONSTRAINTRESULTSATT = 272,
00092 NUMBEROFOTHEROBJECTIVERESULTSATT = 273,
00093 NUMBEROFOTHERRESULTSATT = 274,
00094 NUMBEROFOTHERSOLUTIONRESULTSATT = 275,
00095 NUMBEROFOTHERVARIABLERESULTSATT = 276,
00096 NUMBEROFSOLUTIONSATT = 277,
00097 NUMBEROFSOLVEROUTPUTSATT = 278,
00098 NUMBEROFSUBSTATUSESATT = 279,
00099 NUMBEROFTIMESATT = 280,
00100 NUMBEROFVARATT = 281,
00101 NUMBEROFVARIABLESATT = 282,
00102 TARGETOBJECTIVEIDXATT = 283,
00103 IDXATT = 284,
00104 CATEGORYATT = 285,
00105 EMPTYCATEGORYATT = 286,
00106 DESCRIPTIONATT = 287,
00107 EMPTYDESCRIPTIONATT = 288,
00108 NAMEATT = 289,
00109 EMPTYNAMEATT = 290,
00110 TYPEATT = 291,
00111 EMPTYTYPEATT = 292,
00112 UNITATT = 293,
00113 EMPTYUNITATT = 294,
00114 VALUEATT = 295,
00115 EMPTYVALUEATT = 296,
00116 WEIGHTEDOBJECTIVESATT = 297,
00117 EMPTYWEIGHTEDOBJECTIVESATT = 298,
00118 OSRLSTART = 299,
00119 OSRLSTARTEMPTY = 300,
00120 OSRLATTRIBUTETEXT = 301,
00121 OSRLEND = 302,
00122 GENERALSTART = 303,
00123 GENERALEND = 304,
00124 SYSTEMSTART = 305,
00125 SYSTEMEND = 306,
00126 SERVICESTART = 307,
00127 SERVICEEND = 308,
00128 JOBSTART = 309,
00129 JOBEND = 310,
00130 OPTIMIZATIONSTART = 311,
00131 OPTIMIZATIONEND = 312,
00132 ITEMSTART = 313,
00133 ITEMEND = 314,
00134 ITEMSTARTANDEND = 315,
00135 ITEMEMPTY = 316,
00136 ACTUALSTARTTIMESTART = 317,
00137 ACTUALSTARTTIMEEND = 318,
00138 AVAILABLECPUNUMBERSTART = 319,
00139 AVAILABLECPUNUMBEREND = 320,
00140 AVAILABLECPUSPEEDSTART = 321,
00141 AVAILABLECPUSPEEDEND = 322,
00142 AVAILABLEDISKSPACESTART = 323,
00143 AVAILABLEDISKSPACEEND = 324,
00144 AVAILABLEMEMORYSTART = 325,
00145 AVAILABLEMEMORYEND = 326,
00146 BASISSTATUSSTART = 327,
00147 BASISSTATUSEND = 328,
00148 BASSTATUSSTART = 329,
00149 BASSTATUSEND = 330,
00150 CONSTART = 331,
00151 CONEND = 332,
00152 CONSTRAINTSSTART = 333,
00153 CONSTRAINTSEND = 334,
00154 CURRENTJOBCOUNTSTART = 335,
00155 CURRENTJOBCOUNTEND = 336,
00156 CURRENTSTATESTART = 337,
00157 CURRENTSTATEEND = 338,
00158 DUALVALUESSTART = 339,
00159 DUALVALUESEND = 340,
00160 ENDTIMESTART = 341,
00161 ENDTIMEEND = 342,
00162 GENERALSTATUSSTART = 343,
00163 GENERALSTATUSEND = 344,
00164 GENERALSUBSTATUSSTART = 345,
00165 GENERALSUBSTATUSEND = 346,
00166 INSTANCENAMESTART = 347,
00167 INSTANCENAMEEND = 348,
00168 JOBIDSTART = 349,
00169 JOBIDEND = 350,
00170 MESSAGESTART = 351,
00171 MESSAGEEND = 352,
00172 OBJSTART = 353,
00173 OBJEND = 354,
00174 OBJECTIVESSTART = 355,
00175 OBJECTIVESEND = 356,
00176 OPTIMIZATIONSOLUTIONSTATUSSTART = 357,
00177 OPTIMIZATIONSOLUTIONSTATUSEND = 358,
00178 OPTIMIZATIONSOLUTIONSUBSTATUSSTART = 359,
00179 OPTIMIZATIONSOLUTIONSUBSTATUSEND = 360,
00180 OTHERSTART = 361,
00181 OTHEREND = 362,
00182 OTHERRESULTSSTART = 363,
00183 OTHERRESULTSEND = 364,
00184 OTHERSOLUTIONRESULTSTART = 365,
00185 OTHERSOLUTIONRESULTEND = 366,
00186 OTHERSOLUTIONRESULTSSTART = 367,
00187 OTHERSOLUTIONRESULTSEND = 368,
00188 OTHERSOLVEROUTPUTSTART = 369,
00189 OTHERSOLVEROUTPUTEND = 370,
00190 SCHEDULEDSTARTTIMESTART = 371,
00191 SCHEDULEDSTARTTIMEEND = 372,
00192 SERVICENAMESTART = 373,
00193 SERVICENAMEEND = 374,
00194 SERVICEURISTART = 375,
00195 SERVICEURIEND = 376,
00196 SERVICEUTILIZATIONSTART = 377,
00197 SERVICEUTILIZATIONEND = 378,
00198 SOLUTIONSTART = 379,
00199 SOLUTIONEND = 380,
00200 SOLVERINVOKEDSTART = 381,
00201 SOLVERINVOKEDEND = 382,
00202 SOLVEROUTPUTSTART = 383,
00203 SOLVEROUTPUTEND = 384,
00204 STATUSSTART = 385,
00205 STATUSEND = 386,
00206 SUBMITTIMESTART = 387,
00207 SUBMITTIMEEND = 388,
00208 SUBSTATUSSTART = 389,
00209 SUBSTATUSEND = 390,
00210 SYSTEMINFORMATIONSTART = 391,
00211 SYSTEMINFORMATIONEND = 392,
00212 TIMESTART = 393,
00213 TIMEEND = 394,
00214 TIMESERVICESTARTEDSTART = 395,
00215 TIMESERVICESTARTEDEND = 396,
00216 TIMESTAMPSTART = 397,
00217 TIMESTAMPEND = 398,
00218 TIMINGINFORMATIONSTART = 399,
00219 TIMINGINFORMATIONEND = 400,
00220 TOTALJOBSSOFARSTART = 401,
00221 TOTALJOBSSOFAREND = 402,
00222 USEDCPUNUMBERSTART = 403,
00223 USEDCPUNUMBEREND = 404,
00224 USEDCPUSPEEDSTART = 405,
00225 USEDCPUSPEEDEND = 406,
00226 USEDDISKSPACESTART = 407,
00227 USEDDISKSPACEEND = 408,
00228 USEDMEMORYSTART = 409,
00229 USEDMEMORYEND = 410,
00230 VALUESSTART = 411,
00231 VALUESEND = 412,
00232 VALUESSTRINGSTART = 413,
00233 VALUESSTRINGEND = 414,
00234 VARSTART = 415,
00235 VAREND = 416,
00236 VARIABLESSTART = 417,
00237 VARIABLESEND = 418,
00238 DUMMY = 419
00239 };
00240 #endif
00241
00242 #define ATTRIBUTETEXT 258
00243 #define ELEMENTTEXT 259
00244 #define ITEMTEXT 260
00245 #define INTEGER 261
00246 #define DOUBLE 262
00247 #define QUOTE 263
00248 #define TWOQUOTES 264
00249 #define GREATERTHAN 265
00250 #define ENDOFELEMENT 266
00251 #define NUMBEROFCONATT 267
00252 #define NUMBEROFCONSTRAINTSATT 268
00253 #define NUMBEROFITEMSATT 269
00254 #define NUMBEROFOBJATT 270
00255 #define NUMBEROFOBJECTIVESATT 271
00256 #define NUMBEROFOTHERCONSTRAINTRESULTSATT 272
00257 #define NUMBEROFOTHEROBJECTIVERESULTSATT 273
00258 #define NUMBEROFOTHERRESULTSATT 274
00259 #define NUMBEROFOTHERSOLUTIONRESULTSATT 275
00260 #define NUMBEROFOTHERVARIABLERESULTSATT 276
00261 #define NUMBEROFSOLUTIONSATT 277
00262 #define NUMBEROFSOLVEROUTPUTSATT 278
00263 #define NUMBEROFSUBSTATUSESATT 279
00264 #define NUMBEROFTIMESATT 280
00265 #define NUMBEROFVARATT 281
00266 #define NUMBEROFVARIABLESATT 282
00267 #define TARGETOBJECTIVEIDXATT 283
00268 #define IDXATT 284
00269 #define CATEGORYATT 285
00270 #define EMPTYCATEGORYATT 286
00271 #define DESCRIPTIONATT 287
00272 #define EMPTYDESCRIPTIONATT 288
00273 #define NAMEATT 289
00274 #define EMPTYNAMEATT 290
00275 #define TYPEATT 291
00276 #define EMPTYTYPEATT 292
00277 #define UNITATT 293
00278 #define EMPTYUNITATT 294
00279 #define VALUEATT 295
00280 #define EMPTYVALUEATT 296
00281 #define WEIGHTEDOBJECTIVESATT 297
00282 #define EMPTYWEIGHTEDOBJECTIVESATT 298
00283 #define OSRLSTART 299
00284 #define OSRLSTARTEMPTY 300
00285 #define OSRLATTRIBUTETEXT 301
00286 #define OSRLEND 302
00287 #define GENERALSTART 303
00288 #define GENERALEND 304
00289 #define SYSTEMSTART 305
00290 #define SYSTEMEND 306
00291 #define SERVICESTART 307
00292 #define SERVICEEND 308
00293 #define JOBSTART 309
00294 #define JOBEND 310
00295 #define OPTIMIZATIONSTART 311
00296 #define OPTIMIZATIONEND 312
00297 #define ITEMSTART 313
00298 #define ITEMEND 314
00299 #define ITEMSTARTANDEND 315
00300 #define ITEMEMPTY 316
00301 #define ACTUALSTARTTIMESTART 317
00302 #define ACTUALSTARTTIMEEND 318
00303 #define AVAILABLECPUNUMBERSTART 319
00304 #define AVAILABLECPUNUMBEREND 320
00305 #define AVAILABLECPUSPEEDSTART 321
00306 #define AVAILABLECPUSPEEDEND 322
00307 #define AVAILABLEDISKSPACESTART 323
00308 #define AVAILABLEDISKSPACEEND 324
00309 #define AVAILABLEMEMORYSTART 325
00310 #define AVAILABLEMEMORYEND 326
00311 #define BASISSTATUSSTART 327
00312 #define BASISSTATUSEND 328
00313 #define BASSTATUSSTART 329
00314 #define BASSTATUSEND 330
00315 #define CONSTART 331
00316 #define CONEND 332
00317 #define CONSTRAINTSSTART 333
00318 #define CONSTRAINTSEND 334
00319 #define CURRENTJOBCOUNTSTART 335
00320 #define CURRENTJOBCOUNTEND 336
00321 #define CURRENTSTATESTART 337
00322 #define CURRENTSTATEEND 338
00323 #define DUALVALUESSTART 339
00324 #define DUALVALUESEND 340
00325 #define ENDTIMESTART 341
00326 #define ENDTIMEEND 342
00327 #define GENERALSTATUSSTART 343
00328 #define GENERALSTATUSEND 344
00329 #define GENERALSUBSTATUSSTART 345
00330 #define GENERALSUBSTATUSEND 346
00331 #define INSTANCENAMESTART 347
00332 #define INSTANCENAMEEND 348
00333 #define JOBIDSTART 349
00334 #define JOBIDEND 350
00335 #define MESSAGESTART 351
00336 #define MESSAGEEND 352
00337 #define OBJSTART 353
00338 #define OBJEND 354
00339 #define OBJECTIVESSTART 355
00340 #define OBJECTIVESEND 356
00341 #define OPTIMIZATIONSOLUTIONSTATUSSTART 357
00342 #define OPTIMIZATIONSOLUTIONSTATUSEND 358
00343 #define OPTIMIZATIONSOLUTIONSUBSTATUSSTART 359
00344 #define OPTIMIZATIONSOLUTIONSUBSTATUSEND 360
00345 #define OTHERSTART 361
00346 #define OTHEREND 362
00347 #define OTHERRESULTSSTART 363
00348 #define OTHERRESULTSEND 364
00349 #define OTHERSOLUTIONRESULTSTART 365
00350 #define OTHERSOLUTIONRESULTEND 366
00351 #define OTHERSOLUTIONRESULTSSTART 367
00352 #define OTHERSOLUTIONRESULTSEND 368
00353 #define OTHERSOLVEROUTPUTSTART 369
00354 #define OTHERSOLVEROUTPUTEND 370
00355 #define SCHEDULEDSTARTTIMESTART 371
00356 #define SCHEDULEDSTARTTIMEEND 372
00357 #define SERVICENAMESTART 373
00358 #define SERVICENAMEEND 374
00359 #define SERVICEURISTART 375
00360 #define SERVICEURIEND 376
00361 #define SERVICEUTILIZATIONSTART 377
00362 #define SERVICEUTILIZATIONEND 378
00363 #define SOLUTIONSTART 379
00364 #define SOLUTIONEND 380
00365 #define SOLVERINVOKEDSTART 381
00366 #define SOLVERINVOKEDEND 382
00367 #define SOLVEROUTPUTSTART 383
00368 #define SOLVEROUTPUTEND 384
00369 #define STATUSSTART 385
00370 #define STATUSEND 386
00371 #define SUBMITTIMESTART 387
00372 #define SUBMITTIMEEND 388
00373 #define SUBSTATUSSTART 389
00374 #define SUBSTATUSEND 390
00375 #define SYSTEMINFORMATIONSTART 391
00376 #define SYSTEMINFORMATIONEND 392
00377 #define TIMESTART 393
00378 #define TIMEEND 394
00379 #define TIMESERVICESTARTEDSTART 395
00380 #define TIMESERVICESTARTEDEND 396
00381 #define TIMESTAMPSTART 397
00382 #define TIMESTAMPEND 398
00383 #define TIMINGINFORMATIONSTART 399
00384 #define TIMINGINFORMATIONEND 400
00385 #define TOTALJOBSSOFARSTART 401
00386 #define TOTALJOBSSOFAREND 402
00387 #define USEDCPUNUMBERSTART 403
00388 #define USEDCPUNUMBEREND 404
00389 #define USEDCPUSPEEDSTART 405
00390 #define USEDCPUSPEEDEND 406
00391 #define USEDDISKSPACESTART 407
00392 #define USEDDISKSPACEEND 408
00393 #define USEDMEMORYSTART 409
00394 #define USEDMEMORYEND 410
00395 #define VALUESSTART 411
00396 #define VALUESEND 412
00397 #define VALUESSTRINGSTART 413
00398 #define VALUESSTRINGEND 414
00399 #define VARSTART 415
00400 #define VAREND 416
00401 #define VARIABLESSTART 417
00402 #define VARIABLESEND 418
00403 #define DUMMY 419
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413 #include "OSDataStructures.h"
00414 #include "OSMathUtil.h"
00415 #include "OSParameters.h"
00416 #include "OSConfig.h"
00417 #include "OSErrorClass.h"
00418 #include "OSResult.h"
00419 #include "OSrLParserData.h"
00420 #include <iostream>
00421 #include <sstream>
00422 #include <stdio.h>
00423
00424
00425
00426 #ifdef DEBUG
00427 #define YYDEBUG 1
00428 #endif
00429
00430 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00431 YY_BUFFER_STATE osrl_scan_string (const char *yy_str , void* yyscanner );
00432 int osrllex_init(void** ptr_yy_globals);
00433 int osrllex_destroy (void* yyscanner );
00434 int osrlget_lineno( void* yyscanner);
00435 char *osrlget_text (void* yyscanner );
00436 void osrlset_lineno (int line_number , void* yyscanner );
00437 void osrlset_extra (OSrLParserData* parserData , void* yyscanner );
00438 void yygetOSResult(const char *ch, OSResult* m_osresult, OSrLParserData *m_parserData ) throw(ErrorClass);
00439 void osrl_empty_vectors( OSrLParserData* parserData);
00440
00441
00442
00443
00444
00445 #ifndef YYDEBUG
00446 # define YYDEBUG 0
00447 #endif
00448
00449
00450 #ifdef YYERROR_VERBOSE
00451 # undef YYERROR_VERBOSE
00452 # define YYERROR_VERBOSE 1
00453 #else
00454 # define YYERROR_VERBOSE 0
00455 #endif
00456
00457
00458 #ifndef YYTOKEN_TABLE
00459 # define YYTOKEN_TABLE 0
00460 #endif
00461
00462 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00463 typedef union YYSTYPE
00464
00465 {
00466 double dval;
00467 int ival;
00468 char* sval;
00469 }
00470
00471
00472 YYSTYPE;
00473 # define yystype YYSTYPE
00474 # define YYSTYPE_IS_DECLARED 1
00475 # define YYSTYPE_IS_TRIVIAL 1
00476 #endif
00477
00478 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
00479 typedef struct YYLTYPE
00480 {
00481 int first_line;
00482 int first_column;
00483 int last_line;
00484 int last_column;
00485 } YYLTYPE;
00486 # define yyltype YYLTYPE
00487 # define YYLTYPE_IS_DECLARED 1
00488 # define YYLTYPE_IS_TRIVIAL 1
00489 #endif
00490
00491
00492
00493
00494
00495
00496 void osrlerror(YYLTYPE* type, OSResult *osresult, OSrLParserData *parserData ,const char* errormsg );
00497 int osrllex(YYSTYPE* lvalp, YYLTYPE* llocp, void* scanner);
00498
00499 #define scanner parserData->scanner
00500
00501
00502
00503
00504
00505 #ifdef short
00506 # undef short
00507 #endif
00508
00509 #ifdef YYTYPE_UINT8
00510 typedef YYTYPE_UINT8 yytype_uint8;
00511 #else
00512 typedef unsigned char yytype_uint8;
00513 #endif
00514
00515 #ifdef YYTYPE_INT8
00516 typedef YYTYPE_INT8 yytype_int8;
00517 #elif (defined __STDC__ || defined __C99__FUNC__ \
00518 || defined __cplusplus || defined _MSC_VER)
00519 typedef signed char yytype_int8;
00520 #else
00521 typedef short int yytype_int8;
00522 #endif
00523
00524 #ifdef YYTYPE_UINT16
00525 typedef YYTYPE_UINT16 yytype_uint16;
00526 #else
00527 typedef unsigned short int yytype_uint16;
00528 #endif
00529
00530 #ifdef YYTYPE_INT16
00531 typedef YYTYPE_INT16 yytype_int16;
00532 #else
00533 typedef short int yytype_int16;
00534 #endif
00535
00536 #ifndef YYSIZE_T
00537 # ifdef __SIZE_TYPE__
00538 # define YYSIZE_T __SIZE_TYPE__
00539 # elif defined size_t
00540 # define YYSIZE_T size_t
00541 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
00542 || defined __cplusplus || defined _MSC_VER)
00543 # include <stddef.h>
00544 # define YYSIZE_T size_t
00545 # else
00546 # define YYSIZE_T unsigned int
00547 # endif
00548 #endif
00549
00550 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
00551
00552 #ifndef YY_
00553 # if defined YYENABLE_NLS && YYENABLE_NLS
00554 # if ENABLE_NLS
00555 # include <libintl.h>
00556 # define YY_(msgid) dgettext ("bison-runtime", msgid)
00557 # endif
00558 # endif
00559 # ifndef YY_
00560 # define YY_(msgid) msgid
00561 # endif
00562 #endif
00563
00564
00565 #if ! defined lint || defined __GNUC__
00566 # define YYUSE(e) ((void) (e))
00567 #else
00568 # define YYUSE(e)
00569 #endif
00570
00571
00572 #ifndef lint
00573 # define YYID(n) (n)
00574 #else
00575 #if (defined __STDC__ || defined __C99__FUNC__ \
00576 || defined __cplusplus || defined _MSC_VER)
00577 static int
00578 YYID (int i)
00579 #else
00580 static int
00581 YYID (i)
00582 int i;
00583 #endif
00584 {
00585 return i;
00586 }
00587 #endif
00588
00589 #if ! defined yyoverflow || YYERROR_VERBOSE
00590
00591
00592
00593 # ifdef YYSTACK_USE_ALLOCA
00594 # if YYSTACK_USE_ALLOCA
00595 # ifdef __GNUC__
00596 # define YYSTACK_ALLOC __builtin_alloca
00597 # elif defined __BUILTIN_VA_ARG_INCR
00598 # include <alloca.h>
00599 # elif defined _AIX
00600 # define YYSTACK_ALLOC __alloca
00601 # elif defined _MSC_VER
00602 # include <malloc.h>
00603 # define alloca _alloca
00604 # else
00605 # define YYSTACK_ALLOC alloca
00606 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00607 || defined __cplusplus || defined _MSC_VER)
00608 # include <stdlib.h>
00609 # ifndef _STDLIB_H
00610 # define _STDLIB_H 1
00611 # endif
00612 # endif
00613 # endif
00614 # endif
00615 # endif
00616
00617 # ifdef YYSTACK_ALLOC
00618
00619 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
00620 # ifndef YYSTACK_ALLOC_MAXIMUM
00621
00622
00623
00624
00625 # define YYSTACK_ALLOC_MAXIMUM 4032
00626 # endif
00627 # else
00628 # define YYSTACK_ALLOC YYMALLOC
00629 # define YYSTACK_FREE YYFREE
00630 # ifndef YYSTACK_ALLOC_MAXIMUM
00631 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
00632 # endif
00633 # if (defined __cplusplus && ! defined _STDLIB_H \
00634 && ! ((defined YYMALLOC || defined malloc) \
00635 && (defined YYFREE || defined free)))
00636 # include <stdlib.h>
00637 # ifndef _STDLIB_H
00638 # define _STDLIB_H 1
00639 # endif
00640 # endif
00641 # ifndef YYMALLOC
00642 # define YYMALLOC malloc
00643 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00644 || defined __cplusplus || defined _MSC_VER)
00645 void *malloc (YYSIZE_T);
00646 # endif
00647 # endif
00648 # ifndef YYFREE
00649 # define YYFREE free
00650 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00651 || defined __cplusplus || defined _MSC_VER)
00652 void free (void *);
00653 # endif
00654 # endif
00655 # endif
00656 #endif
00657
00658
00659 #if (! defined yyoverflow \
00660 && (! defined __cplusplus \
00661 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
00662 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
00663
00664
00665 union yyalloc
00666 {
00667 yytype_int16 yyss;
00668 YYSTYPE yyvs;
00669 YYLTYPE yyls;
00670 };
00671
00672
00673 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00674
00675
00676
00677 # define YYSTACK_BYTES(N) \
00678 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
00679 + 2 * YYSTACK_GAP_MAXIMUM)
00680
00681
00682
00683 # ifndef YYCOPY
00684 # if defined __GNUC__ && 1 < __GNUC__
00685 # define YYCOPY(To, From, Count) \
00686 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00687 # else
00688 # define YYCOPY(To, From, Count) \
00689 do \
00690 { \
00691 YYSIZE_T yyi; \
00692 for (yyi = 0; yyi < (Count); yyi++) \
00693 (To)[yyi] = (From)[yyi]; \
00694 } \
00695 while (YYID (0))
00696 # endif
00697 # endif
00698
00699
00700
00701
00702
00703
00704 # define YYSTACK_RELOCATE(Stack) \
00705 do \
00706 { \
00707 YYSIZE_T yynewbytes; \
00708 YYCOPY (&yyptr->Stack, Stack, yysize); \
00709 Stack = &yyptr->Stack; \
00710 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00711 yyptr += yynewbytes / sizeof (*yyptr); \
00712 } \
00713 while (YYID (0))
00714
00715 #endif
00716
00717
00718 #define YYFINAL 4
00719
00720 #define YYLAST 982
00721
00722
00723 #define YYNTOKENS 169
00724
00725 #define YYNNTS 547
00726
00727 #define YYNRULES 813
00728
00729 #define YYNSTATES 1130
00730
00731
00732 #define YYUNDEFTOK 2
00733 #define YYMAXUTOK 419
00734
00735 #define YYTRANSLATE(YYX) \
00736 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00737
00738
00739 static const yytype_uint8 yytranslate[] =
00740 {
00741 0, 2, 2, 2, 2, 2, 2, 2, 2, 166,
00742 168, 2, 2, 167, 2, 2, 2, 2, 2, 2,
00743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00744 2, 2, 165, 2, 2, 2, 2, 2, 2, 2,
00745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00766 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
00767 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
00768 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
00769 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
00770 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
00771 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
00772 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
00773 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
00774 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
00775 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
00776 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
00777 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
00778 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
00779 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
00780 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
00781 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
00782 155, 156, 157, 158, 159, 160, 161, 162, 163, 164
00783 };
00784
00785 #if YYDEBUG
00786
00787
00788 static const yytype_uint16 yyprhs[] =
00789 {
00790 0, 0, 3, 7, 9, 10, 12, 16, 22, 23,
00791 26, 28, 30, 32, 35, 37, 41, 43, 45, 48,
00792 50, 52, 54, 56, 58, 60, 62, 64, 66, 70,
00793 72, 74, 76, 79, 81, 83, 85, 87, 89, 92,
00794 94, 98, 100, 102, 105, 109, 111, 113, 114, 117,
00795 119, 121, 124, 126, 129, 131, 133, 135, 138, 140,
00796 144, 146, 149, 151, 153, 155, 158, 160, 164, 166,
00797 169, 171, 173, 175, 178, 180, 184, 186, 189, 191,
00798 193, 195, 198, 200, 204, 206, 209, 211, 213, 215,
00799 218, 220, 224, 226, 229, 231, 233, 235, 238, 240,
00800 244, 246, 249, 251, 253, 255, 258, 260, 264, 266,
00801 270, 272, 274, 276, 278, 281, 283, 287, 289, 291,
00802 294, 298, 300, 302, 303, 306, 308, 310, 312, 315,
00803 317, 318, 321, 323, 325, 327, 330, 332, 336, 338,
00804 340, 343, 345, 347, 349, 351, 353, 355, 358, 360,
00805 362, 364, 367, 369, 373, 375, 379, 381, 383, 384,
00806 387, 389, 391, 395, 397, 401, 403, 405, 406, 409,
00807 411, 413, 417, 419, 423, 425, 427, 428, 431, 433,
00808 435, 439, 441, 445, 447, 448, 450, 454, 456, 460,
00809 462, 464, 466, 468, 471, 473, 477, 479, 481, 484,
00810 488, 490, 492, 493, 496, 498, 500, 502, 505, 507,
00811 508, 511, 516, 517, 520, 522, 524, 526, 528, 530,
00812 532, 535, 537, 539, 541, 544, 546, 550, 552, 555,
00813 557, 559, 561, 564, 566, 570, 572, 575, 577, 579,
00814 581, 584, 586, 590, 592, 595, 597, 599, 601, 604,
00815 606, 610, 612, 615, 617, 619, 621, 624, 626, 630,
00816 632, 636, 638, 640, 642, 644, 647, 649, 653, 655,
00817 657, 660, 664, 666, 668, 669, 672, 674, 676, 678,
00818 681, 683, 684, 687, 692, 693, 696, 698, 700, 702,
00819 704, 706, 708, 710, 712, 714, 716, 718, 721, 723,
00820 725, 727, 730, 732, 736, 738, 741, 743, 745, 747,
00821 750, 752, 756, 758, 761, 763, 765, 767, 770, 772,
00822 776, 778, 781, 783, 785, 787, 790, 792, 796, 798,
00823 801, 803, 805, 807, 810, 812, 816, 818, 822, 824,
00824 826, 828, 830, 833, 835, 839, 841, 843, 846, 850,
00825 852, 853, 856, 858, 860, 862, 864, 866, 868, 871,
00826 873, 877, 879, 881, 883, 887, 889, 891, 892, 895,
00827 897, 899, 903, 905, 909, 911, 913, 914, 917, 919,
00828 921, 925, 927, 931, 933, 935, 936, 939, 941, 943,
00829 947, 949, 953, 955, 956, 958, 962, 964, 968, 970,
00830 972, 974, 976, 979, 981, 985, 987, 989, 992, 996,
00831 998, 1000, 1001, 1004, 1006, 1008, 1010, 1013, 1015, 1016,
00832 1020, 1022, 1024, 1025, 1028, 1030, 1032, 1034, 1036, 1038,
00833 1040, 1043, 1045, 1049, 1052, 1054, 1057, 1061, 1063, 1065,
00834 1066, 1069, 1071, 1073, 1078, 1082, 1091, 1095, 1097, 1099,
00835 1101, 1104, 1106, 1108, 1110, 1112, 1114, 1117, 1119, 1123,
00836 1125, 1127, 1130, 1134, 1136, 1138, 1139, 1142, 1144, 1146,
00837 1149, 1151, 1152, 1155, 1157, 1159, 1161, 1164, 1166, 1170,
00838 1172, 1173, 1177, 1179, 1180, 1182, 1184, 1186, 1188, 1192,
00839 1197, 1198, 1202, 1204, 1206, 1208, 1210, 1213, 1215, 1219,
00840 1221, 1223, 1226, 1230, 1232, 1237, 1241, 1243, 1245, 1246,
00841 1250, 1252, 1254, 1256, 1258, 1261, 1263, 1267, 1269, 1271,
00842 1274, 1278, 1280, 1285, 1287, 1289, 1292, 1294, 1298, 1300,
00843 1301, 1305, 1307, 1309, 1311, 1313, 1316, 1318, 1322, 1324,
00844 1326, 1329, 1333, 1335, 1340, 1344, 1345, 1348, 1352, 1354,
00845 1356, 1357, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1375,
00846 1377, 1381, 1383, 1385, 1388, 1392, 1394, 1399, 1401, 1403,
00847 1406, 1408, 1412, 1414, 1415, 1419, 1421, 1422, 1424, 1426,
00848 1428, 1430, 1434, 1437, 1438, 1442, 1444, 1446, 1448, 1450,
00849 1453, 1455, 1459, 1461, 1463, 1466, 1470, 1472, 1473, 1478,
00850 1482, 1484, 1486, 1487, 1490, 1494, 1496, 1498, 1499, 1502,
00851 1504, 1506, 1508, 1510, 1512, 1514, 1517, 1519, 1523, 1525,
00852 1527, 1530, 1534, 1536, 1541, 1543, 1545, 1548, 1550, 1554,
00853 1556, 1557, 1561, 1563, 1564, 1566, 1568, 1570, 1572, 1576,
00854 1579, 1580, 1584, 1586, 1588, 1590, 1592, 1595, 1597, 1601,
00855 1603, 1605, 1608, 1614, 1616, 1621, 1623, 1625, 1626, 1629,
00856 1633, 1635, 1637, 1638, 1641, 1643, 1645, 1647, 1649, 1651,
00857 1653, 1656, 1658, 1662, 1664, 1666, 1669, 1673, 1675, 1680,
00858 1682, 1684, 1687, 1689, 1693, 1695, 1696, 1700, 1702, 1704,
00859 1706, 1708, 1711, 1713, 1717, 1719, 1721, 1724, 1728, 1730,
00860 1732, 1733, 1736, 1738, 1740, 1742, 1744, 1746, 1748, 1751,
00861 1753, 1757, 1759, 1761, 1764, 1766, 1768, 1770, 1772, 1774,
00862 1778, 1780, 1781, 1785, 1787, 1789, 1791, 1793, 1796, 1798,
00863 1802, 1804, 1806, 1809, 1813, 1815, 1817, 1818, 1821, 1823,
00864 1825, 1827, 1829, 1831, 1833, 1836, 1838, 1842, 1844, 1846,
00865 1849, 1851, 1853, 1855, 1857, 1859, 1863, 1865, 1867, 1869,
00866 1871, 1875, 1877, 1879, 1881, 1883, 1887, 1889, 1891, 1893,
00867 1895, 1899, 1901, 1903, 1905, 1907, 1911, 1913, 1915, 1917,
00868 1919, 1923, 1925, 1927, 1929, 1931, 1935, 1940, 1945, 1950,
00869 1955, 1960, 1965, 1970, 1975, 1980, 1985, 1990, 1995, 2000,
00870 2005, 2010, 2015, 2017, 2019, 2021, 2023, 2025, 2028, 2029,
00871 2032, 2034, 2036, 2038
00872 };
00873
00874
00875 static const yytype_int16 yyrhs[] =
00876 {
00877 170, 0, -1, 171, 172, 173, -1, 44, -1, -1,
00878 46, -1, 10, 174, 47, -1, 175, 255, 309, 356,
00879 446, -1, -1, 176, 177, -1, 48, -1, 178, -1,
00880 179, -1, 10, 49, -1, 11, -1, 10, 180, 49,
00881 -1, 181, -1, 182, -1, 181, 182, -1, 183, -1,
00882 199, -1, 205, -1, 211, -1, 217, -1, 223, -1,
00883 229, -1, 235, -1, 241, -1, 184, 185, 188, -1,
00884 88, -1, 186, -1, 187, -1, 186, 187, -1, 683,
00885 -1, 675, -1, 710, -1, 189, -1, 190, -1, 10,
00886 89, -1, 11, -1, 10, 191, 89, -1, 192, -1,
00887 193, -1, 192, 193, -1, 194, 195, 198, -1, 134,
00888 -1, 196, -1, -1, 196, 197, -1, 679, -1, 675,
00889 -1, 10, 135, -1, 11, -1, 200, 201, -1, 96,
00890 -1, 202, -1, 203, -1, 10, 97, -1, 11, -1,
00891 10, 204, 97, -1, 4, -1, 206, 207, -1, 120,
00892 -1, 208, -1, 209, -1, 10, 121, -1, 11, -1,
00893 10, 210, 121, -1, 4, -1, 212, 213, -1, 118,
00894 -1, 214, -1, 215, -1, 10, 119, -1, 11, -1,
00895 10, 216, 119, -1, 4, -1, 218, 219, -1, 92,
00896 -1, 220, -1, 221, -1, 10, 93, -1, 11, -1,
00897 10, 222, 93, -1, 4, -1, 224, 225, -1, 94,
00898 -1, 226, -1, 227, -1, 10, 95, -1, 11, -1,
00899 10, 228, 95, -1, 4, -1, 230, 231, -1, 126,
00900 -1, 232, -1, 233, -1, 10, 127, -1, 11, -1,
00901 10, 234, 127, -1, 4, -1, 236, 237, -1, 142,
00902 -1, 238, -1, 239, -1, 10, 143, -1, 11, -1,
00903 10, 240, 143, -1, 4, -1, 242, 243, 244, -1,
00904 108, -1, 695, -1, 245, -1, 246, -1, 10, 109,
00905 -1, 11, -1, 10, 247, 109, -1, 248, -1, 249,
00906 -1, 248, 249, -1, 250, 251, 254, -1, 106, -1,
00907 252, -1, -1, 252, 253, -1, 679, -1, 691, -1,
00908 675, -1, 10, 107, -1, 11, -1, -1, 256, 257,
00909 -1, 50, -1, 258, -1, 259, -1, 10, 51, -1,
00910 11, -1, 10, 260, 51, -1, 261, -1, 262, -1,
00911 261, 262, -1, 263, -1, 269, -1, 276, -1, 283,
00912 -1, 290, -1, 295, -1, 264, 265, -1, 136, -1,
00913 266, -1, 267, -1, 10, 137, -1, 11, -1, 10,
00914 268, 137, -1, 4, -1, 270, 271, 274, -1, 68,
00915 -1, 272, -1, -1, 272, 273, -1, 687, -1, 675,
00916 -1, 10, 275, 69, -1, 711, -1, 277, 278, 281,
00917 -1, 70, -1, 279, -1, -1, 279, 280, -1, 687,
00918 -1, 675, -1, 10, 282, 71, -1, 711, -1, 284,
00919 285, 288, -1, 66, -1, 286, -1, -1, 286, 287,
00920 -1, 687, -1, 675, -1, 10, 289, 67, -1, 711,
00921 -1, 291, 292, 293, -1, 64, -1, -1, 675, -1,
00922 10, 294, 65, -1, 6, -1, 296, 297, 298, -1,
00923 108, -1, 695, -1, 299, -1, 300, -1, 10, 109,
00924 -1, 11, -1, 10, 301, 109, -1, 302, -1, 303,
00925 -1, 302, 303, -1, 304, 305, 308, -1, 106, -1,
00926 306, -1, -1, 306, 307, -1, 679, -1, 691, -1,
00927 675, -1, 10, 107, -1, 11, -1, -1, 52, 11,
00928 -1, 52, 10, 310, 53, -1, -1, 310, 311, -1,
00929 312, -1, 318, -1, 324, -1, 330, -1, 336, -1,
00930 342, -1, 313, 314, -1, 82, -1, 315, -1, 316,
00931 -1, 10, 83, -1, 11, -1, 10, 317, 83, -1,
00932 4, -1, 319, 320, -1, 80, -1, 321, -1, 322,
00933 -1, 10, 81, -1, 11, -1, 10, 323, 81, -1,
00934 6, -1, 325, 326, -1, 146, -1, 327, -1, 328,
00935 -1, 10, 147, -1, 11, -1, 10, 329, 147, -1,
00936 6, -1, 331, 332, -1, 140, -1, 333, -1, 334,
00937 -1, 10, 141, -1, 11, -1, 10, 335, 141, -1,
00938 4, -1, 337, 338, -1, 122, -1, 339, -1, 340,
00939 -1, 10, 123, -1, 11, -1, 10, 341, 123, -1,
00940 711, -1, 343, 344, 345, -1, 108, -1, 695, -1,
00941 346, -1, 347, -1, 10, 109, -1, 11, -1, 10,
00942 348, 109, -1, 349, -1, 350, -1, 349, 350, -1,
00943 351, 352, 355, -1, 106, -1, 353, -1, -1, 353,
00944 354, -1, 679, -1, 691, -1, 675, -1, 10, 107,
00945 -1, 11, -1, -1, 54, 11, -1, 54, 10, 357,
00946 55, -1, -1, 357, 358, -1, 359, -1, 365, -1,
00947 371, -1, 377, -1, 383, -1, 389, -1, 406, -1,
00948 413, -1, 420, -1, 427, -1, 432, -1, 360, 361,
00949 -1, 130, -1, 362, -1, 363, -1, 10, 131, -1,
00950 11, -1, 10, 364, 131, -1, 4, -1, 366, 367,
00951 -1, 132, -1, 368, -1, 369, -1, 10, 133, -1,
00952 11, -1, 10, 370, 133, -1, 4, -1, 372, 373,
00953 -1, 116, -1, 374, -1, 375, -1, 10, 117, -1,
00954 11, -1, 10, 376, 117, -1, 4, -1, 378, 379,
00955 -1, 62, -1, 380, -1, 381, -1, 10, 63, -1,
00956 11, -1, 10, 382, 63, -1, 4, -1, 384, 385,
00957 -1, 86, -1, 386, -1, 387, -1, 10, 87, -1,
00958 11, -1, 10, 388, 87, -1, 4, -1, 390, 391,
00959 392, -1, 144, -1, 707, -1, 393, -1, 394, -1,
00960 10, 145, -1, 11, -1, 10, 395, 145, -1, 396,
00961 -1, 397, -1, 396, 397, -1, 398, 399, 401, -1,
00962 138, -1, -1, 399, 400, -1, 687, -1, 683, -1,
00963 671, -1, 675, -1, 402, -1, 403, -1, 10, 139,
00964 -1, 11, -1, 10, 404, 139, -1, 405, -1, 7,
00965 -1, 6, -1, 407, 408, 411, -1, 152, -1, 409,
00966 -1, -1, 409, 410, -1, 687, -1, 675, -1, 10,
00967 412, 153, -1, 711, -1, 414, 415, 418, -1, 154,
00968 -1, 416, -1, -1, 416, 417, -1, 687, -1, 675,
00969 -1, 10, 419, 155, -1, 711, -1, 421, 422, 425,
00970 -1, 150, -1, 423, -1, -1, 423, 424, -1, 687,
00971 -1, 675, -1, 10, 426, 151, -1, 711, -1, 428,
00972 429, 430, -1, 148, -1, -1, 675, -1, 10, 431,
00973 149, -1, 6, -1, 433, 434, 435, -1, 108, -1,
00974 695, -1, 436, -1, 437, -1, 10, 109, -1, 11,
00975 -1, 10, 438, 109, -1, 439, -1, 440, -1, 439,
00976 440, -1, 441, 442, 445, -1, 106, -1, 443, -1,
00977 -1, 443, 444, -1, 679, -1, 691, -1, 675, -1,
00978 10, 107, -1, 11, -1, -1, 447, 448, 451, -1,
00979 56, -1, 449, -1, -1, 449, 450, -1, 696, -1,
00980 697, -1, 698, -1, 699, -1, 452, -1, 453, -1,
00981 10, 57, -1, 11, -1, 10, 454, 57, -1, 455,
00982 649, -1, 456, -1, 455, 456, -1, 457, 458, 463,
00983 -1, 124, -1, 459, -1, -1, 459, 460, -1, 461,
00984 -1, 462, -1, 28, 713, 6, 713, -1, 42, 3,
00985 713, -1, 10, 464, 480, 486, 551, 589, 626, 125,
00986 -1, 465, 466, 469, -1, 130, -1, 467, -1, 468,
00987 -1, 467, 468, -1, 683, -1, 675, -1, 710, -1,
00988 470, -1, 471, -1, 10, 131, -1, 11, -1, 10,
00989 472, 131, -1, 473, -1, 474, -1, 473, 474, -1,
00990 475, 476, 479, -1, 134, -1, 477, -1, -1, 477,
00991 478, -1, 683, -1, 675, -1, 10, 135, -1, 11,
00992 -1, -1, 481, 482, -1, 96, -1, 483, -1, 484,
00993 -1, 10, 97, -1, 11, -1, 10, 485, 97, -1,
00994 4, -1, -1, 487, 488, 489, -1, 162, -1, -1,
00995 700, -1, 490, -1, 491, -1, 11, -1, 10, 492,
00996 163, -1, 493, 506, 521, 533, -1, -1, 494, 495,
00997 496, -1, 156, -1, 704, -1, 497, -1, 498, -1,
00998 10, 157, -1, 11, -1, 10, 499, 157, -1, 500,
00999 -1, 501, -1, 500, 501, -1, 502, 503, 504, -1,
01000 160, -1, 29, 713, 6, 713, -1, 10, 505, 161,
01001 -1, 6, -1, 7, -1, -1, 507, 508, 509, -1,
01002 158, -1, 704, -1, 510, -1, 511, -1, 10, 159,
01003 -1, 11, -1, 10, 512, 159, -1, 513, -1, 514,
01004 -1, 513, 514, -1, 515, 516, 517, -1, 160, -1,
01005 29, 713, 6, 713, -1, 518, -1, 519, -1, 10,
01006 161, -1, 11, -1, 10, 520, 161, -1, 4, -1,
01007 -1, 522, 523, 524, -1, 72, -1, 704, -1, 525,
01008 -1, 526, -1, 10, 73, -1, 11, -1, 10, 527,
01009 73, -1, 528, -1, 529, -1, 528, 529, -1, 530,
01010 531, 532, -1, 160, -1, 29, 713, 6, 713, -1,
01011 10, 4, 161, -1, -1, 533, 534, -1, 535, 536,
01012 539, -1, 106, -1, 537, -1, -1, 537, 538, -1,
01013 704, -1, 691, -1, 679, -1, 675, -1, 540, -1,
01014 541, -1, 10, 107, -1, 11, -1, 10, 542, 107,
01015 -1, 543, -1, 544, -1, 543, 544, -1, 545, 546,
01016 547, -1, 160, -1, 29, 713, 6, 713, -1, 548,
01017 -1, 549, -1, 10, 161, -1, 11, -1, 10, 550,
01018 161, -1, 712, -1, -1, 552, 553, 554, -1, 100,
01019 -1, -1, 701, -1, 555, -1, 556, -1, 11, -1,
01020 10, 557, 101, -1, 558, 571, -1, -1, 559, 560,
01021 561, -1, 156, -1, 705, -1, 562, -1, 563, -1,
01022 10, 157, -1, 11, -1, 10, 564, 157, -1, 565,
01023 -1, 566, -1, 565, 566, -1, 567, 568, 569, -1,
01024 98, -1, -1, 29, 713, 6, 713, -1, 10, 570,
01025 99, -1, 6, -1, 7, -1, -1, 571, 572, -1,
01026 573, 574, 577, -1, 106, -1, 575, -1, -1, 575,
01027 576, -1, 705, -1, 691, -1, 679, -1, 675, -1,
01028 578, -1, 579, -1, 10, 107, -1, 11, -1, 10,
01029 580, 107, -1, 581, -1, 582, -1, 581, 582, -1,
01030 583, 584, 585, -1, 98, -1, 29, 713, 6, 713,
01031 -1, 586, -1, 587, -1, 10, 99, -1, 11, -1,
01032 10, 588, 99, -1, 712, -1, -1, 590, 591, 592,
01033 -1, 78, -1, -1, 702, -1, 593, -1, 594, -1,
01034 11, -1, 10, 595, 79, -1, 596, 608, -1, -1,
01035 597, 598, 599, -1, 84, -1, 706, -1, 600, -1,
01036 601, -1, 10, 85, -1, 11, -1, 10, 602, 85,
01037 -1, 603, -1, 604, -1, 603, 604, -1, 605, 606,
01038 10, 607, 77, -1, 76, -1, 29, 713, 6, 713,
01039 -1, 6, -1, 7, -1, -1, 608, 609, -1, 610,
01040 611, 614, -1, 106, -1, 612, -1, -1, 612, 613,
01041 -1, 706, -1, 691, -1, 679, -1, 675, -1, 615,
01042 -1, 616, -1, 10, 107, -1, 11, -1, 10, 617,
01043 107, -1, 618, -1, 619, -1, 618, 619, -1, 620,
01044 621, 622, -1, 76, -1, 29, 713, 6, 713, -1,
01045 623, -1, 624, -1, 10, 77, -1, 11, -1, 10,
01046 625, 77, -1, 712, -1, -1, 627, 628, 629, -1,
01047 112, -1, 703, -1, 630, -1, 631, -1, 10, 113,
01048 -1, 11, -1, 10, 632, 113, -1, 633, -1, 634,
01049 -1, 633, 634, -1, 635, 636, 639, -1, 110, -1,
01050 637, -1, -1, 637, 638, -1, 679, -1, 671, -1,
01051 675, -1, 708, -1, 640, -1, 641, -1, 10, 111,
01052 -1, 11, -1, 10, 642, 111, -1, 643, -1, 644,
01053 -1, 643, 644, -1, 645, -1, 646, -1, 647, -1,
01054 60, -1, 61, -1, 58, 648, 59, -1, 5, -1,
01055 -1, 650, 651, 652, -1, 114, -1, 709, -1, 653,
01056 -1, 654, -1, 10, 115, -1, 11, -1, 10, 655,
01057 115, -1, 656, -1, 657, -1, 656, 657, -1, 658,
01058 659, 662, -1, 128, -1, 660, -1, -1, 660, 661,
01059 -1, 679, -1, 671, -1, 675, -1, 708, -1, 663,
01060 -1, 664, -1, 10, 129, -1, 11, -1, 10, 665,
01061 129, -1, 666, -1, 667, -1, 666, 667, -1, 668,
01062 -1, 669, -1, 670, -1, 60, -1, 61, -1, 58,
01063 5, 59, -1, 672, -1, 673, -1, 674, -1, 31,
01064 -1, 30, 3, 713, -1, 676, -1, 677, -1, 678,
01065 -1, 33, -1, 32, 3, 713, -1, 680, -1, 681,
01066 -1, 682, -1, 35, -1, 34, 3, 713, -1, 684,
01067 -1, 685, -1, 686, -1, 37, -1, 36, 3, 713,
01068 -1, 688, -1, 689, -1, 690, -1, 39, -1, 38,
01069 3, 713, -1, 692, -1, 693, -1, 694, -1, 41,
01070 -1, 40, 3, 713, -1, 19, 713, 6, 713, -1,
01071 22, 713, 6, 713, -1, 27, 713, 6, 713, -1,
01072 13, 713, 6, 713, -1, 16, 713, 6, 713, -1,
01073 21, 713, 6, 713, -1, 18, 713, 6, 713, -1,
01074 17, 713, 6, 713, -1, 20, 713, 6, 713, -1,
01075 26, 713, 6, 713, -1, 15, 713, 6, 713, -1,
01076 12, 713, 6, 713, -1, 25, 713, 6, 713, -1,
01077 14, 713, 6, 713, -1, 23, 713, 6, 713, -1,
01078 24, 713, 6, 713, -1, 6, -1, 7, -1, 4,
01079 -1, 6, -1, 7, -1, 714, 8, -1, -1, 714,
01080 715, -1, 165, -1, 166, -1, 167, -1, 168, -1
01081 };
01082
01083
01084 static const yytype_uint16 yyrline[] =
01085 {
01086 0, 167, 167, 169, 176, 176, 178, 180, 183, 183,
01087 185, 187, 187, 189, 189, 191, 193, 195, 195, 198,
01088 199, 200, 201, 202, 203, 204, 205, 206, 209, 211,
01089 223, 229, 229, 232, 241, 245, 253, 257, 262, 262,
01090 264, 266, 268, 268, 270, 274, 281, 286, 286, 289,
01091 294, 300, 300, 303, 305, 311, 311, 313, 313, 315,
01092 317, 320, 322, 328, 328, 330, 330, 332, 334, 337,
01093 339, 345, 345, 347, 347, 349, 351, 354, 356, 362,
01094 362, 364, 364, 366, 368, 371, 373, 379, 379, 381,
01095 381, 383, 385, 388, 390, 396, 396, 398, 398, 400,
01096 402, 405, 407, 413, 413, 415, 415, 417, 419, 422,
01097 424, 430, 440, 444, 449, 449, 451, 453, 455, 455,
01098 457, 461, 469, 474, 474, 477, 483, 488, 495, 495,
01099 499, 499, 501, 503, 503, 505, 505, 507, 509, 511,
01100 511, 514, 515, 516, 517, 518, 519, 522, 524, 530,
01101 530, 532, 532, 534, 536, 542, 544, 552, 554, 554,
01102 557, 569, 574, 576, 581, 583, 591, 593, 593, 596,
01103 608, 613, 615, 621, 623, 631, 633, 633, 636, 652,
01104 657, 659, 665, 667, 674, 675, 680, 682, 686, 688,
01105 694, 704, 708, 713, 713, 715, 717, 719, 719, 721,
01106 725, 733, 738, 738, 741, 747, 752, 759, 759, 763,
01107 763, 764, 766, 766, 769, 770, 771, 772, 773, 774,
01108 777, 779, 785, 785, 787, 787, 789, 791, 804, 806,
01109 812, 812, 814, 814, 816, 818, 821, 823, 829, 829,
01110 831, 831, 833, 835, 838, 840, 846, 846, 848, 848,
01111 850, 852, 855, 857, 863, 863, 865, 865, 867, 869,
01112 874, 876, 882, 892, 896, 901, 901, 903, 905, 907,
01113 907, 909, 913, 921, 926, 926, 929, 935, 940, 947,
01114 947, 950, 950, 951, 953, 953, 956, 957, 958, 959,
01115 960, 961, 962, 963, 964, 965, 966, 969, 971, 977,
01116 977, 979, 979, 981, 983, 996, 998, 1004, 1004, 1006,
01117 1006, 1008, 1010, 1013, 1015, 1021, 1021, 1023, 1023, 1025,
01118 1027, 1030, 1032, 1038, 1038, 1040, 1040, 1042, 1044, 1047,
01119 1049, 1055, 1055, 1057, 1057, 1059, 1061, 1064, 1066, 1072,
01120 1081, 1085, 1090, 1090, 1092, 1094, 1096, 1096, 1098, 1100,
01121 1113, 1113, 1116, 1128, 1134, 1144, 1147, 1147, 1149, 1149,
01122 1151, 1153, 1164, 1165, 1168, 1170, 1178, 1180, 1180, 1183,
01123 1195, 1200, 1202, 1208, 1210, 1218, 1220, 1220, 1223, 1235,
01124 1240, 1242, 1248, 1250, 1260, 1262, 1262, 1265, 1281, 1286,
01125 1288, 1294, 1296, 1304, 1305, 1310, 1312, 1317, 1319, 1325,
01126 1335, 1339, 1344, 1344, 1346, 1348, 1350, 1350, 1352, 1356,
01127 1364, 1369, 1369, 1372, 1378, 1383, 1390, 1390, 1393, 1393,
01128 1395, 1402, 1407, 1407, 1410, 1417, 1423, 1429, 1437, 1441,
01129 1446, 1446, 1448, 1450, 1452, 1452, 1454, 1456, 1464, 1466,
01130 1466, 1468, 1468, 1470, 1479, 1496, 1502, 1504, 1511, 1516,
01131 1516, 1519, 1534, 1538, 1547, 1551, 1557, 1557, 1559, 1561,
01132 1563, 1563, 1565, 1568, 1575, 1580, 1580, 1583, 1593, 1600,
01133 1600, 1603, 1603, 1605, 1607, 1607, 1609, 1609, 1611, 1613,
01134 1620, 1620, 1622, 1625, 1625, 1634, 1634, 1636, 1638, 1640,
01135 1642, 1642, 1644, 1646, 1654, 1658, 1663, 1663, 1665, 1667,
01136 1669, 1669, 1671, 1678, 1684, 1686, 1689, 1690, 1693, 1693,
01137 1695, 1697, 1705, 1709, 1714, 1714, 1716, 1718, 1720, 1720,
01138 1722, 1730, 1736, 1739, 1740, 1742, 1742, 1744, 1746, 1749,
01139 1749, 1751, 1753, 1761, 1765, 1770, 1770, 1772, 1774, 1776,
01140 1776, 1778, 1780, 1786, 1788, 1802, 1802, 1804, 1809, 1819,
01141 1826, 1826, 1829, 1839, 1845, 1851, 1858, 1858, 1860, 1860,
01142 1862, 1864, 1866, 1866, 1868, 1873, 1875, 1882, 1882, 1884,
01143 1884, 1886, 1888, 1896, 1896, 1898, 1904, 1904, 1913, 1913,
01144 1915, 1917, 1919, 1921, 1921, 1923, 1925, 1933, 1937, 1942,
01145 1942, 1944, 1946, 1949, 1949, 1951, 1958, 1965, 1965, 1967,
01146 1970, 1971, 1975, 1975, 1977, 1983, 1993, 2001, 2001, 2004,
01147 2014, 2020, 2026, 2035, 2035, 2037, 2037, 2039, 2041, 2043,
01148 2043, 2045, 2050, 2052, 2057, 2057, 2059, 2059, 2061, 2063,
01149 2069, 2069, 2071, 2076, 2076, 2084, 2084, 2086, 2088, 2090,
01150 2092, 2092, 2094, 2097, 2105, 2109, 2114, 2114, 2116, 2118,
01151 2120, 2120, 2122, 2129, 2135, 2138, 2139, 2142, 2142, 2144,
01152 2150, 2160, 2167, 2167, 2170, 2180, 2186, 2192, 2199, 2199,
01153 2201, 2201, 2203, 2205, 2207, 2207, 2209, 2214, 2216, 2222,
01154 2222, 2224, 2224, 2226, 2228, 2235, 2235, 2237, 2242, 2251,
01155 2255, 2260, 2260, 2262, 2264, 2266, 2266, 2268, 2272, 2281,
01156 2288, 2288, 2291, 2297, 2303, 2311, 2321, 2325, 2330, 2330,
01157 2332, 2334, 2336, 2336, 2338, 2343, 2347, 2349, 2349, 2351,
01158 2353, 2364, 2364, 2366, 2371, 2380, 2384, 2389, 2389, 2391,
01159 2393, 2395, 2395, 2397, 2401, 2410, 2417, 2417, 2420, 2425,
01160 2431, 2437, 2446, 2450, 2455, 2455, 2457, 2459, 2461, 2461,
01161 2463, 2468, 2472, 2474, 2474, 2476, 2487, 2493, 2493, 2495,
01162 2498, 2501, 2507, 2507, 2509, 2512, 2516, 2522, 2522, 2524,
01163 2527, 2530, 2536, 2536, 2538, 2541, 2544, 2550, 2550, 2552,
01164 2555, 2558, 2564, 2564, 2566, 2569, 2572, 2577, 2585, 2593,
01165 2601, 2609, 2615, 2621, 2627, 2633, 2639, 2645, 2651, 2656,
01166 2665, 2671, 2680, 2681, 2684, 2685, 2686, 2688, 2690, 2690,
01167 2692, 2693, 2694, 2695
01168 };
01169 #endif
01170
01171 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
01172
01173
01174 static const char *const yytname[] =
01175 {
01176 "$end", "error", "$undefined", "ATTRIBUTETEXT", "ELEMENTTEXT",
01177 "ITEMTEXT", "INTEGER", "DOUBLE", "QUOTE", "TWOQUOTES", "GREATERTHAN",
01178 "ENDOFELEMENT", "NUMBEROFCONATT", "NUMBEROFCONSTRAINTSATT",
01179 "NUMBEROFITEMSATT", "NUMBEROFOBJATT", "NUMBEROFOBJECTIVESATT",
01180 "NUMBEROFOTHERCONSTRAINTRESULTSATT", "NUMBEROFOTHEROBJECTIVERESULTSATT",
01181 "NUMBEROFOTHERRESULTSATT", "NUMBEROFOTHERSOLUTIONRESULTSATT",
01182 "NUMBEROFOTHERVARIABLERESULTSATT", "NUMBEROFSOLUTIONSATT",
01183 "NUMBEROFSOLVEROUTPUTSATT", "NUMBEROFSUBSTATUSESATT", "NUMBEROFTIMESATT",
01184 "NUMBEROFVARATT", "NUMBEROFVARIABLESATT", "TARGETOBJECTIVEIDXATT",
01185 "IDXATT", "CATEGORYATT", "EMPTYCATEGORYATT", "DESCRIPTIONATT",
01186 "EMPTYDESCRIPTIONATT", "NAMEATT", "EMPTYNAMEATT", "TYPEATT",
01187 "EMPTYTYPEATT", "UNITATT", "EMPTYUNITATT", "VALUEATT", "EMPTYVALUEATT",
01188 "WEIGHTEDOBJECTIVESATT", "EMPTYWEIGHTEDOBJECTIVESATT", "OSRLSTART",
01189 "OSRLSTARTEMPTY", "OSRLATTRIBUTETEXT", "OSRLEND", "GENERALSTART",
01190 "GENERALEND", "SYSTEMSTART", "SYSTEMEND", "SERVICESTART", "SERVICEEND",
01191 "JOBSTART", "JOBEND", "OPTIMIZATIONSTART", "OPTIMIZATIONEND",
01192 "ITEMSTART", "ITEMEND", "ITEMSTARTANDEND", "ITEMEMPTY",
01193 "ACTUALSTARTTIMESTART", "ACTUALSTARTTIMEEND", "AVAILABLECPUNUMBERSTART",
01194 "AVAILABLECPUNUMBEREND", "AVAILABLECPUSPEEDSTART",
01195 "AVAILABLECPUSPEEDEND", "AVAILABLEDISKSPACESTART",
01196 "AVAILABLEDISKSPACEEND", "AVAILABLEMEMORYSTART", "AVAILABLEMEMORYEND",
01197 "BASISSTATUSSTART", "BASISSTATUSEND", "BASSTATUSSTART", "BASSTATUSEND",
01198 "CONSTART", "CONEND", "CONSTRAINTSSTART", "CONSTRAINTSEND",
01199 "CURRENTJOBCOUNTSTART", "CURRENTJOBCOUNTEND", "CURRENTSTATESTART",
01200 "CURRENTSTATEEND", "DUALVALUESSTART", "DUALVALUESEND", "ENDTIMESTART",
01201 "ENDTIMEEND", "GENERALSTATUSSTART", "GENERALSTATUSEND",
01202 "GENERALSUBSTATUSSTART", "GENERALSUBSTATUSEND", "INSTANCENAMESTART",
01203 "INSTANCENAMEEND", "JOBIDSTART", "JOBIDEND", "MESSAGESTART",
01204 "MESSAGEEND", "OBJSTART", "OBJEND", "OBJECTIVESSTART", "OBJECTIVESEND",
01205 "OPTIMIZATIONSOLUTIONSTATUSSTART", "OPTIMIZATIONSOLUTIONSTATUSEND",
01206 "OPTIMIZATIONSOLUTIONSUBSTATUSSTART", "OPTIMIZATIONSOLUTIONSUBSTATUSEND",
01207 "OTHERSTART", "OTHEREND", "OTHERRESULTSSTART", "OTHERRESULTSEND",
01208 "OTHERSOLUTIONRESULTSTART", "OTHERSOLUTIONRESULTEND",
01209 "OTHERSOLUTIONRESULTSSTART", "OTHERSOLUTIONRESULTSEND",
01210 "OTHERSOLVEROUTPUTSTART", "OTHERSOLVEROUTPUTEND",
01211 "SCHEDULEDSTARTTIMESTART", "SCHEDULEDSTARTTIMEEND", "SERVICENAMESTART",
01212 "SERVICENAMEEND", "SERVICEURISTART", "SERVICEURIEND",
01213 "SERVICEUTILIZATIONSTART", "SERVICEUTILIZATIONEND", "SOLUTIONSTART",
01214 "SOLUTIONEND", "SOLVERINVOKEDSTART", "SOLVERINVOKEDEND",
01215 "SOLVEROUTPUTSTART", "SOLVEROUTPUTEND", "STATUSSTART", "STATUSEND",
01216 "SUBMITTIMESTART", "SUBMITTIMEEND", "SUBSTATUSSTART", "SUBSTATUSEND",
01217 "SYSTEMINFORMATIONSTART", "SYSTEMINFORMATIONEND", "TIMESTART", "TIMEEND",
01218 "TIMESERVICESTARTEDSTART", "TIMESERVICESTARTEDEND", "TIMESTAMPSTART",
01219 "TIMESTAMPEND", "TIMINGINFORMATIONSTART", "TIMINGINFORMATIONEND",
01220 "TOTALJOBSSOFARSTART", "TOTALJOBSSOFAREND", "USEDCPUNUMBERSTART",
01221 "USEDCPUNUMBEREND", "USEDCPUSPEEDSTART", "USEDCPUSPEEDEND",
01222 "USEDDISKSPACESTART", "USEDDISKSPACEEND", "USEDMEMORYSTART",
01223 "USEDMEMORYEND", "VALUESSTART", "VALUESEND", "VALUESSTRINGSTART",
01224 "VALUESSTRINGEND", "VARSTART", "VAREND", "VARIABLESSTART",
01225 "VARIABLESEND", "DUMMY", "' '", "'\\t'", "'\\r'", "'\\n'", "$accept",
01226 "osrldoc", "osrlStart", "osrlAttributes", "osrlContent", "osrlBody",
01227 "generalElement", "generalElementStart", "generalElementContent",
01228 "generalElementEmpty", "generalElementLaden", "generalElementBody",
01229 "generalElementList", "generalChild", "generalStatus",
01230 "generalStatusStart", "generalStatusAttributes", "generalStatusAttList",
01231 "generalStatusATT", "generalStatusContent", "generalStatusEmpty",
01232 "generalStatusLaden", "generalStatusBody", "generalSubstatusArray",
01233 "generalSubstatus", "generalSubstatusStart",
01234 "generalSubstatusAttributes", "generalSubstatusAttList",
01235 "generalSubstatusATT", "generalSubstatusEnd", "generalMessage",
01236 "generalMessageStart", "generalMessageContent", "generalMessageEmpty",
01237 "generalMessageLaden", "generalMessageBody", "serviceURI",
01238 "serviceURIStart", "serviceURIContent", "serviceURIEmpty",
01239 "serviceURILaden", "serviceURIBody", "serviceName", "serviceNameStart",
01240 "serviceNameContent", "serviceNameEmpty", "serviceNameLaden",
01241 "serviceNameBody", "instanceName", "instanceNameStart",
01242 "instanceNameContent", "instanceNameEmpty", "instanceNameLaden",
01243 "instanceNameBody", "jobID", "jobIDStart", "jobIDContent", "jobIDEmpty",
01244 "jobIDLaden", "jobIDBody", "solverInvoked", "solverInvokedStart",
01245 "solverInvokedContent", "solverInvokedEmpty", "solverInvokedLaden",
01246 "solverInvokedBody", "timeStamp", "timeStampStart", "timeStampContent",
01247 "timeStampEmpty", "timeStampLaden", "timeStampBody",
01248 "generalOtherResults", "generalOtherResultsStart",
01249 "generalOtherResultsAttributes", "generalOtherResultsContent",
01250 "generalOtherResultsEmpty", "generalOtherResultsLaden",
01251 "generalOtherResultsBody", "generalOtherResultArray",
01252 "generalOtherResult", "generalOtherResultStart",
01253 "generalOtherAttributes", "generalOtherAttList", "generalOtherAtt",
01254 "generalOtherEnd", "systemElement", "systemElementStart",
01255 "systemElementContent", "systemElementEmpty", "systemElementLaden",
01256 "systemElementBody", "systemElementList", "systemChild",
01257 "systemInformation", "systemInformationStart",
01258 "systemInformationContent", "systemInformationEmpty",
01259 "systemInformationLaden", "systemInformationBody", "availableDiskSpace",
01260 "availableDiskSpaceStart", "availableDiskSpaceAttributes",
01261 "availableDiskSpaceAttList", "availableDiskSpaceAtt",
01262 "availableDiskSpaceContent", "availableDiskSpaceValue",
01263 "availableMemory", "availableMemoryStart", "availableMemoryAttributes",
01264 "availableMemoryAttList", "availableMemoryAtt", "availableMemoryContent",
01265 "availableMemoryValue", "availableCPUSpeed", "availableCPUSpeedStart",
01266 "availableCPUSpeedAttributes", "availableCPUSpeedAttList",
01267 "availableCPUSpeedAtt", "availableCPUSpeedContent",
01268 "availableCPUSpeedValue", "availableCPUNumber",
01269 "availableCPUNumberStart", "availableCPUNumberAttributes",
01270 "availableCPUNumberContent", "availableCPUNumberValue",
01271 "systemOtherResults", "systemOtherResultsStart",
01272 "systemOtherResultsAttributes", "systemOtherResultsContent",
01273 "systemOtherResultsEmpty", "systemOtherResultsLaden",
01274 "systemOtherResultsBody", "systemOtherResultArray", "systemOtherResult",
01275 "systemOtherResultStart", "systemOtherAttributes", "systemOtherAttList",
01276 "systemOtherAtt", "systemOtherEnd", "serviceElement", "serviceContent",
01277 "serviceChild", "currentState", "currentStateStart",
01278 "currentStateContent", "currentStateEmpty", "currentStateLaden",
01279 "currentStateBody", "currentJobCount", "currentJobCountStart",
01280 "currentJobCountContent", "currentJobCountEmpty", "currentJobCountLaden",
01281 "currentJobCountBody", "totalJobsSoFar", "totalJobsSoFarStart",
01282 "totalJobsSoFarContent", "totalJobsSoFarEmpty", "totalJobsSoFarLaden",
01283 "totalJobsSoFarBody", "timeServiceStarted", "timeServiceStartedStart",
01284 "timeServiceStartedContent", "timeServiceStartedEmpty",
01285 "timeServiceStartedLaden", "timeServiceStartedBody",
01286 "serviceUtilization", "serviceUtilizationStart",
01287 "serviceUtilizationContent", "serviceUtilizationEmpty",
01288 "serviceUtilizationLaden", "serviceUtilizationBody",
01289 "serviceOtherResults", "serviceOtherResultsStart",
01290 "serviceOtherResultsAttributes", "serviceOtherResultsContent",
01291 "serviceOtherResultsEmpty", "serviceOtherResultsLaden",
01292 "serviceOtherResultsBody", "serviceOtherResultArray",
01293 "serviceOtherResult", "serviceOtherResultStart",
01294 "serviceOtherAttributes", "serviceOtherAttList", "serviceOtherAtt",
01295 "serviceOtherEnd", "jobElement", "jobContent", "jobChild", "jobStatus",
01296 "jobStatusStart", "jobStatusContent", "jobStatusEmpty", "jobStatusLaden",
01297 "jobStatusBody", "submitTime", "submitTimeStart", "submitTimeContent",
01298 "submitTimeEmpty", "submitTimeLaden", "submitTimeBody",
01299 "scheduledStartTime", "scheduledStartTimeStart",
01300 "scheduledStartTimeContent", "scheduledStartTimeEmpty",
01301 "scheduledStartTimeLaden", "scheduledStartTimeBody", "actualStartTime",
01302 "actualStartTimeStart", "actualStartTimeContent", "actualStartTimeEmpty",
01303 "actualStartTimeLaden", "actualStartTimeBody", "endTime", "endTimeStart",
01304 "endTimeContent", "endTimeEmpty", "endTimeLaden", "endTimeBody",
01305 "timingInformation", "timingInformationStart",
01306 "timingInformationAttributes", "timingInformationContent",
01307 "timingInformationEmpty", "timingInformationLaden",
01308 "timingInformationBody", "timeArray", "time", "timeStart",
01309 "timeAttributes", "timeAtt", "timeContent", "timeEmpty", "timeLaden",
01310 "timeBody", "timeValue", "usedDiskSpace", "usedDiskSpaceStart",
01311 "usedDiskSpaceAttributes", "usedDiskSpaceAttList", "usedDiskSpaceAtt",
01312 "usedDiskSpaceContent", "usedDiskSpaceValue", "usedMemory",
01313 "usedMemoryStart", "usedMemoryAttributes", "usedMemoryAttList",
01314 "usedMemoryAtt", "usedMemoryContent", "usedMemoryValue", "usedCPUSpeed",
01315 "usedCPUSpeedStart", "usedCPUSpeedAttributes", "usedCPUSpeedAttList",
01316 "usedCPUSpeedAtt", "usedCPUSpeedContent", "usedCPUSpeedValue",
01317 "usedCPUNumber", "usedCPUNumberStart", "usedCPUNumberAttributes",
01318 "usedCPUNumberContent", "usedCPUNumberValue", "jobOtherResults",
01319 "jobOtherResultsStart", "jobOtherResultsAttributes",
01320 "jobOtherResultsContent", "jobOtherResultsEmpty", "jobOtherResultsLaden",
01321 "jobOtherResultsBody", "jobOtherResultArray", "jobOtherResult",
01322 "jobOtherResultStart", "jobOtherAttributes", "jobOtherAttList",
01323 "jobOtherAtt", "jobOtherEnd", "optimizationElement", "optimizationStart",
01324 "optimizationAttributes", "optimizationAttList", "optimizationATT",
01325 "optimizationContent", "optimizationEmpty", "optimizationLaden",
01326 "optimizationBody", "solutionArray", "solution", "solutionStart",
01327 "solutionAttributes", "solutionAttList", "solutionATT",
01328 "targetObjectiveIdxATT", "weightedObjectivesATT", "solutionContent",
01329 "solutionStatus", "solutionStatusStart", "solutionStatusAttributes",
01330 "solutionStatusAttList", "solutionStatusATT", "solutionStatusContent",
01331 "solutionStatusEmpty", "solutionStatusLaden", "solutionStatusBody",
01332 "solutionSubstatusArray", "solutionSubstatus", "solutionSubstatusStart",
01333 "solutionSubstatusAttributes", "solutionSubstatusAttList",
01334 "solutionSubstatusATT", "solutionSubstatusEnd", "solutionMessage",
01335 "solutionMessageStart", "solutionMessageContent", "solutionMessageEmpty",
01336 "solutionMessageLaden", "solutionMessageBody", "variables",
01337 "variablesStart", "numberOfOtherVariableResults", "variablesContent",
01338 "variablesEmpty", "variablesLaden", "variablesBody", "variableValues",
01339 "variableValuesStart", "numberOfVarATT", "variableValuesContent",
01340 "variableValuesEmpty", "variableValuesLaden", "variableValuesBody",
01341 "varValueArray", "varValue", "varValueStart", "varIdxATT",
01342 "varValueContent", "varVal", "variableValuesString",
01343 "variableValuesStringStart", "numberOfVarStringATT",
01344 "variableValuesStringContent", "variableValuesStringEmpty",
01345 "variableValuesStringLaden", "variableValuesStringBody",
01346 "varValueStringArray", "varValueString", "varValueStringStart",
01347 "varStrIdxATT", "varValueStringContent", "varValueStringEmpty",
01348 "varValueStringLaden", "varValueStringBody", "basisStatus",
01349 "basisStatusStart", "numberOfBasisVarATT", "basisStatusContent",
01350 "basisStatusEmpty", "basisStatusLaden", "basisStatusBody",
01351 "basisVarArray", "basisVar", "basisVarStart", "basisVarIdxATT",
01352 "basisVarContent", "otherVariableResultsArray", "otherVariableResult",
01353 "otherVariableResultStart", "otherVariableResultAttributes",
01354 "otherVariableResultAttList", "otherVariableResultATT",
01355 "otherVariableResultContent", "otherVariableResultEmpty",
01356 "otherVariableResultLaden", "otherVariableResultBody", "otherVarList",
01357 "otherVar", "otherVarStart", "otherVarIdxATT", "otherVarContent",
01358 "otherVarEmpty", "otherVarLaden", "otherVarBody", "objectives",
01359 "objectivesStart", "numberOfOtherObjectiveResults", "objectivesContent",
01360 "objectivesEmpty", "objectivesLaden", "objectivesBody",
01361 "objectiveValues", "objectiveValuesStart", "numberOfObjATT",
01362 "objectiveValuesContent", "objectiveValuesEmpty", "objectiveValuesLaden",
01363 "objectiveValuesBody", "objValueArray", "objValue", "objValueStart",
01364 "objIdxATT", "objValueContent", "objVal", "otherObjectiveResultsArray",
01365 "otherObjectiveResult", "otherObjectiveResultStart",
01366 "otherObjectiveResultAttributes", "otherObjectiveResultAttList",
01367 "otherObjectiveResultATT", "otherObjectiveResultContent",
01368 "otherObjectiveResultEmpty", "otherObjectiveResultLaden",
01369 "otherObjectiveResultBody", "otherObjList", "otherObj", "otherObjStart",
01370 "otherObjIdxATT", "otherObjContent", "otherObjEmpty", "otherObjLaden",
01371 "otherObjBody", "constraints", "constraintsStart",
01372 "numberOfOtherConstraintResults", "constraintsContent",
01373 "constraintsEmpty", "constraintsLaden", "constraintsBody", "dualValues",
01374 "dualValuesStart", "numberOfConATT", "dualValuesContent",
01375 "dualValuesEmpty", "dualValuesLaden", "dualValuesBody", "dualValueArray",
01376 "dualValue", "dualValueStart", "conIdxATT", "dualVal",
01377 "otherConstraintResultsArray", "otherConstraintResult",
01378 "otherConstraintResultStart", "otherConstraintResultAttributes",
01379 "otherConstraintResultAttList", "otherConstraintResultATT",
01380 "otherConstraintResultContent", "otherConstraintResultEmpty",
01381 "otherConstraintResultLaden", "otherConstraintResultBody",
01382 "otherConList", "otherCon", "otherConStart", "otherConIdxATT",
01383 "otherConContent", "otherConEmpty", "otherConLaden", "otherConBody",
01384 "otherSolutionResults", "otherSolutionResultsStart",
01385 "numberOfOtherSolutionResults", "otherSolutionResultsContent",
01386 "otherSolutionResultsEmpty", "otherSolutionResultsLaden",
01387 "otherSolutionResultsBody", "otherSolutionResultArray",
01388 "otherSolutionResult", "otherSolutionResultStart",
01389 "otherSolutionResultAttributes", "otherSolutionResultAttList",
01390 "otherSolutionResultAtt", "otherSolutionResultContent",
01391 "otherSolutionResultEmpty", "otherSolutionResultLaden",
01392 "otherSolutionResultBody", "otherSolutionResultItemArray",
01393 "otherSolutionResultItem", "otherSolutionResultItemContent",
01394 "otherSolutionResultItemEmpty", "otherSolutionResultItemLaden",
01395 "otherSolutionResultItemBody", "otherSolverOutput",
01396 "otherSolverOutputStart", "numberOfSolverOutputsATT",
01397 "otherSolverOutputContent", "otherSolverOutputEmpty",
01398 "otherSolverOutputLaden", "otherSolverOutputBody", "solverOutputArray",
01399 "solverOutput", "solverOutputStart", "solverOutputAttributes",
01400 "solverOutputAttList", "solverOutputAtt", "solverOutputContent",
01401 "solverOutputEmpty", "solverOutputLaden", "solverOutputBody",
01402 "solverOutputItemArray", "solverOutputItem", "solverOutputItemContent",
01403 "solverOutputItemEmpty", "solverOutputItemBody", "categoryAttribute",
01404 "categoryAtt", "categoryAttEmpty", "categoryAttContent",
01405 "descriptionAttribute", "descriptionAtt", "descriptionAttEmpty",
01406 "descriptionAttContent", "nameAttribute", "nameAtt", "nameAttEmpty",
01407 "nameAttContent", "typeAttribute", "typeAtt", "typeAttEmpty",
01408 "typeAttContent", "unitAttribute", "unitAtt", "unitAttEmpty",
01409 "unitAttContent", "valueAttribute", "valueAtt", "valueAttEmpty",
01410 "valueAttContent", "numberOfOtherResultsAttribute",
01411 "numberOfSolutionsAttribute", "numberOfVariablesAttribute",
01412 "numberOfConstraintsAttribute", "numberOfObjectivesAttribute",
01413 "numberOfOtherVariableResultsAttribute",
01414 "numberOfOtherObjectiveResultsAttribute",
01415 "numberOfOtherConstraintResultsAttribute",
01416 "numberOfOtherSolutionResultsAttribute", "numberOfVarAttribute",
01417 "numberOfObjAttribute", "numberOfConAttribute", "numberOfTimesAttribute",
01418 "numberOfItemsAttribute", "numberOfSolverOutputsAttribute",
01419 "numberOfSubstatusesAttribute", "aNumber", "ElementValue", "quote",
01420 "xmlWhiteSpace", "xmlWhiteSpaceChar", 0
01421 };
01422 #endif
01423
01424 # ifdef YYPRINT
01425
01426
01427 static const yytype_uint16 yytoknum[] =
01428 {
01429 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
01430 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
01431 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
01432 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
01433 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
01434 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
01435 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
01436 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
01437 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
01438 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
01439 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
01440 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
01441 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
01442 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
01443 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
01444 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
01445 415, 416, 417, 418, 419, 32, 9, 13, 10
01446 };
01447 # endif
01448
01449
01450 static const yytype_uint16 yyr1[] =
01451 {
01452 0, 169, 170, 171, 172, 172, 173, 174, 175, 175,
01453 176, 177, 177, 178, 178, 179, 180, 181, 181, 182,
01454 182, 182, 182, 182, 182, 182, 182, 182, 183, 184,
01455 185, 186, 186, 187, 187, 187, 188, 188, 189, 189,
01456 190, 191, 192, 192, 193, 194, 195, 196, 196, 197,
01457 197, 198, 198, 199, 200, 201, 201, 202, 202, 203,
01458 204, 205, 206, 207, 207, 208, 208, 209, 210, 211,
01459 212, 213, 213, 214, 214, 215, 216, 217, 218, 219,
01460 219, 220, 220, 221, 222, 223, 224, 225, 225, 226,
01461 226, 227, 228, 229, 230, 231, 231, 232, 232, 233,
01462 234, 235, 236, 237, 237, 238, 238, 239, 240, 241,
01463 242, 243, 244, 244, 245, 245, 246, 247, 248, 248,
01464 249, 250, 251, 252, 252, 253, 253, 253, 254, 254,
01465 255, 255, 256, 257, 257, 258, 258, 259, 260, 261,
01466 261, 262, 262, 262, 262, 262, 262, 263, 264, 265,
01467 265, 266, 266, 267, 268, 269, 270, 271, 272, 272,
01468 273, 273, 274, 275, 276, 277, 278, 279, 279, 280,
01469 280, 281, 282, 283, 284, 285, 286, 286, 287, 287,
01470 288, 289, 290, 291, 292, 292, 293, 294, 295, 296,
01471 297, 298, 298, 299, 299, 300, 301, 302, 302, 303,
01472 304, 305, 306, 306, 307, 307, 307, 308, 308, 309,
01473 309, 309, 310, 310, 311, 311, 311, 311, 311, 311,
01474 312, 313, 314, 314, 315, 315, 316, 317, 318, 319,
01475 320, 320, 321, 321, 322, 323, 324, 325, 326, 326,
01476 327, 327, 328, 329, 330, 331, 332, 332, 333, 333,
01477 334, 335, 336, 337, 338, 338, 339, 339, 340, 341,
01478 342, 343, 344, 345, 345, 346, 346, 347, 348, 349,
01479 349, 350, 351, 352, 353, 353, 354, 354, 354, 355,
01480 355, 356, 356, 356, 357, 357, 358, 358, 358, 358,
01481 358, 358, 358, 358, 358, 358, 358, 359, 360, 361,
01482 361, 362, 362, 363, 364, 365, 366, 367, 367, 368,
01483 368, 369, 370, 371, 372, 373, 373, 374, 374, 375,
01484 376, 377, 378, 379, 379, 380, 380, 381, 382, 383,
01485 384, 385, 385, 386, 386, 387, 388, 389, 390, 391,
01486 392, 392, 393, 393, 394, 395, 396, 396, 397, 398,
01487 399, 399, 400, 400, 400, 400, 401, 401, 402, 402,
01488 403, 404, 405, 405, 406, 407, 408, 409, 409, 410,
01489 410, 411, 412, 413, 414, 415, 416, 416, 417, 417,
01490 418, 419, 420, 421, 422, 423, 423, 424, 424, 425,
01491 426, 427, 428, 429, 429, 430, 431, 432, 433, 434,
01492 435, 435, 436, 436, 437, 438, 439, 439, 440, 441,
01493 442, 443, 443, 444, 444, 444, 445, 445, 446, 446,
01494 447, 448, 449, 449, 450, 450, 450, 450, 451, 451,
01495 452, 452, 453, 454, 455, 455, 456, 457, 458, 459,
01496 459, 460, 460, 461, 462, 463, 464, 465, 466, 467,
01497 467, 468, 468, 468, 469, 469, 470, 470, 471, 472,
01498 473, 473, 474, 475, 476, 477, 477, 478, 478, 479,
01499 479, 480, 480, 481, 482, 482, 483, 483, 484, 485,
01500 486, 486, 487, 488, 488, 489, 489, 490, 491, 492,
01501 493, 493, 494, 495, 496, 496, 497, 497, 498, 499,
01502 500, 500, 501, 502, 503, 504, 505, 505, 506, 506,
01503 507, 508, 509, 509, 510, 510, 511, 512, 513, 513,
01504 514, 515, 516, 517, 517, 518, 518, 519, 520, 521,
01505 521, 522, 523, 524, 524, 525, 525, 526, 527, 528,
01506 528, 529, 530, 531, 532, 533, 533, 534, 535, 536,
01507 537, 537, 538, 538, 538, 538, 539, 539, 540, 540,
01508 541, 542, 543, 543, 544, 545, 546, 547, 547, 548,
01509 548, 549, 550, 551, 551, 552, 553, 553, 554, 554,
01510 555, 556, 557, 558, 558, 559, 560, 561, 561, 562,
01511 562, 563, 564, 565, 565, 566, 567, 568, 568, 569,
01512 570, 570, 571, 571, 572, 573, 574, 575, 575, 576,
01513 576, 576, 576, 577, 577, 578, 578, 579, 580, 581,
01514 581, 582, 583, 584, 585, 585, 586, 586, 587, 588,
01515 589, 589, 590, 591, 591, 592, 592, 593, 594, 595,
01516 596, 596, 597, 598, 599, 599, 600, 600, 601, 602,
01517 603, 603, 604, 605, 606, 607, 607, 608, 608, 609,
01518 610, 611, 612, 612, 613, 613, 613, 613, 614, 614,
01519 615, 615, 616, 617, 618, 618, 619, 620, 621, 622,
01520 622, 623, 623, 624, 625, 626, 626, 627, 628, 629,
01521 629, 630, 630, 631, 632, 633, 633, 634, 635, 636,
01522 637, 637, 638, 638, 638, 638, 639, 639, 640, 640,
01523 641, 642, 643, 643, 644, 645, 645, 646, 646, 647,
01524 648, 649, 649, 650, 651, 652, 652, 653, 653, 654,
01525 655, 656, 656, 657, 658, 659, 660, 660, 661, 661,
01526 661, 661, 662, 662, 663, 663, 664, 665, 666, 666,
01527 667, 668, 668, 669, 669, 670, 671, 672, 672, 673,
01528 674, 675, 676, 676, 677, 678, 679, 680, 680, 681,
01529 682, 683, 684, 684, 685, 686, 687, 688, 688, 689,
01530 690, 691, 692, 692, 693, 694, 695, 696, 697, 698,
01531 699, 700, 701, 702, 703, 704, 705, 706, 707, 708,
01532 709, 710, 711, 711, 712, 712, 712, 713, 714, 714,
01533 715, 715, 715, 715
01534 };
01535
01536
01537 static const yytype_uint8 yyr2[] =
01538 {
01539 0, 2, 3, 1, 0, 1, 3, 5, 0, 2,
01540 1, 1, 1, 2, 1, 3, 1, 1, 2, 1,
01541 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
01542 1, 1, 2, 1, 1, 1, 1, 1, 2, 1,
01543 3, 1, 1, 2, 3, 1, 1, 0, 2, 1,
01544 1, 2, 1, 2, 1, 1, 1, 2, 1, 3,
01545 1, 2, 1, 1, 1, 2, 1, 3, 1, 2,
01546 1, 1, 1, 2, 1, 3, 1, 2, 1, 1,
01547 1, 2, 1, 3, 1, 2, 1, 1, 1, 2,
01548 1, 3, 1, 2, 1, 1, 1, 2, 1, 3,
01549 1, 2, 1, 1, 1, 2, 1, 3, 1, 3,
01550 1, 1, 1, 1, 2, 1, 3, 1, 1, 2,
01551 3, 1, 1, 0, 2, 1, 1, 1, 2, 1,
01552 0, 2, 1, 1, 1, 2, 1, 3, 1, 1,
01553 2, 1, 1, 1, 1, 1, 1, 2, 1, 1,
01554 1, 2, 1, 3, 1, 3, 1, 1, 0, 2,
01555 1, 1, 3, 1, 3, 1, 1, 0, 2, 1,
01556 1, 3, 1, 3, 1, 1, 0, 2, 1, 1,
01557 3, 1, 3, 1, 0, 1, 3, 1, 3, 1,
01558 1, 1, 1, 2, 1, 3, 1, 1, 2, 3,
01559 1, 1, 0, 2, 1, 1, 1, 2, 1, 0,
01560 2, 4, 0, 2, 1, 1, 1, 1, 1, 1,
01561 2, 1, 1, 1, 2, 1, 3, 1, 2, 1,
01562 1, 1, 2, 1, 3, 1, 2, 1, 1, 1,
01563 2, 1, 3, 1, 2, 1, 1, 1, 2, 1,
01564 3, 1, 2, 1, 1, 1, 2, 1, 3, 1,
01565 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
01566 2, 3, 1, 1, 0, 2, 1, 1, 1, 2,
01567 1, 0, 2, 4, 0, 2, 1, 1, 1, 1,
01568 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
01569 1, 2, 1, 3, 1, 2, 1, 1, 1, 2,
01570 1, 3, 1, 2, 1, 1, 1, 2, 1, 3,
01571 1, 2, 1, 1, 1, 2, 1, 3, 1, 2,
01572 1, 1, 1, 2, 1, 3, 1, 3, 1, 1,
01573 1, 1, 2, 1, 3, 1, 1, 2, 3, 1,
01574 0, 2, 1, 1, 1, 1, 1, 1, 2, 1,
01575 3, 1, 1, 1, 3, 1, 1, 0, 2, 1,
01576 1, 3, 1, 3, 1, 1, 0, 2, 1, 1,
01577 3, 1, 3, 1, 1, 0, 2, 1, 1, 3,
01578 1, 3, 1, 0, 1, 3, 1, 3, 1, 1,
01579 1, 1, 2, 1, 3, 1, 1, 2, 3, 1,
01580 1, 0, 2, 1, 1, 1, 2, 1, 0, 3,
01581 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
01582 2, 1, 3, 2, 1, 2, 3, 1, 1, 0,
01583 2, 1, 1, 4, 3, 8, 3, 1, 1, 1,
01584 2, 1, 1, 1, 1, 1, 2, 1, 3, 1,
01585 1, 2, 3, 1, 1, 0, 2, 1, 1, 2,
01586 1, 0, 2, 1, 1, 1, 2, 1, 3, 1,
01587 0, 3, 1, 0, 1, 1, 1, 1, 3, 4,
01588 0, 3, 1, 1, 1, 1, 2, 1, 3, 1,
01589 1, 2, 3, 1, 4, 3, 1, 1, 0, 3,
01590 1, 1, 1, 1, 2, 1, 3, 1, 1, 2,
01591 3, 1, 4, 1, 1, 2, 1, 3, 1, 0,
01592 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
01593 2, 3, 1, 4, 3, 0, 2, 3, 1, 1,
01594 0, 2, 1, 1, 1, 1, 1, 1, 2, 1,
01595 3, 1, 1, 2, 3, 1, 4, 1, 1, 2,
01596 1, 3, 1, 0, 3, 1, 0, 1, 1, 1,
01597 1, 3, 2, 0, 3, 1, 1, 1, 1, 2,
01598 1, 3, 1, 1, 2, 3, 1, 0, 4, 3,
01599 1, 1, 0, 2, 3, 1, 1, 0, 2, 1,
01600 1, 1, 1, 1, 1, 2, 1, 3, 1, 1,
01601 2, 3, 1, 4, 1, 1, 2, 1, 3, 1,
01602 0, 3, 1, 0, 1, 1, 1, 1, 3, 2,
01603 0, 3, 1, 1, 1, 1, 2, 1, 3, 1,
01604 1, 2, 5, 1, 4, 1, 1, 0, 2, 3,
01605 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
01606 2, 1, 3, 1, 1, 2, 3, 1, 4, 1,
01607 1, 2, 1, 3, 1, 0, 3, 1, 1, 1,
01608 1, 2, 1, 3, 1, 1, 2, 3, 1, 1,
01609 0, 2, 1, 1, 1, 1, 1, 1, 2, 1,
01610 3, 1, 1, 2, 1, 1, 1, 1, 1, 3,
01611 1, 0, 3, 1, 1, 1, 1, 2, 1, 3,
01612 1, 1, 2, 3, 1, 1, 0, 2, 1, 1,
01613 1, 1, 1, 1, 2, 1, 3, 1, 1, 2,
01614 1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
01615 3, 1, 1, 1, 1, 3, 1, 1, 1, 1,
01616 3, 1, 1, 1, 1, 3, 1, 1, 1, 1,
01617 3, 1, 1, 1, 1, 3, 4, 4, 4, 4,
01618 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
01619 4, 4, 1, 1, 1, 1, 1, 2, 0, 2,
01620 1, 1, 1, 1
01621 };
01622
01623
01624
01625
01626 static const yytype_uint16 yydefact[] =
01627 {
01628 0, 3, 0, 4, 1, 5, 0, 8, 2, 10,
01629 0, 130, 0, 6, 132, 209, 0, 0, 14, 9,
01630 11, 12, 0, 281, 0, 136, 131, 133, 134, 13,
01631 29, 78, 86, 54, 110, 70, 62, 94, 102, 0,
01632 16, 17, 19, 0, 20, 0, 21, 0, 22, 0,
01633 23, 0, 24, 0, 25, 0, 26, 0, 27, 0,
01634 212, 210, 0, 418, 135, 183, 174, 156, 165, 189,
01635 148, 0, 138, 139, 141, 0, 142, 158, 143, 167,
01636 144, 176, 145, 184, 146, 0, 15, 18, 808, 0,
01637 764, 0, 774, 0, 30, 31, 34, 761, 762, 763,
01638 33, 771, 772, 773, 35, 0, 58, 53, 55, 56,
01639 0, 66, 61, 63, 64, 0, 74, 69, 71, 72,
01640 0, 82, 77, 79, 80, 0, 90, 85, 87, 88,
01641 0, 98, 93, 95, 96, 0, 106, 101, 103, 104,
01642 808, 0, 111, 0, 284, 282, 420, 7, 422, 137,
01643 140, 0, 152, 147, 149, 150, 0, 157, 0, 166,
01644 0, 175, 0, 185, 0, 190, 0, 0, 808, 808,
01645 0, 39, 28, 36, 37, 32, 60, 57, 0, 68,
01646 65, 0, 76, 73, 0, 84, 81, 0, 92, 89,
01647 0, 100, 97, 0, 108, 105, 0, 0, 0, 115,
01648 109, 112, 113, 211, 229, 221, 261, 253, 245, 237,
01649 213, 214, 0, 215, 0, 216, 0, 217, 0, 218,
01650 0, 219, 0, 0, 0, 421, 154, 151, 0, 0,
01651 155, 0, 779, 159, 161, 160, 776, 777, 778, 0,
01652 164, 168, 170, 169, 0, 173, 177, 179, 178, 0,
01653 182, 0, 194, 188, 191, 192, 808, 807, 810, 811,
01654 812, 813, 809, 765, 775, 38, 45, 0, 41, 42,
01655 47, 59, 67, 75, 83, 91, 99, 107, 808, 121,
01656 114, 0, 117, 118, 123, 0, 225, 220, 222, 223,
01657 0, 233, 228, 230, 231, 0, 241, 236, 238, 239,
01658 0, 249, 244, 246, 247, 0, 257, 252, 254, 255,
01659 0, 262, 283, 322, 330, 398, 314, 298, 306, 338,
01660 392, 383, 365, 374, 285, 286, 0, 287, 0, 288,
01661 0, 289, 0, 290, 0, 291, 0, 292, 367, 293,
01662 376, 294, 385, 295, 393, 296, 0, 0, 431, 419,
01663 428, 429, 808, 808, 808, 808, 423, 424, 425, 426,
01664 427, 153, 802, 803, 0, 163, 808, 0, 172, 0,
01665 181, 187, 0, 200, 193, 0, 196, 197, 202, 801,
01666 40, 43, 0, 46, 786, 116, 119, 0, 122, 227,
01667 224, 0, 235, 232, 0, 243, 240, 0, 251, 248,
01668 0, 256, 0, 259, 0, 266, 260, 263, 264, 0,
01669 302, 297, 299, 300, 0, 310, 305, 307, 308, 0,
01670 318, 313, 315, 316, 0, 326, 321, 323, 324, 0,
01671 334, 329, 331, 332, 808, 0, 339, 0, 366, 0,
01672 375, 0, 384, 0, 394, 0, 399, 430, 437, 0,
01673 721, 434, 439, 0, 0, 0, 0, 162, 780, 171,
01674 180, 186, 195, 198, 0, 201, 0, 52, 44, 0,
01675 769, 48, 50, 49, 766, 767, 768, 0, 129, 120,
01676 0, 784, 124, 127, 125, 126, 781, 782, 783, 226,
01677 234, 242, 250, 258, 272, 265, 0, 268, 269, 274,
01678 304, 301, 0, 312, 309, 0, 320, 317, 0, 328,
01679 325, 0, 336, 333, 0, 0, 0, 343, 337, 340,
01680 341, 0, 364, 368, 370, 369, 0, 373, 377, 379,
01681 378, 0, 382, 386, 388, 387, 0, 391, 0, 403,
01682 397, 400, 401, 432, 723, 435, 433, 0, 0, 438,
01683 808, 808, 808, 808, 0, 208, 199, 203, 206, 204,
01684 205, 51, 808, 128, 808, 267, 270, 0, 273, 303,
01685 311, 319, 327, 335, 808, 349, 342, 0, 345, 346,
01686 350, 0, 372, 0, 381, 0, 390, 396, 0, 409,
01687 402, 0, 405, 406, 411, 808, 0, 724, 0, 436,
01688 808, 0, 440, 441, 442, 789, 790, 787, 788, 207,
01689 770, 785, 0, 280, 271, 275, 278, 276, 277, 798,
01690 344, 347, 0, 371, 380, 389, 395, 404, 407, 0,
01691 410, 0, 0, 728, 722, 725, 726, 447, 471, 0,
01692 0, 808, 279, 0, 359, 0, 759, 351, 348, 356,
01693 357, 354, 756, 757, 758, 355, 353, 352, 0, 417,
01694 408, 412, 415, 413, 414, 808, 727, 734, 0, 730,
01695 731, 736, 473, 480, 0, 0, 448, 449, 452, 451,
01696 453, 808, 444, 363, 362, 358, 0, 361, 808, 416,
01697 800, 729, 732, 0, 735, 482, 573, 483, 0, 477,
01698 472, 474, 475, 0, 457, 446, 454, 455, 450, 443,
01699 360, 760, 0, 745, 733, 742, 743, 808, 737, 739,
01700 740, 738, 741, 575, 630, 576, 808, 0, 484, 479,
01701 476, 0, 456, 463, 0, 459, 460, 465, 0, 753,
01702 754, 744, 0, 747, 748, 750, 751, 752, 0, 632,
01703 685, 633, 808, 0, 577, 0, 490, 487, 481, 485,
01704 486, 478, 458, 461, 0, 464, 0, 746, 749, 808,
01705 687, 0, 0, 808, 0, 634, 0, 583, 580, 574,
01706 578, 579, 808, 492, 0, 508, 0, 0, 470, 462,
01707 466, 468, 467, 755, 799, 445, 808, 0, 688, 0,
01708 640, 637, 631, 635, 636, 808, 585, 0, 602, 0,
01709 791, 488, 510, 529, 0, 808, 0, 493, 469, 0,
01710 0, 692, 686, 689, 690, 808, 642, 0, 657, 0,
01711 792, 581, 582, 808, 0, 586, 531, 545, 0, 0,
01712 511, 0, 0, 497, 491, 494, 495, 808, 698, 691,
01713 0, 694, 695, 700, 793, 638, 639, 808, 0, 643,
01714 605, 603, 607, 0, 0, 590, 584, 587, 588, 489,
01715 0, 532, 0, 515, 509, 512, 513, 808, 496, 503,
01716 0, 499, 500, 0, 794, 693, 696, 0, 699, 660,
01717 658, 662, 0, 0, 647, 641, 644, 645, 0, 606,
01718 808, 596, 589, 0, 592, 593, 597, 548, 546, 550,
01719 0, 536, 530, 533, 534, 514, 521, 0, 517, 518,
01720 0, 795, 498, 501, 808, 0, 0, 709, 697, 706,
01721 707, 701, 703, 704, 702, 705, 0, 661, 808, 653,
01722 646, 0, 649, 650, 0, 0, 616, 604, 613, 614,
01723 608, 612, 611, 610, 609, 796, 591, 594, 808, 0,
01724 0, 549, 535, 542, 0, 538, 539, 0, 516, 519,
01725 808, 0, 0, 0, 502, 0, 717, 718, 708, 0,
01726 711, 712, 714, 715, 716, 0, 671, 659, 668, 669,
01727 663, 667, 666, 665, 664, 797, 648, 651, 808, 0,
01728 622, 615, 0, 618, 619, 0, 0, 0, 595, 0,
01729 559, 547, 556, 557, 551, 555, 554, 553, 552, 537,
01730 540, 808, 0, 0, 0, 526, 520, 523, 524, 808,
01731 506, 507, 0, 720, 0, 710, 713, 677, 670, 0,
01732 673, 674, 0, 0, 0, 617, 620, 808, 0, 808,
01733 600, 601, 0, 558, 565, 0, 561, 562, 0, 0,
01734 0, 541, 808, 528, 525, 0, 504, 505, 719, 672,
01735 675, 808, 0, 808, 655, 656, 0, 0, 0, 627,
01736 621, 624, 625, 598, 599, 560, 563, 808, 0, 808,
01737 0, 522, 527, 0, 0, 682, 676, 679, 680, 654,
01738 652, 808, 804, 805, 806, 626, 0, 629, 0, 0,
01739 570, 564, 567, 568, 543, 544, 808, 681, 0, 684,
01740 623, 628, 808, 569, 0, 572, 678, 683, 566, 571
01741 };
01742
01743
01744 static const yytype_int16 yydefgoto[] =
01745 {
01746 -1, 2, 3, 6, 8, 10, 11, 12, 19, 20,
01747 21, 39, 40, 41, 42, 43, 93, 94, 95, 172,
01748 173, 174, 267, 268, 269, 270, 382, 383, 471, 468,
01749 44, 45, 107, 108, 109, 178, 46, 47, 112, 113,
01750 114, 181, 48, 49, 117, 118, 119, 184, 50, 51,
01751 122, 123, 124, 187, 52, 53, 127, 128, 129, 190,
01752 54, 55, 132, 133, 134, 193, 56, 57, 137, 138,
01753 139, 196, 58, 59, 141, 200, 201, 202, 281, 282,
01754 283, 284, 387, 388, 482, 479, 15, 16, 26, 27,
01755 28, 71, 72, 73, 74, 75, 153, 154, 155, 228,
01756 76, 77, 156, 157, 233, 230, 364, 78, 79, 158,
01757 159, 241, 240, 367, 80, 81, 160, 161, 246, 245,
01758 369, 82, 83, 162, 250, 372, 84, 85, 164, 253,
01759 254, 255, 375, 376, 377, 378, 464, 465, 557, 556,
01760 23, 143, 210, 211, 212, 287, 288, 289, 391, 213,
01761 214, 292, 293, 294, 394, 215, 216, 297, 298, 299,
01762 397, 217, 218, 302, 303, 304, 400, 219, 220, 307,
01763 308, 309, 402, 221, 222, 310, 406, 407, 408, 496,
01764 497, 498, 499, 567, 568, 615, 614, 63, 223, 324,
01765 325, 326, 411, 412, 413, 502, 327, 328, 416, 417,
01766 418, 505, 329, 330, 421, 422, 423, 508, 331, 332,
01767 426, 427, 428, 511, 333, 334, 431, 432, 433, 514,
01768 335, 336, 435, 518, 519, 520, 577, 578, 579, 580,
01769 622, 647, 648, 649, 650, 686, 687, 337, 338, 437,
01770 438, 523, 522, 581, 339, 340, 439, 440, 528, 527,
01771 583, 341, 342, 441, 442, 533, 532, 585, 343, 344,
01772 443, 537, 588, 345, 346, 445, 540, 541, 542, 591,
01773 592, 593, 594, 629, 630, 661, 660, 147, 148, 224,
01774 225, 356, 349, 350, 351, 449, 450, 451, 452, 548,
01775 549, 602, 603, 604, 599, 638, 639, 675, 676, 677,
01776 705, 706, 707, 734, 735, 736, 737, 764, 765, 790,
01777 789, 673, 674, 700, 701, 702, 731, 696, 697, 727,
01778 758, 759, 760, 784, 785, 786, 816, 844, 845, 846,
01779 880, 881, 882, 883, 925, 974, 1032, 813, 814, 839,
01780 874, 875, 876, 917, 918, 919, 920, 971, 1026, 1027,
01781 1028, 1065, 837, 838, 870, 912, 913, 914, 964, 965,
01782 966, 967, 1022, 1061, 869, 908, 909, 960, 961, 1014,
01783 1011, 1012, 1013, 1055, 1056, 1057, 1058, 1088, 1111, 1112,
01784 1113, 1124, 724, 725, 753, 779, 780, 781, 807, 808,
01785 809, 834, 866, 867, 868, 903, 904, 905, 906, 959,
01786 1008, 1052, 832, 861, 862, 898, 899, 950, 947, 948,
01787 949, 1002, 1003, 1004, 1005, 1048, 1080, 1081, 1082, 1106,
01788 750, 751, 774, 802, 803, 804, 827, 828, 829, 858,
01789 895, 896, 897, 941, 942, 943, 944, 999, 1076, 856,
01790 890, 891, 936, 937, 990, 987, 988, 989, 1039, 1040,
01791 1041, 1042, 1072, 1096, 1097, 1098, 1118, 771, 772, 797,
01792 822, 823, 824, 850, 851, 852, 853, 887, 888, 931,
01793 928, 929, 930, 979, 980, 981, 982, 983, 984, 1034,
01794 546, 547, 596, 634, 635, 636, 668, 669, 670, 671,
01795 693, 694, 718, 714, 715, 716, 742, 743, 744, 745,
01796 746, 747, 651, 652, 653, 654, 96, 97, 98, 99,
01797 473, 474, 475, 476, 100, 101, 102, 103, 235, 236,
01798 237, 238, 485, 486, 487, 488, 142, 357, 358, 359,
01799 360, 728, 754, 775, 798, 817, 835, 859, 436, 722,
01800 597, 104, 365, 1107, 166, 167, 262
01801 };
01802
01803
01804
01805 #define YYPACT_NINF -1035
01806 static const yytype_int16 yypact[] =
01807 {
01808 48, -1035, 58, 67, -1035, -1035, 108, 76, -1035, -1035,
01809 111, 114, 59, -1035, -1035, 129, 163, -6, -1035, -1035,
01810 -1035, -1035, 186, 135, -11, -1035, -1035, -1035, -1035, -1035,
01811 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 134,
01812 90, -1035, -1035, 263, -1035, 214, -1035, 237, -1035, 301,
01813 -1035, 312, -1035, 314, -1035, 316, -1035, 318, -1035, 190,
01814 -1035, -1035, 320, 155, -1035, -1035, -1035, -1035, -1035, -1035,
01815 -1035, 140, 95, -1035, -1035, 322, -1035, -1035, -1035, -1035,
01816 -1035, -1035, -1035, 68, -1035, 190, -1035, -1035, -1035, 230,
01817 -1035, 253, -1035, 324, 263, -1035, -1035, -1035, -1035, -1035,
01818 -1035, -1035, -1035, -1035, -1035, 38, -1035, -1035, -1035, -1035,
01819 22, -1035, -1035, -1035, -1035, 23, -1035, -1035, -1035, -1035,
01820 41, -1035, -1035, -1035, -1035, 44, -1035, -1035, -1035, -1035,
01821 21, -1035, -1035, -1035, -1035, 9, -1035, -1035, -1035, -1035,
01822 -1035, 326, -1035, -14, -1035, -1035, -1035, -1035, -1035, -1035,
01823 -1035, 20, -1035, -1035, -1035, -1035, 219, 203, 255, 203,
01824 262, 203, 268, -1035, 328, -1035, 217, 2, -1035, -1035,
01825 -27, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 193, -1035,
01826 -1035, 176, -1035, -1035, 165, -1035, -1035, 209, -1035, -1035,
01827 222, -1035, -1035, 229, -1035, -1035, 177, 353, -13, -1035,
01828 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01829 -1035, -1035, 330, -1035, 332, -1035, 334, -1035, 336, -1035,
01830 338, -1035, 190, -21, 340, 264, -1035, -1035, 224, 346,
01831 -1035, 360, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 346,
01832 -1035, -1035, -1035, -1035, 346, -1035, -1035, -1035, -1035, 427,
01833 -1035, 79, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01834 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 362, 289, -1035,
01835 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01836 -1035, 335, 348, -1035, -1035, 45, -1035, -1035, -1035, -1035,
01837 65, -1035, -1035, -1035, -1035, 6, -1035, -1035, -1035, -1035,
01838 14, -1035, -1035, -1035, -1035, 24, -1035, -1035, -1035, -1035,
01839 344, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01840 -1035, -1035, -1035, -1035, -1035, -1035, 347, -1035, 355, -1035,
01841 357, -1035, 359, -1035, 361, -1035, 428, -1035, -1035, -1035,
01842 -1035, -1035, -1035, -1035, 68, -1035, 190, -7, -1035, -1035,
01843 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01844 -1035, -1035, -1035, -1035, 383, -1035, -1035, 385, -1035, 391,
01845 -1035, -1035, 397, -1035, -1035, 350, 351, -1035, -1035, -1035,
01846 -1035, -1035, 363, 172, -1035, -1035, -1035, 365, 274, -1035,
01847 -1035, 381, -1035, -1035, 387, -1035, -1035, 319, -1035, -1035,
01848 329, -1035, 349, -1035, 151, -1035, -1035, -1035, -1035, 19,
01849 -1035, -1035, -1035, -1035, 16, -1035, -1035, -1035, -1035, 28,
01850 -1035, -1035, -1035, -1035, 47, -1035, -1035, -1035, -1035, 57,
01851 -1035, -1035, -1035, -1035, -1035, 367, -1035, 451, 203, 453,
01852 203, 457, 203, 459, -1035, 369, -1035, -1035, -1035, 414,
01853 -50, -1035, -1035, 468, 469, 470, 471, -1035, -1035, -1035,
01854 -1035, -1035, -1035, -1035, 371, 274, 343, -1035, -1035, 476,
01855 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 374, -1035, -1035,
01856 477, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01857 -1035, -1035, -1035, -1035, -1035, -1035, 376, 377, -1035, -1035,
01858 -1035, -1035, 356, -1035, -1035, 358, -1035, -1035, 372, -1035,
01859 -1035, 423, -1035, -1035, 395, 478, -47, -1035, -1035, -1035,
01860 -1035, 346, -1035, -1035, -1035, -1035, 346, -1035, -1035, -1035,
01861 -1035, 346, -1035, -1035, -1035, -1035, 482, -1035, 173, -1035,
01862 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 472, 483, 35,
01863 -1035, -1035, -1035, -1035, 389, -1035, -1035, -1035, -1035, -1035,
01864 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 373, 274, -1035,
01865 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 354, 364, -1035,
01866 -1035, 339, -1035, 345, -1035, 352, -1035, -1035, 366, -1035,
01867 -1035, 399, 400, -1035, -1035, -1035, 375, -1035, 368, -1035,
01868 -1035, 491, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01869 -1035, -1035, 402, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01870 -1035, -1035, 207, -1035, -1035, -1035, -1035, -1035, -1035, 378,
01871 274, 498, -48, -1035, -1035, -1035, -1035, -1035, 409, 263,
01872 504, -1035, -1035, 15, -1035, 508, -1035, -1035, -1035, -1035,
01873 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 405, -1035,
01874 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 401, 393,
01875 -1035, -1035, -1035, 370, 380, 382, 263, -1035, -1035, -1035,
01876 -1035, -1035, -1035, -1035, -1035, -1035, 403, -1035, -1035, -1035,
01877 -1035, -1035, -1035, 384, 220, -1035, 413, 493, 40, -1035,
01878 -1035, -1035, -1035, 158, -1035, -1035, -1035, -1035, -1035, -1035,
01879 -1035, -1035, 61, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01880 -1035, -1035, -1035, -1035, 441, 499, -1035, 386, -1035, -1035,
01881 -1035, 425, -1035, -1035, 407, 411, -1035, -1035, 515, -1035,
01882 -1035, -1035, 410, 213, -1035, -1035, -1035, -1035, 517, -1035,
01883 412, 509, -1035, 388, -1035, 521, 379, -1035, -1035, -1035,
01884 -1035, -1035, -1035, -1035, 390, 226, 474, -1035, -1035, -1035,
01885 -1035, 418, 510, -1035, 392, -1035, 522, 416, -1035, -1035,
01886 -1035, -1035, -1035, -1035, 420, 424, 503, 422, -1035, -1035,
01887 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 394, -1035, 525,
01888 450, -1035, -1035, -1035, -1035, -1035, -1035, 445, -1035, 532,
01889 -1035, -1035, -1035, 464, 503, -1035, 396, -1035, -1035, 531,
01890 206, -1035, -1035, -1035, -1035, -1035, -1035, 461, -1035, 537,
01891 -1035, -1035, 444, -1035, 398, -1035, -1035, -1035, 503, 404,
01892 -1035, 545, 161, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01893 440, 448, -1035, -1035, -1035, -1035, 449, -1035, 406, -1035,
01894 -1035, -1035, -1035, 548, -42, -1035, -1035, -1035, -1035, 454,
01895 408, -1035, 261, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01896 430, 429, -1035, 530, -1035, -1035, -1035, 415, 220, -1035,
01897 -1035, -1035, 556, 0, -1035, -1035, -1035, -1035, 417, 160,
01898 -1035, -1035, -1035, 431, 465, -1035, 535, -1035, -1035, -1035,
01899 -19, -1035, -1035, -1035, -1035, -1035, -1035, 433, 442, -1035,
01900 536, -1035, -1035, -1035, -1035, 557, 119, -1035, -1035, -1035,
01901 -1035, -1035, -1035, -1035, -1035, -1035, 419, 187, -1035, -1035,
01902 -1035, 481, 492, -1035, 540, 53, -1035, -1035, -1035, -1035,
01903 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 560,
01904 421, 235, -1035, -1035, 500, 443, -1035, 542, -1035, -1035,
01905 -1035, 426, 568, 432, -1035, 570, -1035, -1035, -1035, 467,
01906 243, -1035, -1035, -1035, -1035, -29, -1035, -1035, -1035, -1035,
01907 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 566,
01908 -1035, -1035, 484, 486, -1035, 550, 575, 434, -1035, -61,
01909 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01910 -1035, -1035, 580, 579, 11, -1035, -1035, -1035, -1035, -1035,
01911 -1035, -1035, 438, -1035, 534, -1035, -1035, -1035, -1035, 487,
01912 519, -1035, 567, 591, 436, -1035, -1035, -1035, 435, -1035,
01913 -1035, -1035, 501, -1035, -1035, 494, 446, -1035, 576, 598,
01914 603, -1035, -1035, -1035, -1035, 447, -1035, -1035, -1035, -1035,
01915 -1035, -1035, 437, -1035, -1035, -1035, 533, 605, 31, -1035,
01916 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 439, -1035,
01917 452, -1035, -1035, 608, 99, -1035, -1035, -1035, -1035, -1035,
01918 -1035, -1035, -1035, -1035, -1035, -1035, 516, -1035, 611, 10,
01919 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 541, -1035,
01920 -1035, -1035, -1035, -1035, 458, -1035, -1035, -1035, -1035, -1035
01921 };
01922
01923
01924 static const yytype_int16 yypgoto[] =
01925 {
01926 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01927 -1035, -1035, -1035, 569, -1035, -1035, -1035, -1035, 526, -1035,
01928 -1035, -1035, -1035, -1035, 455, -1035, -1035, -1035, -1035, -1035,
01929 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01930 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01931 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01932 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01933 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01934 341, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01935 -1035, -1035, -1035, 549, -1035, -1035, -1035, -1035, -1035, -1035,
01936 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01937 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01938 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01939 -1035, -1035, -1035, -1035, 246, -1035, -1035, -1035, -1035, -1035,
01940 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01941 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01942 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01943 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01944 -1035, 127, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01945 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01946 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01947 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01948 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, 49, -1035,
01949 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01950 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01951 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01952 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01953 -1035, 33, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01954 -1035, -1035, -1035, -1035, -1035, -1035, -1035, 178, -1035, -1035,
01955 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -46,
01956 -1035, -1035, -1035, -1035, -1035, -109, -1035, -1035, -1035, -1035,
01957 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01958 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01959 -1035, -1035, -250, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01960 -1035, -1035, -1035, -1035, -1035, -286, -1035, -1035, -1035, -1035,
01961 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01962 -331, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01963 -1035, -1035, -1035, -1035, -1035, -421, -1035, -1035, -1035, -1035,
01964 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01965 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -268, -1035, -1035,
01966 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01967 -1035, -1035, -1035, -366, -1035, -1035, -1035, -1035, -1035, -1035,
01968 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01969 -1035, -1035, -1035, -1035, -1035, -304, -1035, -1035, -1035, -1035,
01970 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01971 -401, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035,
01972 -1035, -1035, -1035, -1035, -1035, -211, -1035, -1035, -1035, -1035,
01973 -1035, -1035, -1035, -1035, -1035, -339, -1035, -1035, -1035, -1035,
01974 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -26, -1035,
01975 -1035, -1035, -1035, -1035, -1035, -1035, -1035, -1035, -99, -1035,
01976 -1035, -1035, -686, -1035, -1035, -1035, -78, -1035, -1035, -1035,
01977 -381, -1035, -1035, -1035, -603, -1035, -1035, -1035, -157, -1035,
01978 -1035, -1035, -464, -1035, -1035, -1035, -82, -1035, -1035, -1035,
01979 -1035, -1035, -1035, -1035, -1035, -805, -254, -291, -1035, -241,
01980 -1035, -587, -233, -1034, -140, -1035, -1035
01981 };
01982
01983
01984
01985
01986
01987 #define YYTABLE_NINF -1
01988 static const yytype_uint16 yytable[] =
01989 {
01990 197, 560, 243, 165, 248, 163, 368, 484, 719, 840,
01991 257, 370, 395, 194, 1102, 1063, 1103, 1104, 398, 656,
01992 503, 683, 684, 500, 226, 191, 179, 182, 263, 264,
01993 362, 363, 506, 871, 312, 1102, 679, 1103, 1104, 203,
01994 64, 313, 176, 29, 729, 185, 1053, 1037, 188, 389,
01995 447, 509, 680, 65, 962, 66, 901, 67, 4, 68,
01996 1119, 512, 265, 600, 544, 314, 204, 666, 205, 17,
01997 18, 392, 403, 679, 448, 1125, 939, 601, 1038, 234,
01998 667, 242, 30, 247, 559, 940, 31, 315, 32, 680,
01999 33, 575, 1, 279, 206, 316, 280, 69, 576, 1054,
02000 89, 90, 34, 1102, 618, 1103, 1104, 266, 207, 317,
02001 510, 318, 35, 5, 36, 902, 379, 448, 7, 738,
02002 37, 739, 740, 319, 9, 70, 208, 320, 390, 321,
02003 1105, 322, 209, 323, 186, 177, 38, 730, 384, 189,
02004 311, 963, 183, 180, 513, 507, 393, 401, 192, 504,
02005 501, 1000, 195, 396, 685, 399, 1018, 227, 13, 65,
02006 1001, 66, 792, 67, 14, 68, 664, 258, 259, 260,
02007 261, 1123, 1064, 24, 25, 833, 1117, 975, 30, 976,
02008 977, 22, 31, 86, 32, 373, 33, 617, 374, 62,
02009 741, 149, 89, 90, 469, 470, 60, 61, 34, 857,
02010 480, 481, 932, 69, 89, 90, 469, 470, 35, 140,
02011 36, 146, 453, 454, 455, 456, 37, 643, 644, 89,
02012 90, 469, 470, 256, 105, 106, 458, 480, 481, 229,
02013 978, 70, 38, 168, 717, 89, 90, 645, 646, 89,
02014 90, 231, 232, 91, 92, 231, 232, 110, 111, 663,
02015 645, 646, 89, 90, 469, 470, 169, 494, 89, 90,
02016 495, 815, 91, 92, 446, 239, 444, 89, 90, 469,
02017 470, 738, 244, 739, 740, 480, 481, 352, 249, 589,
02018 353, 525, 590, 530, 273, 535, 354, 88, 582, 732,
02019 271, 355, 733, 584, 515, 89, 90, 272, 586, 91,
02020 92, 975, 274, 976, 977, 472, 89, 90, 469, 470,
02021 483, 115, 116, 721, 480, 481, 848, 275, 878, 849,
02022 277, 879, 120, 121, 125, 126, 130, 131, 135, 136,
02023 144, 145, 151, 152, 170, 171, 198, 199, 251, 252,
02024 285, 286, 290, 291, 295, 296, 300, 301, 305, 306,
02025 347, 348, 362, 363, 404, 405, 276, 409, 410, 278,
02026 524, 361, 529, 366, 534, 414, 415, 419, 420, 424,
02027 425, 429, 430, 466, 467, 477, 478, 516, 517, 538,
02028 539, 554, 555, 612, 613, 632, 633, 558, 658, 659,
02029 698, 699, 703, 704, 712, 713, 756, 757, 777, 778,
02030 787, 788, 800, 801, 820, 821, 842, 843, 864, 865,
02031 605, 606, 607, 608, 872, 873, 893, 894, 910, 911,
02032 915, 916, 610, 266, 611, 926, 927, 945, 946, 985,
02033 986, 1009, 1010, 371, 619, 953, 1024, 1025, 1030, 1031,
02034 1050, 1051, 1074, 1075, 385, 1078, 1079, 1094, 1095, 1109,
02035 1110, 380, 457, 434, 279, 631, 459, 373, 460, 462,
02036 640, 521, 461, 526, 489, 657, 491, 531, 490, 536,
02037 492, 543, 493, 993, 550, 551, 552, 553, 561, 562,
02038 564, 563, 573, 494, 574, 565, 572, 569, 587, 571,
02039 616, 570, 623, 598, 641, 595, 609, 1017, 637, 620,
02040 624, 682, 575, 625, 665, 672, 589, 934, 627, 642,
02041 681, 688, 689, 723, 726, 626, 691, 752, 952, 749,
02042 766, 667, 761, 769, 770, 690, 773, 782, 805, 815,
02043 796, 825, 695, 793, 826, 783, 836, 847, 762, 767,
02044 855, 709, 710, 795, 655, 733, 831, 833, 711, 857,
02045 860, 877, 662, 885, 900, 889, 992, 818, 848, 924,
02046 907, 678, 938, 901, 958, 970, 996, 973, 939, 998,
02047 1007, 1021, 806, 1019, 1029, 1033, 1044, 748, 1035, 1047,
02048 1016, 1049, 812, 811, 1000, 1062, 755, 922, 956, 879,
02049 1060, 1045, 968, 1068, 1069, 1037, 1071, 1073, 678, 1067,
02050 1084, 1085, 916, 963, 1089, 1087, 1054, 1090, 1092, 87,
02051 1100, 1101, 776, 1115, 1116, 1121, 720, 1122, 1127, 1129,
02052 175, 150, 463, 386, 566, 628, 763, 621, 545, 794,
02053 708, 923, 969, 799, 1020, 1086, 957, 1046, 997, 1070,
02054 886, 1036, 810, 692, 768, 954, 994, 935, 0, 0,
02055 0, 0, 0, 0, 0, 0, 819, 0, 0, 0,
02056 0, 0, 0, 0, 0, 830, 0, 0, 0, 0,
02057 0, 0, 0, 0, 0, 841, 0, 0, 0, 0,
02058 0, 0, 0, 0, 0, 854, 0, 791, 0, 0,
02059 0, 0, 0, 863, 0, 0, 0, 0, 0, 0,
02060 0, 0, 0, 0, 0, 0, 0, 884, 0, 0,
02061 0, 0, 0, 0, 0, 0, 0, 892, 0, 0,
02062 0, 0, 0, 381, 0, 0, 0, 0, 0, 0,
02063 0, 0, 0, 0, 0, 0, 0, 921, 0, 0,
02064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02066 955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02068 0, 0, 0, 0, 972, 0, 0, 0, 0, 0,
02069 0, 0, 0, 0, 0, 0, 0, 0, 995, 0,
02070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02071 933, 0, 0, 0, 0, 0, 0, 0, 1006, 0,
02072 0, 951, 0, 0, 0, 0, 0, 0, 0, 0,
02073 1023, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02075 0, 0, 0, 0, 0, 0, 0, 0, 1043, 991,
02076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02078 0, 1059, 0, 1015, 0, 0, 0, 0, 0, 1066,
02079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02080 0, 0, 0, 0, 0, 0, 0, 1077, 0, 1083,
02081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02082 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
02083 0, 1093, 0, 1099, 0, 0, 0, 0, 0, 0,
02084 0, 0, 0, 0, 0, 0, 0, 1108, 0, 1114,
02085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
02086 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0,
02087 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0,
02088 0, 0, 1128
02089 };
02090
02091 static const yytype_int16 yycheck[] =
02092 {
02093 140, 465, 159, 85, 161, 83, 239, 388, 694, 814,
02094 8, 244, 6, 4, 4, 4, 6, 7, 4, 622,
02095 4, 6, 7, 4, 4, 4, 4, 4, 168, 169,
02096 6, 7, 4, 838, 55, 4, 639, 6, 7, 53,
02097 51, 62, 4, 49, 4, 4, 107, 76, 4, 4,
02098 57, 4, 639, 64, 73, 66, 98, 68, 0, 70,
02099 1094, 4, 89, 28, 114, 86, 80, 115, 82, 10,
02100 11, 6, 305, 676, 124, 1109, 76, 42, 107, 157,
02101 128, 159, 88, 161, 465, 85, 92, 108, 94, 676,
02102 96, 138, 44, 106, 108, 116, 109, 108, 145, 160,
02103 32, 33, 108, 4, 568, 6, 7, 134, 122, 130,
02104 63, 132, 118, 46, 120, 157, 256, 124, 10, 58,
02105 126, 60, 61, 144, 48, 136, 140, 148, 83, 150,
02106 99, 152, 146, 154, 93, 97, 142, 97, 278, 95,
02107 222, 160, 119, 121, 87, 117, 81, 123, 127, 133,
02108 131, 98, 143, 147, 139, 141, 961, 137, 47, 64,
02109 107, 66, 765, 68, 50, 70, 630, 165, 166, 167,
02110 168, 161, 161, 10, 11, 15, 77, 58, 88, 60,
02111 61, 52, 92, 49, 94, 106, 96, 568, 109, 54,
02112 129, 51, 32, 33, 34, 35, 10, 11, 108, 12,
02113 40, 41, 888, 108, 32, 33, 34, 35, 118, 19,
02114 120, 56, 352, 353, 354, 355, 126, 10, 11, 32,
02115 33, 34, 35, 6, 10, 11, 366, 40, 41, 10,
02116 111, 136, 142, 3, 14, 32, 33, 30, 31, 32,
02117 33, 38, 39, 36, 37, 38, 39, 10, 11, 630,
02118 30, 31, 32, 33, 34, 35, 3, 106, 32, 33,
02119 109, 26, 36, 37, 346, 10, 344, 32, 33, 34,
02120 35, 58, 10, 60, 61, 40, 41, 13, 10, 106,
02121 16, 438, 109, 440, 119, 442, 22, 24, 521, 131,
02122 97, 27, 134, 526, 434, 32, 33, 121, 531, 36,
02123 37, 58, 93, 60, 61, 383, 32, 33, 34, 35,
02124 388, 10, 11, 694, 40, 41, 110, 95, 157, 113,
02125 143, 160, 10, 11, 10, 11, 10, 11, 10, 11,
02126 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,
02127 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,
02128 10, 11, 6, 7, 10, 11, 127, 10, 11, 6,
02129 438, 137, 440, 3, 442, 10, 11, 10, 11, 10,
02130 11, 10, 11, 10, 11, 10, 11, 10, 11, 10,
02131 11, 10, 11, 10, 11, 10, 11, 465, 10, 11,
02132 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,
02133 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,
02134 550, 551, 552, 553, 10, 11, 10, 11, 10, 11,
02135 159, 160, 562, 134, 564, 10, 11, 10, 11, 10,
02136 11, 10, 11, 6, 574, 899, 10, 11, 6, 7,
02137 6, 7, 6, 7, 109, 10, 11, 10, 11, 10,
02138 11, 89, 69, 25, 106, 595, 71, 106, 67, 109,
02139 600, 10, 65, 10, 83, 622, 147, 10, 81, 10,
02140 141, 57, 123, 937, 6, 6, 6, 6, 135, 3,
02141 3, 107, 87, 106, 6, 109, 63, 131, 6, 117,
02142 568, 133, 153, 10, 3, 23, 107, 961, 130, 145,
02143 155, 641, 138, 151, 6, 96, 106, 888, 109, 107,
02144 6, 3, 107, 100, 21, 149, 115, 18, 899, 78,
02145 5, 128, 97, 6, 112, 665, 17, 6, 6, 26,
02146 20, 6, 162, 59, 84, 156, 72, 6, 131, 129,
02147 79, 681, 139, 125, 622, 134, 101, 15, 688, 12,
02148 106, 6, 630, 113, 6, 106, 937, 135, 110, 29,
02149 106, 639, 6, 98, 29, 29, 85, 10, 76, 29,
02150 10, 29, 156, 73, 6, 5, 10, 717, 111, 29,
02151 961, 6, 158, 163, 98, 6, 726, 157, 157, 160,
02152 10, 107, 159, 59, 107, 76, 29, 6, 676, 161,
02153 99, 107, 160, 160, 6, 29, 160, 4, 161, 40,
02154 77, 6, 752, 161, 6, 99, 694, 6, 77, 161,
02155 94, 72, 376, 282, 497, 592, 735, 578, 450, 769,
02156 676, 881, 918, 773, 965, 1056, 904, 1003, 942, 1040,
02157 851, 980, 782, 669, 743, 899, 937, 888, -1, -1,
02158 -1, -1, -1, -1, -1, -1, 796, -1, -1, -1,
02159 -1, -1, -1, -1, -1, 805, -1, -1, -1, -1,
02160 -1, -1, -1, -1, -1, 815, -1, -1, -1, -1,
02161 -1, -1, -1, -1, -1, 825, -1, 765, -1, -1,
02162 -1, -1, -1, 833, -1, -1, -1, -1, -1, -1,
02163 -1, -1, -1, -1, -1, -1, -1, 847, -1, -1,
02164 -1, -1, -1, -1, -1, -1, -1, 857, -1, -1,
02165 -1, -1, -1, 268, -1, -1, -1, -1, -1, -1,
02166 -1, -1, -1, -1, -1, -1, -1, 877, -1, -1,
02167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02169 900, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02171 -1, -1, -1, -1, 924, -1, -1, -1, -1, -1,
02172 -1, -1, -1, -1, -1, -1, -1, -1, 938, -1,
02173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02174 888, -1, -1, -1, -1, -1, -1, -1, 958, -1,
02175 -1, 899, -1, -1, -1, -1, -1, -1, -1, -1,
02176 970, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02177 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02178 -1, -1, -1, -1, -1, -1, -1, -1, 998, 937,
02179 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02181 -1, 1021, -1, 961, -1, -1, -1, -1, -1, 1029,
02182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02183 -1, -1, -1, -1, -1, -1, -1, 1047, -1, 1049,
02184 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02185 -1, -1, 1062, -1, -1, -1, -1, -1, -1, -1,
02186 -1, 1071, -1, 1073, -1, -1, -1, -1, -1, -1,
02187 -1, -1, -1, -1, -1, -1, -1, 1087, -1, 1089,
02188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02189 -1, 1101, -1, -1, -1, -1, -1, -1, -1, -1,
02190 -1, -1, -1, -1, -1, -1, 1116, -1, -1, -1,
02191 -1, -1, 1122
02192 };
02193
02194
02195
02196 static const yytype_uint16 yystos[] =
02197 {
02198 0, 44, 170, 171, 0, 46, 172, 10, 173, 48,
02199 174, 175, 176, 47, 50, 255, 256, 10, 11, 177,
02200 178, 179, 52, 309, 10, 11, 257, 258, 259, 49,
02201 88, 92, 94, 96, 108, 118, 120, 126, 142, 180,
02202 181, 182, 183, 184, 199, 200, 205, 206, 211, 212,
02203 217, 218, 223, 224, 229, 230, 235, 236, 241, 242,
02204 10, 11, 54, 356, 51, 64, 66, 68, 70, 108,
02205 136, 260, 261, 262, 263, 264, 269, 270, 276, 277,
02206 283, 284, 290, 291, 295, 296, 49, 182, 24, 32,
02207 33, 36, 37, 185, 186, 187, 675, 676, 677, 678,
02208 683, 684, 685, 686, 710, 10, 11, 201, 202, 203,
02209 10, 11, 207, 208, 209, 10, 11, 213, 214, 215,
02210 10, 11, 219, 220, 221, 10, 11, 225, 226, 227,
02211 10, 11, 231, 232, 233, 10, 11, 237, 238, 239,
02212 19, 243, 695, 310, 10, 11, 56, 446, 447, 51,
02213 262, 10, 11, 265, 266, 267, 271, 272, 278, 279,
02214 285, 286, 292, 675, 297, 695, 713, 714, 3, 3,
02215 10, 11, 188, 189, 190, 187, 4, 97, 204, 4,
02216 121, 210, 4, 119, 216, 4, 93, 222, 4, 95,
02217 228, 4, 127, 234, 4, 143, 240, 713, 10, 11,
02218 244, 245, 246, 53, 80, 82, 108, 122, 140, 146,
02219 311, 312, 313, 318, 319, 324, 325, 330, 331, 336,
02220 337, 342, 343, 357, 448, 449, 4, 137, 268, 10,
02221 274, 38, 39, 273, 675, 687, 688, 689, 690, 10,
02222 281, 280, 675, 687, 10, 288, 287, 675, 687, 10,
02223 293, 10, 11, 298, 299, 300, 6, 8, 165, 166,
02224 167, 168, 715, 713, 713, 89, 134, 191, 192, 193,
02225 194, 97, 121, 119, 93, 95, 127, 143, 6, 106,
02226 109, 247, 248, 249, 250, 10, 11, 314, 315, 316,
02227 10, 11, 320, 321, 322, 10, 11, 326, 327, 328,
02228 10, 11, 332, 333, 334, 10, 11, 338, 339, 340,
02229 344, 695, 55, 62, 86, 108, 116, 130, 132, 144,
02230 148, 150, 152, 154, 358, 359, 360, 365, 366, 371,
02231 372, 377, 378, 383, 384, 389, 390, 406, 407, 413,
02232 414, 420, 421, 427, 428, 432, 433, 10, 11, 451,
02233 452, 453, 13, 16, 22, 27, 450, 696, 697, 698,
02234 699, 137, 6, 7, 275, 711, 3, 282, 711, 289,
02235 711, 6, 294, 106, 109, 301, 302, 303, 304, 713,
02236 89, 193, 195, 196, 713, 109, 249, 251, 252, 4,
02237 83, 317, 6, 81, 323, 6, 147, 329, 4, 141,
02238 335, 123, 341, 711, 10, 11, 345, 346, 347, 10,
02239 11, 361, 362, 363, 10, 11, 367, 368, 369, 10,
02240 11, 373, 374, 375, 10, 11, 379, 380, 381, 10,
02241 11, 385, 386, 387, 25, 391, 707, 408, 409, 415,
02242 416, 422, 423, 429, 675, 434, 695, 57, 124, 454,
02243 455, 456, 457, 713, 713, 713, 713, 69, 713, 71,
02244 67, 65, 109, 303, 305, 306, 10, 11, 198, 34,
02245 35, 197, 675, 679, 680, 681, 682, 10, 11, 254,
02246 40, 41, 253, 675, 679, 691, 692, 693, 694, 83,
02247 81, 147, 141, 123, 106, 109, 348, 349, 350, 351,
02248 4, 131, 364, 4, 133, 370, 4, 117, 376, 4,
02249 63, 382, 4, 87, 388, 713, 10, 11, 392, 393,
02250 394, 10, 411, 410, 675, 687, 10, 418, 417, 675,
02251 687, 10, 425, 424, 675, 687, 10, 430, 10, 11,
02252 435, 436, 437, 57, 114, 456, 649, 650, 458, 459,
02253 6, 6, 6, 6, 10, 11, 308, 307, 675, 679,
02254 691, 135, 3, 107, 3, 109, 350, 352, 353, 131,
02255 133, 117, 63, 87, 6, 138, 145, 395, 396, 397,
02256 398, 412, 711, 419, 711, 426, 711, 6, 431, 106,
02257 109, 438, 439, 440, 441, 23, 651, 709, 10, 463,
02258 28, 42, 460, 461, 462, 713, 713, 713, 713, 107,
02259 713, 713, 10, 11, 355, 354, 675, 679, 691, 713,
02260 145, 397, 399, 153, 155, 151, 149, 109, 440, 442,
02261 443, 713, 10, 11, 652, 653, 654, 130, 464, 465,
02262 713, 3, 107, 10, 11, 30, 31, 400, 401, 402,
02263 403, 671, 672, 673, 674, 675, 683, 687, 10, 11,
02264 445, 444, 675, 679, 691, 6, 115, 128, 655, 656,
02265 657, 658, 96, 480, 481, 466, 467, 468, 675, 683,
02266 710, 6, 713, 6, 7, 139, 404, 405, 3, 107,
02267 713, 115, 657, 659, 660, 162, 486, 487, 10, 11,
02268 482, 483, 484, 10, 11, 469, 470, 471, 468, 713,
02269 139, 713, 10, 11, 662, 663, 664, 14, 661, 671,
02270 675, 679, 708, 100, 551, 552, 21, 488, 700, 4,
02271 97, 485, 131, 134, 472, 473, 474, 475, 58, 60,
02272 61, 129, 665, 666, 667, 668, 669, 670, 713, 78,
02273 589, 590, 18, 553, 701, 713, 10, 11, 489, 490,
02274 491, 97, 131, 474, 476, 477, 5, 129, 667, 6,
02275 112, 626, 627, 17, 591, 702, 713, 10, 11, 554,
02276 555, 556, 6, 156, 492, 493, 494, 10, 11, 479,
02277 478, 675, 683, 59, 713, 125, 20, 628, 703, 713,
02278 10, 11, 592, 593, 594, 6, 156, 557, 558, 559,
02279 713, 163, 158, 506, 507, 26, 495, 704, 135, 713,
02280 10, 11, 629, 630, 631, 6, 84, 595, 596, 597,
02281 713, 101, 571, 15, 560, 705, 72, 521, 522, 508,
02282 704, 713, 10, 11, 496, 497, 498, 6, 110, 113,
02283 632, 633, 634, 635, 713, 79, 608, 12, 598, 706,
02284 106, 572, 573, 713, 10, 11, 561, 562, 563, 533,
02285 523, 704, 10, 11, 509, 510, 511, 6, 157, 160,
02286 499, 500, 501, 502, 713, 113, 634, 636, 637, 106,
02287 609, 610, 713, 10, 11, 599, 600, 601, 574, 575,
02288 6, 98, 157, 564, 565, 566, 567, 106, 534, 535,
02289 10, 11, 524, 525, 526, 159, 160, 512, 513, 514,
02290 515, 713, 157, 501, 29, 503, 10, 11, 639, 640,
02291 641, 638, 671, 675, 679, 708, 611, 612, 6, 76,
02292 85, 602, 603, 604, 605, 10, 11, 577, 578, 579,
02293 576, 675, 679, 691, 705, 713, 157, 566, 29, 568,
02294 536, 537, 73, 160, 527, 528, 529, 530, 159, 514,
02295 29, 516, 713, 10, 504, 58, 60, 61, 111, 642,
02296 643, 644, 645, 646, 647, 10, 11, 614, 615, 616,
02297 613, 675, 679, 691, 706, 713, 85, 604, 29, 606,
02298 98, 107, 580, 581, 582, 583, 713, 10, 569, 10,
02299 11, 539, 540, 541, 538, 675, 679, 691, 704, 73,
02300 529, 29, 531, 713, 10, 11, 517, 518, 519, 6,
02301 6, 7, 505, 5, 648, 111, 644, 76, 107, 617,
02302 618, 619, 620, 713, 10, 107, 582, 29, 584, 6,
02303 6, 7, 570, 107, 160, 542, 543, 544, 545, 713,
02304 10, 532, 6, 4, 161, 520, 713, 161, 59, 107,
02305 619, 29, 621, 6, 6, 7, 607, 713, 10, 11,
02306 585, 586, 587, 713, 99, 107, 544, 29, 546, 6,
02307 4, 713, 161, 713, 10, 11, 622, 623, 624, 713,
02308 77, 6, 4, 6, 7, 99, 588, 712, 713, 10,
02309 11, 547, 548, 549, 713, 161, 6, 77, 625, 712,
02310 713, 99, 6, 161, 550, 712, 713, 77, 713, 161
02311 };
02312
02313 #define yyerrok (yyerrstatus = 0)
02314 #define yyclearin (yychar = YYEMPTY)
02315 #define YYEMPTY (-2)
02316 #define YYEOF 0
02317
02318 #define YYACCEPT goto yyacceptlab
02319 #define YYABORT goto yyabortlab
02320 #define YYERROR goto yyerrorlab
02321
02322
02323
02324
02325
02326
02327 #define YYFAIL goto yyerrlab
02328
02329 #define YYRECOVERING() (!!yyerrstatus)
02330
02331 #define YYBACKUP(Token, Value) \
02332 do \
02333 if (yychar == YYEMPTY && yylen == 1) \
02334 { \
02335 yychar = (Token); \
02336 yylval = (Value); \
02337 yytoken = YYTRANSLATE (yychar); \
02338 YYPOPSTACK (1); \
02339 goto yybackup; \
02340 } \
02341 else \
02342 { \
02343 yyerror (&yylloc, osresult, parserData, YY_("syntax error: cannot back up")); \
02344 YYERROR; \
02345 } \
02346 while (YYID (0))
02347
02348
02349 #define YYTERROR 1
02350 #define YYERRCODE 256
02351
02352
02353
02354
02355
02356
02357 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
02358 #ifndef YYLLOC_DEFAULT
02359 # define YYLLOC_DEFAULT(Current, Rhs, N) \
02360 do \
02361 if (YYID (N)) \
02362 { \
02363 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
02364 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
02365 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
02366 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
02367 } \
02368 else \
02369 { \
02370 (Current).first_line = (Current).last_line = \
02371 YYRHSLOC (Rhs, 0).last_line; \
02372 (Current).first_column = (Current).last_column = \
02373 YYRHSLOC (Rhs, 0).last_column; \
02374 } \
02375 while (YYID (0))
02376 #endif
02377
02378
02379
02380
02381
02382
02383 #ifndef YY_LOCATION_PRINT
02384 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
02385 # define YY_LOCATION_PRINT(File, Loc) \
02386 fprintf (File, "%d.%d-%d.%d", \
02387 (Loc).first_line, (Loc).first_column, \
02388 (Loc).last_line, (Loc).last_column)
02389 # else
02390 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
02391 # endif
02392 #endif
02393
02394
02395
02396
02397 #ifdef YYLEX_PARAM
02398 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
02399 #else
02400 # define YYLEX yylex (&yylval, &yylloc, scanner)
02401 #endif
02402
02403
02404 #if YYDEBUG
02405
02406 # ifndef YYFPRINTF
02407 # include <stdio.h>
02408 # define YYFPRINTF fprintf
02409 # endif
02410
02411 # define YYDPRINTF(Args) \
02412 do { \
02413 if (yydebug) \
02414 YYFPRINTF Args; \
02415 } while (YYID (0))
02416
02417 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
02418 do { \
02419 if (yydebug) \
02420 { \
02421 YYFPRINTF (stderr, "%s ", Title); \
02422 yy_symbol_print (stderr, \
02423 Type, Value, Location, osresult, parserData); \
02424 YYFPRINTF (stderr, "\n"); \
02425 } \
02426 } while (YYID (0))
02427
02428
02429
02430
02431
02432
02433
02434 #if (defined __STDC__ || defined __C99__FUNC__ \
02435 || defined __cplusplus || defined _MSC_VER)
02436 static void
02437 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSResult *osresult, OSrLParserData *parserData)
02438 #else
02439 static void
02440 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData)
02441 FILE *yyoutput;
02442 int yytype;
02443 YYSTYPE const * const yyvaluep;
02444 YYLTYPE const * const yylocationp;
02445 OSResult *osresult;
02446 OSrLParserData *parserData;
02447 #endif
02448 {
02449 if (!yyvaluep)
02450 return;
02451 YYUSE (yylocationp);
02452 YYUSE (osresult);
02453 YYUSE (parserData);
02454 # ifdef YYPRINT
02455 if (yytype < YYNTOKENS)
02456 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
02457 # else
02458 YYUSE (yyoutput);
02459 # endif
02460 switch (yytype)
02461 {
02462 default:
02463 break;
02464 }
02465 }
02466
02467
02468
02469
02470
02471
02472 #if (defined __STDC__ || defined __C99__FUNC__ \
02473 || defined __cplusplus || defined _MSC_VER)
02474 static void
02475 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSResult *osresult, OSrLParserData *parserData)
02476 #else
02477 static void
02478 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData)
02479 FILE *yyoutput;
02480 int yytype;
02481 YYSTYPE const * const yyvaluep;
02482 YYLTYPE const * const yylocationp;
02483 OSResult *osresult;
02484 OSrLParserData *parserData;
02485 #endif
02486 {
02487 if (yytype < YYNTOKENS)
02488 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
02489 else
02490 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
02491
02492 YY_LOCATION_PRINT (yyoutput, *yylocationp);
02493 YYFPRINTF (yyoutput, ": ");
02494 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData);
02495 YYFPRINTF (yyoutput, ")");
02496 }
02497
02498
02499
02500
02501
02502
02503 #if (defined __STDC__ || defined __C99__FUNC__ \
02504 || defined __cplusplus || defined _MSC_VER)
02505 static void
02506 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
02507 #else
02508 static void
02509 yy_stack_print (bottom, top)
02510 yytype_int16 *bottom;
02511 yytype_int16 *top;
02512 #endif
02513 {
02514 YYFPRINTF (stderr, "Stack now");
02515 for (; bottom <= top; ++bottom)
02516 YYFPRINTF (stderr, " %d", *bottom);
02517 YYFPRINTF (stderr, "\n");
02518 }
02519
02520 # define YY_STACK_PRINT(Bottom, Top) \
02521 do { \
02522 if (yydebug) \
02523 yy_stack_print ((Bottom), (Top)); \
02524 } while (YYID (0))
02525
02526
02527
02528
02529
02530
02531 #if (defined __STDC__ || defined __C99__FUNC__ \
02532 || defined __cplusplus || defined _MSC_VER)
02533 static void
02534 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, OSResult *osresult, OSrLParserData *parserData)
02535 #else
02536 static void
02537 yy_reduce_print (yyvsp, yylsp, yyrule, osresult, parserData)
02538 YYSTYPE *yyvsp;
02539 YYLTYPE *yylsp;
02540 int yyrule;
02541 OSResult *osresult;
02542 OSrLParserData *parserData;
02543 #endif
02544 {
02545 int yynrhs = yyr2[yyrule];
02546 int yyi;
02547 unsigned long int yylno = yyrline[yyrule];
02548 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
02549 yyrule - 1, yylno);
02550
02551 for (yyi = 0; yyi < yynrhs; yyi++)
02552 {
02553 fprintf (stderr, " $%d = ", yyi + 1);
02554 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
02555 &(yyvsp[(yyi + 1) - (yynrhs)])
02556 , &(yylsp[(yyi + 1) - (yynrhs)]) , osresult, parserData);
02557 fprintf (stderr, "\n");
02558 }
02559 }
02560
02561 # define YY_REDUCE_PRINT(Rule) \
02562 do { \
02563 if (yydebug) \
02564 yy_reduce_print (yyvsp, yylsp, Rule, osresult, parserData); \
02565 } while (YYID (0))
02566
02567
02568
02569 int yydebug;
02570 #else
02571 # define YYDPRINTF(Args)
02572 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
02573 # define YY_STACK_PRINT(Bottom, Top)
02574 # define YY_REDUCE_PRINT(Rule)
02575 #endif
02576
02577
02578
02579 #ifndef YYINITDEPTH
02580 # define YYINITDEPTH 200
02581 #endif
02582
02583
02584
02585
02586
02587
02588
02589
02590 #ifndef YYMAXDEPTH
02591 # define YYMAXDEPTH 10000
02592 #endif
02593
02594
02595
02596 #if YYERROR_VERBOSE
02597
02598 # ifndef yystrlen
02599 # if defined __GLIBC__ && defined _STRING_H
02600 # define yystrlen strlen
02601 # else
02602
02603 #if (defined __STDC__ || defined __C99__FUNC__ \
02604 || defined __cplusplus || defined _MSC_VER)
02605 static YYSIZE_T
02606 yystrlen (const char *yystr)
02607 #else
02608 static YYSIZE_T
02609 yystrlen (yystr)
02610 const char *yystr;
02611 #endif
02612 {
02613 YYSIZE_T yylen;
02614 for (yylen = 0; yystr[yylen]; yylen++)
02615 continue;
02616 return yylen;
02617 }
02618 # endif
02619 # endif
02620
02621 # ifndef yystpcpy
02622 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
02623 # define yystpcpy stpcpy
02624 # else
02625
02626
02627 #if (defined __STDC__ || defined __C99__FUNC__ \
02628 || defined __cplusplus || defined _MSC_VER)
02629 static char *
02630 yystpcpy (char *yydest, const char *yysrc)
02631 #else
02632 static char *
02633 yystpcpy (yydest, yysrc)
02634 char *yydest;
02635 const char *yysrc;
02636 #endif
02637 {
02638 char *yyd = yydest;
02639 const char *yys = yysrc;
02640
02641 while ((*yyd++ = *yys++) != '\0')
02642 continue;
02643
02644 return yyd - 1;
02645 }
02646 # endif
02647 # endif
02648
02649 # ifndef yytnamerr
02650
02651
02652
02653
02654
02655
02656
02657 static YYSIZE_T
02658 yytnamerr (char *yyres, const char *yystr)
02659 {
02660 if (*yystr == '"')
02661 {
02662 YYSIZE_T yyn = 0;
02663 char const *yyp = yystr;
02664
02665 for (;;)
02666 switch (*++yyp)
02667 {
02668 case '\'':
02669 case ',':
02670 goto do_not_strip_quotes;
02671
02672 case '\\':
02673 if (*++yyp != '\\')
02674 goto do_not_strip_quotes;
02675
02676 default:
02677 if (yyres)
02678 yyres[yyn] = *yyp;
02679 yyn++;
02680 break;
02681
02682 case '"':
02683 if (yyres)
02684 yyres[yyn] = '\0';
02685 return yyn;
02686 }
02687 do_not_strip_quotes: ;
02688 }
02689
02690 if (! yyres)
02691 return yystrlen (yystr);
02692
02693 return yystpcpy (yyres, yystr) - yyres;
02694 }
02695 # endif
02696
02697
02698
02699
02700
02701
02702
02703
02704 static YYSIZE_T
02705 yysyntax_error (char *yyresult, int yystate, int yychar)
02706 {
02707 int yyn = yypact[yystate];
02708
02709 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
02710 return 0;
02711 else
02712 {
02713 int yytype = YYTRANSLATE (yychar);
02714 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
02715 YYSIZE_T yysize = yysize0;
02716 YYSIZE_T yysize1;
02717 int yysize_overflow = 0;
02718 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
02719 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
02720 int yyx;
02721
02722 # if 0
02723
02724
02725 YY_("syntax error, unexpected %s");
02726 YY_("syntax error, unexpected %s, expecting %s");
02727 YY_("syntax error, unexpected %s, expecting %s or %s");
02728 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
02729 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
02730 # endif
02731 char *yyfmt;
02732 char const *yyf;
02733 static char const yyunexpected[] = "syntax error, unexpected %s";
02734 static char const yyexpecting[] = ", expecting %s";
02735 static char const yyor[] = " or %s";
02736 char yyformat[sizeof yyunexpected
02737 + sizeof yyexpecting - 1
02738 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
02739 * (sizeof yyor - 1))];
02740 char const *yyprefix = yyexpecting;
02741
02742
02743
02744 int yyxbegin = yyn < 0 ? -yyn : 0;
02745
02746
02747 int yychecklim = YYLAST - yyn + 1;
02748 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
02749 int yycount = 1;
02750
02751 yyarg[0] = yytname[yytype];
02752 yyfmt = yystpcpy (yyformat, yyunexpected);
02753
02754 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
02755 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
02756 {
02757 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
02758 {
02759 yycount = 1;
02760 yysize = yysize0;
02761 yyformat[sizeof yyunexpected - 1] = '\0';
02762 break;
02763 }
02764 yyarg[yycount++] = yytname[yyx];
02765 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
02766 yysize_overflow |= (yysize1 < yysize);
02767 yysize = yysize1;
02768 yyfmt = yystpcpy (yyfmt, yyprefix);
02769 yyprefix = yyor;
02770 }
02771
02772 yyf = YY_(yyformat);
02773 yysize1 = yysize + yystrlen (yyf);
02774 yysize_overflow |= (yysize1 < yysize);
02775 yysize = yysize1;
02776
02777 if (yysize_overflow)
02778 return YYSIZE_MAXIMUM;
02779
02780 if (yyresult)
02781 {
02782
02783
02784
02785 char *yyp = yyresult;
02786 int yyi = 0;
02787 while ((*yyp = *yyf) != '\0')
02788 {
02789 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
02790 {
02791 yyp += yytnamerr (yyp, yyarg[yyi++]);
02792 yyf += 2;
02793 }
02794 else
02795 {
02796 yyp++;
02797 yyf++;
02798 }
02799 }
02800 }
02801 return yysize;
02802 }
02803 }
02804 #endif
02805
02806
02807
02808
02809
02810
02811
02812 #if (defined __STDC__ || defined __C99__FUNC__ \
02813 || defined __cplusplus || defined _MSC_VER)
02814 static void
02815 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, OSResult *osresult, OSrLParserData *parserData)
02816 #else
02817 static void
02818 yydestruct (yymsg, yytype, yyvaluep, yylocationp, osresult, parserData)
02819 const char *yymsg;
02820 int yytype;
02821 YYSTYPE *yyvaluep;
02822 YYLTYPE *yylocationp;
02823 OSResult *osresult;
02824 OSrLParserData *parserData;
02825 #endif
02826 {
02827 YYUSE (yyvaluep);
02828 YYUSE (yylocationp);
02829 YYUSE (osresult);
02830 YYUSE (parserData);
02831
02832 if (!yymsg)
02833 yymsg = "Deleting";
02834 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
02835
02836 switch (yytype)
02837 {
02838
02839 default:
02840 break;
02841 }
02842 }
02843
02844
02845
02846
02847 #ifdef YYPARSE_PARAM
02848 #if defined __STDC__ || defined __cplusplus
02849 int yyparse (void *YYPARSE_PARAM);
02850 #else
02851 int yyparse ();
02852 #endif
02853 #else
02854 #if defined __STDC__ || defined __cplusplus
02855 int yyparse (OSResult *osresult, OSrLParserData *parserData);
02856 #else
02857 int yyparse ();
02858 #endif
02859 #endif
02860
02861
02862
02863
02864
02865
02866
02867
02868
02869
02870 #ifdef YYPARSE_PARAM
02871 #if (defined __STDC__ || defined __C99__FUNC__ \
02872 || defined __cplusplus || defined _MSC_VER)
02873 int
02874 yyparse (void *YYPARSE_PARAM)
02875 #else
02876 int
02877 yyparse (YYPARSE_PARAM)
02878 void *YYPARSE_PARAM;
02879 #endif
02880 #else
02881 #if (defined __STDC__ || defined __C99__FUNC__ \
02882 || defined __cplusplus || defined _MSC_VER)
02883 int
02884 yyparse (OSResult *osresult, OSrLParserData *parserData)
02885 #else
02886 int
02887 yyparse (osresult, parserData)
02888 OSResult *osresult;
02889 OSrLParserData *parserData;
02890 #endif
02891 #endif
02892 {
02893
02894 int yychar;
02895
02896
02897 YYSTYPE yylval;
02898
02899
02900 int yynerrs;
02901
02902 YYLTYPE yylloc;
02903
02904 int yystate;
02905 int yyn;
02906 int yyresult;
02907
02908 int yyerrstatus;
02909
02910 int yytoken = 0;
02911 #if YYERROR_VERBOSE
02912
02913 char yymsgbuf[128];
02914 char *yymsg = yymsgbuf;
02915 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
02916 #endif
02917
02918
02919
02920
02921
02922
02923
02924
02925
02926
02927 yytype_int16 yyssa[YYINITDEPTH];
02928 yytype_int16 *yyss = yyssa;
02929 yytype_int16 *yyssp;
02930
02931
02932 YYSTYPE yyvsa[YYINITDEPTH];
02933 YYSTYPE *yyvs = yyvsa;
02934 YYSTYPE *yyvsp;
02935
02936
02937 YYLTYPE yylsa[YYINITDEPTH];
02938 YYLTYPE *yyls = yylsa;
02939 YYLTYPE *yylsp;
02940
02941 YYLTYPE yyerror_range[2];
02942
02943 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
02944
02945 YYSIZE_T yystacksize = YYINITDEPTH;
02946
02947
02948
02949 YYSTYPE yyval;
02950 YYLTYPE yyloc;
02951
02952
02953
02954 int yylen = 0;
02955
02956 YYDPRINTF ((stderr, "Starting parse\n"));
02957
02958 yystate = 0;
02959 yyerrstatus = 0;
02960 yynerrs = 0;
02961 yychar = YYEMPTY;
02962
02963
02964
02965
02966
02967
02968 yyssp = yyss;
02969 yyvsp = yyvs;
02970 yylsp = yyls;
02971 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
02972
02973 yylloc.first_line = yylloc.last_line = 1;
02974 yylloc.first_column = yylloc.last_column = 0;
02975 #endif
02976
02977 goto yysetstate;
02978
02979
02980
02981
02982 yynewstate:
02983
02984
02985 yyssp++;
02986
02987 yysetstate:
02988 *yyssp = yystate;
02989
02990 if (yyss + yystacksize - 1 <= yyssp)
02991 {
02992
02993 YYSIZE_T yysize = yyssp - yyss + 1;
02994
02995 #ifdef yyoverflow
02996 {
02997
02998
02999
03000 YYSTYPE *yyvs1 = yyvs;
03001 yytype_int16 *yyss1 = yyss;
03002 YYLTYPE *yyls1 = yyls;
03003
03004
03005
03006
03007
03008 yyoverflow (YY_("memory exhausted"),
03009 &yyss1, yysize * sizeof (*yyssp),
03010 &yyvs1, yysize * sizeof (*yyvsp),
03011 &yyls1, yysize * sizeof (*yylsp),
03012 &yystacksize);
03013 yyls = yyls1;
03014 yyss = yyss1;
03015 yyvs = yyvs1;
03016 }
03017 #else
03018 # ifndef YYSTACK_RELOCATE
03019 goto yyexhaustedlab;
03020 # else
03021
03022 if (YYMAXDEPTH <= yystacksize)
03023 goto yyexhaustedlab;
03024 yystacksize *= 2;
03025 if (YYMAXDEPTH < yystacksize)
03026 yystacksize = YYMAXDEPTH;
03027
03028 {
03029 yytype_int16 *yyss1 = yyss;
03030 union yyalloc *yyptr =
03031 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
03032 if (! yyptr)
03033 goto yyexhaustedlab;
03034 YYSTACK_RELOCATE (yyss);
03035 YYSTACK_RELOCATE (yyvs);
03036 YYSTACK_RELOCATE (yyls);
03037 # undef YYSTACK_RELOCATE
03038 if (yyss1 != yyssa)
03039 YYSTACK_FREE (yyss1);
03040 }
03041 # endif
03042 #endif
03043
03044 yyssp = yyss + yysize - 1;
03045 yyvsp = yyvs + yysize - 1;
03046 yylsp = yyls + yysize - 1;
03047
03048 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
03049 (unsigned long int) yystacksize));
03050
03051 if (yyss + yystacksize - 1 <= yyssp)
03052 YYABORT;
03053 }
03054
03055 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
03056
03057 goto yybackup;
03058
03059
03060
03061
03062 yybackup:
03063
03064
03065
03066
03067
03068 yyn = yypact[yystate];
03069 if (yyn == YYPACT_NINF)
03070 goto yydefault;
03071
03072
03073
03074
03075 if (yychar == YYEMPTY)
03076 {
03077 YYDPRINTF ((stderr, "Reading a token: "));
03078 yychar = YYLEX;
03079 }
03080
03081 if (yychar <= YYEOF)
03082 {
03083 yychar = yytoken = YYEOF;
03084 YYDPRINTF ((stderr, "Now at end of input.\n"));
03085 }
03086 else
03087 {
03088 yytoken = YYTRANSLATE (yychar);
03089 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
03090 }
03091
03092
03093
03094 yyn += yytoken;
03095 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
03096 goto yydefault;
03097 yyn = yytable[yyn];
03098 if (yyn <= 0)
03099 {
03100 if (yyn == 0 || yyn == YYTABLE_NINF)
03101 goto yyerrlab;
03102 yyn = -yyn;
03103 goto yyreduce;
03104 }
03105
03106 if (yyn == YYFINAL)
03107 YYACCEPT;
03108
03109
03110
03111 if (yyerrstatus)
03112 yyerrstatus--;
03113
03114
03115 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
03116
03117
03118 if (yychar != YYEOF)
03119 yychar = YYEMPTY;
03120
03121 yystate = yyn;
03122 *++yyvsp = yylval;
03123 *++yylsp = yylloc;
03124 goto yynewstate;
03125
03126
03127
03128
03129
03130 yydefault:
03131 yyn = yydefact[yystate];
03132 if (yyn == 0)
03133 goto yyerrlab;
03134 goto yyreduce;
03135
03136
03137
03138
03139
03140 yyreduce:
03141
03142 yylen = yyr2[yyn];
03143
03144
03145
03146
03147
03148
03149
03150
03151
03152 yyval = yyvsp[1-yylen];
03153
03154
03155 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
03156 YY_REDUCE_PRINT (yyn);
03157 switch (yyn)
03158 {
03159 case 3:
03160
03161 {
03162 #ifdef DEBUG
03163 yydebug = 1;
03164 #endif
03165 }
03166 break;
03167
03168 case 29:
03169
03170 { if (parserData->generalStatusPresent)
03171 osrlerror(NULL, NULL, parserData, "only one generalStatus element allowed");
03172 if (osresult->general->generalStatus != NULL)
03173 osrlerror(NULL, NULL, parserData, "generalStatus previously allocated");
03174 parserData->generalStatusPresent = true;
03175 parserData->typeAttributePresent = false;
03176 parserData->descriptionAttributePresent = false;
03177 parserData->numberAttributePresent = false;
03178 parserData->numberOf = 0;
03179 }
03180 break;
03181
03182 case 30:
03183
03184 { if (!parserData->typeAttributePresent)
03185 osrlerror(NULL, NULL, parserData, "type attribute must be present for generalStatus element");
03186 parserData->kounter = 0;
03187 }
03188 break;
03189
03190 case 33:
03191
03192 {
03193 if ((parserData->typeAttribute != "error" ) &&
03194 (parserData->typeAttribute != "warning") &&
03195 (parserData->typeAttribute != "normal"))
03196 osrlerror(NULL, NULL, parserData, "general status type does not match any legal value");
03197 if (osresult->setGeneralStatusType(parserData->typeAttribute) == false)
03198 osrlerror(NULL, NULL, parserData, "Error while setting general status type");
03199 }
03200 break;
03201
03202 case 34:
03203
03204 {
03205 osresult->setGeneralStatusDescription(parserData->descriptionAttribute);
03206 }
03207 break;
03208
03209 case 35:
03210
03211 { if (osresult->setNumberOfGeneralSubstatuses(parserData->tempInt) == false)
03212 osrlerror(NULL, NULL, parserData, "Attempting to reallocate substatus array. Potential loss of data.");
03213 parserData->numberOf = parserData->tempInt;
03214 parserData->kounter = 0;
03215 }
03216 break;
03217
03218 case 36:
03219
03220 { if (parserData->numberOf > 0)
03221 osrlerror(NULL, NULL, parserData, "expected at least one <substatus> element");
03222 }
03223 break;
03224
03225 case 37:
03226
03227 { if (parserData->kounter != parserData->numberOf)
03228 osrlerror(NULL, NULL, parserData, "fewer <substatus> elements than specified");
03229 }
03230 break;
03231
03232 case 44:
03233
03234 { parserData->kounter++;
03235 }
03236 break;
03237
03238 case 45:
03239
03240 { if (parserData->kounter >= parserData->numberOf)
03241 osrlerror( NULL, NULL, parserData, "more <substatus> elements than specified");
03242 parserData->nameAttributePresent = false;
03243 parserData->descriptionAttributePresent = false;
03244 }
03245 break;
03246
03247 case 46:
03248
03249 { if (!parserData->nameAttributePresent)
03250 osrlerror (NULL, NULL, parserData, "<substatus> must have name attribute");
03251 }
03252 break;
03253
03254 case 49:
03255
03256 {
03257 if (osresult->setGeneralSubstatusName(parserData->kounter, parserData->nameAttribute) == false)
03258 osrlerror(NULL, NULL, parserData, "Error while setting <general> substatus name");
03259 }
03260 break;
03261
03262 case 50:
03263
03264 {
03265 if (osresult->setGeneralSubstatusDescription(parserData->kounter, parserData->descriptionAttribute) == false)
03266 osrlerror(NULL, NULL, parserData, "Error while setting <general> substatus description");
03267 }
03268 break;
03269
03270 case 54:
03271
03272 { if (parserData->generalMessagePresent)
03273 osrlerror(NULL, NULL, parserData, "only one message element allowed");
03274 parserData->generalMessagePresent = true;
03275 }
03276 break;
03277
03278 case 60:
03279
03280 {osresult->setGeneralMessage((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03281 break;
03282
03283 case 62:
03284
03285 { if (parserData->generalServiceURIPresent)
03286 osrlerror(NULL, NULL, parserData, "only one serviceURI element allowed");
03287 parserData->generalServiceURIPresent = true;
03288 }
03289 break;
03290
03291 case 68:
03292
03293 {osresult->setServiceURI((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03294 break;
03295
03296 case 70:
03297
03298 { if (parserData->generalServiceNamePresent)
03299 osrlerror(NULL, NULL, parserData, "only one serviceName element allowed");
03300 parserData->generalServiceNamePresent = true;
03301 }
03302 break;
03303
03304 case 76:
03305
03306 {osresult->setServiceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03307 break;
03308
03309 case 78:
03310
03311 { if (parserData->generalInstanceNamePresent)
03312 osrlerror(NULL, NULL, parserData, "only one instanceName element allowed");
03313 parserData->generalInstanceNamePresent = true;
03314 }
03315 break;
03316
03317 case 84:
03318
03319 {osresult->setInstanceName((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03320 break;
03321
03322 case 86:
03323
03324 { if (parserData->generalJobIDPresent)
03325 osrlerror(NULL, NULL, parserData, "only one jobID element allowed");
03326 parserData->generalJobIDPresent = true;
03327 }
03328 break;
03329
03330 case 92:
03331
03332 {osresult->setJobID((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03333 break;
03334
03335 case 94:
03336
03337 { if (parserData->generalSolverInvokedPresent)
03338 osrlerror(NULL, NULL, parserData, "only one solverInvoked element allowed");
03339 parserData->generalSolverInvokedPresent = true;
03340 }
03341 break;
03342
03343 case 100:
03344
03345 {osresult->setSolverInvoked((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03346 break;
03347
03348 case 102:
03349
03350 { if (parserData->generalTimeStampPresent)
03351 osrlerror(NULL, NULL, parserData, "only one timeStamp element allowed");
03352 parserData->generalTimeStampPresent = true;
03353 }
03354 break;
03355
03356 case 108:
03357
03358 {osresult->setTimeStamp((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03359 break;
03360
03361 case 110:
03362
03363 { if (parserData->generalOtherResultsPresent)
03364 osrlerror(NULL, NULL, parserData, "only one general other results element allowed");
03365 parserData->generalOtherResultsPresent = true;
03366 }
03367 break;
03368
03369 case 111:
03370
03371 {
03372 if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, "number of other general results cannot be negative");
03373 if (osresult->setNumberOfOtherGeneralResults(parserData->tempInt) == false)
03374 osrlerror(NULL, NULL, parserData, "Attempting to reallocate other general results array. Potential loss of data.");
03375 parserData->numberOf = parserData->tempInt;
03376 parserData->kounter = 0;
03377 }
03378 break;
03379
03380 case 112:
03381
03382 { if (parserData->numberOf > 0)
03383 osrlerror(NULL, NULL, parserData, "expected at least one <other> element");
03384 }
03385 break;
03386
03387 case 113:
03388
03389 { if (parserData->kounter < parserData->numberOf - 1)
03390 osrlerror(NULL, NULL, parserData, "fewer <other> elements than specified");
03391 }
03392 break;
03393
03394 case 120:
03395
03396 { parserData->kounter++;
03397 }
03398 break;
03399
03400 case 121:
03401
03402 { if (parserData->kounter >= parserData->numberOf)
03403 osrlerror(NULL, NULL, parserData, "more <other> elements than specified");
03404 parserData->nameAttributePresent = false;
03405 parserData->valueAttributePresent = false;
03406 parserData->descriptionAttributePresent = false;
03407 }
03408 break;
03409
03410 case 122:
03411
03412 { if (!parserData->nameAttributePresent)
03413 osrlerror (NULL, NULL, parserData, "<other> must have name attribute");
03414 }
03415 break;
03416
03417 case 125:
03418
03419 { if (parserData->nameAttribute.length() == 0)
03420 osrlerror(NULL, NULL, parserData, "otherResult name cannot be empty");
03421 if (osresult->setOtherGeneralResultName(parserData->kounter, parserData->nameAttribute) == false)
03422 osrlerror(NULL, NULL, parserData, "setGeneralOtherResultName failed");
03423 }
03424 break;
03425
03426 case 126:
03427
03428 {
03429 if (osresult->setOtherGeneralResultValue(parserData->kounter, parserData->valueAttribute) == false)
03430 osrlerror(NULL, NULL, parserData, "setGeneralOtherResultValue failed");
03431 }
03432 break;
03433
03434 case 127:
03435
03436 {
03437 if (osresult->setOtherGeneralResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
03438 osrlerror(NULL, NULL, parserData, "setGeneralOtherResultDescription failed");
03439 }
03440 break;
03441
03442 case 148:
03443
03444 { if (parserData->systemInformationPresent)
03445 osrlerror(NULL, NULL, parserData, "only one systemInformation element allowed");
03446 parserData->systemInformationPresent = true;
03447 }
03448 break;
03449
03450 case 154:
03451
03452 { osresult->setSystemInformation((yyvsp[(1) - (1)].sval));
03453 free((yyvsp[(1) - (1)].sval));
03454 parserData->errorText = NULL;
03455 }
03456 break;
03457
03458 case 156:
03459
03460 { if (parserData->systemAvailableDiskSpacePresent)
03461 osrlerror(NULL, NULL, parserData, "only one availableDiskSpace element allowed");
03462 parserData->systemAvailableDiskSpacePresent = true;
03463 parserData->unitAttributePresent = false;
03464 parserData->descriptionAttributePresent = false;
03465 }
03466 break;
03467
03468 case 160:
03469
03470 { if (parserData->unitAttribute != "exabyte" &&
03471 parserData->unitAttribute != "petabyte" &&
03472 parserData->unitAttribute != "terabyte" &&
03473 parserData->unitAttribute != "gigabyte" &&
03474 parserData->unitAttribute != "megabyte" &&
03475 parserData->unitAttribute != "kilobyte" &&
03476 parserData->unitAttribute != "byte")
03477 osrlerror(NULL, NULL, parserData, "availableDiskSpace unit not recognized");
03478 osresult->setAvailableDiskSpaceUnit( parserData->unitAttribute);
03479 parserData->errorText = NULL;
03480 }
03481 break;
03482
03483 case 161:
03484
03485 { osresult->setAvailableDiskSpaceDescription( parserData->descriptionAttribute);
03486 parserData->errorText = NULL;
03487 }
03488 break;
03489
03490 case 163:
03491
03492 { osresult->setAvailableDiskSpaceValue(parserData->tempVal);
03493 parserData->errorText = NULL;
03494 }
03495 break;
03496
03497 case 165:
03498
03499 { if (parserData->systemAvailableMemoryPresent)
03500 osrlerror(NULL, NULL, parserData, "only one availableMemory element allowed");
03501 parserData->systemAvailableMemoryPresent = true;
03502 parserData->unitAttributePresent = false;
03503 parserData->descriptionAttributePresent = false;
03504 }
03505 break;
03506
03507 case 169:
03508
03509 { if (parserData->unitAttribute != "exabyte" &&
03510 parserData->unitAttribute != "petabyte" &&
03511 parserData->unitAttribute != "terabyte" &&
03512 parserData->unitAttribute != "gigabyte" &&
03513 parserData->unitAttribute != "megabyte" &&
03514 parserData->unitAttribute != "kilobyte" &&
03515 parserData->unitAttribute != "byte")
03516 osrlerror(NULL, NULL, parserData, "availableDiskSpace unit not recognized");
03517 osresult->setAvailableMemoryUnit( parserData->unitAttribute);
03518 parserData->errorText = NULL;
03519 }
03520 break;
03521
03522 case 170:
03523
03524 { osresult->setAvailableMemoryDescription( parserData->descriptionAttribute);
03525 parserData->errorText = NULL;
03526 }
03527 break;
03528
03529 case 172:
03530
03531 { osresult->setAvailableMemoryValue(parserData->tempVal);
03532 parserData->errorText = NULL;
03533 }
03534 break;
03535
03536 case 174:
03537
03538 { if (parserData->systemAvailableCPUSpeedPresent)
03539 osrlerror(NULL, NULL, parserData, "only one availableCPUSpeed element allowed");
03540 parserData->systemAvailableCPUSpeedPresent = true;
03541 parserData->unitAttributePresent = false;
03542 parserData->descriptionAttributePresent = false;
03543 }
03544 break;
03545
03546 case 178:
03547
03548 { if (parserData->unitAttribute != "terahertz" &&
03549 parserData->unitAttribute != "gigahertz" &&
03550 parserData->unitAttribute != "megahertz" &&
03551 parserData->unitAttribute != "kilohertz" &&
03552 parserData->unitAttribute != "hertz" &&
03553 parserData->unitAttribute != "petaflops" &&
03554 parserData->unitAttribute != "teraflops" &&
03555 parserData->unitAttribute != "gigaflops" &&
03556 parserData->unitAttribute != "megaflops" &&
03557 parserData->unitAttribute != "kiloflops" &&
03558 parserData->unitAttribute != "flops" )
03559 osrlerror(NULL, NULL, parserData, "availableCPUSpeed unit not recognized");
03560 osresult->setAvailableCPUSpeedUnit( parserData->unitAttribute);
03561 parserData->errorText = NULL;
03562 }
03563 break;
03564
03565 case 179:
03566
03567 { osresult->setAvailableCPUSpeedDescription( parserData->descriptionAttribute);
03568 parserData->errorText = NULL;
03569 }
03570 break;
03571
03572 case 181:
03573
03574 { osresult->setAvailableCPUSpeedValue(parserData->tempVal);
03575 parserData->errorText = NULL;
03576 }
03577 break;
03578
03579 case 183:
03580
03581 { if (parserData->systemAvailableCPUNumberPresent)
03582 osrlerror(NULL, NULL, parserData, "only one availableCPUNumber element allowed");
03583 parserData->systemAvailableCPUNumberPresent = true;
03584 parserData->descriptionAttributePresent = false;
03585 }
03586 break;
03587
03588 case 185:
03589
03590 { osresult->setAvailableCPUNumberDescription( parserData->descriptionAttribute);
03591 parserData->errorText = NULL;
03592 }
03593 break;
03594
03595 case 187:
03596
03597 { osresult->setAvailableCPUNumberValue( (yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
03598 break;
03599
03600 case 189:
03601
03602 { if (parserData->systemOtherResultsPresent)
03603 osrlerror(NULL, NULL, parserData, "only one system other results element allowed");
03604 parserData->systemOtherResultsPresent = true;
03605 }
03606 break;
03607
03608 case 190:
03609
03610 {
03611 if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, "number of other system results cannot be negative");
03612 if (osresult->setNumberOfOtherSystemResults(parserData->tempInt) == false)
03613 osrlerror(NULL, NULL, parserData, "setNumberOfOtherSystemResults failed");
03614 parserData->numberOf = parserData->tempInt;
03615 parserData->kounter = 0;
03616 }
03617 break;
03618
03619 case 191:
03620
03621 { if (parserData->numberOf > 0)
03622 osrlerror(NULL, NULL, parserData, "expected at least one <other> element");
03623 }
03624 break;
03625
03626 case 192:
03627
03628 { if (parserData->kounter < parserData->numberOf - 1)
03629 osrlerror(NULL, NULL, parserData, "fewer <other> elements than specified");
03630 }
03631 break;
03632
03633 case 199:
03634
03635 { parserData->kounter++;
03636 }
03637 break;
03638
03639 case 200:
03640
03641 { if (parserData->kounter >= parserData->numberOf)
03642 osrlerror(NULL, NULL, parserData, "more <other> elements than specified");
03643 parserData->nameAttributePresent = false;
03644 parserData->valueAttributePresent = false;
03645 parserData->descriptionAttributePresent = false;
03646 }
03647 break;
03648
03649 case 201:
03650
03651 { if (!parserData->nameAttributePresent)
03652 osrlerror (NULL, NULL, parserData, "<other> must have name attribute");
03653 }
03654 break;
03655
03656 case 204:
03657
03658 { if (parserData->nameAttribute.length() == 0)
03659 osrlerror(NULL, NULL, parserData, "otherResult name cannot be empty");
03660 if (osresult->setOtherSystemResultName(parserData->kounter, parserData->nameAttribute) == false)
03661 osrlerror(NULL, NULL, parserData, "setSystemOtherResultName failed");
03662 }
03663 break;
03664
03665 case 205:
03666
03667 {
03668 if (osresult->setOtherSystemResultValue(parserData->kounter, parserData->valueAttribute) == false)
03669 osrlerror(NULL, NULL, parserData, "setSystemOtherResultValue failed");
03670 }
03671 break;
03672
03673 case 206:
03674
03675 {
03676 if (osresult->setOtherSystemResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
03677 osrlerror(NULL, NULL, parserData, "setSystemOtherResultDescription failed");
03678 }
03679 break;
03680
03681 case 221:
03682
03683 { if (parserData->serviceCurrentStatePresent)
03684 osrlerror(NULL, NULL, parserData, "only one currentState element allowed");
03685 parserData->serviceCurrentStatePresent = true;
03686 }
03687 break;
03688
03689 case 227:
03690
03691 { parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
03692 if (parserData->tempStr != "busy" &&
03693 parserData->tempStr != "busyButAccepting" &&
03694 parserData->tempStr != "idle" &&
03695 parserData->tempStr != "idleButNotAccepting" &&
03696 parserData->tempStr != "noResponse" )
03697 osrlerror(NULL, NULL, parserData, "current system state not recognized");
03698 if (osresult->setCurrentState(parserData->tempStr) == false)
03699 osrlerror(NULL, NULL, parserData, "setCurrentState failed");
03700 parserData->errorText = NULL;
03701 }
03702 break;
03703
03704 case 229:
03705
03706 { if (parserData->serviceCurrentJobCountPresent)
03707 osrlerror(NULL, NULL, parserData, "only one currentJobCount element allowed");
03708 parserData->serviceCurrentJobCountPresent = true;
03709 }
03710 break;
03711
03712 case 235:
03713
03714 { osresult->setCurrentJobCount((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
03715 break;
03716
03717 case 237:
03718
03719 { if (parserData->serviceTotalJobsSoFarPresent)
03720 osrlerror(NULL, NULL, parserData, "only one totalJobsSoFar element allowed");
03721 parserData->serviceTotalJobsSoFarPresent = true;
03722 }
03723 break;
03724
03725 case 243:
03726
03727 { osresult->setTotalJobsSoFar((yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
03728 break;
03729
03730 case 245:
03731
03732 { if (parserData->timeServiceStartedPresent)
03733 osrlerror(NULL, NULL, parserData, "only one timeServiceStarted element allowed");
03734 parserData->timeServiceStartedPresent = true;
03735 }
03736 break;
03737
03738 case 251:
03739
03740 {osresult->setTimeServiceStarted((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03741 break;
03742
03743 case 253:
03744
03745 { if (parserData->serviceUtilizationPresent)
03746 osrlerror(NULL, NULL, parserData, "only one serviceUtilization element allowed");
03747 parserData->serviceUtilizationPresent = true;
03748 }
03749 break;
03750
03751 case 259:
03752
03753 { if (osresult->setServiceUtilization( parserData->tempVal) == false)
03754 osrlerror(NULL, NULL, parserData, "setServiceUtilization failed");
03755 parserData->errorText = NULL;
03756 }
03757 break;
03758
03759 case 261:
03760
03761 { if (parserData->serviceOtherResultsPresent)
03762 osrlerror(NULL, NULL, parserData, "only one service other results element allowed");
03763 parserData->serviceOtherResultsPresent = true;
03764 }
03765 break;
03766
03767 case 262:
03768
03769 {
03770 if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, "number of other service results cannot be negative");
03771 if (osresult->setNumberOfOtherServiceResults(parserData->tempInt) == false)
03772 osrlerror(NULL, NULL, parserData, "setNumberOfOtherServiceResults failed");
03773 parserData->numberOf = parserData->tempInt;
03774 parserData->kounter = 0;
03775 }
03776 break;
03777
03778 case 263:
03779
03780 { if (parserData->numberOf > 0)
03781 osrlerror(NULL, NULL, parserData, "expected at least one <other> element");
03782 }
03783 break;
03784
03785 case 264:
03786
03787 { if (parserData->kounter < parserData->numberOf - 1)
03788 osrlerror(NULL, NULL, parserData, "fewer <other> elements than specified");
03789 }
03790 break;
03791
03792 case 271:
03793
03794 { parserData->kounter++;
03795 }
03796 break;
03797
03798 case 272:
03799
03800 { if (parserData->kounter >= parserData->numberOf)
03801 osrlerror(NULL, NULL, parserData, "more <other> elements than specified");
03802 parserData->nameAttributePresent = false;
03803 parserData->valueAttributePresent = false;
03804 parserData->descriptionAttributePresent = false;
03805 }
03806 break;
03807
03808 case 273:
03809
03810 { if (!parserData->nameAttributePresent)
03811 osrlerror (NULL, NULL, parserData, "<other> must have name attribute");
03812 }
03813 break;
03814
03815 case 276:
03816
03817 { if (parserData->nameAttribute.length() == 0)
03818 osrlerror(NULL, NULL, parserData, "otherResult name cannot be empty");
03819 if (osresult->setOtherServiceResultName(parserData->kounter, parserData->nameAttribute) == false)
03820 osrlerror(NULL, NULL, parserData, "setServiceOtherResultName failed");
03821 }
03822 break;
03823
03824 case 277:
03825
03826 {
03827 if (osresult->setOtherServiceResultValue(parserData->kounter, parserData->valueAttribute) == false)
03828 osrlerror(NULL, NULL, parserData, "setServiceOtherResultValue failed");
03829 }
03830 break;
03831
03832 case 278:
03833
03834 {
03835 if (osresult->setOtherServiceResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
03836 osrlerror(NULL, NULL, parserData, "setServiceOtherResultDescription failed");
03837 }
03838 break;
03839
03840 case 298:
03841
03842 { if (parserData->jobStatusPresent)
03843 osrlerror(NULL, NULL, parserData, "only one job status element allowed");
03844 parserData->jobStatusPresent = true;
03845 }
03846 break;
03847
03848 case 304:
03849
03850 { parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
03851 if (parserData->tempStr != "waiting" &&
03852 parserData->tempStr != "running" &&
03853 parserData->tempStr != "killed" &&
03854 parserData->tempStr != "finished" &&
03855 parserData->tempStr != "unknown" )
03856 osrlerror (NULL, NULL, parserData, "status of this job not recognized");
03857 if (osresult->setJobStatus(parserData->tempStr) == false)
03858 osrlerror(NULL, NULL, parserData, "setJobStatus failed");
03859 parserData->errorText = NULL;
03860 }
03861 break;
03862
03863 case 306:
03864
03865 { if (parserData->jobSubmitTimePresent)
03866 osrlerror(NULL, NULL, parserData, "only one submitTime element allowed");
03867 parserData->jobSubmitTimePresent = true;
03868 }
03869 break;
03870
03871 case 312:
03872
03873 {osresult->setJobSubmitTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03874 break;
03875
03876 case 314:
03877
03878 { if (parserData->scheduledStartTimePresent)
03879 osrlerror(NULL, NULL, parserData, "only one scheduledStartTime element allowed");
03880 parserData->scheduledStartTimePresent = true;
03881 }
03882 break;
03883
03884 case 320:
03885
03886 {osresult->setScheduledStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03887 break;
03888
03889 case 322:
03890
03891 { if (parserData->actualStartTimePresent)
03892 osrlerror(NULL, NULL, parserData, "only one actualStartTime element allowed");
03893 parserData->actualStartTimePresent = true;
03894 }
03895 break;
03896
03897 case 328:
03898
03899 {osresult->setActualStartTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03900 break;
03901
03902 case 330:
03903
03904 { if (parserData->jobEndTimePresent)
03905 osrlerror(NULL, NULL, parserData, "only one job endTime element allowed");
03906 parserData->jobEndTimePresent = true;
03907 }
03908 break;
03909
03910 case 336:
03911
03912 {osresult->setJobEndTime((yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); parserData->errorText = NULL;}
03913 break;
03914
03915 case 338:
03916
03917 { if (parserData->jobTimingInformationPresent)
03918 osrlerror(NULL, NULL, parserData, "only one timingInformation element allowed");
03919 parserData->jobTimingInformationPresent = true;
03920 }
03921 break;
03922
03923 case 339:
03924
03925 { if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, "number of time measurements cannot be negative");
03926 if (osresult->setNumberOfTimes(parserData->tempInt) == false)
03927 osrlerror(NULL, NULL, parserData, "setNumberOfTimes failed");
03928 parserData->numberOfTimes = parserData->tempInt;
03929 parserData->ivar = 0;
03930 }
03931 break;
03932
03933 case 340:
03934
03935 { if (parserData->numberOfTimes > 0)
03936 osrlerror(NULL, NULL, parserData, "expected at least one <time> element");
03937 }
03938 break;
03939
03940 case 341:
03941
03942 { if (parserData->ivar != parserData->numberOfTimes)
03943 osrlerror(NULL, NULL, parserData, "fewer <time> elements than specified");
03944 }
03945 break;
03946
03947 case 349:
03948
03949 { if (parserData->ivar >= parserData->numberOfTimes)
03950 osrlerror(NULL, NULL, parserData, "more <time> elements than specified");
03951 parserData->unitAttributePresent = false;
03952 parserData->typeAttributePresent = false;
03953 parserData->categoryAttributePresent = false;
03954 parserData->descriptionAttributePresent = false;
03955 parserData->unitAttribute = "";
03956 parserData->typeAttribute = "";
03957 parserData->categoryAttribute = "";
03958 parserData->descriptionAttribute = "";
03959 }
03960 break;
03961
03962 case 352:
03963
03964 { if (parserData->unitAttribute != "tick" &&
03965 parserData->unitAttribute != "millisecond" &&
03966 parserData->unitAttribute != "second" &&
03967 parserData->unitAttribute != "minute" &&
03968 parserData->unitAttribute != "hour" &&
03969 parserData->unitAttribute != "day" &&
03970 parserData->unitAttribute != "week" &&
03971 parserData->unitAttribute != "month" &&
03972 parserData->unitAttribute != "year" )
03973 osrlerror(NULL, NULL, parserData, "time unit not recognized");
03974 }
03975 break;
03976
03977 case 353:
03978
03979 { if (parserData->typeAttribute != "cpuTime" &&
03980 parserData->typeAttribute != "elapsedTime" &&
03981 parserData->typeAttribute != "other" )
03982 osrlerror(NULL, NULL, parserData, "time type not recognized");
03983 }
03984 break;
03985
03986 case 354:
03987
03988 { if (parserData->categoryAttribute != "total" &&
03989 parserData->categoryAttribute != "input" &&
03990 parserData->categoryAttribute != "preprocessing" &&
03991 parserData->categoryAttribute != "optimization" &&
03992 parserData->categoryAttribute != "postprocessing" &&
03993 parserData->categoryAttribute != "output" &&
03994 parserData->categoryAttribute != "other" )
03995 osrlerror(NULL, NULL, parserData, "time category not recognized");
03996 }
03997 break;
03998
03999 case 361:
04000
04001 { osresult->setTimingInformation(parserData->ivar, parserData->typeAttribute, parserData->categoryAttribute,
04002 parserData->unitAttribute, parserData->descriptionAttribute, parserData->timeValue);
04003 parserData->ivar++;
04004 parserData->timeType = "";
04005 parserData->timeCategory = "";
04006 parserData->timeUnit = "";
04007 parserData->timeDescription = "";
04008 }
04009 break;
04010
04011 case 362:
04012
04013 { parserData->timeValue = (yyvsp[(1) - (1)].dval); }
04014 break;
04015
04016 case 363:
04017
04018 { parserData->timeValue = (yyvsp[(1) - (1)].ival); }
04019 break;
04020
04021 case 365:
04022
04023 { if (parserData->jobUsedDiskSpacePresent)
04024 osrlerror(NULL, NULL, parserData, "only one usedDiskSpace element allowed");
04025 parserData->jobUsedDiskSpacePresent = true;
04026 parserData->unitAttributePresent = false;
04027 parserData->descriptionAttributePresent = false;
04028 }
04029 break;
04030
04031 case 369:
04032
04033 { if (parserData->unitAttribute != "exabyte" &&
04034 parserData->unitAttribute != "petabyte" &&
04035 parserData->unitAttribute != "terabyte" &&
04036 parserData->unitAttribute != "gigabyte" &&
04037 parserData->unitAttribute != "megabyte" &&
04038 parserData->unitAttribute != "kilobyte" &&
04039 parserData->unitAttribute != "byte")
04040 osrlerror(NULL, NULL, parserData, "availableDiskSpace unit not recognized");
04041 osresult->setUsedDiskSpaceUnit( parserData->unitAttribute);
04042 parserData->errorText = NULL;
04043 }
04044 break;
04045
04046 case 370:
04047
04048 { osresult->setUsedDiskSpaceDescription( parserData->descriptionAttribute);
04049 parserData->errorText = NULL;
04050 }
04051 break;
04052
04053 case 372:
04054
04055 { osresult->setUsedDiskSpaceValue(parserData->tempVal);
04056 parserData->errorText = NULL;
04057 }
04058 break;
04059
04060 case 374:
04061
04062 { if (parserData->jobUsedMemoryPresent)
04063 osrlerror(NULL, NULL, parserData, "only one usedMemory element allowed");
04064 parserData->jobUsedMemoryPresent = true;
04065 parserData->unitAttributePresent = false;
04066 parserData->descriptionAttributePresent = false;
04067 }
04068 break;
04069
04070 case 378:
04071
04072 { if (parserData->unitAttribute != "exabyte" &&
04073 parserData->unitAttribute != "petabyte" &&
04074 parserData->unitAttribute != "terabyte" &&
04075 parserData->unitAttribute != "gigabyte" &&
04076 parserData->unitAttribute != "megabyte" &&
04077 parserData->unitAttribute != "kilobyte" &&
04078 parserData->unitAttribute != "byte")
04079 osrlerror(NULL, NULL, parserData, "usedDiskSpace unit not recognized");
04080 osresult->setUsedMemoryUnit( parserData->unitAttribute);
04081 parserData->errorText = NULL;
04082 }
04083 break;
04084
04085 case 379:
04086
04087 { osresult->setUsedMemoryDescription( parserData->descriptionAttribute);
04088 parserData->errorText = NULL;
04089 }
04090 break;
04091
04092 case 381:
04093
04094 { osresult->setUsedMemoryValue(parserData->tempVal);
04095 parserData->errorText = NULL;
04096 }
04097 break;
04098
04099 case 383:
04100
04101 { if (parserData->jobUsedCPUSpeedPresent)
04102 osrlerror(NULL, NULL, parserData, "only one usedCPUSpeed element allowed");
04103 parserData->jobUsedCPUSpeedPresent = true;
04104 parserData->unitAttributePresent = false;
04105 parserData->descriptionAttributePresent = false;
04106 parserData->unitAttributePresent = false;
04107 parserData->descriptionAttributePresent = false;
04108 }
04109 break;
04110
04111 case 387:
04112
04113 { if (parserData->unitAttribute != "terahertz" &&
04114 parserData->unitAttribute != "gigahertz" &&
04115 parserData->unitAttribute != "megahertz" &&
04116 parserData->unitAttribute != "kilohertz" &&
04117 parserData->unitAttribute != "hertz" &&
04118 parserData->unitAttribute != "petaflops" &&
04119 parserData->unitAttribute != "teraflops" &&
04120 parserData->unitAttribute != "gigaflops" &&
04121 parserData->unitAttribute != "megaflops" &&
04122 parserData->unitAttribute != "kiloflops" &&
04123 parserData->unitAttribute != "flops" )
04124 osrlerror(NULL, NULL, parserData, "availableCPUSpeed unit not recognized");
04125 osresult->setUsedCPUSpeedUnit( parserData->unitAttribute);
04126 parserData->errorText = NULL;
04127 }
04128 break;
04129
04130 case 388:
04131
04132 { osresult->setUsedCPUSpeedDescription( parserData->descriptionAttribute);
04133 parserData->errorText = NULL;
04134 }
04135 break;
04136
04137 case 390:
04138
04139 { osresult->setUsedCPUSpeedValue(parserData->tempVal);
04140 parserData->errorText = NULL;
04141 }
04142 break;
04143
04144 case 392:
04145
04146 { if (parserData->jobUsedCPUNumberPresent)
04147 osrlerror(NULL, NULL, parserData, "only one usedCPUNumber element allowed");
04148 parserData->jobUsedCPUNumberPresent = true;
04149 parserData->descriptionAttributePresent = false;
04150 }
04151 break;
04152
04153 case 394:
04154
04155 { osresult->setUsedCPUNumberDescription( parserData->descriptionAttribute);
04156 parserData->errorText = NULL;
04157 }
04158 break;
04159
04160 case 396:
04161
04162 { osresult->setUsedCPUNumberValue( (yyvsp[(1) - (1)].ival)); parserData->errorText = NULL; }
04163 break;
04164
04165 case 398:
04166
04167 { if (parserData->jobOtherResultsPresent)
04168 osrlerror(NULL, NULL, parserData, "only one job other results element allowed");
04169 parserData->jobOtherResultsPresent = true;
04170 }
04171 break;
04172
04173 case 399:
04174
04175 {
04176 if (parserData->tempInt < 0) osrlerror(NULL, NULL, parserData, "number of other job results cannot be negative");
04177 if (osresult->setNumberOfOtherJobResults(parserData->tempInt) == false)
04178 osrlerror(NULL, NULL, parserData, "setNumberOfOtherJobResults failed");
04179 parserData->numberOf = parserData->tempInt;
04180 parserData->kounter = 0;
04181 }
04182 break;
04183
04184 case 400:
04185
04186 { if (parserData->numberOf > 0)
04187 osrlerror(NULL, NULL, parserData, "expected at least one <other> element");
04188 }
04189 break;
04190
04191 case 401:
04192
04193 { if (parserData->kounter < parserData->numberOf - 1)
04194 osrlerror(NULL, NULL, parserData, "fewer <other> elements than specified");
04195 }
04196 break;
04197
04198 case 408:
04199
04200 { parserData->kounter++;
04201 }
04202 break;
04203
04204 case 409:
04205
04206 { if (parserData->kounter >= parserData->numberOf)
04207 osrlerror(NULL, NULL, parserData, "more <other> elements than specified");
04208 parserData->nameAttributePresent = false;
04209 parserData->valueAttributePresent = false;
04210 parserData->descriptionAttributePresent = false;
04211 }
04212 break;
04213
04214 case 410:
04215
04216 { if (!parserData->nameAttributePresent)
04217 osrlerror (NULL, NULL, parserData, "<other> must have name attribute");
04218 }
04219 break;
04220
04221 case 413:
04222
04223 { if (parserData->nameAttribute.length() == 0)
04224 osrlerror(NULL, NULL, parserData, "otherResult name cannot be empty");
04225 if (osresult->setOtherJobResultName(parserData->kounter, parserData->nameAttribute) == false)
04226 osrlerror(NULL, NULL, parserData, "setJobOtherResultName failed");
04227 }
04228 break;
04229
04230 case 414:
04231
04232 {
04233 if (osresult->setOtherJobResultValue(parserData->kounter, parserData->valueAttribute) == false)
04234 osrlerror(NULL, NULL, parserData, "setJobOtherResultValue failed");
04235 }
04236 break;
04237
04238 case 415:
04239
04240 {
04241 if (osresult->setOtherJobResultDescription(parserData->kounter, parserData->descriptionAttribute) == false)
04242 osrlerror(NULL, NULL, parserData, "setJobOtherResultDescription failed");
04243 }
04244 break;
04245
04246 case 420:
04247
04248 { parserData->numberAttributePresent = false;
04249 parserData->nVarPresent = false;
04250 parserData->nObjPresent = false;
04251 parserData->nConPresent = false;
04252 }
04253 break;
04254
04255 case 421:
04256
04257 { if (!parserData->numberAttributePresent)
04258 osrlerror (NULL, NULL, parserData, "numberOfSolutions was never set");
04259 }
04260 break;
04261
04262 case 424:
04263
04264 {
04265 parserData->numberOfSolutions = parserData->tempInt;
04266 if (osresult->setSolutionNumber(parserData->tempInt) == false)
04267 osrlerror(NULL, NULL, parserData, "setSolutionNumber failed");
04268 parserData->solutionIdx = 0;
04269 }
04270 break;
04271
04272 case 425:
04273
04274 {
04275 parserData->numberOfVariables = parserData->tempInt;
04276 if (osresult->setVariableNumber(parserData->tempInt) == false)
04277 osrlerror(NULL, NULL, parserData, "setVariableNumber failed");
04278 }
04279 break;
04280
04281 case 426:
04282
04283 {
04284 parserData->numberOfConstraints = parserData->tempInt;
04285 if (osresult->setConstraintNumber(parserData->tempInt) == false)
04286 osrlerror(NULL, NULL, parserData, "setConstraintNumber failed");
04287 }
04288 break;
04289
04290 case 427:
04291
04292 {
04293 parserData->numberOfObjectives = parserData->tempInt;
04294 if (osresult->setObjectiveNumber(parserData->tempInt) == false)
04295 osrlerror(NULL, NULL, parserData, "setObjectiveNumber failed");
04296 }
04297 break;
04298
04299 case 428:
04300
04301 { if (parserData->numberOfSolutions > 0)
04302 osrlerror(NULL, NULL, parserData, "expected at least one <solution> element");
04303 }
04304 break;
04305
04306 case 429:
04307
04308 { if (parserData->solutionIdx != parserData->numberOfSolutions)
04309 osrlerror(NULL, NULL, parserData, "fewer <solution> elements than specified");
04310 }
04311 break;
04312
04313 case 437:
04314
04315 {
04316 if (parserData->solutionIdx >= parserData->numberOfSolutions)
04317 osrlerror(NULL, NULL, parserData, "too many solutions");
04318 parserData->idxAttributePresent = false;
04319 parserData->weightedObjAttributePresent = false;
04320 }
04321 break;
04322
04323 case 443:
04324
04325 { if (parserData->idxAttributePresent)
04326 osrlerror(NULL, NULL, parserData, "target objective idx previously set");
04327 parserData->idxAttributePresent = true;
04328 if((yyvsp[(3) - (4)].ival) >= 0) osrlerror(NULL, NULL, parserData, "target objective index must be negative");
04329 if (osresult->setSolutionTargetObjectiveIdx(parserData->solutionIdx, (yyvsp[(3) - (4)].ival)) == false)
04330 osrlerror(NULL, NULL, parserData, "setSolutionTargetObjectiveIdx failed");
04331 }
04332 break;
04333
04334 case 444:
04335
04336 { if (parserData->weightedObjAttributePresent)
04337 osrlerror(NULL, NULL, parserData, "target objective idx previously set");
04338 parserData->weightedObjAttributePresent = true;
04339 parserData->tempStr = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
04340 if (parserData->tempStr == "true")
04341 { if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, true) == false)
04342 osrlerror(NULL, NULL, parserData, "setSolutionWeightedObjectives failed");
04343 }
04344 else if (parserData->tempStr == "false")
04345 { if (osresult->setSolutionWeightedObjectives(parserData->solutionIdx, false) == false)
04346 osrlerror(NULL, NULL, parserData, "setSolutionWeightedObjectives failed");
04347 }
04348 else
04349 osrlerror(NULL, NULL, parserData, "weightedobjectives must be true or false");
04350 }
04351 break;
04352
04353 case 445:
04354
04355 {
04356 parserData->solutionIdx++;
04357 }
04358 break;
04359
04360 case 447:
04361
04362 { parserData->typeAttributePresent = false;
04363 parserData->descriptionAttributePresent = false;
04364 parserData->numberAttributePresent = false;
04365 parserData->numberOf = 0;
04366 }
04367 break;
04368
04369 case 448:
04370
04371 { if (!parserData->typeAttributePresent)
04372 osrlerror(NULL, NULL, parserData, "type attribute must be present for solution status element");
04373 }
04374 break;
04375
04376 case 451:
04377
04378 { if ((parserData->typeAttribute != "unbounded" ) &&
04379 (parserData->typeAttribute != "globallyOptimal") &&
04380 (parserData->typeAttribute != "locallyOptimal" ) &&
04381 (parserData->typeAttribute != "optimal" ) &&
04382 (parserData->typeAttribute != "bestSoFar" ) &&
04383 (parserData->typeAttribute != "feasible" ) &&
04384 (parserData->typeAttribute != "infeasible" ) &&
04385 (parserData->typeAttribute != "unsure" ) &&
04386 (parserData->typeAttribute != "error" ) &&
04387 (parserData->typeAttribute != "other" ))
04388 osrlerror(NULL, NULL, parserData, "solution status type does not matched any legal value");
04389 if (osresult->setSolutionStatusType(parserData->solutionIdx, parserData->typeAttribute) == false)
04390 osrlerror(NULL, NULL, parserData, "setSolutionStatusType failed");
04391 }
04392 break;
04393
04394 case 452:
04395
04396 { if (osresult->setSolutionStatusDescription(parserData->solutionIdx, parserData->descriptionAttribute) == false)
04397 osrlerror(NULL, NULL, parserData, "setSolutionStatusDescription failed");
04398 }
04399 break;
04400
04401 case 453:
04402
04403 { if (osresult->setNumberOfSolutionSubstatuses(parserData->solutionIdx, parserData->tempInt) == false)
04404 osrlerror(NULL, NULL, parserData, "setNumberOfSolutionSubstatuses failed");
04405 parserData->numberOf = parserData->tempInt;
04406 parserData->kounter = 0;
04407 }
04408 break;
04409
04410 case 454:
04411
04412 { if (parserData->numberOf > 0)
04413 osrlerror(NULL, NULL, parserData, "expected at least one <substatus> element");
04414 }
04415 break;
04416
04417 case 455:
04418
04419 { if (parserData->kounter != parserData->numberOf)
04420 osrlerror(NULL, NULL, parserData, "fewer <substatus> elements than specified");
04421 }
04422 break;
04423
04424 case 462:
04425
04426 { parserData->kounter++; }
04427 break;
04428
04429 case 463:
04430
04431 { if (parserData->kounter >= parserData->numberOf)
04432 osrlerror(NULL, NULL, parserData, "more <substatus> elements than specified");
04433 parserData->typeAttributePresent = false;
04434 parserData->descriptionAttributePresent = false;
04435 }
04436 break;
04437
04438 case 464:
04439
04440 { if (!parserData->typeAttributePresent)
04441 osrlerror (NULL, NULL, parserData, "<substatus> must have type attribute");
04442 }
04443 break;
04444
04445 case 467:
04446
04447 {
04448 if (parserData->typeAttribute != "stoppedByLimit" &&
04449 parserData->typeAttribute != "stoppedByBounds" &&
04450 parserData->typeAttribute != "other" )
04451 osrlerror(NULL, NULL, parserData, "substatus type attribute has bad value");
04452 if (osresult->setSolutionSubstatusType(parserData->solutionIdx, parserData->kounter,
04453 parserData->typeAttribute) == false)
04454 osrlerror(NULL, NULL, parserData, "setSolutionSubstatusType failed");
04455 }
04456 break;
04457
04458 case 468:
04459
04460 {
04461 if (osresult->setSolutionSubstatusDescription(parserData->solutionIdx, parserData->kounter,
04462 parserData->descriptionAttribute) == false)
04463 osrlerror(NULL, NULL, parserData, "setSolutionSubstatusDescription failed");
04464 }
04465 break;
04466
04467 case 479:
04468
04469 { parserData->tempStr = (yyvsp[(1) - (1)].sval);
04470 free((yyvsp[(1) - (1)].sval));
04471 osresult->setSolutionMessage(parserData->solutionIdx, parserData->tempStr);
04472 parserData->errorText = NULL;
04473 }
04474 break;
04475
04476 case 482:
04477
04478 { parserData->numberOfOtherVariableResults = 0; }
04479 break;
04480
04481 case 484:
04482
04483 {
04484 if (osresult->setNumberOfOtherVariableResults(parserData->solutionIdx,
04485 parserData->tempInt) == false)
04486 osrlerror(NULL, NULL, parserData, "setNumberOfOtherVariableResults failed");
04487 parserData->numberOfOtherVariableResults = parserData->tempInt;
04488 parserData->iOther = 0;
04489 }
04490 break;
04491
04492 case 493:
04493
04494 {
04495 if (osresult->setNumberOfVarValues(parserData->solutionIdx, parserData->numberOfVar) == false)
04496 osrlerror(NULL, NULL, parserData, "setNumberOfVarValues failed");
04497 parserData->kounter = 0;
04498 }
04499 break;
04500
04501 case 494:
04502
04503 { if (parserData->numberOfVar > 0)
04504 osrlerror(NULL, NULL, parserData, "expected at least one <var> element");
04505 }
04506 break;
04507
04508 case 495:
04509
04510 { if (parserData->kounter != parserData->numberOfVar)
04511 osrlerror(NULL, NULL, parserData, "fewer <var> elements than specified");
04512 }
04513 break;
04514
04515 case 502:
04516
04517 { if (osresult->setVarValue(parserData->solutionIdx, parserData->kounter,
04518 parserData->idx, parserData->tempVal) == false)
04519 osrlerror(NULL, NULL, parserData, "setVarValue failed");
04520 parserData->kounter++;
04521 }
04522 break;
04523
04524 case 503:
04525
04526 {
04527 if (parserData->kounter >= parserData->numberOfVar)
04528 osrlerror(NULL, NULL, parserData, "more <var> elements than specified");
04529 }
04530 break;
04531
04532 case 504:
04533
04534 { parserData->idx = (yyvsp[(3) - (4)].ival); }
04535 break;
04536
04537 case 506:
04538
04539 {parserData->tempVal = (yyvsp[(1) - (1)].ival); }
04540 break;
04541
04542 case 507:
04543
04544 {parserData->tempVal = (yyvsp[(1) - (1)].dval); }
04545 break;
04546
04547 case 511:
04548
04549 {
04550 if (osresult->setNumberOfVarValuesString(parserData->solutionIdx, parserData->numberOfVar) == false)
04551 osrlerror(NULL, NULL, parserData, "setNumberOfVarValuesString failed");
04552 parserData->kounter = 0;
04553 }
04554 break;
04555
04556 case 512:
04557
04558 { if (parserData->numberOfVar > 0)
04559 osrlerror(NULL, NULL, parserData, "expected at least one <var> element");
04560 }
04561 break;
04562
04563 case 513:
04564
04565 { if (parserData->kounter != parserData->numberOfVar)
04566 osrlerror(NULL, NULL, parserData, "fewer <var> elements than specified");
04567 }
04568 break;
04569
04570 case 520:
04571
04572 {
04573 if (osresult->setVarValueString(parserData->solutionIdx, parserData->kounter,
04574 parserData->idx, parserData->tempStr) == false)
04575 osrlerror(NULL, NULL, parserData, "setVarValueString failed");
04576 parserData->kounter++;
04577 }
04578 break;
04579
04580 case 521:
04581
04582 {
04583 if (parserData->kounter >= parserData->numberOfVar)
04584 osrlerror(NULL, NULL, parserData, "more <var> elements than specified");
04585 }
04586 break;
04587
04588 case 522:
04589
04590 { parserData->idx = (yyvsp[(3) - (4)].ival); }
04591 break;
04592
04593 case 523:
04594
04595 {parserData->tempStr = "";}
04596 break;
04597
04598 case 528:
04599
04600 {parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));}
04601 break;
04602
04603 case 532:
04604
04605 {
04606 if (osresult->setNumberOfBasisVar(parserData->solutionIdx, parserData->numberOfVar) == false)
04607 osrlerror(NULL, NULL, parserData, "setNumberOfBasisVar failed");
04608 parserData->kounter = 0;
04609 }
04610 break;
04611
04612 case 533:
04613
04614 { if (parserData->numberOfVar > 0)
04615 osrlerror(NULL, NULL, parserData, "expected at least one <var> element");
04616 }
04617 break;
04618
04619 case 534:
04620
04621 { if (parserData->kounter != parserData->numberOfVar)
04622 osrlerror(NULL, NULL, parserData, "fewer <var> elements than specified");
04623 }
04624 break;
04625
04626 case 542:
04627
04628 {
04629 if (parserData->kounter >= parserData->numberOfVar)
04630 osrlerror(NULL, NULL, parserData, "more <var> elements than specified");
04631 }
04632 break;
04633
04634 case 543:
04635
04636 { parserData->idx = (yyvsp[(3) - (4)].ival); }
04637 break;
04638
04639 case 544:
04640
04641 { parserData->tempStr = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
04642 if (parserData->tempStr != "unknown" &&
04643 parserData->tempStr != "basic" &&
04644 parserData->tempStr != "atLower" &&
04645 parserData->tempStr != "atUpper" &&
04646 parserData->tempStr != "superBasic" )
04647 osrlerror(NULL, NULL, parserData, "unrecognized basis status");
04648 if (osresult->setBasisVar(parserData->solutionIdx, parserData->kounter,
04649 parserData->idx, parserData->tempStr) == false)
04650 osrlerror(NULL, NULL, parserData, "setBasisVar failed");
04651 parserData->kounter++;
04652 }
04653 break;
04654
04655 case 547:
04656
04657 {
04658 parserData->iOther++;
04659 }
04660 break;
04661
04662 case 548:
04663
04664 {
04665 if (parserData->iOther >= parserData->numberOfOtherVariableResults)
04666 osrlerror(NULL, NULL, parserData, "more <otherVariableResults> than specified");
04667 parserData->nameAttributePresent = false;
04668 parserData->numberAttributePresent = false;
04669 parserData->valueAttributePresent = false;
04670 parserData->descriptionAttributePresent = false;
04671 }
04672 break;
04673
04674 case 549:
04675
04676 { if(!parserData->nameAttributePresent)
04677 osrlerror(NULL, NULL, parserData, "other element requires name attribute");
04678 if(!parserData->numberAttributePresent)
04679 osrlerror(NULL, NULL, parserData, "other element requires numberOfVar attribute");
04680 }
04681 break;
04682
04683 case 552:
04684
04685 { if (parserData->numberAttributePresent)
04686 osrlerror(NULL, NULL, parserData, "numberOfVar attribute previously set");
04687 parserData->numberAttributePresent = true;
04688 if (osresult->setOtherVariableResultNumberOfVar(parserData->solutionIdx,
04689 parserData->iOther,
04690 parserData->numberOfVar) == false)
04691 osrlerror(NULL, NULL, parserData, "setOtherVariableResultNumberOfVar failed");
04692 parserData->kounter = 0;
04693 }
04694 break;
04695
04696 case 553:
04697
04698 {
04699 if (osresult->setOtherVariableResultValue(parserData->solutionIdx, parserData->iOther,
04700 parserData->valueAttribute) == false)
04701 osrlerror(NULL, NULL, parserData, "setOtherVariableResultValue failed");
04702 }
04703 break;
04704
04705 case 554:
04706
04707 {
04708 if (osresult->setOtherVariableResultName(parserData->solutionIdx, parserData->iOther,
04709 parserData->nameAttribute) == false)
04710 osrlerror(NULL, NULL, parserData, "setOtherVariableResultName failed");
04711 }
04712 break;
04713
04714 case 555:
04715
04716 {
04717 if (osresult->setOtherVariableResultDescription(parserData->solutionIdx, parserData->iOther,
04718 parserData->descriptionAttribute) == false)
04719 osrlerror(NULL, NULL, parserData, "setOtherVariableResultDescription failed");
04720 }
04721 break;
04722
04723 case 564:
04724
04725 {
04726 parserData->kounter++;
04727 }
04728 break;
04729
04730 case 566:
04731
04732 {
04733 if (osresult->setOtherVariableResultVarIdx(parserData->solutionIdx, parserData->iOther,
04734 parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
04735 osrlerror(NULL, NULL, parserData, "setOtherVariableResultVarIdx failed");
04736 }
04737 break;
04738
04739 case 572:
04740
04741 {
04742 if (osresult->setOtherVariableResultVar(parserData->solutionIdx, parserData->iOther,
04743 parserData->kounter, parserData->tempStr)
04744 == false)
04745 osrlerror(NULL, NULL, parserData, "setOtherVariableResultVar failed");
04746 }
04747 break;
04748
04749 case 575:
04750
04751 { parserData->numberOfOtherObjectiveResults = 0;
04752 parserData->iOther = 0;
04753 }
04754 break;
04755
04756 case 577:
04757
04758 {
04759 parserData->numberOfOtherObjectiveResults = parserData->tempInt;
04760 if (osresult->setNumberOfOtherObjectiveResults(parserData->solutionIdx,
04761 parserData->tempInt) == false)
04762 osrlerror(NULL, NULL, parserData, "setNumberOfOtherObjectiveResults failed");
04763 parserData->iOther = 0;
04764 }
04765 break;
04766
04767 case 586:
04768
04769 {
04770 if (osresult->setNumberOfObjValues(parserData->solutionIdx, parserData->numberOfObj) == false)
04771 osrlerror(NULL, NULL, parserData, "setNumberOfObjValues failed");
04772 parserData->kounter = 0;
04773 }
04774 break;
04775
04776 case 587:
04777
04778 { if (parserData->numberOfObj > 0)
04779 osrlerror(NULL, NULL, parserData, "expected at least one <obj> element");
04780 }
04781 break;
04782
04783 case 588:
04784
04785 { if (parserData->kounter != parserData->numberOfObj)
04786 osrlerror(NULL, NULL, parserData, "fewer <obj> elements than specified");
04787 }
04788 break;
04789
04790 case 595:
04791
04792 { if (osresult->setObjValue(parserData->solutionIdx, parserData->kounter,
04793 parserData->idx, parserData->tempVal) == false)
04794 osrlerror(NULL, NULL, parserData, "setObjValue failed");
04795 parserData->kounter++;
04796 }
04797 break;
04798
04799 case 596:
04800
04801 {
04802 if (parserData->kounter >= parserData->numberOfObj)
04803 osrlerror(NULL, NULL, parserData, "more <obj> elements than specified");
04804 parserData->idx = -1;
04805 }
04806 break;
04807
04808 case 598:
04809
04810 { parserData->idx = (yyvsp[(3) - (4)].ival); }
04811 break;
04812
04813 case 600:
04814
04815 {parserData->tempVal = (yyvsp[(1) - (1)].ival); }
04816 break;
04817
04818 case 601:
04819
04820 {parserData->tempVal = (yyvsp[(1) - (1)].dval); }
04821 break;
04822
04823 case 604:
04824
04825 {
04826 parserData->iOther++;
04827 }
04828 break;
04829
04830 case 605:
04831
04832 {
04833 if (parserData->iOther >= parserData->numberOfOtherObjectiveResults)
04834 osrlerror(NULL, NULL, parserData, "more <otherObjectiveResults> than specified");
04835 parserData->nameAttributePresent = false;
04836 parserData->numberAttributePresent = false;
04837 parserData->valueAttributePresent = false;
04838 parserData->descriptionAttributePresent = false;
04839 }
04840 break;
04841
04842 case 606:
04843
04844 { if(!parserData->nameAttributePresent)
04845 osrlerror(NULL, NULL, parserData, "other element requires name attribute");
04846 if(!parserData->numberAttributePresent)
04847 osrlerror(NULL, NULL, parserData, "other element requires numberOfObj attribute");
04848 }
04849 break;
04850
04851 case 609:
04852
04853 { if (parserData->numberAttributePresent)
04854 osrlerror(NULL, NULL, parserData, "numberOfObj attribute previously set");
04855 parserData->numberAttributePresent = true;
04856 if (osresult->setOtherObjectiveResultNumberOfObj(parserData->solutionIdx,
04857 parserData->iOther,
04858 parserData->numberOfObj) == false)
04859 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultNumberOfObj failed");
04860 parserData->kounter = 0;
04861 }
04862 break;
04863
04864 case 610:
04865
04866 {
04867 if (osresult->setOtherObjectiveResultValue(parserData->solutionIdx, parserData->iOther,
04868 parserData->valueAttribute) == false)
04869 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultValue failed");
04870 }
04871 break;
04872
04873 case 611:
04874
04875 {
04876 if (osresult->setOtherObjectiveResultName(parserData->solutionIdx, parserData->iOther,
04877 parserData->nameAttribute) == false)
04878 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultName failed");
04879 }
04880 break;
04881
04882 case 612:
04883
04884 {
04885 if (osresult->setOtherObjectiveResultDescription(parserData->solutionIdx,
04886 parserData->iOther,
04887 parserData->descriptionAttribute)
04888 == false)
04889 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultDescription failed");
04890 }
04891 break;
04892
04893 case 621:
04894
04895 {
04896 parserData->kounter++;
04897 }
04898 break;
04899
04900 case 623:
04901
04902 { if (osresult->setOtherObjectiveResultObjIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
04903 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultObjIdx failed");
04904 }
04905 break;
04906
04907 case 629:
04908
04909 { if (osresult->setOtherObjectiveResultObj(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
04910 osrlerror(NULL, NULL, parserData, "setOtherObjectiveResultObj failed");
04911 }
04912 break;
04913
04914 case 632:
04915
04916 { parserData->numberOfOtherObjectiveResults = 0;
04917 parserData->iOther = 0;
04918 }
04919 break;
04920
04921 case 634:
04922
04923 {
04924 parserData->numberOfOtherConstraintResults = parserData->tempInt;
04925 if (osresult->setNumberOfOtherConstraintResults(parserData->solutionIdx, parserData->tempInt) == false)
04926 osrlerror(NULL, NULL, parserData, "setNumberOfOtherConstraintResults failed");
04927 parserData->iOther = 0;
04928 }
04929 break;
04930
04931 case 642:
04932
04933 { parserData->numberAttributePresent = false; }
04934 break;
04935
04936 case 643:
04937
04938 {
04939 if (osresult->setNumberOfDualValues(parserData->solutionIdx, parserData->numberOfCon) == false)
04940 osrlerror(NULL, NULL, parserData, "setNumberOfDualValues failed");
04941 parserData->kounter = 0;
04942 }
04943 break;
04944
04945 case 644:
04946
04947 { if (parserData->numberOfCon > 0)
04948 osrlerror(NULL, NULL, parserData, "expected at least one <con> element");
04949 }
04950 break;
04951
04952 case 645:
04953
04954 { if (parserData->kounter != parserData->numberOfCon)
04955 osrlerror(NULL, NULL, parserData, "fewer <con> elements than specified");
04956 }
04957 break;
04958
04959 case 652:
04960
04961 { if (osresult->setDualValue(parserData->solutionIdx, parserData->kounter,
04962 parserData->idx, parserData->tempVal) == false)
04963 osrlerror(NULL, NULL, parserData, "setDualValue failed");
04964 parserData->kounter++;
04965 }
04966 break;
04967
04968 case 653:
04969
04970 {
04971 if (parserData->kounter >= parserData->numberOfCon)
04972 osrlerror(NULL, NULL, parserData, "more <con> elements than specified");
04973 }
04974 break;
04975
04976 case 654:
04977
04978 { parserData->idx = (yyvsp[(3) - (4)].ival); }
04979 break;
04980
04981 case 655:
04982
04983 {parserData->tempVal = (yyvsp[(1) - (1)].ival); }
04984 break;
04985
04986 case 656:
04987
04988 {parserData->tempVal = (yyvsp[(1) - (1)].dval); }
04989 break;
04990
04991 case 659:
04992
04993 {
04994 parserData->iOther++;
04995 }
04996 break;
04997
04998 case 660:
04999
05000 {
05001 if (parserData->iOther >= parserData->numberOfOtherConstraintResults)
05002 osrlerror(NULL, NULL, parserData, "more <otherConstraintResults> than specified");
05003 parserData->nameAttributePresent = false;
05004 parserData->numberAttributePresent = false;
05005 parserData->valueAttributePresent = false;
05006 parserData->descriptionAttributePresent = false;
05007 }
05008 break;
05009
05010 case 661:
05011
05012 { if(!parserData->nameAttributePresent)
05013 osrlerror(NULL, NULL, parserData, "other element requires name attribute");
05014 if(!parserData->numberAttributePresent)
05015 osrlerror(NULL, NULL, parserData, "other element requires numberOfCon attribute");
05016 }
05017 break;
05018
05019 case 664:
05020
05021 { if (parserData->numberAttributePresent)
05022 osrlerror(NULL, NULL, parserData, "numberOfCon attribute previously set");
05023 parserData->numberAttributePresent = true;
05024 if (osresult->setOtherConstraintResultNumberOfCon(parserData->solutionIdx,
05025 parserData->iOther,
05026 parserData->numberOfCon) == false)
05027 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultNumberOfCon failed");
05028 parserData->kounter = 0;
05029 }
05030 break;
05031
05032 case 665:
05033
05034 {
05035 if (osresult->setOtherConstraintResultValue(parserData->solutionIdx, parserData->iOther,
05036 parserData->valueAttribute) == false)
05037 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultValue failed");
05038 }
05039 break;
05040
05041 case 666:
05042
05043 {
05044 if (osresult->setOtherConstraintResultName(parserData->solutionIdx, parserData->iOther,
05045 parserData->nameAttribute) == false)
05046 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultName failed");
05047 }
05048 break;
05049
05050 case 667:
05051
05052 {
05053 if (osresult->setOtherConstraintResultDescription(parserData->solutionIdx, parserData->iOther,
05054 parserData->descriptionAttribute) == false)
05055 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultDescription failed");
05056 }
05057 break;
05058
05059 case 676:
05060
05061 {
05062 parserData->kounter++;
05063 }
05064 break;
05065
05066 case 678:
05067
05068 {
05069 if (osresult->setOtherConstraintResultConIdx(parserData->solutionIdx, parserData->iOther, parserData->kounter, (yyvsp[(3) - (4)].ival)) == false)
05070 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultConIdx failed");
05071 }
05072 break;
05073
05074 case 684:
05075
05076 {
05077 if (osresult->setOtherConstraintResultCon(parserData->solutionIdx, parserData->iOther, parserData->kounter, parserData->tempStr) == false)
05078 osrlerror(NULL, NULL, parserData, "setOtherConstraintResultCon failed");
05079 }
05080 break;
05081
05082 case 687:
05083
05084 {
05085 parserData->numberOf = 0;
05086 }
05087 break;
05088
05089 case 688:
05090
05091 {
05092 if (osresult->setNumberOfOtherSolutionResults(parserData->solutionIdx, parserData->tempInt) == false)
05093 osrlerror(NULL, NULL, parserData, "setNumberOfOtherSolutionResults failed");
05094 parserData->numberOf = parserData->tempInt;
05095 parserData->iOther = 0;
05096 }
05097 break;
05098
05099 case 689:
05100
05101 { if (parserData->numberOf > 0)
05102 osrlerror(NULL, NULL, parserData, "expected at least one <otherSolutionResult> element");
05103 }
05104 break;
05105
05106 case 690:
05107
05108 { if (parserData->iOther != parserData->numberOf)
05109 osrlerror(NULL, NULL, parserData, "fewer <otherSolutionResult> elements than specified");
05110 }
05111 break;
05112
05113 case 697:
05114
05115 { parserData->iOther++;
05116 }
05117 break;
05118
05119 case 698:
05120
05121 { if (parserData->iOther >= parserData->numberOf)
05122 osrlerror(NULL, NULL, parserData, "more <otherSolutionResult> elements than specified");
05123 parserData->numberOfItemsPresent = false;
05124 parserData->nameAttributePresent = false;
05125 parserData->categoryAttributePresent = false;
05126 parserData->descriptionAttributePresent = false;
05127 }
05128 break;
05129
05130 case 699:
05131
05132 { if (!parserData->nameAttributePresent)
05133 osrlerror (NULL, NULL, parserData, "<otherSolutionResult> element must have name attribute");
05134 if (!parserData->numberOfItemsPresent)
05135 osrlerror (NULL, NULL, parserData, "<otherSolutionResult> element must have numberOfItems attribute");
05136 }
05137 break;
05138
05139 case 702:
05140
05141 {
05142 if (osresult->setOtherSolutionResultName(parserData->solutionIdx, parserData->iOther,
05143 parserData->nameAttribute) == false)
05144 osrlerror(NULL, NULL, parserData, "setOtherSolutionResultName failed");
05145 }
05146 break;
05147
05148 case 703:
05149
05150 {
05151 if (osresult->setOtherSolutionResultCategory(parserData->solutionIdx, parserData->iOther,
05152 parserData->categoryAttribute) == false)
05153 osrlerror(NULL, NULL, parserData, "setOtherSolutionResultCategory failed");
05154 }
05155 break;
05156
05157 case 704:
05158
05159 {
05160 if (osresult->setOtherSolutionResultDescription(parserData->solutionIdx,
05161 parserData->iOther,
05162 parserData->descriptionAttribute)
05163 == false)
05164 osrlerror(NULL, NULL, parserData, "setOtherSolutionResultDescription failed");
05165 }
05166 break;
05167
05168 case 705:
05169
05170 {
05171 if (osresult->setOtherSolutionResultNumberOfItems(parserData->solutionIdx,
05172 parserData->iOther,
05173 parserData->numberOfItems) == false)
05174 osrlerror(NULL, NULL, parserData, "setOtherSolutionResultNumberOfItems failed");
05175 parserData->kounter = 0;
05176 }
05177 break;
05178
05179 case 706:
05180
05181 { if (parserData->numberOfItems > 0)
05182 osrlerror(NULL, NULL, parserData, "expected at least one <item> element");
05183 }
05184 break;
05185
05186 case 707:
05187
05188 { if (parserData->kounter != parserData->numberOfItems)
05189 osrlerror(NULL, NULL, parserData, "fewer <item> elements than specified");
05190 }
05191 break;
05192
05193 case 714:
05194
05195 { parserData->kounter++;
05196 }
05197 break;
05198
05199 case 715:
05200
05201 { if (parserData->kounter >= parserData->numberOfItems)
05202 osrlerror(NULL, NULL, parserData, "more <item> elements than specified");
05203 }
05204 break;
05205
05206 case 720:
05207
05208 { if (parserData->kounter >= parserData->numberOfItems)
05209 osrlerror(NULL, NULL, parserData, "more <item> elements than specified");
05210 parserData->itemContent = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval));
05211 if (osresult->setOtherSolutionResultItem(parserData->solutionIdx, parserData->iOther,
05212 parserData->kounter, parserData->itemContent)
05213 == false)
05214 osrlerror(NULL, NULL, parserData, "setOtherSolutionResultItem failed");
05215 }
05216 break;
05217
05218 case 723:
05219
05220 {
05221 parserData->numberOf = 0;
05222 }
05223 break;
05224
05225 case 724:
05226
05227 {
05228 if (osresult->setNumberOfSolverOutputs(parserData->tempInt) == false)
05229 osrlerror(NULL, NULL, parserData, "setNumberOfSolverOutputs failed");
05230 parserData->numberOf = parserData->tempInt;
05231 parserData->iOther = 0;
05232 }
05233 break;
05234
05235 case 725:
05236
05237 { if (parserData->numberOf > 0)
05238 osrlerror(NULL, NULL, parserData, "expected at least one <solverOutput> element");
05239 }
05240 break;
05241
05242 case 726:
05243
05244 { if (parserData->iOther != parserData->numberOf)
05245 osrlerror(NULL, NULL, parserData, "fewer <solverOutput> elements than specified");
05246 }
05247 break;
05248
05249 case 733:
05250
05251 { parserData->iOther++;
05252 }
05253 break;
05254
05255 case 734:
05256
05257 { if (parserData->iOther >= parserData->numberOf)
05258 osrlerror(NULL, NULL, parserData, "more <solverOutput> elements than specified");
05259 parserData->numberOfItemsPresent = false;
05260 parserData->nameAttributePresent = false;
05261 parserData->categoryAttributePresent = false;
05262 parserData->descriptionAttributePresent = false;
05263 }
05264 break;
05265
05266 case 735:
05267
05268 { if (!parserData->nameAttributePresent)
05269 osrlerror (NULL, NULL, parserData, "<solverOutput> element must have name attribute");
05270 if (!parserData->numberOfItemsPresent)
05271 osrlerror (NULL, NULL, parserData, "<solverOutput> element must have numberOfItems attribute");
05272 }
05273 break;
05274
05275 case 738:
05276
05277 {
05278 if (osresult->setSolverOutputName(parserData->iOther, parserData->nameAttribute) == false)
05279 osrlerror(NULL, NULL, parserData, "setSolverOutputName failed");
05280 }
05281 break;
05282
05283 case 739:
05284
05285 {
05286 if (osresult->setSolverOutputCategory(parserData->iOther,
05287 parserData->categoryAttribute) == false)
05288 osrlerror(NULL, NULL, parserData, "setSolverOutputCategory failed");
05289 }
05290 break;
05291
05292 case 740:
05293
05294 {
05295 if (osresult->setSolverOutputDescription(parserData->iOther,
05296 parserData->descriptionAttribute) == false)
05297 osrlerror(NULL, NULL, parserData, "setSolverOutputDescription failed");
05298 }
05299 break;
05300
05301 case 741:
05302
05303 {
05304 if (osresult->setSolverOutputNumberOfItems(parserData->iOther,
05305 parserData->numberOfItems) == false)
05306 osrlerror(NULL, NULL, parserData, "setSolverOutputNumberOfItems failed");
05307 parserData->kounter = 0;
05308 }
05309 break;
05310
05311 case 742:
05312
05313 { if (parserData->numberOfItems > 0)
05314 osrlerror(NULL, NULL, parserData, "expected at least one <item> element");
05315 }
05316 break;
05317
05318 case 743:
05319
05320 { if (parserData->kounter != parserData->numberOfItems)
05321 osrlerror(NULL, NULL, parserData, "fewer <item> elements than specified");
05322 }
05323 break;
05324
05325 case 750:
05326
05327 { parserData->kounter++;
05328 }
05329 break;
05330
05331 case 751:
05332
05333 { if (parserData->kounter >= parserData->numberOfItems)
05334 osrlerror(NULL, NULL, parserData, "more <item> elements than specified");
05335 }
05336 break;
05337
05338 case 755:
05339
05340 { if (parserData->kounter >= parserData->numberOfItems)
05341 osrlerror(NULL, NULL, parserData, "more <item> elements than specified");
05342 parserData->itemContent = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));
05343 if (osresult->setSolverOutputItem(parserData->iOther, parserData->kounter,
05344 parserData->itemContent) == false)
05345 osrlerror(NULL, NULL, parserData, "setSolverOutputItem failed");
05346 }
05347 break;
05348
05349 case 756:
05350
05351 { if (parserData->categoryAttributePresent )
05352 osrlerror(NULL, NULL, parserData, "only one category attribute allowed for this element");
05353 parserData->categoryAttributePresent = true;
05354 }
05355 break;
05356
05357 case 759:
05358
05359 { parserData->categoryAttribute = ""; }
05360 break;
05361
05362 case 760:
05363
05364 { parserData->categoryAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval)); }
05365 break;
05366
05367 case 761:
05368
05369 { if (parserData->descriptionAttributePresent )
05370 osrlerror(NULL, NULL, parserData, "only one description attribute allowed for this element");
05371 parserData->descriptionAttributePresent = true;
05372 }
05373 break;
05374
05375 case 764:
05376
05377 { parserData->descriptionAttribute = ""; }
05378 break;
05379
05380 case 765:
05381
05382 { parserData->descriptionAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
05383 break;
05384
05385 case 766:
05386
05387 { if (parserData->nameAttributePresent )
05388 osrlerror(NULL, NULL, parserData, "only one name attribute allowed for this element");
05389 parserData->nameAttributePresent = true;
05390 }
05391 break;
05392
05393 case 769:
05394
05395 { parserData->nameAttribute = ""; }
05396 break;
05397
05398 case 770:
05399
05400 { parserData->nameAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
05401 break;
05402
05403 case 771:
05404
05405 { if (parserData->typeAttributePresent )
05406 osrlerror(NULL, NULL, parserData, "only one type attribute allowed for this element");
05407 parserData->typeAttributePresent = true;
05408 }
05409 break;
05410
05411 case 774:
05412
05413 { parserData->typeAttribute = ""; }
05414 break;
05415
05416 case 775:
05417
05418 { parserData->typeAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
05419 break;
05420
05421 case 776:
05422
05423 { if (parserData->unitAttributePresent )
05424 osrlerror(NULL, NULL, parserData, "only one unit attribute allowed for this element");
05425 parserData->unitAttributePresent = true;
05426 }
05427 break;
05428
05429 case 779:
05430
05431 { parserData->unitAttribute = ""; }
05432 break;
05433
05434 case 780:
05435
05436 { parserData->unitAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
05437 break;
05438
05439 case 781:
05440
05441 { if (parserData->valueAttributePresent )
05442 osrlerror(NULL, NULL, parserData, "only one value attribute allowed for this element");
05443 parserData->valueAttributePresent = true;
05444 }
05445 break;
05446
05447 case 784:
05448
05449 { parserData->valueAttribute = ""; }
05450 break;
05451
05452 case 785:
05453
05454 { parserData->valueAttribute = (yyvsp[(2) - (3)].sval); free((yyvsp[(2) - (3)].sval));}
05455 break;
05456
05457 case 786:
05458
05459 {
05460 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05461 }
05462 break;
05463
05464 case 787:
05465
05466 { if (parserData->numberAttributePresent)
05467 osrlerror(NULL, NULL, parserData, "numberOfSolutions attribute previously set");
05468 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of solutions cannot be negative");
05469 parserData->numberAttributePresent = true;
05470 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05471 }
05472 break;
05473
05474 case 788:
05475
05476 { if (parserData->nVarPresent)
05477 osrlerror(NULL, NULL, parserData, "numberOfVariables attribute previously set");
05478 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of variables cannot be negative");
05479 parserData->nVarPresent = true;
05480 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05481 }
05482 break;
05483
05484 case 789:
05485
05486 { if (parserData->nConPresent)
05487 osrlerror(NULL, NULL, parserData, "numberOfConstraints attribute previously set");
05488 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of constraints cannot be negative");
05489 parserData->nConPresent = true;
05490 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05491 }
05492 break;
05493
05494 case 790:
05495
05496 { if (parserData->nObjPresent)
05497 osrlerror(NULL, NULL, parserData, "numberOfObjectives attribute previously set");
05498 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of objectives cannot be negative");
05499 parserData->nObjPresent = true;
05500 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05501 }
05502 break;
05503
05504 case 791:
05505
05506 {
05507 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of other variable results cannot be negative");
05508 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05509 }
05510 break;
05511
05512 case 792:
05513
05514 {
05515 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of other objective results cannot be negative");
05516 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05517 }
05518 break;
05519
05520 case 793:
05521
05522 {
05523 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of other constraint results cannot be negative");
05524 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05525 }
05526 break;
05527
05528 case 794:
05529
05530 {
05531 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of other solution results cannot be negative");
05532 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05533 }
05534 break;
05535
05536 case 795:
05537
05538 {
05539 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of <var> cannot be negative");
05540 parserData->numberOfVar = (yyvsp[(3) - (4)].ival);
05541 }
05542 break;
05543
05544 case 796:
05545
05546 {
05547 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of <obj> cannot be negative");
05548 parserData->numberOfObj = (yyvsp[(3) - (4)].ival);
05549 }
05550 break;
05551
05552 case 797:
05553
05554 {
05555 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of <con> cannot be negative");
05556 parserData->numberOfCon = (yyvsp[(3) - (4)].ival);
05557 }
05558 break;
05559
05560 case 798:
05561
05562 {
05563 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05564 }
05565 break;
05566
05567 case 799:
05568
05569 {
05570 if (parserData->numberOfItemsPresent )
05571 osrlerror(NULL, NULL, parserData, "only one numberOfItems attribute allowed");
05572 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of items cannot be negative");
05573 parserData->numberOfItemsPresent = true;
05574 parserData->numberOfItems = (yyvsp[(3) - (4)].ival);
05575 }
05576 break;
05577
05578 case 800:
05579
05580 {
05581 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of other solver outputs cannot be negative");
05582 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05583 }
05584 break;
05585
05586 case 801:
05587
05588 { if (parserData->numberAttributePresent )
05589 osrlerror(NULL, NULL, parserData, "only one numberOfSubstatuses attribute allowed");
05590 parserData->numberAttributePresent = true;
05591 if ((yyvsp[(3) - (4)].ival) < 0) osrlerror(NULL, NULL, parserData, "number of <substatus> elements cannot be negative");
05592 parserData->tempInt = (yyvsp[(3) - (4)].ival);
05593 }
05594 break;
05595
05596 case 802:
05597
05598 {parserData->tempVal = (yyvsp[(1) - (1)].ival);}
05599 break;
05600
05601 case 803:
05602
05603 {parserData->tempVal = (yyvsp[(1) - (1)].dval);}
05604 break;
05605
05606 case 804:
05607
05608 { parserData->tempStr = (yyvsp[(1) - (1)].sval); free((yyvsp[(1) - (1)].sval)); }
05609 break;
05610
05611 case 805:
05612
05613 { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].ival)); }
05614 break;
05615
05616 case 806:
05617
05618 { parserData->tempStr = os_dtoa_format((yyvsp[(1) - (1)].dval)); }
05619 break;
05620
05621
05622
05623
05624 default: break;
05625 }
05626 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
05627
05628 YYPOPSTACK (yylen);
05629 yylen = 0;
05630 YY_STACK_PRINT (yyss, yyssp);
05631
05632 *++yyvsp = yyval;
05633 *++yylsp = yyloc;
05634
05635
05636
05637
05638
05639 yyn = yyr1[yyn];
05640
05641 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
05642 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
05643 yystate = yytable[yystate];
05644 else
05645 yystate = yydefgoto[yyn - YYNTOKENS];
05646
05647 goto yynewstate;
05648
05649
05650
05651
05652
05653 yyerrlab:
05654
05655 if (!yyerrstatus)
05656 {
05657 ++yynerrs;
05658 #if ! YYERROR_VERBOSE
05659 yyerror (&yylloc, osresult, parserData, YY_("syntax error"));
05660 #else
05661 {
05662 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
05663 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
05664 {
05665 YYSIZE_T yyalloc = 2 * yysize;
05666 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
05667 yyalloc = YYSTACK_ALLOC_MAXIMUM;
05668 if (yymsg != yymsgbuf)
05669 YYSTACK_FREE (yymsg);
05670 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
05671 if (yymsg)
05672 yymsg_alloc = yyalloc;
05673 else
05674 {
05675 yymsg = yymsgbuf;
05676 yymsg_alloc = sizeof yymsgbuf;
05677 }
05678 }
05679
05680 if (0 < yysize && yysize <= yymsg_alloc)
05681 {
05682 (void) yysyntax_error (yymsg, yystate, yychar);
05683 yyerror (&yylloc, osresult, parserData, yymsg);
05684 }
05685 else
05686 {
05687 yyerror (&yylloc, osresult, parserData, YY_("syntax error"));
05688 if (yysize != 0)
05689 goto yyexhaustedlab;
05690 }
05691 }
05692 #endif
05693 }
05694
05695 yyerror_range[0] = yylloc;
05696
05697 if (yyerrstatus == 3)
05698 {
05699
05700
05701
05702 if (yychar <= YYEOF)
05703 {
05704
05705 if (yychar == YYEOF)
05706 YYABORT;
05707 }
05708 else
05709 {
05710 yydestruct ("Error: discarding",
05711 yytoken, &yylval, &yylloc, osresult, parserData);
05712 yychar = YYEMPTY;
05713 }
05714 }
05715
05716
05717
05718 goto yyerrlab1;
05719
05720
05721
05722
05723
05724 yyerrorlab:
05725
05726
05727
05728
05729 if ( 0)
05730 goto yyerrorlab;
05731
05732 yyerror_range[0] = yylsp[1-yylen];
05733
05734
05735 YYPOPSTACK (yylen);
05736 yylen = 0;
05737 YY_STACK_PRINT (yyss, yyssp);
05738 yystate = *yyssp;
05739 goto yyerrlab1;
05740
05741
05742
05743
05744
05745 yyerrlab1:
05746 yyerrstatus = 3;
05747
05748 for (;;)
05749 {
05750 yyn = yypact[yystate];
05751 if (yyn != YYPACT_NINF)
05752 {
05753 yyn += YYTERROR;
05754 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
05755 {
05756 yyn = yytable[yyn];
05757 if (0 < yyn)
05758 break;
05759 }
05760 }
05761
05762
05763 if (yyssp == yyss)
05764 YYABORT;
05765
05766 yyerror_range[0] = *yylsp;
05767 yydestruct ("Error: popping",
05768 yystos[yystate], yyvsp, yylsp, osresult, parserData);
05769 YYPOPSTACK (1);
05770 yystate = *yyssp;
05771 YY_STACK_PRINT (yyss, yyssp);
05772 }
05773
05774 if (yyn == YYFINAL)
05775 YYACCEPT;
05776
05777 *++yyvsp = yylval;
05778
05779 yyerror_range[1] = yylloc;
05780
05781
05782 YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
05783 *++yylsp = yyloc;
05784
05785
05786 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
05787
05788 yystate = yyn;
05789 goto yynewstate;
05790
05791
05792
05793
05794
05795 yyacceptlab:
05796 yyresult = 0;
05797 goto yyreturn;
05798
05799
05800
05801
05802 yyabortlab:
05803 yyresult = 1;
05804 goto yyreturn;
05805
05806 #ifndef yyoverflow
05807
05808
05809
05810 yyexhaustedlab:
05811 yyerror (&yylloc, osresult, parserData, YY_("memory exhausted"));
05812 yyresult = 2;
05813
05814 #endif
05815
05816 yyreturn:
05817 if (yychar != YYEOF && yychar != YYEMPTY)
05818 yydestruct ("Cleanup: discarding lookahead",
05819 yytoken, &yylval, &yylloc, osresult, parserData);
05820
05821
05822 YYPOPSTACK (yylen);
05823 YY_STACK_PRINT (yyss, yyssp);
05824 while (yyssp != yyss)
05825 {
05826 yydestruct ("Cleanup: popping",
05827 yystos[*yyssp], yyvsp, yylsp, osresult, parserData);
05828 YYPOPSTACK (1);
05829 }
05830 #ifndef yyoverflow
05831 if (yyss != yyssa)
05832 YYSTACK_FREE (yyss);
05833 #endif
05834 #if YYERROR_VERBOSE
05835 if (yymsg != yymsgbuf)
05836 YYSTACK_FREE (yymsg);
05837 #endif
05838
05839 return YYID (yyresult);
05840 }
05841
05842
05843
05844
05845
05846 void osrlerror(YYLTYPE* mytype, OSResult *osresult, OSrLParserData* parserData, const char* errormsg )
05847 {
05848 osrl_empty_vectors( parserData);
05849 std::ostringstream outStr;
05850 std::string error = errormsg;
05851 error = "Input is either not valid or well formed: " + error;
05852 outStr << error << std::endl;
05853 outStr << "See line number: " << osrlget_lineno( scanner) << std::endl;
05854 outStr << "The offending text is: " << osrlget_text ( scanner ) << std::endl;
05855 error = outStr.str();
05856
05857
05858
05859 throw ErrorClass( error);
05860 }
05861
05862 void yygetOSResult(const char *parsestring, OSResult *osresult, OSrLParserData *parserData) throw(ErrorClass){
05863 try{
05864 osrl_scan_string( parsestring, scanner);
05865 osrlset_lineno (1 , scanner );
05866
05867
05868
05869 if( osrlparse( osresult, parserData) != 0) {
05870
05871 throw ErrorClass( "Error parsing the OSrL");
05872 }
05873 }
05874 catch(const ErrorClass& eclass){
05875 throw ErrorClass( eclass.errormsg);
05876 }
05877 }
05878
05879 void osrl_empty_vectors( OSrLParserData* parserData){
05880
05881 int k;
05882 int numOtherVarVec = parserData->otherVarVec.size();
05883
05884 for( k = 0; k < numOtherVarVec; k++){
05885 if( (parserData->otherVarVec[ k] != NULL) && (parserData->otherVarVec[ k]->otherVarText != NULL) )
05886 delete[] parserData->otherVarVec[ k]->otherVarText;
05887 if( (parserData->otherVarVec[ k] != NULL) && (parserData->otherVarVec[ k]->otherVarIndex != NULL) )
05888 delete[] parserData->otherVarVec[ k]->otherVarIndex;
05889
05890 if( parserData->otherVarVec[ k] != NULL) delete parserData->otherVarVec[ k];
05891 }
05892 parserData->otherVarVec.clear();
05893
05894 int numDualVals = parserData->dualVals.size();
05895 for(k = 0; k < numDualVals; k++){
05896 if( parserData->dualVals[ k] != NULL )
05897 delete parserData->dualVals[ k];
05898 }
05899 parserData->dualVals.clear();
05900
05901
05902 int numObjVals = parserData->objVals.size();
05903 for(k = 0; k < numObjVals; k++){
05904 if( parserData->objVals[ k] != NULL )
05905 delete parserData->objVals[ k];
05906 }
05907 parserData->objVals.clear();
05908
05909
05910 int numPrimalVals = parserData->primalVals.size();
05911 for(k = 0; k < numPrimalVals; k++){
05912 if( parserData->primalVals[ k] != NULL )
05913 delete parserData->primalVals[ k];
05914 }
05915 parserData->primalVals.clear();
05916 }
05917
05918