/*@-dependenttrans@*/
/*@-unqualifiedtrans@*/
/*@-nullassign@*/
+/*@-nullpass@*/
+/*@-nullptrarith*/
+/*@-usereleased@*/
/*@-declundef@*/
/*drl added 11/27/2001*/
-/*@-arraybounds@*/
-/*@-arrayboundsread@*/
+/*@-bounds@*/
/* < end of bison.head > */
#define LLT_SCANFLIKE 389
#define LLT_MESSAGELIKE 390
-#line 36 "llgrammar.y"
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lclscan.h"
# include "checking.h"
/*@=noparams@*/
/*@-redecl@*/
-void ylerror (char *) /*@modifies *g_msgstream@*/ ;
+void ylerror (char *) /*@modifies *g_warningstream@*/ ;
/*@=redecl@*/
bool g_inTypeDef = FALSE;
# endif
-#line 80 "llgrammar.y"
typedef union
{
ltoken ltok; /* a leaf is also an ltoken */
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 389, 390, 393, 394, 397, 398, 401, 402, 403, 406,
- 407, 410, 411, 412, 415, 421, 425, 427, 429, 431,
- 433, 435, 439, 443, 444, 447, 449, 453, 454, 457,
- 458, 461, 463, 465, 467, 471, 475, 477, 479, 483,
- 484, 487, 488, 489, 492, 493, 500, 502, 513, 515,
- 518, 522, 522, 523, 524, 524, 526, 527, 528, 529,
- 530, 530, 531, 534, 535, 536, 537, 539, 555, 557,
- 561, 562, 564, 567, 568, 571, 575, 577, 581, 583,
- 585, 587, 591, 592, 595, 597, 599, 602, 604, 607,
- 609, 612, 613, 614, 618, 619, 621, 623, 626, 628,
- 632, 633, 636, 638, 642, 643, 644, 647, 648, 651,
- 655, 656, 659, 660, 663, 664, 666, 669, 670, 673,
- 674, 677, 678, 679, 680, 683, 684, 687, 688, 689,
- 690, 691, 694, 695, 698, 699, 702, 703, 706, 707,
- 708, 711, 712, 715, 716, 717, 720, 721, 724, 729,
- 735, 743, 745, 747, 749, 753, 754, 757, 758, 759,
- 760, 761, 762, 763, 765, 769, 770, 771, 772, 775,
- 776, 779, 780, 783, 783, 792, 793, 797, 798, 801,
- 802, 805, 806, 807, 808, 809, 810, 811, 812, 813,
- 814, 822, 823, 828, 830, 836, 837, 838, 839, 840,
- 841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
- 851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
- 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
- 871, 874, 876, 878, 880, 882, 891, 892, 897, 898,
- 901, 903, 905, 907, 909, 911, 915, 916, 919, 920,
- 925, 928, 930, 934, 935, 938, 940, 944, 945, 955,
- 956, 959, 960, 961, 962, 963, 964, 967, 968, 969,
- 970, 971, 972, 981, 982, 983, 984, 985, 991, 992,
- 993, 1003, 1004, 1005, 1010, 1011, 1014, 1015, 1016, 1017,
- 1018, 1019, 1020, 1021, 1024, 1025, 1028, 1030, 1032, 1034,
- 1036, 1039, 1041, 1043, 1045, 1047, 1049, 1057, 1059, 1061,
- 1064, 1067, 1070, 1075, 1076, 1079, 1080, 1083, 1084, 1085,
- 1088, 1089, 1092, 1093, 1096, 1097, 1100, 1103, 1104, 1107,
- 1108, 1111, 1114, 1120, 1122, 1123, 1126, 1127, 1132, 1134,
- 1138, 1139, 1140, 1143, 1144, 1147, 1148, 1151, 1152, 1155,
- 1156, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1168, 1169,
- 1172, 1175, 1177, 1181, 1185, 1186, 1189, 1190, 1193, 1195,
- 1197, 1199, 1200, 1202, 1204, 1206, 1209, 1211, 1215, 1216,
- 1219, 1220, 1221, 1222, 1225, 1226, 1227, 1228, 1229, 1230,
- 1235, 1241, 1251, 1252, 1253, 1254, 1257, 1259, 1263, 1267,
- 1270, 1271, 1274, 1275, 1278, 1279, 1282, 1283, 1284, 1285,
- 1286, 1287, 1288
+ 380, 381, 384, 385, 388, 389, 392, 393, 394, 397,
+ 398, 401, 402, 403, 406, 412, 416, 418, 420, 422,
+ 424, 426, 430, 434, 435, 438, 440, 444, 445, 448,
+ 449, 452, 454, 456, 458, 462, 466, 468, 470, 474,
+ 475, 478, 479, 480, 483, 484, 491, 493, 504, 506,
+ 509, 513, 513, 514, 515, 515, 517, 518, 519, 520,
+ 521, 521, 522, 525, 526, 527, 528, 530, 546, 548,
+ 552, 553, 555, 558, 559, 562, 566, 568, 572, 574,
+ 576, 578, 582, 583, 586, 588, 590, 593, 595, 598,
+ 600, 603, 604, 605, 609, 610, 612, 614, 617, 619,
+ 623, 624, 627, 629, 633, 634, 635, 638, 639, 642,
+ 646, 647, 650, 651, 654, 655, 657, 660, 661, 664,
+ 665, 668, 669, 670, 671, 674, 675, 678, 679, 680,
+ 681, 682, 685, 686, 689, 690, 693, 694, 697, 698,
+ 699, 702, 703, 706, 707, 708, 711, 712, 715, 720,
+ 726, 734, 736, 738, 740, 744, 745, 748, 749, 750,
+ 751, 752, 753, 754, 756, 760, 761, 762, 763, 766,
+ 767, 770, 771, 774, 774, 783, 784, 788, 789, 792,
+ 793, 796, 797, 798, 799, 800, 801, 802, 803, 804,
+ 805, 813, 814, 819, 821, 827, 828, 829, 830, 831,
+ 832, 833, 834, 835, 836, 837, 838, 839, 840, 841,
+ 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
+ 852, 853, 854, 855, 856, 857, 858, 859, 860, 861,
+ 862, 865, 867, 869, 871, 873, 882, 883, 888, 889,
+ 892, 894, 896, 898, 900, 902, 906, 907, 910, 911,
+ 916, 919, 921, 925, 926, 929, 931, 935, 936, 946,
+ 947, 950, 951, 952, 953, 954, 955, 958, 959, 960,
+ 961, 962, 963, 972, 973, 974, 975, 976, 982, 983,
+ 984, 994, 995, 996, 1001, 1002, 1005, 1006, 1007, 1008,
+ 1009, 1010, 1011, 1012, 1015, 1016, 1019, 1021, 1023, 1025,
+ 1027, 1030, 1032, 1034, 1036, 1038, 1040, 1048, 1050, 1052,
+ 1055, 1058, 1061, 1066, 1067, 1070, 1071, 1074, 1075, 1076,
+ 1079, 1080, 1083, 1084, 1087, 1088, 1091, 1094, 1095, 1098,
+ 1099, 1102, 1105, 1111, 1113, 1114, 1117, 1118, 1123, 1125,
+ 1129, 1130, 1131, 1134, 1135, 1138, 1139, 1142, 1143, 1146,
+ 1147, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1159, 1160,
+ 1163, 1166, 1168, 1172, 1176, 1177, 1180, 1181, 1184, 1186,
+ 1188, 1190, 1191, 1193, 1195, 1197, 1200, 1202, 1206, 1207,
+ 1210, 1211, 1212, 1213, 1216, 1217, 1218, 1219, 1220, 1221,
+ 1226, 1232, 1242, 1243, 1244, 1245, 1248, 1250, 1254, 1258,
+ 1261, 1262, 1265, 1266, 1269, 1270, 1273, 1274, 1275, 1276,
+ 1277, 1278, 1279
};
#endif
-1, -1, 107, 108, -1, -1, -1, -1, -1, 114
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
+
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/lib/bison.simple"
+
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
switch (yyn) {
case 1:
-#line 389 "llgrammar.y"
{ lhExternals (yyvsp[0].interfacelist); ;
break;}
case 2:
-#line 390 "llgrammar.y"
{ interfaceNodeList_free (yyvsp[-2].interfacelist); interfaceNodeList_free (yyvsp[0].interfacelist); ;
break;}
case 3:
-#line 393 "llgrammar.y"
{ yyval.interfacelist = interfaceNodeList_new (); ;
break;}
case 4:
-#line 394 "llgrammar.y"
{ yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);;
break;}
case 7:
-#line 401 "llgrammar.y"
{ yyval.interfacelist = interfaceNodeList_new (); ;
break;}
case 8:
-#line 402 "llgrammar.y"
{ yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);;
break;}
case 9:
-#line 403 "llgrammar.y"
{ yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);;
break;}
case 10:
-#line 406 "llgrammar.y"
{ yyval.interfacelist = interfaceNodeList_new (); ;
break;}
case 11:
-#line 407 "llgrammar.y"
{ yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);;
break;}
case 15:
-#line 416 "llgrammar.y"
{ yyval.iface = makeInterfaceNodeImports (yyvsp[-1].importlist);
/* assume subspecs are already processed, symbol table info in external file */
;
break;}
case 16:
-#line 422 "llgrammar.y"
{ yyval.iface = makeInterfaceNodeUses (yyvsp[-1].traitreflist); readlsignatures (yyval.iface);;
break;}
case 17:
-#line 426 "llgrammar.y"
{ declareConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makeConst (yyvsp[0].constdeclaration); ;
break;}
case 18:
-#line 428 "llgrammar.y"
{ declareVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makeVar (yyvsp[0].vardeclaration); ;
break;}
case 19:
-#line 430 "llgrammar.y"
{ declareType (yyvsp[0].type); yyval.iface = interfaceNode_makeType (yyvsp[0].type); ;
break;}
case 20:
-#line 432 "llgrammar.y"
{ declareFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makeFcn (yyvsp[0].fcn); ;
break;}
case 21:
-#line 434 "llgrammar.y"
{ yyval.iface = interfaceNode_makeClaim (yyvsp[0].claim); ;
break;}
case 22:
-#line 436 "llgrammar.y"
{ declareIter (yyvsp[0].iter); yyval.iface = interfaceNode_makeIter (yyvsp[0].iter); ;
break;}
case 23:
-#line 440 "llgrammar.y"
{ yyval.iter = makeIterNode (yyvsp[-4].ltok, yyvsp[-2].paramlist); ;
break;}
case 24:
-#line 443 "llgrammar.y"
{ yyval.paramlist = paramNodeList_new (); ;
break;}
case 25:
-#line 444 "llgrammar.y"
{ yyval.paramlist = yyvsp[0].paramlist; ;
break;}
case 26:
-#line 448 "llgrammar.y"
{ yyval.paramlist = paramNodeList_add (paramNodeList_new (), yyvsp[0].param); ;
break;}
case 27:
-#line 450 "llgrammar.y"
{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist,yyvsp[0].param); ;
break;}
case 28:
-#line 453 "llgrammar.y"
{ yyval.param = markYieldParamNode (yyvsp[0].param); ;
break;}
case 29:
-#line 454 "llgrammar.y"
{ yyval.param = yyvsp[0].param; ;
break;}
case 30:
-#line 457 "llgrammar.y"
{ symtable_export (g_symtab, FALSE); ;
break;}
case 31:
-#line 458 "llgrammar.y"
{ yyval.iface = yyvsp[0].iface; symtable_export (g_symtab, TRUE); ;
break;}
case 32:
-#line 462 "llgrammar.y"
{ declarePrivConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makePrivConst (yyvsp[0].constdeclaration); ;
break;}
case 33:
-#line 464 "llgrammar.y"
{ declarePrivVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makePrivVar (yyvsp[0].vardeclaration); ;
break;}
case 34:
-#line 466 "llgrammar.y"
{ declarePrivType (yyvsp[0].type); yyval.iface = interfaceNode_makePrivType (yyvsp[0].type); ;
break;}
case 35:
-#line 468 "llgrammar.y"
{ declarePrivFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makePrivFcn (yyvsp[0].fcn); ;
break;}
case 36:
-#line 472 "llgrammar.y"
{ yyval.constdeclaration = makeConstDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls); ;
break;}
case 37:
-#line 476 "llgrammar.y"
{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_NONE; ;
break;}
case 38:
-#line 478 "llgrammar.y"
{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_CONST; ;
break;}
case 39:
-#line 480 "llgrammar.y"
{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_VOLATILE; ;
break;}
case 40:
-#line 483 "llgrammar.y"
{ yyval.type = makeAbstractTypeNode (yyvsp[0].abstract); ;
break;}
case 41:
-#line 484 "llgrammar.y"
{ yyval.type = makeExposedTypeNode (yyvsp[0].exposed); ;
break;}
case 42:
-#line 487 "llgrammar.y"
{ yyval.typequal = qual_createPrintfLike (); ;
break;}
case 43:
-#line 488 "llgrammar.y"
{ yyval.typequal = qual_createScanfLike (); ;
break;}
case 44:
-#line 489 "llgrammar.y"
{ yyval.typequal = qual_createMessageLike (); ;
break;}
case 45:
-#line 492 "llgrammar.y"
{ enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ;
break;}
case 46:
-#line 494 "llgrammar.y"
{ yyval.fcn = makeFcnNode (qual_createUnknown (), yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist, yyvsp[-6].letdecls,
yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate);
/* type, declarator, glovbls, privateinits,
;
break;}
case 47:
-#line 500 "llgrammar.y"
{ enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ;
break;}
case 48:
-#line 504 "llgrammar.y"
{ yyval.fcn = makeFcnNode (yyvsp[-13].typequal, yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist,
yyvsp[-6].letdecls, yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate);
/* type, declarator, glovbls, privateinits,
;
break;}
case 49:
-#line 514 "llgrammar.y"
{ enteringClaimScope (yyvsp[-2].paramlist, yyvsp[0].globals); ;
break;}
case 50:
-#line 516 "llgrammar.y"
{ yyval.claim = makeClaimNode (yyvsp[-11].ltok, yyvsp[-9].paramlist, yyvsp[-7].globals, yyvsp[-4].letdecls, yyvsp[-3].lclpredicate, yyvsp[-2].program, yyvsp[-1].lclpredicate);
symtable_exitScope (g_symtab); ;
break;}
case 51:
-#line 519 "llgrammar.y"
{ yyval.claim = (claimNode) 0; ;
break;}
case 52:
-#line 522 "llgrammar.y"
{g_inTypeDef = TRUE; ;
break;}
case 53:
-#line 522 "llgrammar.y"
{g_inTypeDef = FALSE; ;
break;}
case 54:
-#line 523 "llgrammar.y"
{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, FALSE, yyvsp[0].abstbody); ;
break;}
case 55:
-#line 524 "llgrammar.y"
{g_inTypeDef = TRUE; ;
break;}
case 56:
-#line 525 "llgrammar.y"
{g_inTypeDef = FALSE; ;
break;}
case 57:
-#line 526 "llgrammar.y"
{ yyval.abstract = makeAbstractNode (yyvsp[-6].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ;
break;}
case 58:
-#line 527 "llgrammar.y"
{g_inTypeDef = TRUE; ;
break;}
case 59:
-#line 528 "llgrammar.y"
{g_inTypeDef = FALSE; ;
break;}
case 60:
-#line 529 "llgrammar.y"
{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ;
break;}
case 61:
-#line 530 "llgrammar.y"
{g_inTypeDef = TRUE; ;
break;}
case 62:
-#line 530 "llgrammar.y"
{g_inTypeDef = FALSE; ;
break;}
case 63:
-#line 531 "llgrammar.y"
{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, FALSE, FALSE, yyvsp[0].abstbody); ;
break;}
case 64:
-#line 534 "llgrammar.y"
{ g_inTypeDef = TRUE; setExposedType (yyvsp[0].lcltypespec); ;
break;}
case 65:
-#line 535 "llgrammar.y"
{ g_inTypeDef = FALSE; ;
break;}
case 66:
-#line 536 "llgrammar.y"
{ yyval.exposed = makeExposedNode (yyvsp[-5].ltok, yyvsp[-4].lcltypespec, yyvsp[-2].declaratorinvs); /* to support mutually recursive types */ ;
break;}
case 67:
-#line 538 "llgrammar.y"
{ yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeSU (yyvsp[-1].structorunion), declaratorInvNodeList_new ()); ;
break;}
case 68:
-#line 540 "llgrammar.y"
{ yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeEnum (yyvsp[-1].enumspec), declaratorInvNodeList_new ()); ;
break;}
case 69:
-#line 556 "llgrammar.y"
{ yyval.importlist = importNodeList_add (importNodeList_new (), yyvsp[0].import); ;
break;}
case 70:
-#line 558 "llgrammar.y"
{ yyval.importlist = importNodeList_add (yyvsp[-2].importlist, yyvsp[0].import); ;
break;}
case 71:
-#line 561 "llgrammar.y"
{ yyval.import = importNode_makePlain (yyvsp[0].ltok); ;
break;}
case 72:
-#line 563 "llgrammar.y"
{ checkBrackets (yyvsp[-2].ltok, yyvsp[0].ltok); yyval.import = importNode_makeBracketed (yyvsp[-1].ltok); ;
break;}
case 73:
-#line 564 "llgrammar.y"
{ yyval.import = importNode_makeQuoted (yyvsp[0].ltok); ;
break;}
case 74:
-#line 567 "llgrammar.y"
{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
break;}
case 75:
-#line 568 "llgrammar.y"
{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
break;}
case 77:
-#line 576 "llgrammar.y"
{ yyval.traitreflist = traitRefNodeList_add (traitRefNodeList_new (), yyvsp[0].traitref); ;
break;}
case 78:
-#line 578 "llgrammar.y"
{ yyval.traitreflist = traitRefNodeList_add (yyvsp[-2].traitreflist, yyvsp[0].traitref); ;
break;}
case 79:
-#line 582 "llgrammar.y"
{ yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[0].ltok), (renamingNode)0); ;
break;}
case 80:
-#line 584 "llgrammar.y"
{ yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[-3].ltok), yyvsp[-1].renaming); ;
break;}
case 81:
-#line 586 "llgrammar.y"
{ yyval.traitref = makeTraitRefNode (yyvsp[-1].ltokenList, (renamingNode)0); ;
break;}
case 82:
-#line 588 "llgrammar.y"
{ yyval.traitref = makeTraitRefNode (yyvsp[-4].ltokenList, yyvsp[-1].renaming); ;
break;}
case 83:
-#line 591 "llgrammar.y"
{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
break;}
case 84:
-#line 592 "llgrammar.y"
{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
break;}
case 85:
-#line 596 "llgrammar.y"
{ yyval.renaming = makeRenamingNode (typeNameNodeList_new (), yyvsp[0].replacelist); ;
break;}
case 86:
-#line 598 "llgrammar.y"
{ yyval.renaming = makeRenamingNode (yyvsp[0].namelist, replaceNodeList_new ()); ;
break;}
case 87:
-#line 599 "llgrammar.y"
{ yyval.renaming = makeRenamingNode (yyvsp[-2].namelist, yyvsp[0].replacelist); ;
break;}
case 88:
-#line 603 "llgrammar.y"
{ yyval.namelist = typeNameNodeList_add (typeNameNodeList_new (), yyvsp[0].typname); ;
break;}
case 89:
-#line 604 "llgrammar.y"
{ yyval.namelist = typeNameNodeList_add (yyvsp[-2].namelist, yyvsp[0].typname); ;
break;}
case 90:
-#line 608 "llgrammar.y"
{ yyval.replacelist = replaceNodeList_add (replaceNodeList_new (), yyvsp[0].replace); ;
break;}
case 91:
-#line 609 "llgrammar.y"
{ yyval.replacelist = replaceNodeList_add (yyvsp[-2].replacelist, yyvsp[0].replace); ;
break;}
case 92:
-#line 612 "llgrammar.y"
{ yyval.replace = makeReplaceNode (yyvsp[-1].ltok, yyvsp[-2].typname, TRUE, yyvsp[0].ltok, NULL, NULL); ;
break;}
case 93:
-#line 613 "llgrammar.y"
{ yyval.replace = makeReplaceNameNode (yyvsp[-1].ltok, yyvsp[-2].typname, yyvsp[0].name); ;
break;}
case 94:
-#line 614 "llgrammar.y"
{ yyval.replace = makeReplaceNode (yyvsp[-2].ltok, yyvsp[-3].typname, FALSE, ltoken_undefined,
yyvsp[-1].name, yyvsp[0].signature); ;
break;}
case 95:
-#line 618 "llgrammar.y"
{ yyval.name = makeNameNodeId (yyvsp[0].ltok); ;
break;}
case 96:
-#line 619 "llgrammar.y"
{ yyval.name = makeNameNodeForm (yyvsp[0].opform); ;
break;}
case 99:
-#line 627 "llgrammar.y"
{ yyval.initdecls = initDeclNodeList_add (initDeclNodeList_new (), yyvsp[0].initdecl); ;
break;}
case 100:
-#line 629 "llgrammar.y"
{ yyval.initdecls = initDeclNodeList_add (yyvsp[-2].initdecls, yyvsp[0].initdecl); ;
break;}
case 101:
-#line 632 "llgrammar.y"
{ yyval.initdecl = makeInitDeclNode (yyvsp[0].declare, (termNode)0); ;
break;}
case 102:
-#line 633 "llgrammar.y"
{ yyval.initdecl = makeInitDeclNode (yyvsp[-2].declare, yyvsp[0].term); ;
break;}
case 103:
-#line 637 "llgrammar.y"
{ yyval.globals = varDeclarationNodeList_new (); ;
break;}
case 104:
-#line 639 "llgrammar.y"
{ varDeclarationNodeList_addh (yyvsp[-1].globals, yyvsp[0].vardeclaration); yyval.globals = yyvsp[-1].globals; ;
break;}
case 105:
-#line 642 "llgrammar.y"
{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, TRUE, FALSE); ;
break;}
case 106:
-#line 643 "llgrammar.y"
{ yyval.vardeclaration = makeInternalStateNode (); ;
break;}
case 107:
-#line 644 "llgrammar.y"
{ yyval.vardeclaration = makeFileSystemNode (); ;
break;}
case 108:
-#line 647 "llgrammar.y"
{ yyval.vardeclarationlist = varDeclarationNodeList_new (); ;
break;}
case 109:
-#line 648 "llgrammar.y"
{ varDeclarationNodeList_addh (yyvsp[-1].vardeclarationlist, yyvsp[0].vardeclaration); yyval.vardeclarationlist = yyvsp[-1].vardeclarationlist; ;
break;}
case 110:
-#line 652 "llgrammar.y"
{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, TRUE); ;
break;}
case 111:
-#line 655 "llgrammar.y"
{ yyval.letdecls = letDeclNodeList_new (); ;
break;}
case 112:
-#line 656 "llgrammar.y"
{ yyval.letdecls = yyvsp[-1].letdecls; ;
break;}
case 113:
-#line 659 "llgrammar.y"
{ yyval.letdecls = letDeclNodeList_add (letDeclNodeList_new (), yyvsp[0].letdecl); ;
break;}
case 114:
-#line 660 "llgrammar.y"
{ yyval.letdecls = letDeclNodeList_add (yyvsp[-2].letdecls, yyvsp[0].letdecl); ;
break;}
case 115:
-#line 663 "llgrammar.y"
{ yyval.letdecl = makeLetDeclNode (yyvsp[-4].ltok, yyvsp[-2].lcltypespec, yyvsp[0].term); ;
break;}
case 116:
-#line 664 "llgrammar.y"
{ yyval.letdecl = makeLetDeclNode (yyvsp[-2].ltok, (lclTypeSpecNode)0, yyvsp[0].term); ;
break;}
case 118:
-#line 669 "llgrammar.y"
{ yyval.lclpredicate = (lclPredicateNode)0; ;
break;}
case 119:
-#line 670 "llgrammar.y"
{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeChecksNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ;
break;}
case 120:
-#line 673 "llgrammar.y"
{ yyval.lclpredicate = (lclPredicateNode)0; ;
break;}
case 121:
-#line 674 "llgrammar.y"
{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeRequiresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
break;}
case 122:
-#line 677 "llgrammar.y"
{ yyval.modify = (modifyNode)0; ;
break;}
case 123:
-#line 678 "llgrammar.y"
{ yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, TRUE); ;
break;}
case 124:
-#line 679 "llgrammar.y"
{ yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, FALSE); ;
break;}
case 125:
-#line 680 "llgrammar.y"
{ yyval.modify = makeModifyNodeRef (yyvsp[-2].ltok, yyvsp[-1].storereflist); ;
break;}
case 126:
-#line 683 "llgrammar.y"
{ yyval.storereflist = storeRefNodeList_add (storeRefNodeList_new (), yyvsp[0].storeref); ;
break;}
case 127:
-#line 684 "llgrammar.y"
{ yyval.storereflist = storeRefNodeList_add (yyvsp[-2].storereflist, yyvsp[0].storeref); ;
break;}
case 128:
-#line 687 "llgrammar.y"
{ yyval.storeref = makeStoreRefNodeTerm (yyvsp[0].term); ;
break;}
case 129:
-#line 688 "llgrammar.y"
{ yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, FALSE); ;
break;}
case 130:
-#line 689 "llgrammar.y"
{ yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, TRUE); ;
break;}
case 131:
-#line 690 "llgrammar.y"
{ yyval.storeref = makeStoreRefNodeInternal (); ;
break;}
case 132:
-#line 691 "llgrammar.y"
{ yyval.storeref = makeStoreRefNodeSystem (); ;
break;}
case 133:
-#line 694 "llgrammar.y"
{ yyval.lclpredicate = (lclPredicateNode)0; ;
break;}
case 134:
-#line 695 "llgrammar.y"
{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeEnsuresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
break;}
case 135:
-#line 698 "llgrammar.y"
{ yyval.lclpredicate = (lclPredicateNode)0; ;
break;}
case 136:
-#line 699 "llgrammar.y"
{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeIntraClaimNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
break;}
case 137:
-#line 702 "llgrammar.y"
{ yyval.paramlist = paramNodeList_new (); ;
break;}
case 138:
-#line 703 "llgrammar.y"
{ yyval.paramlist = yyvsp[0].paramlist; ;
break;}
case 140:
-#line 707 "llgrammar.y"
{ yyval.paramlist = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;
break;}
case 141:
-#line 708 "llgrammar.y"
{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, paramNode_elipsis ()); ;
break;}
case 142:
-#line 711 "llgrammar.y"
{ yyval.paramlist = paramNodeList_single (yyvsp[0].param); ;
break;}
case 143:
-#line 712 "llgrammar.y"
{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, yyvsp[0].param); ;
break;}
case 144:
-#line 715 "llgrammar.y"
{ yyval.program = (programNode)0; ;
break;}
case 145:
-#line 716 "llgrammar.y"
{ yyval.program = yyvsp[-1].program; ;
break;}
case 146:
-#line 717 "llgrammar.y"
{ yyval.program = yyvsp[-2].program; ;
break;}
case 147:
-#line 720 "llgrammar.y"
{ yyval.program = makeProgramNode (yyvsp[0].stmt); ;
break;}
case 148:
-#line 723 "llgrammar.y"
{ yyval.program = yyvsp[-1].program; yyval.program->wrapped = yyval.program->wrapped + 1; ;
break;}
case 149:
-#line 725 "llgrammar.y"
{ programNodeList x = programNodeList_new ();
programNodeList_addh (x, yyvsp[-1].program);
yyval.program = makeProgramNodeAction (x, ACT_ITER);
;
break;}
case 150:
-#line 730 "llgrammar.y"
{ programNodeList x = programNodeList_new ();
programNodeList_addh (x, yyvsp[-2].program);
programNodeList_addh (x, yyvsp[0].program);
;
break;}
case 151:
-#line 736 "llgrammar.y"
{ programNodeList x = programNodeList_new ();
programNodeList_addh (x, yyvsp[-2].program);
programNodeList_addh (x, yyvsp[0].program);
;
break;}
case 152:
-#line 744 "llgrammar.y"
{ yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-3].ltok, yyvsp[-1].termlist); ;
break;}
case 153:
-#line 746 "llgrammar.y"
{ yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-2].ltok, termNodeList_new ()); ;
break;}
case 154:
-#line 748 "llgrammar.y"
{ yyval.stmt = makeStmtNode (yyvsp[-4].ltok, yyvsp[-2].ltok, termNodeList_new ()); ;
break;}
case 155:
-#line 750 "llgrammar.y"
{ yyval.stmt = makeStmtNode (yyvsp[-5].ltok, yyvsp[-3].ltok, yyvsp[-1].termlist); ;
break;}
case 156:
-#line 753 "llgrammar.y"
{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
break;}
case 157:
-#line 754 "llgrammar.y"
{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
break;}
case 159:
-#line 758 "llgrammar.y"
{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
break;}
case 160:
-#line 759 "llgrammar.y"
{ yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 161:
-#line 760 "llgrammar.y"
{ yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ;
break;}
case 162:
-#line 761 "llgrammar.y"
{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 163:
-#line 762 "llgrammar.y"
{ yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ;
break;}
case 164:
-#line 764 "llgrammar.y"
{ yyval.term = makeOpCallTermNode (yyvsp[-2].ltok, yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
break;}
case 165:
-#line 766 "llgrammar.y"
{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
break;}
case 166:
-#line 769 "llgrammar.y"
{ yyval.abstbody = (abstBodyNode)0; ;
break;}
case 167:
-#line 770 "llgrammar.y"
{ yyval.abstbody = makeAbstBodyNode (yyvsp[-2].ltok, yyvsp[-1].fcns); ;
break;}
case 168:
-#line 771 "llgrammar.y"
{ yyval.abstbody = makeAbstBodyNode2 (yyvsp[-3].ltok, yyvsp[-2].ltokenList); ;
break;}
case 169:
-#line 772 "llgrammar.y"
{ yyval.abstbody = (abstBodyNode)0; ;
break;}
case 170:
-#line 775 "llgrammar.y"
{ yyval.fcns = fcnNodeList_new (); ;
break;}
case 171:
-#line 776 "llgrammar.y"
{ yyval.fcns = fcnNodeList_add (yyvsp[-1].fcns, yyvsp[0].fcn); ;
break;}
case 172:
-#line 779 "llgrammar.y"
{ yyval.lclpredicate = (lclPredicateNode)0; ;
break;}
case 174:
-#line 783 "llgrammar.y"
{ g_inTypeDef = FALSE; ;
break;}
case 175:
-#line 784 "llgrammar.y"
{ yyvsp[-1].lclpredicate->tok = yyvsp[-5].ltok; yyvsp[-1].lclpredicate->kind = LPD_CONSTRAINT;
checkLclPredicate (yyvsp[-5].ltok, yyvsp[-1].lclpredicate);
yyval.lclpredicate = yyvsp[-1].lclpredicate;
;
break;}
case 176:
-#line 792 "llgrammar.y"
{ yyval.declaratorinvs = declaratorInvNodeList_add (declaratorInvNodeList_new (), yyvsp[0].declaratorinv); ;
break;}
case 177:
-#line 794 "llgrammar.y"
{ yyval.declaratorinvs = declaratorInvNodeList_add (yyvsp[-2].declaratorinvs, yyvsp[0].declaratorinv); ;
break;}
case 178:
-#line 797 "llgrammar.y"
{ declareForwardType (yyvsp[0].declare); ;
break;}
case 179:
-#line 798 "llgrammar.y"
{ yyval.declaratorinv = makeDeclaratorInvNode (yyvsp[-2].declare, yyvsp[0].abstbody); ;
break;}
case 180:
-#line 801 "llgrammar.y"
{ yyval.abstbody = (abstBodyNode)0; ;
break;}
case 181:
-#line 802 "llgrammar.y"
{ yyval.abstbody = makeExposedBodyNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ;
break;}
case 182:
-#line 805 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_VOID, 0)); ;
break;}
case 183:
-#line 806 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_CHAR, 0)); ;
break;}
case 184:
-#line 807 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_DOUBLE, 0)); ;
break;}
case 185:
-#line 808 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_FLOAT, 0)); ;
break;}
case 186:
-#line 809 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_INT, 0)); ;
break;}
case 187:
-#line 810 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_LONG, 0)); ;
break;}
case 188:
-#line 811 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SHORT, 0)); ;
break;}
case 189:
-#line 812 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SIGNED, 0)); ;
break;}
case 190:
-#line 813 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNSIGNED, 0)); ;
break;}
case 191:
-#line 814 "llgrammar.y"
{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNKNOWN, 0)); ;
break;}
case 192:
-#line 822 "llgrammar.y"
{ yyval.ctypes = makeCTypesNode ((CTypesNode)0, yyvsp[0].ltok); ;
break;}
case 193:
-#line 823 "llgrammar.y"
{ yyval.ctypes = makeCTypesNode (yyvsp[-1].ctypes, yyvsp[0].ltok); ;
break;}
case 194:
-#line 829 "llgrammar.y"
{ yyval.ctypes = makeTypeSpecifier (yyvsp[0].ltok); ;
break;}
case 195:
-#line 831 "llgrammar.y"
{ yyval.ctypes = yyvsp[0].ctypes; yyval.ctypes->sort = sort_lookupName (lclctype_toSort (yyvsp[0].ctypes->intfield)); ;
break;}
case 196:
-#line 836 "llgrammar.y"
{ yyval.typequal = qual_createOut (); ;
break;}
case 197:
-#line 837 "llgrammar.y"
{ yyval.typequal = qual_createUnused (); ;
break;}
case 198:
-#line 838 "llgrammar.y"
{ yyval.typequal = qual_createSef (); ;
break;}
case 199:
-#line 839 "llgrammar.y"
{ yyval.typequal = qual_createOnly (); ;
break;}
case 200:
-#line 840 "llgrammar.y"
{ yyval.typequal = qual_createOwned (); ;
break;}
case 201:
-#line 841 "llgrammar.y"
{ yyval.typequal = qual_createDependent (); ;
break;}
case 202:
-#line 842 "llgrammar.y"
{ yyval.typequal = qual_createKeep (); ;
break;}
case 203:
-#line 843 "llgrammar.y"
{ yyval.typequal = qual_createKept (); ;
break;}
case 204:
-#line 844 "llgrammar.y"
{ yyval.typequal = qual_createObserver (); ;
break;}
case 205:
-#line 845 "llgrammar.y"
{ yyval.typequal = qual_createExits (); ;
break;}
case 206:
-#line 846 "llgrammar.y"
{ yyval.typequal = qual_createMayExit (); ;
break;}
case 207:
-#line 847 "llgrammar.y"
{ yyval.typequal = qual_createTrueExit (); ;
break;}
case 208:
-#line 848 "llgrammar.y"
{ yyval.typequal = qual_createFalseExit (); ;
break;}
case 209:
-#line 849 "llgrammar.y"
{ yyval.typequal = qual_createNeverExit (); ;
break;}
case 210:
-#line 850 "llgrammar.y"
{ yyval.typequal = qual_createOnly (); ;
break;}
case 211:
-#line 851 "llgrammar.y"
{ yyval.typequal = qual_createShared (); ;
break;}
case 212:
-#line 852 "llgrammar.y"
{ yyval.typequal = qual_createUnique (); ;
break;}
case 213:
-#line 853 "llgrammar.y"
{ yyval.typequal = qual_createChecked (); ;
break;}
case 214:
-#line 854 "llgrammar.y"
{ yyval.typequal = qual_createUnchecked (); ;
break;}
case 215:
-#line 855 "llgrammar.y"
{ yyval.typequal = qual_createCheckedStrict (); ;
break;}
case 216:
-#line 856 "llgrammar.y"
{ yyval.typequal = qual_createTrueNull (); ;
break;}
case 217:
-#line 857 "llgrammar.y"
{ yyval.typequal = qual_createFalseNull (); ;
break;}
case 218:
-#line 858 "llgrammar.y"
{ yyval.typequal = qual_createRelNull (); ;
break;}
case 219:
-#line 859 "llgrammar.y"
{ yyval.typequal = qual_createRelDef (); ;
break;}
case 220:
-#line 860 "llgrammar.y"
{ yyval.typequal = qual_createRefCounted (); ;
break;}
case 221:
-#line 861 "llgrammar.y"
{ yyval.typequal = qual_createRefs (); ;
break;}
case 222:
-#line 862 "llgrammar.y"
{ yyval.typequal = qual_createNewRef (); ;
break;}
case 223:
-#line 863 "llgrammar.y"
{ yyval.typequal = qual_createKillRef (); ;
break;}
case 224:
-#line 864 "llgrammar.y"
{ yyval.typequal = qual_createNull (); ;
break;}
case 225:
-#line 865 "llgrammar.y"
{ yyval.typequal = qual_createNotNull (); ;
break;}
case 226:
-#line 866 "llgrammar.y"
{ yyval.typequal = qual_createReturned (); ;
break;}
case 227:
-#line 867 "llgrammar.y"
{ yyval.typequal = qual_createExposed (); ;
break;}
case 228:
-#line 868 "llgrammar.y"
{ yyval.typequal = qual_createPartial (); ;
break;}
case 229:
-#line 869 "llgrammar.y"
{ yyval.typequal = qual_createNullTerminated () ; ;
break;}
case 230:
-#line 870 "llgrammar.y"
{ yyval.typequal = qual_createUndef (); ;
break;}
case 231:
-#line 871 "llgrammar.y"
{ yyval.typequal = qual_createKilled (); ;
break;}
case 232:
-#line 875 "llgrammar.y"
{ yyval.lcltypespec = makeLclTypeSpecNodeType (yyvsp[0].ctypes); ;
break;}
case 233:
-#line 877 "llgrammar.y"
{ yyval.lcltypespec = makeLclTypeSpecNodeSU (yyvsp[0].structorunion); ;
break;}
case 234:
-#line 879 "llgrammar.y"
{ yyval.lcltypespec = makeLclTypeSpecNodeEnum (yyvsp[0].enumspec); ;
break;}
case 235:
-#line 881 "llgrammar.y"
{ yyval.lcltypespec = lclTypeSpecNode_addQual (yyvsp[0].lcltypespec, yyvsp[-1].typequal); ;
break;}
case 236:
-#line 883 "llgrammar.y"
{ yyval.lcltypespec = makeLclTypeSpecNodeConj (yyvsp[-3].lcltypespec, yyvsp[-1].lcltypespec); ;
break;}
case 238:
-#line 893 "llgrammar.y"
{ llassert (lclTypeSpecNode_isDefined (yyvsp[-1].lcltypespec));
yyvsp[-1].lcltypespec->pointers = yyvsp[0].count; yyval.lcltypespec = yyvsp[-1].lcltypespec; ;
break;}
case 239:
-#line 897 "llgrammar.y"
{ yyval.count = 1; ;
break;}
case 240:
-#line 898 "llgrammar.y"
{ yyval.count = yyvsp[-1].count + 1; ;
break;}
case 241:
-#line 902 "llgrammar.y"
{ (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy (yyvsp[0].ltok)); ;
break;}
case 242:
-#line 904 "llgrammar.y"
{ yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_STRUCT, yyvsp[-4].ltok, yyvsp[-1].structdecls); ;
break;}
case 243:
-#line 906 "llgrammar.y"
{ (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy (yyvsp[0].ltok)); ;
break;}
case 244:
-#line 908 "llgrammar.y"
{ yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_UNION, yyvsp[-4].ltok, yyvsp[-1].structdecls); ;
break;}
case 245:
-#line 910 "llgrammar.y"
{ yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_STRUCT, yyvsp[0].ltok); ;
break;}
case 246:
-#line 912 "llgrammar.y"
{ yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_UNION, yyvsp[0].ltok); ;
break;}
case 247:
-#line 915 "llgrammar.y"
{ yyval.ltok = ltoken_undefined; ;
break;}
case 249:
-#line 919 "llgrammar.y"
{ yyval.structdecls = stDeclNodeList_add (stDeclNodeList_new (), yyvsp[0].structdecl); ;
break;}
case 250:
-#line 920 "llgrammar.y"
{ yyval.structdecls = stDeclNodeList_add (yyvsp[-1].structdecls, yyvsp[0].structdecl); ;
break;}
case 251:
-#line 925 "llgrammar.y"
{ yyval.structdecl = makestDeclNode (yyvsp[-2].lcltypespec, yyvsp[-1].declarelist); ;
break;}
case 252:
-#line 929 "llgrammar.y"
{ yyval.declarelist = declaratorNodeList_add (declaratorNodeList_new (), yyvsp[0].declare); ;
break;}
case 253:
-#line 931 "llgrammar.y"
{ yyval.declarelist = declaratorNodeList_add (yyvsp[-2].declarelist, yyvsp[0].declare); ;
break;}
case 254:
-#line 934 "llgrammar.y"
{ ; ;
break;}
case 255:
-#line 935 "llgrammar.y"
{ ; ;
break;}
case 256:
-#line 939 "llgrammar.y"
{ yyval.enumspec = makeEnumSpecNode (yyvsp[-5].ltok, yyvsp[-4].ltok, yyvsp[-2].ltokenList); ;
break;}
case 257:
-#line 941 "llgrammar.y"
{ yyval.enumspec = makeEnumSpecNode2 (yyvsp[-1].ltok, yyvsp[0].ltok); ;
break;}
case 258:
-#line 944 "llgrammar.y"
{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
break;}
case 259:
-#line 945 "llgrammar.y"
{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
break;}
case 260:
-#line 955 "llgrammar.y"
{ yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ;
break;}
case 261:
-#line 956 "llgrammar.y"
{ yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ;
break;}
case 262:
-#line 959 "llgrammar.y"
{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
break;}
case 263:
-#line 960 "llgrammar.y"
{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
break;}
case 264:
-#line 961 "llgrammar.y"
{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
break;}
case 265:
-#line 962 "llgrammar.y"
{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
break;}
case 266:
-#line 963 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
break;}
case 267:
-#line 964 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
break;}
case 268:
-#line 967 "llgrammar.y"
{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
break;}
case 269:
-#line 968 "llgrammar.y"
{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
break;}
case 270:
-#line 969 "llgrammar.y"
{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
break;}
case 271:
-#line 970 "llgrammar.y"
{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
break;}
case 272:
-#line 971 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
break;}
case 273:
-#line 972 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
break;}
case 274:
-#line 981 "llgrammar.y"
{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
break;}
case 275:
-#line 982 "llgrammar.y"
{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
break;}
case 276:
-#line 983 "llgrammar.y"
{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
break;}
case 277:
-#line 984 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
break;}
case 278:
-#line 985 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
break;}
case 279:
-#line 991 "llgrammar.y"
{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ;
break;}
case 280:
-#line 992 "llgrammar.y"
{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ;
break;}
case 281:
-#line 993 "llgrammar.y"
{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
break;}
case 282:
-#line 1003 "llgrammar.y"
{ yyval.typname = makeTypeNameNode (FALSE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
break;}
case 283:
-#line 1004 "llgrammar.y"
{ yyval.typname = makeTypeNameNode (TRUE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
break;}
case 284:
-#line 1005 "llgrammar.y"
{ yyval.typname = makeTypeNameNodeOp (yyvsp[0].opform); ;
break;}
case 285:
-#line 1010 "llgrammar.y"
{ yyval.abstDecl = (abstDeclaratorNode)0; ;
break;}
case 286:
-#line 1011 "llgrammar.y"
{ yyval.abstDecl = (abstDeclaratorNode)yyvsp[0].typeexpr; ;
break;}
case 287:
-#line 1014 "llgrammar.y"
{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
break;}
case 288:
-#line 1015 "llgrammar.y"
{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
break;}
case 289:
-#line 1016 "llgrammar.y"
{ yyval.typeexpr = makePointerNode (yyvsp[0].ltok, (typeExpr)0); ;
break;}
case 290:
-#line 1017 "llgrammar.y"
{ yyval.typeexpr = makeArrayNode ((typeExpr)0, yyvsp[0].array); ;
break;}
case 291:
-#line 1018 "llgrammar.y"
{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
break;}
case 292:
-#line 1019 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
break;}
case 293:
-#line 1020 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode ((typeExpr)0, yyvsp[-1].paramlist); ;
break;}
case 294:
-#line 1021 "llgrammar.y"
{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
break;}
case 295:
-#line 1024 "llgrammar.y"
{ yyval.array = makeArrayQualNode (yyvsp[-1].ltok, (termNode)0); ;
break;}
case 296:
-#line 1025 "llgrammar.y"
{ yyval.array = makeArrayQualNode (yyvsp[-2].ltok, yyvsp[-1].term); ;
break;}
case 297:
-#line 1029 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-5].ltok, OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;
break;}
case 298:
-#line 1031 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[0].ltok, OPF_ANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 299:
-#line 1033 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 300:
-#line 1035 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_ANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
break;}
case 301:
-#line 1037 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MANYOPM,
opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
break;}
case 302:
-#line 1040 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
break;}
case 303:
-#line 1042 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
break;}
case 304:
-#line 1044 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
break;}
case 305:
-#line 1046 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
break;}
case 306:
-#line 1048 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
break;}
case 307:
-#line 1050 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
break;}
case 308:
-#line 1058 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
break;}
case 309:
-#line 1060 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
break;}
case 310:
-#line 1062 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_SELECT,
opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 311:
-#line 1065 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MAP,
opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 312:
-#line 1068 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MSELECT,
opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 313:
-#line 1071 "llgrammar.y"
{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMAP,
opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
break;}
case 321:
-#line 1088 "llgrammar.y"
{ yyval.count = 0; ;
break;}
case 323:
-#line 1092 "llgrammar.y"
{ yyval.count = 1; ;
break;}
case 324:
-#line 1093 "llgrammar.y"
{ yyval.count = yyvsp[-2].count + 1; ;
break;}
case 327:
-#line 1100 "llgrammar.y"
{ yyval.signature = makesigNode (yyvsp[-3].ltok, yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
break;}
case 328:
-#line 1103 "llgrammar.y"
{ yyval.ltokenList = ltokenList_new (); ;
break;}
case 330:
-#line 1107 "llgrammar.y"
{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
break;}
case 331:
-#line 1108 "llgrammar.y"
{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
break;}
case 332:
-#line 1111 "llgrammar.y"
{ yyval.lclpredicate = makeLclPredicateNode (ltoken_undefined, yyvsp[0].term, LPD_PLAIN);;
break;}
case 333:
-#line 1114 "llgrammar.y"
{ yyval.term = checkSort (yyvsp[0].term); ;
break;}
case 334:
-#line 1121 "llgrammar.y"
{ yyval.term = makeIfTermNode (yyvsp[-5].ltok,yyvsp[-4].term,yyvsp[-3].ltok,yyvsp[-2].term,yyvsp[-1].ltok,yyvsp[0].term); ;
break;}
case 336:
-#line 1123 "llgrammar.y"
{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 338:
-#line 1129 "llgrammar.y"
{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.term = makeQuantifiedTermNode (yyvsp[-3].quantifiers, yyvsp[-2].ltok, yyvsp[-1].lclpredicate->predicate, yyvsp[0].ltok);
symtable_exitScope (g_symtab);
;
break;}
case 339:
-#line 1133 "llgrammar.y"
{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);;
break;}
case 340:
-#line 1135 "llgrammar.y"
{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);;
break;}
case 342:
-#line 1139 "llgrammar.y"
{ yyval.term = makePostfixTermNode (yyvsp[-1].term, yyvsp[0].ltokenList); ;
break;}
case 343:
-#line 1140 "llgrammar.y"
{ yyval.term = CollapseInfixTermNode (yyvsp[-1].term, yyvsp[0].termlist); ;
break;}
case 347:
-#line 1148 "llgrammar.y"
{ yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 348:
-#line 1151 "llgrammar.y"
{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
break;}
case 349:
-#line 1152 "llgrammar.y"
{ yyval.ltokenList = ltokenList_push (yyvsp[-1].ltokenList, yyvsp[0].ltok); ;
break;}
case 350:
-#line 1155 "llgrammar.y"
{ yyval.termlist = pushInfixOpPartNode (termNodeList_new (), yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 351:
-#line 1156 "llgrammar.y"
{ yyval.termlist = pushInfixOpPartNode (yyvsp[-2].termlist, yyvsp[-1].ltok, yyvsp[0].term); ;
break;}
case 353:
-#line 1160 "llgrammar.y"
{ yyval.term = computePossibleSorts (yyvsp[0].term); ;
break;}
case 354:
-#line 1161 "llgrammar.y"
{ yyval.term = updateMatchedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ;
break;}
case 355:
-#line 1162 "llgrammar.y"
{ yyval.term = updateMatchedNode (yyvsp[-1].term, yyvsp[0].term, (termNode)0); ;
break;}
case 356:
-#line 1163 "llgrammar.y"
{ yyval.term = updateMatchedNode (yyvsp[-2].term, yyvsp[-1].term, yyvsp[0].term); ;
break;}
case 357:
-#line 1164 "llgrammar.y"
{ yyval.term = computePossibleSorts (yyvsp[0].term); ;
break;}
case 358:
-#line 1165 "llgrammar.y"
{ yyval.term = updateSqBracketedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ;
break;}
case 359:
-#line 1168 "llgrammar.y"
{ yyval.term = yyvsp[-2].term; yyval.term->sort = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
break;}
case 361:
-#line 1173 "llgrammar.y"
{ yyval.term = makeSqBracketedNode (yyvsp[-4].ltok, yyvsp[-3].termlist, yyvsp[-2].ltok);
yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
break;}
case 362:
-#line 1176 "llgrammar.y"
{ yyval.term = makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
break;}
case 363:
-#line 1178 "llgrammar.y"
{ yyval.term = makeSqBracketedNode (yyvsp[-3].ltok, termNodeList_new (), yyvsp[-2].ltok);
yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok));
;
break;}
case 364:
-#line 1182 "llgrammar.y"
{ yyval.term = makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
break;}
case 365:
-#line 1185 "llgrammar.y"
{ yyval.term = makeMatchedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
break;}
case 366:
-#line 1186 "llgrammar.y"
{ yyval.term = makeMatchedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
break;}
case 367:
-#line 1189 "llgrammar.y"
{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
break;}
case 368:
-#line 1190 "llgrammar.y"
{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
break;}
case 369:
-#line 1194 "llgrammar.y"
{ yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ;
break;}
case 370:
-#line 1196 "llgrammar.y"
{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
break;}
case 371:
-#line 1198 "llgrammar.y"
{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
break;}
case 373:
-#line 1201 "llgrammar.y"
{ yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ;
break;}
case 374:
-#line 1203 "llgrammar.y"
{ ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeSelectTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ;
break;}
case 375:
-#line 1205 "llgrammar.y"
{ ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeMapTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ;
break;}
case 376:
-#line 1207 "llgrammar.y"
{ yyval.term = updateSqBracketedNode (yyvsp[-2].term, makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok),
(termNode)0); ;
break;}
case 377:
-#line 1210 "llgrammar.y"
{ yyval.term = updateSqBracketedNode (yyvsp[-3].term, makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok), (termNode)0); ;
break;}
case 378:
-#line 1212 "llgrammar.y"
{ yyval.term = yyvsp[-2].term; yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
break;}
case 379:
-#line 1215 "llgrammar.y"
{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
break;}
case 380:
-#line 1216 "llgrammar.y"
{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
break;}
case 386:
-#line 1226 "llgrammar.y"
{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
break;}
case 387:
-#line 1227 "llgrammar.y"
{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
break;}
case 388:
-#line 1228 "llgrammar.y"
{ yyval.term = makeUnchangedTermNode1 (yyvsp[-3].ltok, yyvsp[-1].ltok); ;
break;}
case 389:
-#line 1229 "llgrammar.y"
{ yyval.term = makeUnchangedTermNode2 (yyvsp[-3].ltok, yyvsp[-1].storereflist); ;
break;}
case 390:
-#line 1231 "llgrammar.y"
{ termNodeList x = termNodeList_new ();
termNodeList_addh (x, yyvsp[-1].term);
yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, x, yyvsp[0].ltok);
;
break;}
case 391:
-#line 1236 "llgrammar.y"
{ termNodeList x = termNodeList_new ();
termNodeList_addh (x, yyvsp[-3].term);
termNodeList_addh (x, yyvsp[-1].term);
;
break;}
case 392:
-#line 1241 "llgrammar.y"
{ yyval.term = makeSizeofTermNode (yyvsp[-3].ltok, yyvsp[-1].lcltypespec); ;
break;}
case 393:
-#line 1251 "llgrammar.y"
{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_int); ;
break;}
case 394:
-#line 1252 "llgrammar.y"
{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_cstring); ;
break;}
case 395:
-#line 1253 "llgrammar.y"
{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_char); ;
break;}
case 396:
-#line 1254 "llgrammar.y"
{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_double); ;
break;}
case 397:
-#line 1258 "llgrammar.y"
{ yyval.quantifiers = quantifierNodeList_add (quantifierNodeList_new (), yyvsp[0].quantifier); ;
break;}
case 398:
-#line 1260 "llgrammar.y"
{ yyval.quantifiers = quantifierNodeList_add (yyvsp[-1].quantifiers, yyvsp[0].quantifier); ;
break;}
case 399:
-#line 1263 "llgrammar.y"
{ scopeInfo si = (scopeInfo) dmalloc (sizeof (*si));
si->kind = SPE_QUANT;
symtable_enterScope (g_symtab, si); ;
break;}
case 400:
-#line 1267 "llgrammar.y"
{ yyval.quantifier = makeQuantifierNode (yyvsp[0].vars, yyvsp[-2].ltok); ;
break;}
case 401:
-#line 1270 "llgrammar.y"
{ yyval.vars = varNodeList_add (varNodeList_new (), yyvsp[0].var); ;
break;}
case 402:
-#line 1271 "llgrammar.y"
{ yyval.vars = varNodeList_add (yyvsp[-2].vars, yyvsp[0].var); ;
break;}
case 403:
-#line 1274 "llgrammar.y"
{ yyval.var = makeVarNode (yyvsp[-2].ltok, FALSE, yyvsp[0].lcltypespec); ;
break;}
case 404:
-#line 1275 "llgrammar.y"
{ yyval.var = makeVarNode (yyvsp[-3].ltok, TRUE, yyvsp[0].lcltypespec); ;
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+
\f
yyvsp -= yylen;
yyssp -= yylen;
}
return 1;
}
-#line 1290 "llgrammar.y"
# include "bison.reset"
/*drl added 11/27/2001*/
-/*@=arraybounds@*/
-/*@=arrayboundsread@*/
+/*@=bounds@*/