My Project
OSParseosol.tab.cpp
Go to the documentation of this file.
1
2/* A Bison parser, made by GNU Bison 2.4.1. */
3
4/* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22/* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35/* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
37
38/* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
44
45/* Identify Bison output. */
46#define YYBISON 1
47
48/* Bison version. */
49#define YYBISON_VERSION "2.4.1"
50
51/* Skeleton name. */
52#define YYSKELETON_NAME "yacc.c"
53
54/* Pure parsers. */
55#define YYPURE 1
56
57/* Push parsers. */
58#define YYPUSH 0
59
60/* Pull parsers. */
61#define YYPULL 1
62
63/* Using locations. */
64#define YYLSP_NEEDED 1
65
66/* Substitute the variable and function names. */
67#define yyparse osolparse
68#define yylex osollex
69#define yyerror osolerror
70#define yylval osollval
71#define yychar osolchar
72#define yydebug osoldebug
73#define yynerrs osolnerrs
74#define yylloc osollloc
75
76/* Copy the first part of user declarations. */
77
78
79
80
81#include "OSConfig.h"
82#include "OSMathUtil.h"
83#include "OSParameters.h"
84#include "OSGeneral.h"
85#include "OSErrorClass.h"
86#include "OSOption.h"
87#include "OSoLParserData.h"
88#include "OSgLParserData.h"
89#include "OSnLParserData.h"
90#include "OSBase64.h"
91
92#include <iostream>
93#include <sstream>
94#include <cstdio>
95#include <cstring>
96
97#define OSOPTION_AVAILABLE
98
99//#define DEBUG
100
101#ifdef DEBUG
102#define YYDEBUG 1
103#endif
104
106YY_BUFFER_STATE osol_scan_string (const char *yy_str , void* yyscanner );
107int osollex_init(void** ptr_yy_globals);
108int osollex_destroy (void* yyscanner );
109int osolget_lineno( void* yyscanner);
110char *osolget_text (void* yyscanner );
111void osolset_lineno (int line_number , void* yyscanner );
112void osolset_extra (OSoLParserData* parserData , void* yyscanner );
113void yygetOSOption(const char *ch, OSOption* m_osoption, OSoLParserData *m_parserData, OSgLParserData *osglData, OSnLParserData *osnlData );
117
118
119
120
121
122/* Enabling traces. */
123#ifndef YYDEBUG
124# define YYDEBUG 0
125#endif
126
127/* Enabling verbose error messages. */
128#ifdef YYERROR_VERBOSE
129# undef YYERROR_VERBOSE
130# define YYERROR_VERBOSE 1
131#else
132# define YYERROR_VERBOSE 0
133#endif
134
135/* Enabling the token table. */
136#ifndef YYTOKEN_TABLE
137# define YYTOKEN_TABLE 0
138#endif
139
140
141/* Tokens. */
142#ifndef YYTOKENTYPE
143# define YYTOKENTYPE
144 /* Put the tokens into the symbol table, so that GDB and other debuggers
145 know about them. */
149 ITEMTEXT = 260,
150 INTEGER = 261,
151 DOUBLE = 262,
152 QUOTE = 263,
159 OSOLEND = 270,
172 FROMATT = 283,
173 TOATT = 284,
216 PATHEND = 327,
253 SOSSTART = 364,
254 SOSEND = 365,
297 ELSTART = 408,
298 ELEND = 409,
303 ITEMEND = 414,
317 NAMEATT = 428,
319 TYPEATT = 430,
323 SHAPEATT = 434,
325 UNITATT = 436,
327 VALUEATT = 438,
380 IDXATT = 491,
381 INCRATT = 492,
382 MULTATT = 493,
384 COEFATT = 495,
395 BLOCKEND = 506,
419 INDEXEND = 530,
421 VALUEEND = 532,
440 CONSTART = 551,
441 CONEND = 552,
444 OBJSTART = 555,
445 OBJEND = 556,
448 VARSTART = 559,
449 VAREND = 560,
458 JOBSTART = 569,
459 JOBEND = 570,
469 BASICEND = 580,
483 JOBIDEND = 594,
485 OTHEREND = 596,
486 DUMMY = 597,
490 NLSTART = 601,
491 NLEND = 602,
496 EXPREND = 607,
501 POWEREND = 612,
503 PLUSEND = 614,
505 MINUSEND = 616,
508 LNSTART = 619,
509 LNEND = 620,
511 SQRTEND = 622,
512 SUMSTART = 623,
513 SUMEND = 624,
516 EXPSTART = 627,
517 EXPEND = 628,
520 IFSTART = 631,
521 IFEND = 632,
524 COSSTART = 635,
525 COSEND = 636,
526 SINSTART = 637,
527 SINEND = 638,
530 ABSSTART = 641,
531 ABSEND = 642,
532 ERFSTART = 643,
533 ERFEND = 644,
534 MAXSTART = 645,
535 MAXEND = 646,
538 MINSTART = 649,
539 MINEND = 650,
540 ESTART = 651,
541 EEND = 652,
542 PISTART = 653,
543 PIEND = 654,
545 TIMESEND = 656,
589 IDATT = 700
590 };
591#endif
592/* Tokens. */
593#define ATTRIBUTETEXT 258
594#define ELEMENTTEXT 259
595#define ITEMTEXT 260
596#define INTEGER 261
597#define DOUBLE 262
598#define QUOTE 263
599#define TWOQUOTES 264
600#define GREATERTHAN 265
601#define ENDOFELEMENT 266
602#define OSOLSTART 267
603#define OSOLSTARTEMPTY 268
604#define OSOLATTRIBUTETEXT 269
605#define OSOLEND 270
606#define EMPTYLBVALUEATT 271
607#define EMPTYUBVALUEATT 272
608#define LBVALUEATT 273
609#define UBVALUEATT 274
610#define EMPTYLBDUALVALUEATT 275
611#define EMPTYUBDUALVALUEATT 276
612#define LBDUALVALUEATT 277
613#define UBDUALVALUEATT 278
614#define WEIGHTATT 279
615#define EMPTYWEIGHTATT 280
616#define TRANSPORTTYPEATT 281
617#define LOCATIONTYPEATT 282
618#define FROMATT 283
619#define TOATT 284
620#define MAKECOPYATT 285
621#define NUMBEROFJOBIDSATT 286
622#define NUMBEROFPATHSATT 287
623#define NUMBEROFPATHPAIRSATT 288
624#define NUMBEROFPROCESSESATT 289
625#define NUMBEROFOTHERVARIABLEOPTIONSATT 290
626#define NUMBEROFOTHEROBJECTIVEOPTIONSATT 291
627#define NUMBEROFOTHERCONSTRAINTOPTIONSATT 292
628#define NUMBEROFSOLVEROPTIONSATT 293
629#define NUMBEROFOTHEROPTIONSATT 294
630#define NUMBEROFSOSATT 295
631#define SOSIDXATT 296
632#define GROUPWEIGHTATT 297
633#define INSTANCELOCATIONSTART 298
634#define INSTANCELOCATIONEND 299
635#define SOLVERTOINVOKESTART 300
636#define SOLVERTOINVOKEEND 301
637#define LICENSESTART 302
638#define LICENSEEND 303
639#define USERNAMESTART 304
640#define USERNAMEEND 305
641#define PASSWORDSTART 306
642#define PASSWORDEND 307
643#define CONTACTSTART 308
644#define CONTACTEND 309
645#define MINDISKSPACESTART 310
646#define MINDISKSPACEEND 311
647#define MINMEMORYSTART 312
648#define MINMEMORYEND 313
649#define MINCPUSPEEDSTART 314
650#define MINCPUSPEEDEND 315
651#define MINCPUNUMBERSTART 316
652#define MINCPUNUMBEREND 317
653#define SERVICETYPESTART 318
654#define SERVICETYPEEND 319
655#define MAXTIMESTART 320
656#define MAXTIMEEND 321
657#define REQUESTEDSTARTTIMESTART 322
658#define REQUESTEDSTARTTIMEEND 323
659#define DEPENDENCIESSTART 324
660#define DEPENDENCIESEND 325
661#define PATHSTART 326
662#define PATHEND 327
663#define PATHPAIRSTART 328
664#define PATHPAIREND 329
665#define REQUIREDDIRECTORIESSTART 330
666#define REQUIREDDIRECTORIESEND 331
667#define REQUIREDFILESSTART 332
668#define REQUIREDFILESEND 333
669#define DIRECTORIESTOMAKESTART 334
670#define DIRECTORIESTOMAKEEND 335
671#define FILESTOMAKESTART 336
672#define FILESTOMAKEEND 337
673#define DIRECTORIESTODELETESTART 338
674#define DIRECTORIESTODELETEEND 339
675#define FILESTODELETESTART 340
676#define FILESTODELETEEND 341
677#define INPUTDIRECTORIESTOMOVESTART 342
678#define INPUTDIRECTORIESTOMOVEEND 343
679#define INPUTFILESTOMOVESTART 344
680#define INPUTFILESTOMOVEEND 345
681#define OUTPUTDIRECTORIESTOMOVESTART 346
682#define OUTPUTDIRECTORIESTOMOVEEND 347
683#define OUTPUTFILESTOMOVESTART 348
684#define OUTPUTFILESTOMOVEEND 349
685#define PROCESSESTOKILLSTART 350
686#define PROCESSESTOKILLEND 351
687#define PROCESSSTART 352
688#define PROCESSEND 353
689#define INITIALVARIABLEVALUESSTART 354
690#define INITIALVARIABLEVALUESEND 355
691#define INITIALVARIABLEVALUESSTRINGSTART 356
692#define INITIALVARIABLEVALUESSTRINGEND 357
693#define INITIALBASISSTATUSSTART 358
694#define INITIALBASISSTATUSEND 359
695#define INTEGERVARIABLEBRANCHINGWEIGHTSSTART 360
696#define INTEGERVARIABLEBRANCHINGWEIGHTSEND 361
697#define SOSVARIABLEBRANCHINGWEIGHTSSTART 362
698#define SOSVARIABLEBRANCHINGWEIGHTSEND 363
699#define SOSSTART 364
700#define SOSEND 365
701#define INITIALOBJECTIVEVALUESSTART 366
702#define INITIALOBJECTIVEVALUESEND 367
703#define INITIALOBJECTIVEBOUNDSSTART 368
704#define INITIALOBJECTIVEBOUNDSEND 369
705#define INITIALCONSTRAINTVALUESSTART 370
706#define INITIALCONSTRAINTVALUESEND 371
707#define INITIALDUALVALUESSTART 372
708#define INITIALDUALVALUESEND 373
709#define SOLVEROPTIONSSTART 374
710#define SOLVEROPTIONSEND 375
711#define SOLVEROPTIONSTART 376
712#define SOLVEROPTIONEND 377
713#define OTHEROPTIONSSTART 378
714#define OTHEROPTIONSEND 379
715#define HEADERSTART 380
716#define HEADEREND 381
717#define FILENAMESTART 382
718#define FILENAMEEND 383
719#define FILENAMEEMPTY 384
720#define FILENAMESTARTANDEND 385
721#define FILESOURCESTART 386
722#define FILESOURCEEND 387
723#define FILESOURCEEMPTY 388
724#define FILESOURCESTARTANDEND 389
725#define FILEDESCRIPTIONSTART 390
726#define FILEDESCRIPTIONEND 391
727#define FILEDESCRIPTIONEMPTY 392
728#define FILEDESCRIPTIONSTARTANDEND 393
729#define FILECREATORSTART 394
730#define FILECREATOREND 395
731#define FILECREATOREMPTY 396
732#define FILECREATORSTARTANDEND 397
733#define FILELICENCESTART 398
734#define FILELICENCEEND 399
735#define FILELICENCEEMPTY 400
736#define FILELICENCESTARTANDEND 401
737#define INDEXESSTART 402
738#define INDEXESEND 403
739#define VALUESSTART 404
740#define VALUESEND 405
741#define NONZEROSSTART 406
742#define NONZEROSEND 407
743#define ELSTART 408
744#define ELEND 409
745#define ENUMERATIONSTART 410
746#define ENUMERATIONEND 411
747#define ITEMEMPTY 412
748#define ITEMSTART 413
749#define ITEMEND 414
750#define ITEMSTARTANDEND 415
751#define BASE64START 416
752#define BASE64END 417
753#define NUMBEROFELATT 418
754#define NUMBEROFENUMERATIONSATT 419
755#define NUMBEROFITEMSATT 420
756#define EMPTYCATEGORYATT 421
757#define CATEGORYATT 422
758#define EMPTYDESCRIPTIONATT 423
759#define DESCRIPTIONATT 424
760#define EMPTYSOLVERATT 425
761#define SOLVERATT 426
762#define EMPTYNAMEATT 427
763#define NAMEATT 428
764#define EMPTYTYPEATT 429
765#define TYPEATT 430
766#define EMPTYENUMTYPEATT 431
767#define ENUMTYPEATT 432
768#define EMPTYSHAPEATT 433
769#define SHAPEATT 434
770#define EMPTYUNITATT 435
771#define UNITATT 436
772#define EMPTYVALUEATT 437
773#define VALUEATT 438
774#define EMPTYVALUETYPEATT 439
775#define VALUETYPEATT 440
776#define EMPTYCONTYPEATT 441
777#define CONTYPEATT 442
778#define EMPTYOBJTYPEATT 443
779#define OBJTYPEATT 444
780#define EMPTYVARTYPEATT 445
781#define VARTYPEATT 446
782#define EMPTYMATRIXCONTYPEATT 447
783#define MATRIXCONTYPEATT 448
784#define EMPTYMATRIXOBJTYPEATT 449
785#define MATRIXOBJTYPEATT 450
786#define EMPTYMATRIXVARTYPEATT 451
787#define MATRIXVARTYPEATT 452
788#define EMPTYMATRIXTYPEATT 453
789#define MATRIXTYPEATT 454
790#define EMPTYSYMMETRYATT 455
791#define SYMMETRYATT 456
792#define EMPTYROWMAJORATT 457
793#define ROWMAJORATT 458
794#define EMPTYBASETRANSPOSEATT 459
795#define BASETRANSPOSEATT 460
796#define NUMBEROFBLOCKSATT 461
797#define NUMBEROFCOLUMNSATT 462
798#define NUMBEROFROWSATT 463
799#define NUMBEROFMATRICESATT 464
800#define NUMBEROFVALUESATT 465
801#define NUMBEROFCONSTRAINTSATT 466
802#define NUMBEROFCONATT 467
803#define NUMBEROFCONIDXATT 468
804#define NUMBEROFOBJECTIVESATT 469
805#define NUMBEROFOBJATT 470
806#define NUMBEROFOBJIDXATT 471
807#define NUMBEROFVARIABLESATT 472
808#define NUMBEROFVARATT 473
809#define NUMBEROFVARIDXATT 474
810#define NUMBEROFMATRIXCONATT 475
811#define NUMBEROFMATRIXOBJATT 476
812#define NUMBEROFMATRIXVARATT 477
813#define BASEMATRIXIDXATT 478
814#define TARGETMATRIXFIRSTROWATT 479
815#define TARGETMATRIXFIRSTCOLATT 480
816#define BASEMATRIXSTARTROWATT 481
817#define BASEMATRIXSTARTCOLATT 482
818#define BASEMATRIXENDROWATT 483
819#define BASEMATRIXENDCOLATT 484
820#define SCALARMULTIPLIERATT 485
821#define BLOCKROWIDXATT 486
822#define BLOCKCOLIDXATT 487
823#define MATRIXVARIDXATT 488
824#define MATRIXOBJIDXATT 489
825#define MATRIXCONIDXATT 490
826#define IDXATT 491
827#define INCRATT 492
828#define MULTATT 493
829#define SIZEOFATT 494
830#define COEFATT 495
831#define CONSTANTATT 496
832#define MATRICESSTART 497
833#define MATRICESEND 498
834#define MATRIXSTART 499
835#define MATRIXEND 500
836#define BASEMATRIXEND 501
837#define BASEMATRIXSTART 502
838#define BLOCKSSTART 503
839#define BLOCKSEND 504
840#define BLOCKSTART 505
841#define BLOCKEND 506
842#define COLOFFSETSTART 507
843#define COLOFFSETEND 508
844#define ROWOFFSETSTART 509
845#define ROWOFFSETEND 510
846#define ELEMENTSSTART 511
847#define ELEMENTSEND 512
848#define CONSTANTELEMENTSSTART 513
849#define CONSTANTELEMENTSEND 514
850#define VARREFERENCEELEMENTSSTART 515
851#define VARREFERENCEELEMENTSEND 516
852#define LINEARELEMENTSSTART 517
853#define LINEARELEMENTSEND 518
854#define GENERALELEMENTSSTART 519
855#define GENERALELEMENTSEND 520
856#define CONREFERENCEELEMENTSSTART 521
857#define CONREFERENCEELEMENTSEND 522
858#define OBJREFERENCEELEMENTSSTART 523
859#define OBJREFERENCEELEMENTSEND 524
860#define STRINGVALUEDELEMENTSSTART 525
861#define STRINGVALUEDELEMENTSEND 526
862#define STARTVECTORSTART 527
863#define STARTVECTOREND 528
864#define INDEXSTART 529
865#define INDEXEND 530
866#define VALUESTART 531
867#define VALUEEND 532
868#define VARIDXSTART 533
869#define VARIDXEND 534
870#define TRANSFORMATIONSTART 535
871#define TRANSFORMATIONEND 536
872#define MATRIXPROGRAMMINGSTART 537
873#define MATRIXPROGRAMMINGEND 538
874#define MATRIXVARIABLESSTART 539
875#define MATRIXVARIABLESEND 540
876#define MATRIXVARSTART 541
877#define MATRIXVAREND 542
878#define MATRIXOBJECTIVESSTART 543
879#define MATRIXOBJECTIVESEND 544
880#define MATRIXOBJSTART 545
881#define MATRIXOBJEND 546
882#define MATRIXCONSTRAINTSSTART 547
883#define MATRIXCONSTRAINTSEND 548
884#define MATRIXCONSTART 549
885#define MATRIXCONEND 550
886#define CONSTART 551
887#define CONEND 552
888#define CONSTRAINTSSTART 553
889#define CONSTRAINTSEND 554
890#define OBJSTART 555
891#define OBJEND 556
892#define OBJECTIVESSTART 557
893#define OBJECTIVESEND 558
894#define VARSTART 559
895#define VAREND 560
896#define VARIABLESSTART 561
897#define VARIABLESEND 562
898#define GENERALSTART 563
899#define GENERALEND 564
900#define SYSTEMSTART 565
901#define SYSTEMEND 566
902#define SERVICESTART 567
903#define SERVICEEND 568
904#define JOBSTART 569
905#define JOBEND 570
906#define OPTIMIZATIONSTART 571
907#define OPTIMIZATIONEND 572
908#define ATEQUALITYSTART 573
909#define ATEQUALITYEND 574
910#define ATLOWERSTART 575
911#define ATLOWEREND 576
912#define ATUPPERSTART 577
913#define ATUPPEREND 578
914#define BASICSTART 579
915#define BASICEND 580
916#define ISFREESTART 581
917#define ISFREEEND 582
918#define SUPERBASICSTART 583
919#define SUPERBASICEND 584
920#define UNKNOWNSTART 585
921#define UNKNOWNEND 586
922#define SERVICEURISTART 587
923#define SERVICEURIEND 588
924#define SERVICENAMESTART 589
925#define SERVICENAMEEND 590
926#define INSTANCENAMESTART 591
927#define INSTANCENAMEEND 592
928#define JOBIDSTART 593
929#define JOBIDEND 594
930#define OTHERSTART 595
931#define OTHEREND 596
932#define DUMMY 597
933#define NONLINEAREXPRESSIONSSTART 598
934#define NONLINEAREXPRESSIONSEND 599
935#define NUMBEROFNONLINEAREXPRESSIONS 600
936#define NLSTART 601
937#define NLEND 602
938#define MATRIXEXPRESSIONSSTART 603
939#define MATRIXEXPRESSIONSEND 604
940#define NUMBEROFEXPR 605
941#define EXPRSTART 606
942#define EXPREND 607
943#define NUMBEROFMATRIXTERMSATT 608
944#define MATRIXTERMSTART 609
945#define MATRIXTERMEND 610
946#define POWERSTART 611
947#define POWEREND 612
948#define PLUSSTART 613
949#define PLUSEND 614
950#define MINUSSTART 615
951#define MINUSEND 616
952#define DIVIDESTART 617
953#define DIVIDEEND 618
954#define LNSTART 619
955#define LNEND 620
956#define SQRTSTART 621
957#define SQRTEND 622
958#define SUMSTART 623
959#define SUMEND 624
960#define PRODUCTSTART 625
961#define PRODUCTEND 626
962#define EXPSTART 627
963#define EXPEND 628
964#define NEGATESTART 629
965#define NEGATEEND 630
966#define IFSTART 631
967#define IFEND 632
968#define SQUARESTART 633
969#define SQUAREEND 634
970#define COSSTART 635
971#define COSEND 636
972#define SINSTART 637
973#define SINEND 638
974#define VARIABLESTART 639
975#define VARIABLEEND 640
976#define ABSSTART 641
977#define ABSEND 642
978#define ERFSTART 643
979#define ERFEND 644
980#define MAXSTART 645
981#define MAXEND 646
982#define ALLDIFFSTART 647
983#define ALLDIFFEND 648
984#define MINSTART 649
985#define MINEND 650
986#define ESTART 651
987#define EEND 652
988#define PISTART 653
989#define PIEND 654
990#define TIMESSTART 655
991#define TIMESEND 656
992#define NUMBERSTART 657
993#define NUMBEREND 658
994#define MATRIXDETERMINANTSTART 659
995#define MATRIXDETERMINANTEND 660
996#define MATRIXTRACESTART 661
997#define MATRIXTRACEEND 662
998#define MATRIXTOSCALARSTART 663
999#define MATRIXTOSCALAREND 664
1000#define MATRIXDIAGONALSTART 665
1001#define MATRIXDIAGONALEND 666
1002#define MATRIXDOTTIMESSTART 667
1003#define MATRIXDOTTIMESEND 668
1004#define MATRIXLOWERTRIANGLESTART 669
1005#define MATRIXLOWERTRIANGLEEND 670
1006#define MATRIXUPPERTRIANGLESTART 671
1007#define MATRIXUPPERTRIANGLEEND 672
1008#define MATRIXMERGESTART 673
1009#define MATRIXMERGEEND 674
1010#define MATRIXMINUSSTART 675
1011#define MATRIXMINUSEND 676
1012#define MATRIXNEGATESTART 677
1013#define MATRIXNEGATEEND 678
1014#define MATRIXPLUSSTART 679
1015#define MATRIXPLUSEND 680
1016#define MATRIXTIMESSTART 681
1017#define MATRIXTIMESEND 682
1018#define MATRIXPRODUCTSTART 683
1019#define MATRIXPRODUCTEND 684
1020#define MATRIXSCALARTIMESSTART 685
1021#define MATRIXSCALARTIMESEND 686
1022#define MATRIXSUBMATRIXATSTART 687
1023#define MATRIXSUBMATRIXATEND 688
1024#define MATRIXTRANSPOSESTART 689
1025#define MATRIXTRANSPOSEEND 690
1026#define MATRIXREFERENCESTART 691
1027#define MATRIXREFERENCEEND 692
1028#define IDENTITYMATRIXSTART 693
1029#define IDENTITYMATRIXEND 694
1030#define MATRIXINVERSESTART 695
1031#define MATRIXINVERSEEND 696
1032#define EMPTYINCLUDEDIAGONALATT 697
1033#define INCLUDEDIAGONALATT 698
1034#define EMPTYIDATT 699
1035#define IDATT 700
1036
1037
1038
1039
1040#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1041typedef union YYSTYPE
1042{
1043
1044
1045 double dval;
1046 int ival;
1047 char* sval;
1048
1049
1050
1052# define YYSTYPE_IS_TRIVIAL 1
1053# define yystype YYSTYPE /* obsolescent; will be withdrawn */
1054# define YYSTYPE_IS_DECLARED 1
1055#endif
1056
1057#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1058typedef struct YYLTYPE
1059{
1060 int first_line;
1061 int first_column;
1062 int last_line;
1063 int last_column;
1065# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
1066# define YYLTYPE_IS_DECLARED 1
1067# define YYLTYPE_IS_TRIVIAL 1
1068#endif
1069
1070
1071/* Copy the second part of user declarations. */
1072
1073
1074
1075std::string addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, OSnLParserData* osnlData, std::string errormsg ) ;
1077int osollex(YYSTYPE* lvalp, YYLTYPE* llocp, void* scanner);
1078#define scanner parserData->scanner
1079
1080
1081
1082#ifdef short
1083# undef short
1084#endif
1085
1086#ifdef YYTYPE_UINT8
1087typedef YYTYPE_UINT8 yytype_uint8;
1088#else
1089typedef unsigned char yytype_uint8;
1090#endif
1091
1092#ifdef YYTYPE_INT8
1093typedef YYTYPE_INT8 yytype_int8;
1094#elif (defined __STDC__ || defined __C99__FUNC__ \
1095 || defined __cplusplus || defined _MSC_VER)
1096typedef signed char yytype_int8;
1097#else
1098typedef short int yytype_int8;
1099#endif
1100
1101#ifdef YYTYPE_UINT16
1102typedef YYTYPE_UINT16 yytype_uint16;
1103#else
1104typedef unsigned short int yytype_uint16;
1105#endif
1106
1107#ifdef YYTYPE_INT16
1108typedef YYTYPE_INT16 yytype_int16;
1109#else
1110typedef short int yytype_int16;
1111#endif
1112
1113#ifndef YYSIZE_T
1114# ifdef __SIZE_TYPE__
1115# define YYSIZE_T __SIZE_TYPE__
1116# elif defined size_t
1117# define YYSIZE_T size_t
1118# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1119 || defined __cplusplus || defined _MSC_VER)
1120# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1121# define YYSIZE_T size_t
1122# else
1123# define YYSIZE_T unsigned int
1124# endif
1125#endif
1126
1127#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1128
1129#ifndef YY_
1130# if YYENABLE_NLS
1131# if ENABLE_NLS
1132# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1133# define YY_(msgid) dgettext ("bison-runtime", msgid)
1134# endif
1135# endif
1136# ifndef YY_
1137# define YY_(msgid) msgid
1138# endif
1139#endif
1140
1141/* Suppress unused-variable warnings by "using" E. */
1142#if ! defined lint || defined __GNUC__
1143# define YYUSE(e) ((void) (e))
1144#else
1145# define YYUSE(e) /* empty */
1146#endif
1147
1148/* Identity function, used to suppress warnings about constant conditions. */
1149#ifndef lint
1150# define YYID(n) (n)
1151#else
1152#if (defined __STDC__ || defined __C99__FUNC__ \
1153 || defined __cplusplus || defined _MSC_VER)
1154static int
1155YYID (int yyi)
1156#else
1157static int
1158YYID (yyi)
1159 int yyi;
1160#endif
1161{
1162 return yyi;
1163}
1164#endif
1165
1166#if ! defined yyoverflow || YYERROR_VERBOSE
1167
1168/* The parser invokes alloca or malloc; define the necessary symbols. */
1169
1170# ifdef YYSTACK_USE_ALLOCA
1171# if YYSTACK_USE_ALLOCA
1172# ifdef __GNUC__
1173# define YYSTACK_ALLOC __builtin_alloca
1174# elif defined __BUILTIN_VA_ARG_INCR
1175# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1176# elif defined _AIX
1177# define YYSTACK_ALLOC __alloca
1178# elif defined _MSC_VER
1179# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1180# define alloca _alloca
1181# else
1182# define YYSTACK_ALLOC alloca
1183# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1184 || defined __cplusplus || defined _MSC_VER)
1185# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1186# ifndef _STDLIB_H
1187# define _STDLIB_H 1
1188# endif
1189# endif
1190# endif
1191# endif
1192# endif
1193
1194# ifdef YYSTACK_ALLOC
1195 /* Pacify GCC's `empty if-body' warning. */
1196# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1197# ifndef YYSTACK_ALLOC_MAXIMUM
1198 /* The OS might guarantee only one guard page at the bottom of the stack,
1199 and a page size can be as small as 4096 bytes. So we cannot safely
1200 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1201 to allow for a few compiler-allocated temporary stack slots. */
1202# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1203# endif
1204# else
1205# define YYSTACK_ALLOC YYMALLOC
1206# define YYSTACK_FREE YYFREE
1207# ifndef YYSTACK_ALLOC_MAXIMUM
1208# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1209# endif
1210# if (defined __cplusplus && ! defined _STDLIB_H \
1211 && ! ((defined YYMALLOC || defined malloc) \
1212 && (defined YYFREE || defined free)))
1213# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1214# ifndef _STDLIB_H
1215# define _STDLIB_H 1
1216# endif
1217# endif
1218# ifndef YYMALLOC
1219# define YYMALLOC malloc
1220# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1221 || defined __cplusplus || defined _MSC_VER)
1222void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1223# endif
1224# endif
1225# ifndef YYFREE
1226# define YYFREE free
1227# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1228 || defined __cplusplus || defined _MSC_VER)
1229void free (void *); /* INFRINGES ON USER NAME SPACE */
1230# endif
1231# endif
1232# endif
1233#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1234
1235
1236#if (! defined yyoverflow \
1237 && (! defined __cplusplus \
1238 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1239 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1240
1241/* A type that is properly aligned for any stack member. */
1242union yyalloc
1243{
1247};
1248
1249/* The size of the maximum gap between one aligned stack and the next. */
1250# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1251
1252/* The size of an array large to enough to hold all stacks, each with
1253 N elements. */
1254# define YYSTACK_BYTES(N) \
1255 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1256 + 2 * YYSTACK_GAP_MAXIMUM)
1257
1258/* Copy COUNT objects from FROM to TO. The source and destination do
1259 not overlap. */
1260# ifndef YYCOPY
1261# if defined __GNUC__ && 1 < __GNUC__
1262# define YYCOPY(To, From, Count) \
1263 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1264# else
1265# define YYCOPY(To, From, Count) \
1266 do \
1267 { \
1268 YYSIZE_T yyi; \
1269 for (yyi = 0; yyi < (Count); yyi++) \
1270 (To)[yyi] = (From)[yyi]; \
1271 } \
1272 while (YYID (0))
1273# endif
1274# endif
1275
1276/* Relocate STACK from its old location to the new one. The
1277 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1278 elements in the stack, and YYPTR gives the new location of the
1279 stack. Advance YYPTR to a properly aligned location for the next
1280 stack. */
1281# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1282 do \
1283 { \
1284 YYSIZE_T yynewbytes; \
1285 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1286 Stack = &yyptr->Stack_alloc; \
1287 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1288 yyptr += yynewbytes / sizeof (*yyptr); \
1289 } \
1290 while (YYID (0))
1291
1292#endif
1293
1294/* YYFINAL -- State number of the termination state. */
1295#define YYFINAL 6
1296/* YYLAST -- Last index in YYTABLE. */
1297#define YYLAST 1168
1298
1299/* YYNTOKENS -- Number of terminals. */
1300#define YYNTOKENS 450
1301/* YYNNTS -- Number of nonterminals. */
1302#define YYNNTS 720
1303/* YYNRULES -- Number of rules. */
1304#define YYNRULES 1097
1305/* YYNRULES -- Number of states. */
1306#define YYNSTATES 1501
1307
1308/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1309#define YYUNDEFTOK 2
1310#define YYMAXUTOK 700
1311
1312#define YYTRANSLATE(YYX) \
1313 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1314
1315/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1317{
1318 0, 2, 2, 2, 2, 2, 2, 2, 2, 447,
1319 449, 2, 2, 448, 2, 2, 2, 2, 2, 2,
1320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1321 2, 2, 446, 2, 2, 2, 2, 2, 2, 2,
1322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1343 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1344 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1345 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1346 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1347 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1348 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1349 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1350 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1351 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1352 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1353 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1354 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1355 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1356 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1357 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1358 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1359 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1360 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1361 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1362 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1363 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1364 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1365 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1366 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1367 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1368 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1369 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1370 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1371 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1372 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1373 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1374 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1375 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1376 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1377 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1378 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1379 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1380 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1381 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1382 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1383 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1384 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1385 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1386 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1387 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1388 445
1389};
1390
1391#if YYDEBUG
1392/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1393 YYRHS. */
1394static const yytype_uint16 yyprhs[] =
1395{
1396 0, 0, 3, 7, 11, 13, 15, 16, 18, 20,
1397 22, 24, 28, 30, 32, 33, 40, 41, 43, 44,
1398 47, 49, 51, 53, 56, 58, 62, 64, 66, 69,
1399 71, 73, 75, 77, 79, 81, 83, 85, 87, 89,
1400 91, 94, 96, 98, 100, 103, 105, 109, 111, 114,
1401 116, 118, 120, 123, 125, 129, 131, 134, 136, 138,
1402 140, 143, 145, 149, 151, 155, 157, 158, 160, 164,
1403 166, 168, 171, 173, 177, 179, 182, 184, 186, 188,
1404 191, 193, 197, 199, 202, 204, 206, 208, 211, 213,
1405 217, 219, 222, 224, 226, 228, 231, 233, 237, 239,
1406 242, 244, 246, 248, 251, 253, 257, 259, 262, 264,
1407 266, 268, 271, 273, 277, 279, 283, 285, 286, 288,
1408 292, 294, 296, 299, 301, 305, 307, 311, 313, 315,
1409 317, 319, 322, 324, 328, 330, 332, 335, 339, 341,
1410 343, 344, 347, 349, 351, 353, 356, 358, 359, 362,
1411 364, 366, 368, 371, 373, 377, 379, 381, 384, 386,
1412 388, 390, 392, 394, 398, 400, 402, 403, 406, 408,
1413 410, 414, 416, 420, 422, 424, 425, 428, 430, 432,
1414 436, 438, 442, 444, 446, 447, 450, 452, 454, 458,
1415 460, 464, 466, 467, 469, 473, 475, 479, 481, 483,
1416 485, 487, 490, 492, 496, 498, 500, 503, 507, 508,
1417 511, 513, 515, 517, 520, 522, 526, 528, 530, 533,
1418 535, 537, 540, 542, 544, 546, 549, 551, 555, 557,
1419 561, 563, 565, 567, 569, 572, 574, 578, 580, 582,
1420 585, 589, 590, 593, 595, 597, 599, 602, 604, 608,
1421 610, 612, 615, 617, 619, 621, 623, 625, 627, 629,
1422 631, 633, 635, 637, 639, 641, 643, 645, 649, 651,
1423 652, 654, 656, 658, 661, 663, 667, 669, 671, 674,
1424 676, 678, 680, 683, 685, 689, 691, 695, 697, 699,
1425 701, 703, 706, 708, 712, 714, 717, 722, 726, 728,
1426 730, 732, 735, 737, 741, 745, 747, 749, 751, 754,
1427 756, 760, 764, 766, 768, 770, 773, 775, 779, 783,
1428 785, 787, 789, 792, 794, 798, 802, 804, 806, 808,
1429 810, 813, 815, 819, 821, 824, 826, 830, 832, 834,
1430 836, 838, 841, 843, 847, 849, 852, 854, 858, 860,
1431 862, 864, 866, 869, 871, 875, 877, 880, 882, 886,
1432 888, 890, 892, 894, 897, 899, 903, 905, 908, 910,
1433 914, 916, 918, 920, 922, 925, 927, 931, 935, 937,
1434 939, 941, 943, 946, 948, 952, 956, 958, 960, 962,
1435 964, 967, 969, 973, 975, 978, 983, 987, 989, 991,
1436 993, 995, 998, 1000, 1004, 1006, 1008, 1011, 1015, 1016,
1437 1020, 1022, 1024, 1025, 1028, 1030, 1032, 1034, 1036, 1038,
1438 1040, 1044, 1049, 1050, 1054, 1056, 1058, 1059, 1061, 1063,
1439 1065, 1067, 1071, 1078, 1079, 1083, 1085, 1087, 1089, 1091,
1440 1094, 1096, 1100, 1102, 1104, 1107, 1111, 1113, 1115, 1116,
1441 1119, 1121, 1123, 1125, 1128, 1130, 1131, 1135, 1137, 1139,
1442 1141, 1143, 1146, 1148, 1152, 1154, 1156, 1159, 1163, 1165,
1443 1167, 1168, 1171, 1173, 1175, 1177, 1180, 1182, 1183, 1186,
1444 1188, 1190, 1192, 1194, 1198, 1206, 1207, 1209, 1210, 1212,
1445 1213, 1215, 1216, 1218, 1219, 1221, 1222, 1224, 1225, 1227,
1446 1228, 1232, 1234, 1236, 1238, 1240, 1243, 1245, 1249, 1251,
1447 1253, 1256, 1260, 1262, 1264, 1265, 1268, 1270, 1272, 1274,
1448 1277, 1279, 1280, 1284, 1286, 1291, 1293, 1295, 1298, 1300,
1449 1304, 1306, 1309, 1313, 1315, 1317, 1318, 1321, 1323, 1325,
1450 1327, 1329, 1331, 1334, 1336, 1340, 1341, 1344, 1348, 1350,
1451 1352, 1353, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370,
1452 1372, 1374, 1376, 1378, 1380, 1383, 1385, 1389, 1391, 1393,
1453 1395, 1398, 1402, 1404, 1406, 1407, 1410, 1412, 1414, 1416,
1454 1418, 1420, 1422, 1425, 1427, 1428, 1432, 1434, 1436, 1437,
1455 1439, 1441, 1443, 1445, 1449, 1454, 1455, 1459, 1461, 1463,
1456 1465, 1467, 1470, 1472, 1476, 1478, 1480, 1483, 1487, 1489,
1457 1491, 1492, 1495, 1497, 1499, 1501, 1504, 1506, 1507, 1511,
1458 1513, 1515, 1517, 1519, 1522, 1524, 1528, 1530, 1532, 1535,
1459 1539, 1541, 1543, 1544, 1547, 1549, 1551, 1553, 1555, 1558,
1460 1560, 1561, 1564, 1566, 1568, 1570, 1572, 1576, 1584, 1585,
1461 1587, 1588, 1590, 1591, 1593, 1594, 1596, 1597, 1599, 1600,
1462 1602, 1603, 1605, 1606, 1609, 1613, 1615, 1617, 1618, 1621,
1463 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637, 1639, 1641,
1464 1643, 1645, 1648, 1650, 1654, 1656, 1658, 1660, 1663, 1667,
1465 1669, 1671, 1672, 1675, 1677, 1679, 1681, 1683, 1685, 1687,
1466 1690, 1692, 1693, 1697, 1699, 1701, 1702, 1704, 1706, 1708,
1467 1710, 1714, 1719, 1720, 1724, 1726, 1728, 1730, 1732, 1735,
1468 1737, 1741, 1743, 1745, 1748, 1752, 1754, 1756, 1757, 1760,
1469 1762, 1764, 1766, 1769, 1771, 1772, 1776, 1778, 1780, 1782,
1470 1784, 1787, 1789, 1793, 1795, 1797, 1800, 1804, 1806, 1808,
1471 1809, 1812, 1814, 1816, 1818, 1820, 1823, 1825, 1826, 1829,
1472 1831, 1833, 1835, 1837, 1841, 1849, 1850, 1852, 1853, 1855,
1473 1856, 1858, 1859, 1861, 1862, 1864, 1865, 1867, 1868, 1870,
1474 1871, 1874, 1878, 1880, 1882, 1883, 1886, 1888, 1890, 1892,
1475 1894, 1896, 1898, 1900, 1902, 1904, 1906, 1908, 1910, 1913,
1476 1915, 1919, 1921, 1923, 1925, 1928, 1932, 1934, 1936, 1937,
1477 1940, 1942, 1944, 1946, 1948, 1950, 1952, 1955, 1957, 1958,
1478 1962, 1964, 1966, 1968, 1970, 1972, 1976, 1977, 1980, 1984,
1479 1986, 1988, 1990, 1993, 1995, 1997, 1999, 2001, 2003, 2005,
1480 2007, 2009, 2011, 2014, 2016, 2020, 2022, 2024, 2027, 2029,
1481 2031, 2033, 2035, 2037, 2041, 2043, 2045, 2048, 2053, 2057,
1482 2059, 2061, 2062, 2065, 2067, 2069, 2071, 2075, 2079, 2083,
1483 2086, 2088, 2090, 2095, 2097, 2099, 2101, 2103, 2107, 2109,
1484 2111, 2113, 2115, 2120, 2122, 2124, 2129, 2131, 2133, 2135,
1485 2137, 2141, 2143, 2145, 2147, 2149, 2154, 2159, 2164, 2169,
1486 2174, 2179, 2184, 2189, 2194, 2199, 2201, 2204, 2208, 2210,
1487 2212, 2213, 2216, 2218, 2220, 2222, 2224, 2226, 2228, 2232,
1488 2234, 2236, 2238, 2241, 2242, 2245, 2247, 2249, 2251, 2253,
1489 2256, 2258, 2260, 2262, 2264, 2268, 2270, 2271, 2274, 2276,
1490 2278, 2280, 2282, 2284, 2286, 2288, 2290, 2292, 2294, 2298,
1491 2300, 2302, 2304, 2306, 2308, 2312, 2314, 2316, 2318, 2320,
1492 2322, 2326, 2328, 2330, 2332, 2334, 2336, 2340, 2342, 2344,
1493 2346, 2348, 2350, 2354, 2356, 2358, 2359, 2362, 2366, 2368,
1494 2370, 2371, 2374, 2376, 2378, 2382, 2386, 2388, 2390, 2393,
1495 2395, 2399, 2403, 2405, 2407, 2409, 2411, 2415, 2417, 2421,
1496 2423, 2425, 2427, 2429, 2433, 2435, 2439, 2441, 2443, 2445,
1497 2447, 2451, 2453, 2457, 2459, 2461, 2463, 2465, 2469, 2471,
1498 2475, 2477, 2479, 2481, 2483, 2487, 2489, 2493, 2495, 2497,
1499 2499, 2501, 2505, 2507, 2511, 2513, 2515, 2517, 2519, 2523,
1500 2525, 2527, 2532, 2537, 2542, 2547, 2552, 2557, 2562, 2567,
1501 2572, 2577, 2582, 2587, 2592, 2594, 2596, 2598, 2602, 2604,
1502 2606, 2608, 2612, 2614, 2616, 2618, 2622, 2624, 2626, 2628,
1503 2632, 2634, 2636, 2638, 2642, 2644, 2646, 2648, 2652, 2654,
1504 2656, 2658, 2662, 2664, 2666, 2668, 2672, 2674, 2676, 2678,
1505 2682, 2684, 2686, 2688, 2692, 2694, 2696, 2698
1506};
1507
1508/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1509static const yytype_int16 yyrhs[] =
1510{
1511 451, 0, -1, 452, 460, 458, -1, 453, 454, 455,
1512 -1, 13, -1, 12, -1, -1, 14, -1, 456, -1,
1513 457, -1, 11, -1, 10, 460, 458, -1, 459, -1,
1514 15, -1, -1, 461, 462, 548, 591, 614, 725, -1,
1515 -1, 1041, -1, -1, 463, 464, -1, 308, -1, 465,
1516 -1, 466, -1, 10, 309, -1, 11, -1, 10, 467,
1517 309, -1, 468, -1, 469, -1, 468, 469, -1, 470,
1518 -1, 476, -1, 482, -1, 488, -1, 496, -1, 502,
1519 -1, 508, -1, 514, -1, 520, -1, 526, -1, 534,
1520 -1, 471, 472, -1, 332, -1, 473, -1, 474, -1,
1521 10, 333, -1, 11, -1, 10, 475, 333, -1, 4,
1522 -1, 477, 478, -1, 334, -1, 479, -1, 480, -1,
1523 10, 335, -1, 11, -1, 10, 481, 335, -1, 4,
1524 -1, 483, 484, -1, 336, -1, 485, -1, 486, -1,
1525 10, 337, -1, 11, -1, 10, 487, 337, -1, 4,
1526 -1, 489, 490, 492, -1, 43, -1, -1, 491, -1,
1527 27, 3, 8, -1, 493, -1, 494, -1, 10, 44,
1528 -1, 11, -1, 10, 495, 44, -1, 4, -1, 497,
1529 498, -1, 338, -1, 499, -1, 500, -1, 10, 339,
1530 -1, 11, -1, 10, 501, 339, -1, 4, -1, 503,
1531 504, -1, 45, -1, 505, -1, 506, -1, 10, 46,
1532 -1, 11, -1, 10, 507, 46, -1, 4, -1, 509,
1533 510, -1, 47, -1, 511, -1, 512, -1, 10, 48,
1534 -1, 11, -1, 10, 513, 48, -1, 4, -1, 515,
1535 516, -1, 49, -1, 517, -1, 518, -1, 10, 50,
1536 -1, 11, -1, 10, 519, 50, -1, 4, -1, 521,
1537 522, -1, 51, -1, 523, -1, 524, -1, 10, 52,
1538 -1, 11, -1, 10, 525, 52, -1, 4, -1, 527,
1539 528, 530, -1, 53, -1, -1, 529, -1, 26, 3,
1540 8, -1, 531, -1, 532, -1, 10, 54, -1, 11,
1541 -1, 10, 533, 54, -1, 4, -1, 535, 536, 537,
1542 -1, 123, -1, 1021, -1, 538, -1, 539, -1, 10,
1543 124, -1, 11, -1, 10, 540, 124, -1, 541, -1,
1544 542, -1, 541, 542, -1, 543, 544, 547, -1, 340,
1545 -1, 545, -1, -1, 545, 546, -1, 1149, -1, 1164,
1546 -1, 1143, -1, 10, 341, -1, 11, -1, -1, 549,
1547 550, -1, 310, -1, 551, -1, 552, -1, 10, 311,
1548 -1, 11, -1, 10, 553, 311, -1, 554, -1, 555,
1549 -1, 554, 555, -1, 556, -1, 563, -1, 570, -1,
1550 577, -1, 582, -1, 557, 558, 561, -1, 55, -1,
1551 559, -1, -1, 559, 560, -1, 1161, -1, 1143, -1,
1552 10, 562, 56, -1, 1037, -1, 564, 565, 568, -1,
1553 57, -1, 566, -1, -1, 566, 567, -1, 1161, -1,
1554 1143, -1, 10, 569, 58, -1, 1037, -1, 571, 572,
1555 575, -1, 59, -1, 573, -1, -1, 573, 574, -1,
1556 1161, -1, 1143, -1, 10, 576, 60, -1, 1037, -1,
1557 578, 579, 580, -1, 61, -1, -1, 1143, -1, 10,
1558 581, 62, -1, 6, -1, 583, 584, 585, -1, 123,
1559 -1, 1021, -1, 586, -1, 587, -1, 10, 124, -1,
1560 11, -1, 10, 588, 124, -1, 589, -1, 590, -1,
1561 589, 590, -1, 543, 544, 547, -1, -1, 592, 593,
1562 -1, 312, -1, 594, -1, 595, -1, 10, 313, -1,
1563 11, -1, 10, 596, 313, -1, 597, -1, 598, -1,
1564 597, 598, -1, 599, -1, 605, -1, 600, 601, -1,
1565 63, -1, 602, -1, 603, -1, 10, 64, -1, 11,
1566 -1, 10, 604, 64, -1, 4, -1, 606, 607, 608,
1567 -1, 123, -1, 1021, -1, 609, -1, 610, -1, 10,
1568 124, -1, 11, -1, 10, 611, 124, -1, 612, -1,
1569 613, -1, 612, 613, -1, 543, 544, 547, -1, -1,
1570 615, 616, -1, 314, -1, 617, -1, 618, -1, 10,
1571 315, -1, 11, -1, 10, 619, 315, -1, 620, -1,
1572 621, -1, 620, 621, -1, 622, -1, 630, -1, 636,
1573 -1, 644, -1, 649, -1, 654, -1, 659, -1, 664,
1574 -1, 672, -1, 688, -1, 680, -1, 696, -1, 702,
1575 -1, 708, -1, 716, -1, 623, 624, 625, -1, 65,
1576 -1, -1, 1161, -1, 626, -1, 627, -1, 10, 66,
1577 -1, 11, -1, 10, 628, 66, -1, 629, -1, 1037,
1578 -1, 631, 632, -1, 67, -1, 633, -1, 634, -1,
1579 10, 68, -1, 11, -1, 10, 635, 68, -1, 4,
1580 -1, 637, 638, 639, -1, 69, -1, 1018, -1, 640,
1581 -1, 641, -1, 10, 70, -1, 11, -1, 10, 642,
1582 70, -1, 643, -1, 642, 643, -1, 338, 10, 4,
1583 339, -1, 645, 1024, 646, -1, 75, -1, 647, -1,
1584 648, -1, 10, 76, -1, 11, -1, 10, 986, 76,
1585 -1, 650, 1024, 651, -1, 77, -1, 652, -1, 653,
1586 -1, 10, 78, -1, 11, -1, 10, 986, 78, -1,
1587 655, 1024, 656, -1, 79, -1, 657, -1, 658, -1,
1588 10, 80, -1, 11, -1, 10, 986, 80, -1, 660,
1589 1024, 661, -1, 81, -1, 662, -1, 663, -1, 10,
1590 82, -1, 11, -1, 10, 986, 82, -1, 665, 666,
1591 667, -1, 87, -1, 1023, -1, 668, -1, 669, -1,
1592 10, 88, -1, 11, -1, 10, 670, 88, -1, 671,
1593 -1, 670, 671, -1, 988, -1, 673, 674, 675, -1,
1594 89, -1, 1023, -1, 676, -1, 677, -1, 10, 90,
1595 -1, 11, -1, 10, 678, 90, -1, 679, -1, 678,
1596 679, -1, 988, -1, 681, 682, 683, -1, 93, -1,
1597 1023, -1, 684, -1, 685, -1, 10, 94, -1, 11,
1598 -1, 10, 686, 94, -1, 687, -1, 686, 687, -1,
1599 988, -1, 689, 690, 691, -1, 91, -1, 1023, -1,
1600 692, -1, 693, -1, 10, 92, -1, 11, -1, 10,
1601 694, 92, -1, 695, -1, 694, 695, -1, 988, -1,
1602 697, 698, 699, -1, 85, -1, 1024, -1, 700, -1,
1603 701, -1, 10, 86, -1, 11, -1, 10, 986, 86,
1604 -1, 703, 704, 705, -1, 83, -1, 1024, -1, 706,
1605 -1, 707, -1, 10, 84, -1, 11, -1, 10, 986,
1606 84, -1, 709, 710, 711, -1, 95, -1, 1025, -1,
1607 712, -1, 713, -1, 10, 96, -1, 11, -1, 10,
1608 714, 96, -1, 715, -1, 714, 715, -1, 97, 10,
1609 4, 98, -1, 717, 718, 719, -1, 123, -1, 1021,
1610 -1, 720, -1, 721, -1, 10, 124, -1, 11, -1,
1611 10, 722, 124, -1, 723, -1, 724, -1, 723, 724,
1612 -1, 543, 544, 547, -1, -1, 726, 727, 730, -1,
1613 316, -1, 728, -1, -1, 728, 729, -1, 1132, -1,
1614 1125, -1, 1130, -1, 731, -1, 732, -1, 11, -1,
1615 10, 733, 317, -1, 734, 830, 897, 964, -1, -1,
1616 735, 736, 738, -1, 306, -1, 737, -1, -1, 1022,
1617 -1, 739, -1, 740, -1, 11, -1, 10, 741, 307,
1618 -1, 742, 756, 770, 783, 797, 812, -1, -1, 743,
1619 744, 745, -1, 99, -1, 1131, -1, 746, -1, 747,
1620 -1, 10, 100, -1, 11, -1, 10, 748, 100, -1,
1621 749, -1, 750, -1, 749, 750, -1, 751, 752, 755,
1622 -1, 304, -1, 753, -1, -1, 753, 754, -1, 1134,
1623 -1, 1149, -1, 1164, -1, 10, 305, -1, 11, -1,
1624 -1, 757, 758, 759, -1, 101, -1, 1131, -1, 760,
1625 -1, 761, -1, 10, 102, -1, 11, -1, 10, 762,
1626 102, -1, 763, -1, 764, -1, 763, 764, -1, 765,
1627 766, 769, -1, 304, -1, 767, -1, -1, 767, 768,
1628 -1, 1134, -1, 1149, -1, 1164, -1, 10, 305, -1,
1629 11, -1, -1, 771, 772, -1, 103, -1, 773, -1,
1630 774, -1, 11, -1, 10, 775, 104, -1, 776, 777,
1631 778, 779, 780, 781, 782, -1, -1, 1081, -1, -1,
1632 1087, -1, -1, 1093, -1, -1, 1099, -1, -1, 1105,
1633 -1, -1, 1111, -1, -1, 1117, -1, -1, 784, 785,
1634 786, -1, 105, -1, 1131, -1, 787, -1, 788, -1,
1635 10, 106, -1, 11, -1, 10, 789, 106, -1, 790,
1636 -1, 791, -1, 790, 791, -1, 792, 793, 796, -1,
1637 304, -1, 794, -1, -1, 794, 795, -1, 1134, -1,
1638 1149, -1, 1164, -1, 10, 305, -1, 11, -1, -1,
1639 798, 799, 800, -1, 107, -1, 40, 8, 6, 8,
1640 -1, 801, -1, 802, -1, 10, 108, -1, 11, -1,
1641 10, 803, 108, -1, 804, -1, 803, 804, -1, 805,
1642 806, 809, -1, 109, -1, 807, -1, -1, 807, 808,
1643 -1, 1007, -1, 1131, -1, 997, -1, 810, -1, 811,
1644 -1, 10, 110, -1, 11, -1, 10, 790, 110, -1,
1645 -1, 812, 813, -1, 814, 815, 818, -1, 340, -1,
1646 816, -1, -1, 816, 817, -1, 1131, -1, 1127, -1,
1647 1149, -1, 1164, -1, 1155, -1, 1137, -1, 1158, -1,
1648 1167, -1, 1146, -1, 1143, -1, 819, -1, 820, -1,
1649 10, 341, -1, 11, -1, 10, 821, 341, -1, 822,
1650 -1, 1027, -1, 823, -1, 822, 823, -1, 824, 825,
1651 828, -1, 304, -1, 826, -1, -1, 826, 827, -1,
1652 1134, -1, 1149, -1, 1164, -1, 999, -1, 1010, -1,
1653 829, -1, 10, 305, -1, 11, -1, -1, 831, 832,
1654 834, -1, 302, -1, 833, -1, -1, 1020, -1, 835,
1655 -1, 836, -1, 11, -1, 10, 837, 303, -1, 838,
1656 852, 866, 879, -1, -1, 839, 840, 841, -1, 111,
1657 -1, 1129, -1, 842, -1, 843, -1, 10, 112, -1,
1658 11, -1, 10, 844, 112, -1, 845, -1, 846, -1,
1659 845, 846, -1, 847, 848, 851, -1, 300, -1, 849,
1660 -1, -1, 849, 850, -1, 1134, -1, 1149, -1, 1164,
1661 -1, 10, 301, -1, 11, -1, -1, 853, 854, 855,
1662 -1, 113, -1, 1129, -1, 856, -1, 857, -1, 10,
1663 114, -1, 11, -1, 10, 858, 114, -1, 859, -1,
1664 860, -1, 859, 860, -1, 861, 862, 865, -1, 300,
1665 -1, 863, -1, -1, 863, 864, -1, 1134, -1, 1149,
1666 -1, 999, -1, 1010, -1, 10, 301, -1, 11, -1,
1667 -1, 867, 868, -1, 103, -1, 869, -1, 870, -1,
1668 11, -1, 10, 871, 104, -1, 872, 873, 874, 875,
1669 876, 877, 878, -1, -1, 1081, -1, -1, 1087, -1,
1670 -1, 1093, -1, -1, 1099, -1, -1, 1105, -1, -1,
1671 1111, -1, -1, 1117, -1, -1, 879, 880, -1, 881,
1672 882, 885, -1, 340, -1, 883, -1, -1, 883, 884,
1673 -1, 1129, -1, 1127, -1, 1149, -1, 1164, -1, 1155,
1674 -1, 1137, -1, 1158, -1, 1152, -1, 1146, -1, 1143,
1675 -1, 886, -1, 887, -1, 10, 341, -1, 11, -1,
1676 10, 888, 341, -1, 889, -1, 1027, -1, 890, -1,
1677 889, 890, -1, 891, 892, 895, -1, 300, -1, 893,
1678 -1, -1, 893, 894, -1, 1134, -1, 1149, -1, 1164,
1679 -1, 999, -1, 1010, -1, 896, -1, 10, 301, -1,
1680 11, -1, -1, 898, 899, 901, -1, 298, -1, 900,
1681 -1, -1, 1019, -1, 902, -1, 903, -1, 11, -1,
1682 10, 904, 299, -1, 905, 919, 933, 946, -1, -1,
1683 906, 907, 908, -1, 115, -1, 1124, -1, 909, -1,
1684 910, -1, 10, 116, -1, 11, -1, 10, 911, 116,
1685 -1, 912, -1, 913, -1, 912, 913, -1, 914, 915,
1686 918, -1, 296, -1, 916, -1, -1, 916, 917, -1,
1687 1134, -1, 1149, -1, 1164, -1, 10, 297, -1, 11,
1688 -1, -1, 920, 921, 922, -1, 117, -1, 1124, -1,
1689 923, -1, 924, -1, 10, 118, -1, 11, -1, 10,
1690 925, 118, -1, 926, -1, 927, -1, 926, 927, -1,
1691 928, 929, 932, -1, 296, -1, 930, -1, -1, 930,
1692 931, -1, 1134, -1, 1149, -1, 1003, -1, 1014, -1,
1693 10, 297, -1, 11, -1, -1, 934, 935, -1, 103,
1694 -1, 936, -1, 937, -1, 11, -1, 10, 938, 104,
1695 -1, 939, 940, 941, 942, 943, 944, 945, -1, -1,
1696 1081, -1, -1, 1087, -1, -1, 1093, -1, -1, 1099,
1697 -1, -1, 1105, -1, -1, 1111, -1, -1, 1117, -1,
1698 -1, 946, 947, -1, 948, 949, 952, -1, 340, -1,
1699 950, -1, -1, 950, 951, -1, 1124, -1, 1127, -1,
1700 1149, -1, 1164, -1, 1155, -1, 1137, -1, 1158, -1,
1701 1140, -1, 1146, -1, 1143, -1, 953, -1, 954, -1,
1702 10, 341, -1, 11, -1, 10, 955, 341, -1, 956,
1703 -1, 1027, -1, 957, -1, 956, 957, -1, 958, 959,
1704 962, -1, 296, -1, 960, -1, -1, 960, 961, -1,
1705 1134, -1, 1149, -1, 1164, -1, 999, -1, 1010, -1,
1706 963, -1, 10, 297, -1, 11, -1, -1, 965, 966,
1707 967, -1, 119, -1, 1026, -1, 968, -1, 969, -1,
1708 11, -1, 10, 970, 120, -1, -1, 970, 971, -1,
1709 972, 973, 976, -1, 121, -1, 974, -1, 975, -1,
1710 974, 975, -1, 1149, -1, 1164, -1, 1155, -1, 1137,
1711 -1, 1158, -1, 1143, -1, 1128, -1, 977, -1, 978,
1712 -1, 10, 122, -1, 11, -1, 10, 979, 122, -1,
1713 980, -1, 981, -1, 980, 981, -1, 982, -1, 983,
1714 -1, 984, -1, 160, -1, 157, -1, 158, 985, 159,
1715 -1, 5, -1, 987, -1, 986, 987, -1, 71, 10,
1716 4, 72, -1, 989, 990, 996, -1, 73, -1, 991,
1717 -1, -1, 991, 992, -1, 993, -1, 994, -1, 995,
1718 -1, 28, 3, 8, -1, 29, 3, 8, -1, 30,
1719 3, 8, -1, 10, 74, -1, 11, -1, 998, -1,
1720 42, 8, 1037, 8, -1, 1000, -1, 1001, -1, 1002,
1721 -1, 16, -1, 18, 3, 1038, -1, 1004, -1, 1005,
1722 -1, 1006, -1, 20, -1, 22, 1038, 1037, 1038, -1,
1723 1008, -1, 1009, -1, 41, 1038, 6, 1038, -1, 1011,
1724 -1, 1012, -1, 1013, -1, 17, -1, 19, 3, 1038,
1725 -1, 1015, -1, 1016, -1, 1017, -1, 21, -1, 23,
1726 1038, 1037, 1038, -1, 31, 8, 6, 8, -1, 37,
1727 1038, 6, 1038, -1, 36, 1038, 6, 1038, -1, 39,
1728 1038, 6, 1038, -1, 35, 1038, 6, 1038, -1, 33,
1729 8, 6, 8, -1, 32, 8, 6, 8, -1, 34,
1730 8, 6, 8, -1, 38, 1038, 6, 1038, -1, 1028,
1731 -1, 1027, 1028, -1, 1029, 1030, 1033, -1, 155, -1,
1732 1031, -1, -1, 1031, 1032, -1, 1126, -1, 1164, -1,
1733 1143, -1, 1034, -1, 1035, -1, 11, -1, 10, 1036,
1734 156, -1, 1069, -1, 6, -1, 7, -1, 1039, 8,
1735 -1, -1, 1039, 1040, -1, 446, -1, 447, -1, 448,
1736 -1, 449, -1, 1042, 1043, -1, 125, -1, 1044, -1,
1737 1045, -1, 11, -1, 10, 1046, 126, -1, 1047, -1,
1738 -1, 1047, 1048, -1, 1049, -1, 1053, -1, 1057, -1,
1739 1061, -1, 1065, -1, 1050, -1, 1051, -1, 1052, -1,
1740 130, -1, 129, -1, 127, 5, 128, -1, 1054, -1,
1741 1055, -1, 1056, -1, 134, -1, 133, -1, 131, 5,
1742 132, -1, 1058, -1, 1059, -1, 1060, -1, 138, -1,
1743 137, -1, 135, 5, 136, -1, 1062, -1, 1063, -1,
1744 1064, -1, 142, -1, 141, -1, 139, 5, 140, -1,
1745 1066, -1, 1067, -1, 1068, -1, 146, -1, 145, -1,
1746 143, 5, 144, -1, 1070, -1, 1077, -1, -1, 1070,
1747 1071, -1, 1072, 1073, 1076, -1, 153, -1, 1074, -1,
1748 -1, 1074, 1075, -1, 1136, -1, 1135, -1, 10, 6,
1749 154, -1, 161, 1133, 1078, -1, 1079, -1, 1080, -1,
1750 10, 162, -1, 11, -1, 10, 4, 162, -1, 1082,
1751 1123, 1083, -1, 324, -1, 1084, -1, 1085, -1, 11,
1752 -1, 10, 1086, 325, -1, 1069, -1, 1088, 1123, 1089,
1753 -1, 320, -1, 1090, -1, 1091, -1, 11, -1, 10,
1754 1092, 321, -1, 1069, -1, 1094, 1123, 1095, -1, 322,
1755 -1, 1096, -1, 1097, -1, 11, -1, 10, 1098, 323,
1756 -1, 1069, -1, 1100, 1123, 1101, -1, 318, -1, 1102,
1757 -1, 1103, -1, 11, -1, 10, 1104, 319, -1, 1069,
1758 -1, 1106, 1123, 1107, -1, 326, -1, 1108, -1, 1109,
1759 -1, 11, -1, 10, 1110, 327, -1, 1069, -1, 1112,
1760 1123, 1113, -1, 328, -1, 1114, -1, 1115, -1, 11,
1761 -1, 10, 1116, 329, -1, 1069, -1, 1118, 1123, 1119,
1762 -1, 330, -1, 1120, -1, 1121, -1, 11, -1, 10,
1763 1122, 331, -1, 1069, -1, 1126, -1, 212, 8, 6,
1764 8, -1, 211, 8, 6, 8, -1, 163, 8, 6,
1765 8, -1, 164, 8, 6, 8, -1, 165, 8, 6,
1766 8, -1, 215, 8, 6, 8, -1, 214, 8, 6,
1767 8, -1, 218, 8, 6, 8, -1, 217, 8, 6,
1768 8, -1, 239, 8, 6, 8, -1, 236, 8, 6,
1769 8, -1, 237, 8, 6, 8, -1, 238, 8, 6,
1770 8, -1, 1138, -1, 1139, -1, 166, -1, 167, 3,
1771 8, -1, 1141, -1, 1142, -1, 186, -1, 187, 3,
1772 8, -1, 1144, -1, 1145, -1, 168, -1, 169, 3,
1773 8, -1, 1147, -1, 1148, -1, 176, -1, 177, 3,
1774 8, -1, 1150, -1, 1151, -1, 172, -1, 173, 3,
1775 8, -1, 1153, -1, 1154, -1, 188, -1, 189, 3,
1776 8, -1, 1156, -1, 1157, -1, 170, -1, 171, 3,
1777 8, -1, 1159, -1, 1160, -1, 174, -1, 175, 3,
1778 8, -1, 1162, -1, 1163, -1, 180, -1, 181, 3,
1779 8, -1, 1165, -1, 1166, -1, 182, -1, 183, 3,
1780 8, -1, 1168, -1, 1169, -1, 190, -1, 191, 3,
1781 8, -1
1782};
1783
1784/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1785static const yytype_uint16 yyrline[] =
1786{
1787 0, 332, 332, 333, 335, 342, 352, 352, 354, 354,
1788 356, 358, 360, 369, 370, 373, 381, 381, 394, 394,
1789 396, 412, 412, 414, 414, 416, 418, 420, 420, 423,
1790 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
1791 437, 439, 448, 448, 450, 450, 452, 454, 464, 466,
1792 473, 473, 475, 475, 477, 479, 489, 491, 497, 497,
1793 499, 499, 501, 503, 513, 520, 528, 529, 536, 542,
1794 542, 544, 544, 546, 548, 556, 558, 564, 564, 566,
1795 566, 568, 570, 579, 581, 588, 588, 590, 590, 592,
1796 594, 604, 606, 613, 613, 615, 615, 617, 619, 629,
1797 631, 637, 637, 639, 639, 641, 643, 653, 655, 661,
1798 661, 663, 663, 665, 667, 677, 684, 693, 694, 700,
1799 707, 707, 709, 709, 711, 713, 721, 727, 737, 745,
1800 750, 756, 756, 758, 760, 764, 764, 766, 777, 796,
1801 802, 802, 805, 809, 810, 813, 813, 861, 861, 863,
1802 873, 873, 875, 875, 877, 879, 881, 881, 884, 885,
1803 886, 887, 888, 892, 894, 904, 906, 906, 909, 910,
1804 913, 915, 923, 925, 935, 937, 937, 940, 941, 944,
1805 946, 955, 957, 967, 969, 969, 972, 973, 976, 978,
1806 987, 989, 999, 1000, 1002, 1004, 1015, 1021, 1031, 1039,
1807 1043, 1048, 1048, 1050, 1052, 1056, 1056, 1058, 1113, 1113,
1808 1115, 1122, 1122, 1124, 1124, 1126, 1128, 1130, 1130, 1133,
1809 1134, 1138, 1140, 1146, 1146, 1148, 1148, 1150, 1152, 1163,
1810 1169, 1179, 1187, 1191, 1196, 1196, 1198, 1200, 1204, 1204,
1811 1206, 1259, 1259, 1261, 1281, 1281, 1283, 1283, 1285, 1287,
1812 1289, 1289, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
1813 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1311, 1317, 1327,
1814 1328, 1330, 1330, 1332, 1332, 1334, 1336, 1338, 1345, 1347,
1815 1353, 1353, 1355, 1355, 1357, 1359, 1369, 1380, 1390, 1392,
1816 1392, 1394, 1394, 1396, 1405, 1405, 1407, 1428, 1439, 1449,
1817 1449, 1451, 1451, 1453, 1464, 1475, 1485, 1485, 1487, 1487,
1818 1489, 1500, 1511, 1521, 1521, 1523, 1523, 1525, 1536, 1547,
1819 1557, 1557, 1559, 1559, 1561, 1572, 1588, 1598, 1600, 1600,
1820 1602, 1602, 1604, 1613, 1613, 1615, 1619, 1635, 1645, 1647,
1821 1647, 1649, 1649, 1651, 1660, 1660, 1662, 1666, 1682, 1692,
1822 1694, 1694, 1696, 1696, 1698, 1707, 1707, 1709, 1713, 1729,
1823 1739, 1741, 1741, 1743, 1743, 1745, 1754, 1754, 1756, 1760,
1824 1771, 1781, 1783, 1783, 1785, 1785, 1787, 1798, 1809, 1819,
1825 1821, 1821, 1823, 1823, 1825, 1851, 1862, 1872, 1874, 1874,
1826 1876, 1876, 1878, 1887, 1887, 1889, 1910, 1916, 1926, 1934,
1827 1938, 1943, 1943, 1945, 1947, 1951, 1951, 1953, 2007, 2007,
1828 2009, 2017, 2019, 2019, 2022, 2029, 2036, 2045, 2045, 2047,
1829 2049, 2051, 2058, 2058, 2060, 2066, 2073, 2073, 2078, 2078,
1830 2080, 2082, 2084, 2094, 2094, 2109, 2114, 2125, 2133, 2142,
1831 2142, 2144, 2146, 2148, 2148, 2151, 2156, 2170, 2176, 2176,
1832 2179, 2193, 2198, 2206, 2206, 2210, 2210, 2225, 2230, 2241,
1833 2249, 2258, 2258, 2260, 2262, 2264, 2264, 2267, 2273, 2288,
1834 2294, 2294, 2297, 2309, 2314, 2320, 2320, 2324, 2324, 2326,
1835 2331, 2331, 2333, 2335, 2337, 2340, 2340, 2378, 2378, 2414,
1836 2414, 2449, 2449, 2484, 2484, 2519, 2519, 2554, 2554, 2589,
1837 2589, 2605, 2610, 2621, 2629, 2638, 2638, 2640, 2642, 2648,
1838 2648, 2650, 2655, 2671, 2677, 2677, 2680, 2692, 2697, 2705,
1839 2705, 2709, 2709, 2715, 2721, 2729, 2737, 2745, 2745, 2747,
1840 2749, 2749, 2751, 2770, 2786, 2794, 2794, 2797, 2798, 2807,
1841 2810, 2810, 2812, 2812, 2814, 2819, 2819, 2821, 2826, 2858,
1842 2878, 2878, 2881, 2885, 2889, 2890, 2891, 2892, 2893, 2894,
1843 2895, 2896, 2899, 2899, 2901, 2901, 2903, 2905, 2905, 2907,
1844 2907, 2910, 2925, 2945, 2947, 2947, 2950, 2960, 2961, 2962,
1845 2963, 2966, 2968, 2968, 2976, 2976, 2978, 2984, 2991, 2991,
1846 2996, 2996, 2998, 3000, 3002, 3011, 3011, 3027, 3033, 3045,
1847 3053, 3062, 3062, 3064, 3066, 3068, 3068, 3071, 3076, 3091,
1848 3093, 3093, 3096, 3107, 3111, 3118, 3118, 3121, 3121, 3139,
1849 3144, 3158, 3166, 3175, 3175, 3177, 3179, 3181, 3181, 3184,
1850 3189, 3207, 3209, 3209, 3212, 3223, 3227, 3233, 3240, 3240,
1851 3244, 3244, 3246, 3251, 3251, 3253, 3255, 3257, 3260, 3260,
1852 3294, 3294, 3328, 3328, 3362, 3362, 3396, 3396, 3430, 3430,
1853 3466, 3466, 3501, 3501, 3503, 3509, 3540, 3561, 3561, 3564,
1854 3568, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3582,
1855 3582, 3584, 3584, 3586, 3588, 3588, 3590, 3590, 3593, 3608,
1856 3630, 3632, 3632, 3635, 3645, 3646, 3647, 3648, 3651, 3653,
1857 3653, 3661, 3661, 3663, 3669, 3676, 3676, 3681, 3681, 3683,
1858 3685, 3687, 3696, 3696, 3712, 3717, 3728, 3736, 3745, 3745,
1859 3747, 3749, 3751, 3751, 3754, 3759, 3775, 3782, 3782, 3785,
1860 3796, 3800, 3807, 3807, 3811, 3811, 3829, 3834, 3847, 3855,
1861 3864, 3864, 3866, 3868, 3870, 3870, 3873, 3878, 3897, 3904,
1862 3904, 3907, 3918, 3922, 3926, 3932, 3932, 3936, 3936, 3938,
1863 3943, 3943, 3945, 3947, 3949, 3952, 3952, 3986, 3986, 4021,
1864 4021, 4057, 4057, 4092, 4092, 4127, 4127, 4162, 4162, 4197,
1865 4197, 4199, 4205, 4236, 4256, 4256, 4259, 4263, 4267, 4268,
1866 4269, 4270, 4271, 4272, 4273, 4274, 4277, 4277, 4279, 4279,
1867 4281, 4283, 4283, 4285, 4285, 4288, 4303, 4323, 4325, 4325,
1868 4328, 4340, 4341, 4342, 4343, 4346, 4348, 4348, 4356, 4356,
1869 4362, 4364, 4372, 4380, 4389, 4391, 4393, 4393, 4397, 4417,
1870 4435, 4441, 4441, 4444, 4445, 4446, 4447, 4448, 4449, 4450,
1871 4457, 4465, 4474, 4474, 4476, 4478, 4480, 4480, 4482, 4489,
1872 4500, 4502, 4502, 4504, 4506, 4523, 4523, 4525, 4547, 4564,
1873 4576, 4581, 4581, 4584, 4585, 4586, 4588, 4597, 4606, 4615,
1874 4615, 4699, 4706, 4728, 4735, 4735, 4737, 4742, 4749, 4755,
1875 4755, 4757, 4762, 4826, 4832, 4834, 4860, 4867, 4867, 4869,
1876 4874, 4881, 4887, 4887, 4889, 4892, 5004, 5032, 5038, 5044,
1877 5050, 5056, 5070, 5080, 5091, 5127, 5127, 5129, 5148, 5165,
1878 5173, 5173, 5176, 5184, 5185, 5189, 5189, 5191, 5194, 5196,
1879 5200, 5201, 5208, 5210, 5210, 5212, 5213, 5214, 5215, 5250,
1880 5252, 5266, 5266, 5268, 5270, 5272, 5274, 5274, 5277, 5278,
1881 5279, 5280, 5281, 5283, 5291, 5291, 5293, 5293, 5295, 5301,
1882 5309, 5309, 5311, 5311, 5313, 5319, 5327, 5327, 5329, 5329,
1883 5331, 5337, 5345, 5345, 5347, 5347, 5349, 5355, 5363, 5363,
1884 5365, 5365, 5367, 5379, 5387, 5389, 5389, 5391, 5393, 5402,
1885 5404, 5404, 5406, 5406, 5408, 5424, 5427, 5427, 5429, 5429,
1886 5432, 5660, 5662, 5667, 5667, 5669, 5671, 5673, 5676, 5678,
1887 5683, 5683, 5685, 5687, 5689, 5692, 5694, 5699, 5699, 5701,
1888 5703, 5705, 5708, 5710, 5715, 5715, 5717, 5719, 5721, 5724,
1889 5726, 5731, 5731, 5733, 5735, 5737, 5740, 5742, 5747, 5747,
1890 5749, 5751, 5753, 5756, 5758, 5763, 5763, 5765, 5767, 5769,
1891 5772, 7050, 7072, 7083, 7094, 7105, 7173, 7195, 7228, 7250,
1892 7263, 7404, 7414, 7451, 7526, 7526, 7528, 7535, 7544, 7544,
1893 7546, 7553, 7562, 7562, 7564, 7571, 7580, 7580, 7582, 7589,
1894 7672, 7672, 7674, 7681, 7690, 7690, 7692, 7699, 7751, 7751,
1895 7753, 7760, 7787, 7787, 7789, 7796, 7805, 7805, 7807, 7814,
1896 7823, 7823, 7827, 7835, 7862, 7862, 7864, 7871
1897};
1898#endif
1899
1900#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1901/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1902 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1903static const char *const yytname[] =
1904{
1905 "$end", "error", "$undefined", "ATTRIBUTETEXT", "ELEMENTTEXT",
1906 "ITEMTEXT", "INTEGER", "DOUBLE", "QUOTE", "TWOQUOTES", "GREATERTHAN",
1907 "ENDOFELEMENT", "OSOLSTART", "OSOLSTARTEMPTY", "OSOLATTRIBUTETEXT",
1908 "OSOLEND", "EMPTYLBVALUEATT", "EMPTYUBVALUEATT", "LBVALUEATT",
1909 "UBVALUEATT", "EMPTYLBDUALVALUEATT", "EMPTYUBDUALVALUEATT",
1910 "LBDUALVALUEATT", "UBDUALVALUEATT", "WEIGHTATT", "EMPTYWEIGHTATT",
1911 "TRANSPORTTYPEATT", "LOCATIONTYPEATT", "FROMATT", "TOATT", "MAKECOPYATT",
1912 "NUMBEROFJOBIDSATT", "NUMBEROFPATHSATT", "NUMBEROFPATHPAIRSATT",
1913 "NUMBEROFPROCESSESATT", "NUMBEROFOTHERVARIABLEOPTIONSATT",
1914 "NUMBEROFOTHEROBJECTIVEOPTIONSATT", "NUMBEROFOTHERCONSTRAINTOPTIONSATT",
1915 "NUMBEROFSOLVEROPTIONSATT", "NUMBEROFOTHEROPTIONSATT", "NUMBEROFSOSATT",
1916 "SOSIDXATT", "GROUPWEIGHTATT", "INSTANCELOCATIONSTART",
1917 "INSTANCELOCATIONEND", "SOLVERTOINVOKESTART", "SOLVERTOINVOKEEND",
1918 "LICENSESTART", "LICENSEEND", "USERNAMESTART", "USERNAMEEND",
1919 "PASSWORDSTART", "PASSWORDEND", "CONTACTSTART", "CONTACTEND",
1920 "MINDISKSPACESTART", "MINDISKSPACEEND", "MINMEMORYSTART", "MINMEMORYEND",
1921 "MINCPUSPEEDSTART", "MINCPUSPEEDEND", "MINCPUNUMBERSTART",
1922 "MINCPUNUMBEREND", "SERVICETYPESTART", "SERVICETYPEEND", "MAXTIMESTART",
1923 "MAXTIMEEND", "REQUESTEDSTARTTIMESTART", "REQUESTEDSTARTTIMEEND",
1924 "DEPENDENCIESSTART", "DEPENDENCIESEND", "PATHSTART", "PATHEND",
1925 "PATHPAIRSTART", "PATHPAIREND", "REQUIREDDIRECTORIESSTART",
1926 "REQUIREDDIRECTORIESEND", "REQUIREDFILESSTART", "REQUIREDFILESEND",
1927 "DIRECTORIESTOMAKESTART", "DIRECTORIESTOMAKEEND", "FILESTOMAKESTART",
1928 "FILESTOMAKEEND", "DIRECTORIESTODELETESTART", "DIRECTORIESTODELETEEND",
1929 "FILESTODELETESTART", "FILESTODELETEEND", "INPUTDIRECTORIESTOMOVESTART",
1930 "INPUTDIRECTORIESTOMOVEEND", "INPUTFILESTOMOVESTART",
1931 "INPUTFILESTOMOVEEND", "OUTPUTDIRECTORIESTOMOVESTART",
1932 "OUTPUTDIRECTORIESTOMOVEEND", "OUTPUTFILESTOMOVESTART",
1933 "OUTPUTFILESTOMOVEEND", "PROCESSESTOKILLSTART", "PROCESSESTOKILLEND",
1934 "PROCESSSTART", "PROCESSEND", "INITIALVARIABLEVALUESSTART",
1935 "INITIALVARIABLEVALUESEND", "INITIALVARIABLEVALUESSTRINGSTART",
1936 "INITIALVARIABLEVALUESSTRINGEND", "INITIALBASISSTATUSSTART",
1937 "INITIALBASISSTATUSEND", "INTEGERVARIABLEBRANCHINGWEIGHTSSTART",
1938 "INTEGERVARIABLEBRANCHINGWEIGHTSEND", "SOSVARIABLEBRANCHINGWEIGHTSSTART",
1939 "SOSVARIABLEBRANCHINGWEIGHTSEND", "SOSSTART", "SOSEND",
1940 "INITIALOBJECTIVEVALUESSTART", "INITIALOBJECTIVEVALUESEND",
1941 "INITIALOBJECTIVEBOUNDSSTART", "INITIALOBJECTIVEBOUNDSEND",
1942 "INITIALCONSTRAINTVALUESSTART", "INITIALCONSTRAINTVALUESEND",
1943 "INITIALDUALVALUESSTART", "INITIALDUALVALUESEND", "SOLVEROPTIONSSTART",
1944 "SOLVEROPTIONSEND", "SOLVEROPTIONSTART", "SOLVEROPTIONEND",
1945 "OTHEROPTIONSSTART", "OTHEROPTIONSEND", "HEADERSTART", "HEADEREND",
1946 "FILENAMESTART", "FILENAMEEND", "FILENAMEEMPTY", "FILENAMESTARTANDEND",
1947 "FILESOURCESTART", "FILESOURCEEND", "FILESOURCEEMPTY",
1948 "FILESOURCESTARTANDEND", "FILEDESCRIPTIONSTART", "FILEDESCRIPTIONEND",
1949 "FILEDESCRIPTIONEMPTY", "FILEDESCRIPTIONSTARTANDEND", "FILECREATORSTART",
1950 "FILECREATOREND", "FILECREATOREMPTY", "FILECREATORSTARTANDEND",
1951 "FILELICENCESTART", "FILELICENCEEND", "FILELICENCEEMPTY",
1952 "FILELICENCESTARTANDEND", "INDEXESSTART", "INDEXESEND", "VALUESSTART",
1953 "VALUESEND", "NONZEROSSTART", "NONZEROSEND", "ELSTART", "ELEND",
1954 "ENUMERATIONSTART", "ENUMERATIONEND", "ITEMEMPTY", "ITEMSTART",
1955 "ITEMEND", "ITEMSTARTANDEND", "BASE64START", "BASE64END",
1956 "NUMBEROFELATT", "NUMBEROFENUMERATIONSATT", "NUMBEROFITEMSATT",
1957 "EMPTYCATEGORYATT", "CATEGORYATT", "EMPTYDESCRIPTIONATT",
1958 "DESCRIPTIONATT", "EMPTYSOLVERATT", "SOLVERATT", "EMPTYNAMEATT",
1959 "NAMEATT", "EMPTYTYPEATT", "TYPEATT", "EMPTYENUMTYPEATT", "ENUMTYPEATT",
1960 "EMPTYSHAPEATT", "SHAPEATT", "EMPTYUNITATT", "UNITATT", "EMPTYVALUEATT",
1961 "VALUEATT", "EMPTYVALUETYPEATT", "VALUETYPEATT", "EMPTYCONTYPEATT",
1962 "CONTYPEATT", "EMPTYOBJTYPEATT", "OBJTYPEATT", "EMPTYVARTYPEATT",
1963 "VARTYPEATT", "EMPTYMATRIXCONTYPEATT", "MATRIXCONTYPEATT",
1964 "EMPTYMATRIXOBJTYPEATT", "MATRIXOBJTYPEATT", "EMPTYMATRIXVARTYPEATT",
1965 "MATRIXVARTYPEATT", "EMPTYMATRIXTYPEATT", "MATRIXTYPEATT",
1966 "EMPTYSYMMETRYATT", "SYMMETRYATT", "EMPTYROWMAJORATT", "ROWMAJORATT",
1967 "EMPTYBASETRANSPOSEATT", "BASETRANSPOSEATT", "NUMBEROFBLOCKSATT",
1968 "NUMBEROFCOLUMNSATT", "NUMBEROFROWSATT", "NUMBEROFMATRICESATT",
1969 "NUMBEROFVALUESATT", "NUMBEROFCONSTRAINTSATT", "NUMBEROFCONATT",
1970 "NUMBEROFCONIDXATT", "NUMBEROFOBJECTIVESATT", "NUMBEROFOBJATT",
1971 "NUMBEROFOBJIDXATT", "NUMBEROFVARIABLESATT", "NUMBEROFVARATT",
1972 "NUMBEROFVARIDXATT", "NUMBEROFMATRIXCONATT", "NUMBEROFMATRIXOBJATT",
1973 "NUMBEROFMATRIXVARATT", "BASEMATRIXIDXATT", "TARGETMATRIXFIRSTROWATT",
1974 "TARGETMATRIXFIRSTCOLATT", "BASEMATRIXSTARTROWATT",
1975 "BASEMATRIXSTARTCOLATT", "BASEMATRIXENDROWATT", "BASEMATRIXENDCOLATT",
1976 "SCALARMULTIPLIERATT", "BLOCKROWIDXATT", "BLOCKCOLIDXATT",
1977 "MATRIXVARIDXATT", "MATRIXOBJIDXATT", "MATRIXCONIDXATT", "IDXATT",
1978 "INCRATT", "MULTATT", "SIZEOFATT", "COEFATT", "CONSTANTATT",
1979 "MATRICESSTART", "MATRICESEND", "MATRIXSTART", "MATRIXEND",
1980 "BASEMATRIXEND", "BASEMATRIXSTART", "BLOCKSSTART", "BLOCKSEND",
1981 "BLOCKSTART", "BLOCKEND", "COLOFFSETSTART", "COLOFFSETEND",
1982 "ROWOFFSETSTART", "ROWOFFSETEND", "ELEMENTSSTART", "ELEMENTSEND",
1983 "CONSTANTELEMENTSSTART", "CONSTANTELEMENTSEND",
1984 "VARREFERENCEELEMENTSSTART", "VARREFERENCEELEMENTSEND",
1985 "LINEARELEMENTSSTART", "LINEARELEMENTSEND", "GENERALELEMENTSSTART",
1986 "GENERALELEMENTSEND", "CONREFERENCEELEMENTSSTART",
1987 "CONREFERENCEELEMENTSEND", "OBJREFERENCEELEMENTSSTART",
1988 "OBJREFERENCEELEMENTSEND", "STRINGVALUEDELEMENTSSTART",
1989 "STRINGVALUEDELEMENTSEND", "STARTVECTORSTART", "STARTVECTOREND",
1990 "INDEXSTART", "INDEXEND", "VALUESTART", "VALUEEND", "VARIDXSTART",
1991 "VARIDXEND", "TRANSFORMATIONSTART", "TRANSFORMATIONEND",
1992 "MATRIXPROGRAMMINGSTART", "MATRIXPROGRAMMINGEND", "MATRIXVARIABLESSTART",
1993 "MATRIXVARIABLESEND", "MATRIXVARSTART", "MATRIXVAREND",
1994 "MATRIXOBJECTIVESSTART", "MATRIXOBJECTIVESEND", "MATRIXOBJSTART",
1995 "MATRIXOBJEND", "MATRIXCONSTRAINTSSTART", "MATRIXCONSTRAINTSEND",
1996 "MATRIXCONSTART", "MATRIXCONEND", "CONSTART", "CONEND",
1997 "CONSTRAINTSSTART", "CONSTRAINTSEND", "OBJSTART", "OBJEND",
1998 "OBJECTIVESSTART", "OBJECTIVESEND", "VARSTART", "VAREND",
1999 "VARIABLESSTART", "VARIABLESEND", "GENERALSTART", "GENERALEND",
2000 "SYSTEMSTART", "SYSTEMEND", "SERVICESTART", "SERVICEEND", "JOBSTART",
2001 "JOBEND", "OPTIMIZATIONSTART", "OPTIMIZATIONEND", "ATEQUALITYSTART",
2002 "ATEQUALITYEND", "ATLOWERSTART", "ATLOWEREND", "ATUPPERSTART",
2003 "ATUPPEREND", "BASICSTART", "BASICEND", "ISFREESTART", "ISFREEEND",
2004 "SUPERBASICSTART", "SUPERBASICEND", "UNKNOWNSTART", "UNKNOWNEND",
2005 "SERVICEURISTART", "SERVICEURIEND", "SERVICENAMESTART", "SERVICENAMEEND",
2006 "INSTANCENAMESTART", "INSTANCENAMEEND", "JOBIDSTART", "JOBIDEND",
2007 "OTHERSTART", "OTHEREND", "DUMMY", "NONLINEAREXPRESSIONSSTART",
2008 "NONLINEAREXPRESSIONSEND", "NUMBEROFNONLINEAREXPRESSIONS", "NLSTART",
2009 "NLEND", "MATRIXEXPRESSIONSSTART", "MATRIXEXPRESSIONSEND",
2010 "NUMBEROFEXPR", "EXPRSTART", "EXPREND", "NUMBEROFMATRIXTERMSATT",
2011 "MATRIXTERMSTART", "MATRIXTERMEND", "POWERSTART", "POWEREND",
2012 "PLUSSTART", "PLUSEND", "MINUSSTART", "MINUSEND", "DIVIDESTART",
2013 "DIVIDEEND", "LNSTART", "LNEND", "SQRTSTART", "SQRTEND", "SUMSTART",
2014 "SUMEND", "PRODUCTSTART", "PRODUCTEND", "EXPSTART", "EXPEND",
2015 "NEGATESTART", "NEGATEEND", "IFSTART", "IFEND", "SQUARESTART",
2016 "SQUAREEND", "COSSTART", "COSEND", "SINSTART", "SINEND", "VARIABLESTART",
2017 "VARIABLEEND", "ABSSTART", "ABSEND", "ERFSTART", "ERFEND", "MAXSTART",
2018 "MAXEND", "ALLDIFFSTART", "ALLDIFFEND", "MINSTART", "MINEND", "ESTART",
2019 "EEND", "PISTART", "PIEND", "TIMESSTART", "TIMESEND", "NUMBERSTART",
2020 "NUMBEREND", "MATRIXDETERMINANTSTART", "MATRIXDETERMINANTEND",
2021 "MATRIXTRACESTART", "MATRIXTRACEEND", "MATRIXTOSCALARSTART",
2022 "MATRIXTOSCALAREND", "MATRIXDIAGONALSTART", "MATRIXDIAGONALEND",
2023 "MATRIXDOTTIMESSTART", "MATRIXDOTTIMESEND", "MATRIXLOWERTRIANGLESTART",
2024 "MATRIXLOWERTRIANGLEEND", "MATRIXUPPERTRIANGLESTART",
2025 "MATRIXUPPERTRIANGLEEND", "MATRIXMERGESTART", "MATRIXMERGEEND",
2026 "MATRIXMINUSSTART", "MATRIXMINUSEND", "MATRIXNEGATESTART",
2027 "MATRIXNEGATEEND", "MATRIXPLUSSTART", "MATRIXPLUSEND",
2028 "MATRIXTIMESSTART", "MATRIXTIMESEND", "MATRIXPRODUCTSTART",
2029 "MATRIXPRODUCTEND", "MATRIXSCALARTIMESSTART", "MATRIXSCALARTIMESEND",
2030 "MATRIXSUBMATRIXATSTART", "MATRIXSUBMATRIXATEND", "MATRIXTRANSPOSESTART",
2031 "MATRIXTRANSPOSEEND", "MATRIXREFERENCESTART", "MATRIXREFERENCEEND",
2032 "IDENTITYMATRIXSTART", "IDENTITYMATRIXEND", "MATRIXINVERSESTART",
2033 "MATRIXINVERSEEND", "EMPTYINCLUDEDIAGONALATT", "INCLUDEDIAGONALATT",
2034 "EMPTYIDATT", "IDATT", "' '", "'\\t'", "'\\r'", "'\\n'", "$accept",
2035 "osoldoc", "osolStartEmpty", "osolStart", "osolAttributes",
2036 "osolContent", "osolEmpty", "osolLaden", "osolEnd", "osolEnding",
2037 "osolBody", "headerElement", "generalElement", "generalElementStart",
2038 "generalElementContent", "generalElementEmpty", "generalElementLaden",
2039 "generalElementBody", "generalElementList", "generalChild", "serviceURI",
2040 "serviceURIStart", "serviceURIContent", "serviceURIEmpty",
2041 "serviceURILaden", "serviceURIBody", "serviceName", "serviceNameStart",
2042 "serviceNameContent", "serviceNameEmpty", "serviceNameLaden",
2043 "serviceNameBody", "instanceName", "instanceNameStart",
2044 "instanceNameContent", "instanceNameEmpty", "instanceNameLaden",
2045 "instanceNameBody", "instanceLocation", "instanceLocationStart",
2046 "instanceLocationAttributes", "locationTypeAttribute",
2047 "instanceLocationContent", "instanceLocationEmpty",
2048 "instanceLocationLaden", "instanceLocationBody", "jobID", "jobIDStart",
2049 "jobIDContent", "jobIDEmpty", "jobIDLaden", "jobIDBody",
2050 "solverToInvoke", "solverToInvokeStart", "solverToInvokeContent",
2051 "solverToInvokeEmpty", "solverToInvokeLaden", "solverToInvokeBody",
2052 "license", "licenseStart", "licenseContent", "licenseEmpty",
2053 "licenseLaden", "licensebody", "username", "usernameStart",
2054 "usernameContent", "usernameEmpty", "usernameLaden", "usernamebody",
2055 "password", "passwordStart", "passwordContent", "passwordEmpty",
2056 "passwordLaden", "passwordbody", "contact", "contactStart",
2057 "contactAttributes", "transportTypeAttribute", "contactContent",
2058 "contactContentEmpty", "contactContentLaden", "contactBody",
2059 "otherGeneralOptions", "otherGeneralOptionsStart",
2060 "otherGeneralOptionsAttributes", "otherGeneralOptionsContent",
2061 "otherGeneralOptionsEmpty", "otherGeneralOptionsLaden",
2062 "otherGeneralOptionsBody", "otherGeneralOptionArray",
2063 "otherGeneralOption", "otherOptionStart", "otherOptionAttributes",
2064 "otherOptionAttList", "otherOptionAtt", "otherOptionEnd",
2065 "systemElement", "systemElementStart", "systemElementContent",
2066 "systemElementEmpty", "systemElementLaden", "systemElementBody",
2067 "systemElementList", "systemChild", "minDiskSpace", "minDiskSpaceStart",
2068 "minDiskSpaceAttributes", "minDiskSpaceAttList", "minDiskSpaceAtt",
2069 "minDiskSpaceContent", "minDiskSpaceValue", "minMemorySize",
2070 "minMemoryStart", "minMemoryAttributes", "minMemoryAttList",
2071 "minMemoryAtt", "minMemoryContent", "minMemoryValue", "minCPUSpeed",
2072 "minCPUSpeedStart", "minCPUSpeedAttributes", "minCPUSpeedAttList",
2073 "minCPUSpeedAtt", "minCPUSpeedContent", "minCPUSpeedValue",
2074 "minCPUNumber", "minCPUNumberStart", "minCPUNumberAttributes",
2075 "minCPUNumberContent", "minCPUNumberValue", "otherSystemOptions",
2076 "otherSystemOptionsStart", "otherSystemOptionsAttributes",
2077 "otherSystemOptionsContent", "otherSystemOptionsEmpty",
2078 "otherSystemOptionsLaden", "otherSystemOptionsBody",
2079 "otherSystemOptionArray", "otherSystemOption", "serviceElement",
2080 "serviceElementStart", "serviceElementContent", "serviceElementEmpty",
2081 "serviceElementLaden", "serviceElementBody", "serviceElementList",
2082 "serviceChild", "serviceType", "serviceTypeStart", "serviceTypeContent",
2083 "serviceTypeEmpty", "serviceTypeLaden", "serviceTypeBody",
2084 "otherServiceOptions", "otherServiceOptionsStart",
2085 "otherServiceOptionsAttributes", "otherServiceOptionsContent",
2086 "otherServiceOptionsEmpty", "otherServiceOptionsLaden",
2087 "otherServiceOptionsBody", "otherServiceOptionArray",
2088 "otherServiceOption", "jobElement", "jobElementStart",
2089 "jobElementContent", "jobElementEmpty", "jobElementLaden",
2090 "jobElementBody", "jobElementList", "jobChild", "maxTime",
2091 "maxTimeStart", "maxTimeAttributes", "maxTimeContent", "maxTimeEmpty",
2092 "maxTimeLaden", "maxTimeBody", "maxTimeValue", "requestedStartTime",
2093 "requestedStartTimeStart", "requestedStartTimeContent",
2094 "requestedStartTimeEmpty", "requestedStartTimeLaden",
2095 "requestedStartTimeBody", "dependencies", "dependenciesStart",
2096 "dependenciesAttributes", "dependenciesContent", "dependenciesEmpty",
2097 "dependenciesLaden", "dependenciesList", "dependencyJobID",
2098 "requiredDirectories", "requiredDirectoriesStart",
2099 "requiredDirectoriesContent", "requiredDirectoriesEmpty",
2100 "requiredDirectoriesLaden", "requiredFiles", "requiredFilesStart",
2101 "requiredFilesContent", "requiredFilesEmpty", "requiredFilesLaden",
2102 "directoriesToMake", "directoriesToMakeStart",
2103 "directoriesToMakeContent", "directoriesToMakeEmpty",
2104 "directoriesToMakeLaden", "filesToMake", "filesToMakeStart",
2105 "filesToMakeContent", "filesToMakeEmpty", "filesToMakeLaden",
2106 "inputDirectoriesToMove", "inputDirectoriesToMoveStart",
2107 "inputDirectoriesToMoveAttributes", "inputDirectoriesToMoveContent",
2108 "inputDirectoriesToMoveEmpty", "inputDirectoriesToMoveLaden",
2109 "inputDirectoriesToMoveList", "inputDirectoryToMove", "inputFilesToMove",
2110 "inputFilesToMoveStart", "inputFilesToMoveAttributes",
2111 "inputFilesToMoveContent", "inputFilesToMoveEmpty",
2112 "inputFilesToMoveLaden", "inputFilesToMoveList", "inputFileToMove",
2113 "outputFilesToMove", "outputFilesToMoveStart",
2114 "outputFilesToMoveAttributes", "outputFilesToMoveContent",
2115 "outputFilesToMoveEmpty", "outputFilesToMoveLaden",
2116 "outputFilesToMoveList", "outputFileToMove", "outputDirectoriesToMove",
2117 "outputDirectoriesToMoveStart", "outputDirectoriesToMoveAttributes",
2118 "outputDirectoriesToMoveContent", "outputDirectoriesToMoveEmpty",
2119 "outputDirectoriesToMoveLaden", "outputDirectoriesToMoveList",
2120 "outputDirectoryToMove", "filesToDelete", "filesToDeleteStart",
2121 "filesToDeleteAttributes", "filesToDeleteContent", "filesToDeleteEmpty",
2122 "filesToDeleteLaden", "directoriesToDelete", "directoriesToDeleteStart",
2123 "directoriesToDeleteAttributes", "directoriesToDeleteContent",
2124 "directoriesToDeleteEmpty", "directoriesToDeleteLaden",
2125 "processesToKill", "processesToKillStart", "processesToKillAttributes",
2126 "processesToKillContent", "processesToKillEmpty", "processesToKillLaden",
2127 "processesToKillList", "processID", "otherJobOptions",
2128 "otherJobOptionsStart", "otherJobOptionsAttributes",
2129 "otherJobOptionsContent", "otherJobOptionsEmpty", "otherJobOptionsLaden",
2130 "otherJobOptionsBody", "otherJobOptionArray", "otherJobOption",
2131 "optimizationElement", "optimizationStart", "optimizationAttributes",
2132 "optimizationAttList", "optimizationATT", "optimizationContent",
2133 "optimizationEmpty", "optimizationLaden", "optimizationBody",
2134 "variables", "variablesStart", "variablesAttributes",
2135 "numberOfOtherVariableOptions", "variablesContent", "variablesEmpty",
2136 "variablesLaden", "variablesBody", "initialVariableValues",
2137 "initialVariableValuesStart", "initialVariableValuesAttributes",
2138 "initialVariableValuesContent", "initialVariableValuesEmpty",
2139 "initialVariableValuesLaden", "initialVariableValuesBody",
2140 "initVarValueArray", "initVarValue", "initVarValueStart",
2141 "initVarValueAttributes", "initVarValueAttList", "initVarValueAtt",
2142 "initVarValueContent", "initialVariableValuesString",
2143 "initialVariableValuesStringStart",
2144 "initialVariableValuesStringAttributes",
2145 "initialVariableValuesStringContent", "initialVariableValuesStringEmpty",
2146 "initialVariableValuesStringLaden", "initialVariableValuesStringBody",
2147 "initVarValueStringArray", "initVarValueString",
2148 "initVarValueStringStart", "initVarValueStringAttributes",
2149 "initVarValueStringAttList", "initVarValueStringAtt",
2150 "initVarValueStringContent", "variableInitialBasis",
2151 "variableInitialBasisStart", "variableInitialBasisContent",
2152 "variableInitialBasisEmpty", "variableInitialBasisLaden",
2153 "variableInitialBasisBody", "variablesBasic", "variablesAtLower",
2154 "variablesAtUpper", "variablesAtEquality", "variablesIsFree",
2155 "variablesSuperbasic", "variablesUnknown",
2156 "integerVariableBranchingWeights",
2157 "integerVariableBranchingWeightsStart",
2158 "integerVariableBranchingWeightsAttributes",
2159 "integerVariableBranchingWeightsContent",
2160 "integerVariableBranchingWeightsEmpty",
2161 "integerVariableBranchingWeightsLaden",
2162 "integerVariableBranchingWeightsBody", "branchingWeightsArray",
2163 "branchingWeight", "branchingWeightStart", "branchingWeightAttributes",
2164 "branchingWeightAttList", "branchingWeightAtt", "branchingWeightContent",
2165 "sosVariableBranchingWeights", "sosVariableBranchingWeightsStart",
2166 "sosVariableBranchingWeightsAttributes",
2167 "sosVariableBranchingWeightsContent", "sosVariableBranchingWeightsEmpty",
2168 "sosVariableBranchingWeightsLaden", "sosWeightGroupArray",
2169 "sosWeightGroup", "sosWeightGroupStart", "sosWeightGroupAttributes",
2170 "sosWeightGroupAttList", "sosWeightGroupAtt", "sosWeightGroupContent",
2171 "sosWeightGroupEmpty", "sosWeightGroupLaden",
2172 "otherVariableOptionsArray", "otherVariableOption",
2173 "otherVariableOptionStart", "otherVariableOptionAttributes",
2174 "otherVariableOptionAttList", "otherVariableOptionATT",
2175 "otherVariableOptionContent", "otherVariableOptionEmpty",
2176 "otherVariableOptionLaden", "otherVariableOptionBody", "otherVarList",
2177 "otherVar", "otherVarStart", "otherVarAttributes", "otherVarAttList",
2178 "otherVarAtt", "otherVarContent", "otherVarEmpty", "objectives",
2179 "objectivesStart", "objectivesAttributes",
2180 "numberOfOtherObjectiveOptions", "objectivesContent", "objectivesEmpty",
2181 "objectivesLaden", "objectivesBody", "initialObjectiveValues",
2182 "initialObjectiveValuesStart", "initialObjectiveValuesAttributes",
2183 "initialObjectiveValuesContent", "initialObjectiveValuesEmpty",
2184 "initialObjectiveValuesLaden", "initialObjectiveValuesBody",
2185 "initObjValueArray", "initObjValue", "initObjValueStart",
2186 "initObjValueAttributes", "initObjValueAttList", "initObjValueAtt",
2187 "initObjValueContent", "initialObjectiveBounds",
2188 "initialObjectiveBoundsStart", "numberOfObjATT",
2189 "initialObjectiveBoundsContent", "initialObjectiveBoundsEmpty",
2190 "initialObjectiveBoundsLaden", "initialObjectiveBoundsBody",
2191 "initObjBoundArray", "initObjBound", "initObjBoundStart",
2192 "initObjBoundAttributes", "initObjBoundAttList", "initObjBoundAtt",
2193 "initObjBoundContent", "objectiveInitialBasis",
2194 "objectiveInitialBasisStart", "objectiveInitialBasisContent",
2195 "objectiveInitialBasisEmpty", "objectiveInitialBasisLaden",
2196 "objectiveInitialBasisBody", "objectivesBasic", "objectivesAtLower",
2197 "objectivesAtUpper", "objectivesAtEquality", "objectivesIsFree",
2198 "objectivesSuperbasic", "objectivesUnknown",
2199 "otherObjectiveOptionsArray", "otherObjectiveOption",
2200 "otherObjectiveOptionStart", "otherObjectiveOptionAttributes",
2201 "otherObjectiveOptionAttList", "otherObjectiveOptionATT",
2202 "otherObjectiveOptionContent", "otherObjectiveOptionEmpty",
2203 "otherObjectiveOptionLaden", "otherObjectiveOptionBody", "otherObjList",
2204 "otherObj", "otherObjStart", "otherObjAttributes", "otherObjAttList",
2205 "otherObjAtt", "otherObjContent", "otherObjEmpty", "constraints",
2206 "constraintsStart", "constraintsAttributes",
2207 "numberOfOtherConstraintOptions", "constraintsContent",
2208 "constraintsEmpty", "constraintsLaden", "constraintsBody",
2209 "initialConstraintValues", "initialConstraintValuesStart",
2210 "initialConstraintValuesAttributes", "initialConstraintValuesContent",
2211 "initialConstraintValuesEmpty", "initialConstraintValuesLaden",
2212 "initialConstraintValuesBody", "initConValueArray", "initConValue",
2213 "initConValueStart", "initConValueAttributes", "initConValueAttList",
2214 "initConValueAtt", "initConValueContent", "initialDualValues",
2215 "initialDualValuesStart", "initialDualValuesAttributes",
2216 "initialDualValuesContent", "initialDualValuesEmpty",
2217 "initialDualValuesLaden", "initialDualValuesBody", "initDualValueArray",
2218 "initDualValue", "initDualValueStart", "initDualValueAttributes",
2219 "initDualValueAttList", "initDualValueAtt", "initDualValueContent",
2220 "slacksInitialBasis", "slacksInitialBasisStart",
2221 "slacksInitialBasisContent", "slacksInitialBasisEmpty",
2222 "slacksInitialBasisLaden", "slacksInitialBasisBody", "slacksBasic",
2223 "slacksAtLower", "slacksAtUpper", "slacksAtEquality", "slacksIsFree",
2224 "slacksSuperbasic", "slacksUnknown", "otherConstraintOptionsArray",
2225 "otherConstraintOption", "otherConstraintOptionStart",
2226 "otherConstraintOptionAttributes", "otherConstraintOptionAttList",
2227 "otherConstraintOptionATT", "otherConstraintOptionContent",
2228 "otherConstraintOptionEmpty", "otherConstraintOptionLaden",
2229 "otherConstraintOptionBody", "otherConList", "otherCon", "otherConStart",
2230 "otherConAttributes", "otherConAttList", "otherConAtt",
2231 "otherConContent", "otherConEmpty", "solverOptions",
2232 "solverOptionsStart", "numberOfSolverOptionsATT", "solverOptionsContent",
2233 "solverOptionsEmpty", "solverOptionsLaden", "solverOptionArray",
2234 "solverOption", "solverOptionStart", "solverOptionAttributes",
2235 "solverOptionAttList", "solverOptionATT", "solverOptionContent",
2236 "solverOptionEmpty", "solverOptionLaden", "solverOptionBody",
2237 "solverOptionItemArray", "solverOptionItem", "solverOptionItemContent",
2238 "solverOptionItemEmpty", "solverOptionItemLaden", "solverOptionItemBody",
2239 "PathList", "Path", "PathPair", "PathPairStart", "PathPairAttributes",
2240 "PathPairAttList", "PathPairAttribute", "PathPairFromATT",
2241 "PathPairToATT", "PathPairMakeCopyATT", "PathPairEnd",
2242 "groupWeightAttribute", "groupWeightAtt", "lbValueAttribute",
2243 "lbValueAtt", "lbValueAttEmpty", "lbValueAttContent",
2244 "lbDualValueAttribute", "lbDualValueAtt", "lbDualValueAttEmpty",
2245 "lbDualValueAttContent", "sosIdxAttribute", "sosIdxAtt",
2246 "sosIdxAttContent", "ubValueAttribute", "ubValueAtt", "ubValueAttEmpty",
2247 "ubValueAttContent", "ubDualValueAttribute", "ubDualValueAtt",
2248 "ubDualValueAttEmpty", "ubDualValueAttContent", "numberOfJobIDsATT",
2249 "numberOfOtherConstraintOptionsAttribute",
2250 "numberOfOtherObjectiveOptionsAttribute",
2251 "numberOfOtherOptionsAttribute", "numberOfOtherVariableOptionsAttribute",
2252 "numberOfPathPairsAttribute", "numberOfPathsAttribute",
2253 "numberOfProcessesATT", "numberOfSolverOptionsAttribute",
2254 "otherEnumerationList", "otherEnumeration", "otherEnumerationStart",
2255 "otherEnumerationAttributes", "otherEnumerationAttList",
2256 "otherEnumerationATT", "otherEnumerationContent",
2257 "otherEnumerationEmpty", "otherEnumerationLaden", "otherEnumerationBody",
2258 "aNumber", "quote", "xmlWhiteSpace", "xmlWhiteSpaceChar",
2259 "osglFileHeader", "headerElementStart", "headerElementContent",
2260 "headerElementEmpty", "headerElementLaden", "headerElementBody",
2261 "headerElementList", "headerChild", "fileName", "fileNameContent",
2262 "fileNameEmpty", "fileNameLaden", "fileSource", "fileSourceContent",
2263 "fileSourceEmpty", "fileSourceLaden", "fileDescription",
2264 "fileDescriptionContent", "fileDescriptionEmpty", "fileDescriptionLaden",
2265 "fileCreator", "fileCreatorContent", "fileCreatorEmpty",
2266 "fileCreatorLaden", "fileLicence", "fileLicenceContent",
2267 "fileLicenceEmpty", "fileLicenceLaden", "osglIntArrayData",
2268 "osglIntVectorElArray", "osglIntVectorEl", "osglIntVectorElStart",
2269 "osglIntVectorElAttributes", "osglIntVectorElAttList",
2270 "osglIntVectorElAtt", "osglIntVectorElContent", "osglIntVectorBase64",
2271 "osglIntVectorBase64Content", "osglIntVectorBase64Empty",
2272 "osglIntVectorBase64Laden", "osglBasisStatusBasic", "osglBasicStart",
2273 "osglBasicContent", "osglBasicEmpty", "osglBasicLaden", "osglBasicBody",
2274 "osglBasisStatusAtLower", "osglAtLowerStart", "osglAtLowerContent",
2275 "osglAtLowerEmpty", "osglAtLowerLaden", "osglAtLowerBody",
2276 "osglBasisStatusAtUpper", "osglAtUpperStart", "osglAtUpperContent",
2277 "osglAtUpperEmpty", "osglAtUpperLaden", "osglAtUpperBody",
2278 "osglBasisStatusAtEquality", "osglAtEqualityStart",
2279 "osglAtEqualityContent", "osglAtEqualityEmpty", "osglAtEqualityLaden",
2280 "osglAtEqualityBody", "osglBasisStatusIsFree", "osglIsFreeStart",
2281 "osglIsFreeContent", "osglIsFreeEmpty", "osglIsFreeLaden",
2282 "osglIsFreeBody", "osglBasisStatusSuperbasic", "osglSuperbasicStart",
2283 "osglSuperbasicContent", "osglSuperbasicEmpty", "osglSuperbasicLaden",
2284 "osglSuperbasicBody", "osglBasisStatusUnknown", "osglUnknownStart",
2285 "osglUnknownContent", "osglUnknownEmpty", "osglUnknownLaden",
2286 "osglUnknownBody", "osglBasisNumberOfElAttribute", "osglNumberOfConATT",
2287 "osglNumberOfConstraintsATT", "osglNumberOfElATT",
2288 "osglNumberOfEnumerationsATT", "osglNumberOfItemsATT",
2289 "osglNumberOfObjATT", "osglNumberOfObjectivesATT", "osglNumberOfVarATT",
2290 "osglNumberOfVariablesATT", "osglBase64SizeATT", "osglIdxATT",
2291 "osglIncrATT", "osglMultATT", "osglCategoryATT", "categoryAttEmpty",
2292 "categoryAttContent", "osglConTypeATT", "conTypeAttEmpty",
2293 "conTypeAttContent", "osglDescriptionATT", "descriptionAttEmpty",
2294 "descriptionAttContent", "osglEnumTypeATT", "enumTypeAttEmpty",
2295 "enumTypeAttContent", "osglNameATT", "nameAttEmpty", "nameAttContent",
2296 "osglObjTypeATT", "objTypeAttEmpty", "objTypeAttContent",
2297 "osglSolverATT", "solverAttEmpty", "solverAttContent", "osglTypeATT",
2298 "typeAttEmpty", "typeAttContent", "osglUnitATT", "unitAttEmpty",
2299 "unitAttContent", "osglValueATT", "valueAttEmpty", "valueAttContent",
2300 "osglVarTypeATT", "varTypeAttEmpty", "varTypeAttContent", 0
2301};
2302#endif
2303
2304# ifdef YYPRINT
2305/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
2306 token YYLEX-NUM. */
2307static const yytype_uint16 yytoknum[] =
2308{
2309 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2310 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2311 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2312 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2313 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2314 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2315 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2316 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2317 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2318 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2319 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2320 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2321 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2322 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2323 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2324 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2325 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2326 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2327 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2328 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2329 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2330 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2331 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2332 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2333 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2334 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2335 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
2336 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
2337 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2338 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2339 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2340 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2341 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2342 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2343 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2344 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
2345 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
2346 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
2347 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
2348 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
2349 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
2350 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2351 675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
2352 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
2353 695, 696, 697, 698, 699, 700, 32, 9, 13, 10
2354};
2355# endif
2356
2357/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2358static const yytype_uint16 yyr1[] =
2359{
2360 0, 450, 451, 451, 452, 453, 454, 454, 455, 455,
2361 456, 457, 458, 459, 459, 460, 461, 461, 462, 462,
2362 463, 464, 464, 465, 465, 466, 467, 468, 468, 469,
2363 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
2364 470, 471, 472, 472, 473, 473, 474, 475, 476, 477,
2365 478, 478, 479, 479, 480, 481, 482, 483, 484, 484,
2366 485, 485, 486, 487, 488, 489, 490, 490, 491, 492,
2367 492, 493, 493, 494, 495, 496, 497, 498, 498, 499,
2368 499, 500, 501, 502, 503, 504, 504, 505, 505, 506,
2369 507, 508, 509, 510, 510, 511, 511, 512, 513, 514,
2370 515, 516, 516, 517, 517, 518, 519, 520, 521, 522,
2371 522, 523, 523, 524, 525, 526, 527, 528, 528, 529,
2372 530, 530, 531, 531, 532, 533, 534, 535, 536, 537,
2373 537, 538, 538, 539, 540, 541, 541, 542, 543, 544,
2374 545, 545, 546, 546, 546, 547, 547, 548, 548, 549,
2375 550, 550, 551, 551, 552, 553, 554, 554, 555, 555,
2376 555, 555, 555, 556, 557, 558, 559, 559, 560, 560,
2377 561, 562, 563, 564, 565, 566, 566, 567, 567, 568,
2378 569, 570, 571, 572, 573, 573, 574, 574, 575, 576,
2379 577, 578, 579, 579, 580, 581, 582, 583, 584, 585,
2380 585, 586, 586, 587, 588, 589, 589, 590, 591, 591,
2381 592, 593, 593, 594, 594, 595, 596, 597, 597, 598,
2382 598, 599, 600, 601, 601, 602, 602, 603, 604, 605,
2383 606, 607, 608, 608, 609, 609, 610, 611, 612, 612,
2384 613, 614, 614, 615, 616, 616, 617, 617, 618, 619,
2385 620, 620, 621, 621, 621, 621, 621, 621, 621, 621,
2386 621, 621, 621, 621, 621, 621, 621, 622, 623, 624,
2387 624, 625, 625, 626, 626, 627, 628, 629, 630, 631,
2388 632, 632, 633, 633, 634, 635, 636, 637, 638, 639,
2389 639, 640, 640, 641, 642, 642, 643, 644, 645, 646,
2390 646, 647, 647, 648, 649, 650, 651, 651, 652, 652,
2391 653, 654, 655, 656, 656, 657, 657, 658, 659, 660,
2392 661, 661, 662, 662, 663, 664, 665, 666, 667, 667,
2393 668, 668, 669, 670, 670, 671, 672, 673, 674, 675,
2394 675, 676, 676, 677, 678, 678, 679, 680, 681, 682,
2395 683, 683, 684, 684, 685, 686, 686, 687, 688, 689,
2396 690, 691, 691, 692, 692, 693, 694, 694, 695, 696,
2397 697, 698, 699, 699, 700, 700, 701, 702, 703, 704,
2398 705, 705, 706, 706, 707, 708, 709, 710, 711, 711,
2399 712, 712, 713, 714, 714, 715, 716, 717, 718, 719,
2400 719, 720, 720, 721, 722, 723, 723, 724, 725, 725,
2401 726, 727, 728, 728, 729, 729, 729, 730, 730, 731,
2402 732, 733, 734, 734, 735, 736, 737, 737, 738, 738,
2403 739, 740, 741, 742, 742, 743, 744, 745, 745, 746,
2404 746, 747, 748, 749, 749, 750, 751, 752, 753, 753,
2405 754, 754, 754, 755, 755, 756, 756, 757, 758, 759,
2406 759, 760, 760, 761, 762, 763, 763, 764, 765, 766,
2407 767, 767, 768, 768, 768, 769, 769, 770, 770, 771,
2408 772, 772, 773, 774, 775, 776, 776, 777, 777, 778,
2409 778, 779, 779, 780, 780, 781, 781, 782, 782, 783,
2410 783, 784, 785, 786, 786, 787, 787, 788, 789, 790,
2411 790, 791, 792, 793, 794, 794, 795, 795, 795, 796,
2412 796, 797, 797, 798, 799, 800, 800, 801, 801, 802,
2413 803, 803, 804, 805, 806, 807, 807, 808, 808, 808,
2414 809, 809, 810, 810, 811, 812, 812, 813, 814, 815,
2415 816, 816, 817, 817, 817, 817, 817, 817, 817, 817,
2416 817, 817, 818, 818, 819, 819, 820, 821, 821, 822,
2417 822, 823, 824, 825, 826, 826, 827, 827, 827, 827,
2418 827, 828, 829, 829, 830, 830, 831, 832, 833, 833,
2419 834, 834, 835, 836, 837, 838, 838, 839, 840, 841,
2420 841, 842, 842, 843, 844, 845, 845, 846, 847, 848,
2421 849, 849, 850, 850, 850, 851, 851, 852, 852, 853,
2422 854, 855, 855, 856, 856, 857, 858, 859, 859, 860,
2423 861, 862, 863, 863, 864, 864, 864, 864, 865, 865,
2424 866, 866, 867, 868, 868, 869, 870, 871, 872, 872,
2425 873, 873, 874, 874, 875, 875, 876, 876, 877, 877,
2426 878, 878, 879, 879, 880, 881, 882, 883, 883, 884,
2427 884, 884, 884, 884, 884, 884, 884, 884, 884, 885,
2428 885, 886, 886, 887, 888, 888, 889, 889, 890, 891,
2429 892, 893, 893, 894, 894, 894, 894, 894, 895, 896,
2430 896, 897, 897, 898, 899, 900, 900, 901, 901, 902,
2431 903, 904, 905, 905, 906, 907, 908, 908, 909, 909,
2432 910, 911, 912, 912, 913, 914, 915, 916, 916, 917,
2433 917, 917, 918, 918, 919, 919, 920, 921, 922, 922,
2434 923, 923, 924, 925, 926, 926, 927, 928, 929, 930,
2435 930, 931, 931, 931, 931, 932, 932, 933, 933, 934,
2436 935, 935, 936, 937, 938, 939, 939, 940, 940, 941,
2437 941, 942, 942, 943, 943, 944, 944, 945, 945, 946,
2438 946, 947, 948, 949, 950, 950, 951, 951, 951, 951,
2439 951, 951, 951, 951, 951, 951, 952, 952, 953, 953,
2440 954, 955, 955, 956, 956, 957, 958, 959, 960, 960,
2441 961, 961, 961, 961, 961, 962, 963, 963, 964, 964,
2442 965, 966, 967, 967, 968, 969, 970, 970, 971, 972,
2443 973, 974, 974, 975, 975, 975, 975, 975, 975, 975,
2444 976, 976, 977, 977, 978, 979, 980, 980, 981, 982,
2445 982, 983, 983, 984, 985, 986, 986, 987, 988, 989,
2446 990, 991, 991, 992, 992, 992, 993, 994, 995, 996,
2447 996, 997, 998, 999, 1000, 1000, 1001, 1002, 1003, 1004,
2448 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1011, 1012,
2449 1013, 1014, 1015, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
2450 1022, 1023, 1024, 1025, 1026, 1027, 1027, 1028, 1029, 1030,
2451 1031, 1031, 1032, 1032, 1032, 1033, 1033, 1034, 1035, 1036,
2452 1037, 1037, 1038, 1039, 1039, 1040, 1040, 1040, 1040, 1041,
2453 1042, 1043, 1043, 1044, 1045, 1046, 1047, 1047, 1048, 1048,
2454 1048, 1048, 1048, 1049, 1050, 1050, 1051, 1051, 1052, 1053,
2455 1054, 1054, 1055, 1055, 1056, 1057, 1058, 1058, 1059, 1059,
2456 1060, 1061, 1062, 1062, 1063, 1063, 1064, 1065, 1066, 1066,
2457 1067, 1067, 1068, 1069, 1069, 1070, 1070, 1071, 1072, 1073,
2458 1074, 1074, 1075, 1075, 1076, 1077, 1078, 1078, 1079, 1079,
2459 1080, 1081, 1082, 1083, 1083, 1084, 1085, 1086, 1087, 1088,
2460 1089, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1095, 1096,
2461 1097, 1098, 1099, 1100, 1101, 1101, 1102, 1103, 1104, 1105,
2462 1106, 1107, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1113,
2463 1114, 1115, 1116, 1117, 1118, 1119, 1119, 1120, 1121, 1122,
2464 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132,
2465 1133, 1134, 1135, 1136, 1137, 1137, 1138, 1139, 1140, 1140,
2466 1141, 1142, 1143, 1143, 1144, 1145, 1146, 1146, 1147, 1148,
2467 1149, 1149, 1150, 1151, 1152, 1152, 1153, 1154, 1155, 1155,
2468 1156, 1157, 1158, 1158, 1159, 1160, 1161, 1161, 1162, 1163,
2469 1164, 1164, 1165, 1166, 1167, 1167, 1168, 1169
2470};
2471
2472/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2473static const yytype_uint8 yyr2[] =
2474{
2475 0, 2, 3, 3, 1, 1, 0, 1, 1, 1,
2476 1, 3, 1, 1, 0, 6, 0, 1, 0, 2,
2477 1, 1, 1, 2, 1, 3, 1, 1, 2, 1,
2478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2479 2, 1, 1, 1, 2, 1, 3, 1, 2, 1,
2480 1, 1, 2, 1, 3, 1, 2, 1, 1, 1,
2481 2, 1, 3, 1, 3, 1, 0, 1, 3, 1,
2482 1, 2, 1, 3, 1, 2, 1, 1, 1, 2,
2483 1, 3, 1, 2, 1, 1, 1, 2, 1, 3,
2484 1, 2, 1, 1, 1, 2, 1, 3, 1, 2,
2485 1, 1, 1, 2, 1, 3, 1, 2, 1, 1,
2486 1, 2, 1, 3, 1, 3, 1, 0, 1, 3,
2487 1, 1, 2, 1, 3, 1, 3, 1, 1, 1,
2488 1, 2, 1, 3, 1, 1, 2, 3, 1, 1,
2489 0, 2, 1, 1, 1, 2, 1, 0, 2, 1,
2490 1, 1, 2, 1, 3, 1, 1, 2, 1, 1,
2491 1, 1, 1, 3, 1, 1, 0, 2, 1, 1,
2492 3, 1, 3, 1, 1, 0, 2, 1, 1, 3,
2493 1, 3, 1, 1, 0, 2, 1, 1, 3, 1,
2494 3, 1, 0, 1, 3, 1, 3, 1, 1, 1,
2495 1, 2, 1, 3, 1, 1, 2, 3, 0, 2,
2496 1, 1, 1, 2, 1, 3, 1, 1, 2, 1,
2497 1, 2, 1, 1, 1, 2, 1, 3, 1, 3,
2498 1, 1, 1, 1, 2, 1, 3, 1, 1, 2,
2499 3, 0, 2, 1, 1, 1, 2, 1, 3, 1,
2500 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2501 1, 1, 1, 1, 1, 1, 1, 3, 1, 0,
2502 1, 1, 1, 2, 1, 3, 1, 1, 2, 1,
2503 1, 1, 2, 1, 3, 1, 3, 1, 1, 1,
2504 1, 2, 1, 3, 1, 2, 4, 3, 1, 1,
2505 1, 2, 1, 3, 3, 1, 1, 1, 2, 1,
2506 3, 3, 1, 1, 1, 2, 1, 3, 3, 1,
2507 1, 1, 2, 1, 3, 3, 1, 1, 1, 1,
2508 2, 1, 3, 1, 2, 1, 3, 1, 1, 1,
2509 1, 2, 1, 3, 1, 2, 1, 3, 1, 1,
2510 1, 1, 2, 1, 3, 1, 2, 1, 3, 1,
2511 1, 1, 1, 2, 1, 3, 1, 2, 1, 3,
2512 1, 1, 1, 1, 2, 1, 3, 3, 1, 1,
2513 1, 1, 2, 1, 3, 3, 1, 1, 1, 1,
2514 2, 1, 3, 1, 2, 4, 3, 1, 1, 1,
2515 1, 2, 1, 3, 1, 1, 2, 3, 0, 3,
2516 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
2517 3, 4, 0, 3, 1, 1, 0, 1, 1, 1,
2518 1, 3, 6, 0, 3, 1, 1, 1, 1, 2,
2519 1, 3, 1, 1, 2, 3, 1, 1, 0, 2,
2520 1, 1, 1, 2, 1, 0, 3, 1, 1, 1,
2521 1, 2, 1, 3, 1, 1, 2, 3, 1, 1,
2522 0, 2, 1, 1, 1, 2, 1, 0, 2, 1,
2523 1, 1, 1, 3, 7, 0, 1, 0, 1, 0,
2524 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
2525 3, 1, 1, 1, 1, 2, 1, 3, 1, 1,
2526 2, 3, 1, 1, 0, 2, 1, 1, 1, 2,
2527 1, 0, 3, 1, 4, 1, 1, 2, 1, 3,
2528 1, 2, 3, 1, 1, 0, 2, 1, 1, 1,
2529 1, 1, 2, 1, 3, 0, 2, 3, 1, 1,
2530 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2531 1, 1, 1, 1, 2, 1, 3, 1, 1, 1,
2532 2, 3, 1, 1, 0, 2, 1, 1, 1, 1,
2533 1, 1, 2, 1, 0, 3, 1, 1, 0, 1,
2534 1, 1, 1, 3, 4, 0, 3, 1, 1, 1,
2535 1, 2, 1, 3, 1, 1, 2, 3, 1, 1,
2536 0, 2, 1, 1, 1, 2, 1, 0, 3, 1,
2537 1, 1, 1, 2, 1, 3, 1, 1, 2, 3,
2538 1, 1, 0, 2, 1, 1, 1, 1, 2, 1,
2539 0, 2, 1, 1, 1, 1, 3, 7, 0, 1,
2540 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
2541 0, 1, 0, 2, 3, 1, 1, 0, 2, 1,
2542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2543 1, 2, 1, 3, 1, 1, 1, 2, 3, 1,
2544 1, 0, 2, 1, 1, 1, 1, 1, 1, 2,
2545 1, 0, 3, 1, 1, 0, 1, 1, 1, 1,
2546 3, 4, 0, 3, 1, 1, 1, 1, 2, 1,
2547 3, 1, 1, 2, 3, 1, 1, 0, 2, 1,
2548 1, 1, 2, 1, 0, 3, 1, 1, 1, 1,
2549 2, 1, 3, 1, 1, 2, 3, 1, 1, 0,
2550 2, 1, 1, 1, 1, 2, 1, 0, 2, 1,
2551 1, 1, 1, 3, 7, 0, 1, 0, 1, 0,
2552 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
2553 2, 3, 1, 1, 0, 2, 1, 1, 1, 1,
2554 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
2555 3, 1, 1, 1, 2, 3, 1, 1, 0, 2,
2556 1, 1, 1, 1, 1, 1, 2, 1, 0, 3,
2557 1, 1, 1, 1, 1, 3, 0, 2, 3, 1,
2558 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
2559 1, 1, 2, 1, 3, 1, 1, 2, 1, 1,
2560 1, 1, 1, 3, 1, 1, 2, 4, 3, 1,
2561 1, 0, 2, 1, 1, 1, 3, 3, 3, 2,
2562 1, 1, 4, 1, 1, 1, 1, 3, 1, 1,
2563 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
2564 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
2565 4, 4, 4, 4, 4, 1, 2, 3, 1, 1,
2566 0, 2, 1, 1, 1, 1, 1, 1, 3, 1,
2567 1, 1, 2, 0, 2, 1, 1, 1, 1, 2,
2568 1, 1, 1, 1, 3, 1, 0, 2, 1, 1,
2569 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
2570 1, 1, 1, 1, 3, 1, 1, 1, 1, 1,
2571 3, 1, 1, 1, 1, 1, 3, 1, 1, 1,
2572 1, 1, 3, 1, 1, 0, 2, 3, 1, 1,
2573 0, 2, 1, 1, 3, 3, 1, 1, 2, 1,
2574 3, 3, 1, 1, 1, 1, 3, 1, 3, 1,
2575 1, 1, 1, 3, 1, 3, 1, 1, 1, 1,
2576 3, 1, 3, 1, 1, 1, 1, 3, 1, 3,
2577 1, 1, 1, 1, 3, 1, 3, 1, 1, 1,
2578 1, 3, 1, 3, 1, 1, 1, 1, 3, 1,
2579 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2580 4, 4, 4, 4, 1, 1, 1, 3, 1, 1,
2581 1, 3, 1, 1, 1, 3, 1, 1, 1, 3,
2582 1, 1, 1, 3, 1, 1, 1, 3, 1, 1,
2583 1, 3, 1, 1, 1, 3, 1, 1, 1, 3,
2584 1, 1, 1, 3, 1, 1, 1, 3
2585};
2586
2587/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
2588 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
2589 means the default is an error. */
2590static const yytype_uint16 yydefact[] =
2591{
2592 0, 5, 4, 0, 16, 6, 1, 930, 14, 18,
2593 17, 0, 7, 0, 13, 2, 12, 20, 147, 0,
2594 936, 933, 929, 931, 932, 16, 10, 3, 8, 9,
2595 149, 208, 0, 0, 24, 19, 21, 22, 0, 935,
2596 14, 210, 241, 0, 0, 153, 148, 150, 151, 65,
2597 84, 92, 100, 108, 116, 127, 23, 41, 49, 57,
2598 76, 0, 26, 27, 29, 0, 30, 0, 31, 0,
2599 32, 66, 33, 0, 34, 0, 35, 0, 36, 0,
2600 37, 0, 38, 117, 39, 0, 934, 0, 947, 946,
2601 0, 953, 952, 0, 959, 958, 0, 965, 964, 0,
2602 971, 970, 937, 938, 943, 944, 945, 939, 949, 950,
2603 951, 940, 955, 956, 957, 941, 961, 962, 963, 942,
2604 967, 968, 969, 11, 243, 408, 0, 0, 214, 209,
2605 211, 212, 164, 173, 182, 191, 197, 152, 0, 155,
2606 156, 158, 166, 159, 175, 160, 184, 161, 192, 162,
2607 0, 25, 28, 0, 45, 40, 42, 43, 0, 53,
2608 48, 50, 51, 0, 61, 56, 58, 59, 0, 0,
2609 67, 0, 80, 75, 77, 78, 0, 88, 83, 85,
2610 86, 0, 96, 91, 93, 94, 0, 104, 99, 101,
2611 102, 0, 112, 107, 109, 110, 0, 0, 118, 923,
2612 0, 128, 0, 0, 0, 0, 0, 410, 15, 412,
2613 0, 247, 242, 244, 245, 222, 230, 213, 0, 216,
2614 217, 219, 0, 220, 0, 154, 157, 0, 165, 0,
2615 174, 0, 183, 1064, 0, 0, 193, 1062, 1063, 0,
2616 198, 47, 44, 0, 55, 52, 0, 63, 60, 0,
2617 0, 0, 72, 64, 69, 70, 82, 79, 0, 90,
2618 87, 0, 98, 95, 0, 106, 103, 0, 114, 111,
2619 0, 0, 0, 123, 115, 120, 121, 0, 0, 0,
2620 132, 126, 129, 130, 948, 954, 960, 966, 972, 0,
2621 411, 268, 279, 287, 298, 305, 312, 319, 378, 370,
2622 326, 337, 359, 348, 386, 397, 246, 0, 249, 250,
2623 252, 269, 253, 0, 254, 0, 255, 0, 256, 0,
2624 257, 0, 258, 0, 259, 0, 260, 0, 262, 0,
2625 261, 0, 263, 0, 264, 0, 265, 0, 266, 0,
2626 215, 218, 0, 226, 221, 223, 224, 0, 231, 0,
2627 163, 1088, 0, 167, 169, 168, 1086, 1087, 0, 172,
2628 176, 178, 177, 0, 181, 185, 187, 186, 0, 0,
2629 190, 0, 202, 196, 199, 200, 46, 54, 62, 68,
2630 74, 71, 0, 81, 89, 97, 105, 113, 119, 125,
2631 122, 0, 923, 922, 925, 926, 927, 928, 924, 131,
2632 138, 0, 134, 135, 140, 422, 419, 409, 417, 418,
2633 0, 0, 0, 413, 415, 416, 414, 248, 251, 0,
2634 270, 0, 283, 278, 280, 281, 0, 0, 288, 0,
2635 0, 0, 0, 0, 0, 0, 327, 0, 338, 0,
2636 349, 0, 360, 0, 371, 0, 379, 0, 0, 387,
2637 0, 398, 228, 225, 0, 0, 235, 229, 232, 233,
2638 920, 921, 0, 171, 0, 0, 180, 0, 189, 1065,
2639 195, 0, 201, 140, 0, 204, 205, 73, 124, 899,
2640 133, 136, 0, 139, 424, 0, 584, 426, 0, 0,
2641 0, 0, 274, 267, 271, 272, 285, 282, 0, 0,
2642 0, 292, 286, 289, 290, 0, 0, 302, 297, 299,
2643 300, 0, 309, 304, 306, 307, 0, 316, 311, 313,
2644 314, 0, 323, 318, 320, 321, 0, 0, 331, 325,
2645 328, 329, 0, 342, 336, 339, 340, 0, 353, 347,
2646 350, 351, 0, 364, 358, 361, 362, 0, 375, 369,
2647 372, 373, 0, 383, 377, 380, 381, 0, 0, 391,
2648 385, 388, 389, 0, 402, 396, 399, 400, 227, 234,
2649 140, 0, 237, 238, 170, 1089, 179, 188, 194, 0,
2650 203, 206, 0, 146, 137, 1072, 0, 1092, 0, 141,
2651 144, 142, 1070, 1071, 143, 1090, 1091, 420, 586, 701,
2652 588, 923, 0, 425, 427, 0, 0, 0, 273, 0,
2653 276, 277, 284, 0, 291, 0, 0, 294, 0, 0,
2654 301, 0, 855, 308, 0, 315, 0, 322, 0, 0,
2655 859, 330, 0, 333, 335, 861, 341, 0, 344, 346,
2656 352, 0, 355, 357, 363, 0, 366, 368, 374, 0,
2657 382, 0, 0, 390, 0, 0, 393, 401, 140, 0,
2658 404, 405, 0, 236, 239, 207, 145, 0, 0, 703,
2659 818, 705, 923, 0, 587, 589, 0, 433, 430, 423,
2660 428, 429, 1042, 1047, 1049, 275, 896, 0, 293, 295,
2661 902, 0, 303, 856, 310, 317, 324, 901, 332, 334,
2662 0, 860, 343, 345, 354, 356, 365, 367, 376, 384,
2663 903, 0, 392, 394, 0, 403, 406, 240, 1073, 1093,
2664 820, 421, 0, 923, 0, 704, 706, 0, 595, 592,
2665 585, 590, 591, 923, 435, 0, 455, 0, 0, 0,
2666 0, 870, 858, 0, 0, 0, 862, 863, 864, 865,
2667 0, 407, 923, 0, 821, 0, 712, 709, 702, 707,
2668 708, 923, 597, 0, 617, 0, 900, 431, 457, 477,
2669 0, 0, 0, 436, 296, 857, 869, 0, 0, 0,
2670 395, 0, 826, 824, 819, 822, 823, 923, 714, 0,
2671 734, 0, 898, 593, 619, 640, 0, 0, 0, 598,
2672 479, 499, 0, 0, 458, 0, 0, 440, 434, 437,
2673 438, 866, 867, 868, 923, 0, 897, 710, 736, 757,
2674 0, 0, 0, 715, 642, 662, 0, 0, 620, 0,
2675 0, 602, 596, 599, 600, 501, 521, 0, 485, 482,
2676 478, 480, 481, 0, 462, 456, 459, 460, 0, 439,
2677 446, 0, 442, 443, 448, 904, 825, 829, 827, 0,
2678 759, 779, 0, 0, 737, 0, 0, 719, 713, 716,
2679 717, 594, 648, 645, 641, 643, 644, 0, 624, 618,
2680 621, 622, 0, 601, 608, 0, 604, 605, 610, 523,
2681 545, 0, 0, 502, 992, 0, 487, 486, 0, 461,
2682 468, 0, 464, 465, 470, 1048, 441, 444, 0, 447,
2683 0, 1056, 0, 1080, 0, 1084, 0, 0, 830, 831,
2684 839, 836, 1054, 1055, 838, 833, 835, 1078, 1079, 837,
2685 1082, 1083, 834, 711, 765, 762, 758, 760, 761, 0,
2686 741, 735, 738, 739, 0, 718, 725, 0, 721, 722,
2687 727, 665, 663, 667, 0, 650, 649, 623, 630, 0,
2688 626, 627, 632, 1046, 603, 606, 0, 609, 432, 0,
2689 0, 0, 506, 500, 503, 504, 483, 999, 489, 488,
2690 0, 0, 0, 1040, 463, 466, 0, 469, 0, 454,
2691 445, 0, 449, 450, 451, 452, 0, 0, 0, 0,
2692 0, 843, 828, 840, 841, 832, 782, 780, 784, 0,
2693 767, 766, 740, 747, 0, 743, 744, 749, 1041, 720,
2694 723, 0, 726, 0, 666, 646, 652, 651, 625, 628,
2695 0, 631, 0, 616, 607, 611, 612, 613, 614, 548,
2696 546, 550, 0, 0, 528, 522, 525, 526, 505, 512,
2697 0, 508, 509, 514, 1006, 491, 490, 0, 0, 0,
2698 975, 995, 991, 993, 994, 0, 476, 467, 471, 472,
2699 473, 474, 453, 0, 0, 1057, 1081, 1085, 842, 852,
2700 0, 851, 0, 845, 846, 848, 849, 850, 0, 783,
2701 763, 769, 768, 742, 745, 0, 748, 0, 733, 724,
2702 728, 729, 730, 731, 0, 682, 664, 679, 680, 0,
2703 1068, 0, 1076, 0, 668, 670, 669, 674, 678, 677,
2704 1066, 1067, 671, 676, 1074, 1075, 673, 675, 672, 654,
2705 653, 0, 639, 629, 876, 889, 0, 0, 633, 636,
2706 873, 874, 875, 637, 886, 887, 888, 634, 635, 615,
2707 0, 549, 0, 527, 533, 0, 530, 535, 507, 510,
2708 0, 513, 1013, 493, 492, 0, 0, 975, 1002, 998,
2709 1000, 1001, 0, 0, 997, 973, 974, 0, 475, 0,
2710 1045, 854, 0, 844, 847, 0, 799, 781, 796, 797,
2711 1060, 0, 785, 786, 787, 791, 793, 1058, 1059, 795,
2712 794, 788, 790, 792, 789, 771, 770, 0, 756, 746,
2713 881, 894, 923, 923, 750, 753, 878, 879, 880, 754,
2714 891, 892, 893, 751, 752, 732, 908, 689, 681, 0,
2715 684, 686, 691, 685, 905, 910, 0, 0, 0, 656,
2716 655, 638, 923, 923, 0, 565, 547, 562, 563, 1096,
2717 0, 551, 553, 552, 557, 561, 560, 554, 556, 558,
2718 555, 559, 1094, 1095, 524, 529, 531, 0, 534, 0,
2719 520, 511, 515, 516, 517, 518, 1020, 495, 494, 0,
2720 0, 975, 1009, 1005, 1007, 1008, 1004, 0, 1043, 0,
2721 0, 978, 976, 980, 996, 1051, 853, 806, 798, 0,
2722 801, 803, 808, 802, 0, 773, 772, 755, 0, 0,
2723 683, 687, 0, 690, 906, 0, 909, 0, 1069, 1077,
2724 658, 657, 877, 890, 572, 564, 0, 567, 569, 574,
2725 568, 0, 0, 543, 532, 540, 541, 923, 0, 536,
2726 539, 871, 537, 883, 884, 538, 519, 1027, 497, 496,
2727 0, 0, 975, 1016, 1012, 1014, 1015, 1011, 0, 1003,
2728 0, 0, 989, 985, 986, 987, 0, 979, 800, 804,
2729 0, 807, 1061, 775, 774, 923, 923, 0, 700, 688,
2730 698, 692, 696, 697, 693, 694, 695, 975, 917, 907,
2731 915, 916, 911, 912, 914, 913, 1044, 660, 659, 566,
2732 570, 0, 573, 1097, 542, 0, 0, 0, 1034, 484,
2733 498, 0, 0, 975, 1023, 1019, 1021, 1022, 1018, 0,
2734 1010, 0, 0, 988, 0, 977, 0, 0, 981, 983,
2735 982, 0, 817, 805, 815, 809, 813, 814, 810, 811,
2736 812, 777, 776, 882, 895, 699, 0, 919, 647, 661,
2737 0, 583, 571, 581, 575, 579, 580, 576, 577, 578,
2738 544, 923, 0, 0, 975, 1030, 1026, 1028, 1029, 1025,
2739 0, 1017, 1050, 990, 0, 0, 0, 816, 764, 778,
2740 918, 582, 885, 872, 975, 1037, 1033, 1035, 1036, 1032,
2741 0, 1024, 984, 0, 0, 1039, 0, 1031, 1052, 1053,
2742 1038
2743};
2744
2745/* YYDEFGOTO[NTERM-NUM]. */
2746static const yytype_int16 yydefgoto[] =
2747{
2748 -1, 3, 4, 5, 13, 27, 28, 29, 15, 16,
2749 8, 9, 18, 19, 35, 36, 37, 61, 62, 63,
2750 64, 65, 155, 156, 157, 243, 66, 67, 160, 161,
2751 162, 246, 68, 69, 165, 166, 167, 249, 70, 71,
2752 169, 170, 253, 254, 255, 382, 72, 73, 173, 174,
2753 175, 258, 74, 75, 178, 179, 180, 261, 76, 77,
2754 183, 184, 185, 264, 78, 79, 188, 189, 190, 267,
2755 80, 81, 193, 194, 195, 270, 82, 83, 197, 198,
2756 274, 275, 276, 391, 84, 85, 200, 281, 282, 283,
2757 401, 402, 403, 404, 482, 483, 589, 584, 31, 32,
2758 46, 47, 48, 138, 139, 140, 141, 142, 227, 228,
2759 353, 350, 462, 143, 144, 229, 230, 360, 359, 465,
2760 145, 146, 231, 232, 365, 364, 467, 147, 148, 235,
2761 370, 471, 149, 150, 239, 373, 374, 375, 474, 475,
2762 476, 42, 43, 129, 130, 131, 218, 219, 220, 221,
2763 222, 344, 345, 346, 454, 223, 224, 347, 457, 458,
2764 459, 571, 572, 573, 125, 126, 212, 213, 214, 307,
2765 308, 309, 310, 311, 419, 493, 494, 495, 609, 610,
2766 312, 313, 423, 424, 425, 498, 314, 315, 427, 502,
2767 503, 504, 616, 617, 316, 317, 508, 509, 510, 318,
2768 319, 513, 514, 515, 320, 321, 518, 519, 520, 322,
2769 323, 523, 524, 525, 324, 325, 435, 529, 530, 531,
2770 632, 633, 326, 327, 437, 534, 535, 536, 637, 638,
2771 328, 329, 439, 539, 540, 541, 641, 642, 330, 331,
2772 441, 544, 545, 546, 645, 646, 332, 333, 443, 549,
2773 550, 551, 334, 335, 445, 554, 555, 556, 336, 337,
2774 448, 560, 561, 562, 655, 656, 338, 339, 450, 565,
2775 566, 567, 659, 660, 661, 208, 209, 289, 290, 413,
2776 407, 408, 409, 485, 486, 487, 602, 603, 679, 680,
2777 681, 735, 736, 737, 772, 808, 809, 810, 851, 852,
2778 853, 854, 908, 909, 992, 990, 769, 770, 803, 845,
2779 846, 847, 901, 902, 903, 904, 986, 987, 1068, 1067,
2780 801, 802, 840, 841, 842, 895, 896, 978, 1055, 1163,
2781 1277, 1348, 1409, 836, 837, 892, 973, 974, 975, 1050,
2782 1051, 1052, 1053, 1160, 1161, 1272, 1271, 890, 891, 970,
2783 1045, 1046, 1047, 1155, 1156, 1157, 1267, 1268, 1339, 1334,
2784 1335, 1336, 968, 1040, 1041, 1150, 1151, 1251, 1246, 1247,
2785 1248, 1326, 1327, 1328, 1329, 1401, 1402, 1454, 1452, 1453,
2786 599, 600, 673, 674, 730, 731, 732, 763, 764, 765,
2787 798, 832, 833, 834, 885, 886, 887, 888, 966, 967,
2788 1035, 1034, 795, 796, 827, 879, 880, 881, 959, 960,
2789 961, 962, 1030, 1031, 1138, 1133, 825, 826, 874, 875,
2790 876, 954, 955, 1026, 1129, 1239, 1320, 1397, 1448, 871,
2791 952, 953, 1023, 1024, 1114, 1106, 1107, 1108, 1229, 1230,
2792 1231, 1232, 1312, 1313, 1381, 1379, 1380, 670, 671, 724,
2793 725, 758, 759, 760, 789, 790, 791, 822, 868, 869,
2794 870, 947, 948, 949, 950, 1021, 1022, 1100, 1099, 819,
2795 820, 863, 941, 942, 943, 1014, 1015, 1016, 1017, 1095,
2796 1096, 1214, 1209, 861, 862, 936, 937, 938, 1009, 1010,
2797 1091, 1205, 1305, 1373, 1441, 1478, 933, 1007, 1008, 1088,
2798 1089, 1192, 1187, 1188, 1189, 1299, 1300, 1301, 1302, 1370,
2799 1371, 1435, 1433, 1434, 721, 722, 753, 784, 785, 786,
2800 815, 858, 859, 917, 918, 919, 1002, 1003, 1004, 1082,
2801 1083, 1084, 1085, 1086, 1087, 1182, 621, 622, 634, 635,
2802 700, 701, 746, 747, 748, 749, 742, 1340, 1341, 1139,
2803 1140, 1141, 1142, 1215, 1216, 1217, 1218, 1342, 1343, 1344,
2804 1143, 1144, 1145, 1146, 1219, 1220, 1221, 1222, 428, 726,
2805 675, 201, 604, 436, 430, 449, 754, 1233, 1234, 1235,
2806 1315, 1316, 1392, 1389, 1390, 1391, 1446, 463, 277, 278,
2807 398, 10, 11, 22, 23, 24, 38, 39, 102, 103,
2808 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2809 114, 115, 116, 117, 118, 119, 120, 121, 122, 1174,
2810 1175, 1292, 1293, 1366, 1367, 1428, 1425, 1176, 1363, 1364,
2811 1365, 897, 898, 1062, 1063, 1064, 1177, 979, 980, 1169,
2812 1170, 1171, 1287, 1056, 1057, 1283, 1284, 1285, 1358, 1164,
2813 1165, 1354, 1355, 1356, 1419, 1278, 1279, 1415, 1416, 1417,
2814 1470, 1349, 1350, 1466, 1467, 1468, 1490, 1410, 1411, 1486,
2815 1487, 1488, 1496, 982, 823, 414, 983, 1115, 920, 799,
2816 415, 773, 416, 1290, 993, 1429, 1430, 921, 922, 923,
2817 1196, 1197, 1198, 924, 237, 238, 1119, 1120, 1121, 925,
2818 592, 593, 1123, 1124, 1125, 926, 927, 928, 929, 930,
2819 931, 355, 356, 357, 932, 595, 596, 1261, 1262, 1263
2820};
2821
2822/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2823 STATE-NUM. */
2824#define YYPACT_NINF -1240
2825static const yytype_int16 yypact[] =
2826{
2827 308, -1240, -1240, 153, 18, 148, -1240, -1240, 167, -128,
2828 -1240, 328, -1240, 365, -1240, -1240, -1240, -1240, -99, 388,
2829 -1240, -1240, -1240, -1240, -1240, 18, -1240, -1240, -1240, -1240,
2830 -1240, -83, 404, -24, -1240, -1240, -1240, -1240, 113, 425,
2831 167, -1240, -63, 410, -20, -1240, -1240, -1240, -1240, -1240,
2832 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2833 -1240, -30, -19, -1240, -1240, 421, -1240, 423, -1240, 426,
2834 -1240, 226, -1240, 430, -1240, 432, -1240, 439, -1240, 441,
2835 -1240, 457, -1240, 264, -1240, 259, -1240, 295, -1240, -1240,
2836 299, -1240, -1240, 318, -1240, -1240, 325, -1240, -1240, 349,
2837 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2838 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2839 -1240, -1240, -1240, -1240, -1240, 40, 459, -21, -1240, -1240,
2840 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 49, 55,
2841 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 305, -1240,
2842 259, -1240, -1240, 13, -1240, -1240, -1240, -1240, 8, -1240,
2843 -1240, -1240, -1240, 7, -1240, -1240, -1240, -1240, 361, 465,
2844 -1240, 6, -1240, -1240, -1240, -1240, 163, -1240, -1240, -1240,
2845 -1240, 136, -1240, -1240, -1240, -1240, 156, -1240, -1240, -1240,
2846 -1240, 140, -1240, -1240, -1240, -1240, 377, 469, -1240, -1240,
2847 471, -1240, 254, 252, 256, 248, 246, -1240, -1240, -1240,
2848 -22, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 81, 54,
2849 -1240, -1240, 473, -1240, 259, -1240, -1240, 391, 114, 406,
2850 114, 412, 114, -1240, 435, 414, -1240, -1240, -1240, 475,
2851 -1240, -1240, -1240, 95, -1240, -1240, 100, -1240, -1240, 173,
2852 533, 129, -1240, -1240, -1240, -1240, -1240, -1240, 211, -1240,
2853 -1240, 507, -1240, -1240, 517, -1240, -1240, 511, -1240, -1240,
2854 563, 561, 146, -1240, -1240, -1240, -1240, 685, -2, -93,
2855 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 479,
2856 138, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2857 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 378, 302, -1240,
2858 -1240, 311, -1240, 483, -1240, 661, -1240, 662, -1240, 662,
2859 -1240, 662, -1240, 662, -1240, 664, -1240, 664, -1240, 664,
2860 -1240, 664, -1240, 662, -1240, 662, -1240, 666, -1240, 259,
2861 -1240, -1240, 130, -1240, -1240, -1240, -1240, 485, -1240, 491,
2862 -1240, -1240, 692, -1240, -1240, -1240, -1240, -1240, 491, -1240,
2863 -1240, -1240, -1240, 491, -1240, -1240, -1240, -1240, 688, 693,
2864 -1240, -88, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2865 -1240, -1240, 654, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2866 -1240, 648, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2867 -1240, 579, 364, -1240, -1240, 395, -1240, -1240, -1240, -1240,
2868 697, 698, 699, -1240, -1240, -1240, -1240, -1240, -1240, 489,
2869 -1240, 111, -1240, -1240, -1240, -1240, 700, 495, -1240, 701,
2870 513, 515, 519, 523, 702, 525, -1240, 527, -1240, 529,
2871 -1240, 536, -1240, 538, -1240, 573, -1240, 703, 575, -1240,
2872 577, -1240, -1240, -1240, 649, -86, -1240, -1240, -1240, -1240,
2873 -1240, -1240, 656, -1240, 706, 658, -1240, 660, -1240, -1240,
2874 -1240, 668, -1240, -1240, 594, 364, -1240, -1240, -1240, -1240,
2875 -1240, -1240, 581, 168, -1240, 398, 415, 684, 715, 716,
2876 717, 132, -1240, -1240, -1240, -1240, -1240, -1240, 669, 718,
2877 -52, -1240, -1240, -1240, -1240, 719, 282, -1240, -1240, -1240,
2878 -1240, 209, -1240, -1240, -1240, -1240, 245, -1240, -1240, -1240,
2879 -1240, 75, -1240, -1240, -1240, -1240, 720, 139, -1240, -1240,
2880 -1240, -1240, 64, -1240, -1240, -1240, -1240, 74, -1240, -1240,
2881 -1240, -1240, 72, -1240, -1240, -1240, -1240, 142, -1240, -1240,
2882 -1240, -1240, 92, -1240, -1240, -1240, -1240, 721, 405, -1240,
2883 -1240, -1240, -1240, -84, -1240, -1240, -1240, -1240, -1240, -1240,
2884 -1240, 604, 364, -1240, -1240, -1240, -1240, -1240, -1240, 581,
2885 -1240, -1240, 390, -1240, -1240, -1240, 726, -1240, 729, -1240,
2886 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 436,
2887 704, -1240, 583, -1240, -1240, 725, 727, 728, -1240, 672,
2888 -1240, -1240, -1240, 731, -1240, 732, -50, -1240, 733, 734,
2889 -1240, 286, -1240, -1240, 251, -1240, 247, -1240, 154, 735,
2890 -1240, -1240, 143, -1240, -1240, -1240, -1240, 79, -1240, -1240,
2891 -1240, 78, -1240, -1240, -1240, 82, -1240, -1240, -1240, 192,
2892 -1240, 205, 737, -1240, 736, 499, -1240, -1240, -1240, 624,
2893 364, -1240, 581, -1240, -1240, -1240, -1240, 739, 741, -1240,
2894 632, 713, -1240, 587, -1240, -1240, 746, 670, -1240, -1240,
2895 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 749, -1240, -1240,
2896 -1240, 750, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2897 589, 344, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2898 -1240, 751, -1240, -1240, 581, -1240, -1240, -1240, -1240, -1240,
2899 -1240, -1240, 722, -1240, 591, -1240, -1240, 752, 646, -1240,
2900 -1240, -1240, -1240, -1240, -1240, 449, 671, 543, 420, 690,
2901 689, -1240, -1240, 761, 762, 763, -1240, -1240, -1240, -1240,
2902 676, -1240, -1240, 593, -1240, 764, 652, -1240, -1240, -1240,
2903 -1240, -1240, -1240, 468, 674, 553, -1240, -1240, -1240, 678,
2904 543, 765, 595, -1240, -1240, -1240, -1240, 767, 768, 769,
2905 -1240, 772, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 480,
2906 680, 568, -1240, -1240, -1240, 681, 553, 774, 597, -1240,
2907 -1240, 683, 601, 603, -1240, 777, -56, -1240, -1240, -1240,
2908 -1240, -1240, -1240, -1240, -1240, 497, -1240, -1240, -1240, 682,
2909 568, 778, 609, -1240, -1240, -1240, 611, 613, -1240, 783,
2910 -38, -1240, -1240, -1240, -1240, -1240, 686, 543, 466, -1240,
2911 -1240, -1240, -1240, -46, -1240, -1240, -1240, -1240, 784, -1240,
2912 -1240, 691, 490, -1240, -1240, -1240, -1240, -1240, -1240, 407,
2913 -1240, -1240, 615, 617, -1240, 789, -58, -1240, -1240, -1240,
2914 -1240, 456, 466, -1240, -1240, -1240, -1240, -23, -1240, -1240,
2915 -1240, -1240, 790, -1240, -1240, 687, 500, -1240, -1240, -1240,
2916 -1240, 766, 619, -1240, -1240, 705, 481, -1240, 639, -1240,
2917 -1240, 708, 501, -1240, -1240, -1240, -1240, -1240, 621, -51,
2918 795, -1240, 801, -1240, 804, -1240, 805, 623, 407, -1240,
2919 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2920 -1240, -1240, -1240, 472, 466, -1240, -1240, -1240, -1240, -26,
2921 -1240, -1240, -1240, -1240, 803, -1240, -1240, 707, 518, -1240,
2922 -1240, -1240, -1240, -1240, 709, 481, -1240, -1240, -1240, 710,
2923 516, -1240, -1240, -1240, -1240, -1240, 625, -51, 477, 807,
2924 627, -60, -1240, -1240, -1240, -1240, -1240, -1240, 496, -1240,
2925 639, 811, 629, -1240, -1240, -1240, 631, -51, 520, -1240,
2926 -1240, 812, -1240, -1240, -1240, -1240, 820, 819, 821, 822,
2927 115, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 724,
2928 481, -1240, -1240, -1240, 714, 535, -1240, -1240, -1240, -1240,
2929 -1240, 633, -51, 635, 289, -1240, 496, -1240, -1240, -1240,
2930 637, 70, 534, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2931 -1240, -1240, 830, 541, -1240, -1240, -1240, -1240, -1240, -1240,
2932 738, 537, -1240, -1240, -1240, 521, -1240, 639, 641, 832,
2933 694, -1240, -1240, -1240, -1240, 540, -1240, -1240, -1240, -1240,
2934 -1240, -1240, -1240, 834, 835, -1240, -1240, -1240, -1240, -1240,
2935 837, -1240, 740, 208, -1240, -1240, -1240, -1240, 643, 345,
2936 -1240, 496, -1240, -1240, -1240, 645, 73, 549, -1240, -1240,
2937 -1240, -1240, -1240, -1240, -76, -1240, -1240, -1240, -1240, 839,
2938 -1240, 845, -1240, 846, -1240, -1240, -1240, -1240, -1240, -1240,
2939 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 521,
2940 -1240, 552, -1240, -1240, -1240, -1240, 847, 851, -1240, -1240,
2941 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2942 647, 236, 848, -1240, -1240, 551, -1240, -1240, -1240, -1240,
2943 651, -51, -1240, 531, -1240, 639, 653, 694, -1240, -1240,
2944 -1240, -1240, 850, 620, -1240, 711, -1240, 542, -1240, 852,
2945 -1240, -1240, 712, -1240, -1240, -101, -1240, -1240, -1240, -1240,
2946 -1240, 858, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2947 -1240, -1240, -1240, -1240, -1240, 521, -1240, 566, -1240, -1240,
2948 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2949 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 524,
2950 569, -1240, -1240, 723, -1240, -1240, 860, 862, 864, 531,
2951 -1240, -1240, -1240, -1240, -74, -1240, -1240, -1240, -1240, -1240,
2952 865, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2953 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 655, 56, 570,
2954 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 545, -1240, 639,
2955 657, 694, -1240, -1240, -1240, -1240, -1240, 556, -1240, 866,
2956 659, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 539,
2957 585, -1240, -1240, 723, 871, 531, -1240, -1240, 491, 491,
2958 -1240, -1240, 663, 32, -1240, 665, 165, 874, -1240, -1240,
2959 545, -1240, -1240, -1240, -1240, -1240, 544, 580, -1240, -1240,
2960 723, 875, -40, -1240, -1240, -1240, -1240, -1240, 878, -1240,
2961 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 557, -1240,
2962 639, 667, 694, -1240, -1240, -1240, -1240, -1240, 565, -1240,
2963 883, 58, -1240, -1240, -1240, -1240, 880, 442, -1240, -1240,
2964 673, 32, -1240, 545, -1240, -1240, -1240, 592, -1240, -1240,
2965 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 694, -1240, -1240,
2966 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 557, -1240, -1240,
2967 -1240, 675, 32, -1240, -1240, -35, 888, 491, -1240, -1240,
2968 -1240, 639, 677, 694, -1240, -1240, -1240, -1240, -1240, 576,
2969 -1240, 889, 742, -1240, 890, -1240, 891, 892, -1240, -1240,
2970 -1240, 605, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2971 -1240, 557, -1240, -1240, -1240, -1240, 745, -1240, -1240, -1240,
2972 598, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2973 -1240, -1240, 897, 679, 694, -1240, -1240, -1240, -1240, -1240,
2974 571, -1240, -1240, -1240, 753, 900, 902, -1240, -1240, -1240,
2975 -1240, -1240, -1240, -1240, 694, -1240, -1240, -1240, -1240, -1240,
2976 582, -1240, -1240, 901, 904, -1240, 584, -1240, -1240, -1240,
2977 -1240
2978};
2979
2980/* YYPGOTO[NTERM-NUM]. */
2981static const yytype_int16 yypgoto[] =
2982{
2983 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 870, -1240,
2984 893, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 854,
2985 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2986 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2987 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2988 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2989 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2990 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2991 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2992 -1240, -1240, 512, -355, -409, -1240, -1240, -513, -1240, -1240,
2993 -1240, -1240, -1240, -1240, -1240, 780, -1240, -1240, -1240, -1240,
2994 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2995 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2996 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2997 438, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 730, -1240,
2998 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
2999 -1240, -1240, -1240, 348, -1240, -1240, -1240, -1240, -1240, -1240,
3000 -1240, 616, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3001 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3002 -1240, -1240, -1240, 301, -1240, -1240, -1240, -1240, -1240, -1240,
3003 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3004 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3005 -1240, 293, -1240, -1240, -1240, -1240, -1240, -1240, -1240, 284,
3006 -1240, -1240, -1240, -1240, -1240, -1240, -1240, 285, -1240, -1240,
3007 -1240, -1240, -1240, -1240, -1240, 283, -1240, -1240, -1240, -1240,
3008 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3009 -1240, -1240, -1240, -1240, -1240, 272, -1240, -1240, -1240, -1240,
3010 -1240, -1240, -1240, -1240, 269, -1240, -1240, -1240, -1240, -1240,
3011 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3012 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3013 80, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3014 -1240, -1240, -1240, -1240, 28, -1240, -1240, -1240, -1240, -1240,
3015 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3016 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3017 -401, -1042, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3018 -1240, -1240, -1240, -1240, -222, -1240, -1240, -1240, -1240, -1240,
3019 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3020 -1240, -1240, -1240, -393, -1240, -1240, -1240, -1240, -1240, -1240,
3021 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3022 -1240, -1240, -1240, -1240, -1240, -1240, 50, -1240, -1240, -1240,
3023 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3024 -25, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3025 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3026 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3027 -293, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3028 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3029 -1240, -1240, -1240, -10, -1240, -1240, -1240, -1240, -1240, -1240,
3030 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -75, -1240, -1240,
3031 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3032 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3033 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -361, -1240, -1240,
3034 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3035 -1240, -1240, -1240, -1240, -1240, 24, -1240, -1240, -1240, -1240,
3036 -1240, -140, -1240, -1240, -1240, -1240, -250, -325, -419, -1240,
3037 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1206,
3038 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3039 -1205, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3040 -1240, -98, -1240, -72, -100, -1240, -1240, -1056, -1155, -1240,
3041 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -356, -391, -1240,
3042 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3043 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3044 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1153,
3045 -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
3046 -1240, -753, -1240, -1240, -1240, -1240, -1240, -819, -1240, -1240,
3047 -1240, -1240, -1240, -920, -1240, -1240, -1240, -1240, -1240, -1046,
3048 -1240, -1240, -1240, -1240, -1240, -1149, -1240, -1240, -1240, -1240,
3049 -1240, -1190, -1240, -1240, -1240, -1240, -1240, -1239, -1240, -1240,
3050 -1240, -1240, -1240, -972, -805, -1240, -372, -965, -1240, -774,
3051 -1240, -765, -1240, -1240, -954, -1240, -1240, -964, -1240, -1240,
3052 -1240, -1240, -1240, -148, -1240, -1240, -962, -1240, -1240, -480,
3053 -1240, -1240, -1240, -1240, -1240, -948, -1240, -1240, -919, -1240,
3054 -1240, -121, -1240, -1240, -479, -1240, -1240, -1240, -1240, -1240
3055};
3056
3057/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
3058 positive, shift that token. If negative, reduce the rule which
3059 number is the opposite. If zero, do what YYDEFACT says.
3060 If YYTABLE_NINF, syntax error. */
3061#define YYTABLE_NINF -1
3062static const yytype_uint16 yytable[] =
3063{
3064 236, 479, 466, 591, 594, 804, 393, 468, 1058, 1159,
3065 256, 247, 244, 1036, 1286, 864, 473, 241, 614, 49,
3066 688, 50, 828, 51, 49, 52, 50, 53, 51, 54,
3067 52, 399, 53, 1069, 54, 132, 472, 133, 569, 134,
3068 657, 135, 215, 291, 849, 292, 1048, 293, 1134, 1135,
3069 1136, 1137, 240, 294, 1226, 295, 899, 296, 945, 297,
3070 1117, 298, 1422, 299, 579, 300, 665, 301, 1101, 302,
3071 1404, 303, 893, 304, 883, 1460, 1126, 1147, 1314, 1226,
3072 354, 1226, 361, 1240, 366, 1166, 1134, 1135, 1136, 1137,
3073 1321, 957, 1012, 1210, 1211, 1212, 1213, 1337, 1338, 55,
3074 570, 305, 216, 136, 55, 1127, 1130, 1382, 1383, 362,
3075 132, 367, 133, 639, 134, 496, 135, 215, 643, 956,
3076 473, 585, 586, 647, 1194, 1195, 348, 1200, 1357, 1303,
3077 1398, 587, 588, 380, 452, 611, 1027, 630, 460, 461,
3078 262, 1202, 1223, 7, 268, 630, 619, 630, 1314, 717,
3079 389, 630, 630, 6, 636, 630, 1374, 627, 1449, 1306,
3080 265, 662, 12, 619, 644, 1436, 1437, 259, 640, 702,
3081 1203, 1206, 704, 381, 706, 1314, 650, 216, 136, 497,
3082 17, 1011, 14, 1442, 263, 991, 1252, 1254, 1330, 1256,
3083 420, 1092, 269, 1280, 453, 1297, 1455, 1456, 608, 1418,
3084 390, 751, 1479, 1258, 585, 586, 266, 1273, 658, 260,
3085 676, 30, 630, 619, 587, 588, 630, 570, 639, 431,
3086 1423, 432, 643, 433, 1227, 619, 647, 631, 648, 41,
3087 1324, 698, 1259, 444, 1447, 446, 696, 1078, 946, 86,
3088 1298, 451, 585, 586, 1049, 585, 586, 400, 850, 714,
3089 1116, 124, 400, 168, 400, 438, 400, 440, 900, 442,
3090 1469, 624, 884, 619, 1049, 1228, 626, 1325, 991, 1049,
3091 1013, 628, 1079, 1080, 771, 1081, 619, 958, 708, 151,
3092 619, 727, 233, 234, 1193, 56, 615, 623, 615, 709,
3093 196, 137, 217, 306, 351, 352, 693, 649, 199, 693,
3094 202, 693, 651, 693, 203, 658, 991, 1351, 57, 991,
3095 58, 1489, 59, 57, 60, 58, 619, 59, 619, 60,
3096 1, 2, 619, 204, 693, 625, 693, 695, 981, 694,
3097 205, 1495, 755, 233, 234, 590, 233, 234, 20, 21,
3098 585, 586, 766, 245, 248, 257, 242, 587, 588, 410,
3099 587, 588, 411, 619, 206, 412, 207, 619, 620, 1384,
3100 225, 781, 692, 1159, 250, 1079, 1080, 291, 1081, 292,
3101 792, 293, 743, 744, 745, 25, 26, 294, 1412, 295,
3102 271, 296, 284, 297, 285, 298, 1253, 299, 287, 300,
3103 288, 301, 286, 302, 340, 303, 816, 304, 33, 34,
3104 1109, 349, 911, 912, 233, 234, 913, 914, 585, 586,
3105 915, 916, 1110, 1111, 44, 45, 358, 1438, 587, 588,
3106 127, 128, 363, 855, 369, 305, 1249, 1250, 376, 994,
3107 995, 153, 154, 158, 159, 377, 163, 164, 368, 1463,
3108 171, 172, 176, 177, 394, 395, 396, 397, 1457, 181,
3109 182, 186, 187, 1109, 771, 911, 912, 233, 234, 913,
3110 914, 585, 586, 915, 916, 1110, 1111, 191, 192, 210,
3111 211, 587, 588, 233, 234, 251, 252, 1112, 1113, 272,
3112 273, 279, 280, 342, 343, 371, 372, 1037, 1038, 405,
3113 406, 351, 352, 421, 422, 455, 456, 460, 461, 491,
3114 492, 653, 654, 1345, 797, 500, 501, 1070, 1071, 1109,
3115 378, 911, 912, 233, 234, 913, 914, 585, 586, 915,
3116 916, 1110, 1111, 506, 507, 511, 512, 587, 588, 516,
3117 517, 1190, 1191, 521, 522, 527, 528, 532, 533, 537,
3118 538, 379, 1102, 1103, 1122, 1128, 542, 543, 547, 548,
3119 383, 1148, 87, 384, 88, 89, 90, 821, 91, 92,
3120 93, 386, 94, 95, 96, 385, 97, 98, 99, 388,
3121 100, 101, 910, 911, 912, 233, 234, 913, 914, 585,
3122 586, 915, 916, 552, 553, 558, 559, 563, 564, 587,
3123 588, 582, 583, 677, 678, 712, 654, 728, 729, 740,
3124 741, 756, 757, 782, 783, 806, 807, 830, 831, 1201,
3125 1204, 838, 839, 843, 844, 387, 1224, 856, 857, 866,
3126 867, 872, 873, 877, 878, 934, 935, 939, 940, 971,
3127 972, 988, 989, 1000, 1001, 1032, 1033, 1043, 1044, 1060,
3128 1061, 1065, 1066, 1097, 1098, 1104, 1105, 1131, 1132, 1153,
3129 1154, 1167, 1168, 1185, 1186, 1207, 1208, 1244, 1245, 1265,
3130 1154, 1269, 1270, 1281, 1282, 1332, 1333, 1352, 1353, 1361,
3131 1362, 1257, 1260, 1377, 1378, 1387, 1388, 1413, 1414, 1426,
3132 1427, 1274, 1275, 1431, 1432, 1450, 1451, 1464, 1465, 1484,
3133 1485, 392, 426, 417, 429, 464, 469, 434, 477, 470,
3134 447, 484, 478, 480, 400, 488, 489, 490, 499, 505,
3135 526, 557, 574, 568, 575, 597, 576, 598, 580, 601,
3136 577, 605, 606, 607, 613, 618, 629, 652, 663, 667,
3137 578, 666, 668, 682, 669, 683, 684, 612, 685, 686,
3138 672, 690, 687, 697, 691, 710, 711, 718, 715, 719,
3139 723, 720, 733, 738, 739, 750, 767, 762, 761, 774,
3140 752, 771, 775, 776, 777, 778, 779, 788, 797, 734,
3141 787, 793, 768, 805, 780, 811, 812, 813, 814, 817,
3142 821, 800, 829, 848, 824, 860, 865, 794, 835, 882,
3143 894, 906, 905, 889, 850, 944, 951, 818, 963, 964,
3144 884, 977, 981, 996, 997, 900, 969, 998, 999, 976,
3145 984, 1018, 1006, 1025, 946, 1042, 958, 1039, 1054, 1059,
3146 1073, 1308, 1309, 1019, 1028, 1072, 1074, 1075, 1090, 1076,
3147 1077, 1013, 1093, 1385, 1386, 1149, 1152, 1395, 1172, 1162,
3148 1179, 1049, 1181, 1180, 1158, 1178, 1225, 1236, 1237, 1238,
3149 1242, 1322, 1323, 1241, 1243, 1173, 1264, 1276, 1288, 1289,
3150 1295, 1304, 1183, 1307, 1291, 1310, 1317, 1294, 1331, 1227,
3151 1318, 1296, 1319, 1347, 1360, 1346, 1118, 1359, 1226, 1372,
3152 1368, 1297, 1396, 1403, 1324, 1399, 1407, 1408, 1420, 1421,
3153 1424, 1439, 1440, 1445, 1461, 1471, 1474, 1472, 1491, 1475,
3154 1476, 1480, 1477, 1481, 1473, 1483, 1493, 1492, 1494, 1498,
3155 123, 1497, 1499, 581, 481, 1500, 152, 689, 40, 226,
3156 664, 703, 1458, 1459, 418, 699, 705, 713, 707, 716,
3157 985, 1405, 907, 1266, 1400, 1029, 965, 1311, 1020, 1369,
3158 1094, 1199, 1005, 1184, 1393, 0, 1406, 0, 0, 341,
3159 0, 0, 1375, 1376, 0, 0, 0, 0, 0, 0,
3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3162 0, 0, 0, 0, 1443, 1444, 0, 0, 0, 0,
3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3164 0, 0, 0, 1255, 0, 0, 0, 0, 0, 0,
3165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3169 0, 1462, 0, 0, 0, 0, 0, 0, 0, 0,
3170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3171 1482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3180 0, 0, 0, 0, 0, 0, 0, 0, 1394
3181};
3182
3183static const yytype_int16 yycheck[] =
3184{
3185 148, 392, 358, 483, 483, 770, 8, 363, 980, 1051,
3186 4, 4, 4, 967, 1167, 820, 371, 4, 70, 43,
3187 70, 45, 796, 47, 43, 49, 45, 51, 47, 53,
3188 49, 124, 51, 987, 53, 55, 124, 57, 124, 59,
3189 124, 61, 63, 65, 100, 67, 106, 69, 16, 17,
3190 18, 19, 150, 75, 155, 77, 102, 79, 116, 81,
3191 1024, 83, 4, 85, 473, 87, 579, 89, 1022, 91,
3192 110, 93, 837, 95, 112, 110, 1024, 1031, 1233, 155,
3193 228, 155, 230, 1129, 232, 1057, 16, 17, 18, 19,
3194 1239, 114, 118, 20, 21, 22, 23, 41, 42, 123,
3195 455, 123, 123, 123, 123, 1024, 1026, 1313, 1313, 230,
3196 55, 232, 57, 532, 59, 4, 61, 63, 537, 872,
3197 475, 172, 173, 542, 1089, 1089, 224, 1089, 1281, 1185,
3198 1320, 182, 183, 4, 4, 491, 955, 73, 6, 7,
3199 4, 1089, 1096, 125, 4, 73, 71, 73, 1303, 662,
3200 4, 73, 73, 0, 90, 73, 1305, 82, 1397, 1205,
3201 4, 570, 14, 71, 92, 1371, 1371, 4, 94, 90,
3202 1089, 1091, 94, 44, 92, 1330, 84, 123, 123, 68,
3203 308, 934, 15, 1373, 48, 236, 1151, 1151, 1244, 1151,
3204 311, 1010, 52, 1165, 64, 296, 1402, 1402, 66, 1352,
3205 54, 714, 1441, 1151, 172, 173, 50, 1161, 563, 46,
3206 601, 310, 73, 71, 182, 183, 73, 572, 637, 319,
3207 162, 321, 641, 323, 300, 71, 645, 88, 86, 312,
3208 304, 88, 1151, 333, 1387, 335, 82, 122, 296, 126,
3209 341, 339, 172, 173, 304, 172, 173, 340, 304, 658,
3210 1024, 314, 340, 27, 340, 327, 340, 329, 304, 331,
3211 1413, 511, 300, 71, 304, 341, 516, 341, 236, 304,
3212 296, 521, 157, 158, 218, 160, 71, 300, 86, 309,
3213 71, 672, 168, 169, 1089, 309, 338, 78, 338, 84,
3214 26, 311, 313, 315, 180, 181, 621, 547, 39, 624,
3215 5, 626, 552, 628, 5, 660, 236, 1279, 332, 236,
3216 334, 1464, 336, 332, 338, 334, 71, 336, 71, 338,
3217 12, 13, 71, 5, 649, 80, 651, 80, 163, 78,
3218 5, 1484, 723, 168, 169, 483, 168, 169, 10, 11,
3219 172, 173, 733, 335, 337, 339, 333, 182, 183, 211,
3220 182, 183, 214, 71, 5, 217, 316, 71, 76, 1313,
3221 311, 752, 76, 1405, 3, 157, 158, 65, 160, 67,
3222 761, 69, 28, 29, 30, 10, 11, 75, 1350, 77,
3223 3, 79, 128, 81, 132, 83, 1151, 85, 140, 87,
3224 144, 89, 136, 91, 313, 93, 787, 95, 10, 11,
3225 164, 10, 166, 167, 168, 169, 170, 171, 172, 173,
3226 174, 175, 176, 177, 10, 11, 10, 1371, 182, 183,
3227 10, 11, 10, 814, 10, 123, 190, 191, 333, 909,
3228 909, 10, 11, 10, 11, 335, 10, 11, 3, 1411,
3229 10, 11, 10, 11, 446, 447, 448, 449, 1402, 10,
3230 11, 10, 11, 164, 218, 166, 167, 168, 169, 170,
3231 171, 172, 173, 174, 175, 176, 177, 10, 11, 10,
3232 11, 182, 183, 168, 169, 10, 11, 188, 189, 10,
3233 11, 10, 11, 10, 11, 10, 11, 967, 967, 10,
3234 11, 180, 181, 10, 11, 10, 11, 6, 7, 10,
3235 11, 96, 97, 1268, 215, 10, 11, 987, 987, 164,
3236 337, 166, 167, 168, 169, 170, 171, 172, 173, 174,
3237 175, 176, 177, 10, 11, 10, 11, 182, 183, 10,
3238 11, 186, 187, 10, 11, 10, 11, 10, 11, 10,
3239 11, 8, 1022, 1022, 1024, 1024, 10, 11, 10, 11,
3240 339, 1031, 127, 46, 129, 130, 131, 212, 133, 134,
3241 135, 50, 137, 138, 139, 48, 141, 142, 143, 8,
3242 145, 146, 165, 166, 167, 168, 169, 170, 171, 172,
3243 173, 174, 175, 10, 11, 10, 11, 10, 11, 182,
3244 183, 10, 11, 10, 11, 96, 97, 10, 11, 10,
3245 11, 10, 11, 10, 11, 10, 11, 10, 11, 1089,
3246 1089, 10, 11, 10, 11, 52, 1096, 120, 121, 10,
3247 11, 10, 11, 10, 11, 10, 11, 10, 11, 10,
3248 11, 10, 11, 10, 11, 10, 11, 10, 11, 10,
3249 11, 10, 11, 10, 11, 10, 11, 10, 11, 108,
3250 109, 10, 11, 10, 11, 10, 11, 10, 11, 108,
3251 109, 10, 11, 10, 11, 10, 11, 10, 11, 10,
3252 11, 1151, 1151, 10, 11, 10, 11, 10, 11, 237,
3253 238, 1161, 1161, 10, 11, 10, 11, 10, 11, 10,
3254 11, 6, 31, 315, 32, 3, 8, 33, 44, 6,
3255 34, 306, 54, 124, 340, 8, 8, 8, 8, 8,
3256 8, 8, 56, 64, 8, 317, 58, 302, 124, 35,
3257 60, 6, 6, 6, 6, 6, 6, 6, 124, 3,
3258 62, 341, 3, 8, 298, 8, 8, 68, 66, 8,
3259 36, 8, 10, 8, 10, 8, 10, 8, 124, 8,
3260 37, 119, 6, 4, 4, 4, 307, 111, 6, 339,
3261 38, 218, 72, 74, 3, 3, 3, 115, 215, 99,
3262 6, 303, 101, 8, 98, 8, 8, 8, 6, 299,
3263 212, 103, 8, 6, 103, 103, 8, 113, 105, 6,
3264 324, 100, 8, 107, 304, 6, 340, 117, 8, 112,
3265 300, 320, 163, 8, 3, 304, 40, 3, 3, 104,
3266 102, 8, 340, 104, 296, 8, 300, 340, 322, 8,
3267 8, 1212, 1213, 116, 114, 305, 6, 8, 104, 8,
3268 8, 296, 118, 1313, 1313, 301, 6, 1316, 6, 318,
3269 6, 304, 5, 8, 106, 305, 297, 8, 3, 3,
3270 3, 1242, 1243, 301, 3, 161, 8, 326, 8, 239,
3271 8, 3, 122, 297, 153, 341, 6, 325, 3, 300,
3272 8, 159, 8, 328, 8, 305, 1024, 321, 155, 8,
3273 341, 296, 8, 8, 304, 341, 8, 330, 323, 6,
3274 10, 1371, 1371, 301, 6, 319, 6, 8, 327, 8,
3275 8, 156, 297, 305, 162, 8, 6, 154, 6, 8,
3276 40, 329, 8, 475, 402, 331, 62, 616, 25, 139,
3277 572, 637, 1402, 1402, 308, 632, 641, 655, 645, 660,
3278 902, 1332, 852, 1155, 1327, 960, 886, 1230, 948, 1300,
3279 1015, 1089, 918, 1083, 1316, -1, 1337, -1, -1, 219,
3280 -1, -1, 1308, 1309, -1, -1, -1, -1, -1, -1,
3281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3283 -1, -1, -1, -1, 1375, 1376, -1, -1, -1, -1,
3284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3285 -1, -1, -1, 1151, -1, -1, -1, -1, -1, -1,
3286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3290 -1, 1407, -1, -1, -1, -1, -1, -1, -1, -1,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3292 1461, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3298 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, -1, 1316
3302};
3303
3304/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3305 symbol of state STATE-NUM. */
3306static const yytype_uint16 yystos[] =
3307{
3308 0, 12, 13, 451, 452, 453, 0, 125, 460, 461,
3309 1041, 1042, 14, 454, 15, 458, 459, 308, 462, 463,
3310 10, 11, 1043, 1044, 1045, 10, 11, 455, 456, 457,
3311 310, 548, 549, 10, 11, 464, 465, 466, 1046, 1047,
3312 460, 312, 591, 592, 10, 11, 550, 551, 552, 43,
3313 45, 47, 49, 51, 53, 123, 309, 332, 334, 336,
3314 338, 467, 468, 469, 470, 471, 476, 477, 482, 483,
3315 488, 489, 496, 497, 502, 503, 508, 509, 514, 515,
3316 520, 521, 526, 527, 534, 535, 126, 127, 129, 130,
3317 131, 133, 134, 135, 137, 138, 139, 141, 142, 143,
3318 145, 146, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
3319 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
3320 1066, 1067, 1068, 458, 314, 614, 615, 10, 11, 593,
3321 594, 595, 55, 57, 59, 61, 123, 311, 553, 554,
3322 555, 556, 557, 563, 564, 570, 571, 577, 578, 582,
3323 583, 309, 469, 10, 11, 472, 473, 474, 10, 11,
3324 478, 479, 480, 10, 11, 484, 485, 486, 27, 490,
3325 491, 10, 11, 498, 499, 500, 10, 11, 504, 505,
3326 506, 10, 11, 510, 511, 512, 10, 11, 516, 517,
3327 518, 10, 11, 522, 523, 524, 26, 528, 529, 39,
3328 536, 1021, 5, 5, 5, 5, 5, 316, 725, 726,
3329 10, 11, 616, 617, 618, 63, 123, 313, 596, 597,
3330 598, 599, 600, 605, 606, 311, 555, 558, 559, 565,
3331 566, 572, 573, 168, 169, 579, 1143, 1144, 1145, 584,
3332 1021, 4, 333, 475, 4, 335, 481, 4, 337, 487,
3333 3, 10, 11, 492, 493, 494, 4, 339, 501, 4,
3334 46, 507, 4, 48, 513, 4, 50, 519, 4, 52,
3335 525, 3, 10, 11, 530, 531, 532, 1038, 1039, 10,
3336 11, 537, 538, 539, 128, 132, 136, 140, 144, 727,
3337 728, 65, 67, 69, 75, 77, 79, 81, 83, 85,
3338 87, 89, 91, 93, 95, 123, 315, 619, 620, 621,
3339 622, 623, 630, 631, 636, 637, 644, 645, 649, 650,
3340 654, 655, 659, 660, 664, 665, 672, 673, 680, 681,
3341 688, 689, 696, 697, 702, 703, 708, 709, 716, 717,
3342 313, 598, 10, 11, 601, 602, 603, 607, 1021, 10,
3343 561, 180, 181, 560, 1143, 1161, 1162, 1163, 10, 568,
3344 567, 1143, 1161, 10, 575, 574, 1143, 1161, 3, 10,
3345 580, 10, 11, 585, 586, 587, 333, 335, 337, 8,
3346 4, 44, 495, 339, 46, 48, 50, 52, 8, 4,
3347 54, 533, 6, 8, 446, 447, 448, 449, 1040, 124,
3348 340, 540, 541, 542, 543, 10, 11, 730, 731, 732,
3349 211, 214, 217, 729, 1125, 1130, 1132, 315, 621, 624,
3350 1161, 10, 11, 632, 633, 634, 31, 638, 1018, 32,
3351 1024, 1024, 1024, 1024, 33, 666, 1023, 674, 1023, 682,
3352 1023, 690, 1023, 698, 1024, 704, 1024, 34, 710, 1025,
3353 718, 1021, 4, 64, 604, 10, 11, 608, 609, 610,
3354 6, 7, 562, 1037, 3, 569, 1037, 576, 1037, 8,
3355 6, 581, 124, 543, 588, 589, 590, 44, 54, 1038,
3356 124, 542, 544, 545, 306, 733, 734, 735, 8, 8,
3357 8, 10, 11, 625, 626, 627, 4, 68, 635, 8,
3358 10, 11, 639, 640, 641, 8, 10, 11, 646, 647,
3359 648, 10, 11, 651, 652, 653, 10, 11, 656, 657,
3360 658, 10, 11, 661, 662, 663, 8, 10, 11, 667,
3361 668, 669, 10, 11, 675, 676, 677, 10, 11, 683,
3362 684, 685, 10, 11, 691, 692, 693, 10, 11, 699,
3363 700, 701, 10, 11, 705, 706, 707, 8, 10, 11,
3364 711, 712, 713, 10, 11, 719, 720, 721, 64, 124,
3365 543, 611, 612, 613, 56, 8, 58, 60, 62, 544,
3366 124, 590, 10, 11, 547, 172, 173, 182, 183, 546,
3367 1143, 1149, 1150, 1151, 1164, 1165, 1166, 317, 302, 830,
3368 831, 35, 736, 737, 1022, 6, 6, 6, 66, 628,
3369 629, 1037, 68, 6, 70, 338, 642, 643, 6, 71,
3370 76, 986, 987, 78, 986, 80, 986, 82, 986, 6,
3371 73, 88, 670, 671, 988, 989, 90, 678, 679, 988,
3372 94, 686, 687, 988, 92, 694, 695, 988, 86, 986,
3373 84, 986, 6, 96, 97, 714, 715, 124, 543, 722,
3374 723, 724, 544, 124, 613, 547, 341, 3, 3, 298,
3375 897, 898, 36, 832, 833, 1020, 1038, 10, 11, 738,
3376 739, 740, 8, 8, 8, 66, 8, 10, 70, 643,
3377 8, 10, 76, 987, 78, 80, 82, 8, 88, 671,
3378 990, 991, 90, 679, 94, 687, 92, 695, 86, 84,
3379 8, 10, 96, 715, 544, 124, 724, 547, 8, 8,
3380 119, 964, 965, 37, 899, 900, 1019, 1038, 10, 11,
3381 834, 835, 836, 6, 99, 741, 742, 743, 4, 4,
3382 10, 11, 996, 28, 29, 30, 992, 993, 994, 995,
3383 4, 547, 38, 966, 1026, 1038, 10, 11, 901, 902,
3384 903, 6, 111, 837, 838, 839, 1038, 307, 101, 756,
3385 757, 218, 744, 1131, 339, 72, 74, 3, 3, 3,
3386 98, 1038, 10, 11, 967, 968, 969, 6, 115, 904,
3387 905, 906, 1038, 303, 113, 852, 853, 215, 840, 1129,
3388 103, 770, 771, 758, 1131, 8, 10, 11, 745, 746,
3389 747, 8, 8, 8, 6, 970, 1038, 299, 117, 919,
3390 920, 212, 907, 1124, 103, 866, 867, 854, 1129, 8,
3391 10, 11, 841, 842, 843, 105, 783, 784, 10, 11,
3392 772, 773, 774, 10, 11, 759, 760, 761, 6, 100,
3393 304, 748, 749, 750, 751, 1038, 120, 121, 971, 972,
3394 103, 933, 934, 921, 1124, 8, 10, 11, 908, 909,
3395 910, 879, 10, 11, 868, 869, 870, 10, 11, 855,
3396 856, 857, 6, 112, 300, 844, 845, 846, 847, 107,
3397 797, 798, 785, 1131, 324, 775, 776, 1081, 1082, 102,
3398 304, 762, 763, 764, 765, 8, 100, 750, 752, 753,
3399 165, 166, 167, 170, 171, 174, 175, 973, 974, 975,
3400 1128, 1137, 1138, 1139, 1143, 1149, 1155, 1156, 1157, 1158,
3401 1159, 1160, 1164, 946, 10, 11, 935, 936, 937, 10,
3402 11, 922, 923, 924, 6, 116, 296, 911, 912, 913,
3403 914, 340, 880, 881, 871, 872, 1081, 114, 300, 858,
3404 859, 860, 861, 8, 112, 846, 848, 849, 812, 40,
3405 799, 10, 11, 786, 787, 788, 104, 320, 777, 1087,
3406 1088, 163, 1123, 1126, 102, 764, 766, 767, 10, 11,
3407 755, 236, 754, 1134, 1149, 1164, 8, 3, 3, 3,
3408 10, 11, 976, 977, 978, 975, 340, 947, 948, 938,
3409 939, 1081, 118, 296, 925, 926, 927, 928, 8, 116,
3410 913, 915, 916, 882, 883, 104, 873, 1087, 114, 860,
3411 862, 863, 10, 11, 851, 850, 1134, 1149, 1164, 340,
3412 813, 814, 8, 10, 11, 800, 801, 802, 106, 304,
3413 789, 790, 791, 792, 322, 778, 1093, 1094, 1123, 8,
3414 10, 11, 1083, 1084, 1085, 10, 11, 769, 768, 1134,
3415 1149, 1164, 305, 8, 6, 8, 8, 8, 122, 157,
3416 158, 160, 979, 980, 981, 982, 983, 984, 949, 950,
3417 104, 940, 1087, 118, 927, 929, 930, 10, 11, 918,
3418 917, 1134, 1149, 1164, 10, 11, 885, 886, 887, 164,
3419 176, 177, 188, 189, 884, 1127, 1129, 1137, 1143, 1146,
3420 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1158, 1164, 874,
3421 1093, 10, 11, 865, 16, 17, 18, 19, 864, 999,
3422 1000, 1001, 1002, 1010, 1011, 1012, 1013, 1134, 1149, 301,
3423 815, 816, 6, 108, 109, 803, 804, 805, 106, 791,
3424 793, 794, 318, 779, 1099, 1100, 1123, 10, 11, 1089,
3425 1090, 1091, 6, 161, 1069, 1070, 1077, 1086, 305, 6,
3426 8, 5, 985, 122, 981, 10, 11, 952, 953, 954,
3427 186, 187, 951, 1124, 1127, 1137, 1140, 1141, 1142, 1143,
3428 1146, 1149, 1155, 1158, 1164, 941, 1093, 10, 11, 932,
3429 20, 21, 22, 23, 931, 1003, 1004, 1005, 1006, 1014,
3430 1015, 1016, 1017, 1134, 1149, 297, 155, 300, 341, 888,
3431 889, 890, 891, 1027, 1028, 1029, 8, 3, 3, 875,
3432 1099, 301, 3, 3, 10, 11, 818, 819, 820, 190,
3433 191, 817, 1127, 1131, 1137, 1143, 1146, 1149, 1155, 1158,
3434 1164, 1167, 1168, 1169, 8, 108, 804, 806, 807, 10,
3435 11, 796, 795, 1134, 1149, 1164, 326, 780, 1105, 1106,
3436 1123, 10, 11, 1095, 1096, 1097, 1069, 1092, 8, 239,
3437 1133, 153, 1071, 1072, 325, 8, 159, 296, 341, 955,
3438 956, 957, 958, 1027, 3, 942, 1099, 297, 1038, 1038,
3439 341, 890, 892, 893, 1028, 1030, 1031, 6, 8, 8,
3440 876, 1105, 1038, 1038, 304, 341, 821, 822, 823, 824,
3441 1027, 3, 10, 11, 809, 810, 811, 41, 42, 808,
3442 997, 998, 1007, 1008, 1009, 1131, 305, 328, 781, 1111,
3443 1112, 1123, 10, 11, 1101, 1102, 1103, 1069, 1098, 321,
3444 8, 10, 11, 1078, 1079, 1080, 1073, 1074, 341, 957,
3445 959, 960, 8, 943, 1105, 1037, 1037, 10, 11, 895,
3446 896, 894, 999, 1010, 1134, 1149, 1164, 10, 11, 1033,
3447 1034, 1035, 1032, 1126, 1143, 1164, 8, 877, 1111, 341,
3448 823, 825, 826, 8, 110, 790, 1038, 8, 330, 782,
3449 1117, 1118, 1123, 10, 11, 1107, 1108, 1109, 1069, 1104,
3450 323, 6, 4, 162, 10, 1076, 237, 238, 1075, 1135,
3451 1136, 10, 11, 962, 963, 961, 999, 1010, 1134, 1149,
3452 1164, 944, 1111, 1038, 1038, 301, 1036, 1069, 878, 1117,
3453 10, 11, 828, 829, 827, 999, 1010, 1134, 1149, 1164,
3454 110, 6, 1037, 1123, 10, 11, 1113, 1114, 1115, 1069,
3455 1110, 319, 8, 162, 6, 8, 8, 297, 945, 1117,
3456 156, 305, 1038, 8, 10, 11, 1119, 1120, 1121, 1069,
3457 1116, 327, 154, 6, 6, 1069, 1122, 329, 8, 8,
3458 331
3459};
3460
3461#define yyerrok (yyerrstatus = 0)
3462#define yyclearin (yychar = YYEMPTY)
3463#define YYEMPTY (-2)
3464#define YYEOF 0
3465
3466#define YYACCEPT goto yyacceptlab
3467#define YYABORT goto yyabortlab
3468#define YYERROR goto yyerrorlab
3469
3470
3471/* Like YYERROR except do call yyerror. This remains here temporarily
3472 to ease the transition to the new meaning of YYERROR, for GCC.
3473 Once GCC version 2 has supplanted version 1, this can go. */
3474
3475#define YYFAIL goto yyerrlab
3476
3477#define YYRECOVERING() (!!yyerrstatus)
3478
3479#define YYBACKUP(Token, Value) \
3480do \
3481 if (yychar == YYEMPTY && yylen == 1) \
3482 { \
3483 yychar = (Token); \
3484 yylval = (Value); \
3485 yytoken = YYTRANSLATE (yychar); \
3486 YYPOPSTACK (1); \
3487 goto yybackup; \
3488 } \
3489 else \
3490 { \
3491 yyerror (&yylloc, osoption, parserData, osglData, osnlData, YY_("syntax error: cannot back up")); \
3492 YYERROR; \
3493 } \
3494while (YYID (0))
3495
3496
3497#define YYTERROR 1
3498#define YYERRCODE 256
3499
3500
3501/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3502 If N is 0, then set CURRENT to the empty location which ends
3503 the previous symbol: RHS[0] (always defined). */
3504
3505#define YYRHSLOC(Rhs, K) ((Rhs)[K])
3506#ifndef YYLLOC_DEFAULT
3507# define YYLLOC_DEFAULT(Current, Rhs, N) \
3508 do \
3509 if (YYID (N)) \
3510 { \
3511 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3512 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3513 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3514 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3515 } \
3516 else \
3517 { \
3518 (Current).first_line = (Current).last_line = \
3519 YYRHSLOC (Rhs, 0).last_line; \
3520 (Current).first_column = (Current).last_column = \
3521 YYRHSLOC (Rhs, 0).last_column; \
3522 } \
3523 while (YYID (0))
3524#endif
3525
3526
3527/* YY_LOCATION_PRINT -- Print the location on the stream.
3528 This macro was not mandated originally: define only if we know
3529 we won't break user code: when these are the locations we know. */
3530
3531#ifndef YY_LOCATION_PRINT
3532# if YYLTYPE_IS_TRIVIAL
3533# define YY_LOCATION_PRINT(File, Loc) \
3534 fprintf (File, "%d.%d-%d.%d", \
3535 (Loc).first_line, (Loc).first_column, \
3536 (Loc).last_line, (Loc).last_column)
3537# else
3538# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3539# endif
3540#endif
3541
3542
3543/* YYLEX -- calling `yylex' with the right arguments. */
3544
3545#ifdef YYLEX_PARAM
3546# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
3547#else
3548# define YYLEX yylex (&yylval, &yylloc, scanner)
3549#endif
3550
3551/* Enable debugging if requested. */
3552#if YYDEBUG
3553
3554# ifndef YYFPRINTF
3555# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3556# define YYFPRINTF fprintf
3557# endif
3558
3559# define YYDPRINTF(Args) \
3560do { \
3561 if (yydebug) \
3562 YYFPRINTF Args; \
3563} while (YYID (0))
3564
3565# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3566do { \
3567 if (yydebug) \
3568 { \
3569 YYFPRINTF (stderr, "%s ", Title); \
3570 yy_symbol_print (stderr, \
3571 Type, Value, Location, osoption, parserData, osglData, osnlData); \
3572 YYFPRINTF (stderr, "\n"); \
3573 } \
3574} while (YYID (0))
3575
3576
3577/*--------------------------------.
3578| Print this symbol on YYOUTPUT. |
3579`--------------------------------*/
3580
3581/*ARGSUSED*/
3582#if (defined __STDC__ || defined __C99__FUNC__ \
3583 || defined __cplusplus || defined _MSC_VER)
3584static void
3585yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
3586#else
3587static void
3588yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData, osnlData)
3589 FILE *yyoutput;
3590 int yytype;
3591 YYSTYPE const * const yyvaluep;
3592 YYLTYPE const * const yylocationp;
3597#endif
3598{
3599 if (!yyvaluep)
3600 return;
3602 YYUSE (osoption);
3603 YYUSE (parserData);
3604 YYUSE (osglData);
3605 YYUSE (osnlData);
3606# ifdef YYPRINT
3607 if (yytype < YYNTOKENS)
3608 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3609# else
3610 YYUSE (yyoutput);
3611# endif
3612 switch (yytype)
3613 {
3614 default:
3615 break;
3616 }
3617}
3618
3619
3620/*--------------------------------.
3621| Print this symbol on YYOUTPUT. |
3622`--------------------------------*/
3623
3624#if (defined __STDC__ || defined __C99__FUNC__ \
3625 || defined __cplusplus || defined _MSC_VER)
3626static void
3627yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
3628#else
3629static void
3630yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData, osnlData)
3631 FILE *yyoutput;
3632 int yytype;
3633 YYSTYPE const * const yyvaluep;
3634 YYLTYPE const * const yylocationp;
3639#endif
3640{
3641 if (yytype < YYNTOKENS)
3642 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3643 else
3644 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3645
3646 YY_LOCATION_PRINT (yyoutput, *yylocationp);
3647 YYFPRINTF (yyoutput, ": ");
3648 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, osoption, parserData, osglData, osnlData);
3649 YYFPRINTF (yyoutput, ")");
3650}
3651
3652/*------------------------------------------------------------------.
3653| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3654| TOP (included). |
3655`------------------------------------------------------------------*/
3656
3657#if (defined __STDC__ || defined __C99__FUNC__ \
3658 || defined __cplusplus || defined _MSC_VER)
3659static void
3660yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3661#else
3662static void
3663yy_stack_print (yybottom, yytop)
3664 yytype_int16 *yybottom;
3665 yytype_int16 *yytop;
3666#endif
3667{
3668 YYFPRINTF (stderr, "Stack now");
3669 for (; yybottom <= yytop; yybottom++)
3670 {
3671 int yybot = *yybottom;
3672 YYFPRINTF (stderr, " %d", yybot);
3673 }
3674 YYFPRINTF (stderr, "\n");
3675}
3676
3677# define YY_STACK_PRINT(Bottom, Top) \
3678do { \
3679 if (yydebug) \
3680 yy_stack_print ((Bottom), (Top)); \
3681} while (YYID (0))
3682
3683
3684/*------------------------------------------------.
3685| Report that the YYRULE is going to be reduced. |
3686`------------------------------------------------*/
3687
3688#if (defined __STDC__ || defined __C99__FUNC__ \
3689 || defined __cplusplus || defined _MSC_VER)
3690static void
3692#else
3693static void
3694yy_reduce_print (yyvsp, yylsp, yyrule, osoption, parserData, osglData, osnlData)
3695 YYSTYPE *yyvsp;
3696 YYLTYPE *yylsp;
3697 int yyrule;
3702#endif
3703{
3704 int yynrhs = yyr2[yyrule];
3705 int yyi;
3706 unsigned long int yylno = yyrline[yyrule];
3707 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3708 yyrule - 1, yylno);
3709 /* The symbols being reduced. */
3710 for (yyi = 0; yyi < yynrhs; yyi++)
3711 {
3712 YYFPRINTF (stderr, " $%d = ", yyi + 1);
3713 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3714 &(yyvsp[(yyi + 1) - (yynrhs)])
3715 , &(yylsp[(yyi + 1) - (yynrhs)]) , osoption, parserData, osglData, osnlData);
3716 YYFPRINTF (stderr, "\n");
3717 }
3718}
3719
3720# define YY_REDUCE_PRINT(Rule) \
3721do { \
3722 if (yydebug) \
3723 yy_reduce_print (yyvsp, yylsp, Rule, osoption, parserData, osglData, osnlData); \
3724} while (YYID (0))
3725
3726/* Nonzero means print parse trace. It is left uninitialized so that
3727 multiple parsers can coexist. */
3728int yydebug;
3729#else /* !YYDEBUG */
3730# define YYDPRINTF(Args)
3731# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3732# define YY_STACK_PRINT(Bottom, Top)
3733# define YY_REDUCE_PRINT(Rule)
3734#endif /* !YYDEBUG */
3735
3736
3737/* YYINITDEPTH -- initial size of the parser's stacks. */
3738#ifndef YYINITDEPTH
3739# define YYINITDEPTH 200
3740#endif
3741
3742/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3743 if the built-in stack extension method is used).
3744
3745 Do not make this value too large; the results are undefined if
3746 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3747 evaluated with infinite-precision integer arithmetic. */
3748
3749#ifndef YYMAXDEPTH
3750# define YYMAXDEPTH 10000
3751#endif
3752
3753
3754
3755#if YYERROR_VERBOSE
3756
3757# ifndef yystrlen
3758# if defined __GLIBC__ && defined _STRING_H
3759# define yystrlen strlen
3760# else
3761/* Return the length of YYSTR. */
3762#if (defined __STDC__ || defined __C99__FUNC__ \
3763 || defined __cplusplus || defined _MSC_VER)
3764static YYSIZE_T
3765yystrlen (const char *yystr)
3766#else
3767static YYSIZE_T
3768yystrlen (yystr)
3769 const char *yystr;
3770#endif
3771{
3773 for (yylen = 0; yystr[yylen]; yylen++)
3774 continue;
3775 return yylen;
3776}
3777# endif
3778# endif
3779
3780# ifndef yystpcpy
3781# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3782# define yystpcpy stpcpy
3783# else
3784/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3785 YYDEST. */
3786#if (defined __STDC__ || defined __C99__FUNC__ \
3787 || defined __cplusplus || defined _MSC_VER)
3788static char *
3789yystpcpy (char *yydest, const char *yysrc)
3790#else
3791static char *
3792yystpcpy (yydest, yysrc)
3793 char *yydest;
3794 const char *yysrc;
3795#endif
3796{
3797 char *yyd = yydest;
3798 const char *yys = yysrc;
3799
3800 while ((*yyd++ = *yys++) != '\0')
3801 continue;
3802
3803 return yyd - 1;
3804}
3805# endif
3806# endif
3807
3808# ifndef yytnamerr
3809/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3810 quotes and backslashes, so that it's suitable for yyerror. The
3811 heuristic is that double-quoting is unnecessary unless the string
3812 contains an apostrophe, a comma, or backslash (other than
3813 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3814 null, do not copy; instead, return the length of what the result
3815 would have been. */
3816static YYSIZE_T
3817yytnamerr (char *yyres, const char *yystr)
3818{
3819 if (*yystr == '"')
3820 {
3821 YYSIZE_T yyn = 0;
3822 char const *yyp = yystr;
3823
3824 for (;;)
3825 switch (*++yyp)
3826 {
3827 case '\'':
3828 case ',':
3829 goto do_not_strip_quotes;
3830
3831 case '\\':
3832 if (*++yyp != '\\')
3833 goto do_not_strip_quotes;
3834 /* Fall through. */
3835 default:
3836 if (yyres)
3837 yyres[yyn] = *yyp;
3838 yyn++;
3839 break;
3840
3841 case '"':
3842 if (yyres)
3843 yyres[yyn] = '\0';
3844 return yyn;
3845 }
3846 do_not_strip_quotes: ;
3847 }
3848
3849 if (! yyres)
3850 return yystrlen (yystr);
3851
3852 return yystpcpy (yyres, yystr) - yyres;
3853}
3854# endif
3855
3856/* Copy into YYRESULT an error message about the unexpected token
3857 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3858 including the terminating null byte. If YYRESULT is null, do not
3859 copy anything; just return the number of bytes that would be
3860 copied. As a special case, return 0 if an ordinary "syntax error"
3861 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3862 size calculation. */
3863static YYSIZE_T
3864yysyntax_error (char *yyresult, int yystate, int yychar)
3865{
3866 int yyn = yypact[yystate];
3867
3868 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3869 return 0;
3870 else
3871 {
3872 int yytype = YYTRANSLATE (yychar);
3873 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3874 YYSIZE_T yysize = yysize0;
3875 YYSIZE_T yysize1;
3876 int yysize_overflow = 0;
3877 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3878 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3879 int yyx;
3880
3881# if 0
3882 /* This is so xgettext sees the translatable formats that are
3883 constructed on the fly. */
3884 YY_("syntax error, unexpected %s");
3885 YY_("syntax error, unexpected %s, expecting %s");
3886 YY_("syntax error, unexpected %s, expecting %s or %s");
3887 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3888 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3889# endif
3890 char *yyfmt;
3891 char const *yyf;
3892 static char const yyunexpected[] = "syntax error, unexpected %s";
3893 static char const yyexpecting[] = ", expecting %s";
3894 static char const yyor[] = " or %s";
3895 char yyformat[sizeof yyunexpected
3896 + sizeof yyexpecting - 1
3897 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3898 * (sizeof yyor - 1))];
3899 char const *yyprefix = yyexpecting;
3900
3901 /* Start YYX at -YYN if negative to avoid negative indexes in
3902 YYCHECK. */
3903 int yyxbegin = yyn < 0 ? -yyn : 0;
3904
3905 /* Stay within bounds of both yycheck and yytname. */
3906 int yychecklim = YYLAST - yyn + 1;
3907 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3908 int yycount = 1;
3909
3910 yyarg[0] = yytname[yytype];
3911 yyfmt = yystpcpy (yyformat, yyunexpected);
3912
3913 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3914 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3915 {
3916 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3917 {
3918 yycount = 1;
3919 yysize = yysize0;
3920 yyformat[sizeof yyunexpected - 1] = '\0';
3921 break;
3922 }
3923 yyarg[yycount++] = yytname[yyx];
3924 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3925 yysize_overflow |= (yysize1 < yysize);
3926 yysize = yysize1;
3927 yyfmt = yystpcpy (yyfmt, yyprefix);
3928 yyprefix = yyor;
3929 }
3930
3931 yyf = YY_(yyformat);
3932 yysize1 = yysize + yystrlen (yyf);
3933 yysize_overflow |= (yysize1 < yysize);
3934 yysize = yysize1;
3935
3936 if (yysize_overflow)
3937 return YYSIZE_MAXIMUM;
3938
3939 if (yyresult)
3940 {
3941 /* Avoid sprintf, as that infringes on the user's name space.
3942 Don't have undefined behavior even if the translation
3943 produced a string with the wrong number of "%s"s. */
3944 char *yyp = yyresult;
3945 int yyi = 0;
3946 while ((*yyp = *yyf) != '\0')
3947 {
3948 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3949 {
3950 yyp += yytnamerr (yyp, yyarg[yyi++]);
3951 yyf += 2;
3952 }
3953 else
3954 {
3955 yyp++;
3956 yyf++;
3957 }
3958 }
3959 }
3960 return yysize;
3961 }
3962}
3963#endif /* YYERROR_VERBOSE */
3964
3965
3966/*-----------------------------------------------.
3967| Release the memory associated to this symbol. |
3968`-----------------------------------------------*/
3969
3970/*ARGSUSED*/
3971#if (defined __STDC__ || defined __C99__FUNC__ \
3972 || defined __cplusplus || defined _MSC_VER)
3973static void
3975#else
3976static void
3978 const char *yymsg;
3986#endif
3987{
3988 YYUSE (yyvaluep);
3994
3995 if (!yymsg)
3996 yymsg = "Deleting";
3998
3999 switch (yytype)
4000 {
4001
4002 default:
4003 break;
4004 }
4005}
4006
4007/* Prevent warnings from -Wmissing-prototypes. */
4008#ifdef YYPARSE_PARAM
4009#if defined __STDC__ || defined __cplusplus
4010int yyparse (void *YYPARSE_PARAM);
4011#else
4012int yyparse ();
4013#endif
4014#else /* ! YYPARSE_PARAM */
4015#if defined __STDC__ || defined __cplusplus
4017#else
4018int yyparse ();
4019#endif
4020#endif /* ! YYPARSE_PARAM */
4021
4022
4023
4024
4025
4026/*-------------------------.
4027| yyparse or yypush_parse. |
4028`-------------------------*/
4029
4030#ifdef YYPARSE_PARAM
4031#if (defined __STDC__ || defined __C99__FUNC__ \
4032 || defined __cplusplus || defined _MSC_VER)
4033int
4034yyparse (void *YYPARSE_PARAM)
4035#else
4036int
4037yyparse (YYPARSE_PARAM)
4038 void *YYPARSE_PARAM;
4039#endif
4040#else /* ! YYPARSE_PARAM */
4041#if (defined __STDC__ || defined __C99__FUNC__ \
4042 || defined __cplusplus || defined _MSC_VER)
4043int
4045#else
4046int
4052#endif
4053#endif
4054{
4055/* The lookahead symbol. */
4056int yychar;
4057
4058/* The semantic value of the lookahead symbol. */
4060
4061/* Location data for the lookahead symbol. */
4063
4064 /* Number of syntax errors so far. */
4066
4068 /* Number of tokens to shift before error messages enabled. */
4070
4071 /* The stacks and their tools:
4072 `yyss': related to states.
4073 `yyvs': related to semantic values.
4074 `yyls': related to locations.
4075
4076 Refer to the stacks thru separate pointers, to allow yyoverflow
4077 to reallocate them elsewhere. */
4078
4079 /* The state stack. */
4083
4084 /* The semantic value stack. */
4088
4089 /* The location stack. */
4093
4094 /* The locations where the error started and ended. */
4096
4098
4099 int yyn;
4101 /* Lookahead token as an internal (translated) token number. */
4103 /* The variables used to return semantic value and location from the
4104 action routines. */
4107
4108#if YYERROR_VERBOSE
4109 /* Buffer for error messages, and its allocated size. */
4110 char yymsgbuf[128];
4111 char *yymsg = yymsgbuf;
4112 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4113#endif
4114
4115#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
4116
4117 /* The number of symbols on the RHS of the reduced rule.
4118 Keep to zero when no symbol should be popped. */
4119 int yylen = 0;
4120
4121 yytoken = 0;
4122 yyss = yyssa;
4123 yyvs = yyvsa;
4124 yyls = yylsa;
4126
4127 YYDPRINTF ((stderr, "Starting parse\n"));
4128
4129 yystate = 0;
4130 yyerrstatus = 0;
4131 yynerrs = 0;
4132 yychar = YYEMPTY; /* Cause a token to be read. */
4133
4134 /* Initialize stack pointers.
4135 Waste one element of value and location stack
4136 so that they stay on the same level as the state stack.
4137 The wasted elements are never initialized. */
4138 yyssp = yyss;
4139 yyvsp = yyvs;
4140 yylsp = yyls;
4141
4142#if YYLTYPE_IS_TRIVIAL
4143 /* Initialize the default location before parsing starts. */
4144 yylloc.first_line = yylloc.last_line = 1;
4145 yylloc.first_column = yylloc.last_column = 1;
4146#endif
4147
4149
4150/*------------------------------------------------------------.
4151| yynewstate -- Push a new state, which is found in yystate. |
4152`------------------------------------------------------------*/
4154 /* In all cases, when you get here, the value and location stacks
4155 have just been pushed. So pushing a state here evens the stacks. */
4156 yyssp++;
4157
4159 *yyssp = yystate;
4160
4161 if (yyss + yystacksize - 1 <= yyssp)
4162 {
4163 /* Get the current used size of the three stacks, in elements. */
4164 YYSIZE_T yysize = yyssp - yyss + 1;
4165
4166#ifdef yyoverflow
4167 {
4168 /* Give user a chance to reallocate the stack. Use copies of
4169 these so that the &'s don't force the real ones into
4170 memory. */
4171 YYSTYPE *yyvs1 = yyvs;
4172 yytype_int16 *yyss1 = yyss;
4173 YYLTYPE *yyls1 = yyls;
4174
4175 /* Each stack pointer address is followed by the size of the
4176 data in use in that stack, in bytes. This used to be a
4177 conditional around just the two extra args, but that might
4178 be undefined if yyoverflow is a macro. */
4179 yyoverflow (YY_("memory exhausted"),
4180 &yyss1, yysize * sizeof (*yyssp),
4181 &yyvs1, yysize * sizeof (*yyvsp),
4182 &yyls1, yysize * sizeof (*yylsp),
4183 &yystacksize);
4184
4185 yyls = yyls1;
4186 yyss = yyss1;
4187 yyvs = yyvs1;
4188 }
4189#else /* no yyoverflow */
4190# ifndef YYSTACK_RELOCATE
4191 goto yyexhaustedlab;
4192# else
4193 /* Extend the stack our own way. */
4194 if (YYMAXDEPTH <= yystacksize)
4195 goto yyexhaustedlab;
4196 yystacksize *= 2;
4197 if (YYMAXDEPTH < yystacksize)
4199
4200 {
4201 yytype_int16 *yyss1 = yyss;
4202 union yyalloc *yyptr =
4204 if (! yyptr)
4205 goto yyexhaustedlab;
4206 YYSTACK_RELOCATE (yyss_alloc, yyss);
4207 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4208 YYSTACK_RELOCATE (yyls_alloc, yyls);
4209# undef YYSTACK_RELOCATE
4210 if (yyss1 != yyssa)
4211 YYSTACK_FREE (yyss1);
4212 }
4213# endif
4214#endif /* no yyoverflow */
4215
4216 yyssp = yyss + yysize - 1;
4217 yyvsp = yyvs + yysize - 1;
4218 yylsp = yyls + yysize - 1;
4219
4220 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4221 (unsigned long int) yystacksize));
4222
4223 if (yyss + yystacksize - 1 <= yyssp)
4224 YYABORT;
4225 }
4226
4227 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4228
4230 YYACCEPT;
4231
4233
4234/*-----------.
4235| yybackup. |
4236`-----------*/
4238
4239 /* Do appropriate processing given the current state. Read a
4240 lookahead token if we need one and don't already have one. */
4241
4242 /* First try to decide what to do without reference to lookahead token. */
4243 yyn = yypact[yystate];
4245 goto yydefault;
4246
4247 /* Not known => get a lookahead token if don't already have one. */
4248
4249 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4251 {
4252 YYDPRINTF ((stderr, "Reading a token: "));
4253 yychar = YYLEX;
4254 }
4255
4257 {
4258 yychar = yytoken = YYEOF;
4259 YYDPRINTF ((stderr, "Now at end of input.\n"));
4260 }
4261 else
4262 {
4264 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4265 }
4266
4267 /* If the proper action on seeing token YYTOKEN is to reduce or to
4268 detect an error, take that action. */
4269 yyn += yytoken;
4270 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4271 goto yydefault;
4272 yyn = yytable[yyn];
4273 if (yyn <= 0)
4274 {
4275 if (yyn == 0 || yyn == YYTABLE_NINF)
4276 goto yyerrlab;
4277 yyn = -yyn;
4278 goto yyreduce;
4279 }
4280
4281 /* Count tokens shifted since error; after three, turn off error
4282 status. */
4283 if (yyerrstatus)
4284 yyerrstatus--;
4285
4286 /* Shift the lookahead token. */
4288
4289 /* Discard the shifted token. */
4290 yychar = YYEMPTY;
4291
4292 yystate = yyn;
4293 *++yyvsp = yylval;
4294 *++yylsp = yylloc;
4296
4297
4298/*-----------------------------------------------------------.
4299| yydefault -- do the default action for the current state. |
4300`-----------------------------------------------------------*/
4301yydefault:
4302 yyn = yydefact[yystate];
4303 if (yyn == 0)
4304 goto yyerrlab;
4306
4307
4308/*-----------------------------.
4309| yyreduce -- Do a reduction. |
4310`-----------------------------*/
4312 /* yyn is the number of a rule to reduce with. */
4313 yylen = yyr2[yyn];
4314
4315 /* If YYLEN is nonzero, implement the default value of the action:
4316 `$$ = $1'.
4317
4318 Otherwise, the following line sets YYVAL to garbage.
4319 This behavior is undocumented and Bison
4320 users should not rely upon it. Assigning to YYVAL
4321 unconditionally makes the parser a bit smaller, and it avoids a
4322 GCC warning that YYVAL may be used uninitialized. */
4323 yyval = yyvsp[1-yylen];
4324
4325 /* Default location. */
4328 switch (yyn)
4329 {
4330 case 4:
4331
4332 {
4333#ifdef DEBUG
4334 yydebug = 1;
4335#endif
4336}
4337 break;
4338
4339 case 5:
4340
4341 {
4342#ifdef DEBUG
4343 yydebug = 1;
4344#endif
4348}
4349 break;
4350
4351 case 12:
4352
4353 {
4354 if (parserData->parser_errors != "")
4355 {
4356 parserData->parser_errors += ("\n\nOSoL input is either invalid or not well-formed.\n");
4358 }
4359 }
4360 break;
4361
4362 case 14:
4363
4364 { parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "unexpected end of file, expecting </osol>");}
4365 break;
4366
4367 case 17:
4368
4369 {
4372 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setHeader failed");
4373}
4374 break;
4375
4376 case 20:
4377
4378 {
4379 parserData->serviceURIPresent = false;
4383 parserData->jobIDPresent = false;
4385 parserData->licensePresent = false;
4386 parserData->usernamePresent = false;
4387 parserData->passwordPresent = false;
4388 parserData->contactPresent = false;
4391}
4392 break;
4393
4394 case 41:
4395
4396 {
4398 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <serviceURI>");
4399 else
4401
4402}
4403 break;
4404
4405 case 47:
4406
4407 {
4408 if (osoption->setServiceURI((yyvsp[(1) - (1)].sval)) == false)
4409 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setServiceURI failed");
4410 free((yyvsp[(1) - (1)].sval));
4411 parserData->errorText = NULL;
4412 }
4413 break;
4414
4415 case 49:
4416
4417 {
4419 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <serviceName>");
4421 }
4422 break;
4423
4424 case 55:
4425
4426 {
4427 if (osoption->setServiceName((yyvsp[(1) - (1)].sval)) == false)
4428 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setServiceName failed");
4429 free((yyvsp[(1) - (1)].sval));
4430 parserData->errorText = NULL;
4431 }
4432 break;
4433
4434 case 57:
4435
4437 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <instanceName>");
4439 }
4440 break;
4441
4442 case 63:
4443
4444 {
4445 if (osoption->setInstanceName((yyvsp[(1) - (1)].sval)) == false)
4446 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setInstanceName failed");
4447 free((yyvsp[(1) - (1)].sval));
4448 parserData->errorText = NULL;
4449 }
4450 break;
4451
4452 case 64:
4453
4454 {
4456 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setInstanceLocation failed");
4457 parserData->errorText = NULL;
4458}
4459 break;
4460
4461 case 65:
4462
4463 {
4465 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <instanceLocation>");
4467 parserData->typeAttribute = "local";
4468 }
4469 break;
4470
4471 case 67:
4472
4473 {
4475 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "instance location type not recognized");
4476 parserData->errorText = NULL;
4477 }
4478 break;
4479
4480 case 68:
4481
4482 {
4483 parserData->typeAttribute = (yyvsp[(2) - (3)].sval);
4484 free((yyvsp[(2) - (3)].sval));
4485}
4486 break;
4487
4488 case 74:
4489
4490 {
4491 parserData->tempStr = (yyvsp[(1) - (1)].sval);
4492 free((yyvsp[(1) - (1)].sval));
4493 }
4494 break;
4495
4496 case 76:
4497
4498 { if (parserData->jobIDPresent)
4499 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <jobID>");
4500 parserData->jobIDPresent = true;
4501 }
4502 break;
4503
4504 case 82:
4505
4506 {
4507 if (osoption->setJobID((yyvsp[(1) - (1)].sval)) == false)
4508 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setJobID failed");
4509 free((yyvsp[(1) - (1)].sval));
4510 parserData->errorText = NULL;
4511 }
4512 break;
4513
4514 case 84:
4515
4516 {
4518 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <solverToInvoke>");
4520 }
4521 break;
4522
4523 case 90:
4524
4525 {
4526 if (osoption->setSolverToInvoke((yyvsp[(1) - (1)].sval)) == false)
4527 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setSolverToInvoke failed");
4528 free((yyvsp[(1) - (1)].sval));
4529 parserData->errorText = NULL;
4530 }
4531 break;
4532
4533 case 92:
4534
4535 {
4537 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <license>");
4538 parserData->licensePresent = true;
4539}
4540 break;
4541
4542 case 98:
4543
4544 {
4545 if (osoption->setLicense((yyvsp[(1) - (1)].sval)) == false)
4546 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setLicense failed");
4547 free((yyvsp[(1) - (1)].sval));
4548 parserData->errorText = NULL;
4549 }
4550 break;
4551
4552 case 100:
4553
4555 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <username>");
4556 parserData->usernamePresent = true;
4557}
4558 break;
4559
4560 case 106:
4561
4562 {
4563 if (osoption->setUserName((yyvsp[(1) - (1)].sval)) == false)
4564 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setUsername failed");
4565 free((yyvsp[(1) - (1)].sval));
4566 parserData->errorText = NULL;
4567 }
4568 break;
4569
4570 case 108:
4571
4573 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <password>");
4574 parserData->passwordPresent = true;
4575}
4576 break;
4577
4578 case 114:
4579
4580 {
4581 if (osoption->setPassword((yyvsp[(1) - (1)].sval)) == false)
4582 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setPassword failed");
4583 free((yyvsp[(1) - (1)].sval));
4584 parserData->errorText = NULL;
4585 }
4586 break;
4587
4588 case 115:
4589
4590 {
4592 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setContact failed");
4593 parserData->errorText = NULL;
4594}
4595 break;
4596
4597 case 116:
4598
4599 {
4601 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <contact>");
4602 parserData->contactPresent = true;
4603 parserData->typeAttribute = "osp";
4604 parserData->tempStr = "";
4605}
4606 break;
4607
4608 case 118:
4609
4610 {
4612 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "transport type not recognized");
4613 }
4614 break;
4615
4616 case 119:
4617
4618 {
4619 parserData->typeAttribute = (yyvsp[(2) - (3)].sval);
4620 free((yyvsp[(2) - (3)].sval));
4621 }
4622 break;
4623
4624 case 125:
4625
4626 {
4627 parserData->tempStr = (yyvsp[(1) - (1)].sval);
4628 free((yyvsp[(1) - (1)].sval));
4629 }
4630 break;
4631
4632 case 126:
4633
4634 {
4637 }
4638 break;
4639
4640 case 127:
4641
4642 {
4644 {
4645 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <general> <otherOptions>");
4647 }
4649 }
4650 break;
4651
4652 case 128:
4653
4654 {
4655 if (parserData->tempInt < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other general options cannot be negative");
4657 parserData->kounter = 0;
4658 }
4659 break;
4660
4661 case 129:
4662
4663 {
4664 if (parserData->numberOf > 0)
4665 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <other> element");
4666 }
4667 break;
4668
4669 case 130:
4670
4671 {
4673 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <other> elements than specified");
4674 }
4675 break;
4676
4677 case 137:
4678
4679 {
4683 osglData->description) == false)
4685 "setOtherGeneralOption failed");
4686 }
4687 break;
4688
4689 case 138:
4690
4691 {
4693 {
4695 {
4696 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <other> elements than specified");
4699 }
4700 }
4701 osglData->namePresent = false;
4702 osglData->valuePresent = false;
4704 osglData->name = "";
4705 osglData->value = "";
4706 osglData->description = "";
4707}
4708 break;
4709
4710 case 139:
4711
4712 {
4713 if (!osglData->namePresent)
4714 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> must have name attribute");
4715}
4716 break;
4717
4718 case 142:
4719
4720 { if (osglData->name.length() == 0)
4721 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "otherOption name cannot be empty");
4722 }
4723 break;
4724
4725 case 149:
4726
4727 {
4733 osoption->system = new SystemOption();
4734}
4735 break;
4736
4737 case 164:
4738
4740 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minDiskSpace element allowed");
4742 osglData->unitPresent = false;
4743 osglData->descriptionPresent = false;
4744 osglData->unit = "byte";
4745 osglData->description = "";
4746 }
4747 break;
4748
4749 case 171:
4750
4751 {
4753 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setMinDiskSpace failed");
4754 parserData->errorText = NULL;
4755}
4756 break;
4757
4758 case 173:
4759
4761 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minMemory element allowed");
4763 osglData->unitPresent = false;
4764 osglData->descriptionPresent = false;
4765 osglData->unit = "byte";
4766 osglData->description = "";
4767 }
4768 break;
4769
4770 case 180:
4771
4772 {
4774 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setMinMemorySize failed");
4775 parserData->errorText = NULL;
4776}
4777 break;
4778
4779 case 182:
4780
4782 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minCPUSpeed element allowed");
4784 osglData->unitPresent = false;
4785 osglData->descriptionPresent = false;
4786 osglData->unit = "hertz";
4787 osglData->description = "";
4788 }
4789 break;
4790
4791 case 189:
4792
4793 {
4795 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setMinCPUSpeed failed");
4796 parserData->errorText = NULL;
4797}
4798 break;
4799
4800 case 191:
4801
4802 {
4805 "only one minCPUNumber element allowed");
4807 osglData->descriptionPresent = false;
4808 osglData->description = "";
4809}
4810 break;
4811
4812 case 195:
4813
4814 {
4815 if (osoption->setMinCPUNumber((yyvsp[(1) - (1)].ival), osglData->description) == false)
4817 "setMinCPUNumber failed");
4818 parserData->errorText = NULL;
4819}
4820 break;
4821
4822 case 196:
4823
4824 {
4827 }
4828 break;
4829
4830 case 197:
4831
4832 {
4834 {
4835 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <system> <otherOptions>");
4837 }
4839}
4840 break;
4841
4842 case 198:
4843
4844 {
4845 if (parserData->tempInt < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other system options cannot be negative");
4847 parserData->kounter = 0;
4848}
4849 break;
4850
4851 case 199:
4852
4853 { if (parserData->numberOf > 0)
4854 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <other> element");
4855 }
4856 break;
4857
4858 case 200:
4859
4860 { if (parserData->kounter < parserData->numberOf - 1)
4861 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <other> elements than specified");
4862 }
4863 break;
4864
4865 case 207:
4866
4867 {
4871 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setOtherSystemOption failed");
4872 }
4873 break;
4874
4875 case 210:
4876
4877 {
4881}
4882 break;
4883
4884 case 222:
4885
4887 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one currentState element allowed");
4889 }
4890 break;
4891
4892 case 228:
4893
4894 {
4895 parserData->tempStr = (yyvsp[(1) - (1)].sval);
4896 free((yyvsp[(1) - (1)].sval));
4897 if (osoption->setServiceType(parserData->tempStr) == false)
4898 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setServiceType failed; current system state not recognized");
4899 parserData->errorText = NULL;
4900 }
4901 break;
4902
4903 case 229:
4904
4905 {
4908 }
4909 break;
4910
4911 case 230:
4912
4913 {
4915 {
4916 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <service> <otherOptions>");
4918 }
4920}
4921 break;
4922
4923 case 231:
4924
4925 {
4926 if (parserData->tempInt < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other service options cannot be negative");
4928 parserData->kounter = 0;
4929}
4930 break;
4931
4932 case 232:
4933
4934 { if (parserData->numberOf > 0)
4935 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <other> element");
4936 }
4937 break;
4938
4939 case 233:
4940
4941 { if (parserData->kounter < parserData->numberOf - 1)
4942 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <other> elements than specified");
4943 }
4944 break;
4945
4946 case 240:
4947
4948 {
4952 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setOtherServiceOption failed");
4953 }
4954 break;
4955
4956 case 243:
4957
4958 {
4959 parserData->maxTimePresent = false;
4974 osoption->job = new JobOption();
4975 }
4976 break;
4977
4978 case 267:
4979
4980 {
4982 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "max time request could not be honored");
4983}
4984 break;
4985
4986 case 268:
4987
4988 {
4990 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <maxTime> element allowed");
4991 osglData->unitPresent = false;
4992 osglData->unit = "second";
4993 parserData->maxTimePresent = true;
4995}
4996 break;
4997
4998 case 277:
4999
5000 {
5002}
5003 break;
5004
5005 case 279:
5006
5008 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one requestedStartTime element allowed");
5010 }
5011 break;
5012
5013 case 285:
5014
5015 {
5016 if (osoption->setRequestedStartTime((yyvsp[(1) - (1)].sval)) == false)
5017 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setRequestedStartTime failed");
5018 free((yyvsp[(1) - (1)].sval));
5019 parserData->errorText = NULL;
5020 }
5021 break;
5022
5023 case 286:
5024
5025 {
5028 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <job> <dependencies> failed");
5029 delete[] parserData->jobDependencies;
5033}
5034 break;
5035
5036 case 287:
5037
5038 {
5040 {
5041 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <dependencies> element allowed");
5043 }
5045}
5046 break;
5047
5048 case 293:
5049
5050 {
5052 {
5053 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few job IDs in <dependencies> element");
5055 }
5056}
5057 break;
5058
5059 case 296:
5060
5061 {
5063 {
5065 {
5066 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many job IDs in <dependencies> element");
5069 }
5070 }
5071 else
5072 {
5075 }
5076 free((yyvsp[(3) - (4)].sval));
5077}
5078 break;
5079
5080 case 297:
5081
5082 {
5085 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <requiredDirectories> failed");
5086 delete[] parserData->paths;
5087 parserData->paths = NULL;
5090}
5091 break;
5092
5093 case 298:
5094
5095 {
5097 {
5098 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <requiredDirectories> element allowed");
5100 }
5102}
5103 break;
5104
5105 case 303:
5106
5107 {
5109 {
5110 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <requiredDirectories> element");
5112 }
5113}
5114 break;
5115
5116 case 304:
5117
5118 {
5121 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <requiredFiles> failed");
5122 delete[] parserData->paths;
5123 parserData->paths = NULL;
5126}
5127 break;
5128
5129 case 305:
5130
5131 {
5133 {
5134 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <requiredFiles> element allowed");
5136 }
5138}
5139 break;
5140
5141 case 310:
5142
5143 {
5145 {
5146 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <requiredFiles> element");
5148 }
5149}
5150 break;
5151
5152 case 311:
5153
5154 {
5157 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <directoriesToMake> failed");
5158 delete[] parserData->paths;
5159 parserData->paths = NULL;
5162}
5163 break;
5164
5165 case 312:
5166
5167 {
5169 {
5170 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <directoriesToMake> element allowed");
5172 }
5174}
5175 break;
5176
5177 case 317:
5178
5179 {
5181 {
5182 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <directoriesToMake> element");
5184 }
5185}
5186 break;
5187
5188 case 318:
5189
5190 {
5193 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <filesToMake> failed");
5194 delete[] parserData->paths;
5195 parserData->paths = NULL;
5198}
5199 break;
5200
5201 case 319:
5202
5203 {
5205 {
5206 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <filesToMake> element allowed");
5208 }
5210}
5211 break;
5212
5213 case 324:
5214
5215 {
5217 {
5218 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <filesToMake> element");
5220 }
5221}
5222 break;
5223
5224 case 325:
5225
5226 {
5230 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <inputDirectoriesToMove> failed");
5231 delete[] parserData->fromPaths;
5232 delete[] parserData->toPaths;
5233 delete[] parserData->makeCopy;
5234 parserData->fromPaths = NULL;
5235 parserData->toPaths = NULL;
5236 parserData->makeCopy = NULL;
5239}
5240 break;
5241
5242 case 326:
5243
5244 {
5246 {
5247 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <inputDirectoriesToMove> element allowed");
5249 }
5251}
5252 break;
5253
5254 case 332:
5255
5256 {
5258 {
5259 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <inputDirectoriesToMove> element");
5261 }
5262}
5263 break;
5264
5265 case 336:
5266
5267 {
5271 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <inputFilesToMove> failed");
5272 delete[] parserData->fromPaths;
5273 delete[] parserData->toPaths;
5274 delete[] parserData->makeCopy;
5275 parserData->fromPaths = NULL;
5276 parserData->toPaths = NULL;
5277 parserData->makeCopy = NULL;
5280}
5281 break;
5282
5283 case 337:
5284
5285 {
5287 {
5288 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <inputFilesToMove> element allowed");
5290 }
5292}
5293 break;
5294
5295 case 343:
5296
5297 {
5299 {
5300 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <inputFilesToMove> element");
5302 }
5303}
5304 break;
5305
5306 case 347:
5307
5308 {
5312 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <inputDirectoriesToMake> failed");
5313 delete[] parserData->fromPaths;
5314 delete[] parserData->toPaths;
5315 delete[] parserData->makeCopy;
5316 parserData->fromPaths = NULL;
5317 parserData->toPaths = NULL;
5318 parserData->makeCopy = NULL;
5321}
5322 break;
5323
5324 case 348:
5325
5326 {
5328 {
5329 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <outputFilesToMove> element allowed");
5331 }
5333}
5334 break;
5335
5336 case 354:
5337
5338 {
5340 {
5341 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <outputFilesToMake> element");
5343 }
5344}
5345 break;
5346
5347 case 358:
5348
5349 {
5353 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <inputDirectoriesToMake> failed");
5354 delete[] parserData->fromPaths;
5355 delete[] parserData->toPaths;
5356 delete[] parserData->makeCopy;
5357 parserData->fromPaths = NULL;
5358 parserData->toPaths = NULL;
5359 parserData->makeCopy = NULL;
5362}
5363 break;
5364
5365 case 359:
5366
5367 {
5369 {
5370 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <outputDirectoriesToMove> element allowed");
5372 }
5374}
5375 break;
5376
5377 case 365:
5378
5379 {
5381 {
5382 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <outputDirectoriesToMake> element");
5384 }
5385}
5386 break;
5387
5388 case 369:
5389
5390 {
5393 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <filesToDelete> failed");
5394 delete[] parserData->paths;
5395 parserData->paths = NULL;
5398}
5399 break;
5400
5401 case 370:
5402
5403 {
5405 {
5406 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <filesToDelete> element allowed");
5408 }
5410}
5411 break;
5412
5413 case 376:
5414
5415 {
5417 {
5418 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <filesToDelete> element");
5420 }
5421}
5422 break;
5423
5424 case 377:
5425
5426 {
5429 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <directoriesToDelete> failed");
5430 delete[] parserData->paths;
5431 parserData->paths = NULL;
5434}
5435 break;
5436
5437 case 378:
5438
5439 {
5441 {
5442 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <directoriesToDelete> element allowed");
5444 }
5446}
5447 break;
5448
5449 case 384:
5450
5451 {
5453 {
5454 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <directoriesToDelete> element");
5456 }
5457}
5458 break;
5459
5460 case 385:
5461
5462 {
5465 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <processesToKill> failed");
5466 delete[] parserData->processesToKill;
5470}
5471 break;
5472
5473 case 386:
5474
5475 {
5477 {
5478 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <processesToKill> element allowed");
5480 }
5482}
5483 break;
5484
5485 case 392:
5486
5487 {
5489 {
5490 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few process IDs in <processesToKill> element");
5492 }
5493}
5494 break;
5495
5496 case 395:
5497
5498 {
5500 {
5502 {
5503 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many process IDs in <processesToKill> element");
5506 }
5507 }
5508 else
5509 {
5512 }
5513 free((yyvsp[(3) - (4)].sval));
5514}
5515 break;
5516
5517 case 396:
5518
5519 {
5522 }
5523 break;
5524
5525 case 397:
5526
5527 {
5529 {
5530 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <job> <otherOptions>");
5532 }
5534}
5535 break;
5536
5537 case 398:
5538
5539 {
5540 if (parserData->tempInt < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other job options cannot be negative");
5542 parserData->kounter = 0;
5543}
5544 break;
5545
5546 case 399:
5547
5548 { if (parserData->numberOf > 0)
5549 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <other> element");
5550 }
5551 break;
5552
5553 case 400:
5554
5555 { if (parserData->kounter < parserData->numberOf - 1)
5556 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <other> elements than specified");
5557 }
5558 break;
5559
5560 case 407:
5561
5562 {
5566 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setOtherJobOption failed");
5567 }
5568 break;
5569
5570 case 410:
5571
5572 {
5577}
5578 break;
5579
5580 case 414:
5581
5582 {
5583// osglData->numberOfVariables = parserData->tempInt;
5586 "setNumberOfVariables failed");
5587 }
5588 break;
5589
5590 case 415:
5591
5592 {
5593// osglData->numberOfConstraints = parserData->tempInt;
5596 "setNumberOfConstraints failed");
5597 }
5598 break;
5599
5600 case 416:
5601
5602 {
5603// osglData->numberOfObjectives = parserData->tempInt;
5606 "setNumberOfObjectives failed");
5607 }
5608 break;
5609
5610 case 424:
5611
5612 {
5615}
5616 break;
5617
5618 case 425:
5619
5620 {
5622 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setNumberOfOtherVariableOptions failed");
5623 parserData->iOther = 0;
5624}
5625 break;
5626
5627 case 427:
5628
5629 {
5631}
5632 break;
5633
5634 case 432:
5635
5636 {
5639
5640}
5641 break;
5642
5643 case 434:
5644
5645 {
5648 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialVariableValues> failed");
5649 delete[] parserData->idxArray;
5650 delete[] parserData->namArray;
5651 delete[] parserData->valArray;
5652 parserData->idxArray = NULL;
5653 parserData->namArray = NULL;
5654 parserData->valArray = NULL;
5657}
5658 break;
5659
5660 case 435:
5661
5662 {
5664}
5665 break;
5666
5667 case 436:
5668
5669 {
5670 parserData->kounter = 0;
5672 parserData->namArray = new std::string[osglData->numberOfVar];
5673 parserData->valArray = new double[osglData->numberOfVar];
5674 for (int i=0; i < osglData->numberOfVar; i++) parserData->namArray[i] = "";
5675 for (int i=0; i < osglData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
5676}
5677 break;
5678
5679 case 437:
5680
5681 {
5682 if (osglData->numberOfVar > 0)
5683 {
5684 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialVariableValues>: expected at least one <var> element");
5686 }
5687 }
5688 break;
5689
5690 case 438:
5691
5692 {
5694 {
5695 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialVariableValues>: fewer <var> elements than specified");
5697 }
5698 }
5699 break;
5700
5701 case 445:
5702
5703 {
5705}
5706 break;
5707
5708 case 446:
5709
5710 {
5713 {
5714 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
5717 }
5718 osglData->idxPresent = false;
5719 osglData->namePresent = false;
5720 osglData->valuePresent = false;
5721}
5722 break;
5723
5724 case 447:
5725
5726 {
5727 if (osglData->idxPresent == false)
5728 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<var> element must have idx attribute");
5729}
5730 break;
5731
5732 case 450:
5733
5734 {
5735 if (osglData->idx < 0)
5737 "variable index must be nonnegative");
5739 {
5742 "variable index exceeds upper limit");
5743 };
5746 }
5747 break;
5748
5749 case 451:
5750
5751 {
5754 }
5755 break;
5756
5757 case 452:
5758
5759 {
5760 if (osglData->value == "")
5761 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
5764 }
5765 break;
5766
5767 case 456:
5768
5769 {
5772 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialVariableValuesString> failed");
5773 delete[] parserData->idxArray;
5774 delete[] parserData->namArray;
5775 delete[] parserData->valueString;
5776 parserData->idxArray = NULL;
5777 parserData->namArray = NULL;
5778 parserData->valueString = NULL;
5781}
5782 break;
5783
5784 case 457:
5785
5786 {
5788}
5789 break;
5790
5791 case 458:
5792
5793 {
5794 parserData->kounter = 0;
5796 parserData->namArray = new std::string[osglData->numberOfVar];
5797 parserData->valueString = new std::string[osglData->numberOfVar];
5798 for (int i=0; i < osglData->numberOfVar; i++) parserData->namArray[i] = "";
5799 for (int i=0; i < osglData->numberOfVar; i++) parserData->valueString[i] = "";
5800}
5801 break;
5802
5803 case 459:
5804
5805 {
5806 if (osglData->numberOfVar > 0)
5807 {
5808 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialVariableValuesString>: expected at least one <var> element");
5810 }
5811 }
5812 break;
5813
5814 case 460:
5815
5816 {
5818 {
5819 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few initial values in <initialVariableValuesString> element");
5821 }
5822 }
5823 break;
5824
5825 case 467:
5826
5827 {
5829 osglData->value = ""; //Make sure to remove random string
5830}
5831 break;
5832
5833 case 468:
5834
5835 {
5838 {
5839 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
5842 }
5843 osglData->idxPresent = false;
5844 osglData->namePresent = false;
5845 osglData->valuePresent = false;
5846 osglData->value = "48r 87e WY EUV e7 df"; //random string...
5847}
5848 break;
5849
5850 case 469:
5851
5852 {
5853 if (osglData->idxPresent == false)
5854 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<var> element must have idx attribute");
5855}
5856 break;
5857
5858 case 472:
5859
5860 {
5861 if (osglData->idx< 0)
5862 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index must be nonnegative");
5864 {
5866 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index exceeds upper limit");
5867 };
5870 }
5871 break;
5872
5873 case 473:
5874
5875 {
5878 }
5879 break;
5880
5881 case 474:
5882
5883 {
5886 }
5887 break;
5888
5889 case 479:
5890
5891 {
5893}
5894 break;
5895
5896 case 486:
5897
5898 {
5901 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables basic failed");
5902 delete[] osglData->osglIntArray;
5903 osglData->osglIntArray = NULL;
5906}
5907 break;
5908
5909 case 488:
5910
5911 {
5914 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atLower failed");
5915 delete[] osglData->osglIntArray;
5916 osglData->osglIntArray = NULL;
5919}
5920 break;
5921
5922 case 490:
5923
5924 {
5927 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atUpper failed");
5928 delete[] osglData->osglIntArray;
5929 osglData->osglIntArray = NULL;
5932}
5933 break;
5934
5935 case 492:
5936
5937 {
5940 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atEquality failed");
5941 delete[] osglData->osglIntArray;
5942 osglData->osglIntArray = NULL;
5945}
5946 break;
5947
5948 case 494:
5949
5950 {
5953 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables isFree failed");
5954 delete[] osglData->osglIntArray;
5955 osglData->osglIntArray = NULL;
5958}
5959 break;
5960
5961 case 496:
5962
5963 {
5966 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables superbasic failed");
5967 delete[] osglData->osglIntArray;
5968 osglData->osglIntArray = NULL;
5971}
5972 break;
5973
5974 case 498:
5975
5976 {
5979 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables unknown failed");
5980 delete[] osglData->osglIntArray;
5981 osglData->osglIntArray = NULL;
5984}
5985 break;
5986
5987 case 500:
5988
5989 {
5992 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <IntegerVariableBranchingWeights> failed");
5993 delete[] parserData->idxArray;
5994 delete[] parserData->namArray;
5995 delete[] parserData->valArray;
5996 parserData->idxArray = NULL;
5997 parserData->namArray = NULL;
5998 parserData->valArray = NULL;
6001}
6002 break;
6003
6004 case 501:
6005
6006 {
6008}
6009 break;
6010
6011 case 502:
6012
6013 {
6014 parserData->kounter = 0;
6016 parserData->namArray = new std::string[osglData->numberOfVar];
6017 parserData->valArray = new double[osglData->numberOfVar];
6018 for (int i=0; i < osglData->numberOfVar; i++) parserData->namArray[i] = "";
6019 for (int i=0; i < osglData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
6020}
6021 break;
6022
6023 case 503:
6024
6025 {
6026 if (osglData->numberOfVar > 0)
6027 {
6028 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <var> element");
6030 }
6031 }
6032 break;
6033
6034 case 504:
6035
6036 {
6038 {
6039 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <var> elements than specified");
6041 }
6042 }
6043 break;
6044
6045 case 511:
6046
6047 {
6049}
6050 break;
6051
6052 case 512:
6053
6054 {
6057 {
6058 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6061 }
6062 osglData->idxPresent = false;
6063 osglData->namePresent = false;
6064 osglData->name = "";
6065 osglData->valuePresent = false;
6066 osglData->value = "1.0";
6067}
6068 break;
6069
6070 case 513:
6071
6072 {
6073 if (osglData->idxPresent == false)
6074 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<var> element must have idx attribute");
6075}
6076 break;
6077
6078 case 516:
6079
6080 {
6081 if (osglData->idx < 0)
6082 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index must be nonnegative");
6084 {
6086 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index exceeds upper limit");
6087 };
6090 }
6091 break;
6092
6093 case 517:
6094
6095 {
6098 }
6099 break;
6100
6101 case 518:
6102
6103 {
6104 if (osglData->value == "")
6105 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
6108 }
6109 break;
6110
6111 case 522:
6112
6113 {
6116}
6117 break;
6118
6119 case 523:
6120
6121 {
6124}
6125 break;
6126
6127 case 524:
6128
6129 {
6130 if ((yyvsp[(3) - (4)].ival) < 0)
6131 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <sos> elements must be nonnegative");
6132 parserData->numberOfSOS = (yyvsp[(3) - (4)].ival);
6133}
6134 break;
6135
6136 case 525:
6137
6138 {
6139 if (parserData->numberOfSOS > 0)
6140 {
6141 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <sos> element");
6143 }
6144 }
6145 break;
6146
6147 case 526:
6148
6150 {
6151 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <sos> elements than specified");
6153 }
6154 }
6155 break;
6156
6157 case 532:
6158
6159 {
6164 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "error processing SOS branching weights");
6165 delete[] parserData->idxArray;
6166 delete[] parserData->namArray;
6167 delete[] parserData->valArray;
6168 parserData->idxArray = NULL;
6169 parserData->namArray = NULL;
6170 parserData->valArray = NULL;
6174}
6175 break;
6176
6177 case 533:
6178
6179 {
6182 {
6183 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many SOS branching weights");
6186 }
6189 parserData->groupWeight = 1.0;
6192}
6193 break;
6194
6195 case 534:
6196
6197 {
6199 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "SOS index required");
6201 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfVar required");
6202}
6203 break;
6204
6205 case 538:
6206
6207 {
6208 parserData->kounter = 0;
6210 parserData->namArray = new std::string[osglData->numberOfVar];
6211 parserData->valArray = new double[osglData->numberOfVar];
6212 for (int i=0; i < osglData->numberOfVar; i++) parserData->valArray[i] = OSNaN();
6214 }
6215 break;
6216
6217 case 547:
6218
6219 {
6220 parserData->iOther++;
6221 }
6222 break;
6223
6224 case 548:
6225
6226 {
6229 {
6231 "more <otherVariableOptions> than specified");
6234 }
6236 osglData->numberOfVar = 0;
6239 osglData->namePresent = false;
6240 osglData->valuePresent = false;
6241 osglData->value = "";
6242 osglData->solverPresent = false;
6243 osglData->solver = "";
6244 osglData->categoryPresent = false;
6245 osglData->category = "";
6246 osglData->typePresent = false;
6247 osglData->type = "";
6248 osglData->varTypePresent = false;
6249 osglData->varType = "";
6250 osglData->enumTypePresent = false;
6251 osglData->enumType = "";
6252 osglData->descriptionPresent = false;
6253 osglData->description = "";
6255}
6256 break;
6257
6258 case 549:
6259
6260 {
6261 if (!osglData->namePresent)
6262 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element requires name attribute");
6268 osglData->name,
6269 osglData->value,
6272 osglData->type,
6276 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element could not be initialed");
6277 }
6278 break;
6279
6280 case 552:
6281
6282 {
6283 parserData->kounter = 0;
6284 }
6285 break;
6286
6287 case 553:
6288
6289 {
6290 parserData->kounter = 0;
6291 }
6292 break;
6293
6294 case 571:
6295
6296 {
6301 osglData->idx,
6302 osglData->name,
6303 osglData->value,
6306 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other variable option <var> element failed");
6308}
6309 break;
6310
6311 case 572:
6312
6313 {
6316 {
6317 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6320 }
6321 osglData->idxPresent = false;
6322 osglData->namePresent = false;
6323 osglData->name = "";
6324 osglData->valuePresent = false;
6325 osglData->value = "";
6330}
6331 break;
6332
6333 case 576:
6334
6335 {
6336 if (osglData->idx < 0)
6337 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index must be nonnegative");
6339 {
6341 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index exceeds upper limit");
6342 };
6343 }
6344 break;
6345
6346 case 586:
6347
6348 {
6351}
6352 break;
6353
6354 case 587:
6355
6356 {
6358 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setNumberOfOtherVariableOptions failed");
6359 parserData->iOther = 0;
6360}
6361 break;
6362
6363 case 589:
6364
6365 {
6367}
6368 break;
6369
6370 case 594:
6371
6372 {
6375
6376}
6377 break;
6378
6379 case 596:
6380
6381 {
6384 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialObjectiveValues> failed");
6385 delete[] parserData->idxArray;
6386 delete[] parserData->namArray;
6387 delete[] parserData->valArray;
6388 parserData->idxArray = NULL;
6389 parserData->namArray = NULL;
6390 parserData->valArray = NULL;
6393}
6394 break;
6395
6396 case 597:
6397
6398 {
6400}
6401 break;
6402
6403 case 598:
6404
6405 {
6406 parserData->kounter = 0;
6408 parserData->namArray = new std::string[osglData->numberOfObj];
6409 parserData->valArray = new double[osglData->numberOfObj];
6410 for (int i=0; i < osglData->numberOfObj; i++) parserData->idxArray[i] = -1;
6411 for (int i=0; i < osglData->numberOfObj; i++) parserData->namArray[i] = "";
6412 for (int i=0; i < osglData->numberOfObj; i++) parserData->valArray[i] = OSNaN();
6413}
6414 break;
6415
6416 case 599:
6417
6418 {
6419 if (osglData->numberOfObj > 0)
6420 {
6421 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveValues>: expected at least one <obj> element");
6423 }
6424 }
6425 break;
6426
6427 case 600:
6428
6429 {
6431 {
6432 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveValues>: fewer <obj> elements than specified");
6434 }
6435 }
6436 break;
6437
6438 case 607:
6439
6440 {
6442}
6443 break;
6444
6445 case 608:
6446
6447 {
6450 {
6451 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <obj> elements than specified");
6454 }
6455 osglData->idxPresent = false;
6456 osglData->namePresent = false;
6457 osglData->valuePresent = false;
6458 osglData->idx = -1;
6459}
6460 break;
6461
6462 case 612:
6463
6464 {
6465 if (osglData->idx >= 0)
6466 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index must be negative");
6468 {
6470 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6471 };
6473 }
6474 break;
6475
6476 case 613:
6477
6478 {
6480 }
6481 break;
6482
6483 case 614:
6484
6485 {
6486 if (osglData->value == "")
6487 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
6489 }
6490 break;
6491
6492 case 618:
6493
6494 {
6497 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialObjectiveBounds> failed");
6498 delete[] parserData->idxArray;
6499 delete[] parserData->namArray;
6500 delete[] parserData->lbValArray;
6501 delete[] parserData->ubValArray;
6502 parserData->idxArray = NULL;
6503 parserData->namArray = NULL;
6504 parserData->lbValArray = NULL;
6505 parserData->ubValArray = NULL;
6508}
6509 break;
6510
6511 case 619:
6512
6513 {
6515}
6516 break;
6517
6518 case 620:
6519
6520 {
6521 parserData->kounter = 0;
6523 parserData->lbValArray = new double[osglData->numberOfObj];
6524 parserData->ubValArray = new double[osglData->numberOfObj];
6525 parserData->namArray = new std::string[osglData->numberOfObj];
6526 for (int i=0; i < osglData->numberOfObj; i++) parserData->idxArray[i] = -1;
6527 for (int i=0; i < osglData->numberOfObj; i++) parserData->namArray[i] = "";
6528 for (int i=0; i < osglData->numberOfObj; i++) parserData->lbValArray[i] = OSNaN();
6529 for (int i=0; i < osglData->numberOfObj; i++) parserData->ubValArray[i] = OSNaN();
6530}
6531 break;
6532
6533 case 621:
6534
6535 {
6536 if (osglData->numberOfObj > 0)
6537 {
6538 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveBounds>: expected at least one <obj> element");
6540 }
6541 }
6542 break;
6543
6544 case 622:
6545
6546 {
6548 {
6549 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveBounds>: fewer <obj> elements than specified");
6551 }
6552 }
6553 break;
6554
6555 case 629:
6556
6557 {
6559}
6560 break;
6561
6562 case 630:
6563
6564 {
6567 {
6568 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6571 }
6572 osglData->idx = -1;
6573 osglData->idxPresent = false;
6574 osglData->namePresent = false;
6577 parserData->lbValueAttribute = "-INF";
6579}
6580 break;
6581
6582 case 634:
6583
6584 {
6585 if (osglData->idx >= 0)
6586 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index must be nonnegative");
6588 {
6590 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6591 };
6593 }
6594 break;
6595
6596 case 635:
6597
6598 {
6600 }
6601 break;
6602
6603 case 636:
6604
6605 {
6606 if (parserData->lbValueAttribute == "")
6607 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
6609 }
6610 break;
6611
6612 case 637:
6613
6614 {
6615 if (parserData->ubValueAttribute == "")
6616 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
6618 }
6619 break;
6620
6621 case 642:
6622
6623 {
6625}
6626 break;
6627
6628 case 649:
6629
6630 {
6633 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives basic failed");
6634 delete[] osglData->osglIntArray;
6635 osglData->osglIntArray = NULL;
6638}
6639 break;
6640
6641 case 651:
6642
6643 {
6646 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atLower failed");
6647 delete[] osglData->osglIntArray;
6648 osglData->osglIntArray = NULL;
6651}
6652 break;
6653
6654 case 653:
6655
6656 {
6659 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atUpper failed");
6660 delete[] osglData->osglIntArray;
6661 osglData->osglIntArray = NULL;
6664}
6665 break;
6666
6667 case 655:
6668
6669 {
6672 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atEquality failed");
6673 delete[] osglData->osglIntArray;
6674 osglData->osglIntArray = NULL;
6677}
6678 break;
6679
6680 case 657:
6681
6682 {
6685 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives isFree failed");
6686 delete[] osglData->osglIntArray;
6687 osglData->osglIntArray = NULL;
6690}
6691 break;
6692
6693 case 659:
6694
6695 {
6698 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives superbasic failed");
6699 delete[] osglData->osglIntArray;
6700 osglData->osglIntArray = NULL;
6703}
6704 break;
6705
6706 case 661:
6707
6708 {
6711 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives unknown failed");
6712 delete[] osglData->osglIntArray;
6713 osglData->osglIntArray = NULL;
6716}
6717 break;
6718
6719 case 664:
6720
6721 {
6722 parserData->iOther++;
6723 }
6724 break;
6725
6726 case 665:
6727
6728 {
6731 {
6732 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <otherObjectiveOptions> than specified");
6735 }
6736 osglData->numberOfObjPresent = false;
6737 osglData->numberOfObj = 0;
6740 osglData->namePresent = false;
6741 osglData->valuePresent = false;
6742 osglData->value = "";
6743 osglData->solverPresent = false;
6744 osglData->solver = "";
6745 osglData->categoryPresent = false;
6746 osglData->category = "";
6747 osglData->typePresent = false;
6748 osglData->type = "";
6749 osglData->objTypePresent = false;
6750 osglData->objType = "";
6751 osglData->enumTypePresent = false;
6752 osglData->enumType = "";
6753 osglData->descriptionPresent = false;
6754 osglData->description = "";
6756}
6757 break;
6758
6759 case 666:
6760
6761 {
6762 if (!osglData->namePresent)
6763 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element requires name attribute");
6769 osglData->name,
6770 osglData->value,
6773 osglData->type,
6777 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element could not be initialed");
6778 }
6779 break;
6780
6781 case 669:
6782
6783 {
6784 parserData->kounter = 0;
6785 }
6786 break;
6787
6788 case 670:
6789
6790 {
6791 parserData->kounter = 0;
6792 }
6793 break;
6794
6795 case 688:
6796
6797 {
6802 osglData->idx,
6803 osglData->name,
6804 osglData->value,
6807 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other objective option <obj> element failed");
6809}
6810 break;
6811
6812 case 689:
6813
6814 {
6815
6818 {
6819 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <obj> elements than specified");
6822 }
6823 osglData->idxPresent = false;
6824 osglData->idx = -1;
6825 osglData->namePresent = false;
6826 osglData->name = "";
6827 osglData->valuePresent = false;
6828 osglData->value = "";
6833}
6834 break;
6835
6836 case 693:
6837
6838 {
6839 if (osglData->idx >= 0)
6840 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index must be negative");
6842 {
6844 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6845 };
6846 }
6847 break;
6848
6849 case 703:
6850
6851 {
6854}
6855 break;
6856
6857 case 704:
6858
6859 {
6861 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setNumberOfOtherConstraintOptions failed");
6862 parserData->iOther = 0;
6863}
6864 break;
6865
6866 case 706:
6867
6868 {
6870}
6871 break;
6872
6873 case 711:
6874
6875 {
6878
6879}
6880 break;
6881
6882 case 713:
6883
6884 {
6887 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialConstraintValues> failed");
6888 delete[] parserData->idxArray;
6889 delete[] parserData->namArray;
6890 delete[] parserData->valArray;
6891 parserData->idxArray = NULL;
6892 parserData->namArray = NULL;
6893 parserData->valArray = NULL;
6896}
6897 break;
6898
6899 case 714:
6900
6901 {
6903}
6904 break;
6905
6906 case 715:
6907
6908 {
6909 parserData->kounter = 0;
6911 parserData->namArray = new std::string[osglData->numberOfCon];
6912 parserData->valArray = new double[osglData->numberOfCon];
6913 for (int i=0; i < osglData->numberOfCon; i++) parserData->namArray[i] = "";
6914 for (int i=0; i < osglData->numberOfCon; i++) parserData->valArray[i] = OSNaN();
6915}
6916 break;
6917
6918 case 716:
6919
6920 {
6921 if (osglData->numberOfCon > 0)
6922 {
6923 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialConstraintValues>: expected at least one <con element");
6925 }
6926 }
6927 break;
6928
6929 case 717:
6930
6931 {
6933 {
6934 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialConstraintValues>: fewer <con> elements than specified");
6936 }
6937 }
6938 break;
6939
6940 case 724:
6941
6942 {
6944}
6945 break;
6946
6947 case 725:
6948
6949 {
6952 {
6954 "more <con> elements than specified");
6957 }
6958 osglData->idxPresent = false;
6959 osglData->name = "";
6960 osglData->namePresent = false;
6961 osglData->valuePresent = false;
6962}
6963 break;
6964
6965 case 726:
6966
6967 {
6968 if (osglData->idxPresent == false)
6970 "<con> element must have idx attribute");
6971}
6972 break;
6973
6974 case 729:
6975
6976 {
6977 if (osglData->idx < 0)
6978 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index must be nonnegative");
6980 {
6982 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index exceeds upper limit");
6983 };
6985 }
6986 break;
6987
6988 case 730:
6989
6990 {
6992 }
6993 break;
6994
6995 case 731:
6996
6997 {
6998 if (osglData->value == "")
6999 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected an integer or floating point value");
7001 }
7002 break;
7003
7004 case 735:
7005
7006 {
7009 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <initialConstraintValues> failed");
7010 delete[] parserData->idxArray;
7011 delete[] parserData->namArray;
7012 delete[] parserData->lbValArray;
7013 delete[] parserData->ubValArray;
7014 parserData->idxArray = NULL;
7015 parserData->namArray = NULL;
7016 parserData->lbValArray = NULL;
7017 parserData->ubValArray = NULL;
7020}
7021 break;
7022
7023 case 736:
7024
7025 {
7027}
7028 break;
7029
7030 case 737:
7031
7032 {
7033 parserData->kounter = 0;
7035 parserData->namArray = new std::string[osglData->numberOfCon];
7036 parserData->lbValArray = new double[osglData->numberOfCon];
7037 parserData->ubValArray = new double[osglData->numberOfCon];
7038 for (int i=0; i < osglData->numberOfCon; i++) parserData->namArray[i] = "";
7039 for (int i=0; i < osglData->numberOfCon; i++) parserData->lbValArray[i] = OSNaN();
7040 for (int i=0; i < osglData->numberOfCon; i++) parserData->ubValArray[i] = OSNaN();
7041}
7042 break;
7043
7044 case 738:
7045
7046 {
7047 if (osglData->numberOfCon > 0)
7048 {
7049 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialDualValues>: expected at least one <con> element");
7051 }
7052 }
7053 break;
7054
7055 case 739:
7056
7057 {
7059 {
7060 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialDualValues>: fewer <con> elements than specified");
7062 }
7063 }
7064 break;
7065
7066 case 746:
7067
7068 {
7070}
7071 break;
7072
7073 case 747:
7074
7075 {
7078 {
7080 "more <con> elements than specified");
7083 }
7084 osglData->idxPresent = false;
7085 osglData->namePresent = false;
7086 osglData->name = "";
7091}
7092 break;
7093
7094 case 748:
7095
7096 {
7097 if (osglData->idxPresent == false)
7099 "<con> element must have idx attribute");
7100}
7101 break;
7102
7103 case 751:
7104
7105 {
7106 if (osglData->idx < 0)
7107 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index must be nonnegative");
7109 {
7111 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index exceeds upper limit");
7112 };
7114 }
7115 break;
7116
7117 case 752:
7118
7119 {
7121 }
7122 break;
7123
7124 case 753:
7125
7126 {
7128 }
7129 break;
7130
7131 case 754:
7132
7133 {
7135 }
7136 break;
7137
7138 case 759:
7139
7140 {
7142}
7143 break;
7144
7145 case 766:
7146
7147 {
7150 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks basic failed");
7151 delete[] osglData->osglIntArray;
7152 osglData->osglIntArray = NULL;
7155}
7156 break;
7157
7158 case 768:
7159
7160 {
7163 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atLower failed");
7164 delete[] osglData->osglIntArray;
7165 osglData->osglIntArray = NULL;
7168}
7169 break;
7170
7171 case 770:
7172
7173 {
7176 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atUpper failed");
7177 delete[] osglData->osglIntArray;
7178 osglData->osglIntArray = NULL;
7181}
7182 break;
7183
7184 case 772:
7185
7186 {
7189 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atEquality failed");
7190 delete[] osglData->osglIntArray;
7191 osglData->osglIntArray = NULL;
7194}
7195 break;
7196
7197 case 774:
7198
7199 {
7202 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks isFree failed");
7203 delete[] osglData->osglIntArray;
7204 osglData->osglIntArray = NULL;
7207}
7208 break;
7209
7210 case 776:
7211
7212 {
7215 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables superbasic failed");
7216 delete[] osglData->osglIntArray;
7217 osglData->osglIntArray = NULL;
7220}
7221 break;
7222
7223 case 778:
7224
7225 {
7228 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks unknown failed");
7229 delete[] osglData->osglIntArray;
7230 osglData->osglIntArray = NULL;
7233}
7234 break;
7235
7236 case 781:
7237
7238 {
7239 parserData->iOther++;
7240 }
7241 break;
7242
7243 case 782:
7244
7245 {
7248 {
7249 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <otherConstraintOptions> than specified");
7252 }
7253 osglData->numberOfConPresent = false;
7254 osglData->numberOfCon = 0;
7257 osglData->namePresent = false;
7258 osglData->valuePresent = false;
7259 osglData->value = "";
7260 osglData->solverPresent = false;
7261 osglData->solver = "";
7262 osglData->categoryPresent = false;
7263 osglData->category = "";
7264 osglData->typePresent = false;
7265 osglData->type = "";
7266 osglData->conTypePresent = false;
7267 osglData->conType = "";
7268 osglData->enumTypePresent = false;
7269 osglData->enumType = "";
7270 osglData->descriptionPresent = false;
7271 osglData->description = "";
7273}
7274 break;
7275
7276 case 783:
7277
7278 {
7279 if(!osglData->namePresent)
7280 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element requires name attribute");
7286 osglData->name,
7287 osglData->value,
7290 osglData->type,
7294 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element could not be initialed");
7295 }
7296 break;
7297
7298 case 786:
7299
7300 {
7301 parserData->kounter = 0;
7302 }
7303 break;
7304
7305 case 787:
7306
7307 {
7308 parserData->kounter = 0;
7309 }
7310 break;
7311
7312 case 805:
7313
7314 {
7319 osglData->idx,
7320 osglData->name,
7321 osglData->value,
7324 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other constraint option <con> element failed");
7326}
7327 break;
7328
7329 case 806:
7330
7331 {
7334 {
7335 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <con> elements than specified");
7338 }
7339 osglData->idxPresent = false;
7340 osglData->namePresent = false;
7341 osglData->name = "";
7342 osglData->valuePresent = false;
7343 osglData->value = "";
7348}
7349 break;
7350
7351 case 810:
7352
7353 {
7354 if (osglData->idx < 0)
7356 "constraint index must be nonnegative");
7358 {
7361 "constraint index exceeds upper limit");
7362 };
7363 }
7364 break;
7365
7366 case 819:
7367
7368 {
7371 }
7372 break;
7373
7374 case 821:
7375
7376 {
7378 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setNumberOfSolverOptions failed");
7379 parserData->iOption = 0;
7380}
7381 break;
7382
7383 case 822:
7384
7385 {
7387 {
7388 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <solverOption> element");
7390 }
7391 }
7392 break;
7393
7394 case 823:
7395
7396 {
7398 {
7399 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <solverOption> elements than specified");
7401 }
7402 }
7403 break;
7404
7405 case 828:
7406
7407 {
7412 osglData->name,
7413 osglData->value,
7416 osglData->type,
7419 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setSolverOptionContent failed");
7420 if (osglData->numberOfItems > 0)
7421 delete[] parserData->itemList;
7422 parserData->itemList = NULL;
7424}
7425 break;
7426
7427 case 829:
7428
7429 {
7430 osglData->namePresent = false;
7431 osglData->valuePresent = false;
7432 osglData->solverPresent = false;
7433 osglData->categoryPresent = false;
7434 osglData->typePresent = false;
7437 osglData->value = "";
7438 osglData->solver = "";
7439 osglData->category = "";
7440 osglData->type = "";
7441 osglData->description = "";
7443 parserData->kounter = 0;
7444}
7445 break;
7446
7447 case 830:
7448
7449 {
7450 if (!osglData->namePresent)
7451 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "name attribute must be present");
7452}
7453 break;
7454
7455 case 839:
7456
7457 {
7458 parserData->itemList = new std::string[osglData->numberOfItems];
7459 }
7460 break;
7461
7462 case 840:
7463
7464 {
7465 if (osglData->numberOfItems > 0)
7466 {
7467 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <item> element");
7469 }
7470 }
7471 break;
7472
7473 case 841:
7474
7475 {
7477 {
7478 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <item> elements than specified");
7480 }
7481 }
7482 break;
7483
7484 case 848:
7485
7486 {
7489}
7490 break;
7491
7492 case 849:
7493
7494 {
7497 {
7498 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <item> elements than specified");
7501 }
7502 parserData->itemContent = "";
7503 }
7504 break;
7505
7506 case 854:
7507
7508 {
7511 {
7512 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <item> elements than specified");
7515 }
7516 parserData->itemContent = (yyvsp[(1) - (1)].sval);
7517 free((yyvsp[(1) - (1)].sval));
7518}
7519 break;
7520
7521 case 857:
7522
7523 {
7525 {
7527 {
7528 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many paths in <requiredDirectories> element");
7531 }
7532 }
7533 else
7534 {
7535 parserData->paths[parserData->kounter] = (yyvsp[(3) - (4)].sval);
7537 }
7538 free((yyvsp[(3) - (4)].sval));
7539}
7540 break;
7541
7542 case 858:
7543
7544 {
7546 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many path pairs");
7547 else
7548 {
7550 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "\"from\" attribute must be present");
7552 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "\"to\" attribute must be present");
7557 }
7558}
7559 break;
7560
7561 case 859:
7562
7563 {
7564// if (parserData->kounter >= parserData->numberOfPathPairs)
7565// parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many path pairs");
7567 parserData->pathPairTo = "";
7572}
7573 break;
7574
7575 case 860:
7576
7577 {
7578// parserData->makeCopy[parserData->kounter] = parserData->pathPairMakeCopy;
7579}
7580 break;
7581
7582 case 866:
7583
7584 {
7586 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"from\" attribute allowed");
7588 parserData->pathPairFrom = (yyvsp[(2) - (3)].sval);
7589 free((yyvsp[(2) - (3)].sval));
7590}
7591 break;
7592
7593 case 867:
7594
7595 {
7597 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"to\" attribute allowed");
7599 parserData->pathPairTo = (yyvsp[(2) - (3)].sval);
7600 free((yyvsp[(2) - (3)].sval));
7601}
7602 break;
7603
7604 case 868:
7605
7606 {
7608 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"makeCopy\" attribute allowed");
7610 parserData->pathPairMakeCopy = (strcmp((yyvsp[(2) - (3)].sval),"true") == 0);
7611 free((yyvsp[(2) - (3)].sval));
7612}
7613 break;
7614
7615 case 871:
7616
7617 {
7619 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one groupWeight attribute allowed for this element");
7621}
7622 break;
7623
7624 case 872:
7625
7626 {
7628}
7629 break;
7630
7631 case 873:
7632
7633 {
7635 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one lb attribute allowed for this element");
7637}
7638 break;
7639
7640 case 876:
7641
7642 {
7644}
7645 break;
7646
7647 case 877:
7648
7649 {
7650 parserData->lbValueAttribute = (yyvsp[(2) - (3)].sval);
7651 free((yyvsp[(2) - (3)].sval));
7652}
7653 break;
7654
7655 case 878:
7656
7658 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one lb attribute allowed for this element");
7660 }
7661 break;
7662
7663 case 881:
7664
7665 {
7666 parserData->lbDualValue = 0.0;
7667}
7668 break;
7669
7670 case 882:
7671
7672 {
7674}
7675 break;
7676
7677 case 883:
7678
7680 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one sosIdx attribute allowed for this element");
7682 }
7683 break;
7684
7685 case 885:
7686
7687 {
7688 if ((yyvsp[(3) - (4)].ival) < 0)
7689 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "SOS index must be nonnegative");
7690 parserData->sosIdx = (yyvsp[(3) - (4)].ival);
7691}
7692 break;
7693
7694 case 886:
7695
7696 {
7698 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one ub attribute allowed for this element");
7700}
7701 break;
7702
7703 case 889:
7704
7705 {
7707}
7708 break;
7709
7710 case 890:
7711
7712 {
7713 parserData->ubValueAttribute = (yyvsp[(2) - (3)].sval);
7714 free((yyvsp[(2) - (3)].sval));
7715}
7716 break;
7717
7718 case 891:
7719
7721 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one ub attribute allowed for this element");
7723 }
7724 break;
7725
7726 case 894:
7727
7728 { parserData->ubDualValue = 0.0; }
7729 break;
7730
7731 case 895:
7732
7733 {
7735}
7736 break;
7737
7738 case 896:
7739
7740 {
7741 if ((yyvsp[(3) - (4)].ival) < 0)
7742 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Number of job IDs cannot be negative");
7743 else
7744 parserData->jobDependencies = new std::string[(yyvsp[(3) - (4)].ival)];
7745 parserData->numberOf = (yyvsp[(3) - (4)].ival);
7746 parserData->kounter = 0;
7747}
7748 break;
7749
7750 case 897:
7751
7752 {
7753 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other constraint options cannot be negative");
7754 parserData->tempInt = (yyvsp[(3) - (4)].ival);
7755}
7756 break;
7757
7758 case 898:
7759
7760 {
7761 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other objective options cannot be negative");
7762 parserData->tempInt = (yyvsp[(3) - (4)].ival);
7763}
7764 break;
7765
7766 case 899:
7767
7768 {
7769 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other options cannot be negative");
7770 parserData->tempInt = (yyvsp[(3) - (4)].ival);
7771}
7772 break;
7773
7774 case 900:
7775
7776 {
7777 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of other variable options cannot be negative");
7778 parserData->tempInt = (yyvsp[(3) - (4)].ival);
7779}
7780 break;
7781
7782 case 901:
7783
7784 {
7785 if ((yyvsp[(3) - (4)].ival) < 0)
7786 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Number of path pairs cannot be negative");
7787 else if ((yyvsp[(3) - (4)].ival) > 0)
7788 {
7789 parserData->fromPaths = new std::string[(yyvsp[(3) - (4)].ival)];
7790 parserData->toPaths = new std::string[(yyvsp[(3) - (4)].ival)];
7791 parserData->makeCopy = new bool[(yyvsp[(3) - (4)].ival)];
7792 }
7793 parserData->numberOfPathPairs = (yyvsp[(3) - (4)].ival);
7794 parserData->kounter = 0;
7795}
7796 break;
7797
7798 case 902:
7799
7800 {
7801 if ((yyvsp[(3) - (4)].ival) < 0)
7802 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Number of paths cannot be negative");
7803 else
7804 parserData->paths = new std::string[(yyvsp[(3) - (4)].ival)];
7805 parserData->numberOf = (yyvsp[(3) - (4)].ival);
7806 parserData->kounter = 0;
7807}
7808 break;
7809
7810 case 903:
7811
7812 {
7813 if ((yyvsp[(3) - (4)].ival) < 0)
7814 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Number of job IDs cannot be negative");
7815 else
7816 parserData->processesToKill = new std::string[(yyvsp[(3) - (4)].ival)];
7817 parserData->numberOf = (yyvsp[(3) - (4)].ival);
7818 parserData->kounter = 0;
7819}
7820 break;
7821
7822 case 904:
7823
7824 {
7825 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of solver options cannot be negative");
7827}
7828 break;
7829
7830 case 907:
7831
7832 {
7838 osglData->value,
7842 "set <other> option enumeration failed");
7843
7844 delete[] osglData->osglIntArray;
7845 osglData->osglIntArray = NULL;
7846 osglData->numberOfEl = 0;
7848}
7849 break;
7850
7851 case 908:
7852
7853 {
7856 {
7857 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <enumeration> elements than specified");
7860 }
7861 osglData->numberOfElPresent = false;
7862 osglData->numberOfEl = 0;
7863 osglData->valuePresent = false;
7864 osglData->value = "";
7866 osglData->description = "";
7867}
7868 break;
7869
7870 case 909:
7871
7872 {
7874 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element enumeration requires numberOfEl attribute");
7875 if(!osglData->valuePresent)
7876 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<other> element enumeration requires value attribute");
7877 }
7878 break;
7879
7880 case 912:
7881
7882 {
7883 osglData->osglCounter = 0;
7884// osglData->numberOfElPresent = true;
7885// osglData->numberOfEl = parserData->numberOf;
7886 if (osglData->numberOfEl > 0)
7888 }
7889 break;
7890
7891 case 920:
7892
7893 {parserData->tempVal = (yyvsp[(1) - (1)].ival);}
7894 break;
7895
7896 case 921:
7897
7898 {parserData->tempVal = (yyvsp[(1) - (1)].dval);}
7899 break;
7900
7901 case 930:
7902
7903 {
7904 osglData->fileName = "";
7905 osglData->source = "";
7906 osglData->description = "";
7907 osglData->fileCreator = "";
7908 osglData->licence = "";
7909 osglData->fileNamePresent = false;
7910 osglData->sourcePresent = false;
7913 osglData->licencePresent = false;
7914}
7915 break;
7916
7917 case 943:
7918
7919 {
7920 if (osglData->fileNamePresent == true)
7921 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated header information: file name");
7922 else
7923 osglData->fileNamePresent = true;
7924}
7925 break;
7926
7927 case 948:
7928
7929 {
7930 osglData->fileName = (yyvsp[(2) - (3)].sval);
7931 free((yyvsp[(2) - (3)].sval));
7932}
7933 break;
7934
7935 case 949:
7936
7937 {
7938 if (osglData->sourcePresent == true)
7939 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated header information: source");
7940 else
7941 osglData->sourcePresent = true;
7942}
7943 break;
7944
7945 case 954:
7946
7947 {
7948 osglData->source = (yyvsp[(2) - (3)].sval);
7949 free((yyvsp[(2) - (3)].sval));
7950}
7951 break;
7952
7953 case 955:
7954
7955 {
7956 if (osglData->descriptionPresent == true)
7957 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated header information: description");
7958 else
7960}
7961 break;
7962
7963 case 960:
7964
7965 {
7966 osglData->description = (yyvsp[(2) - (3)].sval);
7967 free((yyvsp[(2) - (3)].sval));
7968}
7969 break;
7970
7971 case 961:
7972
7973 {
7974 if (osglData->fileCreatorPresent == true)
7975 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated header information: file creator");
7976 else
7978}
7979 break;
7980
7981 case 966:
7982
7983 {
7984 osglData->fileCreator = (yyvsp[(2) - (3)].sval);
7985 free((yyvsp[(2) - (3)].sval));
7986}
7987 break;
7988
7989 case 967:
7990
7991 {
7992 if (osglData->licencePresent == true)
7993 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated header information: licence");
7994 else
7995 osglData->licencePresent = true;
7996}
7997 break;
7998
7999 case 972:
8000
8001 {
8002 osglData->licence = (yyvsp[(2) - (3)].sval);
8003 free((yyvsp[(2) - (3)].sval));
8004}
8005 break;
8006
8007 case 973:
8008
8009 {
8011 {
8012 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer data elements than specified");
8014 }
8015 }
8016 break;
8017
8018 case 978:
8019
8020 {
8021 osglData->multPresent = false;
8022 osglData->incrPresent = false;
8023 osglData->mult = 1;
8024 osglData->incr = 0;
8025}
8026 break;
8027
8028 case 984:
8029
8030 {
8032 {
8034 {
8035 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more data elements than specified");
8038 }
8039 }
8040 else
8041 for (int i=0; i<osglData->mult; i++)
8042 osglData->osglIntArray[osglData->osglCounter++] = (yyvsp[(2) - (3)].ival) + i*osglData->incr;
8043}
8044 break;
8045
8046 case 990:
8047
8048 {
8049 char* b64string = (yyvsp[(2) - (3)].sval);
8050 if( b64string == NULL)
8051 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "base 64 data expected");
8052 if (osglData->base64Size != sizeof(int))
8053 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "base 64 encoded with a size of int different than on this machine");
8054
8055 std::string base64decodeddata = Base64::decodeb64( b64string );
8056 int base64decodeddatalength = base64decodeddata.length();
8057 int *intvec = NULL;
8058 if ( osglData->numberOfEl != (base64decodeddatalength/osglData->base64Size) )
8059 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "base 64 data length does not match numberOfEl");
8060 else
8061 {
8062 intvec = (int*)&base64decodeddata[0];
8063 for(int i = 0; i < (base64decodeddatalength/osglData->base64Size); i++)
8064 {
8065 osglData->osglIntArray[i] = *(intvec++);
8066 }
8067 }
8068 //delete[] b64string;
8069 free((yyvsp[(2) - (3)].sval));
8070}
8071 break;
8072
8073 case 992:
8074
8075 {
8076 osglData->numberOfElPresent = false;
8077}
8078 break;
8079
8080 case 999:
8081
8082 {
8083 osglData->numberOfElPresent = false;
8084}
8085 break;
8086
8087 case 1006:
8088
8089 {
8090 osglData->numberOfElPresent = false;
8091}
8092 break;
8093
8094 case 1013:
8095
8096 {
8097 osglData->numberOfElPresent = false;
8098}
8099 break;
8100
8101 case 1020:
8102
8103 {
8104 osglData->numberOfElPresent = false;
8105}
8106 break;
8107
8108 case 1027:
8109
8110 {
8111 osglData->numberOfElPresent = false;
8112}
8113 break;
8114
8115 case 1034:
8116
8117 {
8118 osglData->numberOfElPresent = false;
8119}
8120 break;
8121
8122 case 1040:
8123
8124 {
8125 osglData->osglCounter = 0;
8126 if (osglData->numberOfEl > 0)
8128}
8129 break;
8130
8131 case 1041:
8132
8133 {
8134 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8135 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8137 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfCon attribute previously set");
8138 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <con> cannot be negative");
8140 osglData->numberOfCon = (yyvsp[(3) - (4)].ival);
8141}
8142 break;
8143
8144 case 1042:
8145
8146 {
8147 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8148 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8150 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfConstraints attribute previously set");
8151 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of constraints cannot be negative");
8153 osglData->numberOfConstraints = (yyvsp[(3) - (4)].ival);
8154}
8155 break;
8156
8157 case 1043:
8158
8159 {
8160 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8161 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8163 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfEl attribute previously set");
8164 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <el> cannot be negative");
8165 osglData->numberOfElPresent = true;
8166 osglData->numberOfEl = (yyvsp[(3) - (4)].ival);
8167}
8168 break;
8169
8170 case 1044:
8171
8172 {
8173 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8174 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8176 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfEnumerations attribute previously set");
8177 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <enumerations> cannot be negative");
8179 osglData->numberOfEnumerations = (yyvsp[(3) - (4)].ival);
8180}
8181 break;
8182
8183 case 1045:
8184
8185 {
8186 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8187 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8189 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfItems attribute previously set");
8190 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <items> cannot be negative");
8192 osglData->numberOfItems = (yyvsp[(3) - (4)].ival);
8193}
8194 break;
8195
8196 case 1046:
8197
8198 {
8199 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8200 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8202 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfObj attribute previously set");
8203 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <obj> cannot be negative");
8205 osglData->numberOfObj = (yyvsp[(3) - (4)].ival);
8206}
8207 break;
8208
8209 case 1047:
8210
8211 {
8212 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8213 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8215 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfObjectives attribute previously set");
8216 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of objectives cannot be negative");
8218 osglData->numberOfObjectives = (yyvsp[(3) - (4)].ival);
8219}
8220 break;
8221
8222 case 1048:
8223
8224 {
8225 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8226 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8228 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfVar attribute previously set");
8229 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of <var> cannot be negative");
8231 osglData->numberOfVar = (yyvsp[(3) - (4)].ival);
8232}
8233 break;
8234
8235 case 1049:
8236
8237 {
8238 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8239 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8241 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "numberOfVariables attribute previously set");
8242 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "number of variables cannot be negative");
8244 osglData->numberOfVariables = (yyvsp[(3) - (4)].ival);
8245}
8246 break;
8247
8248 case 1050:
8249
8250 {
8251 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8252 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8254 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "base64Size attribute previously set");
8255 if ((yyvsp[(3) - (4)].ival) < 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "base64Size cannot be negative");
8256 osglData->base64SizePresent = true;
8257 osglData->base64Size = (yyvsp[(3) - (4)].ival);
8258}
8259 break;
8260
8261 case 1051:
8262
8263 {
8264 if (osglData->idxPresent == true)
8265 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one idx attribute");
8266 osglData->idxPresent = true;
8267 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8268 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8269 osglData->idx = (yyvsp[(3) - (4)].ival);
8270 }
8271 break;
8272
8273 case 1052:
8274
8275 {
8276 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8277 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8278 if (osglData->incrPresent)
8279 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one incr attribute allowed");
8280 osglData->incrPresent = true;
8281 osglData->incr = (yyvsp[(3) - (4)].ival);
8282}
8283 break;
8284
8285 case 1053:
8286
8287 {
8288 if ( *(yyvsp[(2) - (4)].sval) != *(yyvsp[(4) - (4)].sval) )
8289 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "start and end quotes are not the same");
8290 if (osglData->multPresent)
8291 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one mult attribute allowed");
8292 if ((yyvsp[(3) - (4)].ival) <= 0) parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "mult must be positive");
8293 osglData->multPresent = true;
8294 osglData->mult = (yyvsp[(3) - (4)].ival);
8295}
8296 break;
8297
8298 case 1056:
8299
8300 {
8301 if (osglData->categoryPresent == true)
8302 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one category attribute");
8303 osglData->categoryPresent = true;
8304}
8305 break;
8306
8307 case 1057:
8308
8309 {
8310 if (osglData->categoryPresent == true)
8311 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one category attribute");
8312 osglData->categoryPresent = true;
8313 osglData->category = (yyvsp[(2) - (3)].sval);
8314 free((yyvsp[(2) - (3)].sval));
8315}
8316 break;
8317
8318 case 1060:
8319
8320 {
8321 if (osglData->conTypePresent == true)
8322 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one conType attribute");
8323 osglData->conTypePresent = true;
8324}
8325 break;
8326
8327 case 1061:
8328
8329 {
8330 if (osglData->conTypePresent == true)
8331 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one conType attribute");
8332 osglData->conTypePresent = true;
8333 osglData->conType = (yyvsp[(2) - (3)].sval);
8334 free((yyvsp[(2) - (3)].sval));
8335}
8336 break;
8337
8338 case 1064:
8339
8340 {
8341 if (osglData->descriptionPresent == true)
8342 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one description attribute");
8344}
8345 break;
8346
8347 case 1065:
8348
8349 {
8350 if (osglData->descriptionPresent == true)
8351 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one description attribute");
8353 osglData->description = (yyvsp[(2) - (3)].sval);
8354 free((yyvsp[(2) - (3)].sval));
8355}
8356 break;
8357
8358 case 1068:
8359
8360 {
8361 if (osglData->enumTypePresent == true)
8362 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one enumType attribute");
8363 osglData->enumTypePresent = true;
8364}
8365 break;
8366
8367 case 1069:
8368
8369 {
8370 if (osglData->enumTypePresent == true)
8371 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one enumType attribute");
8372 osglData->enumTypePresent = true;
8373 osglData->enumType = (yyvsp[(2) - (3)].sval);
8374 free((yyvsp[(2) - (3)].sval));
8375}
8376 break;
8377
8378 case 1072:
8379
8380 {
8381 if (osglData->namePresent == true)
8382 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one name attribute");
8383 osglData->namePresent = true;
8384}
8385 break;
8386
8387 case 1073:
8388
8389 {
8390 if (osglData->namePresent == true)
8391 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one name attribute");
8392 osglData->namePresent = true;
8393 osglData->name = (yyvsp[(2) - (3)].sval);
8394 free((yyvsp[(2) - (3)].sval));
8395}
8396 break;
8397
8398 case 1076:
8399
8400 {
8401 if (osglData->objTypePresent == true)
8402 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one objType attribute");
8403 osglData->objTypePresent = true;
8404}
8405 break;
8406
8407 case 1077:
8408
8409 {
8410 if (osglData->objTypePresent == true)
8411 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one objType attribute");
8412 osglData->objTypePresent = true;
8413 osglData->objType = (yyvsp[(2) - (3)].sval);
8414 free((yyvsp[(2) - (3)].sval));
8415}
8416 break;
8417
8418 case 1080:
8419
8420 {
8421 if (osglData->solverPresent == true)
8422 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one solver attribute");
8423 osglData->solverPresent = true;
8424}
8425 break;
8426
8427 case 1081:
8428
8429 {
8430 if (osglData->solverPresent == true)
8431 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one solver attribute");
8432 osglData->solverPresent = true;
8433 osglData->solver = (yyvsp[(2) - (3)].sval);
8434 free((yyvsp[(2) - (3)].sval));
8435}
8436 break;
8437
8438 case 1084:
8439
8440 {
8441 if (osglData->typePresent == true)
8442 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one type attribute");
8443 osglData->typePresent = true;
8444}
8445 break;
8446
8447 case 1085:
8448
8449 {
8450 if (osglData->typePresent == true)
8451 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one type attribute");
8452 osglData->typePresent = true;
8453 osglData->type = (yyvsp[(2) - (3)].sval);
8454 free((yyvsp[(2) - (3)].sval));
8455}
8456 break;
8457
8458 case 1088:
8459
8460 {
8461 if (osglData->unitPresent == true)
8462 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one unit attribute");
8463 osglData->unitPresent = true;
8464}
8465 break;
8466
8467 case 1089:
8468
8469 {
8470 if (osglData->unitPresent == true)
8471 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one unit attribute");
8472 osglData->unitPresent = true;
8473 osglData->unit = (yyvsp[(2) - (3)].sval);
8474 free((yyvsp[(2) - (3)].sval));
8475}
8476 break;
8477
8478 case 1092:
8479
8480 {
8481 if (osglData->valuePresent == true)
8482 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one value attribute");
8483 osglData->valuePresent = true;
8484 osglData->value = "";
8485}
8486 break;
8487
8488 case 1093:
8489
8490 {
8491 if (osglData->valuePresent == true)
8492 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one value attribute");
8493 osglData->valuePresent = true;
8494 osglData->value = (yyvsp[(2) - (3)].sval);
8495 free((yyvsp[(2) - (3)].sval));
8496}
8497 break;
8498
8499 case 1096:
8500
8501 {
8502 if (osglData->varTypePresent == true)
8503 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one varType attribute");
8504 osglData->varTypePresent = true;
8505}
8506 break;
8507
8508 case 1097:
8509
8510 {
8511 if (osglData->varTypePresent == true)
8512 parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more than one varType attribute");
8513 osglData->varTypePresent = true;
8514 osglData->varType = (yyvsp[(2) - (3)].sval);
8515 free((yyvsp[(2) - (3)].sval));
8516}
8517 break;
8518
8519
8520
8521 default: break;
8522 }
8524
8526 yylen = 0;
8528
8529 *++yyvsp = yyval;
8530 *++yylsp = yyloc;
8531
8532 /* Now `shift' the result of the reduction. Determine what state
8533 that goes to, based on the state we popped back to and the rule
8534 number reduced by. */
8535
8536 yyn = yyr1[yyn];
8537
8539 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8541 else
8543
8544 goto yynewstate;
8545
8546
8547/*------------------------------------.
8548| yyerrlab -- here on detecting error |
8549`------------------------------------*/
8550yyerrlab:
8551 /* If not already recovering from an error, report this error. */
8552 if (!yyerrstatus)
8553 {
8554 ++yynerrs;
8555#if ! YYERROR_VERBOSE
8557#else
8558 {
8559 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
8560 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
8561 {
8562 YYSIZE_T yyalloc = 2 * yysize;
8563 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
8565 if (yymsg != yymsgbuf)
8566 YYSTACK_FREE (yymsg);
8567 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
8568 if (yymsg)
8569 yymsg_alloc = yyalloc;
8570 else
8571 {
8572 yymsg = yymsgbuf;
8573 yymsg_alloc = sizeof yymsgbuf;
8574 }
8575 }
8576
8577 if (0 < yysize && yysize <= yymsg_alloc)
8578 {
8579 (void) yysyntax_error (yymsg, yystate, yychar);
8581 }
8582 else
8583 {
8584 yyerror (&yylloc, osoption, parserData, osglData, osnlData, YY_("syntax error"));
8585 if (yysize != 0)
8586 goto yyexhaustedlab;
8587 }
8588 }
8589#endif
8590 }
8591
8592 yyerror_range[0] = yylloc;
8593
8594 if (yyerrstatus == 3)
8595 {
8596 /* If just tried and failed to reuse lookahead token after an
8597 error, discard it. */
8598
8599 if (yychar <= YYEOF)
8600 {
8601 /* Return failure if at end of input. */
8602 if (yychar == YYEOF)
8603 YYABORT;
8604 }
8605 else
8606 {
8607 yydestruct ("Error: discarding",
8609 yychar = YYEMPTY;
8610 }
8611 }
8612
8613 /* Else will try to reuse lookahead token after shifting the error
8614 token. */
8616
8617
8618/*---------------------------------------------------.
8619| yyerrorlab -- error raised explicitly by YYERROR. |
8620`---------------------------------------------------*/
8621yyerrorlab:
8622
8623 /* Pacify compilers like GCC when the user code never invokes
8624 YYERROR and the label yyerrorlab therefore never appears in user
8625 code. */
8626 if (/*CONSTCOND*/ 0)
8627 goto yyerrorlab;
8628
8629 yyerror_range[0] = yylsp[1-yylen];
8630 /* Do not reclaim the symbols of the rule which action triggered
8631 this YYERROR. */
8632 YYPOPSTACK (yylen);
8633 yylen = 0;
8635 yystate = *yyssp;
8636 goto yyerrlab1;
8637
8638
8639/*-------------------------------------------------------------.
8640| yyerrlab1 -- common code for both syntax error and YYERROR. |
8641`-------------------------------------------------------------*/
8643 yyerrstatus = 3; /* Each real token shifted decrements this. */
8644
8645 for (;;)
8646 {
8647 yyn = yypact[yystate];
8648 if (yyn != YYPACT_NINF)
8649 {
8650 yyn += YYTERROR;
8651 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
8652 {
8653 yyn = yytable[yyn];
8654 if (0 < yyn)
8655 break;
8656 }
8657 }
8658
8659 /* Pop the current state because it cannot handle the error token. */
8660 if (yyssp == yyss)
8661 YYABORT;
8662
8663 yyerror_range[0] = *yylsp;
8664 yydestruct ("Error: popping",
8666 YYPOPSTACK (1);
8667 yystate = *yyssp;
8669 }
8670
8671 *++yyvsp = yylval;
8672
8673 yyerror_range[1] = yylloc;
8674 /* Using YYLLOC is tempting, but would change the location of
8675 the lookahead. YYLOC is available though. */
8677 *++yylsp = yyloc;
8678
8679 /* Shift the error token. */
8681
8682 yystate = yyn;
8683 goto yynewstate;
8684
8685
8686/*-------------------------------------.
8687| yyacceptlab -- YYACCEPT comes here. |
8688`-------------------------------------*/
8689yyacceptlab:
8690 yyresult = 0;
8692
8693/*-----------------------------------.
8694| yyabortlab -- YYABORT comes here. |
8695`-----------------------------------*/
8696yyabortlab:
8697 yyresult = 1;
8698 goto yyreturn;
8699
8700#if !defined(yyoverflow) || YYERROR_VERBOSE
8701/*-------------------------------------------------.
8702| yyexhaustedlab -- memory exhaustion comes here. |
8703`-------------------------------------------------*/
8704yyexhaustedlab:
8706 yyresult = 2;
8707 /* Fall through. */
8708#endif
8709
8711 if (yychar != YYEMPTY)
8712 yydestruct ("Cleanup: discarding lookahead",
8714 /* Do not reclaim the symbols of the rule which action triggered
8715 this YYABORT or YYACCEPT. */
8716 YYPOPSTACK (yylen);
8718 while (yyssp != yyss)
8719 {
8720 yydestruct ("Cleanup: popping",
8722 YYPOPSTACK (1);
8723 }
8724#ifndef yyoverflow
8725 if (yyss != yyssa)
8727#endif
8728#if YYERROR_VERBOSE
8729 if (yymsg != yymsgbuf)
8730 YYSTACK_FREE (yymsg);
8731#endif
8732 /* Make sure YYID is used. */
8733 return YYID (yyresult);
8734}
8735
8736
8737
8738
8739
8740#if 0
8741void addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
8742{
8745 std::ostringstream outStr;
8746 std::string error = errormsg;
8747 error = "OSoL input is either invalid or not well-formed: " + error;
8748 outStr << error << std::endl;
8749 outStr << "Error occurred when reading: " << osolget_text ( scanner ) << std::endl;
8750 outStr << "See line number: " << osolget_lineno( scanner) << std::endl;
8751 error = outStr.str();
8752
8753} //end addErrorMsg
8754#endif
8755
8757{
8758 std::ostringstream outStr;
8759 outStr << "At line number " << osolget_lineno( scanner) << ": ";
8760 outStr << osolget_text ( scanner ) << std::endl;
8761 outStr << errormsg << std::endl;
8762
8763 return outStr.str();
8764} //end addErrorMsg
8765
8767{
8771 throw ErrorClass( errormsg);
8772} //end osolerror
8773
8774void yygetOSOption(const char *parsestring, OSOption *osoption,
8776{
8777 try{
8778 osol_scan_string( parsestring, scanner);
8779 osolset_lineno (1 , scanner );
8780 //
8781 // call the Bison parser
8782 //
8783 if( osolparse( osoption, parserData, osglData, osnlData) != 0) {
8784 //osollex_destroy(scanner);
8785 throw ErrorClass( "Error parsing the OSoL file");
8786 }
8787 }
8788 catch(const ErrorClass& eclass){
8789 throw ErrorClass( eclass.errormsg);
8790 }
8791} //end yygetOSOption
8792
8793
8795/*
8796 int k;
8797 int numOtherVarVec = parserData->otherVarVec.size();
8798
8799 for( k = 0; k < numOtherVarVec; k++){
8800 if( (parserData->otherVarVec[ k] != NULL) && (parserData->otherVarVec[ k]->otherVarText != NULL) )
8801 delete[] parserData->otherVarVec[ k]->otherVarText;
8802 if( (parserData->otherVarVec[ k] != NULL) && (parserData->otherVarVec[ k]->otherVarIndex != NULL) )
8803 delete[] parserData->otherVarVec[ k]->otherVarIndex;
8804
8805 if( parserData->otherVarVec[ k] != NULL) delete parserData->otherVarVec[ k];
8806 }
8807
8808 parserData->otherVarVec.clear();
8809
8810 int numDualVals = parserData->dualVals.size();
8811 for(k = 0; k < numDualVals; k++){
8812 if( parserData->dualVals[ k] != NULL )
8813 delete parserData->dualVals[ k];
8814 }
8815 parserData->dualVals.clear();
8816
8817
8818 int numObjVals = parserData->objVals.size();
8819 for(k = 0; k < numObjVals; k++){
8820 if( parserData->objVals[ k] != NULL )
8821 delete parserData->objVals[ k];
8822 }
8823 parserData->objVals.clear();
8824
8825
8826 int numPrimalVals = parserData->primalVals.size();
8827 for(k = 0; k < numPrimalVals; k++){
8828 if( parserData->primalVals[ k] != NULL )
8829 delete parserData->primalVals[ k];
8830 }
8831 parserData->primalVals.clear();
8832*/
8833}//end osol_empty_vectors
8834
8835
double OSNaN()
returns the value for NaN used in OS
#define yyalloc
static YYPTRDIFF_T yystrlen(const char *yystr)
short yytype_int16
static YYPTRDIFF_T yytnamerr(char *yyres, const char *yystr)
unsigned char yytype_uint8
void * malloc(YYSIZE_T)
static const char *const yytname[]
static char * yystpcpy(char *yydest, const char *yysrc)
unsigned short yytype_uint16
void free(void *)
static int yysyntax_error(YYPTRDIFF_T *yymsg_alloc, char **yymsg, const yypcontext_t *yyctx)
yytokentype
#define UNKNOWNEND
#define VARTYPEATT
#define REQUIREDDIRECTORIESEND
unsigned short int yytype_uint16
#define INPUTDIRECTORIESTOMOVEEND
#define UNITATT
#define MAXEND
#define OSOLATTRIBUTETEXT
#define LNEND
goto yyreduce
#define COSEND
#define EMPTYLBDUALVALUEATT
#define MAXTIMEEND
#define OUTPUTDIRECTORIESTOMOVESTART
#define SOLVERATT
OSgLParserData * osglData
int yystate
#define VALUESTART
#define NUMBEROFVARATT
#define ERFEND
#define FILECREATOREMPTY
#define YYID(n)
#define INDEXEND
#define EMPTYVALUEATT
#define SQUAREEND
#define yylloc
#define NUMBEROFJOBIDSATT
#define YYLEX
#define MINDISKSPACEEND
#define BASICSTART
#define INITIALVARIABLEVALUESEND
#define BASEMATRIXSTARTCOLATT
#define TWOQUOTES
#define MATRIXREFERENCEEND
#define SOSEND
#define OSOLEND
#define PRODUCTEND
void osnl_empty_vectors(OSnLParserData *osnlData)
#define NUMBEROFOTHERCONSTRAINTOPTIONSATT
int yytype
#define NEGATESTART
#define YYMAXDEPTH
#define TRANSFORMATIONEND
#define MATRIXOBJECTIVESSTART
#define SUMEND
#define INITIALDUALVALUESEND
#define EMPTYMATRIXCONTYPEATT
#define SERVICETYPESTART
#define EMPTYUNITATT
#define ELEND
#define NUMBEROFPATHSATT
#define GREATERTHAN
#define IDENTITYMATRIXSTART
int yyresult
#define MATRIXUPPERTRIANGLESTART
#define NAMEATT
#define MATRIXPLUSSTART
#define YYSTACK_FREE
#define TYPEATT
#define VALUESSTART
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define SOLVEROPTIONSSTART
#define UNKNOWNSTART
#define STRINGVALUEDELEMENTSEND
#define ITEMSTART
#define EMPTYCATEGORYATT
#define IDXATT
#define BLOCKSTART
#define MATRIXMINUSSTART
#define MATRIXPROGRAMMINGSTART
#define PROCESSESTOKILLEND
#define BASEMATRIXIDXATT
#define SERVICENAMEEND
#define INITIALBASISSTATUSEND
#define NUMBEROFENUMERATIONSATT
int yyn
#define SERVICEURISTART
#define INSTANCELOCATIONSTART
#define EMPTYOBJTYPEATT
#define NLEND
static void yydestruct(yymsg, yytype, yyvaluep, yylocationp, osoption, parserData, osglData, osnlData) const char *yymsg
OSnLParserData * osnlData
#define NUMBEROFMATRICESATT
#define FILECREATOREND
goto yysetstate
#define NUMBEROFPROCESSESATT
#define OUTPUTDIRECTORIESTOMOVEEND
int osollex_destroy(void *yyscanner)
#define SERVICETYPEEND
#define VALUEATT
#define INSTANCELOCATIONEND
#define MINEND
#define VARSTART
#define NUMBEROFCONSTRAINTSATT
YYSTYPE yyval
#define ITEMEND
#define INTEGERVARIABLEBRANCHINGWEIGHTSSTART
#define LINEARELEMENTSSTART
#define JOBIDEND
#define FILENAMEEND
#define INDEXESEND
#define OBJEND
#define VARREFERENCEELEMENTSSTART
#define FILESTOMAKEEND
#define FILELICENCEEMPTY
#define EMPTYDESCRIPTIONATT
#define GENERALSTART
#define TRANSPORTTYPEATT
#define SIZEOFATT
#define yychar
#define INITIALCONSTRAINTVALUESSTART
#define COLOFFSETEND
int osollex_init(void **ptr_yy_globals)
#define CATEGORYATT
#define OSOLSTART
#define DUMMY
YYSTYPE * yyvaluep
#define MATRIXINVERSEEND
#define STARTVECTOREND
#define SYSTEMEND
#define MATRIXINVERSESTART
#define NUMBEROFCONIDXATT
goto yyerrlab1
#define ITEMSTARTANDEND
#define VARIABLESTART
YYLTYPE yyerror_range[2]
#define DIRECTORIESTODELETEEND
#define MINSTART
#define PLUSEND
#define VARIDXEND
#define GENERALELEMENTSSTART
#define REQUIREDFILESEND
#define YYEOF
#define OBJECTIVESEND
int osollex(YYSTYPE *lvalp, YYLTYPE *llocp, void *scanner)
#define YYABORT
#define FILESOURCEEND
#define NUMBEROFOBJIDXATT
#define MATRIXVARTYPEATT
#define BASEMATRIXSTART
#define NONZEROSEND
#define REQUESTEDSTARTTIMESTART
#define ELSTART
#define MATRIXDIAGONALSTART
#define LOCATIONTYPEATT
#define MATRIXMINUSEND
#define YYSTACK_BYTES(N)
#define EMPTYSYMMETRYATT
#define MATRIXNEGATEEND
#define NUMBEROFEXPR
#define MATRIXTIMESSTART
#define UBVALUEATT
#define ROWMAJORATT
#define REQUESTEDSTARTTIMEEND
#define INITIALOBJECTIVEBOUNDSEND
#define NONZEROSSTART
#define FILESOURCESTART
#define ALLDIFFSTART
#define YYLLOC_DEFAULT(Current, Rhs, N)
void osol_empty_vectors(OSoLParserData *parserData)
#define PROCESSEND
static const yytype_int16 yydefgoto[]
#define DIRECTORIESTOMAKEEND
#define YY_REDUCE_PRINT(Rule)
#define REQUIREDDIRECTORIESSTART
#define ENUMERATIONEND
#define INITIALCONSTRAINTVALUESEND
#define STRINGVALUEDELEMENTSSTART
#define OPTIMIZATIONSTART
#define OBJTYPEATT
#define FILELICENCEEND
#define ATLOWERSTART
struct yy_buffer_state * YY_BUFFER_STATE
#define MINCPUSPEEDEND
#define MATRIXPRODUCTEND
#define MATRIXVARIABLESEND
#define CONREFERENCEELEMENTSEND
#define YYTABLE_NINF
#define BLOCKEND
#define MATRIXTIMESEND
static const yytype_int16 yypact[]
#define YY_LOCATION_PRINT(File, Loc)
#define CONSTRAINTSEND
#define NONLINEAREXPRESSIONSEND
#define MATRIXTRACEEND
OSoLParserData * parserData
#define BLOCKCOLIDXATT
#define MATRIXMERGESTART
#define MATRIXEXPRESSIONSEND
#define COEFATT
#define WEIGHTATT
#define SINEND
#define CONSTANTELEMENTSEND
#define FILEDESCRIPTIONSTART
#define NEGATEEND
#define OUTPUTFILESTOMOVESTART
#define OTHEROPTIONSEND
#define DESCRIPTIONATT
#define EMPTYINCLUDEDIAGONALATT
#define GROUPWEIGHTATT
#define UBDUALVALUEATT
#define MATRIXPRODUCTSTART
yytype_int16 * yyss
#define PATHSTART
#define OBJSTART
#define MULTATT
static const yytype_uint16 yytranslate[]
#define MAXSTART
#define MATRIXOBJSTART
#define VARIABLESSTART
#define FILENAMEEMPTY
#define SQUARESTART
#define MATRIXMERGEEND
#define ERFSTART
#define MATRIXTRACESTART
#define MATRIXPLUSEND
#define EMPTYMATRIXTYPEATT
#define YYPACT_NINF
#define CONSTRAINTSSTART
#define VALUEEND
YYLTYPE * yylsp
#define YYFINAL
void osolset_lineno(int line_number, void *yyscanner)
Set the current line number.
int osolget_lineno(void *yyscanner)
Get the current line number.
#define VARIABLESEND
#define IFSTART
#define BASEMATRIXENDROWATT
#define MATRIXVARSTART
#define MATRIXOBJECTIVESEND
#define INDEXSTART
#define SQRTEND
#define LBDUALVALUEATT
#define TIMESSTART
#define MINDISKSPACESTART
#define SERVICEURIEND
#define GENERALEND
#define INITIALOBJECTIVEVALUESEND
#define MATRIXCONIDXATT
#define FILESTODELETEEND
#define PROCESSESTOKILLSTART
#define PATHPAIREND
#define OTHERSTART
static const yytype_int16 yypgoto[]
#define BLOCKSEND
#define NUMBEROFMATRIXOBJATT
#define ENUMTYPEATT
#define PLUSSTART
#define ATEQUALITYEND
#define FILEDESCRIPTIONEMPTY
#define STARTVECTORSTART
#define MATRIXTRANSPOSESTART
#define EMPTYMATRIXOBJTYPEATT
#define NUMBEROFELATT
OSOption * osoption
#define FILEDESCRIPTIONSTARTANDEND
#define INITIALOBJECTIVEBOUNDSSTART
#define FILESOURCEEMPTY
#define SUPERBASICEND
#define yyparse
YYSTYPE * yyvs
#define yylval
#define YYNTOKENS
#define JOBSTART
#define SYSTEMSTART
#define SERVICENAMESTART
#define NUMBEROFROWSATT
#define SYMMETRYATT
#define INSTANCENAMEEND
#define INITIALVARIABLEVALUESSTRINGEND
#define VARIDXSTART
unsigned char yytype_uint8
#define TRANSFORMATIONSTART
#define YY_STACK_PRINT(Bottom, Top)
#define EXPREND
#define REQUIREDFILESSTART
YYLTYPE * yylocationp
#define MATRIXSTART
#define BASE64END
static const yytype_uint16 yydefact[]
#define CONREFERENCEELEMENTSSTART
#define HEADEREND
#define MATRIXEND
#define YYSIZE_T
#define MATRIXCONSTRAINTSSTART
#define SUPERBASICSTART
#define YYSTACK_ALLOC_MAXIMUM
#define IDATT
YYSTYPE yyvsa[YYINITDEPTH]
#define MATRIXVARIABLESSTART
#define FILEDESCRIPTIONEND
#define yydebug
#define EMPTYWEIGHTATT
#define PISTART
#define NUMBEROFVARIABLESATT
#define CONTYPEATT
#define NLSTART
#define SOLVERTOINVOKESTART
#define NUMBEROFOBJECTIVESATT
#define DEPENDENCIESEND
#define YY_(msgid)
#define MATRIXSCALARTIMESEND
#define DOUBLE
#define HEADERSTART
#define QUOTE
YY_BUFFER_STATE osol_scan_string(const char *yy_str, void *yyscanner)
#define EMPTYBASETRANSPOSEATT
#define EMPTYENUMTYPEATT
#define MATRIXUPPERTRIANGLEEND
#define IFEND
#define MINCPUNUMBEREND
#define MATRIXREFERENCESTART
#define BASICEND
YYSIZE_T yystacksize
#define ELEMENTSSTART
#define MATRIXPROGRAMMINGEND
#define SCALARMULTIPLIERATT
#define INCLUDEDIAGONALATT
#define VALUESEND
#define POWEREND
#define EXPRSTART
char * osolget_text(void *yyscanner)
Get the current token.
#define SOLVEROPTIONSEND
#define MATRIXLOWERTRIANGLEEND
#define SHAPEATT
#define BASE64START
#define MATRIXVARIDXATT
yytype_int16 yyssa[YYINITDEPTH]
#define USERNAMEEND
#define LNSTART
#define INTEGER
#define MATRIXSUBMATRIXATSTART
#define EMPTYNAMEATT
#define INSTANCENAMESTART
#define LINEARELEMENTSEND
#define MATRIXTYPEATT
#define SOSVARIABLEBRANCHINGWEIGHTSEND
#define NUMBEROFMATRIXVARATT
#define ABSEND
#define MATRICESEND
#define FILESTODELETESTART
#define yynerrs
static const yytype_uint16 yyr1[]
#define OPTIMIZATIONEND
#define OTHEREND
goto yybackup
#define MATRIXDETERMINANTEND
void osgl_empty_vectors(OSgLParserData *osglData)
#define MATRIXLOWERTRIANGLESTART
#define CONSTANTATT
#define NUMBEROFOTHEROPTIONSATT
#define EXPSTART
#define MATRIXCONSTRAINTSEND
#define LICENSESTART
#define EMPTYUBVALUEATT
#define EMPTYSOLVERATT
#define CONEND
#define PRODUCTSTART
#define MATRIXCONEND
#define MATRIXDOTTIMESEND
#define NUMBEROFCONATT
#define MAKECOPYATT
#define MINMEMORYSTART
#define FILENAMESTARTANDEND
#define MINUSSTART
#define MATRIXDOTTIMESSTART
#define INPUTDIRECTORIESTOMOVESTART
#define MATRIXOBJTYPEATT
goto yynewstate
#define MATRIXCONSTART
#define BLOCKROWIDXATT
#define MATRIXDIAGONALEND
#define NUMBEROFVALUESATT
#define scanner
static const yytype_uint8 yyr2[]
#define YYACCEPT
#define FILELICENCESTARTANDEND
#define SOSIDXATT
#define NUMBEROFBLOCKSATT
#define BLOCKSSTART
#define SOLVEROPTIONSTART
#define NUMBEROFOTHERVARIABLEOPTIONSATT
#define INITIALBASISSTATUSSTART
#define EMPTYTYPEATT
#define SERVICESTART
static const yytype_uint16 yystos[]
#define YYTRANSLATE(YYX)
#define NUMBEROFSOSATT
#define ISFREESTART
#define EMPTYROWMAJORATT
#define COLOFFSETSTART
#define INTEGERVARIABLEBRANCHINGWEIGHTSEND
#define MATRICESSTART
#define SOLVERTOINVOKEEND
#define MATRIXSUBMATRIXATEND
#define SOSSTART
#define NUMBEROFOBJATT
#define NUMBEROFMATRIXTERMSATT
#define EMPTYCONTYPEATT
#define NUMBEROFOTHEROBJECTIVEOPTIONSATT
#define INITIALDUALVALUESSTART
#define FILESTOMAKESTART
#define LBVALUEATT
#define DIVIDEEND
#define NUMBEROFVARIDXATT
#define DIRECTORIESTOMAKESTART
#define MATRIXTERMSTART
std::string addErrorMsg(YYLTYPE *mytype, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData, std::string errormsg)
#define YYSIZE_MAXIMUM
#define OBJECTIVESSTART
#define SOLVEROPTIONEND
YYSTYPE * yyvsp
#define EMPTYVALUETYPEATT
#define ENUMERATIONSTART
#define COSSTART
#define ITEMEMPTY
#define NONLINEAREXPRESSIONSSTART
#define MATRIXCONTYPEATT
#define EMPTYLBVALUEATT
#define NUMBEROFITEMSATT
#define ATTRIBUTETEXT
yytype_int16 * yyssp
#define INCRATT
#define FROMATT
#define NUMBEROFPATHPAIRSATT
#define LICENSEEND
#define MATRIXOBJIDXATT
#define BASETRANSPOSEATT
#define OSOLSTARTEMPTY
#define ENDOFELEMENT
#define OBJREFERENCEELEMENTSSTART
struct YYLTYPE YYLTYPE
#define INITIALOBJECTIVEVALUESSTART
#define INPUTFILESTOMOVESTART
union YYSTYPE YYSTYPE
#define NUMBERSTART
#define TOATT
#define VARIABLEEND
#define MATRIXVAREND
#define PIEND
#define ISFREEEND
#define SINSTART
#define NUMBEREND
#define INPUTFILESTOMOVEEND
#define MATRIXTOSCALARSTART
#define DEPENDENCIESSTART
#define ATLOWEREND
#define MATRIXDETERMINANTSTART
#define BASEMATRIXENDCOLATT
#define USERNAMESTART
#define EMPTYIDATT
#define ATUPPEREND
#define ALLDIFFEND
#define IDENTITYMATRIXEND
#define MATRIXSCALARTIMESSTART
#define SQRTSTART
#define YYTERROR
#define YYPOPSTACK(N)
#define MATRIXOBJEND
void yygetOSOption(const char *ch, OSOption *m_osoption, OSoLParserData *m_parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
#define TARGETMATRIXFIRSTROWATT
#define VALUETYPEATT
#define ATEQUALITYSTART
#define EEND
#define ATUPPERSTART
#define PROCESSSTART
#define EMPTYMATRIXVARTYPEATT
#define PASSWORDSTART
static const yytype_uint16 yytable[]
#define YYUSE(e)
int yytoken
#define OTHEROPTIONSSTART
#define INITIALVARIABLEVALUESSTART
#define EMPTYUBDUALVALUEATT
#define FILECREATORSTARTANDEND
#define ELEMENTTEXT
YYLTYPE yylsa[YYINITDEPTH]
#define ROWOFFSETEND
#define MINUSEND
short int yytype_int16
#define FILELICENCESTART
#define TARGETMATRIXFIRSTCOLATT
#define FILESOURCESTARTANDEND
#define POWERSTART
int yyerrstatus
#define ABSSTART
#define PASSWORDEND
#define ROWOFFSETSTART
#define MATRIXEXPRESSIONSSTART
#define VAREND
#define MINCPUSPEEDSTART
#define NUMBEROFNONLINEAREXPRESSIONS
#define SOSVARIABLEBRANCHINGWEIGHTSSTART
#define YYEMPTY
#define ELEMENTSEND
#define YYLAST
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define MATRIXTOSCALAREND
YYLTYPE * yyls
#define NUMBEROFSOLVEROPTIONSATT
#define PATHEND
#define YYINITDEPTH
#define SUMSTART
int yylen
#define MINMEMORYEND
#define NUMBEROFCOLUMNSATT
#define INITIALVARIABLEVALUESSTRINGSTART
#define PATHPAIRSTART
#define MATRIXNEGATESTART
#define EMPTYVARTYPEATT
#define OBJREFERENCEELEMENTSEND
#define VARREFERENCEELEMENTSEND
#define DIRECTORIESTODELETESTART
#define FILECREATORSTART
static const yytype_int16 yycheck[]
#define OUTPUTFILESTOMOVEEND
#define YYSTACK_ALLOC
#define TIMESEND
#define CONSTART
#define EMPTYSHAPEATT
#define MATRIXTERMEND
#define BASEMATRIXEND
#define SERVICEEND
#define YYDPRINTF(Args)
#define ITEMTEXT
#define CONTACTSTART
#define CONSTANTELEMENTSSTART
#define MINCPUNUMBERSTART
#define ESTART
#define CONTACTEND
#define INDEXESSTART
YYLTYPE yyloc
#define BASEMATRIXSTARTROWATT
#define MATRIXTRANSPOSEEND
#define FILENAMESTART
void osolset_extra(OSoLParserData *parserData, void *yyscanner)
goto yyreturn
#define GENERALELEMENTSEND
void osolerror(YYLTYPE *mytype, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData, std::string errormsg)
#define EXPEND
#define NUMBEROFMATRIXCONATT
#define yyerror
short int yytype_int8
#define JOBIDSTART
#define MAXTIMESTART
#define JOBEND
#define DIVIDESTART
double os_strtod(const char *s00, char **se)
Definition OSdtoa.cpp:2541
static std::string decodeb64(char *b64bytes)
decode the data in base 64
Definition OSBase64.cpp:87
a data structure to represent an LP basis on both input and output
Definition OSGeneral.h:646
the ConstraintOption class.
Definition OSOption.h:3264
BasisStatus * initialBasisStatus
initial basis status for the slack variables
Definition OSOption.h:3277
used for throwing exceptions.
std::string errormsg
errormsg is the error that is causing the exception to be thrown
The GeneralOption Class.
Definition OSOption.h:285
the JobOption class.
Definition OSOption.h:1065
The Option Class.
Definition OSOption.h:3565
bool setInitConValues(int numberOfCon, int *idx, double *value, std::string *name)
bool setAnotherSOSVariableBranchingWeight(int sosIdx, int nvar, double weight, int *idx, double *value, std::string *name)
bool setDirectoriesToDelete(int numberOfPaths, std::string *paths)
bool setMinMemorySize(std::string unit, std::string description, double value)
Set the minimum memory size required for the current job.
bool setHeader(std::string name, std::string source, std::string description, std::string fileCreator, std::string licence)
A function to populate an instance of the option header element.
bool setMinDiskSpace(std::string unit, std::string description, double value)
Set the minimum disk space required for the current job.
bool setAnOtherSystemOption(std::string name, std::string value, std::string description)
bool setInitVarValues(int numberOfVar, int *idx, double *value, std::string *name)
bool setInitDualValues(int numberOfCon, int *idx, double *lbValue, double *ubValue, std::string *name)
bool setAnOtherJobOption(std::string name, std::string value, std::string description)
bool setInstanceName(std::string instanceName)
Set the instance name.
OptimizationOption * optimization
optimizationOption holds the fifth child of the OSOption specified by the OSoL Schema.
Definition OSOption.h:3596
bool setServiceURI(std::string serviceURI)
Set the serviceURI.
bool setSolverToInvoke(std::string solverToInvoke)
Set the solver to be invoked.
bool setFilesToDelete(int numberOfPaths, std::string *paths)
GeneralOption * general
generalOption holds the first child of the OSOption specified by the OSoL Schema.
Definition OSOption.h:3580
bool setOtherObjectiveOptionAttributes(int iOther, int numberOfObj, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string objType, std::string enumType, std::string description)
Set the attributes for one particular <other> <objective> option.
bool setSolverOptionContent(int iOption, int numberOfItems, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string description, std::string *itemList)
Set the attributes for one particular solver option.
bool setOtherConstraintOptionCon(int otherOptionNumber, int conNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one <con> element associated with an <other> option in the <constraints> element.
bool setInstanceLocation(std::string instanceLocation)
Set the instance location.
bool setNumberOfOtherConstraintOptions(int numberOfOther)
bool setMaxTime(double value, std::string unit)
bool setNumberOfOtherObjectiveOptions(int numberOfOther)
bool setJobID(std::string jobID)
Set the job ID.
bool setContact(std::string contact)
Set the contact information.
bool setAnOtherGeneralOption(std::string name, std::string value, std::string description)
Add another general option to the <other> option array.
bool setRequiredFiles(int numberOfPaths, std::string *paths)
bool setNumberOfSolverOptions(int numberOfOptions)
bool setInitObjBounds(int numberOfObj, int *idx, double *lbValue, double *ubValue, std::string *name)
bool setOtherVariableOptionVar(int otherOptionNumber, int varNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one element associated with an <other> option in the <variables> element.
bool setInitObjValues(int numberOfObj, int *idx, double *value, std::string *name)
bool setAnOtherServiceOption(std::string name, std::string value, std::string description)
bool setNumberOfObjectives(int numberOfObjectives)
bool setInitBasisStatus(int object, int status, int *i, int ni)
bool setDirectoriesToMake(int numberOfPaths, std::string *paths)
bool setUserName(std::string userName)
Set the username.
bool setFilesToMake(int numberOfPaths, std::string *paths)
bool setNumberOfVariables(int numberOfVariables)
ServiceOption * service
serviceOption holds the third child of the OSOption specified by the OSoL Schema.
Definition OSOption.h:3588
bool setOtherOptionOrResultEnumeration(int object, int otherOptionNumber, int enumerationNumber, int numberOfEl, std::string value, std::string description, int *idxArray)
Set one enumeration associated with an <other> option in the <variables>, <objectives> or <constraint...
SystemOption * system
systemOption holds the second child of the OSOption specified by the OSoL Schema.
Definition OSOption.h:3584
bool setOtherObjectiveOptionObj(int otherOptionNumber, int objNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one <obj> element associated with an <other> option in the <objectives> element.
bool setMinCPUSpeed(std::string unit, std::string description, double value)
Set the minimum CPU speed required for the current job.
bool setMinCPUNumber(int number, std::string description)
Set the minimum number of CPU cores required for the current job.
bool setRequiredDirectories(int numberOfPaths, std::string *paths)
bool setProcessesToKill(int numberOfProcesses, std::string *processes)
bool setServiceName(std::string serviceName)
Set the service name.
bool setPassword(std::string password)
Set the password.
bool setInitVarValuesString(int numberOfVar, int *idx, std::string *value, std::string *name)
bool setOtherVariableOptionAttributes(int iOther, int numberOfVar, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string varType, std::string enumType, std::string description)
Set the attributes for one particular <other> <variable> option.
bool setNumberOfOtherVariableOptions(int numberOfOther)
bool setIntegerVariableBranchingWeights(int numberOfVar, int *idx, double *value, std::string *name)
bool setRequestedStartTime(std::string time)
bool setPathPairs(int object, std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs)
setPathPairs set a number of path pairs into the OSOption object
bool setServiceType(std::string serviceType)
set() options in the <service> element
bool setLicense(std::string license)
Set the license information.
JobOption * job
jobOption holds the fourth child of the OSOption specified by the OSoL Schema.
Definition OSOption.h:3592
bool setOtherConstraintOptionAttributes(int iOther, int numberOfCon, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string conType, std::string enumType, std::string description)
Set the attributes for one particular <other> <constraint> option.
bool setNumberOfConstraints(int numberOfConstraints)
bool setJobDependencies(int numberOfDependencies, std::string *jobDependencies)
The OSgLParserData Class.
std::string fileCreator
int * osglIntArray
data structure to process an IntVector and hold the data temporarily
bool numberOfObjectivesPresent
std::string licence
std::string conType
std::string value
std::string fileName
data structure to process a GeneralFileHeader and hold the data temporarily
std::string solver
bool numberOfConstraintsPresent
std::string name
std::string type
std::string objType
std::string description
std::string varType
bool numberOfVariablesPresent
std::string category
bool numberOfEnumerationsPresent
std::string unit
std::string source
std::string enumType
The OSnLParserData Class.
The OSoLParserData Class.
std::string pathPairFrom
bool outputDirectoriesToMovePresent
bool directoriesToMakePresent
bool otherGeneralOptionsPresent
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
std::string * valueString
std::string * toPaths
int tempInt
some temporary items to facilitate code sharing
bool inputDirectoriesToMovePresent
bool serviceURIPresent
children of the <general> element
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid
std::string * namArray
bool otherServiceOptionsPresent
std::string * itemList
std::string ubValueAttribute
bool requiredDirectoriesPresent
std::string lbValueAttribute
bool directoriesToDeletePresent
bool serviceTypePresent
children of the <service> element
std::string itemContent
bool instanceLocationPresent
bool requestedStartTimePresent
int numberOfOtherVariableOptions
bool outputFilesToMovePresent
std::string pathPairTo
std::string typeAttribute
std::string tempStr
int numberOfOtherObjectiveOptions
bool suppressFurtherErrorMessages
bool otherSystemOptionsPresent
std::string * fromPaths
std::string * jobDependencies
all arrays are collected here
bool groupWeightAttributePresent
std::string * paths
int numberOfOtherConstraintOptions
bool minDiskSpacePresent
children of the <system> element
std::string * processesToKill
bool maxTimePresent
children of the <job> element
the ObjectiveOption class.
Definition OSOption.h:2682
BasisStatus * initialBasisStatus
initial basis status for the objectives
Definition OSOption.h:2695
the OptimizationOption class.
Definition OSOption.h:3496
VariableOption * variables
the options for the variables
Definition OSOption.h:3509
int numberOfConstraints
the number of constraints
Definition OSOption.h:3506
ObjectiveOption * objectives
the options for the objectives
Definition OSOption.h:3512
ConstraintOption * constraints
the options for the constraints
Definition OSOption.h:3515
int numberOfObjectives
the number of objectives
Definition OSOption.h:3503
int numberOfVariables
the number of variables
Definition OSOption.h:3500
the ServiceOption class.
Definition OSOption.h:611
the SystemOption class.
Definition OSOption.h:546
the VariableOption class.
Definition OSOption.h:2097
BasisStatus * initialBasisStatus
initial basis information
Definition OSOption.h:2110
bool verifyTransportType(std::string type)
bool verifyLocationType(std::string type)
@ ENUM_PATHPAIR_output_dir
@ ENUM_PATHPAIR_input_dir
@ ENUM_PATHPAIR_output_file
@ ENUM_PATHPAIR_input_file
@ ENUM_BASIS_STATUS_isFree
@ ENUM_BASIS_STATUS_unknown
@ ENUM_BASIS_STATUS_basic
@ ENUM_BASIS_STATUS_atLower
@ ENUM_BASIS_STATUS_atEquality
@ ENUM_BASIS_STATUS_superbasic
@ ENUM_BASIS_STATUS_atUpper
@ ENUM_PROBLEM_COMPONENT_objectives
@ ENUM_PROBLEM_COMPONENT_constraints
@ ENUM_PROBLEM_COMPONENT_variables
yytype_int16 yyss_alloc
YYLTYPE yyls_alloc
YYSTYPE yyvs_alloc
#define OSDBL_MAX
short int yytype_int16