Index: res/ael/ael.tab.c =================================================================== --- res/ael/ael.tab.c (revision 189418) +++ res/ael/ael.tab.c (working copy) @@ -512,16 +512,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 17 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 327 +#define YYLAST 329 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 44 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 56 /* YYNRULES -- Number of rules. */ -#define YYNRULES 142 +#define YYNRULES 143 /* YYNRULES -- Number of states. */ -#define YYNSTATES 288 +#define YYNSTATES 290 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -576,15 +576,15 @@ 86, 89, 90, 93, 96, 98, 100, 102, 104, 106, 108, 110, 113, 115, 120, 124, 130, 135, 143, 152, 153, 156, 159, 165, 167, 175, 176, 181, 184, 187, - 192, 194, 197, 199, 202, 206, 210, 212, 215, 219, - 221, 224, 228, 234, 238, 240, 242, 246, 250, 253, - 254, 255, 256, 269, 273, 275, 279, 282, 285, 286, - 292, 295, 298, 301, 305, 307, 310, 311, 313, 317, - 321, 327, 333, 339, 345, 346, 349, 352, 357, 358, - 364, 368, 369, 373, 377, 380, 382, 383, 385, 386, - 390, 391, 394, 399, 403, 408, 409, 412, 414, 416, - 422, 427, 432, 433, 437, 443, 446, 448, 452, 455, - 459, 462, 467 + 192, 194, 197, 199, 202, 206, 210, 214, 216, 219, + 223, 225, 228, 232, 238, 242, 244, 246, 250, 254, + 257, 258, 259, 260, 273, 277, 279, 283, 286, 289, + 290, 296, 299, 302, 305, 309, 311, 314, 315, 317, + 321, 325, 331, 337, 343, 349, 350, 353, 356, 361, + 362, 368, 372, 373, 377, 381, 384, 386, 387, 389, + 390, 394, 395, 398, 403, 407, 412, 413, 416, 418, + 420, 426, 431, 436, 437, 441, 447, 450, 452, 456, + 459, 463, 466, 471 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -611,33 +611,33 @@ -1, 19, 66, -1, 22, 66, -1, 20, 6, 65, 7, -1, 43, -1, 43, 43, -1, 43, -1, 70, 43, -1, 70, 11, 43, -1, 70, 12, 43, -1, - 43, -1, 43, 43, -1, 43, 43, 43, -1, 43, - -1, 43, 43, -1, 72, 11, 43, -1, 18, 66, - 4, 90, 5, -1, 4, 63, 5, -1, 54, -1, - 56, -1, 26, 80, 8, -1, 27, 82, 8, -1, - 43, 11, -1, -1, -1, -1, 33, 6, 75, 43, - 8, 76, 43, 8, 77, 43, 7, 74, -1, 34, - 66, 74, -1, 73, -1, 12, 83, 8, -1, 87, - 8, -1, 43, 8, -1, -1, 87, 9, 78, 43, - 8, -1, 29, 8, -1, 28, 8, -1, 30, 8, - -1, 68, 74, 79, -1, 8, -1, 21, 74, -1, - -1, 72, -1, 72, 13, 72, -1, 72, 10, 72, - -1, 72, 13, 72, 13, 72, -1, 72, 10, 72, - 10, 72, -1, 37, 13, 72, 13, 72, -1, 37, - 10, 72, 10, 72, -1, -1, 10, 43, -1, 72, - 81, -1, 72, 81, 14, 48, -1, -1, 43, 6, - 84, 89, 7, -1, 43, 6, 7, -1, -1, 43, - 6, 86, -1, 85, 89, 7, -1, 85, 7, -1, - 43, -1, -1, 69, -1, -1, 89, 10, 88, -1, - -1, 91, 90, -1, 35, 43, 11, 63, -1, 37, - 11, 63, -1, 36, 43, 11, 63, -1, -1, 93, - 92, -1, 74, -1, 99, -1, 38, 43, 4, 63, - 5, -1, 39, 4, 96, 5, -1, 40, 4, 96, - 5, -1, -1, 43, 8, 96, -1, 43, 14, 43, - 8, 96, -1, 1, 96, -1, 48, -1, 48, 13, - 65, -1, 97, 8, -1, 98, 97, 8, -1, 98, - 1, -1, 41, 4, 98, 5, -1, 41, 4, 5, - -1 + 70, 14, 43, -1, 43, -1, 43, 43, -1, 43, + 43, 43, -1, 43, -1, 43, 43, -1, 72, 11, + 43, -1, 18, 66, 4, 90, 5, -1, 4, 63, + 5, -1, 54, -1, 56, -1, 26, 80, 8, -1, + 27, 82, 8, -1, 43, 11, -1, -1, -1, -1, + 33, 6, 75, 43, 8, 76, 43, 8, 77, 43, + 7, 74, -1, 34, 66, 74, -1, 73, -1, 12, + 83, 8, -1, 87, 8, -1, 43, 8, -1, -1, + 87, 9, 78, 43, 8, -1, 29, 8, -1, 28, + 8, -1, 30, 8, -1, 68, 74, 79, -1, 8, + -1, 21, 74, -1, -1, 72, -1, 72, 13, 72, + -1, 72, 10, 72, -1, 72, 13, 72, 13, 72, + -1, 72, 10, 72, 10, 72, -1, 37, 13, 72, + 13, 72, -1, 37, 10, 72, 10, 72, -1, -1, + 10, 43, -1, 72, 81, -1, 72, 81, 14, 48, + -1, -1, 43, 6, 84, 89, 7, -1, 43, 6, + 7, -1, -1, 43, 6, 86, -1, 85, 89, 7, + -1, 85, 7, -1, 43, -1, -1, 69, -1, -1, + 89, 10, 88, -1, -1, 91, 90, -1, 35, 43, + 11, 63, -1, 37, 11, 63, -1, 36, 43, 11, + 63, -1, -1, 93, 92, -1, 74, -1, 99, -1, + 38, 43, 4, 63, 5, -1, 39, 4, 96, 5, + -1, 40, 4, 96, 5, -1, -1, 43, 8, 96, + -1, 43, 14, 43, 8, 96, -1, 1, 96, -1, + 48, -1, 48, 13, 65, -1, 97, 8, -1, 98, + 97, 8, -1, 98, 1, -1, 41, 4, 98, 5, + -1, 41, 4, 5, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -649,15 +649,15 @@ 263, 266, 267, 268, 271, 272, 273, 274, 275, 276, 277, 278, 279, 282, 287, 291, 299, 304, 309, 318, 319, 320, 326, 331, 335, 343, 343, 347, 350, 353, - 364, 365, 372, 373, 377, 381, 387, 388, 393, 401, - 402, 406, 412, 421, 424, 425, 426, 429, 432, 435, - 436, 437, 435, 443, 447, 448, 449, 450, 453, 453, - 486, 487, 488, 489, 493, 496, 497, 500, 501, 504, - 507, 511, 515, 519, 525, 526, 530, 533, 539, 539, - 544, 552, 552, 563, 570, 573, 574, 577, 578, 581, - 584, 585, 588, 592, 596, 602, 603, 606, 607, 608, - 614, 619, 624, 625, 626, 628, 631, 632, 639, 640, - 641, 644, 647 + 364, 365, 372, 373, 377, 381, 385, 391, 392, 397, + 405, 406, 410, 416, 425, 428, 429, 430, 433, 436, + 439, 440, 441, 439, 447, 451, 452, 453, 454, 457, + 457, 490, 491, 492, 493, 497, 500, 501, 504, 505, + 508, 511, 515, 519, 523, 529, 530, 534, 537, 543, + 543, 548, 556, 556, 567, 574, 577, 578, 581, 582, + 585, 588, 589, 592, 596, 600, 606, 607, 610, 611, + 612, 618, 623, 628, 629, 630, 632, 635, 636, 643, + 644, 645, 648, 651 }; #endif @@ -709,15 +709,15 @@ 58, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 62, 62, 62, 62, 62, 63, 63, 63, 64, 64, 65, 67, 66, 68, 68, 68, - 69, 69, 70, 70, 70, 70, 71, 71, 71, 72, - 72, 72, 73, 74, 74, 74, 74, 74, 74, 75, - 76, 77, 74, 74, 74, 74, 74, 74, 78, 74, - 74, 74, 74, 74, 74, 79, 79, 80, 80, 80, - 80, 80, 80, 80, 81, 81, 82, 82, 84, 83, - 83, 86, 85, 87, 87, 88, 88, 89, 89, 89, - 90, 90, 91, 91, 91, 92, 92, 93, 93, 93, - 94, 95, 96, 96, 96, 96, 97, 97, 98, 98, - 98, 99, 99 + 69, 69, 70, 70, 70, 70, 70, 71, 71, 71, + 72, 72, 72, 73, 74, 74, 74, 74, 74, 74, + 75, 76, 77, 74, 74, 74, 74, 74, 74, 78, + 74, 74, 74, 74, 74, 74, 79, 79, 80, 80, + 80, 80, 80, 80, 80, 81, 81, 82, 82, 84, + 83, 83, 86, 85, 87, 87, 88, 88, 89, 89, + 89, 90, 90, 91, 91, 91, 92, 92, 93, 93, + 93, 94, 95, 96, 96, 96, 96, 97, 97, 98, + 98, 98, 99, 99 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -729,15 +729,15 @@ 2, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 3, 5, 4, 7, 8, 0, 2, 2, 5, 1, 7, 0, 4, 2, 2, 4, - 1, 2, 1, 2, 3, 3, 1, 2, 3, 1, - 2, 3, 5, 3, 1, 1, 3, 3, 2, 0, - 0, 0, 12, 3, 1, 3, 2, 2, 0, 5, - 2, 2, 2, 3, 1, 2, 0, 1, 3, 3, - 5, 5, 5, 5, 0, 2, 2, 4, 0, 5, - 3, 0, 3, 3, 2, 1, 0, 1, 0, 3, - 0, 2, 4, 3, 4, 0, 2, 1, 1, 5, - 4, 4, 0, 3, 5, 2, 1, 3, 2, 3, - 2, 4, 3 + 1, 2, 1, 2, 3, 3, 3, 1, 2, 3, + 1, 2, 3, 5, 3, 1, 1, 3, 3, 2, + 0, 0, 0, 12, 3, 1, 3, 2, 2, 0, + 5, 2, 2, 2, 3, 1, 2, 0, 1, 3, + 3, 5, 5, 5, 5, 0, 2, 2, 4, 0, + 5, 3, 0, 3, 3, 2, 1, 0, 1, 0, + 3, 0, 2, 4, 3, 4, 0, 2, 1, 1, + 5, 4, 4, 0, 3, 5, 2, 1, 3, 2, + 3, 2, 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -750,167 +750,167 @@ 0, 27, 0, 0, 0, 0, 11, 10, 0, 28, 0, 22, 23, 19, 21, 0, 30, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 40, 0, 0, 38, 34, 36, 37, 35, 125, + 39, 40, 0, 0, 38, 34, 36, 37, 35, 126, 29, 0, 33, 0, 0, 0, 0, 0, 0, 0, - 0, 41, 0, 0, 12, 32, 0, 94, 0, 0, + 0, 41, 0, 0, 12, 32, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 75, 0, 84, 127, 118, 0, 0, - 125, 128, 24, 0, 0, 0, 62, 0, 0, 0, - 0, 0, 142, 136, 0, 0, 25, 0, 44, 0, + 0, 0, 75, 76, 0, 85, 128, 119, 0, 0, + 126, 129, 24, 0, 0, 0, 62, 0, 0, 0, + 0, 0, 143, 137, 0, 0, 25, 0, 44, 0, 0, 0, 0, 0, 55, 0, 57, 0, 58, 0, - 69, 97, 0, 104, 0, 91, 90, 92, 79, 0, - 0, 111, 87, 78, 96, 114, 60, 117, 0, 86, - 88, 18, 126, 43, 0, 46, 0, 0, 0, 63, - 135, 0, 0, 130, 131, 0, 138, 140, 141, 0, - 0, 0, 51, 73, 50, 108, 85, 0, 120, 53, - 0, 0, 0, 0, 0, 70, 0, 0, 0, 76, - 0, 106, 77, 0, 83, 0, 112, 0, 93, 61, - 113, 116, 0, 0, 0, 64, 65, 133, 0, 137, - 139, 0, 45, 110, 118, 0, 0, 0, 0, 0, - 120, 67, 0, 59, 0, 0, 0, 99, 71, 98, - 105, 0, 0, 0, 95, 115, 119, 0, 0, 0, - 0, 26, 0, 56, 0, 0, 0, 72, 121, 68, - 66, 0, 0, 0, 0, 0, 0, 107, 80, 129, - 89, 0, 47, 134, 109, 0, 0, 123, 0, 0, - 103, 102, 101, 100, 0, 48, 122, 124, 0, 52, - 0, 0, 81, 54, 0, 0, 0, 82 + 70, 98, 0, 105, 0, 92, 91, 93, 80, 0, + 0, 112, 88, 79, 97, 115, 60, 118, 0, 87, + 89, 18, 127, 43, 0, 46, 0, 0, 0, 0, + 63, 136, 0, 0, 131, 132, 0, 139, 141, 142, + 0, 0, 0, 51, 74, 50, 109, 86, 0, 121, + 53, 0, 0, 0, 0, 0, 71, 0, 0, 0, + 77, 0, 107, 78, 0, 84, 0, 113, 0, 94, + 61, 114, 117, 0, 0, 0, 64, 65, 66, 134, + 0, 138, 140, 0, 45, 111, 119, 0, 0, 0, + 0, 0, 121, 68, 0, 59, 0, 0, 0, 100, + 72, 99, 106, 0, 0, 0, 96, 116, 120, 0, + 0, 0, 0, 26, 0, 56, 0, 0, 0, 73, + 122, 69, 67, 0, 0, 0, 0, 0, 0, 108, + 81, 130, 90, 0, 47, 135, 110, 0, 0, 124, + 0, 0, 104, 103, 102, 101, 0, 48, 123, 125, + 0, 52, 0, 0, 82, 54, 0, 0, 0, 83 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 6, 7, 8, 113, 9, 10, 11, 12, 24, - 92, 39, 93, 170, 30, 52, 53, 54, 55, 120, - 180, 181, 125, 177, 94, 147, 107, 182, 131, 95, - 121, 193, 274, 284, 202, 198, 132, 191, 134, 123, - 214, 97, 196, 98, 236, 148, 219, 220, 99, 100, + 92, 39, 93, 171, 30, 52, 53, 54, 55, 120, + 181, 182, 125, 178, 94, 147, 107, 183, 131, 95, + 121, 194, 276, 286, 203, 199, 132, 192, 134, 123, + 216, 97, 197, 98, 238, 148, 221, 222, 99, 100, 56, 57, 110, 114, 115, 58 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -219 +#define YYPACT_NINF -220 static const yytype_int16 yypact[] = { - 102, -219, -25, 40, 24, 29, 70, 249, -219, -219, - 74, -219, -219, 107, 11, -219, -219, -219, -219, -219, - -6, 65, 11, 137, 148, 11, -219, -219, 152, -219, - 87, -219, -219, -219, -219, 123, -219, 173, 126, 136, - 123, -219, 159, -11, 186, 190, 194, 196, 158, 86, - -219, -219, 203, 123, -219, -219, -219, -219, -219, 177, - -219, 201, -219, 170, 208, 191, 179, 12, 12, 19, - 214, -219, 181, 213, -219, -219, 115, -219, 183, 222, - 222, 223, 222, 36, 187, 226, 228, 229, 232, 222, - 202, 182, -219, -219, 213, -219, -219, 16, 113, 239, - 177, -219, -219, 240, 179, 213, -219, 22, 12, 101, - 246, 248, -219, 241, 250, 10, -219, 234, -219, 56, - 255, 56, 256, 253, -219, 259, -219, 224, -219, 26, - 225, 157, 258, 119, 261, -219, -219, -219, -219, 213, - 266, -219, -219, -219, 254, -219, 231, -219, 59, -219, - -219, -219, -219, -219, 60, -219, 233, 235, 236, -219, - -219, 12, 237, -219, -219, 224, -219, -219, -219, 263, - 238, 213, -219, -219, -219, 270, -219, 242, 124, -1, - 269, 276, 273, 187, 187, -219, 187, 243, 187, -219, - 244, 274, -219, 247, -219, 115, -219, 213, -219, -219, - -219, 251, 252, 257, 264, -219, -219, -219, 283, -219, - -219, 284, -219, -219, 242, 286, 260, 262, 285, 292, - 124, 265, 267, -219, 267, 172, 15, 176, -219, 165, - -219, -6, 290, 294, -219, -219, -219, 293, 277, 213, - 12, -219, 129, -219, 295, 296, 56, -219, -219, -219, - 268, 291, 298, 187, 187, 187, 187, -219, -219, -219, - -219, 213, -219, -219, -219, 56, 56, -219, 267, 267, - 301, 301, 301, 301, 271, -219, -219, -219, 300, -219, - 307, 267, -219, -219, 275, 309, 213, -219 + 107, -220, -17, 58, 50, 66, 94, 251, -220, -220, + 98, -220, -220, 106, 15, -220, -220, -220, -220, -220, + 2, 75, 15, 117, 142, 15, -220, -220, 150, -220, + 109, -220, -220, -220, -220, 124, -220, 153, 127, 129, + 124, -220, 155, -11, 175, 182, 190, 196, 167, 86, + -220, -220, 191, 124, -220, -220, -220, -220, -220, 179, + -220, 203, -220, 172, 210, 193, 181, 17, 17, 5, + 216, -220, 183, 215, -220, -220, 116, -220, 185, 224, + 224, 225, 224, 29, 189, 228, 230, 231, 234, 224, + 204, 184, -220, -220, 215, -220, -220, 1, 170, 241, + 179, -220, -220, 242, 181, 215, -220, 16, 17, 90, + 248, 250, -220, 243, 252, 12, -220, 236, -220, 49, + 257, 49, 258, 255, -220, 261, -220, 226, -220, 60, + 227, 158, 260, 174, 263, -220, -220, -220, -220, 215, + 268, -220, -220, -220, 256, -220, 233, -220, 83, -220, + -220, -220, -220, -220, 22, -220, 235, 237, 238, 239, + -220, -220, 17, 240, -220, -220, 226, -220, -220, -220, + 265, 244, 215, -220, -220, -220, 272, -220, 245, 125, + 20, 271, 278, 275, 189, 189, -220, 189, 246, 189, + -220, 247, 277, -220, 249, -220, 116, -220, 215, -220, + -220, -220, 253, 254, 259, 269, -220, -220, -220, -220, + 285, -220, -220, 287, -220, -220, 245, 291, 262, 264, + 288, 295, 125, 266, 267, -220, 267, 178, -2, 192, + -220, 95, -220, 2, 293, 298, -220, -220, -220, 296, + 281, 215, 17, -220, 130, -220, 297, 300, 49, -220, + -220, -220, 270, 299, 303, 189, 189, 189, 189, -220, + -220, -220, -220, 215, -220, -220, -220, 49, 49, -220, + 267, 267, 304, 304, 304, 304, 273, -220, -220, -220, + 305, -220, 309, 267, -220, -220, 276, 313, 215, -220 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -219, -219, -219, 310, -19, -219, -219, -219, -219, 125, - 5, -219, -15, -219, -219, -31, -219, -219, -219, -114, - -219, 154, 25, -219, -219, 143, 217, -218, -82, -219, - -59, -219, -219, -219, -219, -219, -219, -219, -219, -219, - -219, -219, -219, -219, -219, 108, 103, -219, 227, -219, - -219, -219, -65, 209, -219, -51 + -220, -220, -220, 314, -19, -220, -220, -220, -220, 126, + 74, -220, -16, -220, -220, -28, -220, -220, -220, -115, + -220, 156, -42, -220, -220, 145, 220, -219, -82, -220, + -59, -220, -220, -220, -220, -220, -220, -220, -220, -220, + -220, -220, -220, -220, -220, 110, 103, -220, 229, -220, + -220, -220, -65, 212, -220, -44 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -133 +#define YYTABLE_NINF -134 static const yytype_int16 yytable[] = { - 96, 28, 133, 111, 251, 172, 252, 174, 101, 62, - -66, 167, 22, 108, 118, 168, -20, -132, 13, 25, - 51, 64, 75, 145, 112, 51, 187, 25, 254, 156, - 25, 26, 65, 157, 158, 144, 183, 27, 51, 184, - 50, 96, 221, 160, 14, 50, 155, 26, 15, 101, - 278, 279, 16, 27, 23, 109, 26, 119, 50, 146, - 76, -49, 27, 283, 77, 159, 200, 203, 78, 201, - 17, 157, 158, 129, 79, 80, 81, 20, 82, 130, - 194, 233, 83, 84, 85, 86, 87, 71, 36, 88, - 89, -49, -49, -49, 37, 32, 207, 38, 48, 91, - 72, 225, 226, 159, 227, 126, 229, 128, 29, 161, - 1, 73, 212, 21, 139, 162, 119, 2, 3, 76, - -49, 149, 150, 77, 40, 4, 5, 78, -31, 190, - 187, 41, 267, 79, 80, 81, 264, 82, 234, 201, - 42, 83, 84, 85, 86, 87, 32, 31, 88, 89, - 34, 276, 277, 33, 43, 44, 35, 48, 91, 216, - 217, 218, 45, 46, 47, 48, 49, 186, 187, 60, - 188, 270, 271, 272, 273, 263, 187, 59, 256, 61, - 262, 76, 253, 187, 63, 77, 255, 187, 141, 78, - 142, 32, 66, 143, 67, 79, 80, 81, 68, 82, - 69, 70, 275, 83, 84, 85, 86, 87, 74, 102, - 88, 89, 257, 103, 104, 90, 105, 76, 47, 48, - 91, 77, 106, 116, 117, 78, 122, 287, 124, 127, - 130, 79, 80, 81, 135, 82, 136, 137, 138, 83, - 84, 85, 86, 87, 151, 140, 88, 89, 153, -2, - 18, 163, -14, 164, 165, 48, 91, 1, 166, 171, - 173, 176, 175, 178, 2, 3, 189, 179, 185, 192, - 195, 210, 4, 5, 199, 197, 204, 213, 205, 206, - 208, 211, 222, 223, 224, 146, 228, 230, 231, 239, - 232, 240, 241, 243, 235, 237, 246, 247, 258, 259, - 238, 260, 261, 244, 268, 245, 265, 266, 249, 269, - 250, 221, 187, 281, 280, 282, 286, 19, 285, 209, - 215, 154, 242, 248, 169, 0, 0, 152 + 96, 28, 133, 111, 173, 253, 175, 254, 145, 188, + 112, 256, 62, 168, 118, 101, 22, 169, 108, 51, + -20, 64, -133, 156, 51, 75, 13, 157, 158, 204, + 159, -67, 65, 157, 158, 144, 159, 51, 126, 26, + 128, 96, 26, 161, 146, 27, 155, 139, 27, 26, + 119, 280, 281, 76, -49, 27, 101, 77, 23, 160, + 109, 78, 14, 223, 285, 160, 129, 79, 80, 81, + 184, 82, 130, 185, 15, 83, 84, 85, 86, 87, + 195, 235, 88, 89, -49, -49, -49, 71, 25, 16, + 201, 48, 91, 202, 17, 32, 25, 209, 162, 25, + 72, 20, 227, 228, 163, 229, 188, 231, 258, 50, + 36, 73, 21, 214, 50, 1, 37, 119, 29, 38, + 76, -49, 2, 3, 77, 40, 32, 50, 78, -31, + 4, 5, 41, 269, 79, 80, 81, 266, 82, 236, + 202, 42, 83, 84, 85, 86, 87, 33, 31, 88, + 89, 34, 278, 279, 35, 43, 44, 59, 48, 91, + 218, 219, 220, 45, 46, 47, 48, 49, 187, 188, + 60, 189, 61, 272, 273, 274, 275, 265, 149, 150, + 63, 66, 264, 76, 191, 188, 67, 77, 255, 188, + 141, 78, 142, 32, 68, 143, 74, 79, 80, 81, + 69, 82, 257, 188, 277, 83, 84, 85, 86, 87, + 70, 102, 88, 89, 259, 103, 104, 90, 105, 76, + 47, 48, 91, 77, 106, 116, 117, 78, 122, 289, + 124, 127, 130, 79, 80, 81, 135, 82, 136, 137, + 138, 83, 84, 85, 86, 87, 151, 140, 88, 89, + 153, -2, 18, 164, -14, 165, 166, 48, 91, 1, + 167, 172, 174, 177, 176, 179, 2, 3, 190, 180, + 186, 193, 196, 212, 4, 5, 200, 198, 205, 215, + 206, 207, 208, 210, 224, 225, 226, 213, 146, 230, + 232, 233, 234, 242, 241, 243, 237, 239, 245, 248, + 249, 260, 240, 261, 262, 246, 263, 247, 267, 251, + 252, 268, 270, 223, 271, 188, 282, 284, 283, 287, + 288, 19, 211, 217, 154, 250, 244, 170, 0, 152 }; static const yytype_int16 yycheck[] = { - 59, 20, 84, 68, 222, 119, 224, 121, 59, 40, - 11, 1, 1, 1, 73, 5, 5, 5, 43, 14, - 35, 32, 53, 7, 5, 40, 11, 22, 13, 7, - 25, 37, 43, 11, 12, 94, 10, 43, 53, 13, - 35, 100, 43, 108, 4, 40, 105, 37, 24, 100, - 268, 269, 23, 43, 43, 43, 37, 1, 53, 43, - 4, 5, 43, 281, 8, 43, 7, 7, 12, 10, - 0, 11, 12, 37, 18, 19, 20, 3, 22, 43, - 139, 195, 26, 27, 28, 29, 30, 1, 1, 33, - 34, 35, 36, 37, 7, 9, 161, 10, 42, 43, - 14, 183, 184, 43, 186, 80, 188, 82, 43, 8, - 8, 25, 171, 6, 89, 14, 1, 15, 16, 4, - 5, 8, 9, 8, 1, 23, 24, 12, 5, 10, - 11, 8, 246, 18, 19, 20, 7, 22, 197, 10, - 17, 26, 27, 28, 29, 30, 9, 22, 33, 34, - 25, 265, 266, 5, 31, 32, 4, 42, 43, 35, - 36, 37, 39, 40, 41, 42, 43, 10, 11, 43, - 13, 253, 254, 255, 256, 240, 11, 4, 13, 43, - 239, 4, 10, 11, 25, 8, 10, 11, 6, 12, - 8, 9, 6, 11, 4, 18, 19, 20, 4, 22, - 4, 43, 261, 26, 27, 28, 29, 30, 5, 8, - 33, 34, 231, 43, 6, 38, 25, 4, 41, 42, - 43, 8, 43, 9, 43, 12, 43, 286, 6, 6, - 43, 18, 19, 20, 8, 22, 8, 8, 6, 26, - 27, 28, 29, 30, 5, 43, 33, 34, 8, 0, - 1, 5, 3, 5, 13, 42, 43, 8, 8, 25, - 5, 8, 6, 4, 15, 16, 8, 43, 43, 8, - 4, 8, 23, 24, 43, 21, 43, 7, 43, 43, - 43, 43, 13, 7, 11, 43, 43, 43, 14, 25, - 43, 8, 8, 7, 43, 43, 11, 5, 8, 5, - 43, 8, 25, 43, 13, 43, 11, 11, 43, 11, - 43, 43, 11, 13, 43, 8, 7, 7, 43, 165, - 177, 104, 214, 220, 115, -1, -1, 100 + 59, 20, 84, 68, 119, 224, 121, 226, 7, 11, + 5, 13, 40, 1, 73, 59, 1, 5, 1, 35, + 5, 32, 5, 7, 40, 53, 43, 11, 12, 7, + 14, 11, 43, 11, 12, 94, 14, 53, 80, 37, + 82, 100, 37, 108, 43, 43, 105, 89, 43, 37, + 1, 270, 271, 4, 5, 43, 100, 8, 43, 43, + 43, 12, 4, 43, 283, 43, 37, 18, 19, 20, + 10, 22, 43, 13, 24, 26, 27, 28, 29, 30, + 139, 196, 33, 34, 35, 36, 37, 1, 14, 23, + 7, 42, 43, 10, 0, 9, 22, 162, 8, 25, + 14, 3, 184, 185, 14, 187, 11, 189, 13, 35, + 1, 25, 6, 172, 40, 8, 7, 1, 43, 10, + 4, 5, 15, 16, 8, 1, 9, 53, 12, 5, + 23, 24, 8, 248, 18, 19, 20, 7, 22, 198, + 10, 17, 26, 27, 28, 29, 30, 5, 22, 33, + 34, 25, 267, 268, 4, 31, 32, 4, 42, 43, + 35, 36, 37, 39, 40, 41, 42, 43, 10, 11, + 43, 13, 43, 255, 256, 257, 258, 242, 8, 9, + 25, 6, 241, 4, 10, 11, 4, 8, 10, 11, + 6, 12, 8, 9, 4, 11, 5, 18, 19, 20, + 4, 22, 10, 11, 263, 26, 27, 28, 29, 30, + 43, 8, 33, 34, 233, 43, 6, 38, 25, 4, + 41, 42, 43, 8, 43, 9, 43, 12, 43, 288, + 6, 6, 43, 18, 19, 20, 8, 22, 8, 8, + 6, 26, 27, 28, 29, 30, 5, 43, 33, 34, + 8, 0, 1, 5, 3, 5, 13, 42, 43, 8, + 8, 25, 5, 8, 6, 4, 15, 16, 8, 43, + 43, 8, 4, 8, 23, 24, 43, 21, 43, 7, + 43, 43, 43, 43, 13, 7, 11, 43, 43, 43, + 43, 14, 43, 8, 25, 8, 43, 43, 7, 11, + 5, 8, 43, 5, 8, 43, 25, 43, 11, 43, + 43, 11, 13, 43, 11, 11, 43, 8, 13, 43, + 7, 7, 166, 178, 104, 222, 216, 115, -1, 100 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -932,20 +932,20 @@ 63, 74, 43, 83, 6, 66, 66, 6, 66, 37, 43, 72, 80, 72, 82, 8, 8, 8, 6, 66, 43, 6, 8, 11, 74, 7, 43, 69, 89, 8, - 9, 5, 92, 8, 70, 74, 7, 11, 12, 43, - 96, 8, 14, 5, 5, 13, 8, 1, 5, 97, - 57, 25, 63, 5, 63, 6, 8, 67, 4, 43, - 64, 65, 71, 10, 13, 43, 10, 11, 13, 8, - 10, 81, 8, 75, 74, 4, 86, 21, 79, 43, - 7, 10, 78, 7, 43, 43, 43, 96, 43, 65, - 8, 43, 74, 7, 84, 69, 35, 36, 37, 90, - 91, 43, 13, 7, 11, 72, 72, 72, 43, 72, - 43, 14, 43, 63, 74, 43, 88, 43, 43, 25, - 8, 8, 89, 7, 43, 43, 11, 5, 90, 43, - 43, 71, 71, 10, 13, 10, 13, 48, 8, 5, - 8, 25, 74, 96, 7, 11, 11, 63, 13, 11, - 72, 72, 72, 72, 76, 74, 63, 63, 71, 71, - 43, 13, 8, 71, 77, 43, 7, 74 + 9, 5, 92, 8, 70, 74, 7, 11, 12, 14, + 43, 96, 8, 14, 5, 5, 13, 8, 1, 5, + 97, 57, 25, 63, 5, 63, 6, 8, 67, 4, + 43, 64, 65, 71, 10, 13, 43, 10, 11, 13, + 8, 10, 81, 8, 75, 74, 4, 86, 21, 79, + 43, 7, 10, 78, 7, 43, 43, 43, 43, 96, + 43, 65, 8, 43, 74, 7, 84, 69, 35, 36, + 37, 90, 91, 43, 13, 7, 11, 72, 72, 72, + 43, 72, 43, 14, 43, 63, 74, 43, 88, 43, + 43, 25, 8, 8, 89, 7, 43, 43, 11, 5, + 90, 43, 43, 71, 71, 10, 13, 10, 13, 48, + 8, 5, 8, 25, 74, 96, 7, 11, 11, 63, + 13, 11, 72, 72, 72, 72, 76, 74, 63, 63, + 71, 71, 43, 13, 8, 71, 77, 43, 7, 74 }; #define yyerrok (yyerrstatus = 0) @@ -2503,16 +2503,24 @@ { /* there are often '&' in hints */ asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); free((yyvsp[(1) - (3)].str)); - free((yyvsp[(3) - (3)].str));;} + free((yyvsp[(3) - (3)].str)); ;} break; case 66: -#line 387 "ael.y" +#line 385 "ael.y" + { + asprintf(&((yyval.str)), "%s@%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); + free((yyvsp[(1) - (3)].str)); + free((yyvsp[(3) - (3)].str)); ;} + break; + + case 67: +#line 391 "ael.y" { (yyval.str) = (yyvsp[(1) - (1)].str);;} break; - case 67: -#line 388 "ael.y" + case 68: +#line 392 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); free((yyvsp[(1) - (2)].str)); @@ -2520,8 +2528,8 @@ prev_word = (yyval.str);;} break; - case 68: -#line 393 "ael.y" + case 69: +#line 397 "ael.y" { asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)); free((yyvsp[(1) - (3)].str)); @@ -2530,90 +2538,90 @@ prev_word=(yyval.str);;} break; - case 69: -#line 401 "ael.y" + case 70: +#line 405 "ael.y" { (yyval.str) = (yyvsp[(1) - (1)].str);;} break; - case 70: -#line 402 "ael.y" + case 71: +#line 406 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); free((yyvsp[(1) - (2)].str)); free((yyvsp[(2) - (2)].str));;} break; - case 71: -#line 406 "ael.y" + case 72: +#line 410 "ael.y" { asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); free((yyvsp[(1) - (3)].str)); free((yyvsp[(3) - (3)].str));;} break; - case 72: -#line 412 "ael.y" + case 73: +#line 416 "ael.y" { (yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str); (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;} break; - case 73: -#line 421 "ael.y" + case 74: +#line 425 "ael.y" { (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;} break; - case 74: -#line 424 "ael.y" + case 75: +#line 428 "ael.y" { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;} break; - case 75: -#line 425 "ael.y" + case 76: +#line 429 "ael.y" { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;} break; - case 76: -#line 426 "ael.y" + case 77: +#line 430 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;} break; - case 77: -#line 429 "ael.y" + case 78: +#line 433 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;} break; - case 78: -#line 432 "ael.y" + case 79: +#line 436 "ael.y" { (yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;} break; - case 79: -#line 435 "ael.y" + case 80: +#line 439 "ael.y" {reset_semicount(parseio->scanner);;} break; - case 80: -#line 436 "ael.y" + case 81: +#line 440 "ael.y" {reset_semicount(parseio->scanner);;} break; - case 81: -#line 437 "ael.y" + case 82: +#line 441 "ael.y" {reset_parencount(parseio->scanner);;} break; - case 82: -#line 437 "ael.y" + case 83: +#line 441 "ael.y" { /* XXX word_list maybe ? */ (yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)])); (yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str); @@ -2622,43 +2630,43 @@ (yyval.pval)->u4.for_statements = (yyvsp[(12) - (12)].pval); set_dads((yyval.pval),(yyvsp[(12) - (12)].pval));;} break; - case 83: -#line 443 "ael.y" + case 84: +#line 447 "ael.y" { (yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.str = (yyvsp[(2) - (3)].str); (yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval); set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;} break; - case 84: -#line 447 "ael.y" + case 85: +#line 451 "ael.y" { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;} break; - case 85: -#line 448 "ael.y" + case 86: +#line 452 "ael.y" { (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;} break; - case 86: -#line 449 "ael.y" + case 87: +#line 453 "ael.y" { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;} break; - case 87: -#line 450 "ael.y" + case 88: +#line 454 "ael.y" { (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;} break; - case 88: -#line 453 "ael.y" + case 89: +#line 457 "ael.y" {reset_semicount(parseio->scanner);;} break; - case 89: -#line 453 "ael.y" + case 90: +#line 457 "ael.y" { char *bufx; int tot=0; @@ -2694,71 +2702,63 @@ ;} break; - case 90: -#line 486 "ael.y" + case 91: +#line 490 "ael.y" { (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} break; - case 91: -#line 487 "ael.y" + case 92: +#line 491 "ael.y" { (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} break; - case 92: -#line 488 "ael.y" + case 93: +#line 492 "ael.y" { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} break; - case 93: -#line 489 "ael.y" + case 94: +#line 493 "ael.y" { (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)])); (yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval)); (yyval.pval)->u3.else_statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;} break; - case 94: -#line 493 "ael.y" + case 95: +#line 497 "ael.y" { (yyval.pval)=0; ;} break; - case 95: -#line 496 "ael.y" + case 96: +#line 500 "ael.y" { (yyval.pval) = (yyvsp[(2) - (2)].pval); ;} break; - case 96: -#line 497 "ael.y" + case 97: +#line 501 "ael.y" { (yyval.pval) = NULL ; ;} break; - case 97: -#line 500 "ael.y" + case 98: +#line 504 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} break; - case 98: -#line 501 "ael.y" + case 99: +#line 505 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;} break; - case 99: -#line 504 "ael.y" + case 100: +#line 508 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;} break; - case 100: -#line 507 "ael.y" - { - (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)])); - (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); - (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;} - break; - case 101: #line 511 "ael.y" { @@ -2770,7 +2770,7 @@ case 102: #line 515 "ael.y" { - (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)])); + (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)])); (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;} break; @@ -2784,37 +2784,45 @@ break; case 104: -#line 525 "ael.y" - { (yyval.str) = strdup("1"); ;} +#line 523 "ael.y" + { + (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)])); + (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); + (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;} break; case 105: -#line 526 "ael.y" - { (yyval.str) = (yyvsp[(2) - (2)].str); ;} +#line 529 "ael.y" + { (yyval.str) = strdup("1"); ;} break; case 106: #line 530 "ael.y" + { (yyval.str) = (yyvsp[(2) - (2)].str); ;} + break; + + case 107: +#line 534 "ael.y" { /* ext[, pri] default 1 */ (yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)])); (yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;} break; - case 107: -#line 533 "ael.y" + case 108: +#line 537 "ael.y" { /* context, ext, pri */ (yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)])); (yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)])); (yyval.pval)->next->next = nword((yyvsp[(2) - (4)].str), &(yylsp[(2) - (4)])); ;} break; - case 108: -#line 539 "ael.y" + case 109: +#line 543 "ael.y" {reset_argcount(parseio->scanner);;} break; - case 109: -#line 539 "ael.y" + case 110: +#line 543 "ael.y" { /* XXX original code had @2 but i think we need @5 */ (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); @@ -2822,20 +2830,20 @@ (yyval.pval)->u2.arglist = (yyvsp[(4) - (5)].pval);;} break; - case 110: -#line 544 "ael.y" + case 111: +#line 548 "ael.y" { (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;} break; - case 111: -#line 552 "ael.y" + case 112: +#line 556 "ael.y" {reset_argcount(parseio->scanner);;} break; - case 112: -#line 552 "ael.y" + case 113: +#line 556 "ael.y" { if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) { (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)])); @@ -2847,8 +2855,8 @@ } ;} break; - case 113: -#line 563 "ael.y" + case 114: +#line 567 "ael.y" { (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)])); if( (yyval.pval)->type == PV_GOTO ) @@ -2858,179 +2866,179 @@ ;} break; - case 114: -#line 570 "ael.y" + case 115: +#line 574 "ael.y" { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;} break; - case 115: -#line 573 "ael.y" + case 116: +#line 577 "ael.y" { (yyval.str) = (yyvsp[(1) - (1)].str) ;} break; - case 116: -#line 574 "ael.y" + case 117: +#line 578 "ael.y" { (yyval.str) = strdup(""); ;} break; - case 117: -#line 577 "ael.y" + case 118: +#line 581 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} break; - case 118: -#line 578 "ael.y" + case 119: +#line 582 "ael.y" { (yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/); (yyval.pval)->u1.str = strdup(""); ;} break; - case 119: -#line 581 "ael.y" + case 120: +#line 585 "ael.y" { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;} break; - case 120: -#line 584 "ael.y" + case 121: +#line 588 "ael.y" { (yyval.pval) = NULL; ;} break; - case 121: -#line 585 "ael.y" + case 122: +#line 589 "ael.y" { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} break; - case 122: -#line 588 "ael.y" + case 123: +#line 592 "ael.y" { (yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */ (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str); (yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval); set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;} break; - case 123: -#line 592 "ael.y" + case 124: +#line 596 "ael.y" { (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)->u1.str = NULL; (yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;} break; - case 124: -#line 596 "ael.y" + case 125: +#line 600 "ael.y" { (yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */ (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str); (yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval);set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;} break; - case 125: -#line 602 "ael.y" + case 126: +#line 606 "ael.y" { (yyval.pval) = NULL; ;} break; - case 126: -#line 603 "ael.y" + case 127: +#line 607 "ael.y" { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} break; - case 127: -#line 606 "ael.y" + case 128: +#line 610 "ael.y" {(yyval.pval)=(yyvsp[(1) - (1)].pval);;} break; - case 128: -#line 607 "ael.y" + case 129: +#line 611 "ael.y" { (yyval.pval)=(yyvsp[(1) - (1)].pval);;} break; - case 129: -#line 608 "ael.y" + case 130: +#line 612 "ael.y" { (yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str); (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;} break; - case 130: -#line 614 "ael.y" + case 131: +#line 618 "ael.y" { (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} break; - case 131: -#line 619 "ael.y" + case 132: +#line 623 "ael.y" { (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} break; - case 132: -#line 624 "ael.y" + case 133: +#line 628 "ael.y" { (yyval.pval) = NULL; ;} break; - case 133: -#line 625 "ael.y" + case 134: +#line 629 "ael.y" { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;} break; - case 134: -#line 626 "ael.y" + case 135: +#line 630 "ael.y" { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str)); (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;} break; - case 135: -#line 628 "ael.y" + case 136: +#line 632 "ael.y" {(yyval.pval)=(yyvsp[(2) - (2)].pval);;} break; - case 136: -#line 631 "ael.y" + case 137: +#line 635 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} break; - case 137: -#line 632 "ael.y" + case 138: +#line 636 "ael.y" { (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval); prev_word=0; /* XXX sure ? */ ;} break; - case 138: -#line 639 "ael.y" + case 139: +#line 643 "ael.y" { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;} break; - case 139: -#line 640 "ael.y" + case 140: +#line 644 "ael.y" { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;} break; - case 140: -#line 641 "ael.y" + case 141: +#line 645 "ael.y" {(yyval.pval)=(yyvsp[(1) - (2)].pval);;} break; - case 141: -#line 644 "ael.y" + case 142: +#line 648 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} break; - case 142: -#line 647 "ael.y" + case 143: +#line 651 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;} break; /* Line 1267 of yacc.c. */ -#line 3034 "ael.tab.c" +#line 3042 "ael.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3250,7 +3258,7 @@ } -#line 652 "ael.y" +#line 656 "ael.y" static char *token_equivs1[] = Index: res/ael/ael.y =================================================================== --- res/ael/ael.y (revision 189418) +++ res/ael/ael.y (working copy) @@ -381,9 +381,13 @@ | hint_word AMPER word { /* there are often '&' in hints */ asprintf(&($$), "%s&%s", $1, $3); free($1); - free($3);} + free($3); } + | hint_word AT word { + asprintf(&($$), "%s@%s", $1, $3); + free($1); + free($3); } + ; - word3_list : word { $$ = $1;} | word word { asprintf(&($$), "%s%s", $1, $2);