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 
106 YY_BUFFER_STATE osol_scan_string (const char *yy_str , void* yyscanner );
107 int osollex_init(void** ptr_yy_globals);
108 int osollex_destroy (void* yyscanner );
109 int osolget_lineno( void* yyscanner);
110 char *osolget_text (void* yyscanner );
111 void osolset_lineno (int line_number , void* yyscanner );
112 void osolset_extra (OSoLParserData* parserData , void* yyscanner );
113 void yygetOSOption(const char *ch, OSOption* m_osoption, OSoLParserData *m_parserData, OSgLParserData *osglData, OSnLParserData *osnlData ) throw(ErrorClass);
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. */
146  enum yytokentype {
148  ELEMENTTEXT = 259,
149  ITEMTEXT = 260,
150  INTEGER = 261,
151  DOUBLE = 262,
152  QUOTE = 263,
153  TWOQUOTES = 264,
154  GREATERTHAN = 265,
156  OSOLSTART = 267,
159  OSOLEND = 270,
162  LBVALUEATT = 273,
163  UBVALUEATT = 274,
168  WEIGHTATT = 279,
172  FROMATT = 283,
173  TOATT = 284,
174  MAKECOPYATT = 285,
185  SOSIDXATT = 296,
192  LICENSEEND = 303,
194  USERNAMEEND = 305,
196  PASSWORDEND = 307,
198  CONTACTEND = 309,
210  MAXTIMEEND = 321,
215  PATHSTART = 326,
216  PATHEND = 327,
218  PATHPAIREND = 329,
242  PROCESSEND = 353,
253  SOSSTART = 364,
254  SOSEND = 365,
269  HEADERSTART = 380,
270  HEADEREND = 381,
272  FILENAMEEND = 383,
292  INDEXESEND = 403,
293  VALUESSTART = 404,
294  VALUESEND = 405,
296  NONZEROSEND = 407,
297  ELSTART = 408,
298  ELEND = 409,
301  ITEMEMPTY = 412,
302  ITEMSTART = 413,
303  ITEMEND = 414,
305  BASE64START = 416,
306  BASE64END = 417,
311  CATEGORYATT = 422,
315  SOLVERATT = 426,
317  NAMEATT = 428,
319  TYPEATT = 430,
321  ENUMTYPEATT = 432,
323  SHAPEATT = 434,
325  UNITATT = 436,
327  VALUEATT = 438,
331  CONTYPEATT = 442,
333  OBJTYPEATT = 444,
335  VARTYPEATT = 446,
345  SYMMETRYATT = 456,
347  ROWMAJORATT = 458,
380  IDXATT = 491,
381  INCRATT = 492,
382  MULTATT = 493,
383  SIZEOFATT = 494,
384  COEFATT = 495,
385  CONSTANTATT = 496,
387  MATRICESEND = 498,
388  MATRIXSTART = 499,
389  MATRIXEND = 500,
392  BLOCKSSTART = 503,
393  BLOCKSEND = 504,
394  BLOCKSTART = 505,
395  BLOCKEND = 506,
401  ELEMENTSEND = 512,
418  INDEXSTART = 529,
419  INDEXEND = 530,
420  VALUESTART = 531,
421  VALUEEND = 532,
422  VARIDXSTART = 533,
423  VARIDXEND = 534,
440  CONSTART = 551,
441  CONEND = 552,
444  OBJSTART = 555,
445  OBJEND = 556,
448  VARSTART = 559,
449  VAREND = 560,
453  GENERALEND = 564,
454  SYSTEMSTART = 565,
455  SYSTEMEND = 566,
457  SERVICEEND = 568,
458  JOBSTART = 569,
459  JOBEND = 570,
465  ATLOWEREND = 576,
467  ATUPPEREND = 578,
468  BASICSTART = 579,
469  BASICEND = 580,
470  ISFREESTART = 581,
471  ISFREEEND = 582,
475  UNKNOWNEND = 586,
482  JOBIDSTART = 593,
483  JOBIDEND = 594,
484  OTHERSTART = 595,
485  OTHEREND = 596,
486  DUMMY = 597,
490  NLSTART = 601,
491  NLEND = 602,
495  EXPRSTART = 606,
496  EXPREND = 607,
500  POWERSTART = 611,
501  POWEREND = 612,
502  PLUSSTART = 613,
503  PLUSEND = 614,
504  MINUSSTART = 615,
505  MINUSEND = 616,
506  DIVIDESTART = 617,
507  DIVIDEEND = 618,
508  LNSTART = 619,
509  LNEND = 620,
510  SQRTSTART = 621,
511  SQRTEND = 622,
512  SUMSTART = 623,
513  SUMEND = 624,
515  PRODUCTEND = 626,
516  EXPSTART = 627,
517  EXPEND = 628,
518  NEGATESTART = 629,
519  NEGATEEND = 630,
520  IFSTART = 631,
521  IFEND = 632,
522  SQUARESTART = 633,
523  SQUAREEND = 634,
524  COSSTART = 635,
525  COSEND = 636,
526  SINSTART = 637,
527  SINEND = 638,
529  VARIABLEEND = 640,
530  ABSSTART = 641,
531  ABSEND = 642,
532  ERFSTART = 643,
533  ERFEND = 644,
534  MAXSTART = 645,
535  MAXEND = 646,
537  ALLDIFFEND = 648,
538  MINSTART = 649,
539  MINEND = 650,
540  ESTART = 651,
541  EEND = 652,
542  PISTART = 653,
543  PIEND = 654,
544  TIMESSTART = 655,
545  TIMESEND = 656,
546  NUMBERSTART = 657,
547  NUMBEREND = 658,
588  EMPTYIDATT = 699,
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
1041 typedef union YYSTYPE
1042 {
1043 
1044 
1045  double dval;
1046  int ival;
1047  char* sval;
1048 
1049 
1050 
1051 } YYSTYPE;
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
1058 typedef struct YYLTYPE
1059 {
1060  int first_line;
1061  int first_column;
1062  int last_line;
1063  int last_column;
1064 } YYLTYPE;
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 
1075 std::string addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, OSnLParserData* osnlData, std::string errormsg ) ;
1077 int 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
1087 typedef YYTYPE_UINT8 yytype_uint8;
1088 #else
1089 typedef unsigned char yytype_uint8;
1090 #endif
1091 
1092 #ifdef YYTYPE_INT8
1093 typedef YYTYPE_INT8 yytype_int8;
1094 #elif (defined __STDC__ || defined __C99__FUNC__ \
1095  || defined __cplusplus || defined _MSC_VER)
1096 typedef signed char yytype_int8;
1097 #else
1098 typedef short int yytype_int8;
1099 #endif
1100 
1101 #ifdef YYTYPE_UINT16
1102 typedef YYTYPE_UINT16 yytype_uint16;
1103 #else
1104 typedef unsigned short int yytype_uint16;
1105 #endif
1106 
1107 #ifdef YYTYPE_INT16
1108 typedef YYTYPE_INT16 yytype_int16;
1109 #else
1110 typedef 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)
1154 static int
1155 YYID (int yyi)
1156 #else
1157 static int
1158 YYID (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)
1222 void *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)
1229 void 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. */
1242 union yyalloc
1243 {
1244  yytype_int16 yyss_alloc;
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. */
1316 static const yytype_uint16 yytranslate[] =
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. */
1394 static 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. */
1509 static 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. */
1785 static 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. */
1903 static 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. */
2307 static 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. */
2358 static 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. */
2473 static 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. */
2590 static 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]. */
2746 static 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
2825 static 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]. */
2981 static 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
3062 static 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 
3183 static 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. */
3306 static 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) \
3480 do \
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  } \
3494 while (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) \
3560 do { \
3561  if (yydebug) \
3562  YYFPRINTF Args; \
3563 } while (YYID (0))
3564 
3565 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3566 do { \
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)
3584 static void
3585 yy_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
3587 static void
3588 yy_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;
3593  OSOption *osoption;
3594  OSoLParserData *parserData;
3595  OSgLParserData *osglData;
3596  OSnLParserData *osnlData;
3597 #endif
3598 {
3599  if (!yyvaluep)
3600  return;
3601  YYUSE (yylocationp);
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)
3626 static void
3627 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
3628 #else
3629 static void
3630 yy_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;
3635  OSOption *osoption;
3636  OSoLParserData *parserData;
3637  OSgLParserData *osglData;
3638  OSnLParserData *osnlData;
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)
3659 static void
3660 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3661 #else
3662 static void
3663 yy_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) \
3678 do { \
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)
3690 static void
3691 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
3692 #else
3693 static void
3694 yy_reduce_print (yyvsp, yylsp, yyrule, osoption, parserData, osglData, osnlData)
3695  YYSTYPE *yyvsp;
3696  YYLTYPE *yylsp;
3697  int yyrule;
3698  OSOption *osoption;
3699  OSoLParserData *parserData;
3700  OSgLParserData *osglData;
3701  OSnLParserData *osnlData;
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) \
3721 do { \
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. */
3728 int 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)
3764 static YYSIZE_T
3765 yystrlen (const char *yystr)
3766 #else
3767 static YYSIZE_T
3768 yystrlen (yystr)
3769  const char *yystr;
3770 #endif
3771 {
3772  YYSIZE_T yylen;
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)
3788 static char *
3789 yystpcpy (char *yydest, const char *yysrc)
3790 #else
3791 static char *
3792 yystpcpy (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. */
3816 static YYSIZE_T
3817 yytnamerr (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. */
3863 static YYSIZE_T
3864 yysyntax_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)
3973 static void
3974 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
3975 #else
3976 static void
3977 yydestruct (yymsg, yytype, yyvaluep, yylocationp, osoption, parserData, osglData, osnlData)
3978  const char *yymsg;
3979  int yytype;
3980  YYSTYPE *yyvaluep;
3981  YYLTYPE *yylocationp;
3982  OSOption *osoption;
3983  OSoLParserData *parserData;
3984  OSgLParserData *osglData;
3985  OSnLParserData *osnlData;
3986 #endif
3987 {
3988  YYUSE (yyvaluep);
3989  YYUSE (yylocationp);
3990  YYUSE (osoption);
3991  YYUSE (parserData);
3992  YYUSE (osglData);
3993  YYUSE (osnlData);
3994 
3995  if (!yymsg)
3996  yymsg = "Deleting";
3997  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
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
4010 int yyparse (void *YYPARSE_PARAM);
4011 #else
4012 int yyparse ();
4013 #endif
4014 #else /* ! YYPARSE_PARAM */
4015 #if defined __STDC__ || defined __cplusplus
4016 int yyparse (OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData);
4017 #else
4018 int 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)
4033 int
4034 yyparse (void *YYPARSE_PARAM)
4035 #else
4036 int
4037 yyparse (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)
4043 int
4044 yyparse (OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
4045 #else
4046 int
4047 yyparse (osoption, parserData, osglData, osnlData)
4048  OSOption *osoption;
4049  OSoLParserData *parserData;
4050  OSgLParserData *osglData;
4051  OSnLParserData *osnlData;
4052 #endif
4053 #endif
4055 /* The lookahead symbol. */
4056 int yychar;
4057 
4058 /* The semantic value of the lookahead symbol. */
4059 YYSTYPE yylval;
4060 
4061 /* Location data for the lookahead symbol. */
4063 
4064  /* Number of syntax errors so far. */
4065  int yynerrs;
4066 
4067  int yystate;
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. */
4080  yytype_int16 yyssa[YYINITDEPTH];
4081  yytype_int16 *yyss;
4082  yytype_int16 *yyssp;
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. */
4102  int yytoken;
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;
4125  yystacksize = YYINITDEPTH;
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 `------------------------------------------------------------*/
4153  yynewstate:
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 
4158  yysetstate:
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)
4198  yystacksize = YYMAXDEPTH;
4199 
4200  {
4201  yytype_int16 *yyss1 = yyss;
4202  union yyalloc *yyptr =
4203  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
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 
4229  if (yystate == YYFINAL)
4231 
4232  goto yybackup;
4233 
4234 /*-----------.
4235 | yybackup. |
4236 `-----------*/
4237 yybackup:
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];
4244  if (yyn == YYPACT_NINF)
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. */
4250  if (yychar == YYEMPTY)
4251  {
4252  YYDPRINTF ((stderr, "Reading a token: "));
4253  yychar = YYLEX;
4254  }
4255 
4256  if (yychar <= YYEOF)
4257  {
4258  yychar = yytoken = YYEOF;
4259  YYDPRINTF ((stderr, "Now at end of input.\n"));
4260  }
4261  else
4262  {
4263  yytoken = YYTRANSLATE (yychar);
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. */
4287  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
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 `-----------------------------------------------------------*/
4301 yydefault:
4302  yyn = yydefact[yystate];
4303  if (yyn == 0)
4304  goto yyerrlab;
4305  goto yyreduce;
4306 
4307 
4308 /*-----------------------------.
4309 | yyreduce -- Do a reduction. |
4310 `-----------------------------*/
4311 yyreduce:
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. */
4326  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
4327  YY_REDUCE_PRINT (yyn);
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
4345  parserData->parser_errors = "";
4346  parserData->suppressFurtherErrorMessages = false;
4347  parserData->ignoreDataAfterErrors = false;
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");
4357  osolerror( NULL, osoption, parserData, osglData, osnlData, parserData->parser_errors);
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  {
4370  if (!osoption->setHeader(osglData->fileName, osglData->source,
4371  osglData->description, osglData->fileCreator, osglData->licence) )
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;
4380  parserData->serviceNamePresent = false;
4381  parserData->instanceNamePresent = false;
4382  parserData->instanceLocationPresent = false;
4383  parserData->jobIDPresent = false;
4384  parserData->solverToInvokePresent = false;
4385  parserData->licensePresent = false;
4386  parserData->usernamePresent = false;
4387  parserData->passwordPresent = false;
4388  parserData->contactPresent = false;
4389  parserData->otherGeneralOptionsPresent = false;
4390  osoption->general = new GeneralOption();
4391 }
4392  break;
4393 
4394  case 41:
4395 
4396  {
4397  if (parserData->serviceURIPresent)
4398  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <serviceURI>");
4399  else
4400  parserData->serviceURIPresent = true;
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  {
4418  if (parserData->serviceNamePresent)
4419  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <serviceName>");
4420  parserData->serviceNamePresent = true;
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 
4436  { if (parserData->instanceNamePresent)
4437  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <instanceName>");
4438  parserData->instanceNamePresent = true;
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  {
4455  if (osoption->setInstanceLocation(parserData->tempStr,parserData->typeAttribute) == false)
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  {
4464  if (parserData->instanceLocationPresent)
4465  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <instanceLocation>");
4466  parserData->instanceLocationPresent = true;
4467  parserData->typeAttribute = "local";
4468  }
4469  break;
4470 
4471  case 67:
4472 
4473  {
4474  if (verifyLocationType(parserData->typeAttribute) == false)
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  {
4517  if (parserData->solverToInvokePresent)
4518  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <solverToInvoke>");
4519  parserData->solverToInvokePresent = true;
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  {
4536  if (parserData->licensePresent)
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 
4554  { if (parserData->usernamePresent)
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 
4572  { if (parserData->passwordPresent)
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  {
4591  if (osoption->setContact(parserData->tempStr,parserData->typeAttribute) == false)
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  {
4600  if (parserData->contactPresent)
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  {
4611  if (verifyTransportType(parserData->typeAttribute) == false)
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  {
4635  parserData->suppressFurtherErrorMessages = false;
4636  parserData->ignoreDataAfterErrors = false;
4637  }
4638  break;
4639 
4640  case 127:
4641 
4642  {
4643  if (parserData->otherGeneralOptionsPresent)
4644  {
4645  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <general> <otherOptions>");
4646  parserData->ignoreDataAfterErrors = true;
4647  }
4648  parserData->otherGeneralOptionsPresent = true;
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");
4656  parserData->numberOf = parserData->tempInt;
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  {
4672  if (parserData->kounter < parserData->numberOf - 1)
4673  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <other> elements than specified");
4674  }
4675  break;
4676 
4677  case 137:
4678 
4679  {
4680  parserData->kounter++;
4681  if (!parserData->ignoreDataAfterErrors)
4682  if (osoption->setAnOtherGeneralOption(osglData->name, osglData->value,
4683  osglData->description) == false)
4684  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
4685  "setOtherGeneralOption failed");
4686  }
4687  break;
4688 
4689  case 138:
4690 
4691  {
4692  if (parserData->kounter >= parserData->numberOf)
4693  {
4694  if (!parserData->suppressFurtherErrorMessages)
4695  {
4696  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <other> elements than specified");
4697  parserData->suppressFurtherErrorMessages = true;
4698  parserData->ignoreDataAfterErrors = true;
4699  }
4700  }
4701  osglData->namePresent = false;
4702  osglData->valuePresent = false;
4703  osglData->descriptionPresent = 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  {
4728  parserData->minDiskSpacePresent = false;
4729  parserData->minMemoryPresent = false;
4730  parserData->minCPUSpeedPresent = false;
4731  parserData->minCPUNumberPresent = false;
4732  parserData->otherSystemOptionsPresent = false;
4733  osoption->system = new SystemOption();
4734 }
4735  break;
4736 
4737  case 164:
4738 
4739  { if (parserData->minDiskSpacePresent)
4740  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minDiskSpace element allowed");
4741  parserData->minDiskSpacePresent = true;
4742  osglData->unitPresent = false;
4743  osglData->descriptionPresent = false;
4744  osglData->unit = "byte";
4745  osglData->description = "";
4746  }
4747  break;
4748 
4749  case 171:
4750 
4751  {
4752  if (osoption->setMinDiskSpace(osglData->unit, osglData->description, parserData->tempVal) == false)
4753  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setMinDiskSpace failed");
4754  parserData->errorText = NULL;
4755 }
4756  break;
4757 
4758  case 173:
4759 
4760  { if (parserData->minMemoryPresent)
4761  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minMemory element allowed");
4762  parserData->minMemoryPresent = true;
4763  osglData->unitPresent = false;
4764  osglData->descriptionPresent = false;
4765  osglData->unit = "byte";
4766  osglData->description = "";
4767  }
4768  break;
4769 
4770  case 180:
4771 
4772  {
4773  if (osoption->setMinMemorySize(osglData->unit, osglData->description, parserData->tempVal) == false)
4774  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setMinMemorySize failed");
4775  parserData->errorText = NULL;
4776 }
4777  break;
4778 
4779  case 182:
4780 
4781  { if (parserData->minCPUSpeedPresent)
4782  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one minCPUSpeed element allowed");
4783  parserData->minCPUSpeedPresent = true;
4784  osglData->unitPresent = false;
4785  osglData->descriptionPresent = false;
4786  osglData->unit = "hertz";
4787  osglData->description = "";
4788  }
4789  break;
4790 
4791  case 189:
4792 
4793  {
4794  if (osoption->setMinCPUSpeed(osglData->unit, osglData->description, parserData->tempVal) == false)
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  {
4803  if (parserData->minCPUNumberPresent)
4804  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
4805  "only one minCPUNumber element allowed");
4806  parserData->minCPUNumberPresent = true;
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)
4816  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
4817  "setMinCPUNumber failed");
4818  parserData->errorText = NULL;
4819 }
4820  break;
4821 
4822  case 196:
4823 
4824  {
4825  parserData->suppressFurtherErrorMessages = false;
4826  parserData->ignoreDataAfterErrors = false;
4827  }
4828  break;
4829 
4830  case 197:
4831 
4832  {
4833  if (parserData->otherSystemOptionsPresent)
4834  {
4835  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <system> <otherOptions>");
4836  parserData->ignoreDataAfterErrors = true;
4837  }
4838  parserData->otherSystemOptionsPresent = true;
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");
4846  parserData->numberOf = parserData->tempInt;
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  {
4868  parserData->kounter++;
4869  if (!parserData->ignoreDataAfterErrors)
4870  if (osoption->setAnOtherSystemOption(osglData->name, osglData->value, osglData->description) == false)
4871  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setOtherSystemOption failed");
4872  }
4873  break;
4874 
4875  case 210:
4876 
4877  {
4878  parserData->serviceTypePresent = false;
4879  parserData->otherServiceOptionsPresent = false;
4880  osoption->service = new ServiceOption();
4881 }
4882  break;
4883 
4884  case 222:
4885 
4886  { if (parserData->serviceTypePresent)
4887  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one currentState element allowed");
4888  parserData->serviceTypePresent = true;
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  {
4906  parserData->suppressFurtherErrorMessages = false;
4907  parserData->ignoreDataAfterErrors = false;
4908  }
4909  break;
4910 
4911  case 230:
4912 
4913  {
4914  if (parserData->otherServiceOptionsPresent)
4915  {
4916  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <service> <otherOptions>");
4917  parserData->ignoreDataAfterErrors = true;
4918  }
4919  parserData->otherServiceOptionsPresent = true;
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");
4927  parserData->numberOf = parserData->tempInt;
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  {
4949  parserData->kounter++;
4950  if (!parserData->ignoreDataAfterErrors)
4951  if (osoption->setAnOtherServiceOption(osglData->name, osglData->value, osglData->description) == false)
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;
4960  parserData->requestedStartTimePresent = false;
4961  parserData->dependenciesPresent = false;
4962  parserData->requiredDirectoriesPresent = false;
4963  parserData->requiredFilesPresent = false;
4964  parserData->directoriesToMakePresent = false;
4965  parserData->filesToMakePresent = false;
4966  parserData->inputDirectoriesToMovePresent = false;
4967  parserData->inputFilesToMovePresent = false;
4968  parserData->outputDirectoriesToMovePresent = false;
4969  parserData->outputFilesToMovePresent = false;
4970  parserData->filesToDeletePresent = false;
4971  parserData->directoriesToDeletePresent = false;
4972  parserData->processesToKillPresent = false;
4973  parserData->otherJobOptionsPresent = false;
4974  osoption->job = new JobOption();
4975  }
4976  break;
4977 
4978  case 267:
4979 
4980  {
4981  if (osoption->setMaxTime(parserData->maxTimeValue, osglData->unit) == false)
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  {
4989  if (parserData->maxTimePresent)
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;
4994  parserData->maxTimeValue = OSDBL_MAX;
4995 }
4996  break;
4997 
4998  case 277:
4999 
5000  {
5001  parserData->maxTimeValue = parserData->tempVal;
5002 }
5003  break;
5004 
5005  case 279:
5006 
5007  { if (parserData->requestedStartTimePresent)
5008  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one requestedStartTime element allowed");
5009  parserData->requestedStartTimePresent = true;
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  {
5026  if (!parserData->ignoreDataAfterErrors)
5027  if (osoption->setJobDependencies(parserData->numberOf, parserData->jobDependencies) == false)
5028  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <job> <dependencies> failed");
5029  delete[] parserData->jobDependencies;
5030  parserData->jobDependencies = NULL;
5031  parserData->suppressFurtherErrorMessages = false;
5032  parserData->ignoreDataAfterErrors = false;
5033 }
5034  break;
5035 
5036  case 287:
5037 
5038  {
5039  if (parserData->dependenciesPresent)
5040  {
5041  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <dependencies> element allowed");
5042  parserData->ignoreDataAfterErrors = true;
5043  }
5044  parserData->dependenciesPresent = true;
5045 }
5046  break;
5047 
5048  case 293:
5049 
5050  {
5051  if (parserData->kounter < parserData->numberOf)
5052  {
5053  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few job IDs in <dependencies> element");
5054  parserData->ignoreDataAfterErrors = true;
5055  }
5056 }
5057  break;
5058 
5059  case 296:
5060 
5061  {
5062  if (parserData->kounter >= parserData->numberOf)
5063  {
5064  if (!parserData->suppressFurtherErrorMessages)
5065  {
5066  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many job IDs in <dependencies> element");
5067  parserData->suppressFurtherErrorMessages = true;
5068  parserData->ignoreDataAfterErrors = true;
5069  }
5070  }
5071  else
5072  {
5073  parserData->jobDependencies[parserData->kounter] = (yyvsp[(3) - (4)].sval);
5074  parserData->kounter++;
5075  }
5076  free((yyvsp[(3) - (4)].sval));
5077 }
5078  break;
5079 
5080  case 297:
5081 
5082  {
5083  if (!parserData->ignoreDataAfterErrors)
5084  if (osoption->setRequiredDirectories(parserData->numberOf,parserData->paths) == false)
5085  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <requiredDirectories> failed");
5086  delete[] parserData->paths;
5087  parserData->paths = NULL;
5088  parserData->suppressFurtherErrorMessages = false;
5089  parserData->ignoreDataAfterErrors = false;
5090 }
5091  break;
5092 
5093  case 298:
5094 
5095  {
5096  if (parserData->requiredDirectoriesPresent)
5097  {
5098  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <requiredDirectories> element allowed");
5099  parserData->ignoreDataAfterErrors = true;
5100  }
5101  parserData->requiredDirectoriesPresent = true;
5102 }
5103  break;
5104 
5105  case 303:
5106 
5107  {
5108  if (parserData->kounter < parserData->numberOf)
5109  {
5110  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <requiredDirectories> element");
5111  parserData->ignoreDataAfterErrors = true;
5112  }
5113 }
5114  break;
5115 
5116  case 304:
5117 
5118  {
5119  if (!parserData->ignoreDataAfterErrors)
5120  if (osoption->setRequiredFiles(parserData->numberOf, parserData->paths) == false)
5121  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <requiredFiles> failed");
5122  delete[] parserData->paths;
5123  parserData->paths = NULL;
5124  parserData->suppressFurtherErrorMessages = false;
5125  parserData->ignoreDataAfterErrors = false;
5126 }
5127  break;
5128 
5129  case 305:
5130 
5131  {
5132  if (parserData->requiredFilesPresent)
5133  {
5134  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <requiredFiles> element allowed");
5135  parserData->ignoreDataAfterErrors = true;
5136  }
5137  parserData->requiredFilesPresent = true;
5138 }
5139  break;
5140 
5141  case 310:
5142 
5143  {
5144  if (parserData->kounter < parserData->numberOf)
5145  {
5146  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <requiredFiles> element");
5147  parserData->ignoreDataAfterErrors = true;
5148  }
5149 }
5150  break;
5151 
5152  case 311:
5153 
5154  {
5155  if (!parserData->ignoreDataAfterErrors)
5156  if (osoption->setDirectoriesToMake(parserData->numberOf, parserData->paths) == false)
5157  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <directoriesToMake> failed");
5158  delete[] parserData->paths;
5159  parserData->paths = NULL;
5160  parserData->suppressFurtherErrorMessages = false;
5161  parserData->ignoreDataAfterErrors = false;
5162 }
5163  break;
5164 
5165  case 312:
5166 
5167  {
5168  if (parserData->directoriesToMakePresent)
5169  {
5170  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <directoriesToMake> element allowed");
5171  parserData->ignoreDataAfterErrors = true;
5172  }
5173  parserData->directoriesToMakePresent = true;
5174 }
5175  break;
5176 
5177  case 317:
5178 
5179  {
5180  if (parserData->kounter < parserData->numberOf)
5181  {
5182  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <directoriesToMake> element");
5183  parserData->ignoreDataAfterErrors = true;
5184  }
5185 }
5186  break;
5187 
5188  case 318:
5189 
5190  {
5191  if (!parserData->ignoreDataAfterErrors)
5192  if (osoption->setFilesToMake(parserData->numberOf, parserData->paths) == false)
5193  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <filesToMake> failed");
5194  delete[] parserData->paths;
5195  parserData->paths = NULL;
5196  parserData->suppressFurtherErrorMessages = false;
5197  parserData->ignoreDataAfterErrors = false;
5198 }
5199  break;
5200 
5201  case 319:
5202 
5203  {
5204  if (parserData->filesToMakePresent)
5205  {
5206  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <filesToMake> element allowed");
5207  parserData->ignoreDataAfterErrors = true;
5208  }
5209  parserData->filesToMakePresent = true;
5210 }
5211  break;
5212 
5213  case 324:
5214 
5215  {
5216  if (parserData->kounter < parserData->numberOf)
5217  {
5218  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <filesToMake> element");
5219  parserData->ignoreDataAfterErrors = true;
5220  }
5221 }
5222  break;
5223 
5224  case 325:
5225 
5226  {
5227  if (!parserData->ignoreDataAfterErrors)
5228  if (osoption->setPathPairs(ENUM_PATHPAIR_input_dir, parserData->fromPaths,
5229  parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
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;
5237  parserData->suppressFurtherErrorMessages = false;
5238  parserData->ignoreDataAfterErrors = false;
5239 }
5240  break;
5241 
5242  case 326:
5243 
5244  {
5245  if (parserData->inputDirectoriesToMovePresent)
5246  {
5247  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <inputDirectoriesToMove> element allowed");
5248  parserData->ignoreDataAfterErrors = true;
5249  }
5250  parserData->inputDirectoriesToMovePresent = true;
5251 }
5252  break;
5253 
5254  case 332:
5255 
5256  {
5257  if (parserData->kounter < parserData->numberOfPathPairs)
5258  {
5259  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <inputDirectoriesToMove> element");
5260  parserData->ignoreDataAfterErrors = true;
5261  }
5262 }
5263  break;
5264 
5265  case 336:
5266 
5267  {
5268  if (!parserData->ignoreDataAfterErrors)
5269  if (osoption->setPathPairs(ENUM_PATHPAIR_input_file, parserData->fromPaths,
5270  parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
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;
5278  parserData->suppressFurtherErrorMessages = false;
5279  parserData->ignoreDataAfterErrors = false;
5280 }
5281  break;
5282 
5283  case 337:
5284 
5285  {
5286  if (parserData->inputFilesToMovePresent)
5287  {
5288  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <inputFilesToMove> element allowed");
5289  parserData->ignoreDataAfterErrors = true;
5290  }
5291  parserData->inputFilesToMovePresent = true;
5292 }
5293  break;
5294 
5295  case 343:
5296 
5297  {
5298  if (parserData->kounter < parserData->numberOfPathPairs)
5299  {
5300  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <inputFilesToMove> element");
5301  parserData->ignoreDataAfterErrors = true;
5302  }
5303 }
5304  break;
5305 
5306  case 347:
5307 
5308  {
5309  if (!parserData->ignoreDataAfterErrors)
5310  if (osoption->setPathPairs(ENUM_PATHPAIR_output_file, parserData->fromPaths,
5311  parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
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;
5319  parserData->suppressFurtherErrorMessages = false;
5320  parserData->ignoreDataAfterErrors = false;
5321 }
5322  break;
5323 
5324  case 348:
5325 
5326  {
5327  if (parserData->outputFilesToMovePresent)
5328  {
5329  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <outputFilesToMove> element allowed");
5330  parserData->ignoreDataAfterErrors = true;
5331  }
5332  parserData->outputFilesToMovePresent = true;
5333 }
5334  break;
5335 
5336  case 354:
5337 
5338  {
5339  if (parserData->kounter < parserData->numberOfPathPairs)
5340  {
5341  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <outputFilesToMake> element");
5342  parserData->ignoreDataAfterErrors = true;
5343  }
5344 }
5345  break;
5346 
5347  case 358:
5348 
5349  {
5350  if (!parserData->ignoreDataAfterErrors)
5351  if (osoption->setPathPairs(ENUM_PATHPAIR_output_dir, parserData->fromPaths,
5352  parserData->toPaths, parserData->makeCopy, parserData->numberOfPathPairs) == false)
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;
5360  parserData->suppressFurtherErrorMessages = false;
5361  parserData->ignoreDataAfterErrors = false;
5362 }
5363  break;
5364 
5365  case 359:
5366 
5367  {
5368  if (parserData->outputDirectoriesToMovePresent)
5369  {
5370  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <outputDirectoriesToMove> element allowed");
5371  parserData->ignoreDataAfterErrors = true;
5372  }
5373  parserData->outputDirectoriesToMovePresent = true;
5374 }
5375  break;
5376 
5377  case 365:
5378 
5379  {
5380  if (parserData->kounter < parserData->numberOfPathPairs)
5381  {
5382  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few path pairs in <outputDirectoriesToMake> element");
5383  parserData->ignoreDataAfterErrors = true;
5384  }
5385 }
5386  break;
5387 
5388  case 369:
5389 
5390  {
5391  if (!parserData->ignoreDataAfterErrors)
5392  if (osoption->setFilesToDelete(parserData->numberOf, parserData->paths) == false)
5393  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <filesToDelete> failed");
5394  delete[] parserData->paths;
5395  parserData->paths = NULL;
5396  parserData->suppressFurtherErrorMessages = false;
5397  parserData->ignoreDataAfterErrors = false;
5398 }
5399  break;
5400 
5401  case 370:
5402 
5403  {
5404  if (parserData->filesToDeletePresent)
5405  {
5406  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <filesToDelete> element allowed");
5407  parserData->ignoreDataAfterErrors = true;
5408  }
5409  parserData->filesToDeletePresent = true;
5410 }
5411  break;
5412 
5413  case 376:
5414 
5415  {
5416  if (parserData->kounter < parserData->numberOf)
5417  {
5418  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <filesToDelete> element");
5419  parserData->ignoreDataAfterErrors = true;
5420  }
5421 }
5422  break;
5423 
5424  case 377:
5425 
5426  {
5427  if (!parserData->ignoreDataAfterErrors)
5428  if (osoption->setDirectoriesToDelete(parserData->numberOf, parserData->paths) == false)
5429  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <directoriesToDelete> failed");
5430  delete[] parserData->paths;
5431  parserData->paths = NULL;
5432  parserData->suppressFurtherErrorMessages = false;
5433  parserData->ignoreDataAfterErrors = false;
5434 }
5435  break;
5436 
5437  case 378:
5438 
5439  {
5440  if (parserData->directoriesToDeletePresent)
5441  {
5442  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <directoriesToDelete> element allowed");
5443  parserData->ignoreDataAfterErrors = true;
5444  }
5445  parserData->directoriesToDeletePresent = true;
5446 }
5447  break;
5448 
5449  case 384:
5450 
5451  {
5452  if (parserData->kounter < parserData->numberOf)
5453  {
5454  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few paths in <directoriesToDelete> element");
5455  parserData->ignoreDataAfterErrors = true;
5456  }
5457 }
5458  break;
5459 
5460  case 385:
5461 
5462  {
5463  if (!parserData->ignoreDataAfterErrors)
5464  if (osoption->setProcessesToKill(parserData->numberOf, parserData->processesToKill) == false)
5465  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set <processesToKill> failed");
5466  delete[] parserData->processesToKill;
5467  parserData->processesToKill = NULL;
5468  parserData->suppressFurtherErrorMessages = false;
5469  parserData->ignoreDataAfterErrors = false;
5470 }
5471  break;
5472 
5473  case 386:
5474 
5475  {
5476  if (parserData->processesToKillPresent)
5477  {
5478  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one <processesToKill> element allowed");
5479  parserData->ignoreDataAfterErrors = true;
5480  }
5481  parserData->processesToKillPresent = true;
5482 }
5483  break;
5484 
5485  case 392:
5486 
5487  {
5488  if (parserData->kounter < parserData->numberOf)
5489  {
5490  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few process IDs in <processesToKill> element");
5491  parserData->ignoreDataAfterErrors = true;
5492  }
5493 }
5494  break;
5495 
5496  case 395:
5497 
5498  {
5499  if (parserData->kounter >= parserData->numberOf)
5500  {
5501  if (!parserData->suppressFurtherErrorMessages)
5502  {
5503  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many process IDs in <processesToKill> element");
5504  parserData->suppressFurtherErrorMessages = true;
5505  parserData->ignoreDataAfterErrors = true;
5506  }
5507  }
5508  else
5509  {
5510  parserData->processesToKill[parserData->kounter] = (yyvsp[(3) - (4)].sval);
5511  parserData->kounter++;
5512  }
5513  free((yyvsp[(3) - (4)].sval));
5514 }
5515  break;
5516 
5517  case 396:
5518 
5519  {
5520  parserData->suppressFurtherErrorMessages = false;
5521  parserData->ignoreDataAfterErrors = false;
5522  }
5523  break;
5524 
5525  case 397:
5526 
5527  {
5528  if (parserData->otherJobOptionsPresent)
5529  {
5530  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "Repeated element: <job> <otherOptions>");
5531  parserData->ignoreDataAfterErrors = true;
5532  }
5533  parserData->otherJobOptionsPresent = true;
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");
5541  parserData->numberOf = parserData->tempInt;
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  {
5563  parserData->kounter++;
5564  if (!parserData->ignoreDataAfterErrors)
5565  if (osoption->setAnOtherJobOption(osglData->name, osglData->value, osglData->description) == false)
5566  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "setOtherJobOption failed");
5567  }
5568  break;
5569 
5570  case 410:
5571 
5572  {
5573  osoption->optimization = new OptimizationOption();
5574  osglData->numberOfVariablesPresent = false;
5575  osglData->numberOfObjectivesPresent = false;
5576  osglData->numberOfConstraintsPresent = false;
5577 }
5578  break;
5579 
5580  case 414:
5581 
5582  {
5583 // osglData->numberOfVariables = parserData->tempInt;
5584  if (osoption->setNumberOfVariables(osglData->numberOfVariables) == false)
5585  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
5586  "setNumberOfVariables failed");
5587  }
5588  break;
5589 
5590  case 415:
5591 
5592  {
5593 // osglData->numberOfConstraints = parserData->tempInt;
5594  if (osoption->setNumberOfConstraints(osglData->numberOfConstraints) == false)
5595  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
5596  "setNumberOfConstraints failed");
5597  }
5598  break;
5599 
5600  case 416:
5601 
5602  {
5603 // osglData->numberOfObjectives = parserData->tempInt;
5604  if (osoption->setNumberOfObjectives(osglData->numberOfObjectives) == false)
5605  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
5606  "setNumberOfObjectives failed");
5607  }
5608  break;
5609 
5610  case 424:
5611 
5612  {
5613  parserData->numberOfOtherVariableOptions = 0;
5614  osoption->optimization->variables = new VariableOption();
5615 }
5616  break;
5617 
5618  case 425:
5619 
5620  {
5621  if (osoption->setNumberOfOtherVariableOptions(parserData->numberOfOtherVariableOptions) == false)
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  {
5630  parserData->numberOfOtherVariableOptions = parserData->tempInt;
5631 }
5632  break;
5633 
5634  case 432:
5635 
5636  {
5637  parserData->suppressFurtherErrorMessages = false;
5638  parserData->ignoreDataAfterErrors = false;
5639 
5640 }
5641  break;
5642 
5643  case 434:
5644 
5645  {
5646  if (!parserData->ignoreDataAfterErrors)
5647  if (osoption->setInitVarValues(osglData->numberOfVar, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
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;
5655  parserData->suppressFurtherErrorMessages = false;
5656  parserData->ignoreDataAfterErrors = false;
5657 }
5658  break;
5659 
5660  case 435:
5661 
5662  {
5663  osglData->numberOfVarPresent = false;
5664 }
5665  break;
5666 
5667  case 436:
5668 
5669  {
5670  parserData->kounter = 0;
5671  parserData->idxArray = new int[osglData->numberOfVar];
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");
5685  parserData->ignoreDataAfterErrors = true;
5686  }
5687  }
5688  break;
5689 
5690  case 438:
5691 
5692  {
5693  if (parserData->kounter < osglData->numberOfVar)
5694  {
5695  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialVariableValues>: fewer <var> elements than specified");
5696  parserData->ignoreDataAfterErrors = true;
5697  }
5698  }
5699  break;
5700 
5701  case 445:
5702 
5703  {
5704  parserData->kounter++;
5705 }
5706  break;
5707 
5708  case 446:
5709 
5710  {
5711  if (parserData->kounter >= osglData->numberOfVar)
5712  if (!parserData->suppressFurtherErrorMessages)
5713  {
5714  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
5715  parserData->suppressFurtherErrorMessages = true;
5716  parserData->ignoreDataAfterErrors = true;
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)
5736  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
5737  "variable index must be nonnegative");
5738  if (osoption->optimization->numberOfVariables >= 0)
5739  {
5740  if (osglData->idx >= osoption->optimization->numberOfVariables)
5741  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
5742  "variable index exceeds upper limit");
5743  };
5744  if (!parserData->ignoreDataAfterErrors)
5745  parserData->idxArray[parserData->kounter] = osglData->idx;
5746  }
5747  break;
5748 
5749  case 451:
5750 
5751  {
5752  if (!parserData->ignoreDataAfterErrors)
5753  parserData->namArray[parserData->kounter] = osglData->name;
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");
5762  if (!parserData->ignoreDataAfterErrors)
5763  parserData->valArray[parserData->kounter] = os_strtod((osglData->value).c_str(), NULL);
5764  }
5765  break;
5766 
5767  case 456:
5768 
5769  {
5770  if (!parserData->ignoreDataAfterErrors)
5771  if (osoption->setInitVarValuesString(osglData->numberOfVar, parserData->idxArray, parserData->valueString, parserData->namArray) == false)
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;
5779  parserData->suppressFurtherErrorMessages = false;
5780  parserData->ignoreDataAfterErrors = false;
5781 }
5782  break;
5783 
5784  case 457:
5785 
5786  {
5787  osglData->numberOfVarPresent = false;
5788 }
5789  break;
5790 
5791  case 458:
5792 
5793  {
5794  parserData->kounter = 0;
5795  parserData->idxArray = new int[osglData->numberOfVar];
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");
5809  parserData->ignoreDataAfterErrors = true;
5810  }
5811  }
5812  break;
5813 
5814  case 460:
5815 
5816  {
5817  if (parserData->kounter < osglData->numberOfVar)
5818  {
5819  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too few initial values in <initialVariableValuesString> element");
5820  parserData->ignoreDataAfterErrors = true;
5821  }
5822  }
5823  break;
5824 
5825  case 467:
5826 
5827  {
5828  parserData->kounter++;
5829  osglData->value = ""; //Make sure to remove random string
5830 }
5831  break;
5832 
5833  case 468:
5834 
5835  {
5836  if (parserData->kounter >= osglData->numberOfVar)
5837  if (!parserData->suppressFurtherErrorMessages)
5838  {
5839  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
5840  parserData->suppressFurtherErrorMessages = true;
5841  parserData->ignoreDataAfterErrors = true;
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");
5863  if (osoption->optimization->numberOfVariables >= 0)
5864  {
5865  if (osglData->idx >= osoption->optimization->numberOfVariables)
5866  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index exceeds upper limit");
5867  };
5868  if (!parserData->ignoreDataAfterErrors)
5869  parserData->idxArray[parserData->kounter] = osglData->idx;
5870  }
5871  break;
5872 
5873  case 473:
5874 
5875  {
5876  if (!parserData->ignoreDataAfterErrors)
5877  parserData->namArray[parserData->kounter] = osglData->name;
5878  }
5879  break;
5880 
5881  case 474:
5882 
5883  {
5884  if (!parserData->ignoreDataAfterErrors)
5885  parserData->valueString[parserData->kounter] = osglData->value;
5886  }
5887  break;
5888 
5889  case 479:
5890 
5891  {
5892  osoption->optimization->variables->initialBasisStatus = new BasisStatus();
5893 }
5894  break;
5895 
5896  case 486:
5897 
5898  {
5899  if (!parserData->ignoreDataAfterErrors)
5900  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->numberOfEl) != true)
5901  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables basic failed");
5902  delete[] osglData->osglIntArray;
5903  osglData->osglIntArray = NULL;
5904  parserData->suppressFurtherErrorMessages = false;
5905  parserData->ignoreDataAfterErrors = false;
5906 }
5907  break;
5908 
5909  case 488:
5910 
5911  {
5912  if (!parserData->ignoreDataAfterErrors)
5913  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->numberOfEl) != true)
5914  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atLower failed");
5915  delete[] osglData->osglIntArray;
5916  osglData->osglIntArray = NULL;
5917  parserData->suppressFurtherErrorMessages = false;
5918  parserData->ignoreDataAfterErrors = false;
5919 }
5920  break;
5921 
5922  case 490:
5923 
5924  {
5925  if (!parserData->ignoreDataAfterErrors)
5926  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->numberOfEl) != true)
5927  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atUpper failed");
5928  delete[] osglData->osglIntArray;
5929  osglData->osglIntArray = NULL;
5930  parserData->suppressFurtherErrorMessages = false;
5931  parserData->ignoreDataAfterErrors = false;
5932 }
5933  break;
5934 
5935  case 492:
5936 
5937  {
5938  if (!parserData->ignoreDataAfterErrors)
5939  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->numberOfEl) != true)
5940  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables atEquality failed");
5941  delete[] osglData->osglIntArray;
5942  osglData->osglIntArray = NULL;
5943  parserData->suppressFurtherErrorMessages = false;
5944  parserData->ignoreDataAfterErrors = false;
5945 }
5946  break;
5947 
5948  case 494:
5949 
5950  {
5951  if (!parserData->ignoreDataAfterErrors)
5952  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->numberOfEl) != true)
5953  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables isFree failed");
5954  delete[] osglData->osglIntArray;
5955  osglData->osglIntArray = NULL;
5956  parserData->suppressFurtherErrorMessages = false;
5957  parserData->ignoreDataAfterErrors = false;
5958 }
5959  break;
5960 
5961  case 496:
5962 
5963  {
5964  if (!parserData->ignoreDataAfterErrors)
5965  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->numberOfEl) != true)
5966  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables superbasic failed");
5967  delete[] osglData->osglIntArray;
5968  osglData->osglIntArray = NULL;
5969  parserData->suppressFurtherErrorMessages = false;
5970  parserData->ignoreDataAfterErrors = false;
5971 }
5972  break;
5973 
5974  case 498:
5975 
5976  {
5977  if (!parserData->ignoreDataAfterErrors)
5978  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_variables, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->numberOfEl) != true)
5979  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables unknown failed");
5980  delete[] osglData->osglIntArray;
5981  osglData->osglIntArray = NULL;
5982  parserData->suppressFurtherErrorMessages = false;
5983  parserData->ignoreDataAfterErrors = false;
5984 }
5985  break;
5986 
5987  case 500:
5988 
5989  {
5990  if (!parserData->ignoreDataAfterErrors)
5991  if (osoption->setIntegerVariableBranchingWeights(osglData->numberOfVar, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
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;
5999  parserData->suppressFurtherErrorMessages = false;
6000  parserData->ignoreDataAfterErrors = false;
6001 }
6002  break;
6003 
6004  case 501:
6005 
6006  {
6007  osglData->numberOfVarPresent = false;
6008 }
6009  break;
6010 
6011  case 502:
6012 
6013  {
6014  parserData->kounter = 0;
6015  parserData->idxArray = new int[osglData->numberOfVar];
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");
6029  parserData->ignoreDataAfterErrors = true;
6030  }
6031  }
6032  break;
6033 
6034  case 504:
6035 
6036  {
6037  if (parserData->kounter < osglData->numberOfVar)
6038  {
6039  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <var> elements than specified");
6040  parserData->ignoreDataAfterErrors = true;
6041  }
6042  }
6043  break;
6044 
6045  case 511:
6046 
6047  {
6048  parserData->kounter++;
6049 }
6050  break;
6051 
6052  case 512:
6053 
6054  {
6055  if (parserData->kounter >= osglData->numberOfVar)
6056  if (!parserData->suppressFurtherErrorMessages)
6057  {
6058  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6059  parserData->suppressFurtherErrorMessages = true;
6060  parserData->ignoreDataAfterErrors = true;
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");
6083  if (osoption->optimization->numberOfVariables >= 0)
6084  {
6085  if (osglData->idx >= osoption->optimization->numberOfVariables)
6086  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "variable index exceeds upper limit");
6087  };
6088  if (!parserData->ignoreDataAfterErrors)
6089  parserData->idxArray[parserData->kounter] = osglData->idx;
6090  }
6091  break;
6092 
6093  case 517:
6094 
6095  {
6096  if (!parserData->ignoreDataAfterErrors)
6097  parserData->namArray[parserData->kounter] = osglData->name;
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");
6106  if (!parserData->ignoreDataAfterErrors)
6107  parserData->valArray[parserData->kounter] = os_strtod((osglData->value).c_str(), NULL);
6108  }
6109  break;
6110 
6111  case 522:
6112 
6113  {
6114  parserData->suppressFurtherErrorMessages = false;
6115  parserData->ignoreDataAfterErrors = false;
6116 }
6117  break;
6118 
6119  case 523:
6120 
6121  {
6122  parserData->sosIdxAttributePresent = false;
6123  parserData->currentSOS = 0;
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");
6142  parserData->ignoreDataAfterErrors = true;
6143  }
6144  }
6145  break;
6146 
6147  case 526:
6148 
6149  { if (parserData->currentSOS != parserData->numberOfSOS)
6150  {
6151  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <sos> elements than specified");
6152  parserData->ignoreDataAfterErrors = true;
6153  }
6154  }
6155  break;
6156 
6157  case 532:
6158 
6159  {
6160  if (!parserData->ignoreDataAfterErrors)
6161  if (!osoption->setAnotherSOSVariableBranchingWeight(parserData->sosIdx,
6162  osglData->numberOfVar, parserData->groupWeight,
6163  parserData->idxArray, parserData->valArray, parserData->namArray) )
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;
6171  parserData->currentSOS++;
6172  parserData->suppressFurtherErrorMessages = false;
6173  parserData->ignoreDataAfterErrors = false;
6174 }
6175  break;
6176 
6177  case 533:
6178 
6179  {
6180  if (parserData->currentSOS >= parserData->numberOfSOS)
6181  if (!parserData->suppressFurtherErrorMessages)
6182  {
6183  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many SOS branching weights");
6184  parserData->suppressFurtherErrorMessages = true;
6185  parserData->ignoreDataAfterErrors = true;
6186  }
6187  parserData->sosIdxAttributePresent = false;
6188  parserData->groupWeightAttributePresent = false;
6189  parserData->groupWeight = 1.0;
6190  parserData->numberOfSOSVar = 0;
6191  osglData->numberOfVarPresent = false;
6192 }
6193  break;
6194 
6195  case 534:
6196 
6197  {
6198  if (!parserData->sosIdxAttributePresent)
6199  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "SOS index required");
6200  if (!osglData->numberOfVarPresent)
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;
6209  parserData->idxArray = new int[osglData->numberOfVar];
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();
6213  osglData->numberOfVarPresent = true;
6214  }
6215  break;
6216 
6217  case 547:
6218 
6219  {
6220  parserData->iOther++;
6221  }
6222  break;
6223 
6224  case 548:
6225 
6226  {
6227  if (parserData->iOther >= parserData->numberOfOtherVariableOptions)
6228  if (!parserData->suppressFurtherErrorMessages)
6229  {
6230  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
6231  "more <otherVariableOptions> than specified");
6232  parserData->suppressFurtherErrorMessages = true;
6233  parserData->ignoreDataAfterErrors = true;
6234  }
6235  osglData->numberOfVarPresent = false;
6236  osglData->numberOfVar = 0;
6237  osglData->numberOfEnumerationsPresent = false;
6238  osglData->numberOfEnumerations = 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");
6263  if (!parserData->ignoreDataAfterErrors)
6264  if (!osoption->setOtherVariableOptionAttributes(
6265  parserData->iOther,
6266  osglData->numberOfVar,
6267  osglData->numberOfEnumerations,
6268  osglData->name,
6269  osglData->value,
6270  osglData->solver,
6271  osglData->category,
6272  osglData->type,
6273  osglData->varType,
6274  osglData->enumType,
6275  osglData->description) )
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  {
6297  if (!parserData->ignoreDataAfterErrors)
6298  if (!osoption->setOtherVariableOptionVar(
6299  parserData->iOther,
6300  parserData->kounter,
6301  osglData->idx,
6302  osglData->name,
6303  osglData->value,
6304  parserData->lbValueAttribute,
6305  parserData->ubValueAttribute) )
6306  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other variable option <var> element failed");
6307  parserData->kounter++;
6308 }
6309  break;
6310 
6311  case 572:
6312 
6313  {
6314  if (parserData->kounter >= osglData->numberOfVar)
6315  if (!parserData->suppressFurtherErrorMessages)
6316  {
6317  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6318  parserData->suppressFurtherErrorMessages = true;
6319  parserData->ignoreDataAfterErrors = true;
6320  }
6321  osglData->idxPresent = false;
6322  osglData->namePresent = false;
6323  osglData->name = "";
6324  osglData->valuePresent = false;
6325  osglData->value = "";
6326  parserData->lbValueAttributePresent = false;
6327  parserData->lbValueAttribute = "";
6328  parserData->ubValueAttributePresent = false;
6329  parserData->ubValueAttribute = "";
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");
6338  if (osoption->optimization->numberOfVariables >= 0)
6339  {
6340  if (osglData->idx >= osoption->optimization->numberOfVariables)
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  {
6349  parserData->numberOfOtherObjectiveOptions = 0;
6350  osoption->optimization->objectives = new ObjectiveOption();
6351 }
6352  break;
6353 
6354  case 587:
6355 
6356  {
6357  if (osoption->setNumberOfOtherObjectiveOptions(parserData->numberOfOtherObjectiveOptions) == false)
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  {
6366  parserData->numberOfOtherObjectiveOptions = parserData->tempInt;
6367 }
6368  break;
6369 
6370  case 594:
6371 
6372  {
6373  parserData->suppressFurtherErrorMessages = false;
6374  parserData->ignoreDataAfterErrors = false;
6375 
6376 }
6377  break;
6378 
6379  case 596:
6380 
6381  {
6382  if (!parserData->ignoreDataAfterErrors)
6383  if (osoption->setInitObjValues(osglData->numberOfObj, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
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;
6391  parserData->suppressFurtherErrorMessages = false;
6392  parserData->ignoreDataAfterErrors = false;
6393 }
6394  break;
6395 
6396  case 597:
6397 
6398  {
6399  osglData->numberOfObjPresent = false;
6400 }
6401  break;
6402 
6403  case 598:
6404 
6405  {
6406  parserData->kounter = 0;
6407  parserData->idxArray = new int[osglData->numberOfObj];
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");
6422  parserData->ignoreDataAfterErrors = true;
6423  }
6424  }
6425  break;
6426 
6427  case 600:
6428 
6429  {
6430  if (parserData->kounter < osglData->numberOfObj)
6431  {
6432  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveValues>: fewer <obj> elements than specified");
6433  parserData->ignoreDataAfterErrors = true;
6434  }
6435  }
6436  break;
6437 
6438  case 607:
6439 
6440  {
6441  parserData->kounter++;
6442 }
6443  break;
6444 
6445  case 608:
6446 
6447  {
6448  if (parserData->kounter >= osglData->numberOfObj)
6449  if (!parserData->suppressFurtherErrorMessages)
6450  {
6451  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <obj> elements than specified");
6452  parserData->suppressFurtherErrorMessages = true;
6453  parserData->ignoreDataAfterErrors = true;
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");
6467  if (osoption->optimization->numberOfObjectives >= 0)
6468  {
6469  if (osglData->idx < -osoption->optimization->numberOfObjectives)
6470  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6471  };
6472  parserData->idxArray[parserData->kounter] = osglData->idx;
6473  }
6474  break;
6475 
6476  case 613:
6477 
6478  {
6479  parserData->namArray[parserData->kounter] = osglData->name;
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");
6488  parserData->valArray[parserData->kounter] = os_strtod((osglData->value).c_str(), NULL);
6489  }
6490  break;
6491 
6492  case 618:
6493 
6494  {
6495  if (!parserData->ignoreDataAfterErrors)
6496  if (osoption->setInitObjBounds(osglData->numberOfObj, parserData->idxArray, parserData->lbValArray, parserData->ubValArray, parserData->namArray) == false)
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;
6506  parserData->suppressFurtherErrorMessages = false;
6507  parserData->ignoreDataAfterErrors = false;
6508 }
6509  break;
6510 
6511  case 619:
6512 
6513  {
6514  osglData->numberOfObjPresent = false;
6515 }
6516  break;
6517 
6518  case 620:
6519 
6520  {
6521  parserData->kounter = 0;
6522  parserData->idxArray = new int[osglData->numberOfObj];
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");
6539  parserData->ignoreDataAfterErrors = true;
6540  }
6541  }
6542  break;
6543 
6544  case 622:
6545 
6546  {
6547  if (parserData->kounter < osglData->numberOfObj)
6548  {
6549  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialObjectiveBounds>: fewer <obj> elements than specified");
6550  parserData->ignoreDataAfterErrors = true;
6551  }
6552  }
6553  break;
6554 
6555  case 629:
6556 
6557  {
6558  parserData->kounter++;
6559 }
6560  break;
6561 
6562  case 630:
6563 
6564  {
6565  if (parserData->kounter >= osglData->numberOfObj)
6566  if (!parserData->suppressFurtherErrorMessages)
6567  {
6568  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <var> elements than specified");
6569  parserData->suppressFurtherErrorMessages = true;
6570  parserData->ignoreDataAfterErrors = true;
6571  }
6572  osglData->idx = -1;
6573  osglData->idxPresent = false;
6574  osglData->namePresent = false;
6575  parserData->lbValueAttributePresent = false;
6576  parserData->ubValueAttributePresent = false;
6577  parserData->lbValueAttribute = "-INF";
6578  parserData->ubValueAttribute = "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");
6587  if (osoption->optimization->numberOfObjectives >= 0)
6588  {
6589  if (osglData->idx < -osoption->optimization->numberOfVariables)
6590  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6591  };
6592  parserData->idxArray[parserData->kounter] = osglData->idx;
6593  }
6594  break;
6595 
6596  case 635:
6597 
6598  {
6599  parserData->namArray[parserData->kounter] = osglData->name;
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");
6608  parserData->lbValArray[parserData->kounter] = os_strtod((parserData->lbValueAttribute).c_str(), NULL);
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");
6617  parserData->ubValArray[parserData->kounter] = os_strtod((parserData->ubValueAttribute).c_str(), NULL);
6618  }
6619  break;
6620 
6621  case 642:
6622 
6623  {
6624  osoption->optimization->objectives->initialBasisStatus = new BasisStatus();
6625 }
6626  break;
6627 
6628  case 649:
6629 
6630  {
6631  if (!parserData->ignoreDataAfterErrors)
6632  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->numberOfEl) != true)
6633  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives basic failed");
6634  delete[] osglData->osglIntArray;
6635  osglData->osglIntArray = NULL;
6636  parserData->suppressFurtherErrorMessages = false;
6637  parserData->ignoreDataAfterErrors = false;
6638 }
6639  break;
6640 
6641  case 651:
6642 
6643  {
6644  if (!parserData->ignoreDataAfterErrors)
6645  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->numberOfEl) != true)
6646  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atLower failed");
6647  delete[] osglData->osglIntArray;
6648  osglData->osglIntArray = NULL;
6649  parserData->suppressFurtherErrorMessages = false;
6650  parserData->ignoreDataAfterErrors = false;
6651 }
6652  break;
6653 
6654  case 653:
6655 
6656  {
6657  if (!parserData->ignoreDataAfterErrors)
6658  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->numberOfEl) != true)
6659  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atUpper failed");
6660  delete[] osglData->osglIntArray;
6661  osglData->osglIntArray = NULL;
6662  parserData->suppressFurtherErrorMessages = false;
6663  parserData->ignoreDataAfterErrors = false;
6664 }
6665  break;
6666 
6667  case 655:
6668 
6669  {
6670  if (!parserData->ignoreDataAfterErrors)
6671  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->numberOfEl) != true)
6672  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives atEquality failed");
6673  delete[] osglData->osglIntArray;
6674  osglData->osglIntArray = NULL;
6675  parserData->suppressFurtherErrorMessages = false;
6676  parserData->ignoreDataAfterErrors = false;
6677 }
6678  break;
6679 
6680  case 657:
6681 
6682  {
6683  if (!parserData->ignoreDataAfterErrors)
6684  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->numberOfEl) != true)
6685  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives isFree failed");
6686  delete[] osglData->osglIntArray;
6687  osglData->osglIntArray = NULL;
6688  parserData->suppressFurtherErrorMessages = false;
6689  parserData->ignoreDataAfterErrors = false;
6690 }
6691  break;
6692 
6693  case 659:
6694 
6695  {
6696  if (!parserData->ignoreDataAfterErrors)
6697  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->numberOfEl) != true)
6698  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives superbasic failed");
6699  delete[] osglData->osglIntArray;
6700  osglData->osglIntArray = NULL;
6701  parserData->suppressFurtherErrorMessages = false;
6702  parserData->ignoreDataAfterErrors = false;
6703 }
6704  break;
6705 
6706  case 661:
6707 
6708  {
6709  if (!parserData->ignoreDataAfterErrors)
6710  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_objectives, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->numberOfEl) != true)
6711  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set objectives unknown failed");
6712  delete[] osglData->osglIntArray;
6713  osglData->osglIntArray = NULL;
6714  parserData->suppressFurtherErrorMessages = false;
6715  parserData->ignoreDataAfterErrors = false;
6716 }
6717  break;
6718 
6719  case 664:
6720 
6721  {
6722  parserData->iOther++;
6723  }
6724  break;
6725 
6726  case 665:
6727 
6728  {
6729  if (parserData->iOther >= parserData->numberOfOtherObjectiveOptions)
6730  if (!parserData->suppressFurtherErrorMessages)
6731  {
6732  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <otherObjectiveOptions> than specified");
6733  parserData->suppressFurtherErrorMessages = true;
6734  parserData->ignoreDataAfterErrors = true;
6735  }
6736  osglData->numberOfObjPresent = false;
6737  osglData->numberOfObj = 0;
6738  osglData->numberOfEnumerationsPresent = false;
6739  osglData->numberOfEnumerations = 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");
6764  if (!parserData->ignoreDataAfterErrors)
6765  if (!osoption->setOtherObjectiveOptionAttributes(
6766  parserData->iOther,
6767  osglData->numberOfObj,
6768  osglData->numberOfEnumerations,
6769  osglData->name,
6770  osglData->value,
6771  osglData->solver,
6772  osglData->category,
6773  osglData->type,
6774  osglData->objType,
6775  osglData->enumType,
6776  osglData->description) )
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  {
6798  if (!parserData->ignoreDataAfterErrors)
6799  if (!osoption->setOtherObjectiveOptionObj(
6800  parserData->iOther,
6801  parserData->kounter,
6802  osglData->idx,
6803  osglData->name,
6804  osglData->value,
6805  parserData->lbValueAttribute,
6806  parserData->ubValueAttribute) )
6807  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other objective option <obj> element failed");
6808  parserData->kounter++;
6809 }
6810  break;
6811 
6812  case 689:
6813 
6814  {
6815 
6816  if (parserData->kounter >= osglData->numberOfObj)
6817  if (!parserData->suppressFurtherErrorMessages)
6818  {
6819  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <obj> elements than specified");
6820  parserData->suppressFurtherErrorMessages = true;
6821  parserData->ignoreDataAfterErrors = true;
6822  }
6823  osglData->idxPresent = false;
6824  osglData->idx = -1;
6825  osglData->namePresent = false;
6826  osglData->name = "";
6827  osglData->valuePresent = false;
6828  osglData->value = "";
6829  parserData->lbValueAttributePresent = false;
6830  parserData->lbValueAttribute = "";
6831  parserData->ubValueAttributePresent = false;
6832  parserData->ubValueAttribute = "";
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");
6841  if (osoption->optimization->numberOfObjectives >= 0)
6842  {
6843  if (osglData->idx < -osoption->optimization->numberOfObjectives)
6844  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "objective index exceeds limit");
6845  };
6846  }
6847  break;
6848 
6849  case 703:
6850 
6851  {
6852  parserData->numberOfOtherConstraintOptions = 0;
6853  osoption->optimization->constraints = new ConstraintOption();
6854 }
6855  break;
6856 
6857  case 704:
6858 
6859  {
6860  if (osoption->setNumberOfOtherConstraintOptions(parserData->numberOfOtherConstraintOptions) == false)
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  {
6869  parserData->numberOfOtherConstraintOptions = parserData->tempInt;
6870 }
6871  break;
6872 
6873  case 711:
6874 
6875  {
6876  parserData->suppressFurtherErrorMessages = false;
6877  parserData->ignoreDataAfterErrors = false;
6878 
6879 }
6880  break;
6881 
6882  case 713:
6883 
6884  {
6885  if (!parserData->ignoreDataAfterErrors)
6886  if (osoption->setInitConValues(osglData->numberOfCon, parserData->idxArray, parserData->valArray, parserData->namArray) == false)
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;
6894  parserData->suppressFurtherErrorMessages = false;
6895  parserData->ignoreDataAfterErrors = false;
6896 }
6897  break;
6898 
6899  case 714:
6900 
6901  {
6902  osglData->numberOfConPresent = false;
6903 }
6904  break;
6905 
6906  case 715:
6907 
6908  {
6909  parserData->kounter = 0;
6910  parserData->idxArray = new int[osglData->numberOfCon];
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");
6924  parserData->ignoreDataAfterErrors = true;
6925  }
6926  }
6927  break;
6928 
6929  case 717:
6930 
6931  {
6932  if (parserData->kounter < osglData->numberOfCon)
6933  {
6934  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialConstraintValues>: fewer <con> elements than specified");
6935  parserData->ignoreDataAfterErrors = true;
6936  }
6937  }
6938  break;
6939 
6940  case 724:
6941 
6942  {
6943  parserData->kounter++;
6944 }
6945  break;
6946 
6947  case 725:
6948 
6949  {
6950  if (parserData->kounter >= osglData->numberOfCon)
6951  if (!parserData->suppressFurtherErrorMessages)
6952  {
6953  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
6954  "more <con> elements than specified");
6955  parserData->suppressFurtherErrorMessages = true;
6956  parserData->ignoreDataAfterErrors = true;
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)
6969  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
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");
6979  if (osoption->optimization->numberOfConstraints >= 0)
6980  {
6981  if (osglData->idx >= osoption->optimization->numberOfConstraints)
6982  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index exceeds upper limit");
6983  };
6984  parserData->idxArray[parserData->kounter] = osglData->idx;
6985  }
6986  break;
6987 
6988  case 730:
6989 
6990  {
6991  parserData->namArray[parserData->kounter] = osglData->name;
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");
7000  parserData->valArray[parserData->kounter] = os_strtod((osglData->value).c_str(), NULL);
7001  }
7002  break;
7003 
7004  case 735:
7005 
7006  {
7007  if (!parserData->ignoreDataAfterErrors)
7008  if (osoption->setInitDualValues(osglData->numberOfCon, parserData->idxArray, parserData->lbValArray, parserData->ubValArray, parserData->namArray) == false)
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;
7018  parserData->suppressFurtherErrorMessages = false;
7019  parserData->ignoreDataAfterErrors = false;
7020 }
7021  break;
7022 
7023  case 736:
7024 
7025  {
7026  osglData->numberOfConPresent = false;
7027 }
7028  break;
7029 
7030  case 737:
7031 
7032  {
7033  parserData->kounter = 0;
7034  parserData->idxArray = new int[osglData->numberOfCon];
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");
7050  parserData->ignoreDataAfterErrors = true;
7051  }
7052  }
7053  break;
7054 
7055  case 739:
7056 
7057  {
7058  if (parserData->kounter < osglData->numberOfCon)
7059  {
7060  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "<initialDualValues>: fewer <con> elements than specified");
7061  parserData->ignoreDataAfterErrors = true;
7062  }
7063  }
7064  break;
7065 
7066  case 746:
7067 
7068  {
7069  parserData->kounter++;
7070 }
7071  break;
7072 
7073  case 747:
7074 
7075  {
7076  if (parserData->kounter >= osglData->numberOfCon)
7077  if (!parserData->suppressFurtherErrorMessages)
7078  {
7079  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
7080  "more <con> elements than specified");
7081  parserData->suppressFurtherErrorMessages = true;
7082  parserData->ignoreDataAfterErrors = true;
7083  }
7084  osglData->idxPresent = false;
7085  osglData->namePresent = false;
7086  osglData->name = "";
7087  parserData->lbValueAttributePresent = false;
7088  parserData->ubValueAttributePresent = false;
7089  parserData->lbDualValue = OSNaN();
7090  parserData->ubDualValue = OSNaN();
7091 }
7092  break;
7093 
7094  case 748:
7095 
7096  {
7097  if (osglData->idxPresent == false)
7098  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
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");
7108  if (osoption->optimization->numberOfConstraints >= 0)
7109  {
7110  if (osglData->idx >= osoption->optimization->numberOfConstraints)
7111  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "constraint index exceeds upper limit");
7112  };
7113  parserData->idxArray[parserData->kounter] = osglData->idx;
7114  }
7115  break;
7116 
7117  case 752:
7118 
7119  {
7120  parserData->namArray[parserData->kounter] = osglData->name;
7121  }
7122  break;
7123 
7124  case 753:
7125 
7126  {
7127  parserData->lbValArray[parserData->kounter] = parserData->lbDualValue;
7128  }
7129  break;
7130 
7131  case 754:
7132 
7133  {
7134  parserData->ubValArray[parserData->kounter] = parserData->ubDualValue;
7135  }
7136  break;
7137 
7138  case 759:
7139 
7140  {
7141  osoption->optimization->constraints->initialBasisStatus = new BasisStatus();
7142 }
7143  break;
7144 
7145  case 766:
7146 
7147  {
7148  if (!parserData->ignoreDataAfterErrors)
7149  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_basic, osglData->osglIntArray, osglData->numberOfEl) != true)
7150  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks basic failed");
7151  delete[] osglData->osglIntArray;
7152  osglData->osglIntArray = NULL;
7153  parserData->suppressFurtherErrorMessages = false;
7154  parserData->ignoreDataAfterErrors = false;
7155 }
7156  break;
7157 
7158  case 768:
7159 
7160  {
7161  if (!parserData->ignoreDataAfterErrors)
7162  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atLower, osglData->osglIntArray, osglData->numberOfEl) != true)
7163  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atLower failed");
7164  delete[] osglData->osglIntArray;
7165  osglData->osglIntArray = NULL;
7166  parserData->suppressFurtherErrorMessages = false;
7167  parserData->ignoreDataAfterErrors = false;
7168 }
7169  break;
7170 
7171  case 770:
7172 
7173  {
7174  if (!parserData->ignoreDataAfterErrors)
7175  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atUpper, osglData->osglIntArray, osglData->numberOfEl) != true)
7176  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atUpper failed");
7177  delete[] osglData->osglIntArray;
7178  osglData->osglIntArray = NULL;
7179  parserData->suppressFurtherErrorMessages = false;
7180  parserData->ignoreDataAfterErrors = false;
7181 }
7182  break;
7183 
7184  case 772:
7185 
7186  {
7187  if (!parserData->ignoreDataAfterErrors)
7188  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_atEquality, osglData->osglIntArray, osglData->numberOfEl) != true)
7189  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks atEquality failed");
7190  delete[] osglData->osglIntArray;
7191  osglData->osglIntArray = NULL;
7192  parserData->suppressFurtherErrorMessages = false;
7193  parserData->ignoreDataAfterErrors = false;
7194 }
7195  break;
7196 
7197  case 774:
7198 
7199  {
7200  if (!parserData->ignoreDataAfterErrors)
7201  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_isFree, osglData->osglIntArray, osglData->numberOfEl) != true)
7202  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks isFree failed");
7203  delete[] osglData->osglIntArray;
7204  osglData->osglIntArray = NULL;
7205  parserData->suppressFurtherErrorMessages = false;
7206  parserData->ignoreDataAfterErrors = false;
7207 }
7208  break;
7209 
7210  case 776:
7211 
7212  {
7213  if (!parserData->ignoreDataAfterErrors)
7214  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_superbasic, osglData->osglIntArray, osglData->numberOfEl) != true)
7215  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set variables superbasic failed");
7216  delete[] osglData->osglIntArray;
7217  osglData->osglIntArray = NULL;
7218  parserData->suppressFurtherErrorMessages = false;
7219  parserData->ignoreDataAfterErrors = false;
7220 }
7221  break;
7222 
7223  case 778:
7224 
7225  {
7226  if (!parserData->ignoreDataAfterErrors)
7227  if (osoption->setInitBasisStatus(ENUM_PROBLEM_COMPONENT_constraints, ENUM_BASIS_STATUS_unknown, osglData->osglIntArray, osglData->numberOfEl) != true)
7228  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set slacks unknown failed");
7229  delete[] osglData->osglIntArray;
7230  osglData->osglIntArray = NULL;
7231  parserData->suppressFurtherErrorMessages = false;
7232  parserData->ignoreDataAfterErrors = false;
7233 }
7234  break;
7235 
7236  case 781:
7237 
7238  {
7239  parserData->iOther++;
7240  }
7241  break;
7242 
7243  case 782:
7244 
7245  {
7246  if (parserData->iOther >= parserData->numberOfOtherConstraintOptions)
7247  if (!parserData->suppressFurtherErrorMessages)
7248  {
7249  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <otherConstraintOptions> than specified");
7250  parserData->suppressFurtherErrorMessages = true;
7251  parserData->ignoreDataAfterErrors = true;
7252  }
7253  osglData->numberOfConPresent = false;
7254  osglData->numberOfCon = 0;
7255  osglData->numberOfEnumerationsPresent = false;
7256  osglData->numberOfEnumerations = 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");
7281  if (!parserData->ignoreDataAfterErrors)
7282  if (!osoption->setOtherConstraintOptionAttributes(
7283  parserData->iOther,
7284  osglData->numberOfCon,
7285  osglData->numberOfEnumerations,
7286  osglData->name,
7287  osglData->value,
7288  osglData->solver,
7289  osglData->category,
7290  osglData->type,
7291  osglData->conType,
7292  osglData->enumType,
7293  osglData->description) )
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  {
7315  if (!parserData->ignoreDataAfterErrors)
7316  if (!osoption->setOtherConstraintOptionCon(
7317  parserData->iOther,
7318  parserData->kounter,
7319  osglData->idx,
7320  osglData->name,
7321  osglData->value,
7322  parserData->lbValueAttribute,
7323  parserData->ubValueAttribute) )
7324  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "set other constraint option <con> element failed");
7325  parserData->kounter++;
7326 }
7327  break;
7328 
7329  case 806:
7330 
7331  {
7332  if (parserData->kounter >= osglData->numberOfCon)
7333  if (!parserData->suppressFurtherErrorMessages)
7334  {
7335  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <con> elements than specified");
7336  parserData->suppressFurtherErrorMessages = true;
7337  parserData->ignoreDataAfterErrors = true;
7338  }
7339  osglData->idxPresent = false;
7340  osglData->namePresent = false;
7341  osglData->name = "";
7342  osglData->valuePresent = false;
7343  osglData->value = "";
7344  parserData->lbValueAttributePresent = false;
7345  parserData->lbValueAttribute = "";
7346  parserData->ubValueAttributePresent = false;
7347  parserData->ubValueAttribute = "";
7348 }
7349  break;
7350 
7351  case 810:
7352 
7353  {
7354  if (osglData->idx < 0)
7355  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
7356  "constraint index must be nonnegative");
7357  if (osoption->optimization->numberOfConstraints >= 0)
7358  {
7359  if (osglData->idx >= osoption->optimization->numberOfConstraints)
7360  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
7361  "constraint index exceeds upper limit");
7362  };
7363  }
7364  break;
7365 
7366  case 819:
7367 
7368  {
7369  parserData->suppressFurtherErrorMessages = false;
7370  parserData->ignoreDataAfterErrors = false;
7371  }
7372  break;
7373 
7374  case 821:
7375 
7376  {
7377  if (!osoption->setNumberOfSolverOptions(parserData->numberOfSolverOptions) )
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  {
7386  if (parserData->numberOfSolverOptions > 0)
7387  {
7388  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "expected at least one <solverOption> element");
7389  parserData->ignoreDataAfterErrors = true;
7390  }
7391  }
7392  break;
7393 
7394  case 823:
7395 
7396  {
7397  if (parserData->iOption != parserData->numberOfSolverOptions)
7398  {
7399  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <solverOption> elements than specified");
7400  parserData->ignoreDataAfterErrors = true;
7401  }
7402  }
7403  break;
7404 
7405  case 828:
7406 
7407  {
7408  if (!parserData->ignoreDataAfterErrors)
7409  if (!osoption->setSolverOptionContent(
7410  parserData->iOption,
7411  osglData->numberOfItems,
7412  osglData->name,
7413  osglData->value,
7414  osglData->solver,
7415  osglData->category,
7416  osglData->type,
7417  osglData->description,
7418  parserData->itemList) )
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;
7423  parserData->iOption++;
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;
7435  osglData->descriptionPresent = false;
7436  osglData->numberOfItemsPresent = false;
7437  osglData->value = "";
7438  osglData->solver = "";
7439  osglData->category = "";
7440  osglData->type = "";
7441  osglData->description = "";
7442  osglData->numberOfItems = 0;
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");
7468  parserData->ignoreDataAfterErrors = true;
7469  }
7470  }
7471  break;
7472 
7473  case 841:
7474 
7475  {
7476  if (parserData->kounter < osglData->numberOfItems)
7477  {
7478  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer <item> elements than specified");
7479  parserData->ignoreDataAfterErrors = true;
7480  }
7481  }
7482  break;
7483 
7484  case 848:
7485 
7486  {
7487  parserData->itemList[parserData->kounter] = parserData->itemContent;
7488  parserData->kounter++;
7489 }
7490  break;
7491 
7492  case 849:
7493 
7494  {
7495  if (parserData->kounter >= osglData->numberOfItems)
7496  if (!parserData->suppressFurtherErrorMessages)
7497  {
7498  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <item> elements than specified");
7499  parserData->suppressFurtherErrorMessages = true;
7500  parserData->ignoreDataAfterErrors = true;
7501  }
7502  parserData->itemContent = "";
7503  }
7504  break;
7505 
7506  case 854:
7507 
7508  {
7509  if (parserData->kounter >= osglData->numberOfItems)
7510  if (!parserData->suppressFurtherErrorMessages)
7511  {
7512  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <item> elements than specified");
7513  parserData->suppressFurtherErrorMessages = true;
7514  parserData->ignoreDataAfterErrors = true;
7515  }
7516  parserData->itemContent = (yyvsp[(1) - (1)].sval);
7517  free((yyvsp[(1) - (1)].sval));
7518 }
7519  break;
7520 
7521  case 857:
7522 
7523  {
7524  if (parserData->kounter >= parserData->numberOf)
7525  {
7526  if (!parserData->suppressFurtherErrorMessages)
7527  {
7528  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many paths in <requiredDirectories> element");
7529  parserData->suppressFurtherErrorMessages = true;
7530  parserData->ignoreDataAfterErrors = true;
7531  }
7532  }
7533  else
7534  {
7535  parserData->paths[parserData->kounter] = (yyvsp[(3) - (4)].sval);
7536  parserData->kounter++;
7537  }
7538  free((yyvsp[(3) - (4)].sval));
7539 }
7540  break;
7541 
7542  case 858:
7543 
7544  {
7545  if (parserData->kounter >= parserData->numberOfPathPairs)
7546  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "too many path pairs");
7547  else
7548  {
7549  if (!parserData->pathPairFromPresent)
7550  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "\"from\" attribute must be present");
7551  if (!parserData->pathPairToPresent)
7552  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "\"to\" attribute must be present");
7553  parserData->fromPaths[parserData->kounter] = parserData->pathPairFrom;
7554  parserData->toPaths[parserData->kounter] = parserData->pathPairTo;
7555  parserData->makeCopy[parserData->kounter] = parserData->pathPairMakeCopy;
7556  parserData->kounter++;
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");
7566  parserData->pathPairFrom = "";
7567  parserData->pathPairTo = "";
7568  parserData->pathPairFromPresent = false;
7569  parserData->pathPairToPresent = false;
7570  parserData->pathPairMakeCopyPresent = false;
7571  parserData->pathPairMakeCopy = false;
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  {
7585  if (parserData->pathPairFromPresent)
7586  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"from\" attribute allowed");
7587  parserData->pathPairFromPresent = true;
7588  parserData->pathPairFrom = (yyvsp[(2) - (3)].sval);
7589  free((yyvsp[(2) - (3)].sval));
7590 }
7591  break;
7592 
7593  case 867:
7594 
7595  {
7596  if (parserData->pathPairToPresent)
7597  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"to\" attribute allowed");
7598  parserData->pathPairToPresent = true;
7599  parserData->pathPairTo = (yyvsp[(2) - (3)].sval);
7600  free((yyvsp[(2) - (3)].sval));
7601 }
7602  break;
7603 
7604  case 868:
7605 
7606  {
7607  if (parserData->pathPairMakeCopyPresent)
7608  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one \"makeCopy\" attribute allowed");
7609  parserData->pathPairMakeCopyPresent = true;
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  {
7618  if (parserData->groupWeightAttributePresent )
7619  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one groupWeight attribute allowed for this element");
7620  parserData->groupWeightAttributePresent = true;
7621 }
7622  break;
7623 
7624  case 872:
7625 
7626  {
7627  parserData->groupWeight = parserData->tempVal;
7628 }
7629  break;
7630 
7631  case 873:
7632 
7633  {
7634  if (parserData->lbValueAttributePresent )
7635  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one lb attribute allowed for this element");
7636  parserData->lbValueAttributePresent = true;
7637 }
7638  break;
7639 
7640  case 876:
7641 
7642  {
7643  parserData->lbValueAttribute = "";
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 
7657  { if (parserData->lbValueAttributePresent )
7658  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one lb attribute allowed for this element");
7659  parserData->lbValueAttributePresent = true;
7660  }
7661  break;
7662 
7663  case 881:
7664 
7665  {
7666  parserData->lbDualValue = 0.0;
7667 }
7668  break;
7669 
7670  case 882:
7671 
7672  {
7673  parserData->lbDualValue = parserData->tempVal;
7674 }
7675  break;
7676 
7677  case 883:
7678 
7679  { if (parserData->sosIdxAttributePresent )
7680  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one sosIdx attribute allowed for this element");
7681  parserData->sosIdxAttributePresent = true;
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  {
7697  if (parserData->ubValueAttributePresent )
7698  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one ub attribute allowed for this element");
7699  parserData->ubValueAttributePresent = true;
7700 }
7701  break;
7702 
7703  case 889:
7704 
7705  {
7706  parserData->ubValueAttribute = "";
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 
7720  { if (parserData->ubValueAttributePresent )
7721  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "only one ub attribute allowed for this element");
7722  parserData->ubValueAttributePresent = true;
7723  }
7724  break;
7725 
7726  case 894:
7727 
7728  { parserData->ubDualValue = 0.0; }
7729  break;
7730 
7731  case 895:
7732 
7733  {
7734  parserData->ubDualValue = parserData->tempVal;
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");
7826  parserData->numberOfSolverOptions = (yyvsp[(3) - (4)].ival);
7827 }
7828  break;
7829 
7830  case 907:
7831 
7832  {
7833  if (!parserData->ignoreDataAfterErrors)
7834  if (!osoption->setOtherOptionOrResultEnumeration(parserData->otherOptionType,
7835  parserData->iOther,
7836  parserData->kounter,
7837  osglData->numberOfEl,
7838  osglData->value,
7839  osglData->description,
7840  osglData->osglIntArray) )
7841  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData,
7842  "set <other> option enumeration failed");
7843 
7844  delete[] osglData->osglIntArray;
7845  osglData->osglIntArray = NULL;
7846  osglData->numberOfEl = 0;
7847  parserData->kounter++;
7848 }
7849  break;
7850 
7851  case 908:
7852 
7853  {
7854  if (parserData->kounter >= osglData->numberOfEnumerations)
7855  if (!parserData->suppressFurtherErrorMessages)
7856  {
7857  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more <enumeration> elements than specified");
7858  parserData->suppressFurtherErrorMessages = true;
7859  parserData->ignoreDataAfterErrors = true;
7860  }
7861  osglData->numberOfElPresent = false;
7862  osglData->numberOfEl = 0;
7863  osglData->valuePresent = false;
7864  osglData->value = "";
7865  osglData->descriptionPresent = false;
7866  osglData->description = "";
7867 }
7868  break;
7869 
7870  case 909:
7871 
7872  {
7873  if(!osglData->numberOfElPresent)
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)
7887  osglData->osglIntArray = new int[osglData->numberOfEl];
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;
7911  osglData->descriptionPresent = false;
7912  osglData->fileCreatorPresent = 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
7959  osglData->descriptionPresent = true;
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
7977  osglData->fileCreatorPresent = true;
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  {
8010  if (osglData->osglCounter < osglData->numberOfEl)
8011  {
8012  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "fewer data elements than specified");
8013  parserData->ignoreDataAfterErrors = true;
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  {
8031  if (osglData->osglCounter + osglData->mult > osglData->numberOfEl)
8032  {
8033  if (!parserData->suppressFurtherErrorMessages)
8034  {
8035  parserData->parser_errors += addErrorMsg( NULL, osoption, parserData, osglData, osnlData, "more data elements than specified");
8036  parserData->suppressFurtherErrorMessages = true;
8037  parserData->ignoreDataAfterErrors = true;
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)
8127  osglData->osglIntArray = new int[osglData->numberOfEl];
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");
8136  if (osglData->numberOfConPresent)
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");
8139  osglData->numberOfConPresent = true;
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");
8149  if (osglData->numberOfConstraintsPresent)
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");
8152  osglData->numberOfConstraintsPresent = true;
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");
8162  if (osglData->numberOfElPresent)
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");
8175  if (osglData->numberOfEnumerationsPresent)
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");
8178  osglData->numberOfEnumerationsPresent = true;
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");
8188  if (osglData->numberOfItemsPresent)
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");
8191  osglData->numberOfItemsPresent = true;
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");
8201  if (osglData->numberOfObjPresent)
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");
8204  osglData->numberOfObjPresent = true;
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");
8214  if (osglData->numberOfObjectivesPresent)
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");
8217  osglData->numberOfObjectivesPresent = true;
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");
8227  if (osglData->numberOfVarPresent)
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");
8230  osglData->numberOfVarPresent = true;
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");
8240  if (osglData->numberOfVariablesPresent)
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");
8243  osglData->numberOfVariablesPresent = true;
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");
8253  if (osglData->base64SizePresent)
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");
8343  osglData->descriptionPresent = true;
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");
8352  osglData->descriptionPresent = true;
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  }
8523  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
8524 
8525  YYPOPSTACK (yylen);
8526  yylen = 0;
8527  YY_STACK_PRINT (yyss, yyssp);
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 
8538  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
8539  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8540  yystate = yytable[yystate];
8541  else
8542  yystate = yydefgoto[yyn - YYNTOKENS];
8543 
8544  goto yynewstate;
8545 
8546 
8547 /*------------------------------------.
8548 | yyerrlab -- here on detecting error |
8549 `------------------------------------*/
8550 yyerrlab:
8551  /* If not already recovering from an error, report this error. */
8552  if (!yyerrstatus)
8553  {
8555 #if ! YYERROR_VERBOSE
8556  yyerror (&yylloc, osoption, parserData, osglData, osnlData, YY_("syntax error"));
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))
8564  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);
8580  yyerror (&yylloc, osoption, parserData, osglData, osnlData, yymsg);
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",
8608  yytoken, &yylval, &yylloc, osoption, parserData, osglData, osnlData);
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 `---------------------------------------------------*/
8621 yyerrorlab:
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;
8634  YY_STACK_PRINT (yyss, yyssp);
8635  yystate = *yyssp;
8636  goto yyerrlab1;
8637 
8638 
8639 /*-------------------------------------------------------------.
8640 | yyerrlab1 -- common code for both syntax error and YYERROR. |
8641 `-------------------------------------------------------------*/
8642 yyerrlab1:
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",
8665  yystos[yystate], yyvsp, yylsp, osoption, parserData, osglData, osnlData);
8666  YYPOPSTACK (1);
8667  yystate = *yyssp;
8668  YY_STACK_PRINT (yyss, 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. */
8676  YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
8677  *++yylsp = yyloc;
8678 
8679  /* Shift the error token. */
8680  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
8681 
8682  yystate = yyn;
8683  goto yynewstate;
8684 
8685 
8686 /*-------------------------------------.
8687 | yyacceptlab -- YYACCEPT comes here. |
8688 `-------------------------------------*/
8689 yyacceptlab:
8690  yyresult = 0;
8691  goto yyreturn;
8692 
8693 /*-----------------------------------.
8694 | yyabortlab -- YYABORT comes here. |
8695 `-----------------------------------*/
8696 yyabortlab:
8697  yyresult = 1;
8698  goto yyreturn;
8699 
8700 #if !defined(yyoverflow) || YYERROR_VERBOSE
8701 /*-------------------------------------------------.
8702 | yyexhaustedlab -- memory exhaustion comes here. |
8703 `-------------------------------------------------*/
8705  yyerror (&yylloc, osoption, parserData, osglData, osnlData, YY_("memory exhausted"));
8706  yyresult = 2;
8707  /* Fall through. */
8708 #endif
8709 
8710 yyreturn:
8711  if (yychar != YYEMPTY)
8712  yydestruct ("Cleanup: discarding lookahead",
8713  yytoken, &yylval, &yylloc, osoption, parserData, osglData, osnlData);
8714  /* Do not reclaim the symbols of the rule which action triggered
8715  this YYABORT or YYACCEPT. */
8716  YYPOPSTACK (yylen);
8717  YY_STACK_PRINT (yyss, yyssp);
8718  while (yyssp != yyss)
8719  {
8720  yydestruct ("Cleanup: popping",
8721  yystos[*yyssp], yyvsp, yylsp, osoption, parserData, osglData, osnlData);
8722  YYPOPSTACK (1);
8723  }
8724 #ifndef yyoverflow
8725  if (yyss != yyssa)
8726  YYSTACK_FREE (yyss);
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
8741 void addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, const char* errormsg )
8742 {
8743  osol_empty_vectors( parserData);
8744  osgl_empty_vectors( osglData);
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 
8756 std::string addErrorMsg(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, OSnLParserData *osnlData, std::string errormsg )
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 
8766 void osolerror(YYLTYPE* mytype, OSOption *osoption, OSoLParserData* parserData, OSgLParserData* osglData, OSnLParserData *osnlData, std::string errormsg )
8767 {
8768  osol_empty_vectors( parserData);
8769  osgl_empty_vectors( osglData);
8770  osnl_empty_vectors( osnlData);
8771  throw ErrorClass( errormsg);
8772 } //end osolerror
8773 
8774 void yygetOSOption(const char *parsestring, OSOption *osoption,
8775  OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData) throw(ErrorClass)
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 
#define BASEMATRIXSTARTCOLATT
#define EMPTYMATRIXTYPEATT
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
std::string * fromPaths
#define OTHEROPTIONSSTART
int yyerrstatus
#define EMPTYLBVALUEATT
#define YYSIZE_MAXIMUM
#define MATRICESEND
#define GENERALEND
#define ELEMENTSSTART
#define SYSTEMEND
#define ENUMTYPEATT
#define YYSTACK_ALLOC
the SystemOption class.
Definition: OSOption.h:545
#define ABSSTART
#define SOLVEROPTIONEND
#define MINCPUNUMBEREND
goto yysetstate
#define PATHSTART
bool inputDirectoriesToMovePresent
#define YYID(n)
#define GROUPWEIGHTATT
std::string fileCreator
double os_strtod(const char *s00, char **se)
Definition: OSdtoa.cpp:2541
#define YYLEX
#define yylval
#define INPUTFILESTOMOVEEND
#define INSTANCENAMEEND
bool otherSystemOptionsPresent
#define INITIALOBJECTIVEBOUNDSEND
char yymsgbuf[128]
#define FILEDESCRIPTIONSTART
#define INITIALDUALVALUESEND
#define FILECREATOREMPTY
#define INSTANCENAMESTART
#define UBVALUEATT
#define EMPTYWEIGHTATT
bool dependenciesPresent
std::string licence
#define MATRIXOBJECTIVESSTART
std::string name
#define SOLVEROPTIONSEND
std::string unit
bool verifyLocationType(std::string type)
Definition: OSParameters.h:324
#define NUMBEROFPATHPAIRSATT
goto yyexhaustedlab
YYSTYPE * yyvsp
#define CONSTRAINTSEND
#define UBDUALVALUEATT
int numberOfOtherObjectiveOptions
#define EMPTYCATEGORYATT
#define EMPTYSOLVERATT
#define FILELICENCESTARTANDEND
std::string lbValueAttribute
#define SYMMETRYATT
#define EMPTYROWMAJORATT
const char * yys
#define MATRIXNEGATEEND
#define SQUAREEND
#define DEPENDENCIESSTART
#define MATRIXSUBMATRIXATSTART
unsigned short int yytype_uint16
#define ELEND
#define FILESTOMAKEEND
std::string type
yytype_int16 * yyss
#define NUMBEROFOTHEROBJECTIVEOPTIONSATT
void yygetOSOption(const char *osil, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData)
bool verifyTransportType(std::string type)
Definition: OSParameters.h:348
#define SOSSTART
#define EMPTYUBDUALVALUEATT
#define MATRIXMINUSSTART
int * osglIntArray
data structure to process an IntVector and hold the data temporarily
#define ELSTART
#define LICENSESTART
#define MATRIXTOSCALARSTART
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid ...
bool requiredFilesPresent
#define DESCRIPTIONATT
#define NUMBEROFSOLVEROPTIONSATT
#define EMPTYVALUEATT
#define IDENTITYMATRIXEND
#define COEFATT
#define INITIALOBJECTIVEBOUNDSSTART
#define INSTANCELOCATIONSTART
void osolerror(YYLTYPE *mytype, OSOption *osoption, OSoLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData, std::string errormsg)
#define NONZEROSSTART
#define CONREFERENCEELEMENTSEND
#define MATRIXCONSTRAINTSSTART
unsigned char yytype_uint8
#define VARIDXSTART
bool serviceTypePresent
children of the &lt;service&gt; element
#define MATRIXCONSTRAINTSEND
std::string pathPairTo
#define BLOCKSEND
#define EMPTYMATRIXVARTYPEATT
#define NUMBEREND
#define JOBEND
#define FILELICENCEEND
std::string * itemList
#define UNKNOWNSTART
std::string typeAttribute
#define YYNTOKENS
#define YYINITDEPTH
#define OUTPUTFILESTOMOVESTART
#define DIVIDESTART
#define LINEARELEMENTSEND
#define MATRIXOBJIDXATT
#define CONTACTEND
#define BASEMATRIXSTART
std::string errormsg
errormsg is the error that is causing the exception to be thrown
Definition: OSErrorClass.h:42
#define NUMBEROFOBJIDXATT
#define NUMBEROFVALUESATT
#define VARIABLEEND
#define BLOCKCOLIDXATT
#define MATRIXDIAGONALSTART
int osollex_init(void **ptr_yy_globals)
int tempInt
some temporary items to facilitate code sharing
#define UNKNOWNEND
YYLTYPE yyloc
#define ROWOFFSETEND
#define NUMBEROFROWSATT
#define NUMBEROFOTHERVARIABLEOPTIONSATT
#define SOLVERTOINVOKESTART
#define MATRIXVARIDXATT
#define NUMBEROFPATHSATT
#define ENUMERATIONSTART
#define MATRIXREFERENCEEND
#define NUMBEROFCONATT
#define YYTABLE_NINF
#define NUMBEROFMATRIXOBJATT
#define SOSVARIABLEBRANCHINGWEIGHTSSTART
#define HEADERSTART
#define FILENAMEEND
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
#define MATRIXTERMSTART
#define BASEMATRIXSTARTROWATT
#define MATRIXPLUSEND
#define MATRIXMINUSEND
#define NUMBEROFELATT
#define NUMBEROFSOSATT
OSOption * osoption
#define PISTART
union YYSTYPE YYSTYPE
YYSTYPE * yyvs
char * osolget_text(yyscan_t yyscanner)
Get the current token.
#define FROMATT
#define MATRIXVARSTART
#define MINEND
#define MATRIXEXPRESSIONSEND
goto yyerrlab
std::string * processesToKill
#define ITEMTEXT
bool directoriesToDeletePresent
#define MATRIXDETERMINANTSTART
std::string source
#define VARIABLESTART
#define ROWMAJORATT
#define LNSTART
#define INITIALCONSTRAINTVALUESEND
#define SOSVARIABLEBRANCHINGWEIGHTSEND
#define REQUIREDDIRECTORIESSTART
bool groupWeightAttributePresent
std::string category
#define NUMBEROFMATRIXTERMSATT
#define OTHEREND
#define EXPEND
#define MATRIXMERGEEND
int numberOfOtherConstraintOptions
#define REQUIREDFILESSTART
#define ISFREESTART
static const yytype_uint16 yytable[]
bool numberOfObjectivesPresent
#define OUTPUTFILESTOMOVEEND
#define NEGATEEND
#define YYSTACK_ALLOC_MAXIMUM
#define ESTART
#define EXPSTART
#define QUOTE
goto yyreturn
#define POWEREND
#define TARGETMATRIXFIRSTCOLATT
bool minDiskSpacePresent
children of the &lt;system&gt; element
#define DIVIDEEND
bool numberOfConstraintsPresent
int osollex_destroy(void *scanner)
#define LINEARELEMENTSSTART
#define INITIALVARIABLEVALUESSTRINGEND
#define YYPACT_NINF
#define REQUIREDDIRECTORIESEND
#define MATRIXSTART
static const yytype_uint16 yyr1[]
#define EMPTYMATRIXCONTYPEATT
#define OTHEROPTIONSEND
static const yytype_uint16 yytranslate[]
#define INSTANCELOCATIONEND
#define MATRIXOBJECTIVESEND
#define SOSIDXATT
#define EMPTYNAMEATT
#define SYSTEMSTART
#define FILEDESCRIPTIONSTARTANDEND
#define NUMBEROFPROCESSESATT
#define MATRIXTIMESSTART
#define INTEGERVARIABLEBRANCHINGWEIGHTSEND
#define PROCESSESTOKILLSTART
#define DIRECTORIESTODELETEEND
#define VALUESTART
bool ubValueAttributePresent
#define MATRIXINVERSEEND
#define YY_(msgid)
#define COLOFFSETEND
void osgl_empty_vectors(OSgLParserData *osglData)
#define EMPTYSHAPEATT
#define VARIABLESEND
#define BLOCKSTART
int yyn
#define NAMEATT
#define MATRIXDOTTIMESSTART
#define MATRIXREFERENCESTART
OSnLParserData * osnlData
#define EMPTYTYPEATT
#define SOLVEROPTIONSSTART
#define SINSTART
#define INTEGERVARIABLEBRANCHINGWEIGHTSSTART
#define TARGETMATRIXFIRSTROWATT
goto yybackup
static const yytype_uint8 yyr2[]
#define OBJTYPEATT
#define YYACCEPT
#define SQUARESTART
OSgLParserData * osglData
#define EMPTYVALUETYPEATT
std::string addErrorMsg(YYLTYPE *mytype, OSInstance *osinstance, OSiLParserData *parserData, OSgLParserData *osglData, OSnLParserData *osnlData, std::string errormsg)
#define yynerrs
bool minCPUNumberPresent
#define HEADEREND
#define YYPOPSTACK(N)
#define POWERSTART
std::string description
OSiLParserData * parserData
The Option Class.
Definition: OSOption.h:3564
goto yydefault
#define CONTACTSTART
std::string * toPaths
#define YYUSE(e)
bool numberOfEnumerationsPresent
#define BLOCKROWIDXATT
#define DUMMY
#define YYDPRINTF(Args)
#define GENERALELEMENTSEND
#define INITIALVARIABLEVALUESSTRINGSTART
#define VALUESEND
#define YYEMPTY
#define PATHEND
struct yy_buffer_state * YY_BUFFER_STATE
#define TOATT
#define CONSTART
bool requestedStartTimePresent
void osol_empty_vectors(OSoLParserData *parserData)
const char * yysrc
#define OPTIMIZATIONEND
#define GREATERTHAN
#define SINEND
YY_BUFFER_STATE osol_scan_string(yyconst char *yy_str, yyscan_t yyscanner)
Setup the input buffer state to scan a string.
#define NLEND
#define MAXEND
#define yychar
#define MATRIXPRODUCTSTART
#define yyparse
#define FILEDESCRIPTIONEND
void osolset_extra(OSoLParserData *parserData, void *yyscanner)
double OSNaN()
returns the value for NaN used in OS
int osolget_lineno(yyscan_t yyscanner)
Get the current line number.
bool serviceURIPresent
children of the &lt;general&gt; element
#define SERVICETYPESTART
#define MATRIXTRANSPOSEEND
#define MINCPUNUMBERSTART
#define OBJEND
#define CONSTRAINTSSTART
YYLTYPE * yyls
#define MATRIXVARTYPEATT
#define MATRIXEND
#define FILENAMESTARTANDEND
#define OBJREFERENCEELEMENTSEND
#define MATRIXSCALARTIMESEND
#define BASEMATRIXENDROWATT
#define MATRIXCONSTART
#define INPUTFILESTOMOVESTART
#define REQUESTEDSTARTTIMEEND
#define NONLINEAREXPRESSIONSSTART
#define NUMBEROFVARIABLESATT
#define INDEXSTART
#define YYTRANSLATE(YYX)
#define ATLOWERSTART
#define CONTYPEATT
#define VAREND
#define MINCPUSPEEDEND
static YYSIZE_T yysyntax_error(char *yyresult, int yystate, int yychar)
#define SERVICEURISTART
#define NUMBEROFENUMERATIONSATT
#define INITIALCONSTRAINTVALUESSTART
static const yytype_int16 yypgoto[]
the OptimizationOption class.
Definition: OSOption.h:3495
#define MINUSEND
#define MATRIXPRODUCTEND
void osolset_lineno(int line_number, yyscan_t yyscanner)
Set the current line number.
#define FILECREATORSTART
#define CATEGORYATT
#define SERVICENAMEEND
#define SOLVEROPTIONSTART
#define CONEND
#define FILENAMESTART
#define ITEMEMPTY
#define VARSTART
#define ITEMSTARTANDEND
#define IDXATT
the VariableOption class.
Definition: OSOption.h:2096
#define NUMBEROFJOBIDSATT
double * lbValArray
#define YY_REDUCE_PRINT(Rule)
std::string value
#define OBJREFERENCEELEMENTSSTART
yytype_int16 yyss_alloc
#define MATRIXUPPERTRIANGLESTART
#define DEPENDENCIESEND
#define MATRIXOBJSTART
#define JOBIDEND
#define EXPRSTART
bool instanceLocationPresent
#define FILESOURCESTART
#define MATRIXCONIDXATT
#define MATRIXCONTYPEATT
YYSIZE_T yystacksize
#define MATRIXPROGRAMMINGSTART
#define PLUSSTART
#define NUMBEROFMATRIXVARATT
#define INDEXEND
#define MINMEMORYEND
#define BASEMATRIXEND
#define MATRIXTRACESTART
#define MATRIXLOWERTRIANGLESTART
std::string * namArray
#define MINDISKSPACESTART
short int yytype_int8
#define VARTYPEATT
bool requiredDirectoriesPresent
#define MATRIXVARIABLESSTART
bool processesToKillPresent
#define LOCATIONTYPEATT
#define BLOCKEND
#define FILESOURCEEMPTY
#define SERVICEEND
#define VALUEEND
#define OBJECTIVESSTART
#define scanner
#define TRANSPORTTYPEATT
YYSTYPE yyvs_alloc
#define PATHPAIREND
#define INITIALBASISSTATUSEND
#define ITEMEND
#define ISFREEEND
#define EMPTYOBJTYPEATT
#define MATRIXINVERSESTART
#define FILESOURCEEND
#define EMPTYVARTYPEATT
return yylen
#define SOLVERTOINVOKEEND
#define ERFSTART
the ConstraintOption class.
Definition: OSOption.h:3263
#define FILECREATORSTARTANDEND
#define MATRIXMERGESTART
bool outputFilesToMovePresent
#define OPTIMIZATIONSTART
#define ABSEND
#define OBJSTART
#define SOLVERATT
YYLTYPE yyerror_range[2]
bool directoriesToMakePresent
#define ATLOWEREND
#define MATRICESSTART
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
const double OSDBL_MAX
Definition: OSParameters.h:93
short int yytype_int16
#define NUMBEROFBLOCKSATT
#define MATRIXTERMEND
bool maxTimePresent
children of the &lt;job&gt; element
#define yydebug
static YYSIZE_T yytnamerr(char *yyres, const char *yystr)
the ServiceOption class.
Definition: OSOption.h:610
#define SERVICEURIEND
#define OSOLATTRIBUTETEXT
#define VARIABLESSTART
#define YYMAXDEPTH
void osnl_empty_vectors(OSnLParserData *osnlData)
#define MINSTART
bool numberOfVariablesPresent
int yytoken
#define YYSTACK_FREE
#define NUMBEROFEXPR
#define OTHERSTART
bool otherGeneralOptionsPresent
#define SERVICESTART
#define MAXTIMESTART
#define NUMBEROFMATRIXCONATT
bool sosIdxAttributePresent
#define NEGATESTART
#define NUMBEROFNONLINEAREXPRESSIONS
bool solverToInvokePresent
#define PROCESSEND
#define VALUEATT
the JobOption class.
Definition: OSOption.h:1064
#define FILESOURCESTARTANDEND
#define INITIALDUALVALUESSTART
#define MATRIXDIAGONALEND
#define MATRIXTYPEATT
static int
Definition: OSdtoa.cpp:2173
#define WEIGHTATT
goto yynewstate
#define EMPTYSYMMETRYATT
#define EXPREND
#define REQUIREDFILESEND
the ObjectiveOption class.
Definition: OSOption.h:2681
#define OBJECTIVESEND
YYLTYPE yylsa[YYINITDEPTH]
#define MATRIXTOSCALAREND
#define INITIALVARIABLEVALUESSTART
#define PRODUCTSTART
std::string solver
#define IDATT
#define FILEDESCRIPTIONEMPTY
#define INTEGER
#define BLOCKSSTART
#define ELEMENTTEXT
#define NLSTART
#define IDENTITYMATRIXSTART
int osollex(YYSTYPE *yylval_param, YYLTYPE *yylloc_param, yyscan_t yyscanner)
#define SUPERBASICSTART
static const yytype_uint16 yystos[]
int yytype
#define MATRIXNEGATESTART
#define MATRIXCONEND
#define YY_STACK_PRINT(Bottom, Top)
#define SCALARMULTIPLIERATT
int yyresult
#define NUMBEROFOTHEROPTIONSATT
#define EMPTYENUMTYPEATT
#define IFSTART
#define LNEND
#define TRANSFORMATIONEND
return yyd
static const yytype_int16 yypact[]
#define INCLUDEDIAGONALATT
#define NUMBERSTART
#define SUMSTART
#define ENDOFELEMENT
#define GENERALELEMENTSSTART
#define BASE64START
#define MATRIXSUBMATRIXATEND
#define LICENSEEND
#define PASSWORDSTART
#define OSOLSTARTEMPTY
#define MINCPUSPEEDSTART
#define YYTERROR
std::string fileName
data structure to process a GeneralFileHeader and hold the data temporarily
#define MAKECOPYATT
#define OUTPUTDIRECTORIESTOMOVEEND
#define YYABORT
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered ...
#define yylloc
std::string * valueString
#define MATRIXOBJEND
#define YYSIZE_T
#define MATRIXTIMESEND
#define REQUESTEDSTARTTIMESTART
#define INDEXESEND
#define FILELICENCESTART
#define MATRIXEXPRESSIONSSTART
#define MATRIXDOTTIMESEND
#define INPUTDIRECTORIESTOMOVEEND
#define STRINGVALUEDELEMENTSEND
#define FILELICENCEEMPTY
#define NUMBEROFOBJECTIVESATT
#define NUMBEROFVARATT
#define NUMBEROFOTHERCONSTRAINTOPTIONSATT
#define BASE64END
#define VARREFERENCEELEMENTSSTART
#define USERNAMESTART
static const yytype_uint16 yydefact[]
#define PROCESSSTART
#define EMPTYMATRIXOBJTYPEATT
goto yyerrlab1
#define MINDISKSPACEEND
static const char *const yytname[]
double * ubValArray
#define CONSTANTELEMENTSSTART
#define DOUBLE
#define COLOFFSETSTART
#define INITIALOBJECTIVEVALUESSTART
#define MATRIXPLUSSTART
#define LBVALUEATT
yytype_int16 yyssa[YYINITDEPTH]
YYLTYPE * yylocationp
std::string pathPairFrom
yytokentype
goto yyreduce
#define MATRIXSCALARTIMESSTART
#define TRANSFORMATIONSTART
#define GENERALSTART
bool otherServiceOptionsPresent
YYLTYPE yyls_alloc
#define NUMBEROFCOLUMNSATT
#define JOBIDSTART
bool suppressFurtherErrorMessages
#define ELEMENTSEND
YYLTYPE * yylsp
#define EMPTYIDATT
bool inputFilesToMovePresent
#define VARREFERENCEELEMENTSEND
std::string conType
#define MATRIXLOWERTRIANGLEEND
static void
Definition: OSdtoa.cpp:1741
bool otherJobOptionsPresent
#define MATRIXVARIABLESEND
#define STARTVECTOREND
std::string ubValueAttribute
#define CONSTANTELEMENTSEND
#define TWOQUOTES
#define INITIALBASISSTATUSSTART
#define PASSWORDEND
#define TIMESEND
int yystate
#define VALUESSTART
#define CONREFERENCEELEMENTSSTART
#define MAXSTART
#define MATRIXPROGRAMMINGEND
#define INPUTDIRECTORIESTOMOVESTART
std::string objType
#define YYFINAL
#define INCRATT
#define LBDUALVALUEATT
#define MATRIXOBJTYPEATT
#define MINMEMORYSTART
std::string enumType
#define ENUMERATIONEND
#define NUMBEROFCONSTRAINTSATT
#define SQRTEND
#define PLUSEND
static void const char * yymsg
#define OSOLSTART
#define EMPTYUBVALUEATT
#define CONSTANTATT
#define YY_LOCATION_PRINT(File, Loc)
#define ATUPPEREND
for(int i=0;i< nnz;i++)
bool lbValueAttributePresent
The GeneralOption Class.
Definition: OSOption.h:284
int numberOfOtherVariableOptions
YYSTYPE yyval
YYSIZE_T yymsg_alloc
#define MATRIXDETERMINANTEND
#define SERVICENAMESTART
#define NONLINEAREXPRESSIONSEND
#define YYLAST
static char *char * yydest
#define yyerror
#define DIRECTORIESTOMAKEEND
#define PRODUCTEND
#define INITIALVARIABLEVALUESEND
#define MATRIXVAREND
#define EEND
#define UNITATT
#define BASICEND
static std::string decodeb64(char *b64bytes)
decode the data in base 64
Definition: OSBase64.cpp:87
#define ROWOFFSETSTART
#define BASEMATRIXIDXATT
#define NUMBEROFVARIDXATT
#define SQRTSTART
#define OUTPUTDIRECTORIESTOMOVESTART
#define TIMESSTART
#define OSOLEND
#define INDEXESSTART
#define YYLLOC_DEFAULT(Current, Rhs, N)
struct YYLTYPE YYLTYPE
#define NUMBEROFCONIDXATT
#define FILENAMEEMPTY
#define BASETRANSPOSEATT
#define SUPERBASICEND
#define EMPTYUNITATT
#define ATTRIBUTETEXT
std::string itemContent
#define YYEOF
The OSgLParserData Class.
#define BASICSTART
#define VARIDXEND
#define COSSTART
#define USERNAMEEND
std::string * jobDependencies
all arrays are collected here
#define DIRECTORIESTOMAKESTART
#define PATHPAIRSTART
#define ALLDIFFEND
#define PIEND
#define EMPTYINCLUDEDIAGONALATT
#define EMPTYCONTYPEATT
yytype_int16 * yyssp
#define SUMEND
#define NONZEROSEND
#define ATUPPERSTART
used for throwing exceptions.
Definition: OSErrorClass.h:31
#define SHAPEATT
std::string varType
#define JOBSTART
#define ATEQUALITYEND
The OSnLParserData Class.
#define ALLDIFFSTART
#define FILECREATOREND
#define INITIALOBJECTIVEVALUESEND
#define FILESTODELETESTART
#define ERFEND
#define NUMBEROFITEMSATT
#define MINUSSTART
The OSoLParserData Class.
static const yytype_int16 yycheck[]
#define MULTATT
#define ATEQUALITYSTART
#define SOSEND
#define NUMBEROFMATRICESATT
#define SERVICETYPEEND
#define EMPTYBASETRANSPOSEATT
#define MATRIXUPPERTRIANGLEEND
#define PROCESSESTOKILLEND
#define MATRIXTRACEEND
#define YYSTACK_BYTES(N)
std::string * paths
#define FILESTOMAKESTART
a data structure to represent an LP basis on both input and output
Definition: OSGeneral.h:645
#define TYPEATT
#define NUMBEROFOBJATT
std::string tempStr
#define EMPTYLBDUALVALUEATT
YYSTYPE * yyvaluep
static const yytype_int16 yydefgoto[]
static YYSIZE_T const char * yystr
#define STRINGVALUEDELEMENTSSTART
#define MAXTIMEEND
#define DIRECTORIESTODELETESTART
#define FILESTODELETEEND
YYSTYPE yyvsa[YYINITDEPTH]
#define SIZEOFATT
bool outputDirectoriesToMovePresent
#define EMPTYDESCRIPTIONATT
#define VALUETYPEATT
#define IFEND
#define BASEMATRIXENDCOLATT
#define ITEMSTART
bool pathPairMakeCopyPresent
#define STARTVECTORSTART
#define MATRIXTRANSPOSESTART
bool instanceNamePresent
#define COSEND