diff --git a/packages/seacas/libraries/aprepro_lib/apr_parser.cc b/packages/seacas/libraries/aprepro_lib/apr_parser.cc index 4d13f03a95..45a3392132 100644 --- a/packages/seacas/libraries/aprepro_lib/apr_parser.cc +++ b/packages/seacas/libraries/aprepro_lib/apr_parser.cc @@ -38,7 +38,6 @@ #define yylex SEAMSlex // First part of user prologue. -#line 6 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" #include "apr_array.h" #include "apr_util.h" @@ -77,12 +76,9 @@ namespace SEAMS { extern bool echo; } -#line 84 "apr_parser.cc" - #include "aprepro_parser.h" // Second part of user prologue. -#line 112 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" #include "apr_scanner.h" #include "aprepro.h" @@ -93,8 +89,6 @@ namespace SEAMS { #undef yylex #define yylex aprepro.lexer->lex -#line 103 "apr_parser.cc" - #ifndef YY_ #if defined YYENABLE_NLS && YYENABLE_NLS #if ENABLE_NLS @@ -165,7 +159,6 @@ namespace SEAMS { #define YYRECOVERING() (!!yyerrstatus_) namespace SEAMS { -#line 177 "apr_parser.cc" /// Build a parser object. Parser::Parser(class Aprepro &aprepro_yyarg) @@ -387,6 +380,7 @@ namespace SEAMS { int yylen = 0; // Error handling. + int yynerrs_ = 0; int yyerrstatus_ = 0; /// The lookahead symbol. @@ -518,16 +512,12 @@ namespace SEAMS { { switch (yyn) { case 4: // line: '\n' -#line 131 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (echo) aprepro.lexer->LexerOutput("\n", 1); - } -#line 634 "apr_parser.cc" - break; + } break; case 5: // line: LBRACE exp RBRACE -#line 132 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (echo) { SEAMS::symrec *format = aprepro.getsym("_FORMAT"); @@ -542,523 +532,427 @@ namespace SEAMS { aprepro.lexer->LexerOutput(tmpstr, len); } } - } -#line 652 "apr_parser.cc" - break; + } break; case 6: // line: LBRACE sexp RBRACE -#line 145 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (echo && (yystack_[1].value.string) != NULL) { aprepro.lexer->LexerOutput((yystack_[1].value.string), strlen((yystack_[1].value.string))); } - } -#line 661 "apr_parser.cc" - break; + } break; case 7: // line: LBRACE aexp RBRACE -#line 149 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { - } -#line 667 "apr_parser.cc" - break; + } break; case 8: // line: LBRACE RBRACE -#line 150 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { - } -#line 673 "apr_parser.cc" - break; + } break; case 9: // line: error RBRACE -#line 151 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { yyerrok; - } -#line 679 "apr_parser.cc" - break; + } break; case 10: // bool: exp LT exp -#line 154 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) < (yystack_[0].value.val); - } -#line 685 "apr_parser.cc" - break; + } break; case 11: // bool: exp GT exp -#line 155 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) > (yystack_[0].value.val); - } -#line 691 "apr_parser.cc" - break; + } break; case 12: // bool: NOT exp -#line 156 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = !((yystack_[0].value.val)); - } -#line 697 "apr_parser.cc" - break; + } break; case 13: // bool: exp LE exp -#line 157 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) <= (yystack_[0].value.val); - } -#line 703 "apr_parser.cc" - break; + } break; case 14: // bool: exp GE exp -#line 158 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) >= (yystack_[0].value.val); - } -#line 709 "apr_parser.cc" - break; + } break; case 15: // bool: exp EQ exp -#line 159 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) == (yystack_[0].value.val); - } -#line 715 "apr_parser.cc" - break; + } break; case 16: // bool: exp NE exp -#line 160 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) != (yystack_[0].value.val); - } -#line 721 "apr_parser.cc" - break; + } break; case 17: // bool: exp LOR exp -#line 161 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); - } -#line 727 "apr_parser.cc" - break; + } break; case 18: // bool: exp LAND exp -#line 162 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); - } -#line 733 "apr_parser.cc" - break; + } break; case 19: // bool: bool LOR bool -#line 163 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); - } -#line 739 "apr_parser.cc" - break; + } break; case 20: // bool: bool LAND bool -#line 164 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); - } -#line 745 "apr_parser.cc" - break; + } break; case 21: // bool: bool LOR exp -#line 165 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); - } -#line 751 "apr_parser.cc" - break; + } break; case 22: // bool: bool LAND exp -#line 166 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); - } -#line 757 "apr_parser.cc" - break; + } break; case 23: // bool: exp LOR bool -#line 167 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); - } -#line 763 "apr_parser.cc" - break; + } break; case 24: // bool: exp LAND bool -#line 168 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); - } -#line 769 "apr_parser.cc" - break; + } break; case 25: // bool: LPAR bool RPAR -#line 169 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[1].value.val); - } -#line 775 "apr_parser.cc" - break; + } break; case 26: // bool: UNDVAR LOR exp -#line 171 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = 0 || (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 781 "apr_parser.cc" - break; + } break; case 27: // bool: UNDVAR LAND exp -#line 172 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = 0 && (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 787 "apr_parser.cc" - break; + } break; case 28: // bool: exp LOR UNDVAR -#line 173 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 793 "apr_parser.cc" - break; + } break; case 29: // bool: exp LAND UNDVAR -#line 174 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 799 "apr_parser.cc" - break; + } break; case 30: // bool: bool LOR UNDVAR -#line 175 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 805 "apr_parser.cc" - break; + } break; case 31: // bool: bool LAND UNDVAR -#line 176 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 811 "apr_parser.cc" - break; + } break; case 32: // bool: UNDVAR LOR bool -#line 177 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = 0 || (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 817 "apr_parser.cc" - break; + } break; case 33: // bool: UNDVAR LAND bool -#line 178 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = 0 && (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 823 "apr_parser.cc" - break; + } break; case 34: // bool: sexp LT sexp -#line 181 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) < 0 ? 1 : 0); - } -#line 829 "apr_parser.cc" - break; + } break; case 35: // bool: sexp GT sexp -#line 182 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) > 0 ? 1 : 0); - } -#line 835 "apr_parser.cc" - break; + } break; case 36: // bool: sexp LE sexp -#line 183 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) <= 0 ? 1 : 0); - } -#line 841 "apr_parser.cc" - break; + } break; case 37: // bool: sexp GE sexp -#line 184 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) >= 0 ? 1 : 0); - } -#line 847 "apr_parser.cc" - break; + } break; case 38: // bool: sexp EQ sexp -#line 185 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) == 0 ? 1 : 0); - } -#line 853 "apr_parser.cc" - break; + } break; case 39: // bool: sexp NE sexp -#line 186 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) != 0 ? 1 : 0); - } -#line 859 "apr_parser.cc" - break; + } break; + + case 40: // bool: exp LT sexp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; + + case 41: // bool: exp GT sexp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; + + case 42: // bool: exp LE sexp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; + + case 43: // bool: exp GE sexp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; + + case 44: // bool: exp EQ sexp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; - case 40: // bool: UNDVAR LT sexp -#line 188 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 45: // bool: exp NE sexp + { + (yylhs.value.val) = true; + yyerror(aprepro, "Comparison of arithmetic with string not defined"); + yyerrok; + } break; + + case 46: // bool: sexp LT exp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 47: // bool: sexp GT exp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 48: // bool: sexp LE exp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 49: // bool: sexp GE exp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 50: // bool: sexp EQ exp + { + (yylhs.value.val) = false; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 51: // bool: sexp NE exp + { + (yylhs.value.val) = true; + yyerror(aprepro, "Comparison of string with arithmetic not defined"); + yyerrok; + } break; + + case 52: // bool: UNDVAR LT sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) < 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 865 "apr_parser.cc" - break; + } break; - case 41: // bool: UNDVAR GT sexp -#line 189 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 53: // bool: UNDVAR GT sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) > 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 871 "apr_parser.cc" - break; + } break; - case 42: // bool: UNDVAR LE sexp -#line 190 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 54: // bool: UNDVAR LE sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) <= 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 877 "apr_parser.cc" - break; + } break; - case 43: // bool: UNDVAR GE sexp -#line 191 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 55: // bool: UNDVAR GE sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) >= 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 883 "apr_parser.cc" - break; + } break; - case 44: // bool: UNDVAR EQ sexp -#line 192 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 56: // bool: UNDVAR EQ sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) == 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 889 "apr_parser.cc" - break; + } break; - case 45: // bool: UNDVAR NE sexp -#line 193 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 57: // bool: UNDVAR NE sexp { (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) != 0 ? 1 : 0); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 895 "apr_parser.cc" - break; + } break; - case 46: // bool: sexp LT UNDVAR -#line 195 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 58: // bool: sexp LT UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") < 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 901 "apr_parser.cc" - break; + } break; - case 47: // bool: sexp GT UNDVAR -#line 196 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 59: // bool: sexp GT UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") > 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 907 "apr_parser.cc" - break; + } break; - case 48: // bool: sexp LE UNDVAR -#line 197 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 60: // bool: sexp LE UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") <= 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 913 "apr_parser.cc" - break; + } break; - case 49: // bool: sexp GE UNDVAR -#line 198 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 61: // bool: sexp GE UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") >= 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 919 "apr_parser.cc" - break; + } break; - case 50: // bool: sexp EQ UNDVAR -#line 199 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 62: // bool: sexp EQ UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") == 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 925 "apr_parser.cc" - break; + } break; - case 51: // bool: sexp NE UNDVAR -#line 200 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 63: // bool: sexp NE UNDVAR { (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") != 0 ? 1 : 0); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 931 "apr_parser.cc" - break; + } break; - case 52: // bool: UNDVAR LT exp -#line 202 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 64: // bool: UNDVAR LT exp { (yylhs.value.val) = 0 < (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 937 "apr_parser.cc" - break; + } break; - case 53: // bool: UNDVAR GT exp -#line 203 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 65: // bool: UNDVAR GT exp { (yylhs.value.val) = 0 > (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 943 "apr_parser.cc" - break; + } break; - case 54: // bool: UNDVAR LE exp -#line 204 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 66: // bool: UNDVAR LE exp { (yylhs.value.val) = 0 <= (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 949 "apr_parser.cc" - break; + } break; - case 55: // bool: UNDVAR GE exp -#line 205 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 67: // bool: UNDVAR GE exp { (yylhs.value.val) = 0 >= (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 955 "apr_parser.cc" - break; + } break; - case 56: // bool: UNDVAR EQ exp -#line 206 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 68: // bool: UNDVAR EQ exp { (yylhs.value.val) = 0 == (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 961 "apr_parser.cc" - break; + } break; - case 57: // bool: UNDVAR NE exp -#line 207 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 69: // bool: UNDVAR NE exp { (yylhs.value.val) = 0 != (yystack_[0].value.val); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 967 "apr_parser.cc" - break; + } break; - case 58: // bool: exp LT UNDVAR -#line 209 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 70: // bool: exp LT UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) < 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 973 "apr_parser.cc" - break; + } break; - case 59: // bool: exp GT UNDVAR -#line 210 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 71: // bool: exp GT UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) > 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 979 "apr_parser.cc" - break; + } break; - case 60: // bool: exp LE UNDVAR -#line 211 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 72: // bool: exp LE UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) <= 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 985 "apr_parser.cc" - break; + } break; - case 61: // bool: exp GE UNDVAR -#line 212 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 73: // bool: exp GE UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) >= 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 991 "apr_parser.cc" - break; + } break; - case 62: // bool: exp EQ UNDVAR -#line 213 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 74: // bool: exp EQ UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) == 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 997 "apr_parser.cc" - break; + } break; - case 63: // bool: exp NE UNDVAR -#line 214 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 75: // bool: exp NE UNDVAR { (yylhs.value.val) = (yystack_[2].value.val) != 0; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 1003 "apr_parser.cc" - break; + } break; - case 64: // aexp: AVAR -#line 216 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 76: // aexp: AVAR { (yylhs.value.arrval) = aprepro.make_array(*((yystack_[0].value.tptr)->value.avar)); - } -#line 1009 "apr_parser.cc" - break; + } break; - case 65: // aexp: AFNCT LPAR sexp RPAR -#line 217 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 77: // aexp: AFNCT LPAR sexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.arrfnct_c == NULL)) @@ -1066,12 +960,9 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.arrfnct_c))((yystack_[1].value.string)); else yyerrok; - } -#line 1020 "apr_parser.cc" - break; + } break; - case 66: // aexp: AFNCT LPAR sexp COMMA exp RPAR -#line 223 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 78: // aexp: AFNCT LPAR sexp COMMA exp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.arrfnct_cd == NULL)) @@ -1079,12 +970,9 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.val)); else yyerrok; - } -#line 1031 "apr_parser.cc" - break; + } break; - case 67: // aexp: AFNCT LPAR sexp COMMA sexp RPAR -#line 229 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 79: // aexp: AFNCT LPAR sexp COMMA sexp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.arrfnct_cc == NULL)) @@ -1092,12 +980,9 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.string)); else yyerrok; - } -#line 1042 "apr_parser.cc" - break; + } break; - case 68: // aexp: AFNCT LPAR exp COMMA exp COMMA exp RPAR -#line 235 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 80: // aexp: AFNCT LPAR exp COMMA exp COMMA exp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.arrfnct_ddd == NULL)) @@ -1105,12 +990,9 @@ namespace SEAMS { (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else yyerrok; - } -#line 1053 "apr_parser.cc" - break; + } break; - case 69: // aexp: AFNCT LPAR exp COMMA exp RPAR -#line 241 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 81: // aexp: AFNCT LPAR exp COMMA exp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.arrfnct_dd == NULL)) @@ -1118,12 +1000,9 @@ namespace SEAMS { (yystack_[3].value.val), (yystack_[1].value.val)); else yyerrok; - } -#line 1064 "apr_parser.cc" - break; + } break; - case 70: // aexp: AFNCT LPAR exp RPAR -#line 247 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 82: // aexp: AFNCT LPAR exp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.arrfnct_d == NULL)) @@ -1131,12 +1010,9 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.arrfnct_d))((yystack_[1].value.val)); else yyerrok; - } -#line 1075 "apr_parser.cc" - break; + } break; - case 71: // aexp: AFNCT LPAR aexp RPAR -#line 253 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 83: // aexp: AFNCT LPAR aexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.arrfnct_a == NULL)) @@ -1144,56 +1020,41 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.arrfnct_a))((yystack_[1].value.arrval)); else yyerrok; - } -#line 1086 "apr_parser.cc" - break; + } break; - case 72: // aexp: SVAR EQUAL aexp -#line 259 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 84: // aexp: SVAR EQUAL aexp { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); - } -#line 1095 "apr_parser.cc" - break; + } break; - case 73: // aexp: VAR EQUAL aexp -#line 263 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 85: // aexp: VAR EQUAL aexp { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); - } -#line 1104 "apr_parser.cc" - break; + } break; - case 74: // aexp: AVAR EQUAL aexp -#line 267 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 86: // aexp: AVAR EQUAL aexp { (yylhs.value.arrval) = (yystack_[0].value.arrval); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); - } -#line 1112 "apr_parser.cc" - break; + } break; - case 75: // aexp: UNDVAR EQUAL aexp -#line 270 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 87: // aexp: UNDVAR EQUAL aexp { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); - } -#line 1119 "apr_parser.cc" - break; + } break; - case 76: // aexp: aexp PLU aexp -#line 272 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 88: // aexp: aexp PLU aexp { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->cols && (yystack_[2].value.arrval)->rows == (yystack_[0].value.arrval)->rows) { @@ -1204,20 +1065,14 @@ namespace SEAMS { yyerror(aprepro, "Arrays do not have same row and column count"); yyerrok; } - } -#line 1132 "apr_parser.cc" - break; + } break; - case 77: // aexp: SUB aexp -#line 280 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 89: // aexp: SUB aexp { (yylhs.value.arrval) = array_scale((yystack_[0].value.arrval), -1.0); - } -#line 1138 "apr_parser.cc" - break; + } break; - case 78: // aexp: aexp SUB aexp -#line 282 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 90: // aexp: aexp SUB aexp { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->cols && (yystack_[2].value.arrval)->rows == (yystack_[0].value.arrval)->rows) { @@ -1228,37 +1083,25 @@ namespace SEAMS { yyerror(aprepro, "Arrays do not have same row and column count"); yyerrok; } - } -#line 1151 "apr_parser.cc" - break; + } break; - case 79: // aexp: aexp TIM exp -#line 290 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 91: // aexp: aexp TIM exp { (yylhs.value.arrval) = array_scale((yystack_[2].value.arrval), (yystack_[0].value.val)); - } -#line 1157 "apr_parser.cc" - break; + } break; - case 80: // aexp: aexp DIV exp -#line 291 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 92: // aexp: aexp DIV exp { (yylhs.value.arrval) = array_scale((yystack_[2].value.arrval), 1.0 / (yystack_[0].value.val)); - } -#line 1163 "apr_parser.cc" - break; + } break; - case 81: // aexp: exp TIM aexp -#line 292 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 93: // aexp: exp TIM aexp { (yylhs.value.arrval) = array_scale((yystack_[0].value.arrval), (yystack_[2].value.val)); - } -#line 1169 "apr_parser.cc" - break; + } break; - case 82: // aexp: aexp TIM aexp -#line 293 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 94: // aexp: aexp TIM aexp { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->rows) { (yylhs.value.arrval) = @@ -1269,97 +1112,67 @@ namespace SEAMS { "Column count of first array does not match row count of second array"); yyerrok; } - } -#line 1182 "apr_parser.cc" - break; + } break; - case 83: // sexp: QSTRING -#line 302 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 95: // sexp: QSTRING { (yylhs.value.string) = (yystack_[0].value.string); - } -#line 1188 "apr_parser.cc" - break; + } break; - case 84: // sexp: SVAR -#line 303 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 96: // sexp: SVAR { (yylhs.value.string) = (char *)(yystack_[0].value.tptr)->value.svar.c_str(); - } -#line 1194 "apr_parser.cc" - break; + } break; - case 85: // sexp: IMMSVAR -#line 304 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 97: // sexp: IMMSVAR { (yylhs.value.string) = (char *)(yystack_[0].value.tptr)->value.svar.c_str(); - } -#line 1200 "apr_parser.cc" - break; + } break; - case 86: // sexp: UNDVAR EQUAL sexp -#line 305 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 98: // sexp: UNDVAR EQUAL sexp { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); set_type(aprepro, (yystack_[2].value.tptr), Parser::token::SVAR); - } -#line 1207 "apr_parser.cc" - break; + } break; - case 87: // sexp: SVAR EQUAL sexp -#line 307 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 99: // sexp: SVAR EQUAL sexp { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); redefined_warning(aprepro, (yystack_[2].value.tptr)); - } -#line 1215 "apr_parser.cc" - break; + } break; - case 88: // sexp: VAR EQUAL sexp -#line 310 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 100: // sexp: VAR EQUAL sexp { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::SVAR); - } -#line 1224 "apr_parser.cc" - break; + } break; - case 89: // sexp: AVAR EQUAL sexp -#line 314 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 101: // sexp: AVAR EQUAL sexp { (yylhs.value.string) = (yystack_[0].value.string); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::SVAR); - } -#line 1234 "apr_parser.cc" - break; + } break; - case 90: // sexp: IMMSVAR EQUAL sexp -#line 319 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 102: // sexp: IMMSVAR EQUAL sexp { (yylhs.value.string) = (char *)(yystack_[2].value.tptr)->value.svar.c_str(); immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1240 "apr_parser.cc" - break; + } break; - case 91: // sexp: IMMVAR EQUAL sexp -#line 320 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 103: // sexp: IMMVAR EQUAL sexp { immutable_modify(aprepro, (yystack_[2].value.tptr)); YYERROR; - } -#line 1246 "apr_parser.cc" - break; + } break; - case 92: // sexp: SFNCT LPAR sexp RPAR -#line 321 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 104: // sexp: SFNCT LPAR sexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.strfnct_c == NULL)) @@ -1367,24 +1180,18 @@ namespace SEAMS { (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; - } -#line 1257 "apr_parser.cc" - break; + } break; - case 93: // sexp: SFNCT LPAR RPAR -#line 327 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 105: // sexp: SFNCT LPAR RPAR { if (arg_check((yystack_[2].value.tptr), (yystack_[2].value.tptr)->value.strfnct == NULL)) (yylhs.value.string) = (char *)(*((yystack_[2].value.tptr)->value.strfnct))(); else (yylhs.value.string) = (char *)""; - } -#line 1268 "apr_parser.cc" - break; + } break; - case 94: // sexp: SFNCT LPAR exp RPAR -#line 333 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 106: // sexp: SFNCT LPAR exp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.strfnct_d == NULL)) @@ -1392,12 +1199,9 @@ namespace SEAMS { (char *)(*((yystack_[3].value.tptr)->value.strfnct_d))((yystack_[1].value.val)); else (yylhs.value.string) = (char *)""; - } -#line 1279 "apr_parser.cc" - break; + } break; - case 95: // sexp: SFNCT LPAR aexp RPAR -#line 339 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 107: // sexp: SFNCT LPAR aexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.strfnct_a == NULL)) @@ -1405,21 +1209,15 @@ namespace SEAMS { (yystack_[1].value.arrval)); else (yylhs.value.string) = (char *)""; - } -#line 1290 "apr_parser.cc" - break; + } break; - case 96: // sexp: sexp CONCAT sexp -#line 345 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 108: // sexp: sexp CONCAT sexp { concat_string((yystack_[2].value.string), (yystack_[0].value.string), &(yylhs.value.string)); - } -#line 1296 "apr_parser.cc" - break; + } break; - case 97: // sexp: SFNCT LPAR exp COMMA exp RPAR -#line 346 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 109: // sexp: SFNCT LPAR exp COMMA exp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.strfnct_dd == NULL)) @@ -1427,12 +1225,9 @@ namespace SEAMS { (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.string) = (char *)""; - } -#line 1307 "apr_parser.cc" - break; + } break; - case 98: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp COMMA sexp COMMA sexp RPAR -#line 352 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 110: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp COMMA sexp COMMA sexp RPAR { if (arg_check((yystack_[11].value.tptr), (yystack_[11].value.tptr)->value.strfnct_dcccc == NULL)) @@ -1441,12 +1236,9 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; - } -#line 1318 "apr_parser.cc" - break; + } break; - case 99: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp RPAR -#line 358 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 111: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.strfnct_dcc == NULL)) @@ -1454,12 +1246,9 @@ namespace SEAMS { (yystack_[5].value.val), (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; - } -#line 1329 "apr_parser.cc" - break; + } break; - case 100: // sexp: SFNCT LPAR sexp COMMA sexp COMMA sexp RPAR -#line 364 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 112: // sexp: SFNCT LPAR sexp COMMA sexp COMMA sexp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.strfnct_ccc == NULL)) @@ -1468,12 +1257,9 @@ namespace SEAMS { (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; - } -#line 1340 "apr_parser.cc" - break; + } break; - case 101: // sexp: SFNCT LPAR sexp COMMA sexp RPAR -#line 370 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 113: // sexp: SFNCT LPAR sexp COMMA sexp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.strfnct_cc == NULL)) @@ -1481,376 +1267,256 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; - } -#line 1351 "apr_parser.cc" - break; + } break; - case 102: // sexp: bool QUEST sexp COLON sexp -#line 376 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 114: // sexp: bool QUEST sexp COLON sexp { (yylhs.value.string) = ((yystack_[4].value.val)) ? ((yystack_[2].value.string)) : ((yystack_[0].value.string)); - } -#line 1357 "apr_parser.cc" - break; + } break; - case 103: // exp: NUM -#line 378 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 115: // exp: NUM { (yylhs.value.val) = (yystack_[0].value.val); - } -#line 1363 "apr_parser.cc" - break; + } break; - case 104: // exp: INC NUM -#line 379 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 116: // exp: INC NUM { (yylhs.value.val) = (yystack_[0].value.val) + 1; - } -#line 1369 "apr_parser.cc" - break; + } break; - case 105: // exp: DEC NUM -#line 380 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 117: // exp: DEC NUM { (yylhs.value.val) = (yystack_[0].value.val) - 1; - } -#line 1375 "apr_parser.cc" - break; + } break; - case 106: // exp: VAR -#line 381 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 118: // exp: VAR { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; - } -#line 1381 "apr_parser.cc" - break; + } break; - case 107: // exp: IMMVAR -#line 382 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 119: // exp: IMMVAR { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; - } -#line 1387 "apr_parser.cc" - break; + } break; - case 108: // exp: INC VAR -#line 383 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 120: // exp: INC VAR { (yylhs.value.val) = ++((yystack_[0].value.tptr)->value.var); - } -#line 1393 "apr_parser.cc" - break; + } break; - case 109: // exp: DEC VAR -#line 384 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 121: // exp: DEC VAR { (yylhs.value.val) = --((yystack_[0].value.tptr)->value.var); - } -#line 1399 "apr_parser.cc" - break; + } break; - case 110: // exp: VAR INC -#line 385 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 122: // exp: VAR INC { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)++; - } -#line 1405 "apr_parser.cc" - break; + } break; - case 111: // exp: VAR DEC -#line 386 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 123: // exp: VAR DEC { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)--; - } -#line 1411 "apr_parser.cc" - break; + } break; - case 112: // exp: VAR EQUAL exp -#line 387 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 124: // exp: VAR EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); redefined_warning(aprepro, (yystack_[2].value.tptr)); - } -#line 1418 "apr_parser.cc" - break; + } break; - case 113: // exp: SVAR EQUAL exp -#line 389 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 125: // exp: SVAR EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); - } -#line 1426 "apr_parser.cc" - break; + } break; - case 114: // exp: AVAR EQUAL exp -#line 392 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 126: // exp: AVAR EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); - } -#line 1436 "apr_parser.cc" - break; + } break; - case 115: // exp: VAR EQ_PLUS exp -#line 397 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 127: // exp: VAR EQ_PLUS exp { (yystack_[2].value.tptr)->value.var += (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; - } -#line 1442 "apr_parser.cc" - break; + } break; - case 116: // exp: VAR EQ_MINUS exp -#line 398 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 128: // exp: VAR EQ_MINUS exp { (yystack_[2].value.tptr)->value.var -= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; - } -#line 1448 "apr_parser.cc" - break; + } break; - case 117: // exp: VAR EQ_TIME exp -#line 399 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 129: // exp: VAR EQ_TIME exp { (yystack_[2].value.tptr)->value.var *= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; - } -#line 1454 "apr_parser.cc" - break; + } break; - case 118: // exp: VAR EQ_DIV exp -#line 400 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 130: // exp: VAR EQ_DIV exp { (yystack_[2].value.tptr)->value.var /= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; - } -#line 1460 "apr_parser.cc" - break; + } break; - case 119: // exp: VAR EQ_POW exp -#line 401 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 131: // exp: VAR EQ_POW exp { reset_error(); (yystack_[2].value.tptr)->value.var = std::pow((yystack_[2].value.tptr)->value.var, (yystack_[0].value.val)); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; SEAMS::math_error(aprepro, "Power"); - } -#line 1470 "apr_parser.cc" - break; + } break; - case 120: // exp: INC IMMVAR -#line 406 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 132: // exp: INC IMMVAR { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[0].value.tptr)); - } -#line 1476 "apr_parser.cc" - break; + } break; - case 121: // exp: DEC IMMVAR -#line 407 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 133: // exp: DEC IMMVAR { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[0].value.tptr)); - } -#line 1482 "apr_parser.cc" - break; + } break; - case 122: // exp: IMMVAR INC -#line 408 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 134: // exp: IMMVAR INC { (yylhs.value.val) = (yystack_[1].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[1].value.tptr)); - } -#line 1488 "apr_parser.cc" - break; + } break; - case 123: // exp: IMMVAR DEC -#line 409 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 135: // exp: IMMVAR DEC { (yylhs.value.val) = (yystack_[1].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[1].value.tptr)); - } -#line 1494 "apr_parser.cc" - break; + } break; - case 124: // exp: IMMVAR EQUAL exp -#line 410 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 136: // exp: IMMVAR EQUAL exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1500 "apr_parser.cc" - break; + } break; - case 125: // exp: IMMSVAR EQUAL exp -#line 411 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 137: // exp: IMMSVAR EQUAL exp { immutable_modify(aprepro, (yystack_[2].value.tptr)); YYERROR; - } -#line 1506 "apr_parser.cc" - break; + } break; - case 126: // exp: IMMVAR EQ_PLUS exp -#line 412 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 138: // exp: IMMVAR EQ_PLUS exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1512 "apr_parser.cc" - break; + } break; - case 127: // exp: IMMVAR EQ_MINUS exp -#line 413 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 139: // exp: IMMVAR EQ_MINUS exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1518 "apr_parser.cc" - break; + } break; - case 128: // exp: IMMVAR EQ_TIME exp -#line 414 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 140: // exp: IMMVAR EQ_TIME exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1524 "apr_parser.cc" - break; + } break; - case 129: // exp: IMMVAR EQ_DIV exp -#line 415 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 141: // exp: IMMVAR EQ_DIV exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1530 "apr_parser.cc" - break; + } break; - case 130: // exp: IMMVAR EQ_POW exp -#line 416 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 142: // exp: IMMVAR EQ_POW exp { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); - } -#line 1536 "apr_parser.cc" - break; + } break; - case 131: // exp: UNDVAR -#line 418 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 143: // exp: UNDVAR { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 1543 "apr_parser.cc" - break; + } break; - case 132: // exp: INC UNDVAR -#line 420 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 144: // exp: INC UNDVAR { (yylhs.value.val) = ++((yystack_[0].value.tptr)->value.var); set_type(aprepro, (yystack_[0].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 1551 "apr_parser.cc" - break; + } break; - case 133: // exp: DEC UNDVAR -#line 423 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 145: // exp: DEC UNDVAR { (yylhs.value.val) = --((yystack_[0].value.tptr)->value.var); set_type(aprepro, (yystack_[0].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[0].value.tptr)->name); - } -#line 1559 "apr_parser.cc" - break; + } break; - case 134: // exp: UNDVAR INC -#line 426 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 146: // exp: UNDVAR INC { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)++; set_type(aprepro, (yystack_[1].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[1].value.tptr)->name); - } -#line 1567 "apr_parser.cc" - break; + } break; - case 135: // exp: UNDVAR DEC -#line 429 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 147: // exp: UNDVAR DEC { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)--; set_type(aprepro, (yystack_[1].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[1].value.tptr)->name); - } -#line 1575 "apr_parser.cc" - break; + } break; - case 136: // exp: UNDVAR EQUAL exp -#line 432 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 148: // exp: UNDVAR EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); - } -#line 1582 "apr_parser.cc" - break; + } break; - case 137: // exp: UNDVAR EQ_PLUS exp -#line 434 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 149: // exp: UNDVAR EQ_PLUS exp { (yystack_[2].value.tptr)->value.var += (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 1590 "apr_parser.cc" - break; + } break; - case 138: // exp: UNDVAR EQ_MINUS exp -#line 437 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 150: // exp: UNDVAR EQ_MINUS exp { (yystack_[2].value.tptr)->value.var -= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 1598 "apr_parser.cc" - break; + } break; - case 139: // exp: UNDVAR EQ_TIME exp -#line 440 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 151: // exp: UNDVAR EQ_TIME exp { (yystack_[2].value.tptr)->value.var *= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 1606 "apr_parser.cc" - break; + } break; - case 140: // exp: UNDVAR EQ_DIV exp -#line 443 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 152: // exp: UNDVAR EQ_DIV exp { (yystack_[2].value.tptr)->value.var /= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 1614 "apr_parser.cc" - break; + } break; - case 141: // exp: UNDVAR EQ_POW exp -#line 446 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 153: // exp: UNDVAR EQ_POW exp { reset_error(); (yystack_[2].value.tptr)->value.var = @@ -1859,24 +1525,18 @@ namespace SEAMS { set_type(aprepro, (yystack_[2].value.tptr), token::VAR); SEAMS::math_error(aprepro, "Power"); undefined_error(aprepro, (yystack_[2].value.tptr)->name); - } -#line 1625 "apr_parser.cc" - break; + } break; - case 142: // exp: FNCT LPAR RPAR -#line 453 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 154: // exp: FNCT LPAR RPAR { if (arg_check((yystack_[2].value.tptr), (yystack_[2].value.tptr)->value.fnctptr == NULL)) (yylhs.value.val) = (*((yystack_[2].value.tptr)->value.fnctptr))(); else (yylhs.value.val) = 0.0; - } -#line 1636 "apr_parser.cc" - break; + } break; - case 143: // exp: FNCT LPAR exp RPAR -#line 460 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 155: // exp: FNCT LPAR exp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.fnctptr_d == NULL)) @@ -1884,12 +1544,9 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.fnctptr_d))((yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1647 "apr_parser.cc" - break; + } break; - case 144: // exp: FNCT LPAR sexp RPAR -#line 467 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 156: // exp: FNCT LPAR sexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.fnctptr_c == NULL)) @@ -1897,12 +1554,9 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.fnctptr_c))((yystack_[1].value.string)); else (yylhs.value.val) = 0.0; - } -#line 1658 "apr_parser.cc" - break; + } break; - case 145: // exp: FNCT LPAR aexp RPAR -#line 474 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 157: // exp: FNCT LPAR aexp RPAR { if (arg_check((yystack_[3].value.tptr), (yystack_[3].value.tptr)->value.fnctptr_a == NULL)) @@ -1910,12 +1564,9 @@ namespace SEAMS { (*((yystack_[3].value.tptr)->value.fnctptr_a))((yystack_[1].value.arrval)); else (yylhs.value.val) = 0.0; - } -#line 1669 "apr_parser.cc" - break; + } break; - case 146: // exp: FNCT LPAR sexp COMMA exp RPAR -#line 481 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 158: // exp: FNCT LPAR sexp COMMA exp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.fnctptr_cd == NULL)) @@ -1923,12 +1574,9 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1680 "apr_parser.cc" - break; + } break; - case 147: // exp: FNCT LPAR exp COMMA sexp RPAR -#line 488 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 159: // exp: FNCT LPAR exp COMMA sexp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.fnctptr_dc == NULL)) @@ -1936,12 +1584,9 @@ namespace SEAMS { (yystack_[3].value.val), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; - } -#line 1691 "apr_parser.cc" - break; + } break; - case 148: // exp: FNCT LPAR sexp COMMA sexp RPAR -#line 495 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 160: // exp: FNCT LPAR sexp COMMA sexp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.fnctptr_cc == NULL)) @@ -1949,12 +1594,9 @@ namespace SEAMS { (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; - } -#line 1702 "apr_parser.cc" - break; + } break; - case 149: // exp: FNCT LPAR sexp COMMA sexp COMMA sexp RPAR -#line 502 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 161: // exp: FNCT LPAR sexp COMMA sexp COMMA sexp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.fnctptr_ccc == NULL)) @@ -1963,12 +1605,9 @@ namespace SEAMS { (yystack_[1].value.string)); else yyerrok; - } -#line 1713 "apr_parser.cc" - break; + } break; - case 150: // exp: FNCT LPAR exp COMMA exp RPAR -#line 509 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 162: // exp: FNCT LPAR exp COMMA exp RPAR { if (arg_check((yystack_[5].value.tptr), (yystack_[5].value.tptr)->value.fnctptr_dd == NULL)) @@ -1976,12 +1615,9 @@ namespace SEAMS { (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1724 "apr_parser.cc" - break; + } break; - case 151: // exp: FNCT LPAR exp COMMA exp COMMA exp RPAR -#line 515 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 163: // exp: FNCT LPAR exp COMMA exp COMMA exp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.fnctptr_ddd == NULL)) @@ -1989,12 +1625,9 @@ namespace SEAMS { (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1735 "apr_parser.cc" - break; + } break; - case 152: // exp: FNCT LPAR sexp COMMA sexp COMMA exp RPAR -#line 521 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 164: // exp: FNCT LPAR sexp COMMA sexp COMMA exp RPAR { if (arg_check((yystack_[7].value.tptr), (yystack_[7].value.tptr)->value.fnctptr_ccd == NULL)) @@ -2002,12 +1635,9 @@ namespace SEAMS { (yystack_[5].value.string), (yystack_[3].value.string), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1746 "apr_parser.cc" - break; + } break; - case 153: // exp: FNCT LPAR exp COMMA exp SEMI exp COMMA exp RPAR -#line 527 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 165: // exp: FNCT LPAR exp COMMA exp SEMI exp COMMA exp RPAR { if (arg_check((yystack_[9].value.tptr), (yystack_[9].value.tptr)->value.fnctptr_dddd == NULL)) @@ -2016,12 +1646,9 @@ namespace SEAMS { (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1757 "apr_parser.cc" - break; + } break; - case 154: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp RPAR -#line 533 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 166: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp RPAR { if (arg_check((yystack_[9].value.tptr), (yystack_[9].value.tptr)->value.fnctptr_dddd == NULL)) @@ -2030,12 +1657,9 @@ namespace SEAMS { (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1768 "apr_parser.cc" - break; + } break; - case 155: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA sexp RPAR -#line 539 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 167: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA sexp RPAR { if (arg_check((yystack_[11].value.tptr), (yystack_[11].value.tptr)->value.fnctptr_ddddc == NULL)) @@ -2044,12 +1668,9 @@ namespace SEAMS { (yystack_[3].value.val), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; - } -#line 1779 "apr_parser.cc" - break; + } break; - case 156: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA exp COMMA exp RPAR -#line 545 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 168: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA exp COMMA exp RPAR { if (arg_check((yystack_[13].value.tptr), (yystack_[13].value.tptr)->value.fnctptr_dddddd == NULL)) @@ -2058,143 +1679,100 @@ namespace SEAMS { (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; - } -#line 1790 "apr_parser.cc" - break; + } break; - case 157: // exp: exp PLU exp -#line 551 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 169: // exp: exp PLU exp { (yylhs.value.val) = (yystack_[2].value.val) + (yystack_[0].value.val); - } -#line 1796 "apr_parser.cc" - break; + } break; - case 158: // exp: exp SUB exp -#line 552 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 170: // exp: exp SUB exp { (yylhs.value.val) = (yystack_[2].value.val) - (yystack_[0].value.val); - } -#line 1802 "apr_parser.cc" - break; + } break; - case 159: // exp: exp TIM exp -#line 553 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 171: // exp: exp TIM exp { (yylhs.value.val) = (yystack_[2].value.val) * (yystack_[0].value.val); - } -#line 1808 "apr_parser.cc" - break; + } break; - case 160: // exp: exp DIV exp -#line 554 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 172: // exp: exp DIV exp { if ((yystack_[0].value.val) == 0.) { + (yylhs.value.val) = std::numeric_limits::infinity(); yyerror(aprepro, "Zero divisor"); yyerrok; } else (yylhs.value.val) = (yystack_[2].value.val) / (yystack_[0].value.val); - } -#line 1820 "apr_parser.cc" - break; + } break; - case 161: // exp: exp MOD exp -#line 561 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 173: // exp: exp MOD exp { if ((yystack_[0].value.val) == 0.) { + (yylhs.value.val) = (int)(yystack_[2].value.val); yyerror(aprepro, "Zero divisor"); yyerrok; } else (yylhs.value.val) = (int)(yystack_[2].value.val) % (int)(yystack_[0].value.val); - } -#line 1832 "apr_parser.cc" - break; + } break; - case 162: // exp: SUB exp -#line 568 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 174: // exp: SUB exp { (yylhs.value.val) = -(yystack_[0].value.val); - } -#line 1838 "apr_parser.cc" - break; + } break; - case 163: // exp: PLU exp -#line 569 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 175: // exp: PLU exp { (yylhs.value.val) = (yystack_[0].value.val); - } -#line 1844 "apr_parser.cc" - break; + } break; - case 164: // exp: exp POW exp -#line 570 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 176: // exp: exp POW exp { reset_error(); (yylhs.value.val) = std::pow((yystack_[2].value.val), (yystack_[0].value.val)); SEAMS::math_error(aprepro, "Power"); - } -#line 1852 "apr_parser.cc" - break; + } break; - case 165: // exp: LPAR exp RPAR -#line 573 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 177: // exp: LPAR exp RPAR { (yylhs.value.val) = (yystack_[1].value.val); - } -#line 1858 "apr_parser.cc" - break; + } break; - case 166: // exp: LBRACK exp RBRACK -#line 574 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 178: // exp: LBRACK exp RBRACK { reset_error(); (yylhs.value.val) = (double)((yystack_[1].value.val) < 0 ? -floor(-((yystack_[1].value.val))) : floor((yystack_[1].value.val))); SEAMS::math_error(aprepro, "floor (int)"); - } -#line 1866 "apr_parser.cc" - break; + } break; - case 167: // exp: bool -#line 577 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 179: // exp: bool { (yylhs.value.val) = ((yystack_[0].value.val)) ? 1 : 0; - } -#line 1872 "apr_parser.cc" - break; + } break; - case 168: // exp: bool QUEST exp COLON exp -#line 578 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 180: // exp: bool QUEST exp COLON exp { (yylhs.value.val) = ((yystack_[4].value.val)) ? ((yystack_[2].value.val)) : ((yystack_[0].value.val)); - } -#line 1878 "apr_parser.cc" - break; + } break; - case 169: // exp: AVAR LBRACK exp RBRACK -#line 579 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 181: // exp: AVAR LBRACK exp RBRACK { (yylhs.value.val) = array_value((yystack_[3].value.tptr)->value.avar, (yystack_[1].value.val), 0); - } -#line 1884 "apr_parser.cc" - break; + } break; - case 170: // exp: AVAR LBRACK exp COMMA exp RBRACK -#line 580 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 182: // exp: AVAR LBRACK exp COMMA exp RBRACK { (yylhs.value.val) = array_value((yystack_[5].value.tptr)->value.avar, (yystack_[3].value.val), (yystack_[1].value.val)); - } -#line 1890 "apr_parser.cc" - break; + } break; - case 171: // exp: AVAR LBRACK exp RBRACK EQUAL exp -#line 582 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 183: // exp: AVAR LBRACK exp RBRACK EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); array *arr = (yystack_[5].value.tptr)->value.avar; @@ -2216,12 +1794,9 @@ namespace SEAMS { yyerror(aprepro, "Row or Column index out of range"); yyerrok; } - } -#line 1916 "apr_parser.cc" - break; + } break; - case 172: // exp: AVAR LBRACK exp COMMA exp RBRACK EQUAL exp -#line 604 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 184: // exp: AVAR LBRACK exp COMMA exp RBRACK EQUAL exp { (yylhs.value.val) = (yystack_[0].value.val); array *arr = (yystack_[7].value.tptr)->value.avar; @@ -2241,11 +1816,7 @@ namespace SEAMS { yyerror(aprepro, "Row or Column index out of range"); yyerrok; } - } -#line 1940 "apr_parser.cc" - break; - -#line 1944 "apr_parser.cc" + } break; default: break; } @@ -2272,6 +1843,7 @@ namespace SEAMS { yyerrlab: // If not already recovering from an error, report this error. if (!yyerrstatus_) { + ++yynerrs_; context yyctx(*this, yyla); std::string msg = yysyntax_error_(yyctx); error(YY_MOVE(msg)); @@ -2547,197 +2119,180 @@ namespace SEAMS { const signed char Parser::yytable_ninf_ = -1; const short Parser::yypact_[] = { - -25, 22, -25, -18, 209, -25, -25, -25, -25, -25, 1629, 163, -8, 211, -5, - 154, 6, 51, 58, 471, 471, -25, 471, 426, 471, -2, 379, 71, 80, 1560, - 1665, 426, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - -25, -25, 426, 471, 471, 471, 471, 471, -25, -25, 426, 471, 471, 471, 471, - 471, 471, -25, -25, 471, 471, 426, 354, 411, 426, 1647, 326, 20, 181, 471, - 120, 343, 1348, 1580, 14, -25, 14, 14, -25, -25, -25, -25, -25, -25, -25, - -25, 471, 486, 531, -25, 426, 426, 471, 426, -25, 546, 591, 606, 651, 666, - 711, 471, -25, 726, 771, 786, 831, 846, 891, 906, 951, 471, 471, 471, 426, - 471, 471, 44, 343, 1698, 1714, 1714, 1714, 1714, 1714, 55, 1745, -25, 1759, 50, - 367, 50, 367, 50, 367, 50, 367, 50, 367, 50, 367, 44, 343, 1698, 1714, - 1714, 1714, 1714, 1714, 44, 343, 1698, 343, 1714, 1714, 1714, 1714, 1714, 1714, 343, - 1714, 1083, 44, 343, 1698, -25, 87, 254, 1113, -25, 167, 264, 1143, 279, 292, - 1173, 471, 471, 471, 471, 14, -25, -25, 471, -25, -24, 1682, 1647, 55, 1745, - 1647, -25, 1759, 9, 1698, 9, 1730, -25, 1730, 1647, 50, 1714, 1647, 50, 1647, - 50, 1647, 50, 1647, 50, 1647, 50, -25, 1647, 55, 1745, 1647, -25, 1759, 1647, - 367, 1647, 367, 1647, 367, 1647, 367, 1647, 367, 1647, 367, 27, 27, 14, -25, - 14, 14, 14, 471, 101, -25, 471, -25, 471, -25, -25, 471, -25, 471, -25, - -25, 471, -25, 471, -25, 1714, 1714, 1714, 1714, 14, 471, 471, 1605, 471, 967, - 1375, 42, 1054, 977, 937, 1402, 108, 1429, 1203, 343, 1714, 117, 1714, 471, -25, - -25, -25, 471, -25, 471, 471, -25, 471, -25, -25, -25, 471, -25, 471, 133, - 1456, 1233, 1292, 298, 1002, 1483, 1714, -25, -25, 471, -25, 471, -25, 471, -25, - -25, 1263, 1510, 994, 471, -25, -25, 471, 1024, 1321, 1030, -25, 471, -25, 1537, - -25}; + -25, 22, -25, -13, 224, -25, -25, -25, -25, -25, 1649, -21, -8, 306, -5, + 68, 6, 27, 44, 380, 380, -25, 380, 445, 380, 122, 252, 38, 176, 47, + 1685, 445, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + -25, -25, 445, 380, 380, 380, 380, 380, -25, -25, 445, 380, 380, 380, 380, + 380, 380, -25, -25, 380, 380, 445, 333, 400, 445, 1667, 979, 56, 165, 380, + 160, -24, 1386, 1600, 4, -25, 4, 4, -25, -25, -25, -25, -25, -25, -25, + -25, 380, 460, 505, -25, 445, 445, 380, 445, -25, 520, 565, 580, 625, 640, + 685, 380, -25, 700, 745, 760, 805, 820, 865, 880, 925, 380, 380, 380, 445, + 380, 380, 262, -24, 1735, 1751, 1751, 1751, 1751, 1751, 55, 1782, -25, 1796, 70, + 208, 70, 208, 70, 208, 70, 208, 70, 208, 70, 208, 262, -24, 1735, 1751, + 1751, 1751, 1751, 1751, 262, -24, 1735, -24, 1751, 1751, 1751, 1751, 1751, 1751, -24, + 1751, 1121, 262, -24, 1735, -25, 34, 251, 1151, -25, 120, 276, 1181, 130, 941, + 1211, 380, 380, 380, 380, 4, -25, -25, 380, -25, 1699, 1719, 1667, 55, 1782, + 1667, -25, 1796, 93, 1735, 93, 1767, -25, 1767, 1667, 70, 208, 1667, 70, 208, + 1667, 70, 208, 1667, 70, 208, 1667, 70, 208, 1667, 70, 208, -25, 1751, 1667, + 55, 1782, 1667, -25, 1796, 1667, 70, 208, 1667, 70, 208, 1667, 70, 208, 1667, + 70, 208, 1667, 70, 208, 1667, 70, 208, 110, 110, 4, -25, 4, 4, 4, + 380, 104, -25, 380, -25, 380, -25, -25, 380, -25, 380, -25, -25, 380, -25, + 380, -25, 1751, 1751, 1751, 1751, 4, 380, 380, 1625, 380, 951, 1413, 87, 1092, + 976, 911, 1440, 1012, 1467, 1241, -24, 1751, 121, 1751, 380, -25, -25, -25, 380, + -25, 380, 380, -25, 380, -25, -25, -25, 380, -25, 380, 1034, 1494, 1271, 1330, + 1040, 982, 1521, 1751, -25, -25, 380, -25, 380, -25, 380, -25, -25, 1301, 1548, + 1006, 380, -25, -25, 380, 1062, 1359, 1068, -25, 380, -25, 1575, -25}; const unsigned char Parser::yydefact_[] = { - 2, 0, 1, 0, 0, 4, 3, 9, 103, 83, 131, 106, 84, 107, 85, 64, 0, 0, 0, - 0, 0, 8, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, 0, 0, 0, 0, 0, 110, 111, 0, 0, - 0, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 0, 0, 131, 106, 84, 0, 0, 167, - 0, 0, 0, 163, 77, 162, 12, 104, 132, 108, 120, 105, 133, 109, 121, 0, 0, 0, 7, + 2, 0, 1, 0, 0, 4, 3, 9, 115, 95, 143, 118, 96, 119, 97, 76, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 147, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 134, 135, 0, 0, 0, 0, 0, 0, 143, 118, 96, 0, 0, 179, + 0, 0, 0, 175, 89, 174, 12, 116, 144, 120, 132, 117, 145, 121, 133, 0, 0, 0, 7, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 75, 86, 136, 137, 138, 139, 140, 141, 32, 26, 33, - 27, 40, 52, 41, 53, 42, 54, 43, 55, 44, 56, 45, 57, 73, 88, 112, 115, 116, 117, - 118, 119, 72, 87, 113, 91, 124, 126, 127, 128, 129, 130, 90, 125, 0, 74, 89, 114, 142, - 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 25, 165, 0, 166, - 0, 0, 30, 19, 21, 31, 20, 22, 76, 0, 78, 80, 82, 79, 46, 34, 0, 47, 35, - 48, 36, 49, 37, 50, 38, 51, 39, 96, 28, 23, 17, 29, 24, 18, 58, 10, 59, 11, - 60, 13, 61, 14, 62, 15, 63, 16, 157, 158, 160, 81, 159, 161, 164, 0, 169, 145, 0, - 144, 0, 143, 95, 0, 92, 0, 94, 71, 0, 65, 0, 70, 136, 112, 113, 114, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 168, 170, 171, 0, 148, - 146, 147, 0, 150, 0, 0, 101, 0, 97, 67, 66, 0, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 149, 152, 0, 151, 0, 100, 0, 99, 68, 0, 0, 0, 0, 154, 153, 0, - 0, 0, 0, 155, 0, 98, 0, 156}; - - const signed char Parser::yypgoto_[] = {-25, -25, -25, -12, 106, 91, -4}; - - const unsigned char Parser::yydefgoto_[] = {0, 1, 6, 27, 28, 76, 206}; + 0, 0, 0, 0, 0, 0, 0, 0, 87, 98, 148, 149, 150, 151, 152, 153, 32, 26, 33, + 27, 52, 64, 53, 65, 54, 66, 55, 67, 56, 68, 57, 69, 85, 100, 124, 127, 128, 129, + 130, 131, 84, 99, 125, 103, 136, 138, 139, 140, 141, 142, 102, 137, 0, 86, 101, 126, 154, + 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 25, 177, 0, 178, + 0, 0, 30, 19, 21, 31, 20, 22, 88, 0, 90, 92, 94, 91, 58, 34, 46, 59, 35, + 47, 60, 36, 48, 61, 37, 49, 62, 38, 50, 63, 39, 51, 108, 0, 28, 23, 17, 29, + 24, 18, 70, 40, 10, 71, 41, 11, 72, 42, 13, 73, 43, 14, 74, 44, 15, 75, 45, + 16, 169, 170, 172, 93, 171, 173, 176, 0, 181, 157, 0, 156, 0, 155, 107, 0, 104, 0, + 106, 83, 0, 77, 0, 82, 148, 124, 125, 126, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 180, 182, 183, 0, 160, 158, 159, 0, 162, 0, 0, 113, + 0, 109, 79, 78, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 184, 161, 164, 0, 163, + 0, 112, 0, 111, 80, 0, 0, 0, 0, 166, 165, 0, 0, 0, 0, 167, 0, 110, 0, + 168}; + + const signed char Parser::yypgoto_[] = {-25, -25, -25, 39, 126, 98, -4}; + + const unsigned char Parser::yydefgoto_[] = {0, 1, 6, 27, 28, 76, 223}; const short Parser::yytable_[] = { - 30, 83, 7, 84, 85, 265, 86, 75, 100, 101, 102, 103, 104, 105, 55, 77, 78, 64, - 79, 81, 82, 67, 2, 3, 106, 130, 132, 124, 125, 126, 127, 128, 129, 131, 133, 135, - 137, 139, 141, 143, 145, 4, 183, 148, 149, 150, 151, 152, 153, 97, 98, 156, 158, 159, - 160, 161, 162, 163, 286, 121, 165, 166, 169, 173, 177, 180, 68, 118, 188, 120, 185, 5, - 121, 69, 100, 101, 102, 103, 104, 105, 193, 196, 95, 96, 97, 98, 93, 191, 194, 197, - 106, 199, 199, 201, 203, 29, 219, 222, 106, 91, 94, 92, 93, 245, 220, 223, 225, 227, - 229, 231, 233, 235, 236, 237, 238, 240, 241, 242, 95, 96, 97, 98, 123, 268, 294, 95, - 96, 97, 98, 80, 134, 136, 138, 140, 142, 144, 186, 122, 147, 298, 100, 101, 102, 103, - 104, 105, 155, 157, 91, 307, 92, 93, 0, 146, 0, 164, 106, 168, 172, 176, 179, 154, - 0, 0, 0, 100, 101, 102, 103, 104, 105, 65, 167, 171, 175, 178, 66, 260, 261, 262, - 263, 106, 190, 250, 264, 47, 48, 49, 50, 51, 52, 205, 208, 210, 212, 214, 216, 217, - 65, 0, 0, 198, 200, 184, 202, 95, 96, 97, 98, 53, 54, 0, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 0, 19, 239, 20, 0, 0, 21, 0, 0, 0, 56, - 57, 58, 59, 60, 61, 267, 0, 0, 270, 0, 272, 0, 0, 22, 23, 275, 0, 0, - 277, 24, 278, 25, 26, 62, 63, 0, 0, 0, 280, 0, 282, 0, 0, 0, 246, 0, - 247, 0, 123, 147, 155, 168, 0, 0, 251, 300, 252, 0, 0, 301, 0, 302, 100, 101, - 102, 103, 104, 105, 305, 0, 306, 255, 100, 101, 102, 103, 104, 105, 106, 0, 0, 316, - 256, 317, 257, 0, 0, 0, 106, 0, 312, 324, 0, 95, 96, 97, 98, 0, 0, 329, - 100, 101, 102, 103, 104, 105, 100, 101, 102, 103, 104, 105, 0, 269, 0, 271, 106, 0, - 273, 0, 274, 0, 106, 276, 182, 48, 49, 50, 51, 52, 0, 0, 279, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 170, 20, 53, 54, 299, 100, 101, 102, - 103, 104, 105, 303, 87, 304, 88, 89, 0, 90, 0, 0, 0, 106, 22, 23, 0, 0, - 0, 0, 24, 0, 25, 26, 0, 0, 318, 116, 117, 118, 188, 120, 323, 0, 121, 325, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 174, 20, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 24, 0, 25, 26, 8, 9, 70, 71, 72, 13, 14, 73, 16, 17, 0, 0, - 19, 0, 20, 8, 9, 192, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, - 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, - 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 195, 71, 72, 13, - 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 204, 71, 72, 13, 14, 73, 16, - 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, - 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, - 8, 9, 207, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 209, - 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, - 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, - 0, 0, 24, 0, 25, 26, 8, 9, 211, 71, 72, 13, 14, 73, 16, 17, 0, 0, - 19, 0, 20, 8, 9, 213, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, - 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, - 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 215, 71, 72, 13, - 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 218, 71, 72, 13, 14, 73, 16, - 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, - 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, - 8, 9, 221, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 224, - 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, - 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, - 0, 0, 24, 0, 25, 26, 8, 9, 226, 71, 72, 13, 14, 73, 16, 17, 0, 0, - 19, 0, 20, 8, 9, 228, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, - 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, - 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 230, 71, 72, 13, - 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 232, 71, 72, 13, 14, 73, 16, - 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, - 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 292, 25, 26, - 8, 9, 234, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 100, 101, 102, - 103, 104, 105, 0, 0, 0, 0, 0, 0, 283, 0, 284, 0, 106, 0, 0, 0, 22, - 74, 290, 0, 291, 0, 24, 0, 25, 26, 100, 101, 102, 103, 104, 105, 0, 0, 0, - 322, 100, 101, 102, 103, 104, 105, 106, 313, 0, 314, 0, 0, 0, 0, 0, 0, 106, - 100, 101, 102, 103, 104, 105, 0, 0, 100, 101, 102, 103, 104, 105, 326, 0, 106, 0, - 0, 0, 328, 0, 0, 0, 106, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, - 100, 101, 102, 103, 104, 105, 287, 0, 288, 0, 106, 0, 0, 289, 0, 0, 106, 0, - 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 243, - 0, 121, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 248, 121, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 0, 253, 121, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 258, - 121, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 296, 121, 297, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 188, 120, 0, 309, 121, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 319, - 121, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 311, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 188, 120, 327, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 187, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 188, 120, 285, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 293, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 188, 120, 295, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 308, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 188, 120, 315, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 321, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 188, 120, 330, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 99, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 106, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 188, 120, 281, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 31, 32, 33, 34, 35, - 36, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 181, 32, 33, 34, 35, - 36, 45, 46, 37, 38, 39, 40, 41, 42, 43, 44, 107, 0, 0, 0, 0, 0, 0, - 0, 45, 46, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, - 121, 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, 121, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 108, 109, 110, 111, - 112, 113, 114, 115, 0, 0, 0, 0, 120, 0, 0, 121, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 188, 120, 0, 0, 121, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 188, 120, 0, 0, 121}; + 30, 47, 48, 49, 50, 51, 52, 7, 100, 101, 102, 103, 104, 105, 55, 77, 78, 64, 79, + 81, 82, 67, 2, 3, 106, 53, 54, 124, 125, 126, 127, 128, 129, 131, 133, 135, 137, 139, + 141, 143, 145, 4, 68, 148, 149, 150, 151, 152, 153, 121, 257, 156, 158, 159, 160, 161, 162, + 163, 75, 69, 165, 166, 169, 173, 177, 180, 91, 99, 92, 93, 185, 5, 95, 96, 97, 98, + 130, 132, 183, 100, 101, 102, 103, 104, 105, 65, 93, 191, 194, 197, 66, 199, 199, 201, 203, + 106, 206, 209, 212, 215, 218, 221, 29, 298, 226, 229, 232, 235, 238, 241, 244, 247, 248, 249, + 250, 252, 253, 254, 106, 100, 101, 102, 103, 104, 105, 83, 280, 84, 85, 123, 86, 193, 196, + 97, 98, 106, 262, 134, 136, 138, 140, 142, 144, 310, 0, 147, 267, 225, 228, 80, 118, 188, + 120, 155, 157, 121, 0, 122, 95, 96, 97, 98, 164, 0, 168, 172, 176, 179, 95, 96, 97, + 98, 0, 146, 0, 0, 186, 272, 273, 274, 275, 154, 65, 0, 276, 0, 0, 184, 91, 190, + 92, 93, 167, 171, 175, 178, 94, 0, 205, 208, 211, 214, 217, 220, 222, 0, 0, 0, 231, + 234, 237, 240, 243, 246, 95, 96, 97, 98, 0, 0, 0, 198, 200, 0, 202, 0, 0, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 0, 20, 0, 0, 21, 251, 116, + 117, 118, 188, 120, 279, 0, 121, 282, 87, 284, 88, 89, 0, 90, 287, 22, 23, 289, 258, + 290, 259, 24, 0, 25, 26, 0, 0, 292, 0, 294, 0, 0, 123, 147, 155, 168, 100, 101, + 102, 103, 104, 105, 0, 263, 312, 264, 0, 0, 313, 0, 314, 0, 106, 95, 96, 97, 98, + 317, 0, 318, 0, 100, 101, 102, 103, 104, 105, 0, 0, 0, 328, 0, 329, 0, 0, 0, + 0, 106, 0, 0, 336, 56, 57, 58, 59, 60, 61, 0, 341, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 0, 19, 170, 20, 0, 62, 63, 0, 0, 281, 0, 283, 0, 0, + 285, 0, 286, 0, 0, 288, 0, 0, 0, 0, 22, 23, 0, 0, 291, 0, 24, 0, 25, + 26, 0, 0, 8, 9, 70, 71, 72, 13, 14, 73, 16, 17, 311, 0, 19, 0, 20, 0, + 0, 315, 0, 316, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 174, 20, + 22, 74, 0, 0, 0, 330, 24, 0, 25, 26, 0, 335, 0, 0, 337, 0, 0, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 0, 19, 0, 20, 8, 9, 192, 71, 72, 13, 14, 73, 16, 17, 0, 0, + 19, 0, 20, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 24, 0, 25, 26, 0, + 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 195, 71, 72, + 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 204, 71, 72, 13, 14, 73, 16, + 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, + 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, + 207, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 210, 71, 72, 13, + 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, + 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, + 26, 8, 9, 213, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 216, + 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, + 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, + 24, 0, 25, 26, 8, 9, 219, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, + 8, 9, 224, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, + 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, + 0, 0, 0, 24, 0, 25, 26, 8, 9, 227, 71, 72, 13, 14, 73, 16, 17, 0, 0, + 19, 0, 20, 8, 9, 230, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, + 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, + 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 233, 71, 72, 13, 14, 73, 16, + 17, 0, 0, 19, 0, 20, 8, 9, 236, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, + 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, + 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 239, 71, 72, 13, + 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 242, 71, 72, 13, 14, 73, 16, 17, + 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, + 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 304, 25, 26, 8, 9, 245, + 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 100, 101, 102, 103, 104, 105, 0, + 0, 0, 0, 0, 0, 268, 0, 269, 0, 106, 0, 0, 0, 22, 74, 295, 0, 296, 0, + 24, 0, 25, 26, 100, 101, 102, 103, 104, 105, 0, 0, 0, 0, 100, 101, 102, 103, 104, + 105, 106, 302, 0, 303, 0, 0, 0, 325, 0, 326, 106, 0, 182, 48, 49, 50, 51, 52, + 0, 100, 101, 102, 103, 104, 105, 100, 101, 102, 103, 104, 105, 334, 0, 0, 0, 106, 53, + 54, 0, 306, 0, 106, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 100, + 101, 102, 103, 104, 105, 319, 0, 0, 0, 106, 0, 324, 0, 0, 0, 106, 0, 0, 0, + 0, 0, 100, 101, 102, 103, 104, 105, 100, 101, 102, 103, 104, 105, 338, 0, 0, 0, 106, + 0, 340, 0, 0, 0, 106, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 100, 101, + 102, 103, 104, 105, 299, 0, 300, 0, 106, 0, 0, 301, 0, 0, 106, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 255, 0, 121, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 0, 260, 121, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 265, 121, + 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 0, 270, 121, 271, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 0, 308, 121, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 321, 121, 322, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 188, 120, 0, 331, 121, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 323, 0, 121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 339, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 187, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 188, 120, 297, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 305, 0, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, + 120, 307, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 188, 120, 320, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 327, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 188, 120, 333, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 342, 0, 121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 188, 120, 189, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 188, 120, 293, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 31, + 32, 33, 34, 35, 36, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 181, 32, + 33, 34, 35, 36, 45, 46, 37, 38, 39, 40, 41, 42, 43, 44, 107, 0, 0, 0, 0, + 0, 0, 0, 45, 46, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 277, + 0, 121, 100, 101, 102, 103, 104, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, + 278, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, 121, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 108, 109, 110, 111, 112, 113, 114, 115, + 0, 0, 0, 0, 120, 0, 0, 121, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, + 120, 0, 0, 121, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121}; const short Parser::yycheck_[] = { - 4, 3, 20, 5, 6, 29, 8, 19, 32, 33, 34, 35, 36, 37, 22, 19, 20, 22, 22, - 23, 24, 15, 0, 1, 48, 37, 38, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 19, 22, 47, 48, 49, 50, 51, 52, 40, 41, 55, 56, 57, 58, 59, 60, - 61, 16, 45, 64, 65, 66, 67, 68, 69, 15, 40, 41, 42, 74, 49, 45, 15, 32, 33, - 34, 35, 36, 37, 92, 93, 38, 39, 40, 41, 31, 91, 92, 93, 48, 95, 96, 97, 98, - 4, 108, 109, 48, 28, 20, 30, 31, 16, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 38, 39, 40, 41, 31, 22, 16, 38, 39, 40, 41, 23, 39, 40, 41, - 42, 43, 44, 16, 31, 47, 22, 32, 33, 34, 35, 36, 37, 55, 56, 28, 16, 30, 31, - -1, 47, -1, 64, 48, 66, 67, 68, 69, 55, -1, -1, -1, 32, 33, 34, 35, 36, 37, - 17, 66, 67, 68, 69, 22, 181, 182, 183, 184, 48, 91, 16, 188, 22, 23, 24, 25, 26, - 27, 100, 101, 102, 103, 104, 105, 106, 17, -1, -1, 95, 96, 22, 98, 38, 39, 40, 41, - 46, 47, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 119, 17, -1, - -1, 20, -1, -1, -1, 22, 23, 24, 25, 26, 27, 243, -1, -1, 246, -1, 248, -1, -1, - 38, 39, 253, -1, -1, 256, 44, 258, 46, 47, 46, 47, -1, -1, -1, 266, -1, 268, -1, - -1, -1, 14, -1, 16, -1, 181, 182, 183, 184, -1, -1, 14, 283, 16, -1, -1, 287, -1, - 289, 32, 33, 34, 35, 36, 37, 296, -1, 298, 16, 32, 33, 34, 35, 36, 37, 48, -1, - -1, 309, 14, 311, 16, -1, -1, -1, 48, -1, 16, 319, -1, 38, 39, 40, 41, -1, -1, - 327, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, -1, 246, -1, 248, 48, -1, - 251, -1, 253, -1, 48, 256, 22, 23, 24, 25, 26, 27, -1, -1, 265, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, 46, 47, 283, 32, 33, 34, 35, 36, - 37, 290, 3, 292, 5, 6, -1, 8, -1, -1, -1, 48, 38, 39, -1, -1, -1, -1, 44, - -1, 46, 47, -1, -1, 313, 38, 39, 40, 41, 42, 319, -1, 45, 322, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, - -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, - -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, - 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, - 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, - -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, - 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, - -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, - -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, - -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, + 4, 22, 23, 24, 25, 26, 27, 20, 32, 33, 34, 35, 36, 37, 22, 19, 20, 22, 22, + 23, 24, 15, 0, 1, 48, 46, 47, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 19, 15, 47, 48, 49, 50, 51, 52, 45, 16, 55, 56, 57, 58, 59, 60, + 61, 19, 15, 64, 65, 66, 67, 68, 69, 28, 20, 30, 31, 74, 49, 38, 39, 40, 41, + 37, 38, 22, 32, 33, 34, 35, 36, 37, 17, 31, 91, 92, 93, 22, 95, 96, 97, 98, + 48, 100, 101, 102, 103, 104, 105, 4, 16, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 48, 32, 33, 34, 35, 36, 37, 3, 22, 5, 6, 31, 8, 92, 93, + 40, 41, 48, 16, 39, 40, 41, 42, 43, 44, 22, -1, 47, 16, 108, 109, 23, 40, 41, + 42, 55, 56, 45, -1, 31, 38, 39, 40, 41, 64, -1, 66, 67, 68, 69, 38, 39, 40, + 41, -1, 47, -1, -1, 16, 181, 182, 183, 184, 55, 17, -1, 188, -1, -1, 22, 28, 91, + 30, 31, 66, 67, 68, 69, 20, -1, 100, 101, 102, 103, 104, 105, 106, -1, -1, -1, 110, + 111, 112, 113, 114, 115, 38, 39, 40, 41, -1, -1, -1, 95, 96, -1, 98, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, -1, 17, -1, -1, 20, 119, 38, + 39, 40, 41, 42, 255, -1, 45, 258, 3, 260, 5, 6, -1, 8, 265, 38, 39, 268, 14, + 270, 16, 44, -1, 46, 47, -1, -1, 278, -1, 280, -1, -1, 181, 182, 183, 184, 32, 33, + 34, 35, 36, 37, -1, 14, 295, 16, -1, -1, 299, -1, 301, -1, 48, 38, 39, 40, 41, + 308, -1, 310, -1, 32, 33, 34, 35, 36, 37, -1, -1, -1, 321, -1, 323, -1, -1, -1, + -1, 48, -1, -1, 331, 22, 23, 24, 25, 26, 27, -1, 339, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, -1, 15, 16, 17, -1, 46, 47, -1, -1, 258, -1, 260, -1, -1, + 263, -1, 265, -1, -1, 268, -1, -1, -1, -1, 38, 39, -1, -1, 277, -1, 44, -1, 46, + 47, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 295, -1, 15, -1, 17, -1, + -1, 302, -1, 304, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, + 38, 39, -1, -1, -1, 325, 44, -1, 46, 47, -1, 331, -1, -1, 334, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 11, 12, 13, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, @@ -2749,11 +2304,27 @@ namespace SEAMS { 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, - 44, 14, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, - 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, -1, 14, -1, 16, -1, 48, -1, -1, - -1, 38, 39, 14, -1, 16, -1, 44, -1, 46, 47, 32, 33, 34, 35, 36, 37, -1, -1, - -1, 14, 32, 33, 34, 35, 36, 37, 48, 14, -1, 16, -1, -1, -1, -1, -1, -1, 48, - 32, 33, 34, 35, 36, 37, -1, -1, 32, 33, 34, 35, 36, 37, 16, -1, 48, -1, -1, + 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, + -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, + -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, + -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, + 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, + -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, + -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, + 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, 14, 46, 47, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 32, 33, 34, 35, 36, 37, -1, + -1, -1, -1, -1, -1, 14, -1, 16, -1, 48, -1, -1, -1, 38, 39, 14, -1, 16, -1, + 44, -1, 46, 47, 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, 32, 33, 34, 35, 36, + 37, 48, 14, -1, 16, -1, -1, -1, 14, -1, 16, 48, -1, 22, 23, 24, 25, 26, 27, + -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 14, -1, -1, -1, 48, 46, + 47, -1, 16, -1, 48, -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, + 33, 34, 35, 36, 37, 16, -1, -1, -1, 48, -1, 16, -1, -1, -1, 48, -1, -1, -1, + -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 16, -1, -1, -1, 48, -1, 16, -1, -1, -1, 48, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 14, -1, 16, -1, 48, -1, -1, 21, -1, -1, 48, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 14, -1, 45, -1, 18, @@ -2782,18 +2353,18 @@ namespace SEAMS { 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 20, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, - 36, 37, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 22, 23, - 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, 22, 23, 24, - 25, 26, 27, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 20, -1, -1, -1, -1, -1, - -1, -1, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, - 45, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, 35, 36, - 37, -1, -1, -1, -1, 42, -1, -1, 45, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, -1, -1, 45, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45}; + 40, 41, 42, 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 22, + 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, 22, 23, + 24, 25, 26, 27, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 20, -1, -1, -1, -1, + -1, -1, -1, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 29, + -1, 45, 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, 35, 36, 37, + -1, -1, -1, -1, 42, -1, -1, 45, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, 45, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45}; const signed char Parser::yystos_[] = { 0, 51, 0, 1, 19, 49, 52, 20, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 20, 38, @@ -2805,30 +2376,32 @@ namespace SEAMS { 55, 56, 55, 56, 55, 56, 55, 56, 54, 55, 56, 56, 56, 56, 56, 56, 54, 55, 56, 55, 56, 56, 56, 56, 56, 56, 55, 56, 56, 54, 55, 56, 16, 54, 55, 56, 16, 54, 55, 56, 54, 55, 56, 22, 22, 22, 22, 56, 16, 16, 41, 18, 55, 56, 5, 53, 56, 5, 53, 56, 54, 56, 54, 56, 54, 56, 5, 55, 56, - 5, 55, 5, 55, 5, 55, 5, 55, 5, 55, 55, 5, 53, 56, 5, 53, 56, 5, 56, 5, 56, 5, 56, - 5, 56, 5, 56, 5, 56, 56, 56, 56, 54, 56, 56, 56, 14, 18, 16, 14, 16, 14, 16, 16, 14, 16, - 14, 16, 16, 14, 16, 14, 16, 56, 56, 56, 56, 56, 29, 29, 56, 22, 55, 56, 55, 56, 55, 55, 56, - 55, 56, 56, 55, 56, 18, 56, 14, 16, 16, 16, 14, 16, 21, 14, 16, 14, 16, 16, 16, 14, 16, 22, - 55, 56, 56, 56, 55, 55, 56, 56, 16, 16, 14, 16, 14, 16, 14, 16, 16, 56, 56, 55, 14, 16, 16, - 14, 55, 56, 55, 16, 14, 16, 56, 16}; + 5, 55, 56, 5, 55, 56, 5, 55, 56, 5, 55, 56, 5, 55, 56, 55, 56, 5, 53, 56, 5, 53, 56, + 5, 55, 56, 5, 55, 56, 5, 55, 56, 5, 55, 56, 5, 55, 56, 5, 55, 56, 56, 56, 56, 54, 56, + 56, 56, 14, 18, 16, 14, 16, 14, 16, 16, 14, 16, 14, 16, 16, 14, 16, 14, 16, 56, 56, 56, 56, + 56, 29, 29, 56, 22, 55, 56, 55, 56, 55, 55, 56, 55, 56, 56, 55, 56, 18, 56, 14, 16, 16, 16, + 14, 16, 21, 14, 16, 14, 16, 16, 16, 14, 16, 22, 55, 56, 56, 56, 55, 55, 56, 56, 16, 16, 14, + 16, 14, 16, 14, 16, 16, 56, 56, 55, 14, 16, 16, 14, 55, 56, 55, 16, 14, 16, 56, 16}; const signed char Parser::yyr1_[] = { - 0, 50, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56}; + 0, 50, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56}; const signed char Parser::yyr2_[] = { - 0, 2, 0, 2, 1, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 4, 6, 6, 8, 6, 4, 4, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 1, 3, - 3, 3, 3, 3, 3, 4, 3, 4, 4, 3, 6, 12, 8, 8, 6, 5, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, - 4, 6, 6, 6, 8, 6, 8, 8, 10, 10, 12, 14, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 1, 5, 4, 6, 6, 8}; + 0, 2, 0, 2, 1, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 4, 6, 6, 8, + 6, 4, 4, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 4, 3, 4, 4, + 3, 6, 12, 8, 8, 6, 5, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 6, 6, 6, 8, + 6, 8, 8, 10, 10, 12, 14, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 1, 5, 4, 6, 6, 8}; #if SEAMSDEBUG || 1 // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. @@ -2895,16 +2468,16 @@ namespace SEAMS { #if SEAMSDEBUG const short Parser::yyrline_[] = { - 0, 127, 127, 128, 131, 132, 145, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, - 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 202, 203, - 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 216, 217, 223, 229, 235, 241, 247, 253, - 259, 263, 267, 270, 272, 280, 282, 290, 291, 292, 293, 302, 303, 304, 305, 307, 310, 314, - 319, 320, 321, 327, 333, 339, 345, 346, 352, 358, 364, 370, 376, 378, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 389, 392, 397, 398, 399, 400, 401, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 418, 420, 423, 426, 429, 432, 434, 437, 440, 443, 446, 453, 460, - 467, 474, 481, 488, 495, 502, 509, 515, 521, 527, 533, 539, 545, 551, 552, 553, 554, 561, - 568, 569, 570, 573, 574, 577, 578, 579, 580, 581, 603}; + 0, 127, 127, 128, 131, 132, 145, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 183, 184, + 185, 186, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, + 207, 209, 210, 211, 212, 213, 214, 216, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, + 230, 231, 237, 243, 249, 255, 261, 267, 273, 277, 281, 284, 286, 294, 296, 304, 305, 306, 307, + 316, 317, 318, 319, 321, 324, 328, 333, 334, 335, 341, 347, 353, 359, 360, 366, 372, 378, 384, + 390, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 403, 406, 411, 412, 413, 414, 415, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 432, 434, 437, 440, 443, 446, 448, 451, 454, + 457, 460, 467, 474, 481, 488, 495, 502, 509, 516, 523, 529, 535, 541, 547, 553, 559, 565, 566, + 567, 568, 576, 584, 585, 586, 589, 590, 593, 594, 595, 596, 597, 619}; void Parser::yy_stack_print_() const { @@ -2957,8 +2530,5 @@ namespace SEAMS { } } // namespace SEAMS -#line 2966 "apr_parser.cc" - -#line 626 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" void SEAMS::Parser::error(const std::string &m) { aprepro.error(m); } diff --git a/packages/seacas/libraries/aprepro_lib/aprepro.yy b/packages/seacas/libraries/aprepro_lib/aprepro.yy index a36fda0df5..23387e9a40 100644 --- a/packages/seacas/libraries/aprepro_lib/aprepro.yy +++ b/packages/seacas/libraries/aprepro_lib/aprepro.yy @@ -168,29 +168,43 @@ bool: exp LT exp { $$ = $1 < $3; } | exp LAND bool { $$ = $1 && $3; } | LPAR bool RPAR { $$ = $2; } - | UNDVAR LOR exp { $$ = 0 || $3; undefined_error(aprepro, $1->name); } - | UNDVAR LAND exp { $$ = 0 && $3; undefined_error(aprepro, $1->name); } - | exp LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } - | exp LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } - | bool LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } - | bool LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } - | UNDVAR LOR bool { $$ = 0 || $3; undefined_error(aprepro, $1->name); } - | UNDVAR LAND bool { $$ = 0 && $3; undefined_error(aprepro, $1->name); } + | UNDVAR LOR exp { $$ = 0 || $3; undefined_error(aprepro, $1->name); } + | UNDVAR LAND exp { $$ = 0 && $3; undefined_error(aprepro, $1->name); } + | exp LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } + | exp LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } + | bool LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } + | bool LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } + | UNDVAR LOR bool { $$ = 0 || $3; undefined_error(aprepro, $1->name); } + | UNDVAR LAND bool { $$ = 0 && $3; undefined_error(aprepro, $1->name); } ; bool: sexp LT sexp { $$ = (strcmp($1,$3) < 0 ? 1 : 0); } | sexp GT sexp { $$ = (strcmp($1,$3) > 0 ? 1 : 0); } - | sexp LE sexp { $$ = (strcmp($1,$3) <= 0 ? 1 : 0); } - | sexp GE sexp { $$ = (strcmp($1,$3) >= 0 ? 1 : 0); } - | sexp EQ sexp { $$ = (strcmp($1,$3) == 0 ? 1 : 0); } - | sexp NE sexp { $$ = (strcmp($1,$3) != 0 ? 1 : 0); } + | sexp LE sexp { $$ = (strcmp($1,$3) <= 0 ? 1 : 0); } + | sexp GE sexp { $$ = (strcmp($1,$3) >= 0 ? 1 : 0); } + | sexp EQ sexp { $$ = (strcmp($1,$3) == 0 ? 1 : 0); } + | sexp NE sexp { $$ = (strcmp($1,$3) != 0 ? 1 : 0); } + + | exp LT sexp { $$ = false; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + | exp GT sexp { $$ = false; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + | exp LE sexp { $$ = false; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + | exp GE sexp { $$ = false; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + | exp EQ sexp { $$ = false; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + | exp NE sexp { $$ = true; yyerror(aprepro, "Comparison of arithmetic with string not defined"); yyerrok;} + + | sexp LT exp { $$ = false; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} + | sexp GT exp { $$ = false; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} + | sexp LE exp { $$ = false; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} + | sexp GE exp { $$ = false; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} + | sexp EQ exp { $$ = false; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} + | sexp NE exp { $$ = true; yyerror(aprepro, "Comparison of string with arithmetic not defined"); yyerrok;} | UNDVAR LT sexp { $$ = (strcmp("",$3) < 0 ? 1 : 0); undefined_error(aprepro, $1->name); } | UNDVAR GT sexp { $$ = (strcmp("",$3) > 0 ? 1 : 0); undefined_error(aprepro, $1->name); } - | UNDVAR LE sexp { $$ = (strcmp("",$3) <= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } - | UNDVAR GE sexp { $$ = (strcmp("",$3) >= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } - | UNDVAR EQ sexp { $$ = (strcmp("",$3) == 0 ? 1 : 0); undefined_error(aprepro, $1->name); } - | UNDVAR NE sexp { $$ = (strcmp("",$3) != 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR LE sexp { $$ = (strcmp("",$3) <= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR GE sexp { $$ = (strcmp("",$3) >= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR EQ sexp { $$ = (strcmp("",$3) == 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR NE sexp { $$ = (strcmp("",$3) != 0 ? 1 : 0); undefined_error(aprepro, $1->name); } | sexp LT UNDVAR { $$ = (strcmp($1,"") < 0 ? 1 : 0); undefined_error(aprepro, $3->name); } | sexp GT UNDVAR { $$ = (strcmp($1,"") > 0 ? 1 : 0); undefined_error(aprepro, $3->name); } @@ -201,10 +215,10 @@ bool: sexp LT sexp { $$ = (strcmp($1,$3) < 0 ? 1 : 0); } | UNDVAR LT exp { $$ = 0 < $3; undefined_error(aprepro, $1->name); } | UNDVAR GT exp { $$ = 0 > $3; undefined_error(aprepro, $1->name); } - | UNDVAR LE exp { $$ = 0 <= $3; undefined_error(aprepro, $1->name); } - | UNDVAR GE exp { $$ = 0 >= $3; undefined_error(aprepro, $1->name); } - | UNDVAR EQ exp { $$ = 0 == $3; undefined_error(aprepro, $1->name); } - | UNDVAR NE exp { $$ = 0 != $3; undefined_error(aprepro, $1->name); } + | UNDVAR LE exp { $$ = 0 <= $3; undefined_error(aprepro, $1->name); } + | UNDVAR GE exp { $$ = 0 >= $3; undefined_error(aprepro, $1->name); } + | UNDVAR EQ exp { $$ = 0 == $3; undefined_error(aprepro, $1->name); } + | UNDVAR NE exp { $$ = 0 != $3; undefined_error(aprepro, $1->name); } | exp LT UNDVAR { $$ = $1 < 0; undefined_error(aprepro, $3->name); } | exp GT UNDVAR { $$ = $1 > 0; undefined_error(aprepro, $3->name); } @@ -553,6 +567,7 @@ exp: NUM { $$ = $1; } | exp TIM exp { $$ = $1 * $3; } | exp DIV exp { if ($3 == 0.) { + $$ = std::numeric_limits::infinity(); yyerror(aprepro, "Zero divisor"); yyerrok; } @@ -560,6 +575,7 @@ exp: NUM { $$ = $1; } $$ = $1 / $3; } | exp MOD exp { if ($3 == 0.) { + $$ = (int)$1; yyerror(aprepro, "Zero divisor"); yyerrok; } diff --git a/packages/seacas/libraries/aprepro_lib/aprepro_parser.h b/packages/seacas/libraries/aprepro_lib/aprepro_parser.h index 0b2eb4fcd9..6b926df66b 100644 --- a/packages/seacas/libraries/aprepro_lib/aprepro_parser.h +++ b/packages/seacas/libraries/aprepro_lib/aprepro_parser.h @@ -177,7 +177,6 @@ #endif /* ! defined SEAMSDEBUG */ namespace SEAMS { -#line 190 "aprepro_parser.h" /// A Bison parser. class Parser @@ -191,14 +190,11 @@ namespace SEAMS { #else /// Symbol semantic values. union value_type { -#line 71 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" double val; /* For returning numbers. */ struct symrec *tptr; /* For returning symbol-table pointers */ char *string; /* For returning quoted strings */ struct array *arrval; /* For returning arrays */ - -#line 215 "aprepro_parser.h" }; #endif /// Backward compatibility (Bison 3.8). @@ -780,7 +776,7 @@ namespace SEAMS { /// Constants. enum { - yylast_ = 1804, ///< Last index in yytable_. + yylast_ = 1841, ///< Last index in yytable_. yynnts_ = 7, ///< Number of nonterminal symbols. yyfinal_ = 2 ///< Termination state number. }; @@ -790,6 +786,5 @@ namespace SEAMS { }; } // namespace SEAMS -#line 881 "aprepro_parser.h" #endif // !YY_SEAMS_APREPRO_PARSER_H_INCLUDED