diff options
Diffstat (limited to 'TAO/TAO_IDL/fe/y.tab.cpp')
-rw-r--r-- | TAO/TAO_IDL/fe/y.tab.cpp | 1226 |
1 files changed, 632 insertions, 594 deletions
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp index a83341700ec..bdd00020072 100644 --- a/TAO/TAO_IDL/fe/y.tab.cpp +++ b/TAO/TAO_IDL/fe/y.tab.cpp @@ -241,18 +241,6 @@ /* Copy the first part of user declarations. */ -#include "utl_identifier.h" -#include "utl_err.h" -#include "utl_string.h" -#include "utl_strlist.h" -#include "utl_namelist.h" -#include "utl_exprlist.h" -#include "utl_labellist.h" -#include "utl_decllist.h" - -#include "global_extern.h" -#include "nr_extern.h" - #include "ast_argument.h" #include "ast_array.h" #include "ast_attribute.h" @@ -285,7 +273,6 @@ #include "ast_sequence.h" #include "ast_string.h" #include "ast_factory.h" -#include "ast_finder.h" #include "ast_exception.h" #include "ast_param_holder.h" #include "ast_visitor_tmpl_module_inst.h" @@ -299,6 +286,18 @@ #include "fe_home_header.h" #include "fe_utils.h" +#include "utl_identifier.h" +#include "utl_err.h" +#include "utl_string.h" +#include "utl_strlist.h" +#include "utl_namelist.h" +#include "utl_exprlist.h" +#include "utl_labellist.h" +#include "utl_decllist.h" + +#include "global_extern.h" +#include "nr_extern.h" + #if (defined(apollo) || defined(hpux)) && defined(__cplusplus) extern "C" int tao_yywrap(); #endif // (defined(apollo) || defined(hpux)) && defined(__cplusplus) @@ -602,16 +601,16 @@ union tao_yyalloc /* TAO_YYFINAL -- State number of the termination state. */ #define TAO_YYFINAL 3 /* TAO_YYLAST -- Last index in TAO_YYTABLE. */ -#define TAO_YYLAST 1236 +#define TAO_YYLAST 1234 /* TAO_YYNTOKENS -- Number of terminals. */ #define TAO_YYNTOKENS 106 /* TAO_YYNNTS -- Number of nonterminals. */ -#define TAO_YYNNTS 380 +#define TAO_YYNNTS 381 /* TAO_YYNRULES -- Number of rules. */ -#define TAO_YYNRULES 562 +#define TAO_YYNRULES 563 /* TAO_YYNRULES -- Number of states. */ -#define TAO_YYNSTATES 806 +#define TAO_YYNSTATES 808 /* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */ #define TAO_YYUNDEFTOK 2 @@ -719,8 +718,8 @@ static const tao_yytype_uint16 tao_yyprhs[] = 1311, 1316, 1317, 1320, 1326, 1329, 1333, 1334, 1336, 1337, 1338, 1339, 1340, 1350, 1353, 1356, 1357, 1358, 1362, 1363, 1367, 1371, 1375, 1378, 1382, 1383, 1385, 1388, 1389, 1390, - 1396, 1397, 1398, 1404, 1407, 1408, 1409, 1413, 1414, 1418, - 1419, 1423, 1424 + 1396, 1397, 1398, 1404, 1407, 1410, 1411, 1412, 1416, 1417, + 1421, 1422, 1426, 1427 }; /* TAO_YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -866,71 +865,72 @@ static const tao_yytype_int16 tao_yyrhs[] = -1, 69, 194, 3, -1, 472, 471, -1, 471, 91, 472, -1, -1, 205, -1, 474, 477, -1, -1, -1, 71, 475, 3, 476, 389, -1, -1, -1, 86, 478, - 480, 479, 87, -1, 480, 481, -1, -1, -1, 400, - 482, 85, -1, -1, 402, 483, 85, -1, -1, 316, - 484, 85, -1, -1, 469, 485, 85, -1 + 480, 479, 87, -1, 482, 481, -1, 481, 482, -1, + -1, -1, 400, 483, 85, -1, -1, 402, 484, 85, + -1, -1, 316, 485, 85, -1, -1, 469, 486, 85, + -1 }; /* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */ static const tao_yytype_uint16 tao_yyrline[] = { - 0, 357, 357, 360, 361, 365, 368, 371, 377, 382, - 381, 392, 391, 402, 401, 412, 411, 422, 421, 432, - 431, 442, 441, 452, 451, 462, 461, 472, 471, 482, - 481, 492, 491, 502, 501, 512, 511, 526, 525, 538, - 573, 578, 537, 594, 602, 617, 627, 649, 653, 601, - 672, 676, 677, 681, 682, 687, 693, 686, 772, 778, - 771, 849, 850, 855, 894, 899, 854, 917, 916, 930, - 968, 999, 1033, 1032, 1044, 1051, 1052, 1053, 1054, 1058, - 1069, 1074, 1118, 1123, 1073, 1152, 1191, 1196, 1150, 1215, - 1213, 1255, 1254, 1268, 1274, 1281, 1288, 1295, 1321, 1348, - 1413, 1414, 1418, 1419, 1420, 1426, 1425, 1436, 1435, 1448, - 1449, 1454, 1453, 1464, 1463, 1474, 1473, 1484, 1483, 1494, - 1493, 1504, 1503, 1514, 1513, 1524, 1523, 1537, 1550, 1548, - 1576, 1583, 1594, 1593, 1621, 1619, 1646, 1658, 1704, 1732, - 1763, 1768, 1773, 1778, 1762, 1849, 1850, 1851, 1852, 1853, - 1854, 1855, 1867, 1872, 1941, 1943, 1945, 1946, 1960, 1961, - 1975, 1976, 1989, 1990, 2000, 2013, 2014, 2024, 2037, 2038, - 2048, 2058, 2071, 2072, 2082, 2092, 2105, 2156, 2157, 2166, - 2171, 2178, 2186, 2191, 2196, 2202, 2207, 2212, 2220, 2292, - 2291, 2301, 2306, 2311, 2316, 2343, 2352, 2351, 2422, 2423, - 2427, 2435, 2436, 2464, 2465, 2466, 2467, 2468, 2469, 2470, - 2471, 2475, 2476, 2477, 2481, 2482, 2483, 2487, 2488, 2492, - 2505, 2503, 2531, 2538, 2539, 2543, 2556, 2554, 2582, 2589, - 2606, 2625, 2626, 2630, 2635, 2640, 2648, 2653, 2658, 2666, - 2671, 2676, 2684, 2698, 2703, 2711, 2719, 2727, 2735, 2744, - 2743, 2759, 2793, 2798, 2758, 2817, 2820, 2821, 2825, 2825, - 2835, 2840, 2834, 2903, 2902, 2917, 2916, 2931, 2936, 2941, - 2946, 2993, 2998, 2930, 3022, 3030, 3044, 3054, 3062, 3063, - 3171, 3174, 3175, 3180, 3185, 3179, 3221, 3220, 3234, 3245, - 3265, 3273, 3272, 3288, 3293, 3287, 3310, 3309, 3362, 3386, - 3411, 3416, 3449, 3454, 3410, 3480, 3485, 3483, 3490, 3494, - 3531, 3536, 3529, 3611, 3666, 3676, 3665, 3691, 3696, 3689, - 3737, 3763, 3773, 3778, 3771, 3808, 3833, 3842, 3841, 3877, - 3888, 3908, 3916, 3921, 3915, 3983, 3984, 3989, 3994, 3999, - 4004, 3988, 4073, 4078, 4083, 4088, 4072, 4166, 4171, 4201, - 4206, 4165, 4224, 4229, 4282, 4287, 4222, 4324, 4330, 4337, - 4344, 4345, 4357, 4363, 4405, 4356, 4427, 4426, 4437, 4436, - 4449, 4454, 4452, 4459, 4464, 4469, 4463, 4510, 4509, 4520, - 4519, 4532, 4537, 4535, 4542, 4547, 4552, 4546, 4599, 4607, - 4608, 4609, 4714, 4719, 4724, 4733, 4738, 4732, 4750, 4758, - 4763, 4757, 4775, 4783, 4788, 4782, 4800, 4808, 4813, 4807, - 4825, 4832, 4845, 4843, 4869, 4876, 4905, 4943, 4944, 4948, - 4978, 5018, 5023, 4977, 5042, 5047, 5040, 5090, 5089, 5100, - 5107, 5108, 5113, 5112, 5123, 5122, 5133, 5132, 5143, 5142, - 5153, 5152, 5163, 5162, 5173, 5172, 5184, 5274, 5281, 5307, - 5413, 5423, 5429, 5435, 5508, 5581, 5656, 5655, 5705, 5710, - 5715, 5720, 5725, 5730, 5704, 5785, 5784, 5795, 5802, 5809, - 5817, 5822, 5816, 5834, 5835, 5839, 5841, 5840, 5851, 5850, - 5865, 5889, 5863, 5917, 5945, 5915, 5971, 5972, 5973, 5977, - 5978, 5982, 6010, 6041, 6086, 6091, 6039, 6108, 6118, 6137, - 6149, 6148, 6188, 6238, 6243, 6186, 6260, 6265, 6273, 6278, - 6283, 6288, 6293, 6298, 6303, 6308, 6313, 6318, 6327, 6362, - 6361, 6383, 6390, 6414, 6432, 6443, 6463, 6470, 6481, 6486, - 6505, 6510, 6480, 6525, 6532, 6537, 6544, 6543, 6552, 6551, - 6562, 6631, 6681, 6697, 6711, 6718, 6778, 6783, 6788, 6782, - 6848, 6853, 6847, 6872, 6873, 6878, 6877, 6888, 6887, 6898, - 6897, 6908, 6907 + 0, 355, 355, 358, 359, 363, 366, 369, 375, 380, + 379, 390, 389, 400, 399, 410, 409, 420, 419, 430, + 429, 440, 439, 450, 449, 460, 459, 470, 469, 480, + 479, 490, 489, 500, 499, 510, 509, 524, 523, 536, + 571, 576, 535, 592, 600, 615, 625, 647, 651, 599, + 670, 674, 675, 679, 680, 685, 691, 684, 749, 755, + 748, 826, 827, 832, 871, 876, 831, 894, 893, 907, + 945, 976, 1010, 1009, 1021, 1028, 1029, 1030, 1031, 1035, + 1046, 1051, 1095, 1100, 1050, 1129, 1168, 1173, 1127, 1192, + 1190, 1232, 1231, 1245, 1251, 1258, 1265, 1272, 1298, 1325, + 1390, 1391, 1395, 1396, 1397, 1403, 1402, 1413, 1412, 1425, + 1426, 1431, 1430, 1441, 1440, 1451, 1450, 1461, 1460, 1471, + 1470, 1481, 1480, 1491, 1490, 1501, 1500, 1514, 1527, 1525, + 1553, 1560, 1571, 1570, 1598, 1596, 1623, 1635, 1681, 1709, + 1740, 1745, 1750, 1755, 1739, 1826, 1827, 1828, 1829, 1830, + 1831, 1832, 1844, 1849, 1918, 1920, 1922, 1923, 1937, 1938, + 1952, 1953, 1966, 1967, 1977, 1990, 1991, 2001, 2014, 2015, + 2025, 2035, 2048, 2049, 2059, 2069, 2082, 2133, 2134, 2143, + 2148, 2155, 2163, 2168, 2173, 2179, 2184, 2189, 2197, 2269, + 2268, 2278, 2283, 2288, 2293, 2320, 2329, 2328, 2399, 2400, + 2404, 2412, 2413, 2441, 2442, 2443, 2444, 2445, 2446, 2447, + 2448, 2452, 2453, 2454, 2458, 2459, 2460, 2464, 2465, 2469, + 2482, 2480, 2508, 2515, 2516, 2520, 2533, 2531, 2559, 2566, + 2583, 2602, 2603, 2607, 2612, 2617, 2625, 2630, 2635, 2643, + 2648, 2653, 2661, 2675, 2680, 2688, 2696, 2704, 2712, 2721, + 2720, 2736, 2770, 2775, 2735, 2794, 2797, 2798, 2802, 2802, + 2812, 2817, 2811, 2880, 2879, 2894, 2893, 2908, 2913, 2918, + 2923, 2970, 2975, 2907, 2999, 3007, 3021, 3031, 3039, 3040, + 3148, 3151, 3152, 3157, 3162, 3156, 3198, 3197, 3211, 3222, + 3242, 3250, 3249, 3265, 3270, 3264, 3287, 3286, 3339, 3363, + 3388, 3393, 3426, 3431, 3387, 3457, 3462, 3460, 3467, 3471, + 3508, 3513, 3506, 3588, 3643, 3653, 3642, 3668, 3673, 3666, + 3714, 3740, 3750, 3755, 3748, 3785, 3810, 3819, 3818, 3854, + 3865, 3885, 3893, 3898, 3892, 3960, 3961, 3966, 3971, 3976, + 3981, 3965, 4050, 4055, 4060, 4065, 4049, 4143, 4148, 4178, + 4183, 4142, 4201, 4206, 4259, 4264, 4199, 4301, 4307, 4314, + 4321, 4322, 4334, 4340, 4382, 4333, 4404, 4403, 4414, 4413, + 4426, 4431, 4429, 4436, 4441, 4446, 4440, 4487, 4486, 4497, + 4496, 4509, 4514, 4512, 4519, 4524, 4529, 4523, 4576, 4584, + 4585, 4586, 4691, 4696, 4701, 4710, 4715, 4709, 4727, 4735, + 4740, 4734, 4752, 4760, 4765, 4759, 4777, 4785, 4790, 4784, + 4802, 4809, 4822, 4820, 4846, 4853, 4882, 4920, 4921, 4925, + 4955, 4995, 5000, 4954, 5019, 5024, 5017, 5067, 5066, 5077, + 5084, 5085, 5090, 5089, 5100, 5099, 5110, 5109, 5120, 5119, + 5130, 5129, 5140, 5139, 5150, 5149, 5161, 5251, 5258, 5284, + 5390, 5400, 5406, 5412, 5485, 5558, 5633, 5632, 5682, 5687, + 5692, 5697, 5702, 5707, 5681, 5762, 5761, 5772, 5779, 5786, + 5794, 5799, 5793, 5811, 5812, 5816, 5818, 5817, 5828, 5827, + 5842, 5878, 5840, 5912, 5948, 5910, 5980, 5981, 5982, 5986, + 5987, 5991, 6019, 6050, 6095, 6100, 6048, 6117, 6127, 6146, + 6158, 6157, 6197, 6247, 6252, 6195, 6269, 6274, 6282, 6287, + 6292, 6297, 6302, 6307, 6312, 6317, 6322, 6327, 6336, 6371, + 6370, 6392, 6399, 6423, 6441, 6452, 6472, 6479, 6490, 6495, + 6514, 6519, 6489, 6534, 6541, 6546, 6553, 6552, 6561, 6560, + 6571, 6640, 6690, 6706, 6720, 6727, 6787, 6792, 6797, 6791, + 6857, 6862, 6856, 6877, 6881, 6882, 6887, 6886, 6897, 6896, + 6907, 6906, 6917, 6916 }; #endif @@ -1034,7 +1034,8 @@ static const char *const tao_yytname[] = "@180", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", "connector_header", "@181", "@182", "connector_body", "@183", "@184", - "connector_exports", "connector_export", "@185", "@186", "@187", "@188", 0 + "at_least_one_connector_export", "connector_exports", "connector_export", + "@185", "@186", "@187", "@188", 0 }; #endif @@ -1115,8 +1116,8 @@ static const tao_yytype_uint16 tao_yyr1[] = 453, 453, 455, 455, 456, 457, 457, 458, 460, 461, 462, 463, 459, 464, 465, 465, 467, 466, 468, 466, 469, 469, 470, 471, 471, 472, 473, 475, 476, 474, - 478, 479, 477, 480, 480, 482, 481, 483, 481, 484, - 481, 485, 481 + 478, 479, 477, 480, 481, 481, 483, 482, 484, 482, + 485, 482, 486, 482 }; /* TAO_YYR2[TAO_YYN] -- Number of symbols composing right hand side of rule TAO_YYN. */ @@ -1177,8 +1178,8 @@ static const tao_yytype_uint8 tao_yyr2[] = 4, 0, 2, 5, 2, 3, 0, 1, 0, 0, 0, 0, 9, 2, 2, 0, 0, 3, 0, 3, 3, 3, 2, 3, 0, 1, 2, 0, 0, 5, - 0, 0, 5, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3 + 0, 0, 5, 2, 2, 0, 0, 3, 0, 3, + 0, 3, 0, 3 }; /* TAO_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1215,232 +1216,234 @@ static const tao_yytype_uint16 tao_yydefact[] = 64, 24, 82, 234, 241, 236, 238, 0, 96, 313, 310, 317, 322, 16, 10, 252, 0, 18, 12, 14, 26, 421, 28, 470, 457, 30, 96, 0, 0, 32, - 34, 554, 0, 0, 0, 0, 86, 427, 425, 467, + 34, 0, 0, 0, 0, 0, 86, 427, 425, 467, 133, 0, 0, 429, 4, 517, 0, 522, 0, 518, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 542, 0, 110, 101, 237, 315, 0, 90, 0, 0, 0, 258, 268, 431, 474, - 501, 494, 503, 551, 142, 229, 197, 222, 223, 224, - 230, 302, 349, 110, 0, 96, 465, 460, 135, 530, - 549, 0, 41, 0, 46, 519, 178, 157, 159, 161, - 163, 164, 166, 167, 169, 170, 171, 0, 0, 73, - 130, 0, 0, 0, 95, 188, 311, 318, 323, 253, - 257, 0, 0, 422, 0, 110, 101, 337, 342, 0, - 452, 0, 0, 559, 335, 336, 555, 557, 0, 561, - 0, 553, 0, 0, 219, 0, 257, 0, 428, 426, - 0, 96, 0, 3, 0, 0, 0, 0, 60, 543, - 127, 125, 357, 358, 0, 109, 117, 111, 121, 119, - 123, 0, 113, 115, 362, 107, 105, 0, 100, 102, - 103, 0, 316, 0, 0, 0, 0, 258, 263, 260, - 259, 233, 279, 274, 275, 276, 277, 269, 278, 0, - 0, 0, 442, 0, 430, 432, 434, 436, 438, 440, - 444, 0, 0, 475, 0, 473, 476, 478, 0, 0, - 0, 0, 448, 447, 0, 451, 450, 0, 0, 0, - 0, 0, 0, 0, 552, 143, 332, 328, 331, 220, - 309, 303, 308, 258, 0, 466, 461, 536, 538, 531, - 535, 42, 523, 47, 520, 128, 0, 66, 0, 0, - 0, 0, 0, 361, 391, 388, 389, 390, 352, 360, - 0, 0, 0, 0, 0, 84, 104, 312, 319, 324, - 254, 256, 0, 0, 0, 0, 0, 0, 0, 423, - 0, 0, 0, 0, 0, 0, 480, 483, 472, 0, - 0, 0, 0, 338, 343, 446, 540, 541, 560, 556, - 558, 449, 562, 0, 0, 329, 0, 0, 305, 0, - 88, 0, 0, 0, 0, 533, 0, 0, 126, 118, - 112, 122, 120, 124, 0, 114, 116, 363, 108, 106, - 264, 261, 270, 455, 453, 454, 443, 433, 435, 437, - 439, 441, 445, 0, 0, 477, 479, 496, 505, 0, - 0, 144, 333, 330, 221, 304, 306, 351, 462, 537, - 539, 532, 534, 0, 53, 39, 48, 52, 0, 129, - 353, 0, 0, 0, 366, 481, 484, 339, 344, 228, - 0, 0, 0, 55, 0, 0, 54, 0, 364, 262, - 271, 0, 0, 398, 398, 0, 402, 225, 334, 307, - 463, 0, 49, 51, 379, 354, 398, 0, 367, 374, - 0, 373, 395, 482, 485, 340, 399, 345, 226, 469, - 0, 0, 0, 398, 365, 286, 293, 291, 272, 282, - 283, 290, 0, 369, 370, 0, 398, 0, 406, 0, - 0, 464, 527, 0, 526, 378, 392, 393, 394, 0, - 384, 385, 355, 0, 0, 0, 0, 0, 0, 288, - 375, 371, 396, 341, 400, 403, 346, 227, 468, 56, - 524, 380, 381, 0, 410, 287, 294, 292, 273, 281, - 296, 284, 289, 0, 0, 0, 0, 0, 0, 0, - 382, 386, 407, 356, 0, 0, 0, 376, 372, 0, - 0, 404, 57, 525, 0, 0, 0, 295, 297, 285, - 397, 401, 0, 383, 387, 408, 0, 0, 405, 414, - 0, 411, 409, 412, 0, 413 + 501, 494, 503, 337, 342, 0, 452, 0, 0, 560, + 335, 336, 556, 558, 0, 562, 551, 555, 142, 229, + 197, 222, 223, 224, 230, 302, 349, 110, 0, 96, + 465, 460, 135, 530, 549, 0, 41, 0, 46, 519, + 178, 157, 159, 161, 163, 164, 166, 167, 169, 170, + 171, 0, 0, 73, 130, 0, 0, 0, 95, 188, + 311, 318, 323, 253, 257, 0, 0, 422, 0, 110, + 101, 0, 0, 448, 447, 0, 451, 450, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 0, 0, 219, + 0, 257, 0, 428, 426, 0, 96, 0, 3, 0, + 0, 0, 0, 60, 543, 127, 125, 357, 358, 0, + 109, 117, 111, 121, 119, 123, 0, 113, 115, 362, + 107, 105, 0, 100, 102, 103, 0, 316, 0, 0, + 0, 0, 258, 263, 260, 259, 233, 279, 274, 275, + 276, 277, 269, 278, 0, 0, 0, 442, 0, 430, + 432, 434, 436, 438, 440, 444, 0, 0, 475, 0, + 473, 476, 478, 0, 0, 338, 391, 388, 389, 390, + 343, 446, 540, 541, 561, 557, 559, 449, 563, 552, + 554, 143, 332, 328, 331, 220, 309, 303, 308, 258, + 0, 466, 461, 536, 538, 531, 535, 42, 523, 47, + 520, 128, 0, 66, 0, 0, 0, 0, 0, 361, + 352, 360, 0, 0, 0, 0, 0, 84, 104, 312, + 319, 324, 254, 256, 0, 0, 0, 0, 0, 0, + 0, 423, 0, 0, 0, 0, 0, 0, 480, 483, + 472, 0, 0, 0, 0, 0, 0, 0, 0, 329, + 0, 0, 305, 0, 88, 0, 0, 0, 0, 533, + 0, 0, 126, 118, 112, 122, 120, 124, 0, 114, + 116, 363, 108, 106, 264, 261, 270, 455, 453, 454, + 443, 433, 435, 437, 439, 441, 445, 0, 0, 477, + 479, 496, 505, 339, 344, 228, 144, 333, 330, 221, + 304, 306, 351, 462, 537, 539, 532, 534, 0, 53, + 39, 48, 52, 0, 129, 353, 0, 0, 0, 366, + 481, 484, 0, 402, 225, 0, 0, 0, 55, 0, + 0, 54, 0, 364, 262, 271, 0, 0, 398, 398, + 340, 399, 345, 226, 334, 307, 463, 0, 49, 51, + 379, 354, 398, 0, 367, 374, 0, 373, 395, 482, + 485, 398, 0, 406, 0, 469, 0, 0, 0, 398, + 365, 286, 293, 291, 272, 282, 283, 290, 0, 369, + 370, 0, 341, 400, 403, 346, 227, 0, 464, 527, + 0, 526, 378, 392, 393, 394, 0, 384, 385, 355, + 0, 0, 0, 0, 0, 0, 288, 375, 371, 396, + 0, 0, 468, 56, 524, 380, 381, 0, 410, 287, + 294, 292, 273, 281, 296, 284, 289, 0, 0, 0, + 0, 404, 0, 0, 382, 386, 407, 356, 0, 0, + 0, 376, 372, 0, 401, 0, 57, 525, 0, 0, + 0, 295, 297, 285, 397, 0, 383, 387, 408, 405, + 0, 414, 0, 411, 409, 412, 0, 413 }; /* TAO_YYDEFGOTO[NTERM-NUM]. */ static const tao_yytype_int16 tao_yydefgoto[] = { - -1, 1, 2, 25, 362, 26, 164, 168, 169, 163, + -1, 1, 2, 25, 376, 26, 164, 168, 169, 163, 167, 114, 109, 118, 170, 172, 174, 178, 179, 77, - 27, 79, 28, 108, 304, 424, 29, 30, 110, 308, - 426, 596, 664, 646, 665, 647, 648, 681, 768, 31, - 111, 377, 32, 33, 117, 327, 434, 34, 80, 35, - 135, 326, 36, 37, 38, 119, 328, 447, 39, 204, - 353, 514, 40, 268, 41, 97, 259, 332, 42, 43, - 382, 448, 449, 544, 543, 381, 435, 529, 540, 541, - 528, 531, 530, 532, 526, 379, 430, 597, 243, 209, - 301, 103, 44, 436, 78, 292, 412, 583, 184, 244, - 385, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 386, 437, 81, 195, 293, 459, 138, 139, 140, 141, - 47, 346, 414, 586, 347, 658, 677, 719, 348, 349, + 27, 79, 28, 108, 304, 439, 29, 30, 110, 308, + 441, 600, 669, 651, 670, 652, 653, 687, 772, 31, + 111, 391, 32, 33, 117, 327, 449, 34, 80, 35, + 135, 326, 36, 37, 38, 119, 328, 462, 39, 204, + 367, 530, 40, 268, 41, 97, 259, 332, 42, 43, + 396, 463, 464, 556, 555, 395, 450, 545, 552, 553, + 544, 547, 546, 548, 542, 393, 445, 601, 243, 209, + 301, 103, 44, 451, 78, 292, 427, 587, 184, 244, + 399, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 400, 452, 81, 195, 293, 474, 138, 139, 140, 141, + 47, 360, 429, 590, 361, 634, 664, 704, 362, 363, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 48, 82, 49, 165, 336, 456, 389, 457, 551, 391, - 460, 553, 652, 552, 50, 83, 51, 276, 392, 554, - 653, 687, 736, 467, 708, 737, 709, 738, 776, 733, - 710, 739, 711, 735, 734, 774, 761, 775, 52, 53, - 54, 84, 294, 415, 587, 511, 588, 661, 512, 157, - 333, 453, 158, 267, 383, 159, 334, 454, 160, 161, - 335, 455, 162, 350, 413, 507, 585, 508, 584, 660, - 438, 404, 490, 629, 675, 716, 405, 491, 630, 676, - 718, 439, 85, 295, 416, 589, 440, 604, 667, 703, - 754, 441, 538, 451, 542, 651, 686, 655, 671, 672, - 690, 714, 764, 691, 712, 763, 685, 701, 702, 729, - 752, 784, 730, 753, 785, 539, 731, 693, 715, 765, - 697, 717, 766, 746, 767, 792, 773, 786, 797, 800, - 801, 804, 442, 443, 58, 59, 60, 171, 338, 473, - 61, 207, 355, 298, 354, 393, 474, 560, 561, 562, - 563, 564, 558, 565, 517, 494, 518, 408, 496, 477, - 478, 479, 62, 173, 63, 100, 299, 421, 591, 662, - 699, 357, 420, 721, 284, 339, 484, 394, 485, 569, - 570, 486, 623, 673, 487, 624, 674, 64, 65, 66, - 67, 68, 287, 395, 571, 69, 70, 71, 176, 286, - 72, 288, 396, 572, 73, 227, 228, 309, 427, 229, - 723, 750, 724, 74, 105, 302, 422, 594, 519, 595, - 520, 592, 593, 409, 255, 325, 256, 75, 76, 106, - 303, 181, 291, 410, 343, 411, 500, 501, 499, 503 + 48, 82, 49, 165, 336, 471, 403, 472, 563, 405, + 475, 565, 657, 564, 50, 83, 51, 276, 406, 566, + 658, 693, 743, 482, 714, 744, 715, 745, 780, 740, + 716, 746, 717, 742, 741, 778, 765, 779, 52, 53, + 54, 84, 294, 430, 591, 527, 592, 666, 528, 157, + 333, 468, 158, 267, 397, 159, 334, 469, 160, 161, + 335, 470, 162, 364, 428, 523, 589, 524, 588, 665, + 453, 350, 411, 585, 662, 701, 351, 412, 586, 663, + 703, 454, 85, 295, 431, 593, 455, 608, 672, 709, + 758, 456, 550, 466, 554, 656, 692, 660, 676, 677, + 696, 720, 768, 697, 718, 767, 691, 707, 708, 736, + 756, 788, 737, 757, 789, 510, 738, 699, 721, 769, + 682, 702, 750, 725, 751, 785, 777, 790, 800, 802, + 803, 806, 457, 458, 58, 59, 60, 171, 338, 488, + 61, 207, 369, 298, 368, 407, 489, 572, 573, 574, + 575, 576, 570, 577, 352, 415, 353, 354, 417, 492, + 493, 494, 62, 173, 63, 100, 299, 436, 595, 667, + 705, 371, 435, 728, 284, 339, 499, 408, 500, 581, + 582, 501, 627, 678, 502, 628, 679, 64, 65, 66, + 67, 68, 287, 409, 583, 69, 70, 71, 176, 286, + 72, 288, 410, 584, 73, 227, 228, 309, 442, 229, + 730, 754, 731, 74, 105, 302, 437, 598, 535, 599, + 536, 596, 597, 355, 255, 325, 256, 75, 76, 106, + 303, 181, 291, 425, 356, 426, 357, 421, 422, 420, + 424 }; /* TAO_YYPACT[STATE-NUM] -- Index in TAO_YYTABLE of the portion describing STATE-NUM. */ -#define TAO_YYPACT_NINF -613 +#define TAO_YYPACT_NINF -565 static const tao_yytype_int16 tao_yypact[] = { - -613, 45, 1087, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 95, 113, 43, 48, -613, 95, 95, - -613, 33, 33, -613, -613, -613, -613, 55, -613, 618, - 61, 77, -613, -613, -31, -613, -613, -613, -613, -613, - -613, 164, -613, -613, -613, -613, -613, -613, 86, -613, - 114, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, 50, - -613, -613, -613, 50, -613, -613, 100, 109, 482, 33, - 95, 421, 95, 95, 95, 95, -613, -613, -613, 5, - 95, 9, -613, 54, 95, -613, 50, 95, 120, 144, - 95, -613, 67, -613, 75, 195, 239, -613, 159, 166, - 691, 32, -613, -613, 168, 198, -613, 169, 171, 172, - 65, -613, 56, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, 177, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, 114, -613, -613, -613, 79, -613, - 183, -613, 184, 174, 179, 189, -613, 192, 193, 200, - 208, 212, 209, 215, 224, -613, -613, -613, 225, 227, - -613, -613, -613, 177, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 177, -613, -613, -613, -613, -613, -613, - -613, -613, 229, -613, 242, -613, -613, 240, -613, 95, - -613, -613, -613, -613, -613, -613, -613, 482, -613, -613, - -613, -613, 241, -613, -613, -613, -613, 312, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, 47, - 47, 47, 32, 177, -613, -613, 244, 247, 248, 1, - 57, 93, -613, -613, -613, 253, -613, -613, -613, -613, - -613, -613, -613, -613, -613, 336, -613, 257, 299, -613, - -613, -613, -613, -613, -613, -613, 245, -613, -613, -613, - -613, -613, -613, -613, -613, -613, 299, 262, 263, -613, - -613, -613, 95, 95, 264, 265, -613, -613, -613, 266, - -613, 95, 268, 240, -613, -613, 352, -613, 269, 271, - -613, -613, -613, 256, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, -613, 276, 33, -613, -613, -613, - -613, 33, -613, 32, 32, 32, -613, -613, -613, -613, - -613, -613, -613, 237, -613, 267, -613, -613, -613, -613, - -613, -613, -613, -613, 33, 299, -613, -613, -613, -613, - -613, 1165, -613, 279, -613, -613, -613, 247, 248, 1, - 57, 57, 93, 93, -613, -613, -613, 95, 32, -613, - 177, 946, 772, 308, -613, -613, -613, -613, -613, -613, - -613, 395, 194, 235, 888, -613, -613, -613, -613, 38, - 302, 33, 33, -613, -613, -613, -613, -613, 38, -613, - 283, -613, 284, 278, 289, 383, -613, 981, 177, -613, - 33, 299, 92, 300, 304, 386, 306, 691, -613, -613, - 303, -613, -613, -613, 310, -613, -613, -613, -613, -613, - -613, 520, -613, -613, -613, -613, -613, 313, -613, -613, - -613, 314, -613, 328, 337, 338, 341, 356, -613, -613, - -613, 385, 177, -613, -613, -613, -613, -613, -613, 33, - 33, 33, -613, 361, -613, -613, -613, -613, -613, -613, - -613, 95, 95, -613, 367, -613, -613, -613, 1039, 830, - 364, 572, -613, 177, 95, -613, -613, 34, 37, 316, - 370, 371, 95, 372, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 373, 374, 177, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, 377, -613, 378, 379, - 380, 381, 382, -613, 177, -613, -613, -613, -613, -613, - 387, 389, 455, 395, 395, -613, -613, -613, -613, -613, - -613, -613, 392, 95, 368, 52, 52, 52, 393, -613, - 394, 397, 398, 399, 402, 403, -613, -613, -613, 415, - 417, 416, 419, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 32, 32, 278, 95, 424, 426, 425, - -613, 404, 435, 436, 437, 92, 1140, 33, -613, -613, - -613, -613, -613, -613, 456, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 420, 420, -613, -613, -613, -613, 572, - 95, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 33, -613, -613, -613, -613, 442, 177, - -613, 420, 462, 463, 445, -613, -613, -613, -613, -613, - 443, 383, 33, 177, 454, 220, -613, 448, -613, -613, - -613, 449, 516, 515, 515, 95, 500, 465, -613, -613, - 177, 469, -613, -613, 458, -613, 515, 74, -613, -613, - 461, -613, -613, -613, -613, -613, -613, -613, -613, 499, - 556, 464, 176, 515, -613, -613, -613, -613, -613, -613, - -613, -613, 572, -613, 474, 466, 515, 467, 504, 95, - 33, -613, -613, 481, -613, -613, -613, -613, -613, 468, - -613, -613, -613, 487, 32, 484, 489, 51, 421, 130, - -613, -613, -613, -613, -613, -613, -613, -613, 177, -613, - 486, -613, 501, 572, 539, -613, -613, -613, -613, -613, - -613, -613, -613, 95, 516, 33, 33, 491, 95, 556, - -613, -613, -613, -613, 505, 95, 509, -613, -613, 493, - 496, -613, -613, -613, 176, 95, 503, -613, -613, -613, - -613, -613, 33, -613, -613, -613, 498, 527, -613, -613, - 506, 512, -613, -613, 531, -613 + -565, 66, 1085, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, 72, 93, 48, 105, -565, 72, 72, + -565, 40, 40, -565, -565, -565, -565, 59, -565, 292, + -7, 22, -565, -565, -45, -565, -565, -565, -565, -565, + -565, 219, -565, -565, -565, -565, -565, -565, 70, -565, + 135, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, 81, + -565, -565, -565, 81, -565, -565, 75, 92, 731, 40, + 72, 482, 72, 72, 72, 72, -565, -565, -565, 36, + 72, 85, -565, 110, 72, -565, 81, 72, 118, 121, + 72, -565, 25, -565, 64, 205, 210, -565, 129, 156, + 408, 39, -565, -565, 161, 200, -565, 182, 202, 199, + 45, -565, 77, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, 214, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, 135, -565, -565, -565, 19, -565, + 209, -565, 212, 220, 225, 228, -565, 232, 233, 236, + 239, 243, 245, 247, 252, -565, -565, -565, 253, 257, + -565, -565, -565, 214, -565, -565, -565, -565, -565, -565, + -565, -565, -565, 214, -565, -565, -565, -565, -565, -565, + -565, -565, 258, -565, 260, -565, -565, 259, -565, 72, + -565, -565, -565, -565, -565, -565, -565, 731, -565, -565, + -565, -565, 262, -565, -565, -565, -565, 352, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, 54, + 54, 54, 39, 214, -565, -565, 264, 266, 261, 43, + 97, 69, -565, -565, -565, 269, -565, -565, -565, -565, + -565, -565, -565, -565, -565, 353, -565, 274, 316, -565, + -565, -565, -565, -565, -565, -565, 265, -565, -565, -565, + -565, -565, -565, -565, -565, -565, 316, 278, 279, -565, + -565, 149, 72, 72, 280, 284, -565, -565, -565, 282, + -565, 72, 290, 259, -565, -565, 377, -565, 293, 303, + -565, -565, -565, 281, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, -565, 305, 40, -565, -565, -565, + -565, 40, -565, 39, 39, 39, -565, -565, -565, -565, + -565, -565, -565, -565, -565, 79, 323, 40, 40, -565, + -565, -565, -565, -565, 79, -565, -565, -565, -565, 294, + -565, -565, -565, -565, -565, -565, -565, -565, 40, 316, + -565, -565, -565, -565, -565, 1163, -565, 308, -565, -565, + -565, 266, 261, 43, 97, 97, 69, 69, -565, -565, + -565, 72, 39, -565, 214, 944, 770, 575, -565, -565, + -565, -565, -565, -565, -565, 246, 80, 271, 886, -565, + -565, 368, 648, -565, 214, 72, -565, -565, 62, 65, + 298, 322, 324, 72, 326, 314, 149, 321, 304, 325, + 414, -565, 979, 214, -565, 40, 316, -19, 331, 334, + 420, 338, 408, -565, -565, 336, -565, -565, -565, 343, + -565, -565, -565, -565, -565, -565, 173, -565, -565, -565, + -565, -565, 346, -565, -565, -565, 340, -565, 345, 349, + 354, 357, 358, -565, -565, -565, 438, 214, -565, -565, + -565, -565, -565, -565, 40, 40, 40, -565, 360, -565, + -565, -565, -565, -565, -565, -565, 72, 72, -565, 363, + -565, -565, -565, 1037, 828, -565, 214, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, 364, + 366, 214, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, 369, -565, 373, 374, 375, 382, 383, -565, + -565, -565, 388, 389, 473, 246, 246, -565, -565, -565, + -565, -565, -565, -565, 392, 72, 376, 71, 71, 71, + 393, -565, 395, 396, 397, 402, 404, 419, -565, -565, + -565, 424, 425, 426, 427, 648, 72, 39, 39, 304, + 72, 428, 421, 429, -565, 445, 442, 443, 444, -19, + 1138, 40, -565, -565, -565, -565, -565, -565, 529, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, 431, 431, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, 40, -565, + -565, -565, -565, 449, 214, -565, 431, 452, 453, 503, + -565, -565, 72, 485, 450, 437, 414, 40, 214, 456, + 399, -565, 446, -565, -565, -565, 441, 510, 508, 508, + -565, -565, -565, -565, -565, -565, 214, 459, -565, -565, + 447, -565, 508, 51, -565, -565, 448, -565, -565, -565, + -565, 508, 451, 487, 72, 498, 555, 457, 175, 508, + -565, -565, -565, -565, -565, -565, -565, -565, 648, -565, + 468, 461, -565, -565, -565, -565, -565, 40, -565, -565, + 472, -565, -565, -565, -565, -565, 463, -565, -565, -565, + 479, 39, 477, 481, 63, 482, 191, -565, -565, -565, + 40, 467, 214, -565, 480, -565, 483, 648, 531, -565, + -565, -565, -565, -565, -565, -565, -565, 72, 510, 40, + 469, -565, 72, 555, -565, -565, -565, -565, 489, 72, + 490, -565, -565, 492, -565, 40, -565, -565, 175, 72, + 478, -565, -565, -565, -565, 493, -565, -565, -565, -565, + 507, -565, 494, 511, -565, -565, 523, -565 }; /* TAO_YYPGOTO[NTERM-NUM]. */ static const tao_yytype_int16 tao_yypgoto[] = { - -613, -613, 311, 246, -613, -530, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -528, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -55, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, 186, -613, -613, - 161, -613, -613, -613, 592, -613, -613, -613, -613, -613, - -613, -613, 601, -613, 199, -613, -613, -255, -613, -613, - 223, -613, -613, -613, -613, -309, -348, -613, -613, -613, - -613, -613, -613, -613, -613, -316, -613, -613, -18, -613, - -613, -13, -613, 8, -613, -613, -613, -613, 406, 44, - -97, -613, 307, 315, 317, -98, -81, -90, -4, -613, - -302, 16, -613, -613, -613, -33, 243, -413, -613, -613, - -613, 76, -613, -613, -557, -47, -613, -613, -12, -613, - -61, -613, -613, -56, -48, -57, -54, -53, -613, -613, - -34, -613, -30, -613, -613, -613, -613, 216, 295, -613, - -321, -613, -613, -613, -28, -613, -25, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -103, -613, -613, -613, - -613, -613, -104, -613, -613, -613, -613, -613, -613, -613, - -39, -613, -613, -613, -613, -613, -613, -613, -21, -613, - -613, -613, -613, -613, -613, -69, -613, -613, -613, -66, - -613, -613, -613, -613, -613, -613, -613, 62, -613, -613, - -305, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, 17, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -566, -613, -613, - -613, -613, -613, -128, -613, -613, -613, -613, -613, -613, - -613, -613, -136, -613, -613, -464, -613, -612, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, 18, 24, -613, -613, -613, -613, -613, -613, - -613, -613, -613, 346, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -304, 249, -300, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, 577, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, 226, - -613, -613, -118, -613, -613, -613, -613, -613, -613, -613, - 59, -613, -613, 272, -613, -613, 277, -613, -613, -613, - -613, -613, -613, -613, -613, -613, -613, -613, -613, -613 + -565, -565, 299, 229, -565, -564, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -561, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -64, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, 263, -565, -565, + 132, -565, -565, -565, 589, -565, -565, -565, -565, -565, + -565, -565, 592, -565, 267, -565, -565, -258, -565, -565, + 198, -565, -565, -565, -565, -307, -358, -565, -565, -565, + -565, -565, -565, -565, -565, -313, -565, -565, -20, -565, + -565, -13, -565, 12, -565, -565, -565, -565, 394, 23, + -99, -565, 295, 301, 297, -28, -12, -71, 35, -565, + -304, 14, -565, -565, -565, -33, 222, -383, -565, -565, + -565, 52, -565, -565, -563, -41, -565, -565, -10, -565, + -55, -565, -565, -44, -43, -54, -53, -52, -565, -565, + -34, -565, -32, -565, -565, -565, -565, 192, 286, -565, + -264, -565, -565, -565, -30, -565, -26, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -120, -565, -565, -565, + -565, -565, -121, -565, -565, -565, -565, -565, -565, -565, + -37, -565, -565, -565, -565, -565, -565, -565, -40, -565, + -565, -565, -565, -565, -565, -68, -565, -565, -565, -65, + -565, -565, -565, -565, -565, -565, -565, 38, -565, -565, + -254, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, 15, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -552, -565, -565, + -565, -565, -565, -139, -565, -565, -565, -565, -565, -565, + -565, -565, -158, -565, -565, -437, -565, -406, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, 18, 20, -565, -565, -565, -565, -565, -565, + -565, -565, -565, 328, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -375, 283, -374, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, 559, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, 193, + -565, -565, -140, -565, -565, -565, -565, -565, -565, -565, + 37, -565, -565, 227, -565, -565, 248, -565, -565, -565, + -565, -565, -565, -565, -565, -565, 213, -565, -565, -565, + -565 }; /* TAO_YYTABLE[TAO_YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1450,258 +1453,258 @@ static const tao_yytype_int16 tao_yypgoto[] = #define TAO_YYTABLE_NINF -505 static const tao_yytype_int16 tao_yytable[] = { - 87, 88, 156, 102, 104, 98, 99, 152, 137, 191, - 45, 153, 192, 154, 245, 384, 155, 185, 46, 55, - 56, 188, 186, 136, 189, 190, 57, 574, 535, 634, - 187, 340, 387, 388, 450, 86, 86, 576, 403, 406, - 577, 86, 156, 407, 417, 3, 483, 152, 196, 7, - 86, 153, 705, 154, -137, 86, 155, 492, 656, 115, - 183, 193, 694, 136, 265, 266, 644, 194, 645, 197, - 198, 199, 200, 263, 704, 705, 264, 202, 535, 706, - 707, 205, 317, 318, 206, 668, 488, 208, 472, 475, - -138, 732, 17, 476, -139, 115, 90, 17, 86, 115, - 419, 94, 706, 707, 743, 230, 231, 232, 233, 234, - 235, 236, 101, 101, 211, 237, 238, 211, 101, 7, - 230, 231, 232, 233, 234, 235, 236, 101, 239, 240, - 237, 238, 211, 241, 242, 644, 166, 645, -280, -97, - 115, 450, 210, 107, 115, 313, 112, 211, 191, 242, - 212, 192, 399, 319, 320, 211, 185, 400, 706, 707, - 188, 186, 113, 189, 190, 657, 516, 86, 269, 187, - 270, -298, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 9, 10, 180, 11, 132, 133, - 134, 321, 322, 323, 182, 116, 300, 86, 213, 183, - 89, 91, 461, 121, 122, -419, 777, 125, 126, 127, - 128, 726, 727, 728, 93, 96, 535, 11, 788, 370, - 371, 4, 608, 609, 5, 6, 7, 8, 794, -491, - 175, 374, 375, 376, 175, 310, 311, 312, 372, 373, - 9, 10, 214, 11, 101, 215, 258, 12, 740, -98, - 201, 216, 203, 257, 115, 260, 261, 211, 262, 273, - 13, 14, 15, 16, 274, 397, 398, 397, 398, 17, - 18, 271, 272, 19, 101, 275, 20, 277, 278, 344, - 345, 245, 632, 21, 22, 279, 469, 470, 358, 771, - 23, 24, 643, 280, 282, 399, 471, 399, 281, 535, - 400, 283, 400, 401, 402, 401, 402, -50, 380, 285, - 289, 86, 290, 380, -492, 307, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 296, 306, - 297, 463, 132, 133, 134, 464, 418, 314, 465, 466, - 535, 315, 324, 316, 329, 330, 331, 337, 341, 342, - 351, 352, 156, 468, 359, 363, 356, 152, 364, 366, - 495, 153, 365, 154, 428, 136, 155, 378, 425, 45, - 504, -327, 536, 136, 462, 537, 505, 46, 55, 56, - 509, 493, 506, 497, 498, 57, 510, -8, 101, 522, - 493, 521, 523, 263, 525, 573, 458, 527, 86, 546, - 545, 578, 515, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 9, 10, 547, 11, 132, - 133, 134, 536, 534, 86, 537, 548, 549, 550, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 9, 10, -255, 11, 132, 133, 134, 559, 779, - 780, 555, 556, 557, 568, 579, 580, 582, 607, 650, - -350, 590, 598, 599, 600, 601, 602, 603, 566, 567, - 638, 612, 605, 534, 606, 101, 796, 610, 616, 617, - -368, 575, 618, 619, 620, 86, 245, 621, 622, 581, + 87, 102, 104, 88, 156, 98, 99, 152, 137, 153, + 191, 154, 245, 192, 45, 155, 46, 55, 398, 551, + 56, 136, 57, 185, 188, 189, 190, 639, 340, 507, + 401, 402, 490, 491, 186, 187, 649, 349, 465, 650, + -137, 345, 86, 86, 156, 115, 346, 152, 196, 153, + 498, 154, 711, 263, 7, 155, 264, 86, 183, 193, + 432, 136, 533, 534, 711, 512, 3, 194, 513, 197, + 198, 199, 200, 507, 86, 86, 661, 202, 112, 712, + 713, 205, 86, 86, 206, 265, 266, 208, 476, 121, + 122, 712, 713, 125, 126, 127, 128, 17, 413, 7, + 210, 90, 503, 11, 673, 211, 649, 113, 269, 650, + 270, 434, 230, 231, 232, 233, 234, 235, 236, 101, + 101, -138, 237, 238, 317, 318, 115, 230, 231, 232, + 233, 234, 235, 236, 101, 239, 240, 237, 238, 212, + 241, 242, 211, 313, 211, 211, 465, 107, 633, 191, + -280, 211, 192, 487, 17, -298, 242, 166, 94, 101, + 101, 180, 185, 188, 189, 190, 116, 321, 322, 323, + -139, 115, 349, 186, 187, 115, 86, 182, 532, 343, + 344, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 319, 320, -97, 300, 183, 133, 134, + 115, 175, 507, -419, 781, 175, -491, 549, 213, 345, + 733, 734, 735, 214, 346, 215, 792, 347, 348, 712, + 713, 201, 86, 203, 533, 534, 797, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 9, + 10, 216, 11, 132, 133, 134, 257, 473, 258, 86, + 388, 389, 390, 101, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 9, 10, 260, 11, + 132, 133, 134, 700, 310, 311, 312, 89, 91, 358, + 359, 747, 93, 96, 637, 262, 710, 261, 372, 384, + 385, 612, 613, 245, 211, 722, -44, 271, -44, 101, + 272, 343, 344, 739, -98, 273, 394, 386, 387, 115, + 274, 394, -44, -44, 275, -44, -44, 277, 278, -44, + 775, 279, 484, 485, 280, 414, 101, 418, 419, 281, + 282, 345, 486, 283, 414, 507, 346, 285, 289, 347, + 348, -44, 290, -492, 508, -44, 296, 509, 433, 297, + 306, 478, 479, 480, 481, 307, 316, 314, 324, -44, + 315, 329, 330, 331, 341, 342, 365, 337, 156, 483, + 366, 152, 370, 153, 507, 154, 373, 136, 443, 155, + 377, 416, 378, 514, 380, 136, 477, 45, 508, 46, + 55, 509, 506, 56, 379, 57, 392, 440, -327, 505, + 4, 519, 511, 5, 6, 7, 8, 515, 522, 516, + 517, 518, 217, 521, 218, 531, 525, 526, -8, 9, + 10, 537, 11, 538, 539, 558, 12, 541, 219, 220, + 543, 221, 222, 557, 559, 223, 506, 770, 560, 13, + 14, 15, 16, 561, 562, -255, 263, 571, 17, 18, + 580, -350, 19, 594, 602, 20, 783, 224, 603, 604, + 605, 225, 21, 22, 567, 568, 569, 606, 607, 23, + 24, 648, 795, 609, 610, 226, 611, 614, 620, 616, + 621, 622, 623, 578, 579, 86, -50, 624, 245, 625, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 625, 101, 626, 627, 156, 156, 628, 133, 134, 152, - 152, 635, 637, 153, 153, 154, 154, 636, 155, 155, - 639, 640, 654, 86, 641, 136, 136, 666, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 345, 682, 613, 614, 615, 133, 134, 669, 678, 670, - 684, 689, 688, 692, 533, 696, 698, 700, 720, 722, - 536, -377, 101, 537, 713, 741, 745, 725, 742, 744, - 749, 751, 755, 345, 757, 86, 758, 769, 772, 649, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 770, 781, 789, 787, 790, 133, 134, 791, - 101, 798, 799, 803, 45, 795, 805, 423, 95, 802, - 683, 534, 46, 55, 56, 361, 92, 87, 659, 489, - 57, 367, -44, 305, -44, 663, 452, 631, 695, 611, - 368, 390, 513, 369, 759, 762, 778, 756, -44, -44, - 679, -44, -44, 536, 680, -44, 537, 633, 793, 360, - 177, 783, 101, 524, 642, 429, 0, 502, 0, 0, - 0, 0, 87, 659, 0, 480, 0, -44, 0, 0, - 0, -44, 0, 45, 0, 0, 0, 0, 0, 0, - 0, 46, 55, 56, 536, -44, 0, 537, 0, 57, - 0, 0, 0, 0, 534, 217, 0, 218, 0, 156, - 0, 0, 748, 0, 152, 760, 87, 747, 153, 0, - 154, 219, 220, 155, 221, 222, 0, 0, 223, 0, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, - 224, 0, 0, 0, 225, 0, 0, 380, 380, 0, - 345, 0, 0, 0, 0, 782, 0, 0, 226, 0, - 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 345, 431, 380, -359, 5, 0, 0, 8, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, 9, 10, 0, 11, 0, -359, -359, 12, - 0, 0, 397, 398, 432, 433, -359, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 444, 445, 446, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 431, 0, -359, 5, 21, 22, 8, -359, -359, + 130, 131, 9, 10, 626, 11, 132, 133, 134, 629, + 630, 643, 641, 631, 632, 640, 642, 508, 156, 156, + 509, 152, 152, 153, 153, 154, 154, 644, 645, 155, + 155, 646, 655, 659, 671, 136, 136, 674, -368, 675, + 681, 683, 684, 688, 694, 695, 698, 706, 690, 724, + -377, 719, 359, 723, 617, 618, 619, 727, 729, 748, + 732, 753, 101, 749, 759, 506, 755, 761, 762, 771, + 776, 773, 784, 87, 774, 793, 635, 359, 86, 791, + 798, 654, 801, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 794, 799, 804, 807, 132, + 133, 134, 805, 375, 438, 95, 689, 92, 504, 381, + 636, 305, 45, 383, 46, 55, 382, 615, 56, 467, + 57, 680, 404, 529, 763, 766, 685, 638, 668, 782, + 796, 374, 177, 787, 495, 540, 647, 423, 0, 520, + 444, 0, 760, 0, 0, 0, 0, 686, 0, 87, + 508, 86, 635, 509, 0, 101, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, + 0, 0, 0, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 46, 55, 0, 0, 56, 508, + 57, 87, 509, 0, 726, 0, 0, 0, 506, 0, + 0, 0, 0, 0, 0, 0, 0, 752, 156, 0, + 0, 152, 764, 153, 0, 154, 0, 0, 0, 155, + 0, 0, 0, 0, 0, 136, 0, 0, 101, 0, + 394, 0, 0, 0, 86, 0, 0, 506, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 394, + 0, 0, 0, 0, 359, 0, 133, 134, 0, 786, + 0, 0, 0, 0, 0, 394, 359, 0, 0, 0, + 0, 446, 0, -359, 5, 0, 359, 8, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - 9, 10, -359, 11, 0, -359, -359, 12, 0, -83, - 397, 398, 432, 433, -359, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 444, 445, 446, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, + 9, 10, 0, 11, 0, -359, -359, 12, 0, 0, + 343, 344, 447, 448, -359, 0, 0, 0, 0, 0, + 13, 101, 0, 0, 459, 460, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 0, -359, 5, 21, 22, 8, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, 9, 10, - -359, 11, 0, -359, -359, 12, 0, -504, 397, 398, - 432, 433, -359, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 481, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 482, 0, 0, 0, 0, 431, 0, -359, + -359, 11, 0, -359, -359, 12, 0, -83, 343, 344, + 447, 448, -359, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 459, 460, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 446, 0, -359, 5, 21, 22, 8, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, 9, 10, -359, 11, - 0, -359, -359, 12, 0, -471, 397, 398, 432, 433, - -359, 0, 431, 0, -359, 5, 13, 0, 8, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, 9, 10, 0, 11, 0, -359, -359, 12, 21, - 22, 397, 398, 432, 433, -359, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 0, -359, 0, 0, 0, - 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, - 431, 0, -359, 5, 21, 22, 8, -359, -359, -359, + 0, -359, -359, 12, 0, -504, 343, 344, 447, 448, + -359, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 497, 0, 0, 0, 0, 446, 0, -359, 5, 21, + 22, 8, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, 9, 10, -359, 11, 0, -359, + -359, 12, 0, -471, 343, 344, 447, 448, -359, 0, + 446, 0, -359, 5, 13, 0, 8, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, 9, - 10, -359, 11, 0, -359, -359, 12, 0, -87, 397, - 398, 432, 433, -359, 0, 0, 0, 0, 0, 13, - 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, - 0, 5, 6, 7, 8, 0, 0, 0, 0, 0, - 0, 0, 21, 22, 0, 0, 0, 9, 10, 0, - 11, 0, 0, 0, 12, 0, 0, 0, 0, -359, - 0, 0, 0, 0, 0, 0, -495, 13, 14, 15, - 16, 0, 0, 0, 0, 0, 17, 18, 0, 0, - 19, 4, 0, 20, 5, 6, 7, 8, 0, 0, - 21, 22, 0, 0, 0, 0, 0, 23, 24, 0, - 9, 10, 0, 11, 0, 0, 4, 12, 0, 5, + 10, 0, 11, 0, -359, -359, 12, 21, 22, 343, + 344, 447, 448, -359, 0, 0, 0, 0, 0, 13, + 0, 0, 0, 0, -359, 0, 0, 0, 0, 0, + 0, -65, 0, 0, 0, 0, 0, 0, 446, 0, + -359, 5, 21, 22, 8, -359, -359, -359, -359, -359, + -359, -359, -359, -359, -359, -359, -359, 9, 10, -359, + 11, 0, -359, -359, 12, 0, -87, 343, 344, 447, + 448, -359, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 0, -2, 4, 0, 0, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, - 13, 14, 15, 16, 0, 9, 10, 0, 11, 17, - 18, 0, 12, 19, 0, 0, 20, 0, 0, 0, - 0, 0, 0, 21, 22, 13, 14, 15, 16, 0, - 23, 24, 643, 0, 17, 18, 0, 0, 19, 0, - 0, 20, 0, 0, 0, 0, 0, 0, 21, 22, - 0, 0, 0, 0, 0, 23, 24 + 21, 22, 0, 0, 0, 9, 10, 0, 11, 0, + 0, 0, 12, 0, 0, 0, 0, -359, 0, 0, + 0, 0, 0, 0, -495, 13, 14, 15, 16, 0, + 0, 0, 0, 0, 17, 18, 0, 0, 19, 4, + 0, 20, 5, 6, 7, 8, 0, 0, 21, 22, + 0, 0, 0, 0, 0, 23, 24, 0, 9, 10, + 0, 11, 0, 0, 4, 12, 0, 5, 6, 7, + 8, 0, 0, 0, 0, 0, 0, 0, 13, 14, + 15, 16, 0, 9, 10, 0, 11, 17, 18, 0, + 12, 19, 0, 0, 20, 0, 0, 0, 0, 0, + 0, 21, 22, 13, 14, 15, 16, 0, 23, 24, + 648, 0, 17, 18, 0, 0, 19, 0, 0, 20, + 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, + 0, 0, 0, 23, 24 }; static const tao_yytype_int16 tao_yycheck[] = { - 13, 13, 41, 21, 22, 18, 19, 41, 41, 78, - 2, 41, 78, 41, 111, 331, 41, 78, 2, 2, - 2, 78, 78, 41, 78, 78, 2, 491, 441, 586, - 78, 286, 334, 335, 382, 3, 3, 3, 343, 343, - 3, 3, 81, 343, 353, 0, 394, 81, 81, 6, - 3, 81, 1, 81, 85, 3, 81, 19, 624, 90, - 78, 79, 674, 81, 8, 9, 596, 80, 596, 82, - 83, 84, 85, 8, 686, 1, 11, 90, 491, 28, - 29, 94, 81, 82, 97, 651, 395, 100, 393, 393, - 85, 703, 49, 393, 85, 90, 53, 49, 3, 90, - 355, 53, 28, 29, 716, 73, 74, 75, 76, 77, - 78, 79, 80, 80, 80, 83, 84, 80, 80, 6, - 73, 74, 75, 76, 77, 78, 79, 80, 96, 97, - 83, 84, 80, 101, 102, 665, 22, 665, 87, 85, - 90, 489, 75, 88, 90, 242, 85, 80, 217, 102, - 75, 217, 60, 96, 97, 80, 217, 65, 28, 29, - 217, 217, 85, 217, 217, 629, 421, 3, 89, 217, - 91, 85, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 86, 23, 24, 25, - 26, 98, 99, 100, 85, 34, 209, 3, 3, 217, - 14, 15, 8, 9, 10, 85, 763, 13, 14, 15, - 16, 35, 36, 37, 15, 16, 629, 23, 775, 317, - 318, 1, 543, 544, 4, 5, 6, 7, 785, 85, - 69, 321, 322, 323, 73, 239, 240, 241, 319, 320, - 20, 21, 3, 23, 80, 86, 48, 27, 712, 85, - 89, 85, 91, 85, 90, 86, 85, 80, 86, 85, - 40, 41, 42, 43, 85, 30, 31, 30, 31, 49, - 50, 88, 88, 53, 80, 86, 56, 85, 85, 292, - 293, 378, 584, 63, 64, 85, 51, 52, 301, 753, - 70, 71, 72, 85, 85, 60, 61, 60, 86, 712, - 65, 86, 65, 68, 69, 68, 69, 87, 326, 85, - 85, 3, 85, 331, 85, 3, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 86, 88, - 90, 392, 24, 25, 26, 392, 354, 93, 392, 392, - 753, 94, 89, 95, 8, 88, 47, 102, 86, 86, - 86, 86, 391, 392, 86, 3, 90, 391, 89, 103, - 58, 391, 91, 391, 377, 383, 391, 91, 89, 361, - 87, 104, 441, 391, 392, 441, 92, 361, 361, 361, - 91, 399, 104, 401, 402, 361, 3, 87, 80, 3, - 408, 87, 86, 8, 91, 31, 1, 87, 3, 85, - 87, 85, 420, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 89, 23, 24, - 25, 26, 491, 441, 3, 491, 89, 89, 87, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 87, 23, 24, 25, 26, 87, 765, - 766, 469, 470, 471, 87, 85, 85, 85, 3, 3, - 87, 87, 85, 85, 85, 85, 85, 85, 481, 482, - 66, 103, 85, 491, 85, 80, 792, 85, 85, 85, - 35, 494, 85, 85, 85, 3, 583, 85, 85, 502, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 85, 80, 85, 87, 543, 544, 87, 25, 26, 543, - 544, 87, 87, 543, 544, 543, 544, 91, 543, 544, - 85, 85, 102, 3, 87, 543, 544, 85, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 553, 87, 555, 556, 557, 25, 26, 85, 105, 86, - 102, 35, 103, 38, 34, 55, 91, 88, 59, 3, - 629, 103, 80, 629, 103, 91, 62, 103, 102, 102, - 89, 103, 85, 586, 90, 3, 87, 91, 39, 597, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 91, 102, 85, 90, 103, 25, 26, 103, - 80, 103, 75, 91, 596, 102, 75, 361, 16, 103, - 665, 629, 596, 596, 596, 304, 15, 630, 630, 396, - 596, 314, 4, 217, 6, 643, 383, 583, 675, 553, - 315, 336, 416, 316, 737, 739, 764, 734, 20, 21, - 661, 23, 24, 712, 662, 27, 712, 585, 784, 303, - 73, 769, 80, 427, 595, 378, -1, 408, -1, -1, - -1, -1, 675, 675, -1, 393, -1, 49, -1, -1, - -1, 53, -1, 665, -1, -1, -1, -1, -1, -1, - -1, 665, 665, 665, 753, 67, -1, 753, -1, 665, - -1, -1, -1, -1, 712, 4, -1, 6, -1, 738, - -1, -1, 720, -1, 738, 738, 719, 719, 738, -1, - 738, 20, 21, 738, 23, 24, -1, -1, 27, -1, - 738, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 753, -1, -1, -1, -1, - 49, -1, -1, -1, 53, -1, -1, 765, 766, -1, - 763, -1, -1, -1, -1, 768, -1, -1, 67, -1, - -1, -1, 775, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 785, 1, 792, 3, 4, -1, -1, 7, + 13, 21, 22, 13, 41, 18, 19, 41, 41, 41, + 78, 41, 111, 78, 2, 41, 2, 2, 331, 456, + 2, 41, 2, 78, 78, 78, 78, 590, 286, 412, + 334, 335, 407, 407, 78, 78, 600, 291, 396, 600, + 85, 60, 3, 3, 81, 90, 65, 81, 81, 81, + 408, 81, 1, 8, 6, 81, 11, 3, 78, 79, + 367, 81, 437, 437, 1, 3, 0, 80, 3, 82, + 83, 84, 85, 456, 3, 3, 628, 90, 85, 28, + 29, 94, 3, 3, 97, 8, 9, 100, 8, 9, + 10, 28, 29, 13, 14, 15, 16, 49, 19, 6, + 75, 53, 409, 23, 656, 80, 670, 85, 89, 670, + 91, 369, 73, 74, 75, 76, 77, 78, 79, 80, + 80, 85, 83, 84, 81, 82, 90, 73, 74, 75, + 76, 77, 78, 79, 80, 96, 97, 83, 84, 75, + 101, 102, 80, 242, 80, 80, 504, 88, 585, 217, + 87, 80, 217, 407, 49, 85, 102, 22, 53, 80, + 80, 86, 217, 217, 217, 217, 34, 98, 99, 100, + 85, 90, 426, 217, 217, 90, 3, 85, 436, 30, + 31, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 96, 97, 85, 209, 217, 25, 26, + 90, 69, 585, 85, 767, 73, 85, 34, 3, 60, + 35, 36, 37, 3, 65, 86, 779, 68, 69, 28, + 29, 89, 3, 91, 599, 599, 789, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 85, 23, 24, 25, 26, 85, 1, 48, 3, + 321, 322, 323, 80, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 86, 23, + 24, 25, 26, 679, 239, 240, 241, 14, 15, 292, + 293, 718, 15, 16, 588, 86, 692, 85, 301, 317, + 318, 555, 556, 392, 80, 701, 4, 88, 6, 80, + 88, 30, 31, 709, 85, 85, 326, 319, 320, 90, + 85, 331, 20, 21, 86, 23, 24, 85, 85, 27, + 757, 85, 51, 52, 85, 345, 80, 347, 348, 86, + 85, 60, 61, 86, 354, 718, 65, 85, 85, 68, + 69, 49, 85, 85, 412, 53, 86, 412, 368, 90, + 88, 406, 406, 406, 406, 3, 95, 93, 89, 67, + 94, 8, 88, 47, 86, 86, 86, 102, 405, 406, + 86, 405, 90, 405, 757, 405, 86, 397, 391, 405, + 3, 58, 89, 85, 103, 405, 406, 375, 456, 375, + 375, 456, 412, 375, 91, 375, 91, 89, 104, 31, + 1, 87, 415, 4, 5, 6, 7, 85, 104, 85, + 423, 85, 4, 92, 6, 435, 91, 3, 87, 20, + 21, 87, 23, 3, 86, 85, 27, 91, 20, 21, + 87, 23, 24, 87, 89, 27, 456, 750, 89, 40, + 41, 42, 43, 89, 87, 87, 8, 87, 49, 50, + 87, 87, 53, 87, 85, 56, 769, 49, 85, 85, + 85, 53, 63, 64, 484, 485, 486, 85, 85, 70, + 71, 72, 785, 85, 85, 67, 3, 85, 85, 103, + 85, 85, 85, 496, 497, 3, 87, 85, 587, 85, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, 25, 26, 27, - -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, 44, 45, 46, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, 3, 4, 63, 64, 7, 8, 9, + 18, 19, 20, 21, 85, 23, 24, 25, 26, 85, + 85, 66, 91, 87, 87, 87, 87, 585, 555, 556, + 585, 555, 556, 555, 556, 555, 556, 85, 85, 555, + 556, 87, 3, 102, 85, 555, 556, 85, 35, 86, + 55, 91, 105, 87, 103, 35, 38, 88, 102, 62, + 103, 103, 565, 102, 567, 568, 569, 59, 3, 91, + 103, 89, 80, 102, 85, 585, 103, 90, 87, 102, + 39, 91, 103, 586, 91, 85, 586, 590, 3, 90, + 102, 601, 75, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 103, 103, 103, 75, 24, + 25, 26, 91, 304, 375, 16, 670, 15, 410, 314, + 587, 217, 600, 316, 600, 600, 315, 565, 600, 397, + 600, 662, 336, 431, 744, 746, 666, 589, 648, 768, + 788, 303, 73, 773, 407, 442, 599, 354, -1, 426, + 392, -1, 741, -1, -1, -1, -1, 667, -1, 662, + 718, 3, 662, 718, -1, 80, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, + -1, -1, 670, -1, 670, 670, -1, -1, 670, 757, + 670, 704, 757, -1, 704, -1, -1, -1, 718, -1, + -1, -1, -1, -1, -1, -1, -1, 727, 745, -1, + -1, 745, 745, 745, -1, 745, -1, -1, -1, 745, + -1, -1, -1, -1, -1, 745, -1, -1, 80, -1, + 750, -1, -1, -1, 3, -1, -1, 757, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 769, + -1, -1, -1, -1, 767, -1, 25, 26, -1, 772, + -1, -1, -1, -1, -1, 785, 779, -1, -1, -1, + -1, 1, -1, 3, 4, -1, 789, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 80, 23, -1, 25, 26, 27, -1, 87, + 20, 21, -1, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, 44, 45, 46, -1, -1, -1, + 40, 80, -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 63, 64, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 80, 23, -1, 25, 26, 27, -1, 87, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 54, -1, -1, -1, -1, 1, -1, 3, + -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 63, 64, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 80, 23, -1, 25, 26, 27, -1, 87, 30, 31, 32, 33, - 34, -1, 1, -1, 3, 4, 40, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, 25, 26, 27, 63, - 64, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, -1, 80, -1, -1, -1, - -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, - 1, -1, 3, 4, 63, 64, 7, 8, 9, 10, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 54, -1, -1, -1, -1, 1, -1, 3, 4, 63, + 64, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 80, 23, -1, 25, + 26, 27, -1, 87, 30, 31, 32, 33, 34, -1, + 1, -1, 3, 4, 40, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 80, 23, -1, 25, 26, 27, -1, 87, 30, + 21, -1, 23, -1, 25, 26, 27, 63, 64, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, - -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, - -1, -1, 63, 64, -1, -1, -1, 20, 21, -1, - 23, -1, -1, -1, 27, -1, -1, -1, -1, 80, - -1, -1, -1, -1, -1, -1, 87, 40, 41, 42, - 43, -1, -1, -1, -1, -1, 49, 50, -1, -1, - 53, 1, -1, 56, 4, 5, 6, 7, -1, -1, - 63, 64, -1, -1, -1, -1, -1, 70, 71, -1, - 20, 21, -1, 23, -1, -1, 1, 27, -1, 4, + -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, + -1, 87, -1, -1, -1, -1, -1, -1, 1, -1, + 3, 4, 63, 64, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 80, + 23, -1, 25, 26, 27, -1, 87, 30, 31, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, - 40, 41, 42, 43, -1, 20, 21, -1, 23, 49, - 50, -1, 27, 53, -1, -1, 56, -1, -1, -1, - -1, -1, -1, 63, 64, 40, 41, 42, 43, -1, - 70, 71, 72, -1, 49, 50, -1, -1, 53, -1, - -1, 56, -1, -1, -1, -1, -1, -1, 63, 64, - -1, -1, -1, -1, -1, 70, 71 + 63, 64, -1, -1, -1, 20, 21, -1, 23, -1, + -1, -1, 27, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, 87, 40, 41, 42, 43, -1, + -1, -1, -1, -1, 49, 50, -1, -1, 53, 1, + -1, 56, 4, 5, 6, 7, -1, -1, 63, 64, + -1, -1, -1, -1, -1, 70, 71, -1, 20, 21, + -1, 23, -1, -1, 1, 27, -1, 4, 5, 6, + 7, -1, -1, -1, -1, -1, -1, -1, 40, 41, + 42, 43, -1, 20, 21, -1, 23, 49, 50, -1, + 27, 53, -1, -1, 56, -1, -1, -1, -1, -1, + -1, 63, 64, 40, 41, 42, 43, -1, 70, 71, + 72, -1, 49, 50, -1, -1, 53, -1, -1, 56, + -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, + -1, -1, -1, 70, 71 }; /* TAO_YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1742,53 +1745,53 @@ static const tao_yytype_uint16 tao_yystos[] = 214, 214, 214, 206, 93, 94, 95, 81, 82, 96, 97, 98, 99, 100, 89, 471, 157, 151, 162, 8, 88, 47, 173, 296, 302, 306, 250, 102, 384, 421, - 173, 86, 86, 480, 197, 197, 227, 230, 234, 235, - 309, 86, 86, 166, 390, 388, 90, 417, 197, 86, - 389, 108, 110, 3, 89, 91, 103, 208, 209, 210, - 211, 211, 212, 212, 213, 213, 213, 147, 91, 191, - 194, 181, 176, 300, 191, 206, 216, 216, 216, 252, - 254, 255, 264, 391, 423, 439, 448, 30, 31, 60, - 65, 68, 69, 316, 317, 322, 400, 402, 403, 469, - 479, 481, 202, 310, 228, 289, 330, 181, 194, 173, - 418, 413, 462, 109, 131, 89, 136, 454, 197, 472, - 192, 1, 32, 33, 152, 182, 199, 217, 316, 327, - 332, 337, 378, 379, 44, 45, 46, 163, 177, 178, - 182, 339, 222, 297, 303, 307, 251, 253, 1, 221, - 256, 8, 194, 236, 241, 242, 243, 269, 286, 51, - 52, 61, 316, 385, 392, 400, 402, 405, 406, 407, - 469, 44, 54, 182, 422, 424, 427, 430, 181, 176, - 318, 323, 19, 194, 401, 58, 404, 194, 194, 484, - 482, 483, 401, 485, 87, 92, 104, 311, 313, 91, - 3, 291, 294, 253, 167, 194, 173, 400, 402, 464, - 466, 87, 3, 86, 455, 91, 190, 87, 186, 183, - 188, 187, 189, 34, 194, 223, 301, 305, 338, 361, - 184, 185, 340, 180, 179, 87, 85, 89, 89, 89, - 87, 254, 259, 257, 265, 194, 194, 194, 398, 87, - 393, 394, 395, 396, 397, 399, 197, 197, 87, 425, - 426, 440, 449, 31, 361, 197, 3, 3, 85, 85, - 85, 197, 85, 203, 314, 312, 229, 290, 292, 331, - 87, 414, 467, 468, 463, 465, 137, 193, 85, 85, - 85, 85, 85, 85, 333, 85, 85, 3, 256, 256, - 85, 227, 103, 197, 197, 197, 85, 85, 85, 85, - 85, 85, 85, 428, 431, 85, 85, 87, 87, 319, - 324, 205, 216, 313, 230, 87, 91, 87, 66, 85, - 85, 87, 466, 72, 111, 126, 139, 141, 142, 194, - 3, 341, 258, 266, 102, 343, 343, 361, 231, 234, - 315, 293, 415, 194, 138, 140, 85, 334, 343, 85, - 86, 344, 345, 429, 432, 320, 325, 232, 105, 294, - 194, 143, 87, 141, 102, 352, 342, 267, 103, 35, - 346, 349, 38, 363, 363, 231, 55, 366, 91, 416, - 88, 353, 354, 335, 363, 1, 28, 29, 270, 272, - 276, 278, 350, 103, 347, 364, 321, 367, 326, 233, - 59, 419, 3, 456, 458, 103, 35, 36, 37, 355, - 358, 362, 363, 275, 280, 279, 268, 271, 273, 277, - 361, 91, 102, 363, 102, 62, 369, 234, 194, 89, - 457, 103, 356, 359, 336, 85, 206, 90, 87, 272, - 221, 282, 278, 351, 348, 365, 368, 370, 144, 91, - 91, 361, 39, 372, 281, 283, 274, 230, 349, 191, - 191, 102, 197, 458, 357, 360, 373, 90, 230, 85, - 103, 103, 371, 358, 230, 102, 191, 374, 103, 75, - 375, 376, 103, 91, 377, 75 + 173, 86, 86, 30, 31, 60, 65, 68, 69, 316, + 317, 322, 400, 402, 403, 469, 480, 482, 197, 197, + 227, 230, 234, 235, 309, 86, 86, 166, 390, 388, + 90, 417, 197, 86, 389, 108, 110, 3, 89, 91, + 103, 208, 209, 210, 211, 211, 212, 212, 213, 213, + 213, 147, 91, 191, 194, 181, 176, 300, 191, 206, + 216, 216, 216, 252, 254, 255, 264, 391, 423, 439, + 448, 318, 323, 19, 194, 401, 58, 404, 194, 194, + 485, 483, 484, 401, 486, 479, 481, 202, 310, 228, + 289, 330, 181, 194, 173, 418, 413, 462, 109, 131, + 89, 136, 454, 197, 472, 192, 1, 32, 33, 152, + 182, 199, 217, 316, 327, 332, 337, 378, 379, 44, + 45, 46, 163, 177, 178, 182, 339, 222, 297, 303, + 307, 251, 253, 1, 221, 256, 8, 194, 236, 241, + 242, 243, 269, 286, 51, 52, 61, 316, 385, 392, + 400, 402, 405, 406, 407, 469, 44, 54, 182, 422, + 424, 427, 430, 181, 176, 31, 194, 223, 301, 305, + 361, 197, 3, 3, 85, 85, 85, 197, 85, 87, + 482, 92, 104, 311, 313, 91, 3, 291, 294, 253, + 167, 194, 173, 400, 402, 464, 466, 87, 3, 86, + 455, 91, 190, 87, 186, 183, 188, 187, 189, 34, + 338, 361, 184, 185, 340, 180, 179, 87, 85, 89, + 89, 89, 87, 254, 259, 257, 265, 194, 194, 194, + 398, 87, 393, 394, 395, 396, 397, 399, 197, 197, + 87, 425, 426, 440, 449, 319, 324, 203, 314, 312, + 229, 290, 292, 331, 87, 414, 467, 468, 463, 465, + 137, 193, 85, 85, 85, 85, 85, 85, 333, 85, + 85, 3, 256, 256, 85, 227, 103, 197, 197, 197, + 85, 85, 85, 85, 85, 85, 85, 428, 431, 85, + 85, 87, 87, 361, 231, 234, 205, 216, 313, 230, + 87, 91, 87, 66, 85, 85, 87, 466, 72, 111, + 126, 139, 141, 142, 194, 3, 341, 258, 266, 102, + 343, 343, 320, 325, 232, 315, 293, 415, 194, 138, + 140, 85, 334, 343, 85, 86, 344, 345, 429, 432, + 231, 55, 366, 91, 105, 294, 194, 143, 87, 141, + 102, 352, 342, 267, 103, 35, 346, 349, 38, 363, + 363, 321, 367, 326, 233, 416, 88, 353, 354, 335, + 363, 1, 28, 29, 270, 272, 276, 278, 350, 103, + 347, 364, 363, 102, 62, 369, 234, 59, 419, 3, + 456, 458, 103, 35, 36, 37, 355, 358, 362, 363, + 275, 280, 279, 268, 271, 273, 277, 361, 91, 102, + 368, 370, 194, 89, 457, 103, 356, 359, 336, 85, + 206, 90, 87, 272, 221, 282, 278, 351, 348, 365, + 191, 102, 144, 91, 91, 361, 39, 372, 281, 283, + 274, 230, 349, 191, 103, 371, 197, 458, 357, 360, + 373, 90, 230, 85, 103, 191, 358, 230, 102, 103, + 374, 75, 375, 376, 103, 91, 377, 75 }; #define tao_yyerrok (tao_yyerrstatus = 0) @@ -3075,7 +3078,7 @@ tao_yyreduce: (tao_yyvsp[(2) - (8)].idlist)->destroy (); delete (tao_yyvsp[(2) - (8)].idlist); (tao_yyvsp[(2) - (8)].idlist) = 0; - + ast_visitor_context ctx; ctx.template_params (ref->template_params ()); ast_visitor_tmpl_module_ref v (&ctx); @@ -3085,7 +3088,7 @@ tao_yyreduce: // instantiation of the enclosing template module, the // visitor copies this implied IDL to the instantiated // module scope. The extra copy is less than ideal, but - // otherwise we have ugly lookup issues when the + // otherwise we have ugly lookup issues when the // referenced template module's contents are referenced // using the aliased scoped name. if (v.visit_template_module_ref (tmr) != 0) @@ -4100,7 +4103,7 @@ tao_yyreduce: AST_PredefinedType::PT_pseudo, &n ); - + (void) s->add_predefined_type (pdt); s->add_to_scope (pdt); (tao_yyvsp[(1) - (1)].idval)->destroy (); @@ -7769,7 +7772,7 @@ tao_yyreduce: case 424: { -// component_header: IDL_COMPONENT id +// id idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } break; @@ -8690,23 +8693,37 @@ tao_yyreduce: UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((tao_yyvsp[(2) - (2)].idval), 0); + AST_Operation *o = 0; idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen); /* * Create a node representing a factory operation * and add it to the enclosing scope. */ - AST_Factory *f = idl_global->gen ()->create_factory (&n); - (void) s->fe_add_factory (f); + if (s != 0) + { + AST_Home *h = AST_Home::narrow_from_scope (s); + + o = + idl_global->gen ()->create_operation ( + h->managed_component (), + AST_Operation::OP_noflags, + &n, + false, + false + ); + + h->factories ().enqueue_tail (o); + } (tao_yyvsp[(2) - (2)].idval)->destroy (); delete (tao_yyvsp[(2) - (2)].idval); (tao_yyvsp[(2) - (2)].idval) = 0; /* - * Push the factory scope onto the scopes stack. + * Push the operation scope onto the scopes stack. */ - idl_global->scopes ().push (f); + idl_global->scopes ().push (o); } break; @@ -8723,18 +8740,24 @@ tao_yyreduce: { // opt_raises UTL_Scope *s = idl_global->scopes ().top_non_null (); + AST_Operation *o = 0; idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); /* - * Add exceptions and context to the factory. + * Add exceptions and context to the operation. */ - if ((tao_yyvsp[(6) - (6)].nlval) != 0) + if (s != 0 && s->scope_node_type () == AST_Decl::NT_op) { - (void) s->fe_add_exceptions ((tao_yyvsp[(6) - (6)].nlval)); + o = AST_Operation::narrow_from_scope (s); + + if ((tao_yyvsp[(6) - (6)].nlval) != 0 && o != 0) + { + (void) o->fe_add_exceptions ((tao_yyvsp[(6) - (6)].nlval)); + } } /* - * Done with this factory. Pop its scope from the scopes stack. + * Done with this operation. Pop its scope from the scopes stack. */ idl_global->scopes ().pop (); } @@ -8747,18 +8770,27 @@ tao_yyreduce: UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((tao_yyvsp[(2) - (2)].idval), 0); - + AST_Operation *o = 0; idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen); /* - * Create a node representing a home finder + * Create a node representing a finder operation * and add it to the enclosing scope. */ - AST_Finder *f = - idl_global->gen ()->create_finder (&n); - - (void) s->fe_add_finder (f); - + if (s != 0) + { + AST_Home *h = AST_Home::narrow_from_scope (s); + + o = + idl_global->gen ()->create_operation ( + h->managed_component (), + AST_Operation::OP_noflags, + &n, + false, + false); + + h->finders ().enqueue_tail (o); + } (tao_yyvsp[(2) - (2)].idval)->destroy (); delete (tao_yyvsp[(2) - (2)].idval); @@ -8767,7 +8799,7 @@ tao_yyreduce: /* * Push the operation scope onto the scopes stack. */ - idl_global->scopes ().push (f); + idl_global->scopes ().push (o); } break; @@ -8784,14 +8816,20 @@ tao_yyreduce: { // opt_raises UTL_Scope *s = idl_global->scopes ().top_non_null (); + AST_Operation *o = 0; idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); /* - * Add exceptions and context to the finder. + * Add exceptions and context to the operation. */ - if ((tao_yyvsp[(6) - (6)].nlval) != 0) + if (s != 0 && s->scope_node_type () == AST_Decl::NT_op) { - (void) s->fe_add_exceptions ((tao_yyvsp[(6) - (6)].nlval)); + o = AST_Operation::narrow_from_scope (s); + + if ((tao_yyvsp[(6) - (6)].nlval) != 0 && o != 0) + { + (void) o->fe_add_exceptions ((tao_yyvsp[(6) - (6)].nlval)); + } } /* @@ -9723,7 +9761,7 @@ tao_yyreduce: parent = AST_Connector::narrow_from_decl (d); - if (parent == 0) + if (parent == 0 && so_far_so_good) { idl_global->err ()->error1 ( UTL_Error::EIDL_CONNECTOR_EXPECTED, @@ -9762,7 +9800,7 @@ tao_yyreduce: case 551: { -// connector_exports +// at_least_one_connector_export idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } break; @@ -9778,7 +9816,7 @@ tao_yyreduce: } break; - case 555: + case 556: { // connector_export : provides_decl @@ -9786,7 +9824,7 @@ tao_yyreduce: } break; - case 556: + case 557: { // ';' @@ -9794,7 +9832,7 @@ tao_yyreduce: } break; - case 557: + case 558: { // | uses_decl @@ -9802,7 +9840,7 @@ tao_yyreduce: } break; - case 558: + case 559: { // ';' @@ -9810,7 +9848,7 @@ tao_yyreduce: } break; - case 559: + case 560: { // | attribute @@ -9818,7 +9856,7 @@ tao_yyreduce: } break; - case 560: + case 561: { // ';' @@ -9826,7 +9864,7 @@ tao_yyreduce: } break; - case 561: + case 562: { // | extended_port_decl @@ -9834,7 +9872,7 @@ tao_yyreduce: } break; - case 562: + case 563: { // ';' |