50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
59 #define YYLSP_NEEDED 1
62 #define yyparse osrlparse
64 #define yyerror osrlerror
65 #define yylval osrllval
66 #define yychar osrlchar
67 #define yydebug osrldebug
68 #define yynerrs osrlnerrs
69 #define yylloc osrllloc
172 #define ATTRIBUTETEXT 258
173 #define ELEMENTTEXT 259
177 #define TWOQUOTES 263
178 #define GREATERTHAN 264
179 #define ENDOFELEMENT 265
180 #define OSRLSTART 266
181 #define OSRLSTARTEMPTY 267
182 #define OSRLATTRIBUTETEXT 268
184 #define GENERALSTART 270
185 #define GENERALEND 271
186 #define SYSTEMSTART 272
187 #define SYSTEMEND 273
188 #define SERVICESTART 274
189 #define SERVICEEND 275
192 #define SERVICEURISTARTANDEND 278
193 #define SERVICEURISTART 279
194 #define SERVICEURIEND 280
195 #define SERVICENAMESTARTANDEND 281
196 #define SERVICENAMESTART 282
197 #define SERVICENAMEEND 283
198 #define INSTANCENAMESTARTANDEND 284
199 #define INSTANCENAMESTART 285
200 #define INSTANCENAMEEND 286
201 #define JOBIDSTARTANDEND 287
202 #define JOBIDSTART 288
204 #define TIMINGINFORMATIONSTART 290
205 #define TIMINGINFORMATIONEND 291
206 #define TIMESTARTANDEND 292
207 #define TIMESTART 293
209 #define OPTIMIZATIONSTART 295
210 #define OPTIMIZATIONEND 296
211 #define SOLUTIONSTART 297
212 #define SOLUTIONEND 298
213 #define VALUESSTART 299
214 #define VALUESEND 300
215 #define DUALVALUESSTART 301
216 #define DUALVALUESEND 302
217 #define VARIABLESSTART 303
218 #define VARIABLESEND 304
221 #define OBJECTIVESSTART 307
222 #define OBJECTIVESEND 308
225 #define CONSTRAINTSSTART 311
226 #define CONSTRAINTSEND 312
229 #define STATUSSTART 315
230 #define STATUSEND 316
231 #define GENERALSTATUSSTART 317
232 #define GENERALSTATUSEND 318
233 #define MESSAGESTART 319
234 #define MESSAGEEND 320
235 #define MESSAGESTARTANDEND 321
236 #define OTHERSTART 322
238 #define NUMBEROFTIMESATT 324
239 #define NUMBEROFSOLUTIONSATT 325
240 #define NUMBEROFVARIABLESATT 326
241 #define NUMBEROFCONSTRAINTSATT 327
242 #define NUMBEROFOBJECTIVESATT 328
243 #define NUMBEROFOTHERVARIABLERESULTSATT 329
244 #define NUMBEROFOTHEROBJECTIVERESULTSATT 330
245 #define NUMBEROFOTHERCONSTRAINTRESULTSATT 331
246 #define NUMBEROFVARATT 332
247 #define NUMBEROFOBJATT 333
248 #define NUMBEROFCONATT 334
249 #define TARGETOBJECTIVEIDXATT 335
252 #define EMPTYTYPEATT 338
253 #define DESCRIPTIONATT 339
254 #define EMPTYDESCRIPTIONATT 340
256 #define EMPTYNAMEATT 342
257 #define CATEGORYATT 343
258 #define EMPTYCATEGORYATT 344
260 #define EMPTYUNITATT 346
262 #define EMPTYVALUEATT 348
304 #ifdef YYERROR_VERBOSE
305 # undef YYERROR_VERBOSE
306 # define YYERROR_VERBOSE 1
308 # define YYERROR_VERBOSE 0
312 #ifndef YYTOKEN_TABLE
313 # define YYTOKEN_TABLE 0
316 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
327 # define yystype YYSTYPE
328 # define YYSTYPE_IS_DECLARED 1
329 # define YYSTYPE_IS_TRIVIAL 1
332 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
340 # define yyltype YYLTYPE
341 # define YYLTYPE_IS_DECLARED 1
342 # define YYLTYPE_IS_TRIVIAL 1
353 #define scanner parserData->scanner
371 #elif (defined __STDC__ || defined __C99__FUNC__ \
372 || defined __cplusplus || defined _MSC_VER)
391 # ifdef __SIZE_TYPE__
392 # define YYSIZE_T __SIZE_TYPE__
393 # elif defined size_t
394 # define YYSIZE_T size_t
395 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
396 || defined __cplusplus || defined _MSC_VER)
398 # define YYSIZE_T size_t
400 # define YYSIZE_T unsigned int
404 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
409 # include <libintl.h>
410 # define YY_(msgid) dgettext ("bison-runtime", msgid)
414 # define YY_(msgid) msgid
419 #if ! defined lint || defined __GNUC__
420 # define YYUSE(e) ((void) (e))
429 #if (defined __STDC__ || defined __C99__FUNC__ \
430 || defined __cplusplus || defined _MSC_VER)
443 #if ! defined yyoverflow || YYERROR_VERBOSE
447 # ifdef YYSTACK_USE_ALLOCA
448 # if YYSTACK_USE_ALLOCA
450 # define YYSTACK_ALLOC __builtin_alloca
451 # elif defined __BUILTIN_VA_ARG_INCR
454 # define YYSTACK_ALLOC __alloca
455 # elif defined _MSC_VER
457 # define alloca _alloca
459 # define YYSTACK_ALLOC alloca
460 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
461 || defined __cplusplus || defined _MSC_VER)
471 # ifdef YYSTACK_ALLOC
473 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
474 # ifndef YYSTACK_ALLOC_MAXIMUM
479 # define YYSTACK_ALLOC_MAXIMUM 4032
482 # define YYSTACK_ALLOC YYMALLOC
483 # define YYSTACK_FREE YYFREE
484 # ifndef YYSTACK_ALLOC_MAXIMUM
485 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
487 # if (defined __cplusplus && ! defined _STDLIB_H \
488 && ! ((defined YYMALLOC || defined malloc) \
489 && (defined YYFREE || defined free)))
496 # define YYMALLOC malloc
497 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
498 || defined __cplusplus || defined _MSC_VER)
504 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
505 || defined __cplusplus || defined _MSC_VER)
513 #if (! defined yyoverflow \
514 && (! defined __cplusplus \
515 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
516 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
527 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
531 # define YYSTACK_BYTES(N) \
532 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
533 + 2 * YYSTACK_GAP_MAXIMUM)
538 # if defined __GNUC__ && 1 < __GNUC__
539 # define YYCOPY(To, From, Count) \
540 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
542 # define YYCOPY(To, From, Count) \
546 for (yyi = 0; yyi < (Count); yyi++) \
547 (To)[yyi] = (From)[yyi]; \
558 # define YYSTACK_RELOCATE(Stack) \
561 YYSIZE_T yynewbytes; \
562 YYCOPY (&yyptr->Stack, Stack, yysize); \
563 Stack = &yyptr->Stack; \
564 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
565 yyptr += yynewbytes / sizeof (*yyptr); \
583 #define YYNSTATES 299
587 #define YYMAXUTOK 349
589 #define YYTRANSLATE(YYX) \
590 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
595 0, 2, 2, 2, 2, 2, 2, 2, 2, 96,
596 98, 2, 2, 97, 2, 2, 2, 2, 2, 2,
597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
598 2, 2, 95, 2, 2, 2, 2, 2, 2, 2,
599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
605 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
607 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
608 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
609 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
610 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
611 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
612 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
613 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
614 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
615 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
616 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
617 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
618 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
619 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
620 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
621 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
622 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
623 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
624 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
625 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
626 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
627 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
628 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
629 85, 86, 87, 88, 89, 90, 91, 92, 93, 94
635 static const yytype_uint16 yyprhs[] =
637 0, 0, 3, 11, 14, 18, 19, 28, 33, 37,
638 39, 42, 46, 48, 52, 54, 55, 57, 61, 64,
639 65, 67, 71, 74, 75, 77, 81, 84, 85, 87,
640 91, 94, 95, 97, 101, 104, 105, 108, 109, 112,
641 113, 117, 118, 122, 127, 129, 133, 134, 137, 139,
642 145, 146, 149, 151, 153, 155, 157, 161, 163, 167,
643 169, 173, 175, 179, 181, 183, 185, 186, 187, 192,
644 193, 197, 199, 202, 203, 206, 209, 212, 215, 218,
645 222, 226, 230, 234, 235, 238, 248, 249, 254, 259,
646 263, 265, 268, 272, 274, 278, 280, 281, 285, 288,
647 289, 300, 301, 306, 311, 313, 316, 322, 324, 326,
648 327, 330, 336, 338, 339, 342, 344, 346, 348, 350,
649 355, 357, 361, 363, 367, 371, 372, 375, 381, 383,
650 385, 387, 389, 390, 400, 405, 406, 409, 415, 421,
651 422, 423, 434, 439, 441, 444, 450, 456, 460, 461,
652 463, 464, 466, 468, 471, 474, 476, 478, 480, 482,
657 static const yytype_int16 yyrhs[] =
659 100, 0, -1, 101, 102, 111, 112, 113, 126, 14,
660 -1, 11, 9, -1, 11, 13, 9, -1, -1, 15,
661 103, 106, 107, 108, 109, 110, 16, -1, 62, 104,
662 9, 63, -1, 62, 104, 10, -1, 105, -1, 104,
663 105, -1, 82, 3, 176, -1, 83, -1, 84, 3,
664 176, -1, 85, -1, -1, 23, -1, 24, 4, 25,
665 -1, 24, 25, -1, -1, 26, -1, 27, 4, 28,
666 -1, 27, 28, -1, -1, 29, -1, 30, 4, 31,
667 -1, 30, 31, -1, -1, 32, -1, 33, 4, 34,
668 -1, 33, 34, -1, -1, 66, -1, 64, 4, 65,
669 -1, 64, 65, -1, -1, 17, 18, -1, -1, 19,
670 20, -1, -1, 21, 114, 22, -1, -1, 35, 115,
671 116, -1, 69, 7, 5, 7, -1, 10, -1, 9,
672 117, 36, -1, -1, 117, 118, -1, 37, -1, 38,
673 119, 9, 125, 39, -1, -1, 119, 120, -1, 121,
674 -1, 122, -1, 123, -1, 124, -1, 82, 3, 7,
675 -1, 83, -1, 88, 3, 7, -1, 89, -1, 90,
676 3, 7, -1, 91, -1, 84, 3, 7, -1, 85,
677 -1, 6, -1, 5, -1, -1, -1, 40, 128, 127,
678 41, -1, -1, 131, 129, 130, -1, 10, -1, 9,
679 137, -1, -1, 131, 132, -1, 133, 176, -1, 134,
680 176, -1, 135, 176, -1, 136, 176, -1, 70, 176,
681 5, -1, 71, 176, 5, -1, 72, 176, 5, -1,
682 73, 176, 5, -1, -1, 137, 138, -1, 42, 139,
683 9, 140, 143, 144, 163, 167, 175, -1, -1, 80,
684 176, 5, 176, -1, 60, 141, 9, 61, -1, 60,
685 141, 10, -1, 142, -1, 141, 142, -1, 82, 3,
686 176, -1, 83, -1, 84, 3, 176, -1, 85, -1,
687 -1, 64, 4, 65, -1, 64, 65, -1, -1, 48,
688 145, 9, 44, 146, 9, 147, 45, 150, 49, -1,
689 -1, 74, 176, 5, 176, -1, 77, 176, 5, 176,
690 -1, 148, -1, 147, 148, -1, 50, 172, 9, 149,
691 51, -1, 5, -1, 6, -1, -1, 150, 151, -1,
692 152, 153, 9, 159, 68, -1, 67, -1, -1, 154,
693 153, -1, 155, -1, 156, -1, 157, -1, 158, -1,
694 77, 176, 5, 176, -1, 93, -1, 92, 3, 176,
695 -1, 87, -1, 86, 3, 176, -1, 84, 3, 176,
696 -1, -1, 160, 159, -1, 162, 172, 9, 161, 51,
697 -1, 4, -1, 5, -1, 6, -1, 50, -1, -1,
698 52, 9, 44, 164, 9, 165, 45, 173, 53, -1,
699 78, 176, 5, 176, -1, -1, 165, 166, -1, 54,
700 172, 9, 6, 55, -1, 54, 172, 9, 5, 55,
701 -1, -1, -1, 56, 9, 46, 169, 168, 9, 170,
702 47, 174, 57, -1, 79, 176, 5, 176, -1, 171,
703 -1, 170, 171, -1, 58, 172, 9, 6, 59, -1,
704 58, 172, 9, 5, 59, -1, 81, 5, 176, -1,
705 -1, 94, -1, -1, 94, -1, 43, -1, 94, 43,
706 -1, 178, 7, -1, 95, -1, 96, -1, 97, -1,
707 98, -1, -1, 178, 177, -1
711 static const yytype_uint16 yyrline[] =
713 0, 116, 116, 119, 120, 124, 124, 126, 127, 129,
714 130, 132, 133, 134, 135, 138, 139, 140, 141, 144,
715 145, 146, 147, 149, 150, 151, 152, 154, 155, 156,
716 157, 159, 160, 161, 162, 164, 164, 166, 166, 168,
717 168, 170, 171, 173, 179, 179, 181, 181, 183, 184,
718 196, 196, 198, 198, 198, 198, 200, 201, 203, 204,
719 206, 207, 209, 210, 213, 214, 218, 218, 218, 221,
720 220, 248, 249, 251, 252, 254, 255, 256, 257, 261,
721 263, 265, 267, 271, 272, 275, 282, 283, 286, 287,
722 290, 291, 293, 294, 295, 296, 298, 299, 301, 305,
723 306, 309, 310, 321, 327, 328, 330, 349, 350, 353,
724 354, 356, 401, 410, 413, 415, 415, 415, 415, 417,
725 423, 424, 428, 432, 437, 445, 446, 448, 469, 470,
726 471, 473, 478, 479, 481, 483, 484, 486, 488, 491,
727 493, 492, 504, 506, 507, 509, 512, 519, 525, 526,
728 528, 529, 531, 532, 538, 540, 541, 542, 543, 545,
733 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
736 static const char *
const yytname[] =
738 "$end",
"error",
"$undefined",
"ATTRIBUTETEXT",
"ELEMENTTEXT",
739 "INTEGER",
"DOUBLE",
"QUOTE",
"TWOQUOTES",
"GREATERTHAN",
"ENDOFELEMENT",
740 "OSRLSTART",
"OSRLSTARTEMPTY",
"OSRLATTRIBUTETEXT",
"OSRLEND",
741 "GENERALSTART",
"GENERALEND",
"SYSTEMSTART",
"SYSTEMEND",
"SERVICESTART",
742 "SERVICEEND",
"JOBSTART",
"JOBEND",
"SERVICEURISTARTANDEND",
743 "SERVICEURISTART",
"SERVICEURIEND",
"SERVICENAMESTARTANDEND",
744 "SERVICENAMESTART",
"SERVICENAMEEND",
"INSTANCENAMESTARTANDEND",
745 "INSTANCENAMESTART",
"INSTANCENAMEEND",
"JOBIDSTARTANDEND",
"JOBIDSTART",
746 "JOBIDEND",
"TIMINGINFORMATIONSTART",
"TIMINGINFORMATIONEND",
747 "TIMESTARTANDEND",
"TIMESTART",
"TIMEEND",
"OPTIMIZATIONSTART",
748 "OPTIMIZATIONEND",
"SOLUTIONSTART",
"SOLUTIONEND",
"VALUESSTART",
749 "VALUESEND",
"DUALVALUESSTART",
"DUALVALUESEND",
"VARIABLESSTART",
750 "VARIABLESEND",
"VARSTART",
"VAREND",
"OBJECTIVESSTART",
"OBJECTIVESEND",
751 "OBJSTART",
"OBJEND",
"CONSTRAINTSSTART",
"CONSTRAINTSEND",
"CONSTART",
752 "CONEND",
"STATUSSTART",
"STATUSEND",
"GENERALSTATUSSTART",
753 "GENERALSTATUSEND",
"MESSAGESTART",
"MESSAGEEND",
"MESSAGESTARTANDEND",
754 "OTHERSTART",
"OTHEREND",
"NUMBEROFTIMESATT",
"NUMBEROFSOLUTIONSATT",
755 "NUMBEROFVARIABLESATT",
"NUMBEROFCONSTRAINTSATT",
756 "NUMBEROFOBJECTIVESATT",
"NUMBEROFOTHERVARIABLERESULTSATT",
757 "NUMBEROFOTHEROBJECTIVERESULTSATT",
"NUMBEROFOTHERCONSTRAINTRESULTSATT",
758 "NUMBEROFVARATT",
"NUMBEROFOBJATT",
"NUMBEROFCONATT",
759 "TARGETOBJECTIVEIDXATT",
"IDXATT",
"TYPEATT",
"EMPTYTYPEATT",
760 "DESCRIPTIONATT",
"EMPTYDESCRIPTIONATT",
"NAMEATT",
"EMPTYNAMEATT",
761 "CATEGORYATT",
"EMPTYCATEGORYATT",
"UNITATT",
"EMPTYUNITATT",
"VALUEATT",
762 "EMPTYVALUEATT",
"DUMMY",
"' '",
"'\\t'",
"'\\r'",
"'\\n'",
"$accept",
763 "osrldoc",
"osrlstart",
"generalElement",
"generalStatus",
764 "anotherGeneralStatusATT",
"generalstatusatt",
"serviceURI",
765 "serviceName",
"instanceName",
"jobID",
"headerMessage",
"systemElement",
766 "serviceElement",
"jobElement",
"timingInformation",
"numberoftimes",
767 "timingContent",
"listOfTimes",
"time",
"timeAttList",
"timeAtt",
768 "timeType",
"timeCategory",
"timeUnit",
"timeDescription",
"timeValue",
769 "optimizationElement",
"@1",
"optimizationContent",
"@2",
"optend",
770 "anotherOptATT",
"optatt",
"optnumsolatt",
"optnumvaratt",
771 "optnumconatt",
"optnumobjatt",
"solution",
"anothersolution",
772 "targetObjectiveIDXATT",
"status",
"anotherStatusATT",
"statusatt",
773 "message",
"variables",
"numberOfOtherVariableResults",
"numberOfVarATT",
774 "var",
"anothervar",
"DoubleOrInt",
"otherVariables",
775 "otherVariableResult",
"otherVariableStart",
"otherVariableATTlist",
776 "othervariableATT",
"numberOfOtherVarATT",
"otherVarValueATT",
777 "otherVarNameATT",
"otherVarDescriptionATT",
"othervarlist",
"othervar",
778 "ElementValue",
"othervarstart",
"objectives",
"numberOfObjATT",
"obj",
779 "anotherobj",
"constraints",
"@3",
"numberOfConATT",
"con",
"anothercon",
780 "anIDXATT",
"otherObjectives",
"otherConstraints",
"otherSolution",
781 "quote",
"xmlWhiteSpaceChar",
"xmlWhiteSpace", 0
788 static const yytype_uint16 yytoknum[] =
790 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
791 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
792 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
793 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
794 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
795 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
796 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
797 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
798 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
799 345, 346, 347, 348, 349, 32, 9, 13, 10
804 static const yytype_uint8
yyr1[] =
806 0, 99, 100, 101, 101, 102, 102, 103, 103, 104,
807 104, 105, 105, 105, 105, 106, 106, 106, 106, 107,
808 107, 107, 107, 108, 108, 108, 108, 109, 109, 109,
809 109, 110, 110, 110, 110, 111, 111, 112, 112, 113,
810 113, 114, 114, 115, 116, 116, 117, 117, 118, 118,
811 119, 119, 120, 120, 120, 120, 121, 121, 122, 122,
812 123, 123, 124, 124, 125, 125, 126, 127, 126, 129,
813 128, 130, 130, 131, 131, 132, 132, 132, 132, 133,
814 134, 135, 136, 137, 137, 138, 139, 139, 140, 140,
815 141, 141, 142, 142, 142, 142, 143, 143, 143, 144,
816 144, 145, 145, 146, 147, 147, 148, 149, 149, 150,
817 150, 151, 152, 153, 153, 154, 154, 154, 154, 155,
818 156, 156, 157, 157, 158, 159, 159, 160, 161, 161,
819 161, 162, 163, 163, 164, 165, 165, 166, 166, 167,
820 168, 167, 169, 170, 170, 171, 171, 172, 173, 173,
821 174, 174, 175, 175, 176, 177, 177, 177, 177, 178,
826 static const yytype_uint8
yyr2[] =
828 0, 2, 7, 2, 3, 0, 8, 4, 3, 1,
829 2, 3, 1, 3, 1, 0, 1, 3, 2, 0,
830 1, 3, 2, 0, 1, 3, 2, 0, 1, 3,
831 2, 0, 1, 3, 2, 0, 2, 0, 2, 0,
832 3, 0, 3, 4, 1, 3, 0, 2, 1, 5,
833 0, 2, 1, 1, 1, 1, 3, 1, 3, 1,
834 3, 1, 3, 1, 1, 1, 0, 0, 4, 0,
835 3, 1, 2, 0, 2, 2, 2, 2, 2, 3,
836 3, 3, 3, 0, 2, 9, 0, 4, 4, 3,
837 1, 2, 3, 1, 3, 1, 0, 3, 2, 0,
838 10, 0, 4, 4, 1, 2, 5, 1, 1, 0,
839 2, 5, 1, 0, 2, 1, 1, 1, 1, 4,
840 1, 3, 1, 3, 3, 0, 2, 5, 1, 1,
841 1, 1, 0, 9, 4, 0, 2, 5, 5, 0,
842 0, 10, 4, 1, 2, 5, 5, 3, 0, 1,
843 0, 1, 1, 2, 2, 1, 1, 1, 1, 0,
852 0, 0, 0, 5, 3, 0, 1, 0, 35, 4,
853 0, 15, 0, 37, 0, 12, 0, 14, 0, 9,
854 16, 0, 19, 36, 0, 39, 159, 159, 0, 8,
855 10, 0, 18, 20, 0, 23, 38, 41, 66, 11,
856 0, 13, 7, 17, 0, 22, 24, 0, 27, 0,
857 0, 73, 0, 154, 155, 156, 157, 158, 160, 21,
858 0, 26, 28, 0, 31, 0, 0, 40, 67, 69,
859 2, 25, 0, 30, 0, 32, 0, 0, 46, 44,
860 42, 0, 159, 159, 159, 159, 0, 74, 159, 159,
861 159, 159, 29, 0, 34, 6, 0, 0, 68, 0,
862 0, 0, 0, 83, 71, 70, 75, 76, 77, 78,
863 33, 43, 45, 48, 50, 47, 79, 80, 81, 82,
864 72, 0, 86, 84, 0, 0, 57, 0, 63, 0,
865 59, 0, 61, 51, 52, 53, 54, 55, 159, 0,
866 65, 64, 0, 0, 0, 0, 0, 0, 0, 49,
867 56, 62, 58, 60, 159, 0, 96, 87, 0, 93,
868 0, 95, 0, 90, 0, 99, 159, 159, 0, 89,
869 91, 0, 98, 101, 132, 92, 94, 88, 97, 159,
870 0, 0, 139, 0, 0, 0, 0, 0, 159, 0,
871 0, 0, 152, 0, 85, 102, 159, 0, 159, 0,
872 0, 153, 0, 0, 0, 135, 159, 140, 159, 0,
873 0, 104, 159, 0, 0, 0, 103, 0, 0, 109,
874 105, 134, 148, 0, 136, 159, 0, 159, 0, 0,
875 149, 0, 0, 142, 0, 0, 143, 147, 107, 108,
876 0, 100, 112, 110, 113, 133, 0, 0, 150, 144,
877 106, 159, 0, 0, 122, 0, 120, 0, 113, 115,
878 116, 117, 118, 0, 0, 0, 151, 0, 0, 159,
879 159, 159, 125, 114, 138, 137, 0, 0, 141, 159,
880 124, 123, 121, 131, 0, 125, 0, 146, 145, 119,
881 111, 126, 0, 0, 128, 129, 130, 0, 127
887 -1, 2, 3, 8, 11, 18, 19, 22, 35, 48,
888 64, 76, 13, 25, 38, 50, 66, 80, 97, 115,
889 121, 133, 134, 135, 136, 137, 142, 52, 81, 68,
890 86, 105, 69, 87, 88, 89, 90, 91, 120, 123,
891 139, 156, 162, 163, 165, 174, 180, 197, 210, 211,
892 240, 229, 243, 244, 257, 258, 259, 260, 261, 262,
893 284, 285, 297, 286, 182, 199, 213, 224, 187, 215,
894 207, 235, 236, 218, 231, 267, 194, 39, 58, 40
899 #define YYPACT_NINF -221
902 13, 14, 29, 16, -221, 24, -221, -24, 43, -221,
903 -41, 56, 98, 55, 114, -221, 115, -221, 3, -221,
904 -221, 7, 71, -221, 99, 100, -221, -221, 57, -221,
905 -221, 97, -221, -221, 6, 70, -221, 88, 84, -221,
906 -6, -221, -221, -221, 101, -221, -221, 5, 69, 59,
907 103, -221, 112, -221, -221, -221, -221, -221, -221, -221,
908 105, -221, -221, 1, -48, 123, 94, -221, -221, -23,
909 -221, -221, 108, -221, 0, -221, 116, 126, -221, -221,
910 -221, 92, -221, -221, -221, -221, 96, -221, -221, -221,
911 -221, -221, -221, 72, -221, -221, 127, 32, -221, 130,
912 133, 136, 138, -221, -221, -221, -221, -221, -221, -221,
913 -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
914 106, -7, 64, -221, 102, 142, -221, 143, -221, 144,
915 -221, 146, -221, -221, -221, -221, -221, -221, -221, 141,
916 -221, -221, 117, 147, 148, 150, 151, 154, 91, -221,
917 -221, -221, -221, -221, -221, -31, 89, -221, 157, -221,
918 159, -221, 11, -221, 2, 118, -221, -221, 111, -221,
919 -221, 110, -221, 90, 113, -221, -221, -221, -221, -221,
920 158, 161, 120, 163, 119, 129, 165, -35, -221, 122,
921 124, 131, -221, 135, -221, -221, -221, 171, -221, 173,
922 125, -221, 178, 134, 181, -221, -221, -221, -221, 128,
923 -28, -221, -221, -26, 182, 179, -221, 184, 183, -221,
924 -221, -221, 121, 128, -221, -221, 132, -221, 104, -42,
925 -221, 140, 185, -221, 128, -32, -221, -221, -221, -221,
926 145, -221, -221, -221, -47, -221, 107, 186, 137, -221,
927 -221, -221, 188, 194, -221, 198, -221, 196, -47, -221,
928 -221, -221, -221, 152, 153, 109, -221, 149, 205, -221,
929 -221, -221, 162, -221, -221, -221, 155, 160, -221, -221,
930 -221, -221, -221, -221, 164, 162, 128, -221, -221, -221,
931 -221, -221, 202, 67, -221, -221, -221, 166, -221
937 -221, -221, -221, -221, -221, -221, 195, -221, -221, -221,
938 -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
939 -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
940 -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
941 -221, -221, -221, 41, -221, -221, -221, -221, -221, 8,
942 -221, -221, -221, -221, -38, -221, -221, -221, -221, -221,
943 -69, -221, -221, -221, -221, -221, -221, -221, -221, -221,
944 -221, -221, -14, -220, -221, -221, -221, -27, -221, -221
951 #define YYTABLE_NINF -1
954 41, 53, 124, 232, 93, 72, 171, 241, 192, 60,
955 44, 31, 28, 29, 247, 248, 74, 219, 75, 222,
956 168, 169, 209, 4, 1, 242, 234, 5, 223, 6,
957 251, 7, 32, 9, 45, 73, 61, 252, 10, 253,
958 254, 14, 15, 16, 17, 255, 256, 82, 83, 84,
959 85, 158, 159, 160, 161, 99, 100, 101, 102, 193,
960 12, 106, 107, 108, 109, 94, 292, 172, 112, 113,
961 114, 294, 295, 296, 24, 125, 126, 127, 128, 20,
962 21, 129, 130, 131, 132, 14, 15, 16, 17, 54,
963 55, 56, 57, 158, 159, 160, 161, 33, 34, 46,
964 47, 62, 63, 78, 79, 103, 104, 140, 141, 238,
965 239, 147, 263, 264, 276, 277, 23, 26, 27, 36,
966 42, 37, 43, 49, 51, 67, 70, 157, 65, 59,
967 77, 96, 95, 98, 111, 116, 71, 110, 117, 175,
968 176, 118, 92, 119, 138, 143, 144, 145, 122, 146,
969 148, 155, 183, 164, 150, 151, 149, 152, 153, 154,
970 166, 195, 167, 189, 179, 181, 173, 184, 188, 202,
971 185, 204, 177, 190, 191, 178, 186, 200, 201, 214,
972 203, 216, 205, 208, 209, 221, 212, 225, 226, 227,
973 234, 269, 228, 245, 246, 265, 250, 270, 233, 196,
974 237, 271, 198, 170, 206, 272, 278, 274, 275, 217,
975 279, 293, 283, 30, 287, 230, 291, 298, 220, 288,
976 273, 249, 0, 0, 268, 0, 0, 0, 0, 0,
977 0, 266, 290, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 280, 281, 282, 0, 0, 0, 0, 0,
984 27, 7, 9, 223, 4, 4, 4, 49, 43, 4,
985 4, 4, 9, 10, 234, 47, 64, 45, 66, 45,
986 9, 10, 50, 9, 11, 67, 58, 13, 54, 0,
987 77, 15, 25, 9, 28, 34, 31, 84, 62, 86,
988 87, 82, 83, 84, 85, 92, 93, 70, 71, 72,
989 73, 82, 83, 84, 85, 82, 83, 84, 85, 94,
990 17, 88, 89, 90, 91, 65, 286, 65, 36, 37,
991 38, 4, 5, 6, 19, 82, 83, 84, 85, 23,
992 24, 88, 89, 90, 91, 82, 83, 84, 85, 95,
993 96, 97, 98, 82, 83, 84, 85, 26, 27, 29,
994 30, 32, 33, 9, 10, 9, 10, 5, 6, 5,
995 6, 138, 5, 6, 5, 6, 18, 3, 3, 20,
996 63, 21, 25, 35, 40, 22, 14, 154, 69, 28,
997 7, 5, 16, 41, 7, 5, 31, 65, 5, 166,
998 167, 5, 34, 5, 80, 3, 3, 3, 42, 3,
999 9, 60, 179, 64, 7, 7, 39, 7, 7, 5,
1000 3, 188, 3, 44, 74, 52, 48, 9, 5, 196,
1001 9, 198, 61, 44, 9, 65, 56, 46, 43, 206,
1002 9, 208, 9, 5, 50, 212, 5, 5, 9, 5,
1003 58, 3, 9, 53, 9, 9, 51, 3, 225, 77,
1004 227, 3, 78, 162, 79, 9, 57, 55, 55, 81,
1005 5, 9, 50, 18, 59, 94, 285, 51, 210, 59,
1006 258, 235, -1, -1, 251, -1, -1, -1, -1, -1,
1007 -1, 94, 68, -1, -1, -1, -1, -1, -1, -1,
1008 -1, -1, 269, 270, 271, -1, -1, -1, -1, -1,
1016 0, 11, 100, 101, 9, 13, 0, 15, 102, 9,
1017 62, 103, 17, 111, 82, 83, 84, 85, 104, 105,
1018 23, 24, 106, 18, 19, 112, 3, 3, 9, 10,
1019 105, 4, 25, 26, 27, 107, 20, 21, 113, 176,
1020 178, 176, 63, 25, 4, 28, 29, 30, 108, 35,
1021 114, 40, 126, 7, 95, 96, 97, 98, 177, 28,
1022 4, 31, 32, 33, 109, 69, 115, 22, 128, 131,
1023 14, 31, 4, 34, 64, 66, 110, 7, 9, 10,
1024 116, 127, 70, 71, 72, 73, 129, 132, 133, 134,
1025 135, 136, 34, 4, 65, 16, 5, 117, 41, 176,
1026 176, 176, 176, 9, 10, 130, 176, 176, 176, 176,
1027 65, 7, 36, 37, 38, 118, 5, 5, 5, 5,
1028 137, 119, 42, 138, 9, 82, 83, 84, 85, 88,
1029 89, 90, 91, 120, 121, 122, 123, 124, 80, 139,
1030 5, 6, 125, 3, 3, 3, 3, 176, 9, 39,
1031 7, 7, 7, 7, 5, 60, 140, 176, 82, 83,
1032 84, 85, 141, 142, 64, 143, 3, 3, 9, 10,
1033 142, 4, 65, 48, 144, 176, 176, 61, 65, 74,
1034 145, 52, 163, 176, 9, 9, 56, 167, 5, 44,
1035 44, 9, 43, 94, 175, 176, 77, 146, 78, 164,
1036 46, 43, 176, 9, 176, 9, 79, 169, 5, 50,
1037 147, 148, 5, 165, 176, 168, 176, 81, 172, 45,
1038 148, 176, 45, 54, 166, 5, 9, 5, 9, 150,
1039 94, 173, 172, 176, 58, 170, 171, 176, 5, 6,
1040 149, 49, 67, 151, 152, 53, 9, 172, 47, 171,
1041 51, 77, 84, 86, 87, 92, 93, 153, 154, 155,
1042 156, 157, 158, 5, 6, 9, 94, 174, 176, 3,
1043 3, 3, 9, 153, 55, 55, 5, 6, 57, 5,
1044 176, 176, 176, 50, 159, 160, 162, 59, 59, 176,
1045 68, 159, 172, 9, 4, 5, 6, 161, 51
1048 #define yyerrok (yyerrstatus = 0)
1049 #define yyclearin (yychar = YYEMPTY)
1050 #define YYEMPTY (-2)
1053 #define YYACCEPT goto yyacceptlab
1054 #define YYABORT goto yyabortlab
1055 #define YYERROR goto yyerrorlab
1062 #define YYFAIL goto yyerrlab
1064 #define YYRECOVERING() (!!yyerrstatus)
1066 #define YYBACKUP(Token, Value) \
1068 if (yychar == YYEMPTY && yylen == 1) \
1072 yytoken = YYTRANSLATE (yychar); \
1078 yyerror (&yylloc, osresult, parserData, YY_("syntax error: cannot back up")); \
1085 #define YYERRCODE 256
1092 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1093 #ifndef YYLLOC_DEFAULT
1094 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1098 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1099 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1100 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1101 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1105 (Current).first_line = (Current).last_line = \
1106 YYRHSLOC (Rhs, 0).last_line; \
1107 (Current).first_column = (Current).last_column = \
1108 YYRHSLOC (Rhs, 0).last_column; \
1118 #ifndef YY_LOCATION_PRINT
1119 # if YYLTYPE_IS_TRIVIAL
1120 # define YY_LOCATION_PRINT(File, Loc) \
1121 fprintf (File, "%d.%d-%d.%d", \
1122 (Loc).first_line, (Loc).first_column, \
1123 (Loc).last_line, (Loc).last_column)
1125 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1133 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
1135 # define YYLEX yylex (&yylval, &yylloc, scanner)
1143 # define YYFPRINTF fprintf
1146 # define YYDPRINTF(Args) \
1152 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1156 YYFPRINTF (stderr, "%s ", Title); \
1157 yy_symbol_print (stderr, \
1158 Type, Value, Location, osresult, parserData); \
1159 YYFPRINTF (stderr, "\n"); \
1169 #if (defined __STDC__ || defined __C99__FUNC__ \
1170 || defined __cplusplus || defined _MSC_VER)
1175 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData)
1178 YYSTYPE const * const yyvaluep;
1179 YYLTYPE const * const yylocationp;
1186 YYUSE (yylocationp);
1191 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1207 #if (defined __STDC__ || defined __C99__FUNC__ \
1208 || defined __cplusplus || defined _MSC_VER)
1213 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData)
1216 YYSTYPE const * const yyvaluep;
1217 YYLTYPE const * const yylocationp;
1223 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
1225 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
1228 YYFPRINTF (yyoutput,
": ");
1229 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osresult, parserData);
1230 YYFPRINTF (yyoutput,
")");
1238 #if (defined __STDC__ || defined __C99__FUNC__ \
1239 || defined __cplusplus || defined _MSC_VER)
1241 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
1244 yy_stack_print (bottom, top)
1245 yytype_int16 *bottom;
1249 YYFPRINTF (stderr,
"Stack now");
1250 for (; bottom <= top; ++bottom)
1251 YYFPRINTF (stderr,
" %d", *bottom);
1252 YYFPRINTF (stderr,
"\n");
1255 # define YY_STACK_PRINT(Bottom, Top) \
1258 yy_stack_print ((Bottom), (Top)); \
1266 #if (defined __STDC__ || defined __C99__FUNC__ \
1267 || defined __cplusplus || defined _MSC_VER)
1272 yy_reduce_print (yyvsp, yylsp, yyrule, osresult, parserData)
1280 int yynrhs = yyr2[yyrule];
1282 unsigned long int yylno = yyrline[yyrule];
1283 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1286 for (yyi = 0; yyi < yynrhs; yyi++)
1288 fprintf (stderr,
" $%d = ", yyi + 1);
1289 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1290 &(yyvsp[(yyi + 1) - (yynrhs)])
1291 , &(yylsp[(yyi + 1) - (yynrhs)]) , osresult, parserData);
1292 fprintf (stderr,
"\n");
1296 # define YY_REDUCE_PRINT(Rule) \
1299 yy_reduce_print (yyvsp, yylsp, Rule, osresult, parserData); \
1306 # define YYDPRINTF(Args)
1307 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1308 # define YY_STACK_PRINT(Bottom, Top)
1309 # define YY_REDUCE_PRINT(Rule)
1315 # define YYINITDEPTH 200
1326 # define YYMAXDEPTH 10000
1334 # if defined __GLIBC__ && defined _STRING_H
1335 # define yystrlen strlen
1338 #if (defined __STDC__ || defined __C99__FUNC__ \
1339 || defined __cplusplus || defined _MSC_VER)
1341 yystrlen (
const char *
yystr)
1349 for (yylen = 0; yystr[
yylen]; yylen++)
1357 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1358 # define yystpcpy stpcpy
1362 #if (defined __STDC__ || defined __C99__FUNC__ \
1363 || defined __cplusplus || defined _MSC_VER)
1368 yystpcpy (yydest, yysrc)
1376 while ((*yyd++ = *yys++) !=
'\0')
1393 yytnamerr (
char *yyres,
const char *yystr)
1398 char const *yyp =
yystr;
1405 goto do_not_strip_quotes;
1409 goto do_not_strip_quotes;
1422 do_not_strip_quotes: ;
1426 return yystrlen (yystr);
1428 return yystpcpy (yyres, yystr) - yyres;
1452 int yysize_overflow = 0;
1453 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1454 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1460 YY_(
"syntax error, unexpected %s");
1461 YY_(
"syntax error, unexpected %s, expecting %s");
1462 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1463 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1464 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1468 static char const yyunexpected[] =
"syntax error, unexpected %s";
1469 static char const yyexpecting[] =
", expecting %s";
1470 static char const yyor[] =
" or %s";
1471 char yyformat[
sizeof yyunexpected
1472 +
sizeof yyexpecting - 1
1473 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1474 * (
sizeof yyor - 1))];
1475 char const *yyprefix = yyexpecting;
1479 int yyxbegin = yyn < 0 ? -yyn : 0;
1482 int yychecklim =
YYLAST - yyn + 1;
1486 yyarg[0] = yytname[
yytype];
1487 yyfmt = yystpcpy (yyformat, yyunexpected);
1489 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1490 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
1492 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1496 yyformat[
sizeof yyunexpected - 1] =
'\0';
1499 yyarg[yycount++] = yytname[yyx];
1500 yysize1 = yysize +
yytnamerr (0, yytname[yyx]);
1501 yysize_overflow |= (yysize1 < yysize);
1503 yyfmt = yystpcpy (yyfmt, yyprefix);
1507 yyf =
YY_(yyformat);
1508 yysize1 = yysize + yystrlen (yyf);
1509 yysize_overflow |= (yysize1 < yysize);
1512 if (yysize_overflow)
1522 while ((*yyp = *yyf) !=
'\0')
1524 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
1547 #if (defined __STDC__ || defined __C99__FUNC__ \
1548 || defined __cplusplus || defined _MSC_VER)
1553 yydestruct (yymsg, yytype, yyvaluep, yylocationp, osresult, parserData)
1563 YYUSE (yylocationp);
1582 #ifdef YYPARSE_PARAM
1583 #if defined __STDC__ || defined __cplusplus
1584 int yyparse (
void *YYPARSE_PARAM);
1589 #if defined __STDC__ || defined __cplusplus
1605 #ifdef YYPARSE_PARAM
1606 #if (defined __STDC__ || defined __C99__FUNC__ \
1607 || defined __cplusplus || defined _MSC_VER)
1613 void *YYPARSE_PARAM;
1616 #if (defined __STDC__ || defined __C99__FUNC__ \
1617 || defined __cplusplus || defined _MSC_VER)
1622 yyparse (osresult, parserData)
1678 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1691 YYDPRINTF ((stderr,
"Starting parse\n"));
1706 #if YYLTYPE_IS_TRIVIAL
1725 if (yyss + yystacksize - 1 <= yyssp)
1728 YYSIZE_T yysize = yyssp - yyss + 1;
1736 yytype_int16 *yyss1 =
yyss;
1743 yyoverflow (
YY_(
"memory exhausted"),
1744 &yyss1, yysize *
sizeof (*yyssp),
1745 &yyvs1, yysize *
sizeof (*yyvsp),
1746 &yyls1, yysize *
sizeof (*yylsp),
1753 # ifndef YYSTACK_RELOCATE
1764 yytype_int16 *yyss1 =
yyss;
1772 # undef YYSTACK_RELOCATE
1779 yyssp = yyss + yysize - 1;
1780 yyvsp = yyvs + yysize - 1;
1781 yylsp = yyls + yysize - 1;
1783 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1784 (
unsigned long int) yystacksize));
1786 if (yyss + yystacksize - 1 <= yyssp)
1790 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1812 YYDPRINTF ((stderr,
"Reading a token: "));
1818 yychar = yytoken =
YYEOF;
1819 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1830 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1853 if (yychar !=
YYEOF)
1887 yyval = yyvsp[1-
yylen];
1906 { osresult->setGeneralStatusType((yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); ; parserData->
generalStatusTypePresent =
true;}
1916 { osresult->setGeneralStatusDescription((yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval));}
1921 { osresult->setGeneralStatusDescription(
"");}
1926 {osresult->setServiceURI( (yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); parserData->
errorText = NULL;}
1931 {osresult->setServiceName( (yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); parserData->
errorText = NULL;}
1936 {osresult->setInstanceName( (yyvsp[(2) - (3)].sval)) ; free((yyvsp[(2) - (3)].sval)); parserData->
errorText = NULL;}
1941 {osresult->setJobID( (yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); parserData->
errorText = NULL;}
1946 {osresult->setGeneralMessage( (yyvsp[(2) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); parserData->
errorText = NULL;}
1951 {
if ((yyvsp[(3) - (4)].ival) < 0)
osrlerror(NULL, NULL, NULL,
"number of time measurements cannot be negative");
1953 parserData->
ivar = 0;
1960 osrlerror(NULL, NULL, NULL,
"Too many time measurements");
1964 parserData->
timeType =
"elapsedTime";
1973 {parserData->
timeType = (yyvsp[(2) - (3)].
sval); free((yyvsp[(2) - (3)].sval));}
1978 {parserData->
timeCategory = (yyvsp[(2) - (3)].
sval); free((yyvsp[(2) - (3)].sval));}
1983 {parserData->
timeUnit = (yyvsp[(2) - (3)].
sval); free((yyvsp[(2) - (3)].sval));}
2003 {printf(
"\nbefore OPTIMIZATIONEND\n");}
2036 {printf(
"\nat optend\n");}
2041 { parserData->
numberOfSolutions = (yyvsp[(3) - (3)].
ival); osresult->setSolutionNumber((yyvsp[(3) - (3)].ival));}
2046 {parserData->
numberOfVariables = (yyvsp[(3) - (3)].
ival); osresult->setVariableNumber((yyvsp[(3) - (3)].ival)); }
2051 {parserData->
numberOfConstraints = (yyvsp[(3) - (3)].
ival); osresult->setConstraintNumber((yyvsp[(3) - (3)].ival));}
2056 {parserData->
numberOfObjectives = (yyvsp[(3) - (3)].
ival); osresult->setObjectiveNumber((yyvsp[(3) - (3)].ival));}
2063 osrlerror(NULL, NULL, NULL,
"too many solutions");
2070 {
if((yyvsp[(3) - (4)].ival) >= 0)
osrlerror(NULL, NULL, NULL,
"target objective index must be negative");
2106 {osresult->optimization->solution[parserData->
solutionIdx]->message = (yyvsp[(2) - (3)].
sval); free((yyvsp[(2) - (3)].sval));}
2111 {osresult->optimization->solution[parserData->
solutionIdx]->message =
"";}
2121 { osresult->setNumberOfOtherVariableResults(parserData->
solutionIdx, (yyvsp[(3) - (4)].
ival));
2133 {osresult->setNumberOfPrimalVariableValues(parserData->
solutionIdx, (yyvsp[(3) - (4)].
ival));
2141 if (parserData->
kounter == osresult->optimization->solution[parserData->
solutionIdx]->variables->values->numberOfVar)
2142 osrlerror(NULL, NULL, NULL,
"too many variables");
2145 osrlerror(NULL, NULL, NULL,
"index must be greater than 0 and less than the number of variables");
2149 osresult->optimization->solution[parserData->
solutionIdx]->variables->values->var.push_back(
new VarValue());
2150 osresult->optimization->solution[parserData->
solutionIdx]->variables->values->var[parserData->
kounter]->idx = parserData->
ivar;
2151 osresult->optimization->solution[parserData->
solutionIdx]->variables->values->var[parserData->
kounter]->value = parserData->
tempVal;
2228 osrlerror(NULL, NULL, NULL,
"other element requires name attribute");
2235 osresult->optimization->solution[parserData->
solutionIdx]->variables->other[parserData->
iOther]->numberOfVar = (yyvsp[(3) - (4)].
ival);
2246 {printf(
"\nset tmpOtherValue: %s\n",(yyvsp[(2) - (3)].sval)); parserData->
tmpOtherValue=(yyvsp[(2) - (3)].
sval); parserData->
otherVarStruct->
value = (yyvsp[(2) - (3)].
sval); osresult->optimization->solution[parserData->
solutionIdx]->variables->other[parserData->
iOther]->value = (yyvsp[(2) - (3)].
sval); free((yyvsp[(2) - (3)].sval));}
2275 parserData->
outStr.str(
"");
2278 if (parserData->
kounter == osresult->optimization->solution[parserData->
solutionIdx]->variables->other[parserData->
iOther]->numberOfVar)
2279 osrlerror(NULL, NULL, NULL,
"too many variables");
2281 osrlerror(NULL, NULL, NULL,
"index must be greater than 0 and less than the number of variables");
2295 { parserData->
outStr << (yyvsp[(1) - (1)].
sval); }
2300 { parserData->
outStr << (yyvsp[(1) - (1)].
ival); }
2305 { parserData->
outStr << (yyvsp[(1) - (1)].
dval); }
2311 osrlerror(NULL, NULL, parserData,
"must specify the number of variables") ;
2354 {parserData->
ivar = (yyvsp[(2) - (3)].
ival);}
2359 {printf(
"\nprocessed SOLUTIONEND\n");}
2364 {printf(
"\nprocessed SOLUTIONEND\n");}
2388 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2404 #if ! YYERROR_VERBOSE
2405 yyerror (&yylloc, osresult, parserData,
YY_(
"syntax error"));
2414 if (yymsg != yymsgbuf)
2418 yymsg_alloc = yyalloc;
2426 if (0 < yysize && yysize <= yymsg_alloc)
2429 yyerror (&yylloc, osresult, parserData, yymsg);
2433 yyerror (&yylloc, osresult, parserData,
YY_(
"syntax error"));
2441 yyerror_range[0] =
yylloc;
2443 if (yyerrstatus == 3)
2448 if (yychar <=
YYEOF)
2451 if (yychar ==
YYEOF)
2456 yydestruct (
"Error: discarding",
2457 yytoken, &yylval, &yylloc, osresult, parserData);
2478 yyerror_range[0] = yylsp[1-
yylen];
2512 yyerror_range[0] = *
yylsp;
2513 yydestruct (
"Error: popping",
2514 yystos[yystate], yyvsp, yylsp, osresult, parserData);
2525 yyerror_range[1] =
yylloc;
2557 yyerror (&yylloc, osresult, parserData,
YY_(
"memory exhausted"));
2564 yydestruct (
"Cleanup: discarding lookahead",
2565 yytoken, &yylval, &yylloc, osresult, parserData);
2570 while (yyssp != yyss)
2572 yydestruct (
"Cleanup: popping",
2573 yystos[*yyssp], yyvsp, yylsp, osresult, parserData);
2581 if (yymsg != yymsgbuf)
2585 return YYID (yyresult);
2594 std::ostringstream outStr;
2595 std::string error = errormsg;
2596 error =
"Input is either not valid or well formed: " + error;
2597 outStr << error << std::endl;
2600 error = outStr.str();
2614 if( osrlparse( osresult, parserData) != 0) {
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
int numberOfOtherVariableResults
the number of types of variable results other than the value of the variable
std::string value
value holds the text of the value attribute of the OtherVariableResult element
#define INSTANCENAMESTART
int numberOfConstraints
total number of constraints in the model instance
bool generalStatusTypePresent
set generalStatusTypePresent to true if there is a general status attribute parsed ...
#define TIMINGINFORMATIONSTART
std::vector< OtherVariableResultStruct * > otherVarVec
store a vector of pointers to otherVarVec structures
unsigned short int yytype_uint16
#define YY_LOCATION_PRINT(File, Loc)
int iOther
a temporary counter to count other variable, objective and constraint results
#define NUMBEROFSOLUTIONSATT
double timeValue
the next few variables store a time measurement and associated attribute values
unsigned char yytype_uint8
static const yytype_int16 yypact[]
std::string tmpOtherValue
Provide temporary storage for attribute values associated with an OtherVarResult. ...
std::string errormsg
errormsg is the error that is causing the exception to be thrown
unsigned int numberOfSolutions
number of result solutions
int numberOfObjectives
total number of Objectives in the model instance
std::string statusType
the status type of the result
#define NUMBEROFOTHERCONSTRAINTRESULTSATT
#define SERVICENAMESTARTANDEND
std::string name
name holds the text of the name attribute of the OtherVariableResult element
int * objectiveIdx
pointer to the array of objective function indexes in each solution
void osrlset_extra(OSrLParserData *parserData, void *yyscanner)
std::ostringstream outStr
a temporary variable to hold an output stream value
int osrllex_destroy(void *scanner)
#define OSRLATTRIBUTETEXT
std::string tmpOtherDescription
#define YYSTACK_RELOCATE(Stack)
std::string description
description holds the text of the description attribute of the OtherVariableResult element ...
bool otherNamePresent
set otherNamePresent to true if there is a name attribute in anotherVarResult
static const yytype_int16 yypgoto[]
#define NUMBEROFOTHEROBJECTIVERESULTSATT
static const yytype_uint8 yyr1[]
static const yytype_uint8 yytranslate[]
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid ...
OSiLParserData * parserData
struct yy_buffer_state * YY_BUFFER_STATE
void osrlset_lineno(int line_number, yyscan_t yyscanner)
Set the current line number.
int numberOfTimes
There could be more than one time measurement; numberOfTimes stores the number of them...
#define SERVICEURISTARTANDEND
#define NUMBEROFVARIABLESATT
char * osrlget_text(yyscan_t yyscanner)
Get the current token.
static YYSIZE_T yysyntax_error(char *yyresult, int yystate, int yychar)
int osrlget_lineno(yyscan_t yyscanner)
Get the current line number.
#define YY_REDUCE_PRINT(Rule)
YY_BUFFER_STATE osrl_scan_string(yyconst char *yy_str, yyscan_t yyscanner)
Setup the input buffer state to scan a string.
static const yytype_uint8 yyr2[]
int * otherVarIndex
otherVarIndex is a pointer to an array with number of elements equal to the number of variables...
#define TARGETOBJECTIVEIDXATT
int osrllex(YYSTYPE *yylval_param, YYLTYPE *yylloc_param, yyscan_t yyscanner)
std::string timeDescription
#define OPTIMIZATIONSTART
static YYSIZE_T yytnamerr(char *yyres, const char *yystr)
static void const char * yymsg
double ** objectiveValues
for each solution we have a pointer to the value of each objective function
YYLTYPE yylsa[YYINITDEPTH]
#define TIMINGINFORMATIONEND
#define YY_STACK_PRINT(Bottom, Top)
int ivar
a temporary counter to count second-level objects
static const yytype_uint16 yytable[]
int osrllex_init(void **ptr_yy_globals)
#define MESSAGESTARTANDEND
std::string * otherVarText
otherVarText is a pointer to an array with number of elements equal to the number of variables...
#define NUMBEROFOBJECTIVESATT
void osrlerror(YYLTYPE *type, OSResult *osresult, OSrLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData, std::string errormsg)
bool statusTypePresent
set statusTypePresent to true if there is a status attribute parsed
static const char *const yytname[]
yytype_int16 yyssa[YYINITDEPTH]
static const yytype_uint8 yydefact[]
int kounter
a temporary counter to count variables, number of attributes, etc.
A structure to information about an OtherVariableResult element.
void yygetOSResult(const char *ch, OSResult *m_osresult, OSrLParserData *m_parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
#define YYSTACK_ALLOC_MAXIMUM
#define NUMBEROFCONSTRAINTSATT
#define GENERALSTATUSSTART
#define INSTANCENAMESTARTANDEND
static char *char * yydest
int numberOfVariables
total number of variables in the model instance
unsigned int solutionIdx
an index of which solution we have found
static const yytype_int16 yycheck[]
#define YYLLOC_DEFAULT(Current, Rhs, N)
static const yytype_int16 yydefgoto[]
used for throwing exceptions.
struct OtherVariableResultStruct * otherVarStruct
a pointer to an OtherVariableResultStruct structure
double tempVal
a temporary variable to hold an integer or double value
The OSrLParserData Class.
static const yytype_uint8 yystos[]
int numberOfVar
numberOfVar holds the number of variables in the array of the OtherVariableResult element ...
static YYSIZE_T const char * yystr
double ** dualSolution
for each solution we have a pointer to each dual solution
double ** primalSolution
for each solution we have a pointer to each primal solution
YYSTYPE yyvsa[YYINITDEPTH]
std::string statusDescription
the status Description of the solution
#define EMPTYDESCRIPTIONATT
#define NUMBEROFOTHERVARIABLERESULTSATT