From 35218a474eeb88b4288df227a98f04cbf0865f8b Mon Sep 17 00:00:00 2001 From: Oliver Kellogg Date: Sun, 18 Feb 2018 02:30:07 +0100 Subject: Address https://github.com/DOCGroup/ACE_TAO/issues/571 : Shift handling of annotation applications from lexer to parser. TAO/TAO_IDL/fe/idl.ll - Remove rule matching annotation applications. TAO/TAO_IDL/fe/idl.ypp - Define %type defining_id. - Duplicate rule `id' as defining_id. In defining_id allow for annotation applications. - Substitute `id' by defining_id in following rules: template_module_ref, template_module_inst, interface_decl, value_decl, const_dcl, simple_declarator, struct_decl, union_decl, enum_type, array_declarator, exception, component_forward_decl, component_header, home_header, factory_decl, finder_decl, event_concrete_forward_decl, event_abs_forward_decl, event_abs_header, event_custom_header, event_plain_header. - Allow for annotation applications in following rules: definitions, at_least_one_definition, tpl_definitions, member_i, case_branch, case_labels, enumerator, operation, init_decl, porttype_decl, at_least_one_actual_parameter, actual_parameters, connector_header. - New rule `annotations' implements sequence of 0 or more annotation_appl. - New rules annotation_appl, annotation_appl_params, annotation_appl_param implement rules 225, 226, 227 from IDL 4.2 section 7.4.15.3. - New rule at_least_one_annotation_appl_param implements 2nd alternative on RHS of rule 226. - New rule annotation_appl_named_params is auxiliary to at_least_one_annotation_appl_param. It implements a sequence of 0 or more annotation_appl_param. TAO/TAO_IDL/fe/idl.yy.cpp - Regenerate from idl.ll using TAO/TAO_IDL/regen.sh with flex-2.6.4. TAO/TAO_IDL/fe/idl.tab.cpp - Regenerate from idl.ypp using TAO/TAO_IDL/regen.sh with bison-3.0.2. --- TAO/TAO_IDL/fe/idl.ll | 3 - TAO/TAO_IDL/fe/idl.tab.cpp | 4207 ++++++++++++++++++++++---------------------- TAO/TAO_IDL/fe/idl.ypp | 272 +-- TAO/TAO_IDL/fe/idl.yy.cpp | 1045 ++++++----- 4 files changed, 2772 insertions(+), 2755 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index 7e1fc9cac6e..817051334be 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -403,9 +403,6 @@ L"'"\\u([0-9a-fA-F]{1,4})"'" { } break; } -@ ?[A-Za-z][A-Za-z0-9_]*[ \t]*(\([^)]+\))? { - break; - } [ \t]* break; {NL} { idl_global->set_lineno (idl_global->lineno () + 1); diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index ca30d983320..ce29e2c5206 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -568,16 +568,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1339 +#define YYLAST 1285 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 107 +#define YYNTOKENS 108 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 382 +#define YYNNTS 389 /* YYNRULES -- Number of rules. */ -#define YYNRULES 567 +#define YYNRULES 578 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 817 +#define YYNSTATES 848 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -597,10 +597,10 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 101, 96, 2, 103, 104, 99, 97, 92, 98, 2, 100, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, 86, - 89, 93, 90, 2, 2, 2, 2, 2, 2, 2, + 89, 93, 90, 2, 105, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 105, 2, 106, 95, 2, 2, 2, 2, 2, + 2, 106, 2, 107, 95, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 87, 94, 88, 102, 2, 2, 2, @@ -632,63 +632,64 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 359, 359, 362, 363, 367, 370, 373, 379, 384, - 383, 394, 393, 404, 403, 414, 413, 424, 423, 434, - 433, 444, 443, 454, 453, 464, 463, 474, 473, 484, - 483, 494, 493, 504, 503, 514, 513, 528, 527, 540, - 579, 584, 539, 601, 609, 624, 634, 665, 669, 608, - 693, 697, 698, 702, 703, 708, 714, 707, 802, 808, - 801, 879, 880, 885, 924, 929, 884, 947, 946, 960, - 998, 1029, 1063, 1062, 1074, 1081, 1082, 1083, 1084, 1088, - 1099, 1104, 1148, 1153, 1103, 1182, 1226, 1231, 1180, 1250, - 1248, 1290, 1289, 1303, 1309, 1316, 1323, 1330, 1356, 1383, - 1448, 1449, 1453, 1454, 1455, 1461, 1460, 1471, 1470, 1483, - 1484, 1489, 1488, 1499, 1498, 1509, 1508, 1519, 1518, 1529, - 1528, 1539, 1538, 1549, 1548, 1559, 1558, 1572, 1585, 1583, - 1611, 1618, 1629, 1628, 1656, 1654, 1681, 1693, 1739, 1767, - 1798, 1803, 1808, 1813, 1797, 1884, 1885, 1886, 1887, 1888, - 1889, 1890, 1902, 1907, 1976, 1978, 1980, 1981, 1995, 1996, - 2010, 2011, 2024, 2025, 2035, 2048, 2049, 2059, 2072, 2073, - 2083, 2093, 2106, 2107, 2117, 2127, 2140, 2191, 2192, 2201, - 2206, 2212, 2220, 2225, 2230, 2236, 2240, 2245, 2250, 2258, - 2328, 2327, 2338, 2343, 2348, 2353, 2380, 2389, 2388, 2460, - 2461, 2465, 2473, 2474, 2502, 2503, 2504, 2505, 2506, 2507, - 2508, 2509, 2513, 2514, 2515, 2516, 2520, 2521, 2522, 2526, - 2527, 2531, 2544, 2542, 2570, 2577, 2578, 2582, 2595, 2593, - 2621, 2628, 2645, 2664, 2665, 2669, 2674, 2679, 2687, 2692, - 2697, 2705, 2710, 2715, 2723, 2731, 2736, 2744, 2752, 2760, - 2768, 2777, 2776, 2792, 2826, 2831, 2791, 2850, 2853, 2854, - 2858, 2858, 2868, 2873, 2867, 2936, 2935, 2950, 2949, 2964, - 2969, 3005, 3010, 3067, 3072, 2963, 3096, 3104, 3118, 3128, - 3136, 3137, 3245, 3248, 3249, 3254, 3259, 3253, 3295, 3294, - 3308, 3319, 3339, 3347, 3346, 3362, 3367, 3361, 3384, 3383, - 3436, 3460, 3485, 3490, 3523, 3528, 3484, 3554, 3559, 3557, - 3564, 3568, 3605, 3610, 3603, 3691, 3752, 3762, 3751, 3775, - 3785, 3790, 3783, 3837, 3863, 3873, 3878, 3871, 3914, 3939, - 3948, 3947, 3989, 4000, 4020, 4028, 4033, 4027, 4095, 4096, - 4101, 4106, 4111, 4116, 4100, 4185, 4190, 4195, 4200, 4184, - 4278, 4283, 4313, 4318, 4277, 4336, 4341, 4406, 4411, 4334, - 4448, 4454, 4461, 4468, 4469, 4481, 4487, 4529, 4480, 4551, - 4550, 4561, 4560, 4573, 4578, 4576, 4583, 4588, 4593, 4587, - 4634, 4633, 4644, 4643, 4656, 4661, 4659, 4666, 4671, 4676, - 4670, 4723, 4731, 4732, 4733, 4843, 4848, 4853, 4862, 4867, - 4861, 4879, 4887, 4892, 4886, 4904, 4912, 4917, 4911, 4929, - 4937, 4942, 4936, 4954, 4961, 4974, 4972, 4998, 5005, 5034, - 5072, 5073, 5077, 5107, 5147, 5152, 5106, 5171, 5176, 5169, - 5219, 5218, 5229, 5236, 5237, 5242, 5241, 5252, 5251, 5262, - 5261, 5272, 5271, 5282, 5281, 5292, 5291, 5302, 5301, 5313, - 5404, 5411, 5437, 5544, 5554, 5560, 5566, 5639, 5712, 5787, - 5786, 5836, 5841, 5846, 5851, 5856, 5861, 5835, 5916, 5915, - 5926, 5933, 5940, 5948, 5953, 5947, 5965, 5966, 5970, 5972, - 5971, 5982, 5981, 5996, 6020, 5994, 6048, 6076, 6046, 6102, - 6103, 6104, 6108, 6109, 6113, 6141, 6172, 6217, 6222, 6170, - 6239, 6249, 6268, 6280, 6279, 6319, 6369, 6374, 6317, 6391, - 6396, 6404, 6409, 6414, 6419, 6424, 6429, 6434, 6439, 6444, - 6449, 6458, 6493, 6492, 6514, 6521, 6547, 6565, 6576, 6596, - 6603, 6614, 6619, 6638, 6643, 6613, 6658, 6665, 6670, 6677, - 6676, 6685, 6684, 6693, 6692, 6704, 6774, 6825, 6841, 6855, - 6862, 6922, 6927, 6932, 6926, 6993, 6998, 6992, 7013, 7014, - 7019, 7018, 7029, 7028, 7039, 7038, 7049, 7048 + 0, 360, 360, 363, 364, 368, 371, 374, 380, 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, 522, 521, 536, 535, 548, + 587, 592, 547, 609, 617, 632, 642, 673, 677, 616, + 701, 705, 706, 710, 711, 716, 722, 715, 810, 816, + 809, 887, 888, 893, 932, 937, 892, 955, 954, 968, + 1006, 1037, 1071, 1070, 1082, 1089, 1090, 1091, 1092, 1096, + 1107, 1112, 1156, 1161, 1111, 1190, 1234, 1239, 1188, 1258, + 1256, 1298, 1297, 1311, 1317, 1324, 1331, 1338, 1364, 1391, + 1456, 1457, 1461, 1462, 1463, 1469, 1468, 1479, 1478, 1491, + 1492, 1497, 1496, 1507, 1506, 1517, 1516, 1527, 1526, 1537, + 1536, 1547, 1546, 1557, 1556, 1567, 1566, 1580, 1593, 1591, + 1619, 1626, 1637, 1636, 1664, 1662, 1689, 1700, 1713, 1759, + 1787, 1818, 1823, 1828, 1833, 1817, 1904, 1905, 1906, 1907, + 1908, 1909, 1910, 1922, 1927, 1996, 1998, 2000, 2001, 2015, + 2016, 2030, 2031, 2044, 2045, 2055, 2068, 2069, 2079, 2092, + 2093, 2103, 2113, 2126, 2127, 2137, 2147, 2160, 2211, 2212, + 2221, 2226, 2232, 2240, 2245, 2250, 2256, 2260, 2265, 2270, + 2278, 2352, 2353, 2357, 2358, 2362, 2363, 2367, 2371, 2372, + 2376, 2381, 2380, 2391, 2396, 2401, 2406, 2433, 2442, 2441, + 2513, 2514, 2518, 2526, 2527, 2555, 2556, 2557, 2558, 2559, + 2560, 2561, 2562, 2566, 2567, 2568, 2569, 2573, 2574, 2575, + 2579, 2580, 2584, 2597, 2595, 2623, 2630, 2631, 2635, 2648, + 2646, 2674, 2681, 2698, 2717, 2718, 2722, 2727, 2732, 2740, + 2745, 2750, 2758, 2763, 2768, 2776, 2784, 2789, 2797, 2805, + 2813, 2821, 2830, 2829, 2845, 2879, 2884, 2844, 2903, 2906, + 2907, 2911, 2911, 2922, 2927, 2920, 2990, 2989, 3004, 3003, + 3018, 3023, 3059, 3064, 3121, 3126, 3017, 3150, 3158, 3172, + 3182, 3190, 3191, 3299, 3302, 3303, 3308, 3313, 3307, 3349, + 3348, 3362, 3373, 3393, 3401, 3400, 3416, 3421, 3415, 3438, + 3437, 3490, 3514, 3539, 3544, 3577, 3582, 3538, 3608, 3613, + 3611, 3618, 3622, 3659, 3664, 3657, 3745, 3806, 3816, 3805, + 3829, 3839, 3844, 3837, 3891, 3917, 3927, 3932, 3925, 3968, + 3993, 4002, 4001, 4043, 4054, 4074, 4082, 4087, 4081, 4149, + 4150, 4155, 4160, 4165, 4170, 4154, 4239, 4244, 4249, 4254, + 4238, 4332, 4337, 4367, 4372, 4331, 4390, 4395, 4460, 4465, + 4388, 4502, 4508, 4515, 4522, 4523, 4535, 4541, 4583, 4534, + 4605, 4604, 4615, 4614, 4627, 4632, 4630, 4637, 4642, 4647, + 4641, 4688, 4687, 4698, 4697, 4710, 4715, 4713, 4720, 4725, + 4730, 4724, 4777, 4785, 4786, 4787, 4897, 4902, 4907, 4916, + 4921, 4915, 4933, 4941, 4946, 4940, 4958, 4966, 4971, 4965, + 4983, 4991, 4996, 4990, 5008, 5015, 5028, 5026, 5052, 5059, + 5088, 5126, 5127, 5131, 5161, 5201, 5206, 5160, 5225, 5230, + 5223, 5273, 5272, 5283, 5290, 5291, 5296, 5295, 5306, 5305, + 5316, 5315, 5326, 5325, 5336, 5335, 5346, 5345, 5356, 5355, + 5367, 5458, 5465, 5491, 5598, 5608, 5614, 5620, 5693, 5766, + 5841, 5840, 5890, 5895, 5900, 5905, 5910, 5915, 5889, 5970, + 5969, 5980, 5987, 5994, 6002, 6007, 6001, 6019, 6020, 6024, + 6026, 6025, 6036, 6035, 6050, 6074, 6048, 6102, 6130, 6100, + 6156, 6157, 6158, 6162, 6163, 6167, 6195, 6226, 6271, 6276, + 6224, 6293, 6303, 6322, 6334, 6333, 6373, 6423, 6428, 6371, + 6445, 6450, 6458, 6463, 6468, 6473, 6478, 6483, 6488, 6493, + 6498, 6503, 6512, 6547, 6546, 6568, 6575, 6601, 6619, 6630, + 6650, 6657, 6668, 6673, 6692, 6697, 6667, 6712, 6719, 6724, + 6731, 6730, 6739, 6738, 6747, 6746, 6758, 6828, 6879, 6895, + 6909, 6916, 6976, 6981, 6986, 6980, 7047, 7052, 7046, 7067, + 7068, 7073, 7072, 7083, 7082, 7093, 7092, 7103, 7102 }; #endif @@ -718,8 +719,8 @@ static const char *const yytname[] = "IDL_FALSETOK", "IDL_SCOPE_DELIMITOR", "IDL_LEFT_SHIFT", "IDL_RIGHT_SHIFT", "IDL_WCHAR_LITERAL", "IDL_WSTRING_LITERAL", "';'", "'{'", "'}'", "'<'", "'>'", "':'", "','", "'='", "'|'", "'^'", "'&'", - "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'('", "')'", "'['", "']'", - "$accept", "start", "definitions", "definition", + "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'('", "')'", "'@'", "'['", + "']'", "$accept", "start", "definitions", "definition", "at_least_one_definition", "fixed_definition", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", "module_header", "$@15", "module", "$@16", "$@17", "$@18", @@ -736,24 +737,27 @@ static const char *const yytname[] = "@41", "@42", "exports", "export", "$@43", "$@44", "$@45", "$@46", "$@47", "$@48", "$@49", "$@50", "at_least_one_scoped_name", "scoped_names", "$@51", "scoped_name", "$@52", "$@53", "id", - "interface_forward", "const_dcl", "$@54", "$@55", "$@56", "$@57", - "const_type", "expression", "const_expr", "or_expr", "xor_expr", + "defining_id", "interface_forward", "const_dcl", "$@54", "$@55", "$@56", + "$@57", "const_type", "expression", "const_expr", "or_expr", "xor_expr", "and_expr", "shift_expr", "add_expr", "mult_expr", "unary_expr", - "primary_expr", "literal", "positive_int_expr", "type_dcl", "$@58", - "type_declarator", "$@59", "type_spec", "simple_type_spec", - "base_type_spec", "template_type_spec", "constructed_type_spec", - "constructed_forward_type_spec", "at_least_one_declarator", - "declarators", "$@60", "declarator", "at_least_one_simple_declarator", - "simple_declarators", "$@61", "simple_declarator", "complex_declarator", - "integer_type", "signed_int", "unsigned_int", "floating_pt_type", - "fixed_type", "char_type", "octet_type", "boolean_type", "any_type", - "object_type", "struct_decl", "$@62", "struct_type", "$@63", "$@64", - "$@65", "at_least_one_member", "members", "member", "@66", "member_i", - "$@67", "$@68", "$@69", "union_decl", "$@70", "union_type", "$@71", - "$@72", "$@73", "$@74", "$@75", "$@76", "switch_type_spec", - "at_least_one_case_branch", "case_branches", "case_branch", "$@77", - "$@78", "$@79", "at_least_one_case_label", "case_labels", "case_label", - "$@80", "$@81", "$@82", "element_spec", "$@83", "struct_forward_type", + "primary_expr", "literal", "positive_int_expr", "annotations", + "annotation_appl", "annotation_appl_params", + "at_least_one_annotation_appl_param", "annotation_appl_named_params", + "annotation_appl_param", "type_dcl", "$@58", "type_declarator", "$@59", + "type_spec", "simple_type_spec", "base_type_spec", "template_type_spec", + "constructed_type_spec", "constructed_forward_type_spec", + "at_least_one_declarator", "declarators", "$@60", "declarator", + "at_least_one_simple_declarator", "simple_declarators", "$@61", + "simple_declarator", "complex_declarator", "integer_type", "signed_int", + "unsigned_int", "floating_pt_type", "fixed_type", "char_type", + "octet_type", "boolean_type", "any_type", "object_type", "struct_decl", + "$@62", "struct_type", "$@63", "$@64", "$@65", "at_least_one_member", + "members", "member", "@66", "member_i", "$@67", "$@68", "$@69", + "union_decl", "$@70", "union_type", "$@71", "$@72", "$@73", "$@74", + "$@75", "$@76", "switch_type_spec", "at_least_one_case_branch", + "case_branches", "case_branch", "$@77", "$@78", "$@79", + "at_least_one_case_label", "case_labels", "case_label", "$@80", "$@81", + "$@82", "element_spec", "$@83", "struct_forward_type", "union_forward_type", "enum_type", "$@84", "$@85", "$@86", "$@87", "at_least_one_enumerator", "enumerators", "$@88", "enumerator", "sequence_type_spec", "$@89", "$@90", "seq_head", "$@91", "$@92", @@ -814,16 +818,16 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 59, 123, 125, 60, 62, 58, 44, 61, 124, 94, 38, 43, 45, 42, - 47, 37, 126, 40, 41, 91, 93 + 47, 37, 126, 40, 41, 64, 91, 93 }; # endif -#define YYPACT_NINF -589 +#define YYPACT_NINF -597 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-589))) + (!!((Yystate) == (-597))) -#define YYTABLE_NINF -508 +#define YYTABLE_NINF -519 #define yytable_value_is_error(Yytable_value) \ 0 @@ -832,88 +836,91 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -589, 52, 1190, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, 65, 86, 146, 12, -589, 65, 65, - -589, 37, 37, -589, -589, -589, -589, 9, -589, 534, - 54, 74, -589, -589, 56, -589, -589, -589, -589, -589, - -589, 167, -589, -589, -589, -589, -589, -589, 108, -589, - 82, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, 58, - -589, -589, -589, 58, -589, -589, 69, 116, 200, 37, - 65, 312, 65, 65, 65, 65, -589, -589, -589, 64, - 65, 72, -589, 136, 65, -589, 58, 65, 138, 161, - 65, -589, 5, -589, 16, 252, 254, -589, 201, 216, - 632, 36, -589, -589, 228, 271, -589, 255, 261, 262, - 34, -589, 67, -589, -589, -589, -589, -589, -589, 263, - -589, -589, -589, -589, -589, -589, 269, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, 82, -589, -589, -589, 140, -589, - -589, 265, -589, 266, 267, 270, 272, -589, 274, 275, - 279, 282, 289, 291, 296, 301, -589, -589, -589, 304, - 305, -589, -589, -589, -589, 269, -589, -589, -589, -589, - -589, -589, -589, -589, -589, 269, -589, -589, -589, -589, - -589, -589, -589, -589, 306, -589, 307, -589, -589, 260, - -589, 65, -589, -589, -589, -589, -589, -589, -589, 200, - -589, -589, -589, -589, 268, -589, -589, -589, -589, 355, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, 51, 51, 51, 36, 269, -589, -589, 302, - 303, 313, 91, 3, 105, -589, -589, -589, 309, -589, - -589, -589, -589, -589, -589, -589, -589, -589, 354, -589, - 36, 277, 350, -589, -589, -589, -589, -589, -589, -589, - 298, -589, -589, -589, -589, -589, -589, -589, -589, -589, - 350, 315, 321, -589, -589, -589, 65, 65, 323, 324, - -589, -589, -589, 322, -589, 65, 325, 260, -589, -589, - 411, -589, 326, 329, -589, -589, -589, 311, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, -589, 331, - 37, -589, -589, -589, -589, 333, -589, 37, -589, 36, - 36, 36, -589, -589, -589, -589, -589, -589, -589, 229, - -589, 328, -589, -589, -589, -589, -589, -589, -589, -589, - 37, 350, -589, -589, -589, -589, -589, 1268, -589, 327, - -589, -589, -589, 303, 313, 91, 3, 3, 105, 105, - -589, -589, -589, 65, 36, -589, 269, 1024, 778, 36, - 225, -589, -589, -589, -589, -589, -589, 253, 80, 413, - 942, -589, -589, -589, -589, 38, 360, 37, 37, -589, - -589, -589, -589, -589, 38, -589, 339, -589, 336, 330, - 338, 428, -589, 1059, 269, -589, 37, 350, 215, 346, - 348, 434, 351, 632, -589, -589, 353, -589, -589, -589, - 358, -589, -589, -589, -589, -589, -589, 581, -589, -589, - -589, -589, -589, 359, -589, -589, -589, 364, 361, -589, - 366, 370, 371, 378, 379, -589, -589, -589, 460, 269, - -589, -589, -589, -589, -589, -589, 37, 37, 37, -589, - 384, -589, -589, -589, -589, -589, -589, -589, 65, 65, - -589, 389, -589, -589, -589, 1141, 860, 452, 489, -589, - 269, 65, -589, -589, 41, 63, 398, 400, 403, 65, - 405, -589, -589, -589, -589, -589, -589, -589, -589, -589, - 397, 406, 269, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, 407, -589, 409, 423, 424, 425, - 426, -589, 269, -589, -589, -589, -589, -589, 427, 430, - 516, 253, 253, -589, -589, -589, -589, -589, -589, -589, - -589, 439, 65, 416, 70, 70, 70, 444, -589, 445, - 448, 449, 450, 451, 453, -589, -589, -589, 455, 456, - 457, 458, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, 36, 36, 330, 65, 459, 464, 462, -589, - 477, 473, 474, 476, 475, 215, 1243, 37, -589, -589, - -589, -589, -589, -589, 541, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, 461, 461, -589, -589, -589, -589, 489, - 65, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, 37, -589, -589, -589, -589, 480, - 269, -589, 461, 481, 482, 513, -589, -589, -589, -589, - -589, 465, 428, 37, 269, 484, 399, -589, 471, -589, - -589, -589, 472, 533, 537, 537, 65, 522, 486, -589, - -589, 269, 490, -589, -589, 498, -589, 537, 168, -589, - -589, 499, -589, -589, -589, -589, -589, -589, -589, -589, - 521, 578, 500, 264, 537, -589, -589, -589, -589, -589, - -589, -589, -589, 489, -589, 493, 483, 537, 502, 546, - 65, 37, -589, -589, 519, -589, -589, -589, -589, -589, - 506, -589, -589, -589, 525, 36, 526, 524, 35, 312, - 192, -589, -589, -589, -589, -589, -589, -589, -589, 269, - -589, 530, -589, 538, 489, 574, -589, -589, -589, -589, - -589, -589, -589, -589, 65, 533, 37, 37, 515, 65, - 578, -589, -589, -589, -589, 535, 65, 539, -589, -589, - 512, 527, -589, -589, -589, 264, 65, 529, -589, -589, - -589, -589, -589, 37, -589, -589, -589, 536, 554, -589, - -589, 540, 542, -589, -589, 558, -589 + -597, 49, 56, -597, 187, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, 77, 193, 62, -597, -597, + -597, -597, 42, 42, -597, -597, 42, -597, -597, 29, + -597, 308, 17, 44, -597, -597, 2, -597, -597, -597, + -597, -597, -597, 564, -597, -597, -597, -597, -597, -597, + -597, 78, -597, 181, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, 98, -597, -597, -597, 98, -597, -597, 100, + 132, 923, 42, -597, 598, -597, -597, -597, -597, -597, + 47, -597, 104, -597, 114, -597, 115, -597, -597, 98, + -597, 145, 225, -597, -597, -597, -2, -597, 99, -597, + -597, 9, -597, 232, 235, 776, -597, -597, -597, 238, + 278, -597, 240, 247, 250, 171, -597, 236, -597, -597, + -597, -597, -597, -597, 245, -597, -597, -597, -597, -597, + -597, 258, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, 181, + -597, -597, -597, 149, -597, -597, 251, -597, 253, 262, + 263, 257, -597, 270, 273, 274, 276, 271, 277, 283, + 285, -597, -597, -597, 287, 288, -597, -597, -597, -597, + 258, -597, -597, -597, -597, -597, -597, -597, -597, -597, + 258, -597, -597, -597, -597, -597, -597, -597, -597, -597, + 290, -597, 291, -597, -597, 292, -597, 376, -597, -597, + -597, 52, 58, 342, -597, -597, 923, -597, -597, -597, + -597, 295, -597, -597, -597, -597, 378, -597, -597, 220, + 296, -597, -597, -597, -597, -597, -597, -597, -597, 377, + -597, 402, 299, 344, -597, -597, -597, -597, -597, -597, + -597, 289, -597, -597, -597, -597, -597, -597, -597, -597, + -597, 344, 310, 313, -597, -597, -597, -597, -597, 315, + 317, -597, -597, -597, 316, -597, 376, -597, -597, 318, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + 451, 451, 451, 402, 258, -597, 312, 314, 328, 165, + 167, 116, -597, -597, -597, 306, -597, -597, -597, -597, + 409, -597, 324, 336, -597, -597, -597, -597, 42, -597, + -597, -597, -597, 337, -597, 42, -597, 402, 402, 402, + -597, -597, -597, -597, -597, -597, -597, 222, -597, 325, + -597, -597, -597, -597, -597, -597, -597, -597, 42, 344, + -597, -597, -597, 343, 292, 402, -597, -597, -597, 329, + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + -597, 340, -597, -597, 345, -597, -597, 346, -597, -597, + 258, 1047, 801, 402, 650, -597, -597, -597, -597, -597, + -597, 130, 548, 890, 965, -597, -597, -597, -597, 38, + 379, 42, 42, -597, -597, -597, -597, -597, 38, -597, + 348, -597, 341, 335, 350, -597, -597, 1082, 258, -597, + 42, 344, -597, -597, -597, -597, 314, 328, 165, 167, + 167, 116, 116, -597, -597, -597, 452, 187, 368, 454, + 371, 776, -597, -597, 367, -597, -597, -597, 380, -597, + -597, -597, -597, -597, -597, 702, -597, -597, -597, -597, + -597, 381, -597, -597, -597, 384, 374, -597, 398, 399, + 400, 383, 403, -597, 260, -597, 459, 258, -597, -597, + -597, -597, -597, -597, 42, 42, 42, -597, 404, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, 405, + -597, -597, -597, 1164, 883, 466, 841, -597, 258, 376, + -597, -597, 51, 92, 412, 415, 416, 376, 417, -597, + -597, -597, -597, -597, -597, 60, -597, -597, 418, 419, + 258, -597, 202, 318, -597, 420, -597, -597, -597, -597, + 220, -597, 423, -597, 424, 425, 426, 428, 429, -597, + 258, -597, -597, -597, -597, -597, 430, 431, -597, 130, + 130, -597, -597, -597, -597, -597, -597, -597, -597, 432, + -597, 433, 96, 96, 96, 434, -597, 435, 436, 437, + 447, 448, 453, -597, -597, -597, 455, 456, 450, 457, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + 402, 402, 335, -597, -597, 458, 427, 460, -597, 474, + -597, -597, -597, -597, -597, 1213, -597, 42, -597, -597, + -597, -597, -597, -597, -597, -597, -597, 61, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, 440, 440, -597, -597, -597, -597, 841, + -597, -597, -597, -597, -597, -597, -597, -597, -597, 461, + 463, 464, 465, 202, 42, -597, -597, -597, -597, 469, + 258, 63, -597, -597, 473, 509, -597, -597, -597, -597, + -597, 445, -597, 42, -597, -597, -597, -597, -597, 258, + 477, 478, -597, -597, 440, 500, -597, 487, 559, 557, + 557, -597, 541, 505, -597, -597, 258, 510, -597, 64, + 495, -597, -597, 184, -597, -597, 496, -597, -597, -597, + -597, -597, -597, -597, -597, 543, 600, -597, 516, -597, + 557, -597, -597, -597, -597, -597, -597, -597, 841, -597, + 512, 522, 557, 523, 565, -597, 42, -597, -597, 538, + -597, 526, 189, 557, -597, 545, 402, 542, 544, 93, + -597, 73, -597, -597, -597, -597, -597, -597, -597, -597, + 258, -597, 550, -597, -597, -597, -597, 531, -597, -597, + -597, -597, -597, -597, -597, -597, 260, 97, -597, 559, + 42, 42, 533, -597, 600, -597, 554, 841, 601, 556, + -597, -597, -597, -597, -597, 547, 552, -597, -597, -597, + -597, -597, -597, -597, -597, -597, 562, -597, -597, 42, + 189, -597, 551, -597, -597, 566, -597, -597, -597, -597, + 597, -597, 569, 585, -597, -597, 603, -597 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -921,176 +928,179 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 0, 1, 35, 140, 37, 67, 190, 251, - 267, 302, 350, 0, 0, 0, 0, 91, 0, 0, - 461, 0, 0, 531, 552, 3, 5, 39, 21, 58, - 0, 0, 19, 61, 74, 63, 23, 75, 80, 76, - 81, 74, 77, 78, 62, 15, 9, 196, 253, 192, - 301, 193, 219, 220, 194, 17, 11, 13, 25, 421, - 420, 423, 27, 459, 29, 491, 493, 492, 490, 74, - 509, 510, 489, 74, 31, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 136, 231, 195, 74, - 0, 74, 85, 74, 0, 79, 74, 0, 427, 502, - 0, 132, 0, 131, 0, 0, 0, 43, 0, 0, - 0, 0, 6, 7, 0, 94, 69, 0, 0, 0, - 235, 237, 0, 241, 242, 245, 246, 247, 248, 244, - 249, 250, 316, 324, 329, 89, 203, 99, 199, 201, - 202, 200, 204, 233, 234, 205, 209, 206, 208, 207, - 210, 211, 253, 216, 0, 217, 218, 212, 0, 215, - 213, 323, 214, 328, 0, 0, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 503, 496, 505, 0, - 0, 555, 551, 36, 244, 153, 141, 145, 149, 150, - 146, 147, 148, 151, 152, 38, 68, 191, 197, 252, - 268, 303, 351, 70, 500, 71, 0, 501, 92, 432, - 462, 0, 418, 134, 419, 532, 553, 40, 22, 0, - 516, 512, 513, 518, 515, 519, 517, 514, 511, 0, - 45, 524, 179, 180, 181, 183, 186, 185, 187, 188, - 184, 182, 0, 0, 0, 0, 176, 550, 154, 155, - 156, 158, 160, 162, 165, 168, 172, 177, 0, 549, - 20, 93, 72, 64, 24, 82, 236, 243, 238, 240, - 0, 0, 96, 315, 312, 320, 325, 16, 10, 254, - 0, 18, 12, 14, 26, 424, 28, 473, 460, 30, - 96, 0, 0, 32, 34, 559, 0, 0, 0, 0, - 86, 430, 428, 470, 133, 0, 0, 432, 4, 520, - 0, 525, 0, 521, 173, 174, 175, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 59, 547, - 0, 110, 101, 239, 189, 0, 317, 0, 90, 0, - 0, 0, 260, 270, 434, 477, 504, 497, 506, 556, - 142, 231, 198, 224, 225, 226, 232, 304, 352, 110, - 0, 96, 468, 463, 135, 533, 554, 0, 41, 0, - 46, 522, 178, 157, 159, 161, 163, 164, 166, 167, - 169, 170, 171, 0, 0, 73, 130, 0, 0, 0, - 0, 95, 313, 321, 326, 255, 259, 0, 0, 425, - 0, 110, 101, 340, 345, 0, 455, 0, 0, 564, - 338, 339, 560, 562, 0, 566, 0, 558, 0, 0, - 221, 0, 259, 0, 431, 429, 0, 96, 0, 3, - 0, 0, 0, 0, 60, 548, 127, 125, 360, 361, - 0, 109, 117, 111, 121, 119, 123, 0, 113, 115, - 365, 107, 105, 0, 100, 102, 103, 0, 0, 318, - 0, 0, 0, 0, 260, 265, 262, 261, 235, 281, - 276, 277, 278, 279, 271, 280, 0, 0, 0, 445, - 0, 433, 435, 437, 439, 441, 443, 447, 0, 0, - 478, 0, 476, 479, 481, 0, 0, 0, 0, 451, - 450, 0, 454, 453, 0, 0, 0, 0, 0, 0, - 0, 557, 143, 335, 331, 334, 222, 311, 305, 310, - 260, 0, 469, 464, 543, 539, 541, 534, 538, 42, - 526, 47, 523, 128, 0, 66, 0, 0, 0, 0, - 0, 364, 394, 391, 392, 393, 355, 363, 0, 0, - 0, 0, 0, 84, 104, 319, 314, 322, 327, 256, - 258, 0, 0, 0, 0, 0, 0, 0, 426, 0, - 0, 0, 0, 0, 0, 483, 486, 475, 0, 0, - 0, 0, 341, 346, 449, 545, 546, 565, 561, 563, - 452, 567, 0, 0, 332, 0, 0, 307, 0, 88, - 0, 0, 0, 0, 0, 536, 0, 0, 126, 118, - 112, 122, 120, 124, 0, 114, 116, 366, 108, 106, - 266, 263, 272, 458, 456, 457, 446, 436, 438, 440, - 442, 444, 448, 0, 0, 480, 482, 499, 508, 0, - 0, 144, 336, 333, 223, 306, 308, 354, 465, 544, - 540, 542, 535, 537, 0, 53, 39, 48, 52, 0, - 129, 356, 0, 0, 0, 369, 484, 487, 342, 347, - 230, 0, 0, 0, 55, 0, 0, 54, 0, 367, - 264, 273, 0, 0, 401, 401, 0, 405, 227, 337, - 309, 466, 0, 49, 51, 382, 357, 401, 0, 370, - 377, 0, 376, 398, 485, 488, 343, 402, 348, 228, - 472, 0, 0, 0, 401, 368, 288, 295, 293, 274, - 284, 285, 292, 0, 372, 373, 0, 401, 0, 409, - 0, 0, 467, 530, 0, 529, 381, 395, 396, 397, - 0, 387, 388, 358, 0, 0, 0, 0, 0, 0, - 290, 378, 374, 399, 344, 403, 406, 349, 229, 471, - 56, 527, 383, 384, 0, 413, 289, 296, 294, 275, - 283, 298, 286, 291, 0, 0, 0, 0, 0, 0, - 0, 385, 389, 410, 359, 0, 0, 0, 379, 375, - 0, 0, 407, 57, 528, 0, 0, 0, 297, 299, - 287, 400, 404, 0, 386, 390, 411, 0, 0, 408, - 417, 0, 414, 412, 415, 0, 416 + 4, 0, 192, 1, 0, 35, 141, 37, 67, 201, + 262, 278, 313, 361, 192, 0, 0, 0, 91, 192, + 192, 472, 0, 0, 542, 563, 0, 3, 5, 39, + 21, 58, 0, 0, 19, 61, 74, 63, 23, 75, + 80, 76, 81, 74, 77, 78, 62, 15, 191, 9, + 207, 264, 203, 312, 204, 230, 231, 205, 17, 11, + 13, 25, 432, 431, 434, 27, 470, 29, 502, 504, + 503, 501, 74, 520, 521, 500, 74, 31, 33, 0, + 0, 0, 0, 192, 0, 192, 192, 192, 192, 242, + 0, 206, 74, 192, 74, 85, 74, 192, 79, 74, + 192, 438, 513, 192, 136, 132, 0, 131, 0, 192, + 192, 194, 43, 0, 0, 0, 192, 6, 7, 0, + 94, 69, 0, 0, 0, 246, 248, 0, 252, 253, + 256, 257, 258, 259, 255, 260, 261, 327, 335, 340, + 89, 214, 99, 210, 212, 213, 211, 215, 244, 245, + 216, 220, 217, 219, 218, 221, 222, 264, 227, 0, + 228, 229, 223, 0, 226, 224, 334, 225, 339, 0, + 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, + 0, 514, 507, 516, 0, 0, 566, 562, 36, 255, + 154, 142, 146, 150, 151, 147, 148, 149, 152, 153, + 38, 68, 202, 208, 263, 279, 314, 362, 137, 70, + 511, 71, 0, 512, 92, 443, 473, 0, 429, 134, + 430, 0, 0, 0, 40, 22, 0, 527, 523, 524, + 529, 526, 530, 528, 525, 522, 0, 45, 535, 0, + 0, 20, 93, 72, 64, 24, 82, 247, 254, 249, + 251, 0, 0, 96, 326, 323, 331, 336, 16, 10, + 265, 0, 18, 12, 14, 26, 435, 28, 484, 471, + 30, 96, 0, 0, 32, 34, 570, 192, 192, 0, + 0, 86, 441, 439, 481, 133, 0, 543, 564, 136, + 180, 181, 182, 184, 187, 186, 188, 189, 185, 183, + 0, 0, 0, 0, 177, 195, 156, 157, 159, 161, + 163, 166, 169, 173, 178, 0, 196, 199, 4, 531, + 0, 536, 0, 532, 561, 155, 560, 59, 0, 110, + 101, 250, 190, 0, 328, 0, 90, 0, 0, 0, + 271, 281, 445, 488, 515, 508, 517, 567, 143, 242, + 209, 235, 236, 237, 243, 315, 363, 110, 0, 96, + 479, 474, 135, 0, 443, 0, 174, 175, 176, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 197, 192, 41, 0, 46, 533, 558, 192, 73, + 130, 0, 0, 0, 0, 95, 324, 332, 337, 266, + 270, 0, 0, 436, 0, 110, 101, 351, 356, 0, + 466, 0, 0, 575, 349, 350, 571, 573, 0, 577, + 0, 569, 0, 0, 232, 192, 270, 0, 442, 440, + 0, 96, 544, 565, 200, 179, 158, 160, 162, 164, + 165, 167, 168, 170, 171, 172, 0, 0, 0, 0, + 0, 0, 192, 60, 127, 125, 371, 372, 0, 109, + 117, 111, 121, 119, 123, 0, 113, 115, 376, 107, + 105, 0, 100, 102, 103, 0, 0, 329, 0, 0, + 0, 0, 271, 276, 0, 272, 246, 292, 287, 288, + 289, 290, 282, 291, 0, 0, 0, 456, 0, 444, + 446, 448, 450, 452, 454, 458, 192, 192, 489, 0, + 487, 490, 492, 0, 0, 0, 0, 462, 461, 0, + 465, 464, 0, 0, 0, 0, 0, 0, 0, 568, + 144, 346, 342, 345, 233, 0, 316, 321, 271, 0, + 480, 475, 0, 0, 198, 3, 42, 537, 47, 534, + 0, 128, 0, 66, 0, 0, 0, 0, 0, 375, + 405, 402, 403, 404, 366, 374, 0, 0, 192, 0, + 0, 84, 104, 330, 325, 333, 338, 267, 269, 0, + 273, 0, 0, 0, 0, 0, 437, 0, 0, 0, + 0, 0, 0, 494, 497, 486, 0, 0, 0, 0, + 352, 357, 460, 556, 557, 576, 572, 574, 463, 578, + 0, 0, 343, 192, 322, 0, 318, 0, 88, 0, + 554, 550, 552, 545, 549, 0, 559, 0, 126, 118, + 112, 122, 120, 124, 192, 114, 116, 0, 108, 106, + 277, 192, 283, 469, 467, 468, 457, 447, 449, 451, + 453, 455, 459, 0, 0, 491, 493, 510, 519, 0, + 192, 145, 347, 344, 234, 317, 319, 365, 476, 0, + 0, 0, 0, 547, 0, 53, 39, 48, 52, 0, + 129, 0, 377, 274, 0, 380, 495, 498, 353, 358, + 241, 0, 192, 0, 555, 551, 553, 546, 548, 55, + 0, 192, 54, 367, 0, 0, 284, 0, 0, 412, + 412, 192, 416, 238, 348, 320, 477, 0, 49, 0, + 0, 378, 275, 0, 381, 388, 0, 387, 409, 496, + 499, 354, 413, 359, 239, 483, 0, 51, 393, 368, + 412, 299, 306, 304, 285, 295, 296, 303, 0, 383, + 384, 0, 412, 0, 420, 192, 0, 478, 541, 0, + 540, 0, 0, 412, 379, 0, 0, 0, 0, 0, + 192, 301, 389, 385, 410, 355, 414, 417, 360, 240, + 482, 56, 538, 392, 406, 407, 408, 0, 398, 399, + 369, 300, 307, 305, 286, 294, 0, 0, 192, 0, + 0, 0, 0, 192, 0, 394, 395, 0, 424, 0, + 309, 297, 302, 390, 386, 0, 0, 418, 57, 539, + 396, 400, 421, 370, 308, 192, 0, 411, 415, 0, + 0, 192, 0, 310, 298, 0, 397, 401, 422, 419, + 0, 428, 0, 425, 423, 426, 0, 427 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -589, -589, 334, 278, -589, -569, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -528, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -39, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, 276, -589, -589, - 68, -589, -589, -589, 623, -589, -589, -589, -589, -589, - -589, -589, 626, -589, 280, -589, -589, -255, -589, -589, - 244, -589, -589, -589, -589, -316, -350, -589, -589, -589, - -589, -589, -589, -589, -589, -323, -589, -589, -19, -589, - -589, -13, -589, 8, -589, -589, -589, -589, 429, 55, - -102, -589, 332, 341, 343, -9, -7, -22, 66, -589, - -307, 13, -589, -589, -589, -33, 281, -416, -589, -589, - -589, 89, -589, -589, -567, -21, -589, -589, -12, -589, - -55, -589, -589, -57, -48, -54, -53, -52, -589, -589, - -30, -589, -28, -589, -589, -589, -589, 236, 319, -589, - -212, -589, -589, -589, -25, -589, -23, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -84, -589, -589, -589, - -589, -589, -83, -589, -589, -589, -589, -589, -589, -589, - -34, -589, -589, -589, -589, -589, -589, -589, -6, -589, - -589, -589, -589, -589, -589, -589, -74, -589, -589, -589, - -66, -589, -589, -589, -589, -589, -589, -589, 75, -589, - -589, -320, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, 15, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -588, -589, - -589, -589, -589, -589, -107, -589, -589, -589, -589, -589, - -589, -589, -589, -125, -589, -589, -471, -589, -496, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, 17, 18, -589, -589, -589, -589, -589, - -589, -589, -589, -589, 365, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -300, 273, -294, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, 602, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - 243, -589, -589, -103, -589, -589, -589, -589, -589, -589, - -589, 73, -589, -589, -589, 283, -589, -589, 295, -589, - -589, -589, -589, -589, -589, -589, -589, -589, -589, -589, - -589, -589 + -597, -597, 362, 237, -597, -582, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -558, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -34, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, 244, -597, -597, + 162, -597, -597, -597, 666, -597, -597, -597, -597, -597, + -597, -597, 670, -597, 272, -597, -597, -235, -597, -597, + 281, -597, -597, -597, -597, -276, -352, -597, -597, -597, + -597, -597, -597, -597, -597, -316, -597, -597, -22, -597, + -597, -189, -11, -597, 13, -597, -597, -597, -597, 462, + 79, -207, -597, 320, 322, 319, -65, -73, -24, 66, + -597, -304, 0, -597, -597, -597, -597, 248, 14, -597, + -597, -597, -71, 301, -438, -597, -597, -597, 55, -597, + -597, -576, -14, -597, -597, -3, -597, -56, -597, -597, + -43, -42, -55, -51, -50, -597, -597, -37, -597, -36, + -597, -597, -597, -597, 280, 358, -597, -254, -597, -597, + -597, -33, -597, -31, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -70, -597, -597, -597, -597, -597, -95, + -597, -597, -597, -597, -597, -597, -597, -38, -597, -597, + -597, -597, -597, -597, -597, 11, -597, -597, -597, -597, + -597, -597, -597, -67, -597, -597, -597, -66, -597, -597, + -597, -597, -597, -597, -597, 95, -597, -597, -323, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, 16, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -596, -597, -597, -597, -597, + -597, -90, -597, -597, -597, -597, -597, -597, -597, -597, + -126, -597, -597, -487, -597, -543, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + 18, 19, -597, -597, -597, -597, -597, -597, -597, -597, + -597, 359, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -305, 304, -303, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, 648, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, 279, -597, -597, + -75, -597, -597, -597, -597, -597, -597, -597, 69, -597, + -597, -597, 347, -597, -597, 195, -597, -597, -597, -597, + -597, -597, -597, -597, -597, -597, -597, -597, -597 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 25, 368, 26, 165, 169, 170, 164, - 168, 114, 109, 118, 171, 173, 175, 179, 180, 77, - 27, 79, 28, 108, 308, 430, 29, 30, 110, 312, - 432, 606, 675, 657, 676, 658, 659, 692, 779, 31, - 111, 383, 32, 33, 117, 331, 440, 34, 80, 35, - 135, 330, 36, 37, 38, 119, 332, 453, 39, 206, - 359, 521, 40, 272, 41, 97, 262, 338, 42, 43, - 388, 454, 455, 552, 551, 387, 441, 537, 548, 549, - 536, 539, 538, 540, 534, 385, 436, 607, 246, 211, - 305, 103, 44, 442, 78, 296, 418, 592, 186, 247, - 334, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 335, 443, 81, 197, 297, 466, 138, 139, 140, 141, - 47, 352, 420, 595, 353, 669, 688, 730, 354, 355, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 48, 82, 49, 166, 342, 463, 395, 464, 560, 397, - 467, 562, 663, 561, 50, 83, 51, 280, 398, 563, - 664, 698, 747, 474, 719, 748, 720, 749, 787, 744, - 721, 750, 722, 746, 745, 785, 772, 786, 52, 53, - 54, 84, 298, 421, 596, 518, 597, 672, 519, 157, - 339, 460, 158, 271, 390, 159, 160, 340, 461, 161, - 162, 341, 462, 163, 356, 419, 514, 594, 515, 593, - 671, 444, 410, 497, 639, 686, 727, 411, 498, 640, - 687, 729, 445, 85, 299, 422, 598, 446, 614, 678, - 714, 765, 447, 546, 457, 550, 662, 697, 666, 682, - 683, 701, 725, 775, 702, 723, 774, 696, 712, 713, - 740, 763, 795, 741, 764, 796, 547, 742, 704, 726, - 776, 708, 728, 777, 757, 778, 803, 784, 797, 808, - 811, 812, 815, 448, 449, 58, 59, 60, 172, 344, - 480, 61, 209, 361, 302, 360, 399, 481, 569, 570, - 571, 572, 573, 567, 574, 525, 501, 526, 414, 503, - 484, 485, 486, 62, 174, 63, 100, 303, 427, 600, - 673, 710, 363, 426, 732, 288, 345, 491, 400, 492, - 578, 579, 493, 633, 684, 494, 634, 685, 64, 65, - 66, 67, 68, 291, 401, 580, 69, 70, 71, 177, - 290, 72, 292, 402, 581, 73, 229, 230, 313, 433, - 231, 734, 761, 735, 74, 105, 306, 428, 604, 527, - 605, 528, 602, 603, 601, 415, 258, 329, 259, 75, - 76, 106, 307, 182, 295, 416, 349, 417, 507, 508, - 506, 510 + -1, 1, 2, 27, 383, 28, 170, 174, 175, 169, + 173, 119, 114, 123, 176, 178, 180, 184, 185, 80, + 29, 82, 30, 113, 318, 448, 31, 32, 115, 322, + 450, 625, 700, 677, 701, 678, 679, 717, 803, 33, + 116, 388, 34, 35, 122, 329, 458, 36, 83, 37, + 140, 328, 38, 39, 40, 124, 330, 471, 41, 212, + 357, 539, 42, 253, 43, 100, 243, 336, 44, 45, + 392, 472, 473, 570, 569, 391, 459, 555, 566, 567, + 554, 557, 556, 558, 552, 389, 454, 627, 304, 217, + 286, 107, 349, 46, 460, 81, 277, 422, 610, 191, + 324, 332, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 333, 90, 48, 315, 316, 381, 317, 461, 84, + 202, 278, 142, 143, 144, 145, 146, 50, 350, 424, + 613, 351, 689, 713, 755, 352, 353, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 51, 85, 52, + 171, 340, 481, 399, 482, 578, 401, 485, 641, 705, + 579, 53, 86, 54, 261, 402, 581, 684, 723, 768, + 492, 744, 769, 745, 770, 826, 765, 746, 771, 747, + 767, 766, 809, 811, 825, 55, 56, 57, 87, 279, + 425, 615, 536, 616, 692, 537, 162, 337, 478, 163, + 252, 394, 164, 165, 338, 479, 166, 167, 339, 480, + 168, 354, 423, 532, 612, 533, 611, 691, 462, 414, + 515, 659, 711, 752, 415, 516, 660, 712, 754, 463, + 88, 280, 426, 617, 464, 634, 720, 763, 808, 465, + 564, 475, 568, 704, 740, 686, 707, 708, 726, 750, + 799, 727, 748, 798, 739, 761, 762, 787, 806, 830, + 788, 807, 831, 565, 789, 729, 751, 800, 733, 753, + 801, 778, 802, 829, 823, 832, 840, 842, 843, 846, + 466, 467, 61, 62, 63, 177, 342, 498, 64, 215, + 359, 283, 358, 403, 499, 587, 588, 589, 590, 591, + 585, 592, 621, 519, 622, 418, 521, 502, 503, 504, + 65, 179, 66, 103, 284, 431, 619, 693, 735, 361, + 430, 757, 269, 343, 509, 404, 510, 596, 597, 511, + 653, 709, 512, 654, 710, 67, 68, 69, 70, 71, + 272, 405, 598, 72, 73, 74, 182, 271, 75, 273, + 406, 599, 76, 236, 237, 323, 451, 238, 759, 782, + 760, 77, 109, 363, 542, 672, 623, 673, 624, 670, + 671, 669, 419, 240, 387, 326, 78, 79, 110, 364, + 187, 276, 420, 347, 421, 525, 526, 524, 528 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1098,439 +1108,433 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 87, 88, 102, 104, 193, 98, 99, 156, 137, 248, - 45, 152, 194, 153, 391, 46, 154, 55, 155, 56, - 57, 188, 136, 187, 190, 191, 192, 583, 644, 409, - 189, 543, 392, 393, 394, 346, 716, 655, 456, 86, - 86, 86, 266, 423, 585, 267, 667, 156, 198, 412, - 490, 152, 3, 153, 86, 413, 154, 499, 155, 185, - 195, 17, 136, 717, 718, 94, 586, 196, 86, 199, - 200, 201, 202, 86, 679, 268, 269, 204, 656, 479, - 212, 207, 543, 86, 208, 495, 213, 210, 468, 121, - 122, 214, 7, 125, 126, 127, 128, 213, 107, 482, - 323, 324, 116, 11, 167, 483, 425, 655, 524, 232, - 233, 234, 235, 236, 237, 238, 239, 101, 101, 101, - 240, 241, 213, -282, 232, 233, 234, 235, 236, 237, - 238, 239, 101, 242, 243, 240, 241, 176, 244, 245, - 112, 176, -137, 317, 213, 193, 456, 115, 656, 115, - -138, 213, 7, 194, 245, 115, 181, 203, -139, 205, - 113, 101, 188, 115, 187, 190, 191, 192, 668, 716, - 86, 189, 523, 321, 322, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 9, 10, 705, - 11, 132, 133, 134, -300, 17, 717, 718, 304, 90, - 185, 715, 183, 86, 325, 326, 327, 788, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 184, 743, 799, - 717, 718, -97, 543, -422, 133, 134, 115, 86, 805, - 273, 754, 274, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 403, 404, -494, 101, 132, - 133, 134, 751, -98, 465, 215, 86, 216, 115, 403, - 404, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 9, 10, 405, 11, 132, 133, 134, - 406, 101, 248, 350, 351, 524, 642, 458, 217, 405, - 89, 91, 364, 782, 406, 93, 96, 407, 408, 737, - 738, 739, 218, 380, 381, 382, 101, 543, 314, 315, - 316, 386, 376, 377, 260, 86, 378, 379, 386, 261, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 9, 10, 101, 11, 132, 133, 134, 618, - 619, 424, 263, 470, 471, 472, 473, 264, 543, 265, - 213, 301, 270, 277, 275, 276, 278, 310, 311, 279, - 281, 282, 333, 156, 475, 283, 336, 152, 284, 153, - 434, 136, 154, 544, 155, 45, 285, 286, 136, 469, - 46, 545, 55, 287, 56, 57, 500, 289, 504, 505, - 293, 294, -495, 101, 300, 500, 318, 337, 319, 328, - 4, 343, 347, 5, 6, 7, 8, 522, 348, 320, - 357, 358, 365, 362, 369, 372, 370, 431, 502, 9, - 10, 371, 11, 384, 544, 389, 12, 511, 542, 512, - 516, 517, 545, -330, -8, 513, 529, 530, 531, 13, - 14, 15, 16, 403, 404, 533, 535, 553, 17, 18, - 554, 555, 19, 790, 791, 20, 556, 564, 565, 566, - 557, 558, 21, 22, 476, 477, 559, -257, 266, 23, - 24, 654, 568, 405, 478, 575, 576, 577, 406, 542, - 807, 407, 408, 582, 587, -353, 588, -50, 584, 589, - 248, 591, 86, 608, 599, 609, 590, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 184, 130, 131, 610, - 611, 612, 613, 615, 133, 134, 616, 156, 156, 617, - 622, 152, 152, 153, 153, 620, 154, 154, 155, 155, - 626, 627, 136, 136, 628, 629, 630, 631, -44, 632, - -44, 635, 636, 648, 661, 637, 638, 645, -371, 351, - 647, 623, 624, 625, -44, -44, 646, -44, -44, 649, - 650, -44, 651, 652, 665, 544, 677, 680, 700, 681, - 101, 689, 693, 545, 695, 703, 699, 707, 709, 711, - 731, 733, 351, -44, 86, 752, 753, -44, 660, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 184, 130, - 131, -44, -380, 724, 736, 755, 133, 134, 756, 760, - 762, 766, 769, 783, 45, 541, 801, 768, 792, 46, - 542, 55, 780, 56, 57, 800, 798, 87, 670, 810, - 781, 802, 806, 816, 814, 674, 219, 694, 220, 95, - 809, 92, 367, 767, 813, 429, 496, 641, 309, 544, - 373, 621, 221, 222, 691, 223, 224, 545, 520, 225, - 374, 396, 101, 375, 770, 706, 690, 773, 789, 643, - 804, 459, 366, 87, 670, 178, 532, 794, 653, 435, - 0, 226, 487, 0, 45, 227, 0, 509, 0, 46, - 544, 55, 0, 56, 57, 0, 0, 0, 545, 228, - 0, 0, 0, 0, 542, 0, 0, 0, 0, 0, - 0, 0, 759, 0, 0, 156, 771, 87, 758, 152, - 0, 153, 0, 0, 154, 0, 155, 0, 0, 0, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 386, 386, 0, - 0, 351, 0, 0, 0, 0, 793, 0, 0, 0, - 0, 0, 0, 351, 0, 0, 0, 0, 0, 437, - 0, -362, 5, 351, 386, 8, -362, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, 9, 10, - 0, 11, 0, -362, -362, 12, 0, 0, 403, 404, - 438, 439, -362, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 450, 451, 452, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, - 0, 437, 0, -362, 5, 0, -83, 8, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - 9, 10, 0, 11, 0, -362, -362, 12, 0, 0, - 403, 404, 438, 439, -362, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 450, 451, 452, 0, 0, 0, + 106, 108, 4, 89, 111, 161, 157, 158, 101, 102, + 159, 91, 160, 203, 198, 199, 305, 47, 49, 395, + 58, 141, 59, 60, 413, 192, 195, 561, 285, 601, + 196, 197, 325, 396, 397, 398, 344, 664, 193, 194, + 474, 104, 416, 675, 417, 104, 161, 157, 158, 3, + 208, 159, 508, 160, 603, 287, -2, 517, 687, 190, + 200, 288, 141, 614, 682, 5, 703, 676, 6, 7, + 8, 9, 201, 218, 204, 205, 206, 207, 561, 219, + 497, 427, 210, 8, 10, 11, 213, 12, -138, 214, + 219, 13, 216, 120, 741, 604, 369, 362, 500, 104, + 501, -192, -192, 117, 14, 15, 16, 17, 721, 221, + 222, 18, 223, 18, 19, 97, 239, 20, 112, 105, + 21, 742, 743, 105, 429, 742, 743, 22, 23, 513, + 118, 483, 219, -192, 24, 25, 674, 675, -192, -192, + -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, + -192, -192, 26, -192, -192, -192, -192, 26, 434, 198, + 199, 676, 474, 26, -311, 26, 26, 730, 26, 26, + 192, 195, 688, 219, 220, 196, 197, 219, -192, 247, + 219, -293, 248, 193, 194, 741, 476, 186, 5, 120, + -139, 6, 7, 8, 9, 120, 541, 764, 121, 8, + -140, -97, 26, 172, 190, 120, 120, 10, 11, 775, + 12, -192, 742, 743, 13, 377, 378, 379, 188, 620, + 790, 561, 813, 104, 784, 785, 786, 14, 15, 16, + 17, -433, 407, 408, 181, -192, 18, 19, 181, 254, + 20, 255, 18, 21, 249, 250, 93, 373, 374, 833, + 22, 23, 407, 408, 209, 837, 211, 24, 25, 92, + 94, 772, 409, 104, 375, 376, 348, 410, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 10, 11, 409, 12, 137, 138, 139, 410, 96, 99, + 411, 412, 26, 290, 291, 292, 293, 294, 295, 296, + 297, 105, 441, 442, 298, 299, 390, 662, 439, 440, + 561, -505, -44, 390, -44, 638, 639, 300, 301, 224, + 821, 225, 302, 303, 241, 26, 242, 244, -44, -44, + 602, -44, -44, 245, 251, -44, 428, 246, 608, 219, + 256, 105, 257, 325, 260, 289, 488, 489, 258, 259, + 620, 490, 491, 443, 444, 445, 262, -44, 266, 263, + 264, -44, 265, 267, 493, 26, 366, 367, 368, 561, + 268, 270, 141, 274, 275, -44, -506, 453, 281, 104, + 487, 321, 447, 282, 320, 331, 327, 518, 334, 522, + 523, 335, 341, 643, 644, 645, 518, 345, 562, 563, + 346, 484, 355, 325, 356, 104, 370, 360, 540, 371, + 380, 365, 384, 580, 385, 290, 291, 292, 293, 294, + 295, 296, 297, 105, 372, 535, 298, 299, 386, 393, + 432, -341, 446, 435, 530, 449, 529, 520, 452, 300, + 301, 531, 534, 560, 302, 303, 161, 157, 158, 562, + 563, 159, 550, 160, 104, 543, 546, 547, 548, 551, + 47, 49, 141, 58, 573, 59, 60, 247, 553, 571, + 572, 577, 582, 583, 584, 290, 291, 292, 293, 294, + 295, 296, 297, 105, 815, 816, 298, 299, 574, 575, + 576, -268, 586, 595, 560, 593, 594, 600, 605, 300, + 301, 606, 607, 609, 302, 303, -364, 618, -8, 628, + 629, 630, 631, 835, 632, 633, 635, 636, 640, 666, + 646, 647, 648, 649, 290, 291, 292, 293, 294, 295, + 296, 297, 105, 650, 651, 298, 299, 642, 657, 652, + 668, 655, 656, 685, -382, 658, 665, 694, 667, 695, + 696, 104, 714, 697, 303, 702, 486, 126, 127, 792, + 706, 130, 131, 132, 133, 718, -50, 104, 637, 484, + 484, 12, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 10, 11, 722, 12, 137, 138, + 139, 724, 562, 563, 725, 728, 732, 734, 738, 736, + 749, 104, 756, 758, 773, 680, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 10, 11, + -391, 12, 137, 138, 139, 774, 776, 777, 781, 105, + 783, 791, 794, 793, 681, 805, 817, 560, 47, 49, + 822, 58, 804, 59, 60, 105, 820, 824, 834, 89, + -98, 827, 699, 104, 838, 120, 828, 690, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 839, 716, 841, 844, 137, 138, 139, 845, 847, 105, + 382, 562, 563, 98, 545, 737, 95, 514, 319, 661, + 436, 438, 535, 437, 544, 477, 683, 731, 400, 795, + 89, 719, 812, 715, 836, 104, 538, 663, 690, 814, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 189, + 135, 136, 527, 433, 183, 810, 560, 138, 139, 819, + 549, 105, 47, 49, 780, 58, 559, 59, 60, 0, + 562, 563, 698, 0, 89, 626, 0, 0, 0, 0, + 505, 0, 779, 0, 0, 0, 0, 0, 161, 157, + 158, 0, 0, 159, 0, 160, 0, 0, 0, 0, + 796, 797, 0, 0, 141, 0, 0, 0, 390, 390, + 226, 0, 227, 105, 0, 560, 0, 0, 0, 0, + 0, 0, 818, 0, 0, 0, 228, 229, 0, 230, + 231, 0, 455, 232, -373, 6, 0, 390, 9, -373, + -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, + -373, 10, 11, 0, 12, 233, -373, -373, 13, 234, + 0, 407, 408, 456, 457, -373, 0, 0, 0, 0, + 0, 14, 0, 235, 104, 468, 469, 470, 0, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 189, 135, + 136, 0, 0, 0, 22, 23, 138, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 21, 22, 0, 0, 0, 0, 0, + 0, 0, -373, 0, 455, 0, -373, 6, 0, -83, + 9, -373, -373, -373, -373, -373, -373, -373, -373, -373, + -373, -373, -373, 10, 11, 0, 12, 0, -373, -373, + 13, 0, 0, 407, 408, 456, 457, -373, 0, 0, + 407, 408, 105, 14, 0, 0, 104, 468, 469, 470, + 0, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 189, 494, 495, 0, 0, 0, 22, 23, 138, 139, + 409, 496, 0, 0, 0, 410, 0, 0, 411, 412, + 0, 0, 0, 0, -373, 0, 455, 0, -373, 6, + 0, -518, 9, -373, -373, -373, -373, -373, -373, -373, + -373, -373, -373, -373, -373, 10, 11, 0, 12, 0, + -373, -373, 13, 0, 0, 407, 408, 456, 457, -373, + 0, 0, 0, 0, 105, 14, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -362, 0, 437, 0, -362, 5, 0, -507, 8, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, 9, 10, 0, 11, 0, -362, -362, 12, - 0, 0, 403, 404, 438, 439, -362, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 488, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, - 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -373, 0, 455, 0, + -373, 6, 0, -485, 9, -373, -373, -373, -373, -373, + -373, -373, -373, -373, -373, -373, -373, 10, 11, 0, + 12, 0, -373, -373, 13, 0, 0, 407, 408, 456, + 457, -373, 0, 455, 0, -373, 6, 14, 0, 9, + -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, + -373, -373, 10, 11, 0, 12, 0, -373, -373, 13, + 22, 23, 407, 408, 456, 457, -373, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, -373, 0, + 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -362, 0, 437, 0, -362, 5, 0, - -474, 8, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, -362, -362, 9, 10, 0, 11, 0, -362, - -362, 12, 0, 0, 403, 404, 438, 439, -362, 0, - 437, 0, -362, 5, 13, 0, 8, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, 9, - 10, 0, 11, 0, -362, -362, 12, 21, 22, 403, - 404, 438, 439, -362, 0, 0, 0, 0, 0, 13, - 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, - 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -362, 0, 437, 0, -362, 5, 0, -87, 8, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, 9, 10, 0, 11, 0, -362, -362, 12, 0, - 0, 403, 404, 438, 439, -362, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, - -2, 4, 0, 0, 5, 6, 7, 8, 0, 0, - 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, - 9, 10, 0, 11, 0, 0, 0, 12, 0, 0, - 0, 0, -362, 0, 0, 0, 0, 0, 0, -498, - 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, 654, 0, 17, 18, 0, - 0, 19, 0, 0, 20, 0, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 23, 24 + 0, 0, 0, -373, 0, 455, 0, -373, 6, 0, + -87, 9, -373, -373, -373, -373, -373, -373, -373, -373, + -373, -373, -373, -373, 10, 11, 0, 12, 0, -373, + -373, 13, 0, 0, 407, 408, 456, 457, -373, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 6, 7, 8, + 9, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, + 13, 0, 0, 0, 0, -373, 0, 0, 0, 0, + 0, 0, -509, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, 24, 25, 674 }; static const yytype_int16 yycheck[] = { - 13, 13, 21, 22, 78, 18, 19, 41, 41, 111, - 2, 41, 78, 41, 337, 2, 41, 2, 41, 2, - 2, 78, 41, 78, 78, 78, 78, 498, 595, 349, - 78, 447, 339, 340, 341, 290, 1, 606, 388, 3, - 3, 3, 8, 359, 3, 11, 634, 81, 81, 349, - 400, 81, 0, 81, 3, 349, 81, 19, 81, 78, - 79, 49, 81, 28, 29, 53, 3, 80, 3, 82, - 83, 84, 85, 3, 662, 8, 9, 90, 606, 399, - 75, 94, 498, 3, 97, 401, 81, 100, 8, 9, - 10, 75, 6, 13, 14, 15, 16, 81, 89, 399, - 97, 98, 34, 23, 22, 399, 361, 676, 428, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 81, 81, - 84, 85, 81, 88, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 97, 98, 84, 85, 69, 102, 103, - 86, 73, 86, 245, 81, 219, 496, 91, 676, 91, - 86, 81, 6, 219, 103, 91, 87, 89, 86, 91, - 86, 81, 219, 91, 219, 219, 219, 219, 639, 1, - 3, 219, 427, 82, 83, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 685, - 23, 24, 25, 26, 86, 49, 28, 29, 211, 53, - 219, 697, 86, 3, 99, 100, 101, 774, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 714, 786, - 28, 29, 86, 639, 86, 25, 26, 91, 3, 796, - 90, 727, 92, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 30, 31, 86, 81, 24, - 25, 26, 723, 86, 1, 3, 3, 3, 91, 30, - 31, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 60, 23, 24, 25, 26, - 65, 81, 384, 296, 297, 605, 593, 389, 87, 60, - 14, 15, 305, 764, 65, 15, 16, 68, 69, 35, - 36, 37, 86, 325, 326, 327, 81, 723, 242, 243, - 244, 330, 321, 322, 86, 3, 323, 324, 337, 48, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 81, 23, 24, 25, 26, 551, - 552, 360, 87, 398, 398, 398, 398, 86, 764, 87, - 81, 91, 89, 86, 89, 89, 86, 89, 3, 87, - 86, 86, 8, 397, 398, 86, 89, 397, 86, 397, - 383, 390, 397, 447, 397, 367, 87, 86, 397, 398, - 367, 447, 367, 87, 367, 367, 405, 86, 407, 408, - 86, 86, 86, 81, 87, 414, 94, 47, 95, 90, - 1, 103, 87, 4, 5, 6, 7, 426, 87, 96, - 87, 87, 87, 91, 3, 104, 90, 90, 58, 20, - 21, 92, 23, 92, 498, 92, 27, 88, 447, 93, - 92, 3, 498, 105, 88, 105, 88, 3, 87, 40, - 41, 42, 43, 30, 31, 92, 88, 88, 49, 50, - 86, 90, 53, 776, 777, 56, 90, 476, 477, 478, - 90, 90, 63, 64, 51, 52, 88, 88, 8, 70, - 71, 72, 88, 60, 61, 488, 489, 88, 65, 498, - 803, 68, 69, 31, 86, 88, 86, 88, 501, 86, - 592, 86, 3, 86, 88, 86, 509, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 86, - 86, 86, 86, 86, 25, 26, 86, 551, 552, 3, - 104, 551, 552, 551, 552, 86, 551, 552, 551, 552, - 86, 86, 551, 552, 86, 86, 86, 86, 4, 86, - 6, 86, 86, 66, 3, 88, 88, 88, 35, 562, - 88, 564, 565, 566, 20, 21, 92, 23, 24, 86, - 86, 27, 86, 88, 103, 639, 86, 86, 35, 87, - 81, 106, 88, 639, 103, 38, 104, 55, 92, 89, - 59, 3, 595, 49, 3, 92, 103, 53, 607, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 67, 104, 104, 104, 103, 25, 26, 62, 90, - 104, 86, 88, 39, 606, 34, 104, 91, 103, 606, - 639, 606, 92, 606, 606, 86, 91, 640, 640, 75, - 92, 104, 103, 75, 92, 654, 4, 676, 6, 16, - 104, 15, 308, 745, 104, 367, 402, 592, 219, 723, - 318, 562, 20, 21, 673, 23, 24, 723, 422, 27, - 319, 342, 81, 320, 748, 686, 672, 750, 775, 594, - 795, 390, 307, 686, 686, 73, 433, 780, 605, 384, - -1, 49, 399, -1, 676, 53, -1, 414, -1, 676, - 764, 676, -1, 676, 676, -1, -1, -1, 764, 67, - -1, -1, -1, -1, 723, -1, -1, -1, -1, -1, - -1, -1, 731, -1, -1, 749, 749, 730, 730, 749, - -1, 749, -1, -1, 749, -1, 749, -1, -1, -1, - 749, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 764, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 776, 777, -1, - -1, 774, -1, -1, -1, -1, 779, -1, -1, -1, - -1, -1, -1, 786, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 796, 803, 7, 8, 9, 10, 11, + 22, 23, 2, 14, 26, 43, 43, 43, 19, 20, + 43, 14, 43, 84, 81, 81, 223, 4, 4, 335, + 4, 43, 4, 4, 347, 81, 81, 465, 217, 516, + 81, 81, 239, 337, 338, 339, 271, 613, 81, 81, + 392, 3, 347, 625, 347, 3, 84, 84, 84, 0, + 3, 84, 404, 84, 3, 3, 0, 19, 654, 81, + 82, 3, 84, 3, 3, 1, 3, 625, 4, 5, + 6, 7, 83, 75, 85, 86, 87, 88, 516, 81, + 403, 357, 93, 6, 20, 21, 97, 23, 86, 100, + 81, 27, 103, 91, 1, 3, 303, 286, 403, 3, + 403, 28, 29, 86, 40, 41, 42, 43, 704, 109, + 110, 49, 103, 49, 50, 53, 116, 53, 89, 81, + 56, 28, 29, 81, 359, 28, 29, 63, 64, 405, + 86, 1, 81, 3, 70, 71, 72, 719, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 105, 23, 24, 25, 26, 105, 365, 226, + 226, 719, 514, 105, 86, 105, 105, 710, 105, 105, + 226, 226, 659, 81, 75, 226, 226, 81, 105, 8, + 81, 88, 11, 226, 226, 1, 393, 87, 1, 91, + 86, 4, 5, 6, 7, 91, 431, 740, 36, 6, + 86, 86, 105, 22, 226, 91, 91, 20, 21, 752, + 23, 81, 28, 29, 27, 99, 100, 101, 86, 542, + 763, 659, 798, 3, 35, 36, 37, 40, 41, 42, + 43, 86, 30, 31, 72, 105, 49, 50, 76, 90, + 53, 92, 49, 56, 8, 9, 53, 82, 83, 825, + 63, 64, 30, 31, 92, 831, 94, 70, 71, 15, + 16, 748, 60, 3, 97, 98, 277, 65, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 60, 23, 24, 25, 26, 65, 16, 17, + 68, 69, 105, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 375, 376, 84, 85, 328, 611, 373, 374, + 748, 86, 4, 335, 6, 569, 570, 97, 98, 87, + 807, 86, 102, 103, 86, 105, 48, 87, 20, 21, + 519, 23, 24, 86, 89, 27, 358, 87, 527, 81, + 89, 81, 89, 550, 87, 3, 402, 402, 86, 86, + 673, 402, 402, 377, 378, 379, 86, 49, 87, 86, + 86, 53, 86, 86, 402, 105, 300, 301, 302, 807, + 87, 86, 394, 86, 86, 67, 86, 388, 87, 3, + 402, 3, 382, 91, 89, 8, 90, 409, 89, 411, + 412, 47, 103, 582, 583, 584, 418, 87, 465, 465, + 87, 401, 87, 610, 87, 3, 94, 91, 430, 95, + 104, 93, 3, 484, 90, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 96, 425, 84, 85, 92, 92, + 87, 106, 92, 104, 93, 90, 88, 58, 92, 97, + 98, 106, 92, 465, 102, 103, 484, 484, 484, 516, + 516, 484, 452, 484, 3, 3, 88, 3, 87, 92, + 447, 447, 484, 447, 90, 447, 447, 8, 88, 88, + 86, 88, 494, 495, 496, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 800, 801, 84, 85, 90, 90, + 90, 88, 88, 88, 516, 506, 507, 31, 86, 97, + 98, 86, 86, 86, 102, 103, 88, 88, 88, 86, + 86, 86, 86, 829, 86, 86, 86, 86, 86, 92, + 86, 86, 86, 86, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 86, 86, 84, 85, 104, 88, 86, + 66, 86, 86, 103, 35, 88, 88, 86, 88, 86, + 86, 3, 107, 88, 103, 86, 8, 9, 10, 766, + 87, 13, 14, 15, 16, 88, 88, 3, 568, 569, + 570, 23, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 86, 23, 24, 25, + 26, 104, 659, 659, 35, 38, 55, 92, 103, 89, + 104, 3, 59, 3, 92, 627, 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, -1, - -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - -1, 1, -1, 3, 4, -1, 88, 7, 8, 9, + 104, 23, 24, 25, 26, 103, 103, 62, 90, 81, + 104, 86, 88, 91, 634, 104, 103, 659, 625, 625, + 39, 625, 92, 625, 625, 81, 92, 91, 86, 660, + 86, 104, 674, 3, 103, 91, 104, 660, 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, + 104, 693, 75, 104, 24, 25, 26, 92, 75, 81, + 318, 748, 748, 17, 447, 719, 16, 406, 226, 610, + 370, 372, 692, 371, 446, 394, 641, 711, 340, 769, + 711, 701, 797, 692, 830, 3, 426, 612, 711, 799, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 418, 364, 76, 796, 748, 25, 26, 804, + 451, 81, 719, 719, 756, 719, 34, 719, 719, -1, + 807, 807, 673, -1, 755, 550, -1, -1, -1, -1, + 403, -1, 755, -1, -1, -1, -1, -1, 796, 796, + 796, -1, -1, 796, -1, 796, -1, -1, -1, -1, + 770, 771, -1, -1, 796, -1, -1, -1, 800, 801, + 4, -1, 6, 81, -1, 807, -1, -1, -1, -1, + -1, -1, 803, -1, -1, -1, 20, 21, -1, 23, + 24, -1, 1, 27, 3, 4, -1, 829, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, 49, 25, 26, 27, 53, + -1, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 67, 3, 44, 45, 46, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, -1, -1, -1, 63, 64, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, + -1, -1, 81, -1, 1, -1, 3, 4, -1, 88, + 7, 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, + 30, 31, 81, 40, -1, -1, 3, 44, 45, 46, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 51, 52, -1, -1, -1, 63, 64, 25, 26, + 60, 61, -1, -1, -1, 65, -1, -1, 68, 69, + -1, -1, -1, -1, 81, -1, 1, -1, 3, 4, + -1, 88, 7, 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, 81, 40, -1, -1, -1, 44, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, + -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, 1, -1, 3, 4, -1, 88, 7, + -1, -1, -1, -1, -1, -1, 81, -1, 1, -1, + 3, 4, -1, 88, 7, 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, 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, - -1, -1, 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, + 63, 64, 30, 31, 32, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, -1, -1, -1, 81, -1, + -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, 1, -1, 3, 4, -1, 88, 7, 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, 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, -1, 81, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 81, -1, 1, -1, 3, 4, -1, 88, 7, 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, -1, -1, -1, -1, -1, - 0, 1, -1, -1, 4, 5, 6, 7, -1, -1, - -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, -1, 27, -1, -1, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 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 + -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, -1, 4, 5, 6, + 7, -1, -1, -1, -1, -1, -1, 63, 64, -1, + -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, + 27, -1, -1, -1, -1, 81, -1, -1, -1, -1, + -1, -1, 88, 40, 41, 42, 43, -1, -1, -1, + -1, -1, 49, 50, -1, -1, 53, -1, -1, 56, + -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, + -1, -1, -1, 70, 71, 72 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 108, 109, 0, 1, 4, 5, 6, 7, 20, - 21, 23, 27, 40, 41, 42, 43, 49, 50, 53, - 56, 63, 64, 70, 71, 110, 112, 127, 129, 133, - 134, 146, 149, 150, 154, 156, 159, 160, 161, 165, - 169, 171, 175, 176, 199, 200, 218, 227, 247, 249, - 261, 263, 285, 286, 287, 329, 380, 381, 382, 383, - 384, 388, 410, 412, 435, 436, 437, 438, 439, 443, - 444, 445, 448, 452, 461, 476, 477, 126, 201, 128, - 155, 219, 248, 262, 288, 330, 3, 198, 235, 154, - 53, 154, 169, 171, 53, 161, 171, 172, 198, 198, - 413, 81, 195, 198, 195, 462, 478, 89, 130, 119, - 135, 147, 86, 86, 118, 91, 157, 151, 120, 162, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 24, 25, 26, 157, 195, 222, 223, 224, - 225, 226, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 249, 261, 263, 287, 296, 299, 302, - 303, 306, 307, 310, 116, 113, 250, 22, 117, 114, - 115, 121, 385, 122, 411, 123, 157, 446, 446, 124, - 125, 87, 480, 86, 17, 195, 205, 237, 240, 241, - 242, 243, 244, 303, 307, 195, 198, 220, 222, 198, - 198, 198, 198, 157, 198, 157, 166, 198, 198, 389, - 198, 196, 75, 81, 75, 3, 3, 87, 86, 4, - 6, 20, 21, 23, 24, 27, 49, 53, 67, 453, - 454, 457, 73, 74, 75, 76, 77, 78, 79, 80, - 84, 85, 97, 98, 102, 103, 195, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 473, 475, - 86, 48, 173, 87, 86, 87, 8, 11, 8, 9, - 89, 300, 170, 90, 92, 89, 89, 86, 86, 87, - 264, 86, 86, 86, 86, 87, 86, 87, 422, 86, - 447, 440, 449, 86, 86, 481, 202, 221, 289, 331, - 87, 91, 391, 414, 198, 197, 463, 479, 131, 205, - 89, 3, 136, 455, 215, 215, 215, 207, 94, 95, - 96, 82, 83, 97, 98, 99, 100, 101, 90, 474, - 158, 152, 163, 8, 207, 217, 89, 47, 174, 297, - 304, 308, 251, 103, 386, 423, 174, 87, 87, 483, - 198, 198, 228, 231, 235, 236, 311, 87, 87, 167, - 392, 390, 91, 419, 198, 87, 391, 109, 111, 3, - 90, 92, 104, 209, 210, 211, 212, 212, 213, 213, - 214, 214, 214, 148, 92, 192, 195, 182, 177, 92, - 301, 192, 217, 217, 217, 253, 255, 256, 265, 393, - 425, 441, 450, 30, 31, 60, 65, 68, 69, 318, - 319, 324, 402, 404, 405, 472, 482, 484, 203, 312, - 229, 290, 332, 182, 195, 174, 420, 415, 464, 110, - 132, 90, 137, 456, 198, 475, 193, 1, 32, 33, - 153, 183, 200, 218, 318, 329, 334, 339, 380, 381, - 44, 45, 46, 164, 178, 179, 183, 341, 207, 223, - 298, 305, 309, 252, 254, 1, 222, 257, 8, 195, - 237, 242, 243, 244, 270, 287, 51, 52, 61, 318, - 387, 394, 402, 404, 407, 408, 409, 472, 44, 54, - 183, 424, 426, 429, 432, 182, 177, 320, 325, 19, - 195, 403, 58, 406, 195, 195, 487, 485, 486, 403, - 488, 88, 93, 105, 313, 315, 92, 3, 292, 295, - 254, 168, 195, 174, 318, 402, 404, 466, 468, 88, - 3, 87, 457, 92, 191, 88, 187, 184, 189, 188, - 190, 34, 195, 224, 303, 307, 340, 363, 185, 186, - 342, 181, 180, 88, 86, 90, 90, 90, 90, 88, - 255, 260, 258, 266, 195, 195, 195, 400, 88, 395, - 396, 397, 398, 399, 401, 198, 198, 88, 427, 428, - 442, 451, 31, 363, 198, 3, 3, 86, 86, 86, - 198, 86, 204, 316, 314, 230, 291, 293, 333, 88, - 416, 471, 469, 470, 465, 467, 138, 194, 86, 86, - 86, 86, 86, 86, 335, 86, 86, 3, 257, 257, - 86, 228, 104, 198, 198, 198, 86, 86, 86, 86, - 86, 86, 86, 430, 433, 86, 86, 88, 88, 321, - 326, 206, 217, 315, 231, 88, 92, 88, 66, 86, - 86, 86, 88, 468, 72, 112, 127, 140, 142, 143, - 195, 3, 343, 259, 267, 103, 345, 345, 363, 232, - 235, 317, 294, 417, 195, 139, 141, 86, 336, 345, - 86, 87, 346, 347, 431, 434, 322, 327, 233, 106, - 295, 195, 144, 88, 142, 103, 354, 344, 268, 104, - 35, 348, 351, 38, 365, 365, 232, 55, 368, 92, - 418, 89, 355, 356, 337, 365, 1, 28, 29, 271, - 273, 277, 279, 352, 104, 349, 366, 323, 369, 328, - 234, 59, 421, 3, 458, 460, 104, 35, 36, 37, - 357, 360, 364, 365, 276, 281, 280, 269, 272, 274, - 278, 363, 92, 103, 365, 103, 62, 371, 235, 195, - 90, 459, 104, 358, 361, 338, 86, 207, 91, 88, - 273, 222, 283, 279, 353, 350, 367, 370, 372, 145, - 92, 92, 363, 39, 374, 282, 284, 275, 231, 351, - 192, 192, 103, 198, 460, 359, 362, 375, 91, 231, - 86, 104, 104, 373, 360, 231, 103, 192, 376, 104, - 75, 377, 378, 104, 92, 379, 75 + 0, 109, 110, 0, 220, 1, 4, 5, 6, 7, + 20, 21, 23, 27, 40, 41, 42, 43, 49, 50, + 53, 56, 63, 64, 70, 71, 105, 111, 113, 128, + 130, 134, 135, 147, 150, 151, 155, 157, 160, 161, + 162, 166, 170, 172, 176, 177, 201, 202, 221, 226, + 235, 255, 257, 269, 271, 293, 294, 295, 337, 388, + 389, 390, 391, 392, 396, 418, 420, 443, 444, 445, + 446, 447, 451, 452, 453, 456, 460, 469, 484, 485, + 127, 203, 129, 156, 227, 256, 270, 296, 338, 200, + 220, 243, 155, 53, 155, 170, 172, 53, 162, 172, + 173, 200, 200, 421, 3, 81, 196, 199, 196, 470, + 486, 196, 89, 131, 120, 136, 148, 86, 86, 119, + 91, 158, 152, 121, 163, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, + 158, 196, 230, 231, 232, 233, 234, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 257, 269, + 271, 295, 304, 307, 310, 311, 314, 315, 318, 117, + 114, 258, 22, 118, 115, 116, 122, 393, 123, 419, + 124, 158, 454, 454, 125, 126, 87, 488, 86, 17, + 196, 207, 245, 248, 249, 250, 251, 252, 311, 315, + 196, 200, 228, 230, 200, 200, 200, 200, 3, 158, + 200, 158, 167, 200, 200, 397, 200, 197, 75, 81, + 75, 220, 220, 103, 87, 86, 4, 6, 20, 21, + 23, 24, 27, 49, 53, 67, 461, 462, 465, 220, + 481, 86, 48, 174, 87, 86, 87, 8, 11, 8, + 9, 89, 308, 171, 90, 92, 89, 89, 86, 86, + 87, 272, 86, 86, 86, 86, 87, 86, 87, 430, + 86, 455, 448, 457, 86, 86, 489, 204, 229, 297, + 339, 87, 91, 399, 422, 199, 198, 3, 3, 3, + 73, 74, 75, 76, 77, 78, 79, 80, 84, 85, + 97, 98, 102, 103, 196, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 222, 223, 225, 132, 207, + 89, 3, 137, 463, 208, 209, 483, 90, 159, 153, + 164, 8, 209, 219, 89, 47, 175, 305, 312, 316, + 259, 103, 394, 431, 175, 87, 87, 491, 200, 200, + 236, 239, 243, 244, 319, 87, 87, 168, 400, 398, + 91, 427, 199, 471, 487, 93, 217, 217, 217, 209, + 94, 95, 96, 82, 83, 97, 98, 99, 100, 101, + 104, 224, 110, 112, 3, 90, 92, 482, 149, 193, + 196, 183, 178, 92, 309, 193, 219, 219, 219, 261, + 263, 264, 273, 401, 433, 449, 458, 30, 31, 60, + 65, 68, 69, 326, 327, 332, 410, 412, 413, 480, + 490, 492, 205, 320, 237, 298, 340, 183, 196, 175, + 428, 423, 87, 399, 209, 104, 211, 212, 213, 214, + 214, 215, 215, 216, 216, 216, 92, 220, 133, 90, + 138, 464, 92, 200, 194, 1, 32, 33, 154, 184, + 202, 226, 326, 337, 342, 347, 388, 389, 44, 45, + 46, 165, 179, 180, 184, 349, 209, 231, 306, 313, + 317, 260, 262, 1, 220, 265, 8, 196, 245, 250, + 251, 252, 278, 295, 51, 52, 61, 326, 395, 402, + 410, 412, 415, 416, 417, 480, 44, 54, 184, 432, + 434, 437, 440, 183, 178, 328, 333, 19, 196, 411, + 58, 414, 196, 196, 495, 493, 494, 411, 496, 88, + 93, 106, 321, 323, 92, 220, 300, 303, 262, 169, + 196, 175, 472, 3, 225, 111, 88, 3, 87, 465, + 220, 92, 192, 88, 188, 185, 190, 189, 191, 34, + 196, 232, 311, 315, 348, 371, 186, 187, 350, 182, + 181, 88, 86, 90, 90, 90, 90, 88, 263, 268, + 230, 274, 196, 196, 196, 408, 88, 403, 404, 405, + 406, 407, 409, 200, 200, 88, 435, 436, 450, 459, + 31, 371, 199, 3, 3, 86, 86, 86, 199, 86, + 206, 324, 322, 238, 3, 299, 301, 341, 88, 424, + 326, 410, 412, 474, 476, 139, 483, 195, 86, 86, + 86, 86, 86, 86, 343, 86, 86, 220, 265, 265, + 86, 266, 104, 199, 199, 199, 86, 86, 86, 86, + 86, 86, 86, 438, 441, 86, 86, 88, 88, 329, + 334, 208, 219, 323, 239, 88, 92, 88, 66, 479, + 477, 478, 473, 475, 72, 113, 128, 141, 143, 144, + 196, 220, 3, 236, 275, 103, 353, 353, 371, 240, + 243, 325, 302, 425, 86, 86, 86, 88, 476, 196, + 140, 142, 86, 3, 351, 267, 87, 354, 355, 439, + 442, 330, 335, 241, 107, 303, 196, 145, 88, 220, + 344, 353, 86, 276, 104, 35, 356, 359, 38, 373, + 373, 240, 55, 376, 92, 426, 89, 143, 103, 362, + 352, 1, 28, 29, 279, 281, 285, 287, 360, 104, + 357, 374, 331, 377, 336, 242, 59, 429, 3, 466, + 468, 363, 364, 345, 373, 284, 289, 288, 277, 280, + 282, 286, 371, 92, 103, 373, 103, 62, 379, 243, + 196, 90, 467, 104, 35, 36, 37, 365, 368, 372, + 373, 86, 209, 91, 88, 281, 220, 220, 361, 358, + 375, 378, 380, 146, 92, 104, 366, 369, 346, 290, + 230, 291, 287, 239, 359, 193, 193, 103, 200, 468, + 92, 371, 39, 382, 91, 292, 283, 104, 104, 381, + 367, 370, 383, 239, 86, 193, 368, 239, 103, 104, + 384, 75, 385, 386, 104, 92, 387, 75 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 107, 108, 109, 109, 110, 110, 110, 111, 113, - 112, 114, 112, 115, 112, 116, 112, 117, 112, 118, - 112, 119, 112, 120, 112, 121, 112, 122, 112, 123, - 112, 124, 112, 125, 112, 126, 112, 128, 127, 130, - 131, 132, 129, 133, 135, 136, 137, 138, 139, 134, - 140, 141, 141, 142, 142, 144, 145, 143, 147, 148, - 146, 149, 149, 151, 152, 153, 150, 155, 154, 156, - 156, 156, 158, 157, 157, 159, 159, 159, 159, 160, - 160, 162, 163, 164, 161, 166, 167, 168, 165, 170, - 169, 172, 171, 173, 173, 174, 174, 175, 175, 176, - 177, 177, 178, 178, 178, 180, 179, 181, 179, 182, - 182, 184, 183, 185, 183, 186, 183, 187, 183, 188, - 183, 189, 183, 190, 183, 191, 183, 192, 194, 193, - 193, 195, 196, 195, 197, 195, 198, 199, 199, 199, - 201, 202, 203, 204, 200, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 206, 207, 208, 208, 209, 209, - 210, 210, 211, 211, 211, 212, 212, 212, 213, 213, - 213, 213, 214, 214, 214, 214, 215, 215, 215, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 217, - 219, 218, 218, 218, 218, 218, 218, 221, 220, 222, - 222, 223, 223, 223, 224, 224, 224, 224, 224, 224, - 224, 224, 225, 225, 225, 225, 226, 226, 226, 227, - 227, 228, 230, 229, 229, 231, 231, 232, 234, 233, - 233, 235, 236, 237, 237, 238, 238, 238, 239, 239, - 239, 240, 240, 240, 241, 242, 242, 243, 244, 245, - 246, 248, 247, 250, 251, 252, 249, 253, 254, 254, - 256, 255, 258, 259, 257, 260, 257, 262, 261, 264, - 265, 266, 267, 268, 269, 263, 270, 270, 270, 270, - 270, 270, 271, 272, 272, 274, 275, 273, 276, 273, - 277, 278, 278, 280, 279, 281, 282, 279, 284, 283, - 285, 286, 288, 289, 290, 291, 287, 292, 294, 293, - 293, 295, 297, 298, 296, 296, 300, 301, 299, 302, - 304, 305, 303, 303, 306, 308, 309, 307, 307, 310, - 312, 311, 313, 314, 314, 316, 317, 315, 318, 318, - 320, 321, 322, 323, 319, 325, 326, 327, 328, 324, - 330, 331, 332, 333, 329, 335, 336, 337, 338, 334, - 339, 339, 339, 340, 340, 342, 343, 344, 341, 346, - 345, 347, 345, 348, 350, 349, 349, 352, 353, 351, - 355, 354, 356, 354, 357, 359, 358, 358, 361, 362, - 360, 363, 363, 363, 363, 364, 364, 364, 366, 367, - 365, 365, 369, 370, 368, 368, 372, 373, 371, 371, - 375, 376, 374, 374, 377, 379, 378, 378, 380, 381, - 382, 382, 383, 385, 386, 387, 384, 389, 390, 388, - 392, 391, 391, 393, 393, 395, 394, 396, 394, 397, - 394, 398, 394, 399, 394, 400, 394, 401, 394, 402, - 403, 403, 404, 405, 406, 406, 407, 408, 409, 411, - 410, 413, 414, 415, 416, 417, 418, 412, 420, 419, - 419, 421, 421, 423, 424, 422, 425, 425, 426, 427, - 426, 428, 426, 430, 431, 429, 433, 434, 432, 435, - 435, 435, 436, 436, 437, 438, 440, 441, 442, 439, - 443, 444, 445, 447, 446, 449, 450, 451, 448, 452, - 452, 453, 453, 453, 453, 453, 453, 453, 453, 453, - 453, 454, 456, 455, 455, 457, 457, 458, 459, 459, - 460, 462, 463, 464, 465, 461, 466, 467, 467, 469, - 468, 470, 468, 471, 468, 472, 472, 473, 474, 474, - 475, 476, 478, 479, 477, 481, 482, 480, 483, 483, - 485, 484, 486, 484, 487, 484, 488, 484 + 0, 108, 109, 110, 110, 111, 111, 111, 112, 114, + 113, 115, 113, 116, 113, 117, 113, 118, 113, 119, + 113, 120, 113, 121, 113, 122, 113, 123, 113, 124, + 113, 125, 113, 126, 113, 127, 113, 129, 128, 131, + 132, 133, 130, 134, 136, 137, 138, 139, 140, 135, + 141, 142, 142, 143, 143, 145, 146, 144, 148, 149, + 147, 150, 150, 152, 153, 154, 151, 156, 155, 157, + 157, 157, 159, 158, 158, 160, 160, 160, 160, 161, + 161, 163, 164, 165, 162, 167, 168, 169, 166, 171, + 170, 173, 172, 174, 174, 175, 175, 176, 176, 177, + 178, 178, 179, 179, 179, 181, 180, 182, 180, 183, + 183, 185, 184, 186, 184, 187, 184, 188, 184, 189, + 184, 190, 184, 191, 184, 192, 184, 193, 195, 194, + 194, 196, 197, 196, 198, 196, 199, 200, 201, 201, + 201, 203, 204, 205, 206, 202, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 208, 209, 210, 210, 211, + 211, 212, 212, 213, 213, 213, 214, 214, 214, 215, + 215, 215, 215, 216, 216, 216, 216, 217, 217, 217, + 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 219, 220, 220, 221, 221, 222, 222, 223, 224, 224, + 225, 227, 226, 226, 226, 226, 226, 226, 229, 228, + 230, 230, 231, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 233, 233, 233, 233, 234, 234, 234, + 235, 235, 236, 238, 237, 237, 239, 239, 240, 242, + 241, 241, 243, 244, 245, 245, 246, 246, 246, 247, + 247, 247, 248, 248, 248, 249, 250, 250, 251, 252, + 253, 254, 256, 255, 258, 259, 260, 257, 261, 262, + 262, 264, 263, 266, 267, 265, 268, 265, 270, 269, + 272, 273, 274, 275, 276, 277, 271, 278, 278, 278, + 278, 278, 278, 279, 280, 280, 282, 283, 281, 284, + 281, 285, 286, 286, 288, 287, 289, 290, 287, 292, + 291, 293, 294, 296, 297, 298, 299, 295, 300, 302, + 301, 301, 303, 305, 306, 304, 304, 308, 309, 307, + 310, 312, 313, 311, 311, 314, 316, 317, 315, 315, + 318, 320, 319, 321, 322, 322, 324, 325, 323, 326, + 326, 328, 329, 330, 331, 327, 333, 334, 335, 336, + 332, 338, 339, 340, 341, 337, 343, 344, 345, 346, + 342, 347, 347, 347, 348, 348, 350, 351, 352, 349, + 354, 353, 355, 353, 356, 358, 357, 357, 360, 361, + 359, 363, 362, 364, 362, 365, 367, 366, 366, 369, + 370, 368, 371, 371, 371, 371, 372, 372, 372, 374, + 375, 373, 373, 377, 378, 376, 376, 380, 381, 379, + 379, 383, 384, 382, 382, 385, 387, 386, 386, 388, + 389, 390, 390, 391, 393, 394, 395, 392, 397, 398, + 396, 400, 399, 399, 401, 401, 403, 402, 404, 402, + 405, 402, 406, 402, 407, 402, 408, 402, 409, 402, + 410, 411, 411, 412, 413, 414, 414, 415, 416, 417, + 419, 418, 421, 422, 423, 424, 425, 426, 420, 428, + 427, 427, 429, 429, 431, 432, 430, 433, 433, 434, + 435, 434, 436, 434, 438, 439, 437, 441, 442, 440, + 443, 443, 443, 444, 444, 445, 446, 448, 449, 450, + 447, 451, 452, 453, 455, 454, 457, 458, 459, 456, + 460, 460, 461, 461, 461, 461, 461, 461, 461, 461, + 461, 461, 462, 464, 463, 463, 465, 465, 466, 467, + 467, 468, 470, 471, 472, 473, 469, 474, 475, 475, + 477, 476, 478, 476, 479, 476, 480, 480, 481, 482, + 482, 483, 484, 486, 487, 485, 489, 490, 488, 491, + 491, 493, 492, 494, 492, 495, 492, 496, 492 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { - 0, 2, 1, 2, 0, 1, 2, 2, 2, 0, + 0, 2, 1, 3, 0, 1, 2, 2, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 0, 0, 7, 2, 0, 0, 0, 0, 0, 11, - 2, 2, 0, 1, 2, 0, 0, 8, 0, 0, + 2, 3, 0, 1, 2, 0, 0, 8, 0, 0, 6, 1, 1, 0, 0, 0, 7, 0, 3, 2, 3, 3, 0, 4, 0, 1, 1, 1, 1, 2, 1, 0, 0, 0, 7, 0, 0, 0, 8, 0, @@ -1538,50 +1542,51 @@ static const yytype_uint8 yyr2[] = 2, 0, 1, 1, 2, 0, 3, 0, 3, 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 2, 0, 4, - 0, 1, 0, 3, 0, 4, 1, 1, 2, 2, - 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, - 1, 3, 1, 3, 3, 1, 3, 3, 1, 3, - 3, 3, 1, 2, 2, 2, 1, 1, 3, 1, + 0, 1, 0, 3, 0, 4, 1, 2, 1, 2, + 2, 0, 0, 0, 0, 9, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 1, 3, 3, 1, + 3, 3, 3, 1, 2, 2, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 3, 1, 1, 1, 2, 1, 0, 3, 1, + 1, 2, 0, 5, 2, 1, 1, 2, 3, 0, + 3, 0, 3, 1, 1, 1, 2, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 0, 4, 0, 1, 1, 2, 0, 4, - 0, 1, 1, 1, 1, 1, 2, 1, 2, 3, - 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 0, 3, 0, 0, 0, 7, 2, 2, 0, - 0, 2, 0, 0, 5, 0, 3, 0, 3, 0, - 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, - 1, 1, 2, 2, 0, 0, 0, 5, 0, 3, - 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, - 1, 1, 0, 0, 0, 0, 9, 2, 0, 4, - 0, 1, 0, 0, 6, 2, 0, 0, 5, 6, - 0, 0, 6, 1, 1, 0, 0, 6, 1, 1, - 0, 3, 2, 2, 0, 0, 0, 5, 1, 1, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 10, - 1, 1, 0, 1, 1, 0, 0, 0, 7, 0, - 3, 0, 4, 2, 0, 4, 0, 0, 0, 5, + 1, 1, 2, 0, 4, 0, 1, 1, 2, 0, + 4, 0, 1, 1, 1, 1, 1, 2, 1, 2, + 3, 2, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 0, 3, 0, 0, 0, 7, 2, 2, + 0, 0, 2, 0, 0, 6, 0, 3, 0, 3, + 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, + 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, + 3, 2, 3, 0, 0, 3, 0, 0, 5, 0, + 3, 1, 1, 0, 0, 0, 0, 9, 2, 0, + 4, 0, 2, 0, 0, 6, 2, 0, 0, 5, + 6, 0, 0, 6, 1, 1, 0, 0, 6, 1, + 1, 0, 3, 2, 2, 0, 0, 0, 5, 1, + 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, + 11, 1, 1, 0, 1, 1, 0, 0, 0, 8, 0, 3, 0, 4, 2, 0, 4, 0, 0, 0, - 5, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, - 0, 0, 6, 0, 2, 0, 4, 0, 3, 3, - 1, 1, 2, 0, 0, 0, 7, 0, 0, 6, - 0, 3, 0, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, - 1, 1, 3, 2, 1, 0, 3, 3, 3, 0, - 3, 0, 0, 0, 0, 0, 0, 13, 0, 3, - 0, 2, 0, 0, 0, 5, 2, 0, 1, 0, - 3, 0, 3, 0, 0, 6, 0, 0, 6, 1, - 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, - 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, + 5, 0, 3, 0, 4, 2, 0, 4, 0, 0, + 0, 5, 1, 1, 1, 1, 1, 1, 1, 0, + 0, 6, 0, 0, 0, 6, 0, 0, 0, 6, + 0, 0, 0, 6, 0, 2, 0, 4, 0, 3, + 3, 1, 1, 2, 0, 0, 0, 7, 0, 0, + 6, 0, 3, 0, 2, 0, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, + 3, 1, 1, 3, 2, 1, 0, 3, 3, 3, + 0, 3, 0, 0, 0, 0, 0, 0, 13, 0, + 3, 0, 2, 0, 0, 0, 5, 2, 0, 1, + 0, 3, 0, 3, 0, 0, 6, 0, 0, 6, + 1, 1, 1, 1, 1, 2, 3, 0, 0, 0, + 8, 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 0, 4, 0, 2, 5, 2, 3, 0, - 1, 0, 0, 0, 0, 9, 2, 2, 0, 0, - 3, 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 + 1, 2, 2, 0, 4, 0, 2, 5, 2, 3, + 0, 1, 0, 0, 0, 0, 10, 2, 2, 0, + 0, 3, 0, 3, 0, 3, 3, 3, 3, 4, + 0, 1, 2, 0, 0, 6, 0, 0, 5, 2, + 0, 0, 3, 0, 3, 0, 3, 0, 3 }; @@ -2258,298 +2263,298 @@ yyreduce: switch (yyn) { case 5: -#line 368 "fe/idl.ypp" /* yacc.c:1646 */ +#line 369 "fe/idl.ypp" /* yacc.c:1646 */ { } -#line 2265 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2270 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 6: -#line 371 "fe/idl.ypp" /* yacc.c:1646 */ +#line 372 "fe/idl.ypp" /* yacc.c:1646 */ { } -#line 2272 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2277 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 7: -#line 374 "fe/idl.ypp" /* yacc.c:1646 */ +#line 375 "fe/idl.ypp" /* yacc.c:1646 */ { } -#line 2279 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2284 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 9: -#line 384 "fe/idl.ypp" /* yacc.c:1646 */ +#line 392 "fe/idl.ypp" /* yacc.c:1646 */ { // fixed_definition : type_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2288 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2293 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 10: -#line 389 "fe/idl.ypp" /* yacc.c:1646 */ +#line 397 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2297 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2302 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 11: -#line 394 "fe/idl.ypp" /* yacc.c:1646 */ +#line 402 "fe/idl.ypp" /* yacc.c:1646 */ { // | typeid_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2306 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2311 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 12: -#line 399 "fe/idl.ypp" /* yacc.c:1646 */ +#line 407 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2315 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2320 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 13: -#line 404 "fe/idl.ypp" /* yacc.c:1646 */ +#line 412 "fe/idl.ypp" /* yacc.c:1646 */ { // | typeprefix_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2324 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2329 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 14: -#line 409 "fe/idl.ypp" /* yacc.c:1646 */ +#line 417 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2333 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2338 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 15: -#line 414 "fe/idl.ypp" /* yacc.c:1646 */ +#line 422 "fe/idl.ypp" /* yacc.c:1646 */ { // | const_dcl idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2342 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2347 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 16: -#line 419 "fe/idl.ypp" /* yacc.c:1646 */ +#line 427 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2351 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2356 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 17: -#line 424 "fe/idl.ypp" /* yacc.c:1646 */ +#line 432 "fe/idl.ypp" /* yacc.c:1646 */ { // | exception idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2360 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2365 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 18: -#line 429 "fe/idl.ypp" /* yacc.c:1646 */ +#line 437 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2369 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2374 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 19: -#line 434 "fe/idl.ypp" /* yacc.c:1646 */ +#line 442 "fe/idl.ypp" /* yacc.c:1646 */ { // | interface_def idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2378 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2383 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 20: -#line 439 "fe/idl.ypp" /* yacc.c:1646 */ +#line 447 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2387 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2392 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 21: -#line 444 "fe/idl.ypp" /* yacc.c:1646 */ +#line 452 "fe/idl.ypp" /* yacc.c:1646 */ { // | module idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2396 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2401 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 22: -#line 449 "fe/idl.ypp" /* yacc.c:1646 */ +#line 457 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2405 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2410 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 23: -#line 454 "fe/idl.ypp" /* yacc.c:1646 */ +#line 462 "fe/idl.ypp" /* yacc.c:1646 */ { // | value_def idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2414 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2419 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 24: -#line 459 "fe/idl.ypp" /* yacc.c:1646 */ +#line 467 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2423 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2428 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 25: -#line 464 "fe/idl.ypp" /* yacc.c:1646 */ +#line 472 "fe/idl.ypp" /* yacc.c:1646 */ { // | component idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2432 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2437 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 26: -#line 469 "fe/idl.ypp" /* yacc.c:1646 */ +#line 477 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2441 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2446 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 27: -#line 474 "fe/idl.ypp" /* yacc.c:1646 */ +#line 482 "fe/idl.ypp" /* yacc.c:1646 */ { // | home_decl idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2450 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2455 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 28: -#line 479 "fe/idl.ypp" /* yacc.c:1646 */ +#line 487 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2459 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2464 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 29: -#line 484 "fe/idl.ypp" /* yacc.c:1646 */ +#line 492 "fe/idl.ypp" /* yacc.c:1646 */ { // | event idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2468 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2473 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 30: -#line 489 "fe/idl.ypp" /* yacc.c:1646 */ +#line 497 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2477 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2482 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 31: -#line 494 "fe/idl.ypp" /* yacc.c:1646 */ +#line 502 "fe/idl.ypp" /* yacc.c:1646 */ { // | porttype_decl idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2486 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2491 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 32: -#line 499 "fe/idl.ypp" /* yacc.c:1646 */ +#line 507 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2495 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2500 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 33: -#line 504 "fe/idl.ypp" /* yacc.c:1646 */ +#line 512 "fe/idl.ypp" /* yacc.c:1646 */ { // | connector_decl idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2504 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2509 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 34: -#line 509 "fe/idl.ypp" /* yacc.c:1646 */ +#line 517 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2513 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2518 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 35: -#line 514 "fe/idl.ypp" /* yacc.c:1646 */ +#line 522 "fe/idl.ypp" /* yacc.c:1646 */ { // | error idl_global->err()->syntax_error (idl_global->parse_state()); } -#line 2522 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2527 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 36: -#line 519 "fe/idl.ypp" /* yacc.c:1646 */ +#line 527 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 2532 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2537 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 37: -#line 528 "fe/idl.ypp" /* yacc.c:1646 */ +#line 536 "fe/idl.ypp" /* yacc.c:1646 */ { // module_header : IDL_MODULE idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2541 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2546 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 38: -#line 533 "fe/idl.ypp" /* yacc.c:1646 */ +#line 541 "fe/idl.ypp" /* yacc.c:1646 */ { (yyval.idlist) = (yyvsp[0].idlist); } -#line 2549 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2554 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 39: -#line 540 "fe/idl.ypp" /* yacc.c:1646 */ +#line 548 "fe/idl.ypp" /* yacc.c:1646 */ { // module : module_header idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -2588,29 +2593,29 @@ yyreduce: */ idl_global->scopes ().push (m); } -#line 2592 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2597 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 40: -#line 579 "fe/idl.ypp" /* yacc.c:1646 */ +#line 587 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 2601 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2606 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 41: -#line 584 "fe/idl.ypp" /* yacc.c:1646 */ +#line 592 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_definition idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 2610 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2615 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 42: -#line 589 "fe/idl.ypp" /* yacc.c:1646 */ +#line 597 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); @@ -2620,19 +2625,19 @@ yyreduce: idl_global->scopes ().pop (); } -#line 2624 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2629 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 43: -#line 602 "fe/idl.ypp" /* yacc.c:1646 */ +#line 610 "fe/idl.ypp" /* yacc.c:1646 */ { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 2632 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2637 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 44: -#line 609 "fe/idl.ypp" /* yacc.c:1646 */ +#line 617 "fe/idl.ypp" /* yacc.c:1646 */ { // template_module : template_module_header // The module_header rule is common to template module, fixed @@ -2647,11 +2652,11 @@ yyreduce: IDL_GlobalData::PS_ModuleIDSeen); } } -#line 2651 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2656 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 45: -#line 624 "fe/idl.ypp" /* yacc.c:1646 */ +#line 632 "fe/idl.ypp" /* yacc.c:1646 */ { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -2661,11 +2666,11 @@ yyreduce: return 1; } } -#line 2665 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2670 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 46: -#line 634 "fe/idl.ypp" /* yacc.c:1646 */ +#line 642 "fe/idl.ypp" /* yacc.c:1646 */ { // '>' idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -2696,27 +2701,27 @@ yyreduce: // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 2700 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2705 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 47: -#line 665 "fe/idl.ypp" /* yacc.c:1646 */ +#line 673 "fe/idl.ypp" /* yacc.c:1646 */ { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 2708 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2713 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 48: -#line 669 "fe/idl.ypp" /* yacc.c:1646 */ +#line 677 "fe/idl.ypp" /* yacc.c:1646 */ { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 2716 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2721 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 49: -#line 673 "fe/idl.ypp" /* yacc.c:1646 */ +#line 681 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -2734,33 +2739,33 @@ yyreduce: // that we are no longer in a template module scope. idl_global->current_params (0); } -#line 2738 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2743 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 55: -#line 708 "fe/idl.ypp" /* yacc.c:1646 */ +#line 716 "fe/idl.ypp" /* yacc.c:1646 */ { // template_module_ref : IDL_ALIAS scoped_name idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 2748 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2753 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 56: -#line 714 "fe/idl.ypp" /* yacc.c:1646 */ +#line 722 "fe/idl.ypp" /* yacc.c:1646 */ { // '<' at_least_one_formal_parameter_name '>' idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 2758 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2763 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 57: -#line 720 "fe/idl.ypp" /* yacc.c:1646 */ +#line 728 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -2837,33 +2842,33 @@ yyreduce: idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 2841 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2846 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 58: -#line 802 "fe/idl.ypp" /* yacc.c:1646 */ +#line 810 "fe/idl.ypp" /* yacc.c:1646 */ { // template_module_inst : template_module_header idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 2851 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2856 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 59: -#line 808 "fe/idl.ypp" /* yacc.c:1646 */ +#line 816 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_actual_parameter '>' idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 2861 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2866 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 60: -#line 814 "fe/idl.ypp" /* yacc.c:1646 */ +#line 822 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -2924,11 +2929,11 @@ yyreduce: idl_global->set_err_count (idl_global->err_count () + 1); } } -#line 2928 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2933 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 63: -#line 885 "fe/idl.ypp" /* yacc.c:1646 */ +#line 893 "fe/idl.ypp" /* yacc.c:1646 */ { // interface : interface_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2967,29 +2972,29 @@ yyreduce: */ idl_global->scopes ().push (i); } -#line 2971 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2976 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 64: -#line 924 "fe/idl.ypp" /* yacc.c:1646 */ +#line 932 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 2980 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2985 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 65: -#line 929 "fe/idl.ypp" /* yacc.c:1646 */ +#line 937 "fe/idl.ypp" /* yacc.c:1646 */ { // exports idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 2989 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 2994 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 66: -#line 934 "fe/idl.ypp" /* yacc.c:1646 */ +#line 942 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -2999,30 +3004,30 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 3003 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3008 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 67: -#line 947 "fe/idl.ypp" /* yacc.c:1646 */ +#line 955 "fe/idl.ypp" /* yacc.c:1646 */ { // interface_decl : IDL_INTERFACE idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3012 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3017 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 68: -#line 952 "fe/idl.ypp" /* yacc.c:1646 */ +#line 960 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3022 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3027 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 69: -#line 961 "fe/idl.ypp" /* yacc.c:1646 */ +#line 969 "fe/idl.ypp" /* yacc.c:1646 */ { // interface_header : interface_decl inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3059,11 +3064,11 @@ yyreduce: (yyvsp[0].nlval) = 0; } } -#line 3063 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3068 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 70: -#line 999 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1007 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_LOCAL interface_decl inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3093,11 +3098,11 @@ yyreduce: (yyvsp[0].nlval) = 0; } } -#line 3097 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3102 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 71: -#line 1030 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1038 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_ABSTRACT interface_decl inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3127,39 +3132,39 @@ yyreduce: (yyvsp[0].nlval) = 0; } } -#line 3131 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3136 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 72: -#line 1063 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1071 "fe/idl.ypp" /* yacc.c:1646 */ { // inheritance_spec : ':' opt_truncatable idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3140 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3145 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 73: -#line 1068 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1076 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_scoped_name (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3150 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3155 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 74: -#line 1074 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1082 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.nlval) = 0; } -#line 3159 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3164 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 79: -#line 1089 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1097 "fe/idl.ypp" /* yacc.c:1646 */ { // valuetype : IDL_CUSTOM value_concrete_decl ACE_DEBUG ((LM_DEBUG, @@ -3170,11 +3175,11 @@ yyreduce: ACE_TEXT ("Sorry, I (TAO_IDL) can't handle") ACE_TEXT (" custom yet\n"))); } -#line 3174 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3179 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 81: -#line 1104 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1112 "fe/idl.ypp" /* yacc.c:1646 */ { // value_concrete_decl : value_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3218,29 +3223,29 @@ yyreduce: */ idl_global->scopes ().push (v); } -#line 3222 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3227 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 82: -#line 1148 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1156 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3231 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3236 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 83: -#line 1153 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1161 "fe/idl.ypp" /* yacc.c:1646 */ { // value_elements idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3240 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3245 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 84: -#line 1158 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1166 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3260,11 +3265,11 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 3264 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3269 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 85: -#line 1182 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1190 "fe/idl.ypp" /* yacc.c:1646 */ { // value_abs_decl : IDL_ABSTRACT value_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3308,29 +3313,29 @@ yyreduce: */ idl_global->scopes ().push (v); } -#line 3312 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3317 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 86: -#line 1226 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1234 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3321 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3326 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 87: -#line 1231 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1239 "fe/idl.ypp" /* yacc.c:1646 */ { // exports idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3330 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3335 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 88: -#line 1236 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1244 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3340,20 +3345,20 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 3344 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3349 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 89: -#line 1250 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1258 "fe/idl.ypp" /* yacc.c:1646 */ { // value_header : value_decl inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3353 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3358 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 90: -#line 1255 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1263 "fe/idl.ypp" /* yacc.c:1646 */ { // supports_spec idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3385,66 +3390,66 @@ yyreduce: (yyvsp[-2].nlval) = 0; } } -#line 3389 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3394 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 91: -#line 1290 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1298 "fe/idl.ypp" /* yacc.c:1646 */ { // value_decl : IDL_VALUETYPE idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3398 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3403 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 92: -#line 1295 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1303 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3408 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3413 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 93: -#line 1304 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1312 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_truncatable : IDL_TRUNCATABLE (yyval.bval) = true; } -#line 3417 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3422 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 94: -#line 1309 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1317 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.bval) = false; } -#line 3426 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3431 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 95: -#line 1318 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1326 "fe/idl.ypp" /* yacc.c:1646 */ { // supports_spec : IDL_SUPPORTS at_least_one_scoped_name (yyval.nlval) = (yyvsp[0].nlval); } -#line 3435 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3440 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 96: -#line 1323 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1331 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.nlval) = 0; } -#line 3444 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3449 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 97: -#line 1332 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1340 "fe/idl.ypp" /* yacc.c:1646 */ { // value_forward_decl : IDL_ABSTRACT value_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3468,11 +3473,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3472 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3477 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 98: -#line 1357 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1365 "fe/idl.ypp" /* yacc.c:1646 */ { // | value_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3496,11 +3501,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3500 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3505 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 99: -#line 1384 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1392 "fe/idl.ypp" /* yacc.c:1646 */ { // value_box_decl : value_decl type_spec idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -3562,192 +3567,192 @@ yyreduce: delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 3566 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3571 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 105: -#line 1461 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1469 "fe/idl.ypp" /* yacc.c:1646 */ { // state_member : IDL_PUBLIC /* is $0 to member_i */ (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 3576 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3581 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 106: -#line 1467 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1475 "fe/idl.ypp" /* yacc.c:1646 */ { // member_i } -#line 3584 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3589 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 107: -#line 1471 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1479 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_PRIVATE /* is $0 to member_i */ (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 3594 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3599 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 108: -#line 1477 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1485 "fe/idl.ypp" /* yacc.c:1646 */ { // member_i } -#line 3602 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3607 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 111: -#line 1489 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1497 "fe/idl.ypp" /* yacc.c:1646 */ { // export : type_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 3611 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3616 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 112: -#line 1494 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1502 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3620 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3625 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 113: -#line 1499 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1507 "fe/idl.ypp" /* yacc.c:1646 */ { // | typeid_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 3629 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3634 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 114: -#line 1504 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1512 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3638 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3643 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 115: -#line 1509 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1517 "fe/idl.ypp" /* yacc.c:1646 */ { // | typeprefix_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 3647 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3652 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 116: -#line 1514 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1522 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3656 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3661 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 117: -#line 1519 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1527 "fe/idl.ypp" /* yacc.c:1646 */ { // | const_dcl idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 3665 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3670 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 118: -#line 1524 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1532 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state(IDL_GlobalData::PS_NoState); } -#line 3674 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3679 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 119: -#line 1529 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1537 "fe/idl.ypp" /* yacc.c:1646 */ { // | exception idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 3683 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3688 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 120: -#line 1534 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1542 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3692 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3697 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 121: -#line 1539 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1547 "fe/idl.ypp" /* yacc.c:1646 */ { // | attribute idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 3701 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3706 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 122: -#line 1544 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1552 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3710 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3715 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 123: -#line 1549 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1557 "fe/idl.ypp" /* yacc.c:1646 */ { // | operation idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 3719 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3724 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 124: -#line 1554 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1562 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 3728 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3733 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 125: -#line 1559 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1567 "fe/idl.ypp" /* yacc.c:1646 */ { // | error idl_global->err()->syntax_error (idl_global->parse_state()); } -#line 3737 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3742 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 126: -#line 1564 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1572 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 3747 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3752 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 127: -#line 1573 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1581 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_scoped_name : scoped_name scoped_names ACE_NEW_RETURN ((yyval.nlval), @@ -3755,20 +3760,20 @@ yyreduce: (yyvsp[0].nlval)), 1); } -#line 3759 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3764 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 128: -#line 1585 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1593 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_names : scoped_names ',' idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 3768 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3773 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 129: -#line 1590 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1598 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_name idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -3789,20 +3794,20 @@ yyreduce: (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 3793 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3798 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 130: -#line 1611 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1619 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.nlval) = 0; } -#line 3802 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3807 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 131: -#line 1619 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1627 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_name : id idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -3812,20 +3817,20 @@ yyreduce: 0), 1); } -#line 3816 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3821 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 132: -#line 1629 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1637 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_SCOPE_DELIMITOR idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 3825 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3830 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 133: -#line 1634 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1642 "fe/idl.ypp" /* yacc.c:1646 */ { // id idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -3846,11 +3851,11 @@ yyreduce: sn), 1); } -#line 3850 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3855 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 134: -#line 1656 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1664 "fe/idl.ypp" /* yacc.c:1646 */ { // | scoped_name IDL_SCOPE_DELIMITOR idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -3861,11 +3866,11 @@ yyreduce: ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 3865 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3870 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 135: -#line 1667 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1675 "fe/idl.ypp" /* yacc.c:1646 */ { // id idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -3878,11 +3883,11 @@ yyreduce: (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 3882 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3887 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 136: -#line 1682 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1690 "fe/idl.ypp" /* yacc.c:1646 */ { // id: IDENTIFIER ACE_NEW_RETURN ((yyval.idval), @@ -3891,11 +3896,25 @@ yyreduce: ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 3895 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3900 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; case 137: -#line 1694 "fe/idl.ypp" /* yacc.c:1646 */ +#line 1701 "fe/idl.ypp" /* yacc.c:1646 */ + { + /* defining_id is a defining identifier + whereas id is usually a reference to a defining identifier */ + ACE_NEW_RETURN ((yyval.idval), + Identifier ((yyvsp[0].strval)), + 1); + ACE::strdelete ((yyvsp[0].strval)); + (yyvsp[0].strval) = 0; + } +#line 3914 "fe/idl.tab.cpp" /* yacc.c:1646 */ + break; + + case 138: +#line 1714 "fe/idl.ypp" /* yacc.c:1646 */ { // interface_forward : interface_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3940,11 +3959,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3944 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3963 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 138: -#line 1740 "fe/idl.ypp" /* yacc.c:1646 */ + case 139: +#line 1760 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_LOCAL interface_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3971,11 +3990,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3975 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 3994 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 139: -#line 1768 "fe/idl.ypp" /* yacc.c:1646 */ + case 140: +#line 1788 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_ABSTRACT interface_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4002,47 +4021,47 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4006 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4025 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 140: -#line 1798 "fe/idl.ypp" /* yacc.c:1646 */ + case 141: +#line 1818 "fe/idl.ypp" /* yacc.c:1646 */ { // const_dcl : IDL_CONST idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4015 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4034 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 141: -#line 1803 "fe/idl.ypp" /* yacc.c:1646 */ + case 142: +#line 1823 "fe/idl.ypp" /* yacc.c:1646 */ { // const_type idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4024 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4043 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 142: -#line 1808 "fe/idl.ypp" /* yacc.c:1646 */ + case 143: +#line 1828 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4033 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4052 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 143: -#line 1813 "fe/idl.ypp" /* yacc.c:1646 */ + case 144: +#line 1833 "fe/idl.ypp" /* yacc.c:1646 */ { // '=' idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4042 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4061 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 144: -#line 1818 "fe/idl.ypp" /* yacc.c:1646 */ + case 145: +#line 1838 "fe/idl.ypp" /* yacc.c:1646 */ { // expression UTL_ScopedName n ((yyvsp[-4].idval), @@ -4106,11 +4125,11 @@ yyreduce: result = 0; } } -#line 4110 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4129 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 151: -#line 1891 "fe/idl.ypp" /* yacc.c:1646 */ + case 152: +#line 1911 "fe/idl.ypp" /* yacc.c:1646 */ { // const_type // : integer_type @@ -4122,20 +4141,20 @@ yyreduce: // | string_type_spec (yyval.etval) = AST_Expression::EV_string; } -#line 4126 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4145 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 152: -#line 1903 "fe/idl.ypp" /* yacc.c:1646 */ + case 153: +#line 1923 "fe/idl.ypp" /* yacc.c:1646 */ { // | wstring_type_spec (yyval.etval) = AST_Expression::EV_wstring; } -#line 4135 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4154 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 153: -#line 1908 "fe/idl.ypp" /* yacc.c:1646 */ + case 154: +#line 1928 "fe/idl.ypp" /* yacc.c:1646 */ { // | scoped_name UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4202,11 +4221,11 @@ yyreduce: sn = 0; (yyvsp[0].idlist) = 0; } -#line 4206 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4225 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 157: -#line 1982 "fe/idl.ypp" /* yacc.c:1646 */ + case 158: +#line 2002 "fe/idl.ypp" /* yacc.c:1646 */ { // or_expr : xor_expr // | or_expr '|' xor_expr @@ -4217,11 +4236,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4221 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4240 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 159: -#line 1997 "fe/idl.ypp" /* yacc.c:1646 */ + case 160: +#line 2017 "fe/idl.ypp" /* yacc.c:1646 */ { // xor_expr : and_expr // | xor_expr '^' and_expr @@ -4232,11 +4251,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4236 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4255 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 161: -#line 2012 "fe/idl.ypp" /* yacc.c:1646 */ + case 162: +#line 2032 "fe/idl.ypp" /* yacc.c:1646 */ { // and_expr : shift_expr | and_expr '&' shift_expr (yyval.exval) = @@ -4246,11 +4265,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4250 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4269 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 163: -#line 2026 "fe/idl.ypp" /* yacc.c:1646 */ + case 164: +#line 2046 "fe/idl.ypp" /* yacc.c:1646 */ { // shift_expr : add_expr | shift_expr IDL_LEFT_SHIFT add_expr (yyval.exval) = @@ -4260,11 +4279,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4264 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4283 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 164: -#line 2036 "fe/idl.ypp" /* yacc.c:1646 */ + case 165: +#line 2056 "fe/idl.ypp" /* yacc.c:1646 */ { // | shift_expr IDL_RIGHT_SHIFT add_expr (yyval.exval) = @@ -4274,11 +4293,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4278 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4297 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 166: -#line 2050 "fe/idl.ypp" /* yacc.c:1646 */ + case 167: +#line 2070 "fe/idl.ypp" /* yacc.c:1646 */ { // add_expr : mult_expr | add_expr '+' mult_expr (yyval.exval) = @@ -4288,11 +4307,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4292 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4311 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 167: -#line 2060 "fe/idl.ypp" /* yacc.c:1646 */ + case 168: +#line 2080 "fe/idl.ypp" /* yacc.c:1646 */ { // | add_expr '-' mult_expr (yyval.exval) = @@ -4302,11 +4321,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4306 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4325 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 169: -#line 2074 "fe/idl.ypp" /* yacc.c:1646 */ + case 170: +#line 2094 "fe/idl.ypp" /* yacc.c:1646 */ { // mult_expr : unary_expr | mult_expr '*' unary_expr (yyval.exval) = @@ -4316,11 +4335,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4320 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4339 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 170: -#line 2084 "fe/idl.ypp" /* yacc.c:1646 */ + case 171: +#line 2104 "fe/idl.ypp" /* yacc.c:1646 */ { // | mult_expr '/' unary_expr (yyval.exval) = @@ -4330,11 +4349,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4334 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4353 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 171: -#line 2094 "fe/idl.ypp" /* yacc.c:1646 */ + case 172: +#line 2114 "fe/idl.ypp" /* yacc.c:1646 */ { // | mult_expr '%' unary_expr (yyval.exval) = @@ -4344,11 +4363,11 @@ yyreduce: (yyvsp[0].exval) ); } -#line 4348 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4367 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 173: -#line 2108 "fe/idl.ypp" /* yacc.c:1646 */ + case 174: +#line 2128 "fe/idl.ypp" /* yacc.c:1646 */ { // unary_expr : primary_expr | '+' primary_expr (yyval.exval) = @@ -4358,11 +4377,11 @@ yyreduce: 0 ); } -#line 4362 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4381 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 174: -#line 2118 "fe/idl.ypp" /* yacc.c:1646 */ + case 175: +#line 2138 "fe/idl.ypp" /* yacc.c:1646 */ { // | '-' primary_expr (yyval.exval) = @@ -4372,11 +4391,11 @@ yyreduce: 0 ); } -#line 4376 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4395 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 175: -#line 2128 "fe/idl.ypp" /* yacc.c:1646 */ + case 176: +#line 2148 "fe/idl.ypp" /* yacc.c:1646 */ { // | '~' primary_expr (yyval.exval) = @@ -4386,11 +4405,11 @@ yyreduce: 0 ); } -#line 4390 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4409 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 176: -#line 2141 "fe/idl.ypp" /* yacc.c:1646 */ + case 177: +#line 2161 "fe/idl.ypp" /* yacc.c:1646 */ { // primary_expr : scoped_name /* @@ -4441,40 +4460,40 @@ yyreduce: delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 4445 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4464 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 178: -#line 2193 "fe/idl.ypp" /* yacc.c:1646 */ + case 179: +#line 2213 "fe/idl.ypp" /* yacc.c:1646 */ { // | literal // | '(' const_expr ')' (yyval.exval) = (yyvsp[-1].exval); } -#line 4455 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4474 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 179: -#line 2202 "fe/idl.ypp" /* yacc.c:1646 */ + case 180: +#line 2222 "fe/idl.ypp" /* yacc.c:1646 */ { // literal : IDL_INTEGER_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4464 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4483 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 180: -#line 2207 "fe/idl.ypp" /* yacc.c:1646 */ + case 181: +#line 2227 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_UINTEGER_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4474 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4493 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 181: -#line 2213 "fe/idl.ypp" /* yacc.c:1646 */ + case 182: +#line 2233 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_STRING_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); @@ -4482,74 +4501,74 @@ yyreduce: delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4486 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4505 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 182: -#line 2221 "fe/idl.ypp" /* yacc.c:1646 */ + case 183: +#line 2241 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_WSTRING_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].wsval)); } -#line 4495 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4514 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 183: -#line 2226 "fe/idl.ypp" /* yacc.c:1646 */ + case 184: +#line 2246 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_CHARACTER_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4504 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4523 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 184: -#line 2231 "fe/idl.ypp" /* yacc.c:1646 */ + case 185: +#line 2251 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_WCHAR_LITERAL ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4514 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4533 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 185: -#line 2237 "fe/idl.ypp" /* yacc.c:1646 */ + case 186: +#line 2257 "fe/idl.ypp" /* yacc.c:1646 */ { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4522 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4541 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 186: -#line 2241 "fe/idl.ypp" /* yacc.c:1646 */ + case 187: +#line 2261 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_FLOATING_PT_LITERAL (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4531 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4550 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 187: -#line 2246 "fe/idl.ypp" /* yacc.c:1646 */ + case 188: +#line 2266 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_TRUETOK (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4540 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4559 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 188: -#line 2251 "fe/idl.ypp" /* yacc.c:1646 */ + case 189: +#line 2271 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_FALSETOK (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 4549 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4568 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 189: -#line 2259 "fe/idl.ypp" /* yacc.c:1646 */ + case 190: +#line 2279 "fe/idl.ypp" /* yacc.c:1646 */ { // positive_int_expr : const_expr int good_expression = 1; @@ -4615,57 +4634,57 @@ yyreduce: idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 4619 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4638 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 190: -#line 2328 "fe/idl.ypp" /* yacc.c:1646 */ + case 201: +#line 2381 "fe/idl.ypp" /* yacc.c:1646 */ { // type_dcl : IDL_TYPEDEF idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 4629 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4648 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 191: -#line 2334 "fe/idl.ypp" /* yacc.c:1646 */ + case 202: +#line 2387 "fe/idl.ypp" /* yacc.c:1646 */ { // type_declarator (yyval.dcval) = 0; } -#line 4638 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4657 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 192: -#line 2339 "fe/idl.ypp" /* yacc.c:1646 */ + case 203: +#line 2392 "fe/idl.ypp" /* yacc.c:1646 */ { // | struct_type (yyval.dcval) = 0; } -#line 4647 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4666 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 193: -#line 2344 "fe/idl.ypp" /* yacc.c:1646 */ + case 204: +#line 2397 "fe/idl.ypp" /* yacc.c:1646 */ { // | union_type (yyval.dcval) = 0; } -#line 4656 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4675 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 194: -#line 2349 "fe/idl.ypp" /* yacc.c:1646 */ + case 205: +#line 2402 "fe/idl.ypp" /* yacc.c:1646 */ { // | enum_type (yyval.dcval) = 0; } -#line 4665 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4684 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 195: -#line 2354 "fe/idl.ypp" /* yacc.c:1646 */ + case 206: +#line 2407 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_NATIVE simple_declarator UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4692,29 +4711,29 @@ yyreduce: delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 4696 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4715 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 196: -#line 2381 "fe/idl.ypp" /* yacc.c:1646 */ + case 207: +#line 2434 "fe/idl.ypp" /* yacc.c:1646 */ { // | constructed_forward_type_spec (yyval.dcval) = 0; } -#line 4705 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4724 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 197: -#line 2389 "fe/idl.ypp" /* yacc.c:1646 */ + case 208: +#line 2442 "fe/idl.ypp" /* yacc.c:1646 */ { // type_declarator : type_spec idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 4714 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4733 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 198: -#line 2394 "fe/idl.ypp" /* yacc.c:1646 */ + case 209: +#line 2447 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_declarator UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4778,11 +4797,11 @@ yyreduce: (yyvsp[0].dlval) = 0; } } -#line 4782 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4801 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 201: -#line 2466 "fe/idl.ypp" /* yacc.c:1646 */ + case 212: +#line 2519 "fe/idl.ypp" /* yacc.c:1646 */ { // simple_type_spec : base_type_spec (yyval.dcval) = @@ -4790,11 +4809,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 4794 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4813 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 203: -#line 2475 "fe/idl.ypp" /* yacc.c:1646 */ + case 214: +#line 2528 "fe/idl.ypp" /* yacc.c:1646 */ { // | template_type_spec // | scoped_name @@ -4819,11 +4838,11 @@ yyreduce: (yyval.dcval) = d; } -#line 4823 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4842 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 221: -#line 2532 "fe/idl.ypp" /* yacc.c:1646 */ + case 232: +#line 2585 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_declarator : declarator declarators ACE_NEW_RETURN ((yyval.dlval), @@ -4831,20 +4850,20 @@ yyreduce: (yyvsp[0].dlval)), 1); } -#line 4835 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4854 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 222: -#line 2544 "fe/idl.ypp" /* yacc.c:1646 */ + case 233: +#line 2597 "fe/idl.ypp" /* yacc.c:1646 */ { // declarators : declarators ',' idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 4844 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4863 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 223: -#line 2549 "fe/idl.ypp" /* yacc.c:1646 */ + case 234: +#line 2602 "fe/idl.ypp" /* yacc.c:1646 */ { // declarator idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -4865,20 +4884,20 @@ yyreduce: (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 4869 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4888 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 224: -#line 2570 "fe/idl.ypp" /* yacc.c:1646 */ + case 235: +#line 2623 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.dlval) = 0; } -#line 4878 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4897 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 227: -#line 2583 "fe/idl.ypp" /* yacc.c:1646 */ + case 238: +#line 2636 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_simple_declarator : simple_declarator simple_declarators ACE_NEW_RETURN ((yyval.dlval), @@ -4886,20 +4905,20 @@ yyreduce: (yyvsp[0].dlval)), 1); } -#line 4890 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4909 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 228: -#line 2595 "fe/idl.ypp" /* yacc.c:1646 */ + case 239: +#line 2648 "fe/idl.ypp" /* yacc.c:1646 */ { // simple_declarators : simple_declarators ',' idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 4899 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4918 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 229: -#line 2600 "fe/idl.ypp" /* yacc.c:1646 */ + case 240: +#line 2653 "fe/idl.ypp" /* yacc.c:1646 */ { // simple_declarator idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -4920,22 +4939,22 @@ yyreduce: (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 4924 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4943 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 230: -#line 2621 "fe/idl.ypp" /* yacc.c:1646 */ + case 241: +#line 2674 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.dlval) = 0; } -#line 4933 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4952 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 231: -#line 2629 "fe/idl.ypp" /* yacc.c:1646 */ + case 242: +#line 2682 "fe/idl.ypp" /* yacc.c:1646 */ { -// simple_declarator : id +// simple_declarator : defining_id UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, UTL_ScopedName ((yyvsp[0].idval), @@ -4947,11 +4966,11 @@ yyreduce: 0), 1); } -#line 4951 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4970 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 232: -#line 2646 "fe/idl.ypp" /* yacc.c:1646 */ + case 243: +#line 2699 "fe/idl.ypp" /* yacc.c:1646 */ { // complex_declarator : array_declarator UTL_ScopedName *sn = 0; @@ -4967,174 +4986,174 @@ yyreduce: (yyvsp[0].dcval)), 1); } -#line 4971 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4990 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 235: -#line 2670 "fe/idl.ypp" /* yacc.c:1646 */ + case 246: +#line 2723 "fe/idl.ypp" /* yacc.c:1646 */ { // signed_int : IDL_LONG (yyval.etval) = AST_Expression::EV_long; } -#line 4980 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 4999 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 236: -#line 2675 "fe/idl.ypp" /* yacc.c:1646 */ + case 247: +#line 2728 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_LONG IDL_LONG (yyval.etval) = AST_Expression::EV_longlong; } -#line 4989 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5008 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 237: -#line 2680 "fe/idl.ypp" /* yacc.c:1646 */ + case 248: +#line 2733 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_SHORT (yyval.etval) = AST_Expression::EV_short; } -#line 4998 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5017 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 238: -#line 2688 "fe/idl.ypp" /* yacc.c:1646 */ + case 249: +#line 2741 "fe/idl.ypp" /* yacc.c:1646 */ { // unsigned_int : IDL_UNSIGNED IDL_LONG (yyval.etval) = AST_Expression::EV_ulong; } -#line 5007 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5026 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 239: -#line 2693 "fe/idl.ypp" /* yacc.c:1646 */ + case 250: +#line 2746 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_UNSIGNED IDL_LONG IDL_LONG (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5016 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5035 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 240: -#line 2698 "fe/idl.ypp" /* yacc.c:1646 */ + case 251: +#line 2751 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_UNSIGNED IDL_SHORT (yyval.etval) = AST_Expression::EV_ushort; } -#line 5025 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5044 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 241: -#line 2706 "fe/idl.ypp" /* yacc.c:1646 */ + case 252: +#line 2759 "fe/idl.ypp" /* yacc.c:1646 */ { // floating_pt_type : IDL_DOUBLE (yyval.etval) = AST_Expression::EV_double; } -#line 5034 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5053 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 242: -#line 2711 "fe/idl.ypp" /* yacc.c:1646 */ + case 253: +#line 2764 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_FLOAT (yyval.etval) = AST_Expression::EV_float; } -#line 5043 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5062 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 243: -#line 2716 "fe/idl.ypp" /* yacc.c:1646 */ + case 254: +#line 2769 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_LONG IDL_DOUBLE (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5052 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5071 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 244: -#line 2724 "fe/idl.ypp" /* yacc.c:1646 */ + case 255: +#line 2777 "fe/idl.ypp" /* yacc.c:1646 */ { // fixed_type : IDL_FIXED (yyval.etval) = AST_Expression::EV_fixed; } -#line 5061 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5080 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 245: -#line 2732 "fe/idl.ypp" /* yacc.c:1646 */ + case 256: +#line 2785 "fe/idl.ypp" /* yacc.c:1646 */ { // char_type : IDL_CHAR (yyval.etval) = AST_Expression::EV_char; } -#line 5070 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5089 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 246: -#line 2737 "fe/idl.ypp" /* yacc.c:1646 */ + case 257: +#line 2790 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_WCHAR (yyval.etval) = AST_Expression::EV_wchar; } -#line 5079 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5098 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 247: -#line 2745 "fe/idl.ypp" /* yacc.c:1646 */ + case 258: +#line 2798 "fe/idl.ypp" /* yacc.c:1646 */ { // octet_type : IDL_OCTET (yyval.etval) = AST_Expression::EV_octet; } -#line 5088 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5107 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 248: -#line 2753 "fe/idl.ypp" /* yacc.c:1646 */ + case 259: +#line 2806 "fe/idl.ypp" /* yacc.c:1646 */ { // boolean_type : IDL_BOOLEAN (yyval.etval) = AST_Expression::EV_bool; } -#line 5097 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5116 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 249: -#line 2761 "fe/idl.ypp" /* yacc.c:1646 */ + case 260: +#line 2814 "fe/idl.ypp" /* yacc.c:1646 */ { // any_type : IDL_ANY (yyval.etval) = AST_Expression::EV_any; } -#line 5106 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5125 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 250: -#line 2769 "fe/idl.ypp" /* yacc.c:1646 */ + case 261: +#line 2822 "fe/idl.ypp" /* yacc.c:1646 */ { // object_type : IDL_OBJECT (yyval.etval) = AST_Expression::EV_object; } -#line 5115 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5134 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 251: -#line 2777 "fe/idl.ypp" /* yacc.c:1646 */ + case 262: +#line 2830 "fe/idl.ypp" /* yacc.c:1646 */ { // struct_decl : IDL_STRUCT idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5124 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5143 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 252: -#line 2782 "fe/idl.ypp" /* yacc.c:1646 */ + case 263: +#line 2835 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5134 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5153 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 253: -#line 2792 "fe/idl.ypp" /* yacc.c:1646 */ + case 264: +#line 2845 "fe/idl.ypp" /* yacc.c:1646 */ { // struct_type : struct_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5168,29 +5187,29 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5172 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5191 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 254: -#line 2826 "fe/idl.ypp" /* yacc.c:1646 */ + case 265: +#line 2879 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5181 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5200 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 255: -#line 2831 "fe/idl.ypp" /* yacc.c:1646 */ + case 266: +#line 2884 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_member idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5190 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5209 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 256: -#line 2836 "fe/idl.ypp" /* yacc.c:1646 */ + case 267: +#line 2889 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -5203,39 +5222,39 @@ yyreduce: ); idl_global->scopes ().pop (); } -#line 5207 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5226 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 260: -#line 2858 "fe/idl.ypp" /* yacc.c:1646 */ + case 271: +#line 2911 "fe/idl.ypp" /* yacc.c:1646 */ { // member : /* is $0 to member_i */ (yyval.vival) = AST_Field::vis_NA; } -#line 5217 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5236 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 262: -#line 2868 "fe/idl.ypp" /* yacc.c:1646 */ + case 273: +#line 2922 "fe/idl.ypp" /* yacc.c:1646 */ { // member_i : type_spec idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 5226 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5245 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 263: -#line 2873 "fe/idl.ypp" /* yacc.c:1646 */ + case 274: +#line 2927 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_declarator idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 5235 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5254 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 264: -#line 2878 "fe/idl.ypp" /* yacc.c:1646 */ + case 275: +#line 2932 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5283,7 +5302,7 @@ yyreduce: idl_global->gen ()->create_field ( tp, d->name (), - (yyvsp[-5].vival) + (yyvsp[-6].vival) ); (void) s->fe_add_field (f); } @@ -5293,58 +5312,58 @@ yyreduce: delete (yyvsp[-2].dlval); (yyvsp[-2].dlval) = 0; } -#line 5297 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5316 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 265: -#line 2936 "fe/idl.ypp" /* yacc.c:1646 */ + case 276: +#line 2990 "fe/idl.ypp" /* yacc.c:1646 */ { // | error idl_global->err()->syntax_error (idl_global->parse_state ()); } -#line 5306 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5325 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 266: -#line 2941 "fe/idl.ypp" /* yacc.c:1646 */ + case 277: +#line 2995 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 5316 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5335 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 267: -#line 2950 "fe/idl.ypp" /* yacc.c:1646 */ + case 278: +#line 3004 "fe/idl.ypp" /* yacc.c:1646 */ { // union_decl : IDL_UNION idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 5325 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5344 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 268: -#line 2955 "fe/idl.ypp" /* yacc.c:1646 */ + case 279: +#line 3009 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5335 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5354 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 269: -#line 2964 "fe/idl.ypp" /* yacc.c:1646 */ + case 280: +#line 3018 "fe/idl.ypp" /* yacc.c:1646 */ { // union_type : union_decl IDL_SWITCH idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 5344 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5363 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 270: -#line 2969 "fe/idl.ypp" /* yacc.c:1646 */ + case 281: +#line 3023 "fe/idl.ypp" /* yacc.c:1646 */ { // '(' UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5380,20 +5399,20 @@ yyreduce: * Don't delete $1 yet; we'll need it a bit later. */ } -#line 5384 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5403 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 271: -#line 3005 "fe/idl.ypp" /* yacc.c:1646 */ + case 282: +#line 3059 "fe/idl.ypp" /* yacc.c:1646 */ { // switch_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 5393 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5412 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 272: -#line 3010 "fe/idl.ypp" /* yacc.c:1646 */ + case 283: +#line 3064 "fe/idl.ypp" /* yacc.c:1646 */ { // ')' /* @@ -5450,29 +5469,29 @@ yyreduce: delete (yyvsp[-7].idval); (yyvsp[-7].idval) = 0; } -#line 5454 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5473 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 273: -#line 3067 "fe/idl.ypp" /* yacc.c:1646 */ + case 284: +#line 3121 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 5463 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5482 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 274: -#line 3072 "fe/idl.ypp" /* yacc.c:1646 */ + case 285: +#line 3126 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_case_branch idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 5472 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5491 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 275: -#line 3077 "fe/idl.ypp" /* yacc.c:1646 */ + case 286: +#line 3131 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -5489,11 +5508,11 @@ yyreduce: idl_global->scopes ().pop (); } } -#line 5493 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5512 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 276: -#line 3097 "fe/idl.ypp" /* yacc.c:1646 */ + case 287: +#line 3151 "fe/idl.ypp" /* yacc.c:1646 */ { // switch_type_spec : integer_type (yyval.dcval) = @@ -5501,11 +5520,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 5505 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5524 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 277: -#line 3105 "fe/idl.ypp" /* yacc.c:1646 */ + case 288: +#line 3159 "fe/idl.ypp" /* yacc.c:1646 */ { // | char_type /* wchars are not allowed. */ @@ -5519,11 +5538,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 5523 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5542 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 278: -#line 3119 "fe/idl.ypp" /* yacc.c:1646 */ + case 289: +#line 3173 "fe/idl.ypp" /* yacc.c:1646 */ { // | octet_type /* octets are not allowed. */ @@ -5533,11 +5552,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 5537 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5556 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 279: -#line 3129 "fe/idl.ypp" /* yacc.c:1646 */ + case 290: +#line 3183 "fe/idl.ypp" /* yacc.c:1646 */ { // | boolean_type (yyval.dcval) = @@ -5545,11 +5564,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 5549 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5568 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 281: -#line 3138 "fe/idl.ypp" /* yacc.c:1646 */ + case 292: +#line 3192 "fe/idl.ypp" /* yacc.c:1646 */ { // | enum_type // | scoped_name @@ -5655,29 +5674,29 @@ yyreduce: delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 5659 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5678 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 285: -#line 3254 "fe/idl.ypp" /* yacc.c:1646 */ + case 296: +#line 3308 "fe/idl.ypp" /* yacc.c:1646 */ { // case_branch : at_least_one_case_label idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 5668 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5687 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 286: -#line 3259 "fe/idl.ypp" /* yacc.c:1646 */ + case 297: +#line 3313 "fe/idl.ypp" /* yacc.c:1646 */ { -// element_spec +// annotations element_spec idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 5677 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5696 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 287: -#line 3264 "fe/idl.ypp" /* yacc.c:1646 */ + case 298: +#line 3318 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5690,12 +5709,12 @@ yyreduce: * Add them to the enclosing scope (the union scope) */ if (s != 0 - && (yyvsp[-4].llval) != 0 + && (yyvsp[-5].llval) != 0 && (yyvsp[-2].ffval) != 0) { b = idl_global->gen ()->create_union_branch ( - (yyvsp[-4].llval), + (yyvsp[-5].llval), f->field_type (), f->name () ); @@ -5708,30 +5727,30 @@ yyreduce: f = 0; } } -#line 5712 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5731 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 288: -#line 3295 "fe/idl.ypp" /* yacc.c:1646 */ + case 299: +#line 3349 "fe/idl.ypp" /* yacc.c:1646 */ { // | error idl_global->err()->syntax_error (idl_global->parse_state()); } -#line 5721 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5740 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 289: -#line 3300 "fe/idl.ypp" /* yacc.c:1646 */ + case 300: +#line 3354 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 5731 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5750 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 290: -#line 3309 "fe/idl.ypp" /* yacc.c:1646 */ + case 301: +#line 3363 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_case_label : case_label case_labels ACE_NEW_RETURN ((yyval.llval), @@ -5739,52 +5758,52 @@ yyreduce: (yyvsp[0].llval)), 1); } -#line 5743 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5762 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 291: -#line 3320 "fe/idl.ypp" /* yacc.c:1646 */ + case 302: +#line 3374 "fe/idl.ypp" /* yacc.c:1646 */ { -// case_labels : case_labels case_label +// case_labels : case_labels annotations case_label UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, UTL_LabelList ((yyvsp[0].ulval), 0), 1); - if ((yyvsp[-1].llval) == 0) + if ((yyvsp[-2].llval) == 0) { (yyval.llval) = ll; } else { - (yyvsp[-1].llval)->nconc (ll); - (yyval.llval) = (yyvsp[-1].llval); + (yyvsp[-2].llval)->nconc (ll); + (yyval.llval) = (yyvsp[-2].llval); } } -#line 5766 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5785 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 292: -#line 3339 "fe/idl.ypp" /* yacc.c:1646 */ + case 303: +#line 3393 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.llval) = 0; } -#line 5775 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5794 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 293: -#line 3347 "fe/idl.ypp" /* yacc.c:1646 */ + case 304: +#line 3401 "fe/idl.ypp" /* yacc.c:1646 */ { // case_label : IDL_DEFAULT idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 5784 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5803 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 294: -#line 3352 "fe/idl.ypp" /* yacc.c:1646 */ + case 305: +#line 3406 "fe/idl.ypp" /* yacc.c:1646 */ { // ':' idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -5794,28 +5813,28 @@ yyreduce: 0 ); } -#line 5798 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5817 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 295: -#line 3362 "fe/idl.ypp" /* yacc.c:1646 */ + case 306: +#line 3416 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_CASE idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 5807 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5826 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 296: -#line 3367 "fe/idl.ypp" /* yacc.c:1646 */ + case 307: +#line 3421 "fe/idl.ypp" /* yacc.c:1646 */ { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 5815 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5834 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 297: -#line 3371 "fe/idl.ypp" /* yacc.c:1646 */ + case 308: +#line 3425 "fe/idl.ypp" /* yacc.c:1646 */ { // const_expr idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -5825,20 +5844,20 @@ yyreduce: (yyvsp[-2].exval) ); } -#line 5829 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5848 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 298: -#line 3384 "fe/idl.ypp" /* yacc.c:1646 */ + case 309: +#line 3438 "fe/idl.ypp" /* yacc.c:1646 */ { // element_spec : type_spec idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 5838 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5857 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 299: -#line 3389 "fe/idl.ypp" /* yacc.c:1646 */ + case 310: +#line 3443 "fe/idl.ypp" /* yacc.c:1646 */ { // declarator idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -5883,11 +5902,11 @@ yyreduce: (yyvsp[0].deval) = 0; } } -#line 5887 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5906 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 300: -#line 3437 "fe/idl.ypp" /* yacc.c:1646 */ + case 311: +#line 3491 "fe/idl.ypp" /* yacc.c:1646 */ { // struct_forward_type : struct_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5908,11 +5927,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5912 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5931 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 301: -#line 3461 "fe/idl.ypp" /* yacc.c:1646 */ + case 312: +#line 3515 "fe/idl.ypp" /* yacc.c:1646 */ { // union_forward_type : union_decl UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -5933,22 +5952,22 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5937 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5956 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 302: -#line 3485 "fe/idl.ypp" /* yacc.c:1646 */ + case 313: +#line 3539 "fe/idl.ypp" /* yacc.c:1646 */ { // enum_type : IDL_ENUM idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 5946 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 5965 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 303: -#line 3490 "fe/idl.ypp" /* yacc.c:1646 */ + case 314: +#line 3544 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5979,29 +5998,29 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5983 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6002 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 304: -#line 3523 "fe/idl.ypp" /* yacc.c:1646 */ + case 315: +#line 3577 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 5992 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6011 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 305: -#line 3528 "fe/idl.ypp" /* yacc.c:1646 */ + case 316: +#line 3582 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_enumerator idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6001 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6020 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 306: -#line 3533 "fe/idl.ypp" /* yacc.c:1646 */ + case 317: +#line 3587 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6021,22 +6040,22 @@ yyreduce: idl_global->scopes ().pop (); } } -#line 6025 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6044 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 308: -#line 3559 "fe/idl.ypp" /* yacc.c:1646 */ + case 319: +#line 3613 "fe/idl.ypp" /* yacc.c:1646 */ { // enumerators : enumerators ',' idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6034 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6053 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 311: -#line 3569 "fe/idl.ypp" /* yacc.c:1646 */ + case 322: +#line 3623 "fe/idl.ypp" /* yacc.c:1646 */ { -// enumerator : IDENTIFIER +// enumerator : annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); Identifier id ((yyvsp[0].strval)); ACE::strdelete ((yyvsp[0].strval)); @@ -6066,29 +6085,29 @@ yyreduce: (void) s->fe_add_enum_val (e); } } -#line 6070 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6089 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 312: -#line 3605 "fe/idl.ypp" /* yacc.c:1646 */ + case 323: +#line 3659 "fe/idl.ypp" /* yacc.c:1646 */ { // sequence_type_spec : seq_head ',' idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6079 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6098 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 313: -#line 3610 "fe/idl.ypp" /* yacc.c:1646 */ + case 324: +#line 3664 "fe/idl.ypp" /* yacc.c:1646 */ { // positive_int_expr idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6088 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6107 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 314: -#line 3615 "fe/idl.ypp" /* yacc.c:1646 */ + case 325: +#line 3669 "fe/idl.ypp" /* yacc.c:1646 */ { // '>' idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -6165,11 +6184,11 @@ yyreduce: delete ev; ev = 0; } -#line 6169 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6188 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 315: -#line 3693 "fe/idl.ypp" /* yacc.c:1646 */ + case 326: +#line 3747 "fe/idl.ypp" /* yacc.c:1646 */ { // | seq_head '>' idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -6225,11 +6244,11 @@ yyreduce: } } } -#line 6229 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6248 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 316: -#line 3752 "fe/idl.ypp" /* yacc.c:1646 */ + case 327: +#line 3806 "fe/idl.ypp" /* yacc.c:1646 */ { // seq_head : IDL_SEQUENCE idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -6239,57 +6258,57 @@ yyreduce: */ idl_global->scopes ().push (0); } -#line 6243 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6262 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 317: -#line 3762 "fe/idl.ypp" /* yacc.c:1646 */ + case 328: +#line 3816 "fe/idl.ypp" /* yacc.c:1646 */ { // '<' idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 6252 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6271 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 318: -#line 3767 "fe/idl.ypp" /* yacc.c:1646 */ + case 329: +#line 3821 "fe/idl.ypp" /* yacc.c:1646 */ { // simple_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); (yyval.dcval) = (yyvsp[0].dcval); } -#line 6262 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6281 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 319: -#line 3776 "fe/idl.ypp" /* yacc.c:1646 */ + case 330: +#line 3830 "fe/idl.ypp" /* yacc.c:1646 */ { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 6271 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6290 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 320: -#line 3785 "fe/idl.ypp" /* yacc.c:1646 */ + case 331: +#line 3839 "fe/idl.ypp" /* yacc.c:1646 */ { // string_type_spec : string_head '<' idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 6280 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6299 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 321: -#line 3790 "fe/idl.ypp" /* yacc.c:1646 */ + case 332: +#line 3844 "fe/idl.ypp" /* yacc.c:1646 */ { // positive_int_expr idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 6289 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6308 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 322: -#line 3795 "fe/idl.ypp" /* yacc.c:1646 */ + case 333: +#line 3849 "fe/idl.ypp" /* yacc.c:1646 */ { // '>' idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -6332,11 +6351,11 @@ yyreduce: delete ev; ev = 0; } -#line 6336 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6355 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 323: -#line 3838 "fe/idl.ypp" /* yacc.c:1646 */ + case 334: +#line 3892 "fe/idl.ypp" /* yacc.c:1646 */ { // | string_head idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -6359,38 +6378,38 @@ yyreduce: ) ); } -#line 6363 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6382 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 324: -#line 3864 "fe/idl.ypp" /* yacc.c:1646 */ + case 335: +#line 3918 "fe/idl.ypp" /* yacc.c:1646 */ { // string_head : IDL_STRING idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 6372 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6391 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 325: -#line 3873 "fe/idl.ypp" /* yacc.c:1646 */ + case 336: +#line 3927 "fe/idl.ypp" /* yacc.c:1646 */ { // wstring_type_spec : wstring_head '<' idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 6381 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6400 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 326: -#line 3878 "fe/idl.ypp" /* yacc.c:1646 */ + case 337: +#line 3932 "fe/idl.ypp" /* yacc.c:1646 */ { // positive_int_expr idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 6390 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6409 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 327: -#line 3883 "fe/idl.ypp" /* yacc.c:1646 */ + case 338: +#line 3937 "fe/idl.ypp" /* yacc.c:1646 */ { // '>' idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -6422,11 +6441,11 @@ yyreduce: } } } -#line 6426 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6445 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 328: -#line 3915 "fe/idl.ypp" /* yacc.c:1646 */ + case 339: +#line 3969 "fe/idl.ypp" /* yacc.c:1646 */ { // | wstring_head idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -6448,29 +6467,29 @@ yyreduce: AST_String::narrow_from_decl ((yyval.dcval)) ); } -#line 6452 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6471 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 329: -#line 3940 "fe/idl.ypp" /* yacc.c:1646 */ + case 340: +#line 3994 "fe/idl.ypp" /* yacc.c:1646 */ { // wstring_head : IDL_WSTRING idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 6461 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6480 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 330: -#line 3948 "fe/idl.ypp" /* yacc.c:1646 */ + case 341: +#line 4002 "fe/idl.ypp" /* yacc.c:1646 */ { -// array_declarator : id +// array_declarator : defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 6470 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6489 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 331: -#line 3953 "fe/idl.ypp" /* yacc.c:1646 */ + case 342: +#line 4007 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_array_dim idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -6504,11 +6523,11 @@ yyreduce: } } } -#line 6508 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6527 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 332: -#line 3990 "fe/idl.ypp" /* yacc.c:1646 */ + case 343: +#line 4044 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_array_dim : array_dim array_dims ACE_NEW_RETURN ((yyval.elval), @@ -6516,11 +6535,11 @@ yyreduce: (yyvsp[0].elval)), 1); } -#line 6520 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6539 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 333: -#line 4001 "fe/idl.ypp" /* yacc.c:1646 */ + case 344: +#line 4055 "fe/idl.ypp" /* yacc.c:1646 */ { // array_dims : array_dims array_dim UTL_ExprList *el = 0; @@ -6539,38 +6558,38 @@ yyreduce: (yyval.elval) = (yyvsp[-1].elval); } } -#line 6543 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6562 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 334: -#line 4020 "fe/idl.ypp" /* yacc.c:1646 */ + case 345: +#line 4074 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.elval) = 0; } -#line 6552 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6571 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 335: -#line 4028 "fe/idl.ypp" /* yacc.c:1646 */ + case 346: +#line 4082 "fe/idl.ypp" /* yacc.c:1646 */ { // array_dim : '[' idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 6561 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6580 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 336: -#line 4033 "fe/idl.ypp" /* yacc.c:1646 */ + case 347: +#line 4087 "fe/idl.ypp" /* yacc.c:1646 */ { // positive_int_expr idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 6570 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6589 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 337: -#line 4038 "fe/idl.ypp" /* yacc.c:1646 */ + case 348: +#line 4092 "fe/idl.ypp" /* yacc.c:1646 */ { // ']' idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -6625,47 +6644,47 @@ yyreduce: delete ev; ev = 0; } -#line 6629 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6648 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 340: -#line 4101 "fe/idl.ypp" /* yacc.c:1646 */ + case 351: +#line 4155 "fe/idl.ypp" /* yacc.c:1646 */ { // attribute_readonly : IDL_READONLY idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 6638 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6657 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 341: -#line 4106 "fe/idl.ypp" /* yacc.c:1646 */ + case 352: +#line 4160 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_ATTRIBUTE idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 6647 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6666 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 342: -#line 4111 "fe/idl.ypp" /* yacc.c:1646 */ + case 353: +#line 4165 "fe/idl.ypp" /* yacc.c:1646 */ { // param_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 6656 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6675 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 343: -#line 4116 "fe/idl.ypp" /* yacc.c:1646 */ + case 354: +#line 4170 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_simple_declarator idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 6665 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6684 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 344: -#line 4121 "fe/idl.ypp" /* yacc.c:1646 */ + case 355: +#line 4175 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -6726,47 +6745,47 @@ yyreduce: delete (yyvsp[-2].dlval); (yyvsp[-2].dlval) = 0; } -#line 6730 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6749 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 345: -#line 4185 "fe/idl.ypp" /* yacc.c:1646 */ + case 356: +#line 4239 "fe/idl.ypp" /* yacc.c:1646 */ { // attribute_readwrite : IDL_ATTRIBUTE idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 6739 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6758 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 346: -#line 4190 "fe/idl.ypp" /* yacc.c:1646 */ + case 357: +#line 4244 "fe/idl.ypp" /* yacc.c:1646 */ { // param_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 6748 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6767 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 347: -#line 4195 "fe/idl.ypp" /* yacc.c:1646 */ + case 358: +#line 4249 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_simple_declarator idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 6757 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6776 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 348: -#line 4200 "fe/idl.ypp" /* yacc.c:1646 */ + case 359: +#line 4254 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_getraises idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 6766 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6785 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 349: -#line 4205 "fe/idl.ypp" /* yacc.c:1646 */ + case 360: +#line 4259 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_setraises UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -6836,22 +6855,22 @@ yyreduce: delete (yyvsp[-4].dlval); (yyvsp[-4].dlval) = 0; } -#line 6840 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6859 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 350: -#line 4278 "fe/idl.ypp" /* yacc.c:1646 */ + case 361: +#line 4332 "fe/idl.ypp" /* yacc.c:1646 */ { // exception : IDL_EXCEPTION idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 6849 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6868 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 351: -#line 4283 "fe/idl.ypp" /* yacc.c:1646 */ + case 362: +#line 4337 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6879,29 +6898,29 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6883 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6902 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 352: -#line 4313 "fe/idl.ypp" /* yacc.c:1646 */ + case 363: +#line 4367 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 6892 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6911 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 353: -#line 4318 "fe/idl.ypp" /* yacc.c:1646 */ + case 364: +#line 4372 "fe/idl.ypp" /* yacc.c:1646 */ { // members idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 6901 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6920 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 354: -#line 4323 "fe/idl.ypp" /* yacc.c:1646 */ + case 365: +#line 4377 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); @@ -6910,22 +6929,22 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 6914 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6933 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 355: -#line 4336 "fe/idl.ypp" /* yacc.c:1646 */ + case 366: +#line 4390 "fe/idl.ypp" /* yacc.c:1646 */ { // operation : opt_op_attribute op_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 6923 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 6942 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 356: -#line 4341 "fe/idl.ypp" /* yacc.c:1646 */ + case 367: +#line 4395 "fe/idl.ypp" /* yacc.c:1646 */ { -// IDENTIFIER +// annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); Identifier id ((yyvsp[0].strval)); ACE::strdelete ((yyvsp[0].strval)); @@ -6939,18 +6958,18 @@ yyreduce: * Create a node representing an operation on an interface * and add it to its enclosing scope. */ - if (s != 0 && (yyvsp[-2].dcval) != 0) + if (s != 0 && (yyvsp[-3].dcval) != 0) { AST_Type *tp = - AST_Type::narrow_from_decl ((yyvsp[-2].dcval)); + AST_Type::narrow_from_decl ((yyvsp[-3].dcval)); if (tp == 0) { - idl_global->err ()->not_a_type ((yyvsp[-2].dcval)); + idl_global->err ()->not_a_type ((yyvsp[-3].dcval)); } else if (tp->node_type () == AST_Decl::NT_except) { - idl_global->err ()->not_a_type ((yyvsp[-2].dcval)); + idl_global->err ()->not_a_type ((yyvsp[-3].dcval)); } else { @@ -6964,7 +6983,7 @@ yyreduce: o = idl_global->gen ()->create_operation ( tp, - (yyvsp[-3].ofval), + (yyvsp[-4].ofval), &n, local, s->is_abstract ()); @@ -6988,29 +7007,29 @@ yyreduce: */ idl_global->scopes ().push (o); } -#line 6992 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7011 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 357: -#line 4406 "fe/idl.ypp" /* yacc.c:1646 */ + case 368: +#line 4460 "fe/idl.ypp" /* yacc.c:1646 */ { // parameter_list idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7001 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7020 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 358: -#line 4411 "fe/idl.ypp" /* yacc.c:1646 */ + case 369: +#line 4465 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7010 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7029 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 359: -#line 4416 "fe/idl.ypp" /* yacc.c:1646 */ + case 370: +#line 4470 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_context UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7040,40 +7059,40 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 7044 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7063 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 360: -#line 4449 "fe/idl.ypp" /* yacc.c:1646 */ + case 371: +#line 4503 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_op_attribute : IDL_ONEWAY idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7054 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7073 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 361: -#line 4455 "fe/idl.ypp" /* yacc.c:1646 */ + case 372: +#line 4509 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_IDEMPOTENT idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7064 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7083 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 362: -#line 4461 "fe/idl.ypp" /* yacc.c:1646 */ + case 373: +#line 4515 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7073 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7092 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 364: -#line 4470 "fe/idl.ypp" /* yacc.c:1646 */ + case 375: +#line 4524 "fe/idl.ypp" /* yacc.c:1646 */ { // op_type_spec : param_type_spec | IDL_VOID (yyval.dcval) = @@ -7081,23 +7100,23 @@ yyreduce: AST_Expression::EV_void ); } -#line 7085 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7104 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 365: -#line 4481 "fe/idl.ypp" /* yacc.c:1646 */ + case 376: +#line 4535 "fe/idl.ypp" /* yacc.c:1646 */ { // init_decl : IDL_FACTORY //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7095 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7114 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 366: -#line 4487 "fe/idl.ypp" /* yacc.c:1646 */ + case 377: +#line 4541 "fe/idl.ypp" /* yacc.c:1646 */ { -// IDENTIFIER +// annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); if (s->is_abstract ()) @@ -7137,20 +7156,20 @@ yyreduce: */ idl_global->scopes ().push (factory); } -#line 7141 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7160 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 367: -#line 4529 "fe/idl.ypp" /* yacc.c:1646 */ + case 378: +#line 4583 "fe/idl.ypp" /* yacc.c:1646 */ { // init_parameter_list idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7150 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7169 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 368: -#line 4534 "fe/idl.ypp" /* yacc.c:1646 */ + case 379: +#line 4588 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -7164,74 +7183,74 @@ yyreduce: idl_global->scopes ().pop (); } -#line 7168 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7187 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 369: -#line 4551 "fe/idl.ypp" /* yacc.c:1646 */ + case 380: +#line 4605 "fe/idl.ypp" /* yacc.c:1646 */ { // init_parameter_list : '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7177 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7196 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 370: -#line 4556 "fe/idl.ypp" /* yacc.c:1646 */ + case 381: +#line 4610 "fe/idl.ypp" /* yacc.c:1646 */ { // ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7186 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7205 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 371: -#line 4561 "fe/idl.ypp" /* yacc.c:1646 */ + case 382: +#line 4615 "fe/idl.ypp" /* yacc.c:1646 */ { // | '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7195 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7214 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 372: -#line 4567 "fe/idl.ypp" /* yacc.c:1646 */ + case 383: +#line 4621 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_in_parameter ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7204 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7223 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 374: -#line 4578 "fe/idl.ypp" /* yacc.c:1646 */ + case 385: +#line 4632 "fe/idl.ypp" /* yacc.c:1646 */ { // in_parameters : in_parameters ',' idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 7213 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7232 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 377: -#line 4588 "fe/idl.ypp" /* yacc.c:1646 */ + case 388: +#line 4642 "fe/idl.ypp" /* yacc.c:1646 */ { // in_parameter : IDL_IN idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 7222 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7241 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 378: -#line 4593 "fe/idl.ypp" /* yacc.c:1646 */ + case 389: +#line 4647 "fe/idl.ypp" /* yacc.c:1646 */ { // param_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 7231 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7250 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 379: -#line 4598 "fe/idl.ypp" /* yacc.c:1646 */ + case 390: +#line 4652 "fe/idl.ypp" /* yacc.c:1646 */ { // declarator UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7264,74 +7283,74 @@ yyreduce: delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 7268 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7287 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 380: -#line 4634 "fe/idl.ypp" /* yacc.c:1646 */ + case 391: +#line 4688 "fe/idl.ypp" /* yacc.c:1646 */ { // parameter_list : '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7277 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7296 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 381: -#line 4639 "fe/idl.ypp" /* yacc.c:1646 */ + case 392: +#line 4693 "fe/idl.ypp" /* yacc.c:1646 */ { // ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7286 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7305 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 382: -#line 4644 "fe/idl.ypp" /* yacc.c:1646 */ + case 393: +#line 4698 "fe/idl.ypp" /* yacc.c:1646 */ { // | '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7295 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7314 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 383: -#line 4650 "fe/idl.ypp" /* yacc.c:1646 */ + case 394: +#line 4704 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_parameter ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7304 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7323 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 385: -#line 4661 "fe/idl.ypp" /* yacc.c:1646 */ + case 396: +#line 4715 "fe/idl.ypp" /* yacc.c:1646 */ { // parameters : parameters ',' idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 7313 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7332 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 388: -#line 4671 "fe/idl.ypp" /* yacc.c:1646 */ + case 399: +#line 4725 "fe/idl.ypp" /* yacc.c:1646 */ { // parameter : direction idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 7322 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7341 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 389: -#line 4676 "fe/idl.ypp" /* yacc.c:1646 */ + case 400: +#line 4730 "fe/idl.ypp" /* yacc.c:1646 */ { // param_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 7331 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7350 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 390: -#line 4681 "fe/idl.ypp" /* yacc.c:1646 */ + case 401: +#line 4735 "fe/idl.ypp" /* yacc.c:1646 */ { // declarator UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7371,11 +7390,11 @@ yyreduce: delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 7375 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7394 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 391: -#line 4724 "fe/idl.ypp" /* yacc.c:1646 */ + case 402: +#line 4778 "fe/idl.ypp" /* yacc.c:1646 */ { // param_type_spec : base_type_spec (yyval.dcval) = @@ -7383,11 +7402,11 @@ yyreduce: (yyvsp[0].etval) ); } -#line 7387 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7406 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 394: -#line 4734 "fe/idl.ypp" /* yacc.c:1646 */ + case 405: +#line 4788 "fe/idl.ypp" /* yacc.c:1646 */ { // | string_type_spec // | wstring_type_spec @@ -7494,186 +7513,186 @@ yyreduce: (yyval.dcval) = d; } -#line 7498 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7517 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 395: -#line 4844 "fe/idl.ypp" /* yacc.c:1646 */ + case 406: +#line 4898 "fe/idl.ypp" /* yacc.c:1646 */ { // direction : IDL_IN (yyval.dival) = AST_Argument::dir_IN; } -#line 7507 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7526 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 396: -#line 4849 "fe/idl.ypp" /* yacc.c:1646 */ + case 407: +#line 4903 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_OUT (yyval.dival) = AST_Argument::dir_OUT; } -#line 7516 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7535 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 397: -#line 4854 "fe/idl.ypp" /* yacc.c:1646 */ + case 408: +#line 4908 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_INOUT (yyval.dival) = AST_Argument::dir_INOUT; } -#line 7525 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7544 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 398: -#line 4862 "fe/idl.ypp" /* yacc.c:1646 */ + case 409: +#line 4916 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises : IDL_RAISES idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 7534 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7553 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 399: -#line 4867 "fe/idl.ypp" /* yacc.c:1646 */ + case 410: +#line 4921 "fe/idl.ypp" /* yacc.c:1646 */ { // '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 7543 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7562 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 400: -#line 4873 "fe/idl.ypp" /* yacc.c:1646 */ + case 411: +#line 4927 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_scoped_name ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 7553 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7572 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 401: -#line 4879 "fe/idl.ypp" /* yacc.c:1646 */ + case 412: +#line 4933 "fe/idl.ypp" /* yacc.c:1646 */ { (yyval.nlval) = 0; /* | EMPTY */ } -#line 7562 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7581 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 402: -#line 4887 "fe/idl.ypp" /* yacc.c:1646 */ + case 413: +#line 4941 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_getraises : IDL_GETRAISES idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 7571 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7590 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 403: -#line 4892 "fe/idl.ypp" /* yacc.c:1646 */ + case 414: +#line 4946 "fe/idl.ypp" /* yacc.c:1646 */ { // '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 7580 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7599 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 404: -#line 4898 "fe/idl.ypp" /* yacc.c:1646 */ + case 415: +#line 4952 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_scoped_name ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 7590 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7609 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 405: -#line 4904 "fe/idl.ypp" /* yacc.c:1646 */ + case 416: +#line 4958 "fe/idl.ypp" /* yacc.c:1646 */ { (yyval.nlval) = 0; /* | EMPTY */ } -#line 7599 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7618 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 406: -#line 4912 "fe/idl.ypp" /* yacc.c:1646 */ + case 417: +#line 4966 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_setraises : IDL_SETRAISES idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 7608 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7627 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 407: -#line 4917 "fe/idl.ypp" /* yacc.c:1646 */ + case 418: +#line 4971 "fe/idl.ypp" /* yacc.c:1646 */ { // '(' idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 7617 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7636 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 408: -#line 4923 "fe/idl.ypp" /* yacc.c:1646 */ + case 419: +#line 4977 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_scoped_name ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 7627 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7646 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 409: -#line 4929 "fe/idl.ypp" /* yacc.c:1646 */ + case 420: +#line 4983 "fe/idl.ypp" /* yacc.c:1646 */ { (yyval.nlval) = 0; /* | EMPTY */ } -#line 7636 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7655 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 410: -#line 4937 "fe/idl.ypp" /* yacc.c:1646 */ + case 421: +#line 4991 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_context : IDL_CONTEXT idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 7645 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7664 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 411: -#line 4942 "fe/idl.ypp" /* yacc.c:1646 */ + case 422: +#line 4996 "fe/idl.ypp" /* yacc.c:1646 */ { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); // '(' } -#line 7654 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7673 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 412: -#line 4948 "fe/idl.ypp" /* yacc.c:1646 */ + case 423: +#line 5002 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_string_literal ')' idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 7664 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7683 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 413: -#line 4954 "fe/idl.ypp" /* yacc.c:1646 */ + case 424: +#line 5008 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.slval) = 0; } -#line 7673 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7692 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 414: -#line 4962 "fe/idl.ypp" /* yacc.c:1646 */ + case 425: +#line 5016 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_string_literal : IDL_STRING_LITERAL string_literals ACE_NEW_RETURN ((yyval.slval), @@ -7681,20 +7700,20 @@ yyreduce: (yyvsp[0].slval)), 1); } -#line 7685 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7704 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 415: -#line 4974 "fe/idl.ypp" /* yacc.c:1646 */ + case 426: +#line 5028 "fe/idl.ypp" /* yacc.c:1646 */ { // string_literals : string_literals ',' idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 7694 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7713 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 416: -#line 4979 "fe/idl.ypp" /* yacc.c:1646 */ + case 427: +#line 5033 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_STRING_LITERAL UTL_StrList *sl = 0; @@ -7713,20 +7732,20 @@ yyreduce: (yyval.slval) = (yyvsp[-3].slval); } } -#line 7717 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7736 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 417: -#line 4998 "fe/idl.ypp" /* yacc.c:1646 */ + case 428: +#line 5052 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.slval) = 0; } -#line 7726 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7745 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 418: -#line 5006 "fe/idl.ypp" /* yacc.c:1646 */ + case 429: +#line 5060 "fe/idl.ypp" /* yacc.c:1646 */ { // typeid_dcl : IDL_TYPEID scoped_name IDL_STRING_LITERAL UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7752,11 +7771,11 @@ yyreduce: delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 7756 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7775 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 419: -#line 5035 "fe/idl.ypp" /* yacc.c:1646 */ + case 430: +#line 5089 "fe/idl.ypp" /* yacc.c:1646 */ { // typeprefix_dcl : IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7791,13 +7810,13 @@ yyreduce: delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 7795 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7814 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 422: -#line 5079 "fe/idl.ypp" /* yacc.c:1646 */ + case 433: +#line 5133 "fe/idl.ypp" /* yacc.c:1646 */ { -// component_forward_decl : IDL_COMPONENT id +// component_forward_decl : IDL_COMPONENT defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -7820,11 +7839,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 7824 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7843 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 423: -#line 5107 "fe/idl.ypp" /* yacc.c:1646 */ + case 434: +#line 5161 "fe/idl.ypp" /* yacc.c:1646 */ { // component_decl : component_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7864,29 +7883,29 @@ yyreduce: */ idl_global->scopes ().push (c); } -#line 7868 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7887 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 424: -#line 5147 "fe/idl.ypp" /* yacc.c:1646 */ + case 435: +#line 5201 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 7877 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7896 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 425: -#line 5152 "fe/idl.ypp" /* yacc.c:1646 */ + case 436: +#line 5206 "fe/idl.ypp" /* yacc.c:1646 */ { // component_exports idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 7886 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7905 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 426: -#line 5157 "fe/idl.ypp" /* yacc.c:1646 */ + case 437: +#line 5211 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -7896,29 +7915,29 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 7900 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7919 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 427: -#line 5171 "fe/idl.ypp" /* yacc.c:1646 */ + case 438: +#line 5225 "fe/idl.ypp" /* yacc.c:1646 */ { -// component_header: IDL_COMPONENT id +// component_header: IDL_COMPONENT defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 7909 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7928 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 428: -#line 5176 "fe/idl.ypp" /* yacc.c:1646 */ + case 439: +#line 5230 "fe/idl.ypp" /* yacc.c:1646 */ { // component_inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 7918 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7937 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 429: -#line 5181 "fe/idl.ypp" /* yacc.c:1646 */ + case 440: +#line 5235 "fe/idl.ypp" /* yacc.c:1646 */ { // supports_spec idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -7953,164 +7972,164 @@ yyreduce: (yyvsp[-2].idlist) = 0; } } -#line 7957 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7976 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 430: -#line 5219 "fe/idl.ypp" /* yacc.c:1646 */ + case 441: +#line 5273 "fe/idl.ypp" /* yacc.c:1646 */ { // component_inheritance_spec : ':' idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 7966 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7985 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 431: -#line 5224 "fe/idl.ypp" /* yacc.c:1646 */ + case 442: +#line 5278 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_name (yyval.idlist) = (yyvsp[0].idlist); } -#line 7975 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 7994 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 432: -#line 5229 "fe/idl.ypp" /* yacc.c:1646 */ + case 443: +#line 5283 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.idlist) = 0; } -#line 7984 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8003 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 435: -#line 5242 "fe/idl.ypp" /* yacc.c:1646 */ + case 446: +#line 5296 "fe/idl.ypp" /* yacc.c:1646 */ { // component_export : provides_decl idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 7993 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8012 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 436: -#line 5247 "fe/idl.ypp" /* yacc.c:1646 */ + case 447: +#line 5301 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8002 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8021 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 437: -#line 5252 "fe/idl.ypp" /* yacc.c:1646 */ + case 448: +#line 5306 "fe/idl.ypp" /* yacc.c:1646 */ { // | uses_decl idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8011 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8030 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 438: -#line 5257 "fe/idl.ypp" /* yacc.c:1646 */ + case 449: +#line 5311 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8020 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8039 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 439: -#line 5262 "fe/idl.ypp" /* yacc.c:1646 */ + case 450: +#line 5316 "fe/idl.ypp" /* yacc.c:1646 */ { // | emits_decl idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8029 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8048 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 440: -#line 5267 "fe/idl.ypp" /* yacc.c:1646 */ + case 451: +#line 5321 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8038 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8057 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 441: -#line 5272 "fe/idl.ypp" /* yacc.c:1646 */ + case 452: +#line 5326 "fe/idl.ypp" /* yacc.c:1646 */ { // | publishes_decl idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8047 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8066 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 442: -#line 5277 "fe/idl.ypp" /* yacc.c:1646 */ + case 453: +#line 5331 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8056 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8075 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 443: -#line 5282 "fe/idl.ypp" /* yacc.c:1646 */ + case 454: +#line 5336 "fe/idl.ypp" /* yacc.c:1646 */ { // | consumes_decl idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8065 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8084 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 444: -#line 5287 "fe/idl.ypp" /* yacc.c:1646 */ + case 455: +#line 5341 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8074 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8093 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 445: -#line 5292 "fe/idl.ypp" /* yacc.c:1646 */ + case 456: +#line 5346 "fe/idl.ypp" /* yacc.c:1646 */ { // | attribute idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8083 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8102 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 446: -#line 5297 "fe/idl.ypp" /* yacc.c:1646 */ + case 457: +#line 5351 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8092 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8111 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 447: -#line 5302 "fe/idl.ypp" /* yacc.c:1646 */ + case 458: +#line 5356 "fe/idl.ypp" /* yacc.c:1646 */ { // | extended_port_decl idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8101 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8120 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 448: -#line 5307 "fe/idl.ypp" /* yacc.c:1646 */ + case 459: +#line 5361 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8110 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8129 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 449: -#line 5314 "fe/idl.ypp" /* yacc.c:1646 */ + case 460: +#line 5368 "fe/idl.ypp" /* yacc.c:1646 */ { // provides_decl : IDL_PROVIDES interface_type id UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8198,22 +8217,22 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 8202 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8221 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 450: -#line 5405 "fe/idl.ypp" /* yacc.c:1646 */ + case 461: +#line 5459 "fe/idl.ypp" /* yacc.c:1646 */ { // interface_type : scoped_name // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 8213 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8232 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 451: -#line 5412 "fe/idl.ypp" /* yacc.c:1646 */ + case 462: +#line 5466 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_OBJECT Identifier *corba_id = 0; @@ -8237,11 +8256,11 @@ yyreduce: conc_name), 1); } -#line 8241 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8260 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 452: -#line 5438 "fe/idl.ypp" /* yacc.c:1646 */ + case 463: +#line 5492 "fe/idl.ypp" /* yacc.c:1646 */ { // uses_decl : uses_opt_multiple interface_type id UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8345,40 +8364,40 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 8349 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8368 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 453: -#line 5545 "fe/idl.ypp" /* yacc.c:1646 */ + case 464: +#line 5599 "fe/idl.ypp" /* yacc.c:1646 */ { // uses_opt_multiple : IDL_USES opt_multiple // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 8360 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8379 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 454: -#line 5555 "fe/idl.ypp" /* yacc.c:1646 */ + case 465: +#line 5609 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_multiple : IDL_MULTIPLE (yyval.bval) = true; } -#line 8369 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8388 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 455: -#line 5560 "fe/idl.ypp" /* yacc.c:1646 */ + case 466: +#line 5614 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.bval) = false; } -#line 8378 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8397 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 456: -#line 5567 "fe/idl.ypp" /* yacc.c:1646 */ + case 467: +#line 5621 "fe/idl.ypp" /* yacc.c:1646 */ { // emits_decl : IDL_EMITS scoped_name id UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8449,11 +8468,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 8453 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8472 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 457: -#line 5640 "fe/idl.ypp" /* yacc.c:1646 */ + case 468: +#line 5694 "fe/idl.ypp" /* yacc.c:1646 */ { // publishes_decl : IDL_PUBLISHES scoped_name id UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8524,11 +8543,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 8528 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8547 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 458: -#line 5713 "fe/idl.ypp" /* yacc.c:1646 */ + case 469: +#line 5767 "fe/idl.ypp" /* yacc.c:1646 */ { // consumes_decl : IDL_CONSUMES scoped_name id UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8599,11 +8618,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 8603 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8622 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 459: -#line 5787 "fe/idl.ypp" /* yacc.c:1646 */ + case 470: +#line 5841 "fe/idl.ypp" /* yacc.c:1646 */ { // home_decl : home_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8641,11 +8660,11 @@ yyreduce: */ idl_global->scopes ().push (h); } -#line 8645 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8664 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 460: -#line 5825 "fe/idl.ypp" /* yacc.c:1646 */ + case 471: +#line 5879 "fe/idl.ypp" /* yacc.c:1646 */ { // home_body /* @@ -8653,65 +8672,65 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 8657 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8676 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 461: -#line 5836 "fe/idl.ypp" /* yacc.c:1646 */ + case 472: +#line 5890 "fe/idl.ypp" /* yacc.c:1646 */ { // home_header : IDL_HOME idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 8666 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8685 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 462: -#line 5841 "fe/idl.ypp" /* yacc.c:1646 */ + case 473: +#line 5895 "fe/idl.ypp" /* yacc.c:1646 */ { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 8675 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8694 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 463: -#line 5846 "fe/idl.ypp" /* yacc.c:1646 */ + case 474: +#line 5900 "fe/idl.ypp" /* yacc.c:1646 */ { // home_inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8684 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8703 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 464: -#line 5851 "fe/idl.ypp" /* yacc.c:1646 */ + case 475: +#line 5905 "fe/idl.ypp" /* yacc.c:1646 */ { // supports_spec idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 8693 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8712 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 465: -#line 5856 "fe/idl.ypp" /* yacc.c:1646 */ + case 476: +#line 5910 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_MANAGES idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 8702 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8721 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 466: -#line 5861 "fe/idl.ypp" /* yacc.c:1646 */ + case 477: +#line 5915 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_name idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 8711 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8730 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 467: -#line 5866 "fe/idl.ypp" /* yacc.c:1646 */ + case 478: +#line 5920 "fe/idl.ypp" /* yacc.c:1646 */ { // primary_key_spec idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -8758,121 +8777,121 @@ yyreduce: (yyvsp[-6].nlval) = 0; } } -#line 8762 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8781 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 468: -#line 5916 "fe/idl.ypp" /* yacc.c:1646 */ + case 479: +#line 5970 "fe/idl.ypp" /* yacc.c:1646 */ { // home_inheritance_spec ':' idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8771 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8790 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 469: -#line 5921 "fe/idl.ypp" /* yacc.c:1646 */ + case 480: +#line 5975 "fe/idl.ypp" /* yacc.c:1646 */ { // scoped_name (yyval.idlist) = (yyvsp[0].idlist); } -#line 8780 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8799 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 470: -#line 5926 "fe/idl.ypp" /* yacc.c:1646 */ + case 481: +#line 5980 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.idlist) = 0; } -#line 8789 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8808 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 471: -#line 5935 "fe/idl.ypp" /* yacc.c:1646 */ + case 482: +#line 5989 "fe/idl.ypp" /* yacc.c:1646 */ { // primary_key_spec : IDL_PRIMARYKEY scoped_name (yyval.idlist) = (yyvsp[0].idlist); } -#line 8798 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8817 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 472: -#line 5940 "fe/idl.ypp" /* yacc.c:1646 */ + case 483: +#line 5994 "fe/idl.ypp" /* yacc.c:1646 */ { /* | EMPTY */ (yyval.idlist) = 0; } -#line 8807 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8826 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 473: -#line 5948 "fe/idl.ypp" /* yacc.c:1646 */ + case 484: +#line 6002 "fe/idl.ypp" /* yacc.c:1646 */ { // home_body : '{' idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 8816 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8835 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 474: -#line 5953 "fe/idl.ypp" /* yacc.c:1646 */ + case 485: +#line 6007 "fe/idl.ypp" /* yacc.c:1646 */ { // home_exports idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 8825 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8844 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 475: -#line 5958 "fe/idl.ypp" /* yacc.c:1646 */ + case 486: +#line 6012 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 8834 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8853 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 479: -#line 5972 "fe/idl.ypp" /* yacc.c:1646 */ + case 490: +#line 6026 "fe/idl.ypp" /* yacc.c:1646 */ { // home_export : factory_decl idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 8843 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8862 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 480: -#line 5977 "fe/idl.ypp" /* yacc.c:1646 */ + case 491: +#line 6031 "fe/idl.ypp" /* yacc.c:1646 */ { // | ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8852 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8871 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 481: -#line 5982 "fe/idl.ypp" /* yacc.c:1646 */ + case 492: +#line 6036 "fe/idl.ypp" /* yacc.c:1646 */ { // | finder_decl idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 8861 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8880 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 482: -#line 5987 "fe/idl.ypp" /* yacc.c:1646 */ + case 493: +#line 6041 "fe/idl.ypp" /* yacc.c:1646 */ { // | ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 8870 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8889 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 483: -#line 5996 "fe/idl.ypp" /* yacc.c:1646 */ + case 494: +#line 6050 "fe/idl.ypp" /* yacc.c:1646 */ { -// factory_decl : IDL_FACTORY id +// factory_decl : IDL_FACTORY defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -8894,20 +8913,20 @@ yyreduce: */ idl_global->scopes ().push (f); } -#line 8898 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8917 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 484: -#line 6020 "fe/idl.ypp" /* yacc.c:1646 */ + case 495: +#line 6074 "fe/idl.ypp" /* yacc.c:1646 */ { // init_parameter_list idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8907 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8926 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 485: -#line 6025 "fe/idl.ypp" /* yacc.c:1646 */ + case 496: +#line 6079 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8926,13 +8945,13 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 8930 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8949 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 486: -#line 6048 "fe/idl.ypp" /* yacc.c:1646 */ + case 497: +#line 6102 "fe/idl.ypp" /* yacc.c:1646 */ { -// finder_decl : IDL_FINDER id +// finder_decl : IDL_FINDER defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -8958,20 +8977,20 @@ yyreduce: */ idl_global->scopes ().push (f); } -#line 8962 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8981 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 487: -#line 6076 "fe/idl.ypp" /* yacc.c:1646 */ + case 498: +#line 6130 "fe/idl.ypp" /* yacc.c:1646 */ { // init_parameter_list idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8971 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 8990 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 488: -#line 6081 "fe/idl.ypp" /* yacc.c:1646 */ + case 499: +#line 6135 "fe/idl.ypp" /* yacc.c:1646 */ { // opt_raises UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8990,13 +9009,13 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 8994 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9013 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 494: -#line 6115 "fe/idl.ypp" /* yacc.c:1646 */ + case 505: +#line 6169 "fe/idl.ypp" /* yacc.c:1646 */ { -// event_concrete_forward_decl : IDL_EVENTTYPE id +// event_concrete_forward_decl : IDL_EVENTTYPE defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -9018,13 +9037,13 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 9022 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9041 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 495: -#line 6144 "fe/idl.ypp" /* yacc.c:1646 */ + case 506: +#line 6198 "fe/idl.ypp" /* yacc.c:1646 */ { -// event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE id +// event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -9046,11 +9065,11 @@ yyreduce: delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 9050 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9069 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 496: -#line 6172 "fe/idl.ypp" /* yacc.c:1646 */ + case 507: +#line 6226 "fe/idl.ypp" /* yacc.c:1646 */ { // event_abs_decl : event_abs_header event_rest_of_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -9095,29 +9114,29 @@ yyreduce: delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9099 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9118 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 497: -#line 6217 "fe/idl.ypp" /* yacc.c:1646 */ + case 508: +#line 6271 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9108 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9127 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 498: -#line 6222 "fe/idl.ypp" /* yacc.c:1646 */ + case 509: +#line 6276 "fe/idl.ypp" /* yacc.c:1646 */ { // exports idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9117 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9136 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 499: -#line 6227 "fe/idl.ypp" /* yacc.c:1646 */ + case 510: +#line 6281 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9127,22 +9146,22 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 9131 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9150 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 500: -#line 6242 "fe/idl.ypp" /* yacc.c:1646 */ + case 511: +#line 6296 "fe/idl.ypp" /* yacc.c:1646 */ { -// event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE id +// event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE defining_id (yyval.idval) = (yyvsp[0].idval); } -#line 9140 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9159 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 501: -#line 6252 "fe/idl.ypp" /* yacc.c:1646 */ + case 512: +#line 6306 "fe/idl.ypp" /* yacc.c:1646 */ { -// event_custom_header : IDL_CUSTOM IDL_EVENTTYPE id +// event_custom_header : IDL_CUSTOM IDL_EVENTTYPE defining_id idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); ACE_DEBUG ((LM_DEBUG, @@ -9154,31 +9173,31 @@ yyreduce: ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9158 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9177 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 502: -#line 6270 "fe/idl.ypp" /* yacc.c:1646 */ + case 513: +#line 6324 "fe/idl.ypp" /* yacc.c:1646 */ { -// event_plain_header : IDL_EVENTTYPE id +// event_plain_header : IDL_EVENTTYPE defining_id idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9169 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9188 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 503: -#line 6280 "fe/idl.ypp" /* yacc.c:1646 */ + case 514: +#line 6334 "fe/idl.ypp" /* yacc.c:1646 */ { // event_rest_of_header : inheritance_spec idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9178 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9197 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 504: -#line 6285 "fe/idl.ypp" /* yacc.c:1646 */ + case 515: +#line 6339 "fe/idl.ypp" /* yacc.c:1646 */ { // supports_spec idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -9208,11 +9227,11 @@ yyreduce: (yyvsp[-2].nlval) = 0; } } -#line 9212 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9231 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 505: -#line 6319 "fe/idl.ypp" /* yacc.c:1646 */ + case 516: +#line 6373 "fe/idl.ypp" /* yacc.c:1646 */ { // event_decl : event_header event_rest_of_header UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -9262,29 +9281,29 @@ yyreduce: */ idl_global->scopes ().push (e); } -#line 9266 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9285 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 506: -#line 6369 "fe/idl.ypp" /* yacc.c:1646 */ + case 517: +#line 6423 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9275 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9294 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 507: -#line 6374 "fe/idl.ypp" /* yacc.c:1646 */ + case 518: +#line 6428 "fe/idl.ypp" /* yacc.c:1646 */ { // value_elements idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9284 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9303 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 508: -#line 6379 "fe/idl.ypp" /* yacc.c:1646 */ + case 519: +#line 6433 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9294,120 +9313,120 @@ yyreduce: */ idl_global->scopes ().pop (); } -#line 9298 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9317 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 509: -#line 6392 "fe/idl.ypp" /* yacc.c:1646 */ + case 520: +#line 6446 "fe/idl.ypp" /* yacc.c:1646 */ { // event_header : event_custom_header (yyval.idval) = (yyvsp[0].idval); } -#line 9307 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9326 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 510: -#line 6397 "fe/idl.ypp" /* yacc.c:1646 */ + case 521: +#line 6451 "fe/idl.ypp" /* yacc.c:1646 */ { // event_header : event_plain_header (yyval.idval) = (yyvsp[0].idval); } -#line 9316 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9335 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 511: -#line 6405 "fe/idl.ypp" /* yacc.c:1646 */ + case 522: +#line 6459 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameter_type : IDL_TYPENAME (yyval.ntval) = AST_Decl::NT_type; } -#line 9325 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9344 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 512: -#line 6410 "fe/idl.ypp" /* yacc.c:1646 */ + case 523: +#line 6464 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_STRUCT (yyval.ntval) = AST_Decl::NT_struct; } -#line 9334 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9353 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 513: -#line 6415 "fe/idl.ypp" /* yacc.c:1646 */ + case 524: +#line 6469 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_UNION (yyval.ntval) = AST_Decl::NT_union; } -#line 9343 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9362 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 514: -#line 6420 "fe/idl.ypp" /* yacc.c:1646 */ + case 525: +#line 6474 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_EVENTTYPE (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 9352 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9371 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 515: -#line 6425 "fe/idl.ypp" /* yacc.c:1646 */ + case 526: +#line 6479 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_SEQUENCE (yyval.ntval) = AST_Decl::NT_sequence; } -#line 9361 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9380 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 516: -#line 6430 "fe/idl.ypp" /* yacc.c:1646 */ + case 527: +#line 6484 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_INTERFACE (yyval.ntval) = AST_Decl::NT_interface; } -#line 9370 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9389 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 517: -#line 6435 "fe/idl.ypp" /* yacc.c:1646 */ + case 528: +#line 6489 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_VALUETYPE (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 9379 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9398 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 518: -#line 6440 "fe/idl.ypp" /* yacc.c:1646 */ + case 529: +#line 6494 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_ENUM (yyval.ntval) = AST_Decl::NT_enum; } -#line 9388 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9407 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 519: -#line 6445 "fe/idl.ypp" /* yacc.c:1646 */ + case 530: +#line 6499 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_EXCEPTION (yyval.ntval) = AST_Decl::NT_except; } -#line 9397 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9416 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 520: -#line 6450 "fe/idl.ypp" /* yacc.c:1646 */ + case 531: +#line 6504 "fe/idl.ypp" /* yacc.c:1646 */ { // IDL_CONST const_type (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 9407 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9426 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 521: -#line 6459 "fe/idl.ypp" /* yacc.c:1646 */ + case 532: +#line 6513 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_formal_parameter : formal_parameter formal_parameters if ((yyvsp[0].plval) == 0) @@ -9438,20 +9457,20 @@ yyreduce: (yyval.plval) = (yyvsp[0].plval); } -#line 9442 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9461 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 522: -#line 6493 "fe/idl.ypp" /* yacc.c:1646 */ + case 533: +#line 6547 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameters : formal_parameters ',' // Maybe add a new parse state to set here. } -#line 9451 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9470 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 523: -#line 6498 "fe/idl.ypp" /* yacc.c:1646 */ + case 534: +#line 6552 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameter if ((yyvsp[-3].plval) == 0) @@ -9467,20 +9486,20 @@ yyreduce: delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 9471 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9490 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 524: -#line 6514 "fe/idl.ypp" /* yacc.c:1646 */ + case 535: +#line 6568 "fe/idl.ypp" /* yacc.c:1646 */ { // /* EMPTY */ (yyval.plval) = 0; } -#line 9480 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9499 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 525: -#line 6522 "fe/idl.ypp" /* yacc.c:1646 */ + case 536: +#line 6576 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameter : formal_parameter_type IDENTIFIER @@ -9506,11 +9525,11 @@ yyreduce: tao_enum_constant_decl = 0; } } -#line 9510 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9529 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 526: -#line 6548 "fe/idl.ypp" /* yacc.c:1646 */ + case 537: +#line 6602 "fe/idl.ypp" /* yacc.c:1646 */ { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -9525,11 +9544,11 @@ yyreduce: ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 9529 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9548 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 527: -#line 6566 "fe/idl.ypp" /* yacc.c:1646 */ + case 538: +#line 6620 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_formal_parameter_name : formal_parameter_name formal_parameter_names ACE_NEW_RETURN ((yyval.slval), @@ -9537,11 +9556,11 @@ yyreduce: (yyvsp[0].slval)), 1); } -#line 9541 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9560 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 528: -#line 6577 "fe/idl.ypp" /* yacc.c:1646 */ + case 539: +#line 6631 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameter_names : formal_parameter_names ',' formal_parameter_name UTL_StrList *sl = 0; @@ -9560,42 +9579,42 @@ yyreduce: (yyval.slval) = (yyvsp[-2].slval); } } -#line 9564 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9583 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 529: -#line 6596 "fe/idl.ypp" /* yacc.c:1646 */ + case 540: +#line 6650 "fe/idl.ypp" /* yacc.c:1646 */ { // /* EMPTY */ (yyval.slval) = 0; } -#line 9573 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9592 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 530: -#line 6604 "fe/idl.ypp" /* yacc.c:1646 */ + case 541: +#line 6658 "fe/idl.ypp" /* yacc.c:1646 */ { // formal_parameter_name : IDENTIFIER ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 9584 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9603 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 531: -#line 6614 "fe/idl.ypp" /* yacc.c:1646 */ + case 542: +#line 6668 "fe/idl.ypp" /* yacc.c:1646 */ { // porttype_decl : IDL_PORTTYPE idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 9593 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9612 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 532: -#line 6619 "fe/idl.ypp" /* yacc.c:1646 */ + case 543: +#line 6673 "fe/idl.ypp" /* yacc.c:1646 */ { -// IDENTIFIER +// annotations IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -9612,29 +9631,29 @@ yyreduce: // Push it on the scopes stack. idl_global->scopes ().push (p); } -#line 9616 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9635 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 533: -#line 6638 "fe/idl.ypp" /* yacc.c:1646 */ + case 544: +#line 6692 "fe/idl.ypp" /* yacc.c:1646 */ { // '{' idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 9625 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9644 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 534: -#line 6643 "fe/idl.ypp" /* yacc.c:1646 */ + case 545: +#line 6697 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_port_export idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 9634 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9653 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 535: -#line 6648 "fe/idl.ypp" /* yacc.c:1646 */ + case 546: +#line 6702 "fe/idl.ypp" /* yacc.c:1646 */ { // '}' idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -9642,84 +9661,84 @@ yyreduce: // Done with this port type - pop it off the scopes stack. idl_global->scopes ().pop (); } -#line 9646 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9665 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 536: -#line 6659 "fe/idl.ypp" /* yacc.c:1646 */ + case 547: +#line 6713 "fe/idl.ypp" /* yacc.c:1646 */ { // at_least_one_port_export : port_export port_exports } -#line 9654 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9673 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 537: -#line 6666 "fe/idl.ypp" /* yacc.c:1646 */ + case 548: +#line 6720 "fe/idl.ypp" /* yacc.c:1646 */ { // port_exports : port_exports port_export } -#line 9662 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9681 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 538: -#line 6670 "fe/idl.ypp" /* yacc.c:1646 */ + case 549: +#line 6724 "fe/idl.ypp" /* yacc.c:1646 */ { // | /* EMPTY */ } -#line 9670 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9689 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 539: -#line 6677 "fe/idl.ypp" /* yacc.c:1646 */ + case 550: +#line 6731 "fe/idl.ypp" /* yacc.c:1646 */ { // port_export : provides_decl } -#line 9678 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9697 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 540: -#line 6681 "fe/idl.ypp" /* yacc.c:1646 */ + case 551: +#line 6735 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' } -#line 9686 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9705 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 541: -#line 6685 "fe/idl.ypp" /* yacc.c:1646 */ + case 552: +#line 6739 "fe/idl.ypp" /* yacc.c:1646 */ { // | uses_decl } -#line 9694 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9713 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 542: -#line 6689 "fe/idl.ypp" /* yacc.c:1646 */ + case 553: +#line 6743 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' } -#line 9702 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9721 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 543: -#line 6693 "fe/idl.ypp" /* yacc.c:1646 */ + case 554: +#line 6747 "fe/idl.ypp" /* yacc.c:1646 */ { // | attribute idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 9711 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9730 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 544: -#line 6698 "fe/idl.ypp" /* yacc.c:1646 */ + case 555: +#line 6752 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' } -#line 9719 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9738 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 545: -#line 6705 "fe/idl.ypp" /* yacc.c:1646 */ + case 556: +#line 6759 "fe/idl.ypp" /* yacc.c:1646 */ { // extended_port_decl : IDL_PORT scoped_name IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); @@ -9789,11 +9808,11 @@ yyreduce: delete (yyvsp[-1].idlist); (yyvsp[-1].idlist) = 0; } -#line 9793 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9812 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 546: -#line 6775 "fe/idl.ypp" /* yacc.c:1646 */ + case 557: +#line 6829 "fe/idl.ypp" /* yacc.c:1646 */ { // | IDL_MIRRORPORT scoped_name IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); @@ -9841,13 +9860,13 @@ yyreduce: delete (yyvsp[-1].idlist); (yyvsp[-1].idlist) = 0; } -#line 9845 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9864 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 547: -#line 6826 "fe/idl.ypp" /* yacc.c:1646 */ + case 558: +#line 6880 "fe/idl.ypp" /* yacc.c:1646 */ { -// at_least_one_actual_parameter : actual_parameter actual_parameters +// at_least_one_actual_parameter : annotations actual_parameter actual_parameters if ((yyvsp[0].alval) == 0) { ACE_NEW_RETURN ((yyvsp[0].alval), @@ -9858,37 +9877,37 @@ yyreduce: (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 9862 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9881 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 548: -#line 6842 "fe/idl.ypp" /* yacc.c:1646 */ + case 559: +#line 6896 "fe/idl.ypp" /* yacc.c:1646 */ { -// actual_parameters : actual_parameters ',' actual_parameter - if ((yyvsp[-2].alval) == 0) +// actual_parameters : actual_parameters ',' annotations actual_parameter + if ((yyvsp[-3].alval) == 0) { - ACE_NEW_RETURN ((yyvsp[-2].alval), + ACE_NEW_RETURN ((yyvsp[-3].alval), FE_Utils::T_ARGLIST, 1); } - (yyvsp[-2].alval)->enqueue_tail ((yyvsp[0].dcval)); - (yyval.alval) = (yyvsp[-2].alval); + (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); + (yyval.alval) = (yyvsp[-3].alval); } -#line 9879 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9898 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 549: -#line 6855 "fe/idl.ypp" /* yacc.c:1646 */ + case 560: +#line 6909 "fe/idl.ypp" /* yacc.c:1646 */ { // | /* EMPTY */ (yyval.alval) = 0; } -#line 9888 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9907 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 550: -#line 6863 "fe/idl.ypp" /* yacc.c:1646 */ + case 561: +#line 6917 "fe/idl.ypp" /* yacc.c:1646 */ { // actual_parameter : expression // To avoid grammar conflicts with this LALR(1) parser, @@ -9945,29 +9964,29 @@ yyreduce: 0); } } -#line 9949 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9968 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 552: -#line 6927 "fe/idl.ypp" /* yacc.c:1646 */ + case 563: +#line 6981 "fe/idl.ypp" /* yacc.c:1646 */ { // connector_header : IDL_CONNECTOR idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 9958 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9977 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 553: -#line 6932 "fe/idl.ypp" /* yacc.c:1646 */ + case 564: +#line 6986 "fe/idl.ypp" /* yacc.c:1646 */ { -// IDENTIFIER +// annotations IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 9967 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 9986 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 554: -#line 6937 "fe/idl.ypp" /* yacc.c:1646 */ + case 565: +#line 6991 "fe/idl.ypp" /* yacc.c:1646 */ { // component_inheritance_spec UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10020,29 +10039,29 @@ yyreduce: idl_global->scopes ().push (c); } } -#line 10024 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10043 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 555: -#line 6993 "fe/idl.ypp" /* yacc.c:1646 */ + case 566: +#line 7047 "fe/idl.ypp" /* yacc.c:1646 */ { // connector_body " '{' idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10033 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10052 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 556: -#line 6998 "fe/idl.ypp" /* yacc.c:1646 */ + case 567: +#line 7052 "fe/idl.ypp" /* yacc.c:1646 */ { // connector_exports idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10042 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10061 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 557: -#line 7003 "fe/idl.ypp" /* yacc.c:1646 */ + case 568: +#line 7057 "fe/idl.ypp" /* yacc.c:1646 */ { // '} idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); @@ -10050,83 +10069,83 @@ yyreduce: // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10054 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10073 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 560: -#line 7019 "fe/idl.ypp" /* yacc.c:1646 */ + case 571: +#line 7073 "fe/idl.ypp" /* yacc.c:1646 */ { // connector_export : provides_decl idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10063 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10082 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 561: -#line 7024 "fe/idl.ypp" /* yacc.c:1646 */ + case 572: +#line 7078 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10072 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10091 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 562: -#line 7029 "fe/idl.ypp" /* yacc.c:1646 */ + case 573: +#line 7083 "fe/idl.ypp" /* yacc.c:1646 */ { // | uses_decl idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10081 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10100 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 563: -#line 7034 "fe/idl.ypp" /* yacc.c:1646 */ + case 574: +#line 7088 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10090 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10109 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 564: -#line 7039 "fe/idl.ypp" /* yacc.c:1646 */ + case 575: +#line 7093 "fe/idl.ypp" /* yacc.c:1646 */ { // | attribute idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10099 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10118 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 565: -#line 7044 "fe/idl.ypp" /* yacc.c:1646 */ + case 576: +#line 7098 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10108 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10127 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 566: -#line 7049 "fe/idl.ypp" /* yacc.c:1646 */ + case 577: +#line 7103 "fe/idl.ypp" /* yacc.c:1646 */ { // | extended_port_decl idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10117 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10136 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; - case 567: -#line 7054 "fe/idl.ypp" /* yacc.c:1646 */ + case 578: +#line 7108 "fe/idl.ypp" /* yacc.c:1646 */ { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10126 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10145 "fe/idl.tab.cpp" /* yacc.c:1646 */ break; -#line 10130 "fe/idl.tab.cpp" /* yacc.c:1646 */ +#line 10149 "fe/idl.tab.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -10354,7 +10373,7 @@ yyreturn: #endif return yyresult; } -#line 7060 "fe/idl.ypp" /* yacc.c:1906 */ +#line 7114 "fe/idl.ypp" /* yacc.c:1906 */ /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 6c63dac091a..0fb4ac1ac93 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -339,6 +339,7 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; %type opt_truncatable opt_multiple uses_opt_multiple %type interface_decl value_decl union_decl struct_decl id +%type defining_id %type event_header event_plain_header event_custom_header %type event_abs_header @@ -359,7 +360,7 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; start : definitions ; definitions - : definitions definition + : definitions annotations definition | /* EMPTY */ ; @@ -376,11 +377,18 @@ definition ; at_least_one_definition - : definitions definition + : definitions annotations definition ; fixed_definition - : type_dcl + : + /* TODO: + annotation_dcl + { + idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); + } + | */ + type_dcl { // fixed_definition : type_dcl idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); @@ -694,7 +702,7 @@ at_least_one_tpl_definition ; tpl_definitions - : tpl_definitions tpl_definition + : tpl_definitions annotations tpl_definition | /* EMPTY */ ; @@ -716,9 +724,9 @@ template_module_ref idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -810,9 +818,9 @@ template_module_inst idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -948,9 +956,9 @@ interface_decl: // interface_decl : IDL_INTERFACE idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); $$ = $3; } @@ -1291,9 +1299,9 @@ value_decl // value_decl : IDL_VALUETYPE idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); $$ = $3; } @@ -1689,6 +1697,18 @@ id : IDENTIFIER } ; +defining_id : annotations IDENTIFIER + { + /* defining_id is a defining identifier + whereas id is usually a reference to a defining identifier */ + ACE_NEW_RETURN ($$, + Identifier ($2), + 1); + ACE::strdelete ($2); + $2 = 0; + } + ; + interface_forward : interface_decl { @@ -1804,9 +1824,9 @@ const_dcl : // const_type idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } '=' @@ -2323,6 +2343,39 @@ positive_int_expr : } ; +/* Annotations + TODO: actions + TODO: annotation_dcl and friends + */ + +annotations + : annotations annotation_appl + | /* EMPTY */ + ; + +annotation_appl + : '@' scoped_name '(' annotation_appl_params ')' + | '@' scoped_name + ; + +annotation_appl_params + : const_expr + | at_least_one_annotation_appl_param + ; + +at_least_one_annotation_appl_param : + annotation_appl_param annotation_appl_named_params + ; + +annotation_appl_named_params + : annotation_appl_named_params ',' annotation_appl_param + | /* EMPTY */ + ; + +annotation_appl_param + : IDENTIFIER '=' const_expr + ; + type_dcl : IDL_TYPEDEF { @@ -2625,9 +2678,9 @@ simple_declarators ; simple_declarator : - id + defining_id { -// simple_declarator : id +// simple_declarator : defining_id UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, UTL_ScopedName ($1, @@ -2778,9 +2831,9 @@ struct_decl : // struct_decl : IDL_STRUCT idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); $$ = $3; } @@ -2864,6 +2917,7 @@ member : ; member_i : + annotations type_spec { // member_i : type_spec @@ -2885,21 +2939,21 @@ member_i : /* * Check for illegal recursive use of type. */ - if ($1 != 0 - && AST_illegal_recursive_type ($1)) + if ($2 != 0 + && AST_illegal_recursive_type ($2)) { idl_global->err ()->error1 (UTL_Error::EIDL_RECURSIVE_TYPE, - $1); + $2); } /* * Create a node representing a struct or exception member * Add it to the enclosing scope. */ else if (s != 0 - && $1 != 0 - && $3 != 0) + && $2 != 0 + && $4 != 0) { - for (UTL_DecllistActiveIterator l ($3); + for (UTL_DecllistActiveIterator l ($4); !l.is_done (); l.next ()) { @@ -2910,7 +2964,7 @@ member_i : continue; } - AST_Type *tp = d->compose ($1); + AST_Type *tp = d->compose ($2); if (tp == 0) { @@ -2928,9 +2982,9 @@ member_i : } } - $3->destroy (); - delete $3; - $3 = 0; + $4->destroy (); + delete $4; + $4 = 0; } | error { @@ -2951,9 +3005,9 @@ union_decl : // union_decl : IDL_UNION idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); $$ = $3; } @@ -3255,9 +3309,9 @@ case_branch : // case_branch : at_least_one_case_label idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } - element_spec + annotations element_spec { -// element_spec +// annotations element_spec idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } ';' @@ -3265,7 +3319,7 @@ case_branch : // ';' UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; - AST_Field *f = $3; + AST_Field *f = $4; idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemCompleted); /* @@ -3274,7 +3328,7 @@ case_branch : */ if (s != 0 && $1 != 0 - && $3 != 0) + && $4 != 0) { b = idl_global->gen ()->create_union_branch ( @@ -3316,12 +3370,12 @@ at_least_one_case_label : ; case_labels - : case_labels case_label + : case_labels annotations case_label { -// case_labels : case_labels case_label +// case_labels : case_labels annotations case_label UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, - UTL_LabelList ($2, + UTL_LabelList ($3, 0), 1); @@ -3486,9 +3540,9 @@ enum_type : // enum_type : IDL_ENUM idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } - id + defining_id { -// id +// defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($3, 0); @@ -3565,13 +3619,13 @@ enumerators ; enumerator : - IDENTIFIER + annotations IDENTIFIER { -// enumerator : IDENTIFIER +// enumerator : annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); - Identifier id ($1); - ACE::strdelete ($1); - $1 = 0; + Identifier id ($2); + ACE::strdelete ($2); + $2 = 0; UTL_ScopedName n (&id, 0); AST_EnumVal *e = 0; @@ -3944,9 +3998,9 @@ wstring_head : ; array_declarator : - id + defining_id { -// array_declarator : id +// array_declarator : defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } at_least_one_array_dim @@ -4279,9 +4333,9 @@ exception : // exception : IDL_EXCEPTION idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } - id + defining_id { -// id +// defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($3, 0); @@ -4337,13 +4391,13 @@ operation : // operation : opt_op_attribute op_type_spec idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } - IDENTIFIER + annotations IDENTIFIER { -// IDENTIFIER +// annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); - Identifier id ($4); - ACE::strdelete ($4); - $4 = 0; + Identifier id ($5); + ACE::strdelete ($5); + $5 = 0; UTL_ScopedName n (&id, 0); AST_Operation *o = 0; @@ -4426,14 +4480,14 @@ operation : { o = AST_Operation::narrow_from_scope (s); - if ($8 != 0 && o != 0) + if ($9 != 0 && o != 0) { - (void) o->fe_add_exceptions ($8); + (void) o->fe_add_exceptions ($9); } - if ($10 != 0) + if ($11 != 0) { - (void) o->fe_add_context ($10); + (void) o->fe_add_context ($11); } } @@ -4483,9 +4537,9 @@ init_decl //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } - IDENTIFIER + annotations IDENTIFIER { -// IDENTIFIER +// annotations IDENTIFIER UTL_Scope *s = idl_global->scopes ().top_non_null (); if (s->is_abstract ()) @@ -4501,9 +4555,9 @@ init_decl idl_global->set_err_count (idl_global->err_count () + 1); } - Identifier id ($3); - ACE::strdelete ($3); - $3 = 0; + Identifier id ($4); + ACE::strdelete ($4); + $4 = 0; UTL_ScopedName n (&id, 0); @@ -4535,11 +4589,11 @@ init_decl // opt_raises idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); - if ($7 != 0) + if ($8 != 0) { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Factory *f = AST_Factory::narrow_from_scope (s); - (void) f->fe_add_exceptions ($7); + (void) f->fe_add_exceptions ($8); } idl_global->scopes ().pop (); @@ -5075,9 +5129,9 @@ component component_forward_decl : IDL_COMPONENT - id + defining_id { -// component_forward_decl : IDL_COMPONENT id +// component_forward_decl : IDL_COMPONENT defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($2, 0); @@ -5167,9 +5221,9 @@ component_decl : component_header : IDL_COMPONENT - id + defining_id { -// component_header: IDL_COMPONENT id +// component_header: IDL_COMPONENT defining_id idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } component_inheritance_spec @@ -5837,9 +5891,9 @@ home_header : // home_header : IDL_HOME idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } - id + defining_id { -// id +// defining_id idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } home_inheritance_spec @@ -5992,9 +6046,9 @@ home_export factory_decl : IDL_FACTORY - id + defining_id { -// factory_decl : IDL_FACTORY id +// factory_decl : IDL_FACTORY defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($2, 0); @@ -6044,9 +6098,9 @@ factory_decl : finder_decl : IDL_FINDER - id + defining_id { -// finder_decl : IDL_FINDER id +// finder_decl : IDL_FINDER defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($2, 0); @@ -6111,9 +6165,9 @@ event_forward_decl event_concrete_forward_decl : IDL_EVENTTYPE - id + defining_id { -// event_concrete_forward_decl : IDL_EVENTTYPE id +// event_concrete_forward_decl : IDL_EVENTTYPE defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($2, 0); @@ -6140,9 +6194,9 @@ event_concrete_forward_decl : event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE - id + defining_id { -// event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE id +// event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE defining_id UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ($3, 0); @@ -6238,9 +6292,9 @@ event_abs_decl : event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE - id + defining_id { -// event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE id +// event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE defining_id $$ = $3; } ; @@ -6248,9 +6302,9 @@ event_abs_header : event_custom_header : IDL_CUSTOM IDL_EVENTTYPE - id + defining_id { -// event_custom_header : IDL_CUSTOM IDL_EVENTTYPE id +// event_custom_header : IDL_CUSTOM IDL_EVENTTYPE defining_id idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); ACE_DEBUG ((LM_DEBUG, @@ -6266,9 +6320,9 @@ event_custom_header : event_plain_header : IDL_EVENTTYPE - id + defining_id { -// event_plain_header : IDL_EVENTTYPE id +// event_plain_header : IDL_EVENTTYPE defining_id idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); $$ = $2; @@ -6615,15 +6669,15 @@ porttype_decl // porttype_decl : IDL_PORTTYPE idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } - IDENTIFIER + annotations IDENTIFIER { -// IDENTIFIER +// annotations IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); - Identifier id ($3); - ACE::strdelete ($3); - $3 = 0; + Identifier id ($4); + ACE::strdelete ($4); + $4 = 0; UTL_ScopedName sn (&id, 0); AST_PortType *p = @@ -6822,25 +6876,25 @@ extended_port_decl ; at_least_one_actual_parameter - : actual_parameter actual_parameters + : annotations actual_parameter actual_parameters { -// at_least_one_actual_parameter : actual_parameter actual_parameters - if ($2 == 0) +// at_least_one_actual_parameter : annotations actual_parameter actual_parameters + if ($3 == 0) { - ACE_NEW_RETURN ($2, + ACE_NEW_RETURN ($3, FE_Utils::T_ARGLIST, 1); } - $2->enqueue_head ($1); - $$ = $2; + $3->enqueue_head ($2); + $$ = $3; } ; actual_parameters - : actual_parameters ',' actual_parameter + : actual_parameters ',' annotations actual_parameter { -// actual_parameters : actual_parameters ',' actual_parameter +// actual_parameters : actual_parameters ',' annotations actual_parameter if ($1 == 0) { ACE_NEW_RETURN ($1, @@ -6848,7 +6902,7 @@ actual_parameters 1); } - $1->enqueue_tail ($3); + $1->enqueue_tail ($4); $$ = $1; } | /* EMPTY */ @@ -6928,9 +6982,9 @@ connector_header // connector_header : IDL_CONNECTOR idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } - IDENTIFIER + annotations IDENTIFIER { -// IDENTIFIER +// annotations IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } component_inheritance_spec @@ -6940,20 +6994,20 @@ connector_header AST_Connector *parent = 0; bool so_far_so_good = true; - Identifier id ($3); - ACE::strdelete ($3); - $3 = 0; + Identifier id ($4); + ACE::strdelete ($4); + $4 = 0; UTL_ScopedName sn (&id, 0); - if ($5 != 0) + if ($6 != 0) { AST_Decl *d = - s->lookup_by_name ($5); + s->lookup_by_name ($6); if (d == 0) { - idl_global->err ()->lookup_error ($5); + idl_global->err ()->lookup_error ($6); so_far_so_good = false; } @@ -6969,9 +7023,9 @@ connector_header so_far_so_good = false; } - $5->destroy (); - delete $5; - $5 = 0; + $6->destroy (); + delete $6; + $6 = 0; } if (so_far_so_good) diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 192eb597455..5a7237f40ef 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -608,8 +608,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 113 -#define YY_END_OF_BUFFER 114 +#define YY_NUM_RULES 111 +#define YY_END_OF_BUFFER 112 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -617,75 +617,74 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[605] = +static const flex_int16_t yy_accept[593] = { 0, - 110, 110, 114, 112, 110, 111, 111, 112, 112, 112, - 112, 112, 83, 79, 112, 112, 112, 112, 74, 74, + 108, 108, 112, 110, 108, 109, 109, 110, 110, 110, + 110, 110, 83, 79, 110, 110, 110, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 110, 112, 111, 110, 0, 84, 0, - 0, 0, 0, 82, 78, 75, 107, 0, 75, 83, - 0, 77, 0, 0, 79, 73, 71, 72, 108, 74, - 74, 0, 0, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 108, 110, 109, 108, 0, 84, 0, 0, + 0, 0, 82, 78, 75, 107, 0, 75, 83, 0, + 77, 0, 0, 79, 73, 71, 72, 74, 74, 0, + 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 68, 74, 74, + 74, 74, 74, 74, 68, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 110, 0, 0, 102, 0, - 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, - 86, 0, 86, 0, 0, 82, 0, 78, 0, 75, - 0, 106, 106, 75, 0, 76, 81, 108, 0, 108, - 74, 0, 85, 0, 0, 0, 74, 74, 74, 74, - 1, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 108, 0, 0, 102, 0, 0, 0, 0, + 0, 0, 0, 84, 0, 0, 0, 86, 0, 86, + 0, 0, 82, 0, 78, 0, 75, 0, 106, 106, + 75, 0, 76, 81, 74, 0, 85, 0, 0, 0, + 74, 74, 74, 74, 1, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 69, 74, 74, 74, - 74, 74, 74, 69, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 89, 87, 0, 0, 80, 0, 75, - 76, 0, 74, 85, 0, 0, 0, 0, 90, 0, - 74, 65, 74, 74, 74, 74, 74, 20, 27, 74, - 74, 74, 74, 74, 74, 74, 74, 13, 74, 74, - 74, 74, 74, 74, 74, 48, 74, 74, 74, 74, - 24, 74, 74, 74, 74, 74, 74, 74, 60, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 89, 87, 0, 0, + 80, 0, 75, 76, 74, 85, 0, 0, 0, 0, + 90, 0, 74, 65, 74, 74, 74, 74, 20, 27, + 74, 74, 74, 74, 74, 74, 74, 74, 13, 74, + 74, 74, 74, 74, 74, 74, 48, 74, 74, 74, + 74, 24, 74, 74, 74, 74, 74, 74, 74, 60, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 57, 74, 31, + + 74, 74, 0, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 0, 0, 0, 87, 0, 88, + 0, 66, 0, 0, 0, 74, 74, 64, 74, 74, + 74, 74, 10, 74, 74, 74, 74, 74, 44, 74, + 74, 74, 74, 18, 22, 74, 74, 67, 74, 33, + 74, 74, 74, 74, 74, 30, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 25, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 17, 74, 74, 28, + 74, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 0, 2, 74, 74, + + 74, 74, 74, 74, 74, 35, 74, 23, 74, 74, + 74, 46, 74, 49, 74, 74, 74, 3, 74, 32, + 70, 74, 74, 74, 74, 38, 74, 4, 74, 74, + 74, 14, 12, 74, 19, 74, 74, 55, 74, 74, + 74, 74, 74, 0, 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 74, 29, 74, 74, 74, 8, 21, 74, 74, 36, + 74, 74, 58, 74, 74, 74, 74, 37, 74, 74, + 74, 74, 74, 74, 74, 11, 74, 74, 74, 74, + 15, 0, 0, 94, 94, 0, 0, 100, 0, 0, + + 99, 0, 0, 0, 0, 0, 0, 0, 34, 74, + 74, 74, 43, 74, 74, 74, 74, 74, 50, 62, + 74, 52, 74, 5, 16, 74, 39, 74, 59, 74, + 26, 74, 0, 104, 104, 0, 0, 0, 0, 97, + 0, 0, 0, 0, 0, 0, 0, 6, 42, 63, + 45, 7, 47, 9, 74, 74, 53, 54, 74, 74, + 41, 0, 0, 0, 92, 92, 0, 0, 95, 95, + 0, 0, 0, 0, 61, 51, 74, 56, 0, 0, + 105, 105, 0, 0, 0, 40, 0, 101, 0, 93, + 93, 0 - 74, 74, 74, 74, 74, 74, 57, 74, 31, 74, - 74, 0, 0, 0, 0, 0, 0, 0, 103, 0, - 0, 0, 0, 0, 0, 0, 87, 0, 88, 0, - 108, 66, 0, 0, 0, 74, 74, 64, 74, 74, - 74, 74, 74, 10, 74, 74, 74, 74, 74, 44, - 74, 74, 74, 74, 18, 22, 74, 74, 67, 74, - 33, 74, 74, 74, 74, 74, 30, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 25, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 17, 74, 74, - 28, 74, 98, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 91, 0, 2, 74, - 74, 74, 109, 74, 74, 74, 74, 35, 74, 23, - 74, 74, 74, 46, 74, 49, 74, 74, 74, 3, - 74, 32, 70, 74, 74, 74, 74, 38, 74, 4, - 74, 74, 74, 14, 12, 74, 19, 74, 74, 55, - 74, 74, 74, 74, 74, 0, 96, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 74, 29, 74, 74, 74, 8, 21, 74, - 74, 36, 74, 74, 58, 74, 74, 74, 74, 37, - 74, 74, 74, 74, 74, 74, 74, 11, 74, 74, - - 74, 74, 15, 0, 0, 94, 94, 0, 0, 100, - 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, - 34, 74, 74, 74, 43, 74, 74, 74, 74, 74, - 50, 62, 74, 52, 74, 5, 16, 74, 39, 74, - 59, 74, 26, 74, 0, 104, 104, 0, 0, 0, - 0, 97, 0, 0, 0, 0, 0, 0, 0, 6, - 42, 63, 45, 7, 47, 9, 74, 74, 53, 54, - 74, 74, 41, 0, 0, 0, 92, 92, 0, 0, - 95, 95, 0, 0, 0, 0, 61, 51, 74, 56, - 0, 0, 105, 105, 0, 0, 0, 40, 0, 101, - - 0, 93, 93, 0 } ; static const YY_CHAR yy_ec[256] = @@ -693,17 +692,17 @@ static const YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 6, 7, 1, 1, 1, 8, 9, - 10, 11, 12, 1, 13, 14, 15, 16, 17, 17, - 17, 17, 17, 17, 17, 18, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 27, 28, 29, 30, - 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, - 31, 34, 35, 36, 37, 31, 31, 38, 31, 31, - 1, 39, 1, 1, 40, 1, 41, 42, 43, 44, - - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 31, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 5, 1, 6, 7, 1, 1, 1, 8, 1, + 1, 9, 10, 1, 11, 12, 13, 14, 15, 15, + 15, 15, 15, 15, 15, 16, 16, 17, 1, 18, + 19, 20, 21, 1, 22, 23, 23, 24, 25, 26, + 27, 27, 27, 27, 27, 28, 27, 27, 29, 27, + 27, 30, 31, 32, 33, 27, 27, 34, 27, 27, + 1, 35, 1, 1, 27, 1, 36, 37, 38, 39, + + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -720,324 +719,301 @@ static const YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1 } ; -static const YY_CHAR yy_meta[66] = +static const YY_CHAR yy_meta[61] = { 0, - 1, 2, 3, 1, 2, 4, 1, 5, 2, 6, - 1, 1, 1, 1, 1, 7, 7, 8, 1, 1, - 1, 1, 1, 4, 1, 9, 9, 9, 9, 9, - 10, 10, 10, 10, 10, 10, 10, 10, 4, 11, - 12, 12, 9, 9, 9, 12, 10, 10, 10, 10, - 10, 10, 10, 13, 10, 10, 10, 13, 10, 13, - 14, 13, 10, 13, 10 + 1, 1, 2, 1, 1, 3, 1, 4, 1, 1, + 1, 1, 1, 5, 5, 6, 1, 1, 1, 1, + 3, 6, 6, 6, 6, 6, 7, 7, 7, 7, + 7, 7, 7, 7, 3, 5, 5, 6, 6, 6, + 5, 7, 7, 7, 7, 7, 7, 7, 8, 7, + 7, 7, 8, 7, 8, 9, 8, 7, 8, 7 } ; -static const flex_int16_t yy_base[636] = +static const flex_int16_t yy_base[621] = { 0, - 0, 64, 1327, 1328, 65, 1328, 1328, 62, 1287, 58, - 61, 69, 88, 69, 1306, 1303, 1300, 0, 0, 1296, - 83, 1279, 1286, 40, 35, 67, 54, 57, 71, 1274, - 1263, 42, 1262, 86, 1275, 64, 76, 95, 94, 80, - 70, 89, 100, 144, 158, 1291, 148, 142, 162, 149, - 1306, 161, 154, 163, 174, 212, 1328, 181, 177, 206, - 231, 1328, 199, 0, 249, 1328, 1328, 1328, 204, 0, - 1281, 150, 1273, 1261, 1273, 1250, 1259, 1242, 1246, 1250, - 1259, 1244, 1261, 133, 1242, 1254, 1238, 1249, 1236, 1251, - 1252, 1251, 119, 1238, 1232, 1238, 1234, 166, 154, 1235, - - 1230, 1243, 1234, 1225, 1224, 1238, 1222, 1223, 182, 1238, - 1230, 1237, 176, 1222, 1218, 1219, 1225, 1212, 1216, 194, - 1226, 1218, 1220, 1220, 1207, 266, 0, 186, 1328, 1260, - 279, 1216, 1220, 1214, 1204, 1239, 283, 233, 240, 274, - 1328, 1252, 1251, 253, 1250, 288, 0, 293, 302, 1328, - 320, 1328, 322, 0, 282, 311, 0, 340, 0, 345, - 1222, 248, 329, 319, 1248, 247, 1210, 1225, 1193, 1211, - 0, 1193, 1198, 1208, 1203, 1189, 1190, 299, 1185, 1203, - 1201, 1182, 1188, 1186, 1194, 1178, 1193, 1191, 1194, 1176, - 1188, 1177, 1170, 1185, 1188, 1181, 1186, 1168, 1164, 1164, - - 1174, 1177, 1158, 0, 1160, 239, 1157, 1166, 1158, 1172, - 1154, 1156, 1155, 213, 1156, 1151, 1156, 1164, 1153, 1158, - 1147, 1144, 1160, 1162, 1144, 1195, 1194, 1147, 1153, 1143, - 1155, 379, 349, 1328, 1328, 352, 1187, 0, 354, 359, - 1328, 1184, 1164, 346, 1186, 334, 384, 0, 1328, 0, - 1148, 0, 1132, 1130, 1139, 1142, 1135, 0, 0, 1130, - 1139, 325, 1138, 1127, 1120, 1128, 1120, 0, 1118, 1121, - 1121, 1130, 1130, 1113, 1131, 0, 1113, 1110, 1111, 1116, - 0, 1120, 1111, 1113, 1115, 1101, 1102, 1120, 1100, 1118, - 1117, 1108, 1107, 1110, 1099, 1108, 1111, 1091, 1096, 1106, - - 1093, 1104, 1103, 350, 1091, 1097, 0, 1098, 0, 1084, - 1092, 1134, 405, 1094, 1084, 1092, 1089, 1083, 1328, 346, - 416, 1085, 1089, 1083, 1073, 368, 1328, 1122, 1328, 1121, - 1328, 0, 410, 444, 1120, 1067, 1085, 0, 1083, 1083, - 1103, 1068, 1078, 0, 1067, 1055, 1065, 1065, 1071, 0, - 1055, 1054, 1055, 1054, 0, 0, 1062, 1050, 0, 1063, - 0, 1063, 1049, 1061, 1049, 1059, 0, 1038, 1037, 1043, - 1040, 1055, 359, 1039, 944, 943, 944, 0, 929, 915, - 913, 906, 912, 904, 902, 904, 882, 0, 885, 874, - 0, 879, 1328, 439, 362, 869, 449, 857, 903, 902, - - 855, 860, 840, 846, 373, 475, 1328, 878, 0, 838, - 819, 822, 1328, 818, 778, 792, 776, 0, 775, 0, - 767, 782, 737, 0, 738, 0, 755, 736, 738, 0, - 740, 0, 0, 722, 699, 701, 699, 0, 695, 0, - 690, 698, 681, 0, 0, 676, 0, 674, 686, 0, - 678, 685, 684, 653, 669, 506, 1328, 510, 389, 412, - 479, 533, 669, 698, 434, 655, 638, 643, 639, 542, - 674, 618, 614, 0, 616, 594, 583, 0, 0, 582, - 568, 0, 570, 567, 0, 545, 551, 547, 523, 0, - 508, 520, 498, 488, 486, 466, 466, 0, 461, 453, - - 450, 426, 0, 538, 444, 1328, 474, 476, 542, 1328, - 470, 527, 1328, 573, 559, 415, 577, 411, 430, 451, - 0, 408, 392, 388, 0, 400, 376, 365, 377, 357, - 0, 0, 342, 0, 303, 0, 0, 297, 0, 297, - 0, 281, 0, 267, 549, 1328, 577, 280, 600, 595, - 604, 1328, 609, 626, 629, 630, 635, 638, 240, 0, - 0, 0, 0, 0, 0, 0, 192, 135, 0, 0, - 146, 132, 0, 655, 659, 641, 1328, 663, 677, 665, - 1328, 681, 687, 152, 97, 634, 0, 0, 36, 0, - 704, 693, 1328, 695, 67, 699, 709, 0, 721, 1328, - - 711, 1328, 723, 1328, 747, 761, 767, 775, 786, 799, - 813, 821, 832, 846, 860, 870, 876, 888, 899, 913, - 923, 929, 935, 943, 955, 965, 977, 987, 999, 1013, - 1027, 1041, 1055, 1069, 1083 + 0, 59, 1177, 1178, 60, 1178, 1178, 57, 1141, 55, + 58, 66, 81, 74, 1158, 1156, 1153, 0, 1150, 70, + 1134, 1140, 54, 1119, 68, 37, 68, 86, 1128, 1117, + 33, 1116, 87, 1129, 70, 79, 98, 96, 47, 92, + 92, 30, 142, 153, 1143, 143, 77, 157, 146, 1155, + 156, 161, 151, 167, 202, 1178, 184, 187, 197, 232, + 1178, 209, 0, 238, 1178, 1178, 1178, 0, 1134, 223, + 1126, 1115, 1126, 1104, 1113, 1096, 1100, 1104, 1099, 1116, + 124, 1097, 1109, 1093, 1104, 1091, 1106, 1107, 1106, 137, + 1093, 1087, 1093, 1089, 134, 196, 1090, 1085, 1098, 1089, + + 1080, 1079, 1093, 1077, 1078, 149, 1093, 1085, 1092, 98, + 1077, 1073, 1074, 1080, 1067, 1071, 154, 1081, 1073, 1075, + 1075, 1062, 233, 0, 192, 1178, 1110, 265, 1071, 1075, + 1069, 1059, 1092, 259, 225, 249, 260, 1178, 1102, 1101, + 268, 1100, 273, 0, 278, 290, 1178, 304, 1178, 306, + 0, 300, 305, 0, 1076, 261, 321, 314, 1098, 243, + 1065, 1079, 1048, 1066, 0, 1048, 1053, 1059, 1045, 1046, + 281, 1041, 1059, 1057, 1038, 1044, 1042, 1050, 1034, 1049, + 1047, 1050, 1032, 1044, 1033, 1026, 1041, 1044, 1037, 1042, + 1024, 1020, 1020, 1030, 1033, 1014, 0, 1016, 37, 1013, + + 1022, 1014, 1028, 1010, 1012, 1011, 278, 1012, 1007, 1012, + 1020, 1009, 1014, 1003, 1000, 1016, 1018, 1000, 1046, 1045, + 1003, 1009, 999, 1011, 369, 326, 1178, 1178, 329, 1038, + 0, 339, 350, 1178, 1020, 340, 1038, 332, 342, 0, + 1178, 0, 1005, 0, 989, 987, 996, 999, 0, 0, + 988, 997, 295, 996, 985, 978, 986, 978, 0, 976, + 979, 979, 988, 988, 971, 989, 0, 971, 968, 969, + 974, 0, 978, 969, 971, 973, 959, 960, 978, 958, + 976, 975, 966, 965, 968, 957, 966, 969, 949, 954, + 964, 951, 962, 961, 343, 949, 955, 0, 956, 0, + + 942, 950, 987, 396, 952, 942, 950, 947, 941, 1178, + 226, 418, 943, 947, 941, 931, 353, 1178, 975, 1178, + 974, 0, 389, 434, 973, 925, 943, 0, 941, 941, + 927, 937, 0, 926, 914, 924, 924, 930, 0, 914, + 913, 914, 913, 0, 0, 921, 909, 0, 922, 0, + 922, 908, 920, 908, 918, 0, 897, 896, 902, 899, + 914, 309, 898, 902, 901, 905, 0, 906, 892, 893, + 902, 908, 903, 903, 905, 887, 0, 890, 883, 0, + 888, 1178, 462, 384, 881, 391, 887, 928, 927, 885, + 891, 881, 893, 363, 470, 1178, 920, 0, 889, 870, + + 876, 884, 868, 882, 866, 0, 865, 0, 859, 874, + 857, 0, 862, 0, 771, 752, 739, 0, 714, 0, + 0, 707, 697, 701, 689, 0, 684, 0, 679, 687, + 670, 0, 0, 668, 0, 667, 679, 0, 671, 678, + 668, 646, 659, 498, 1178, 513, 405, 409, 413, 533, + 657, 676, 432, 638, 618, 608, 605, 541, 635, 584, + 583, 0, 585, 577, 572, 0, 0, 563, 554, 0, + 553, 553, 0, 525, 529, 522, 515, 0, 506, 506, + 485, 501, 492, 477, 490, 0, 480, 463, 459, 440, + 0, 569, 440, 1178, 442, 476, 519, 1178, 484, 436, + + 1178, 584, 449, 434, 528, 420, 396, 454, 0, 407, + 387, 377, 0, 385, 370, 358, 341, 327, 0, 0, + 339, 0, 321, 0, 0, 308, 0, 323, 0, 314, + 0, 299, 478, 1178, 484, 318, 592, 547, 607, 1178, + 615, 549, 450, 630, 635, 587, 275, 0, 0, 0, + 0, 0, 0, 0, 236, 199, 0, 0, 167, 136, + 0, 650, 654, 555, 1178, 612, 658, 621, 1178, 673, + 677, 174, 172, 658, 0, 0, 70, 0, 681, 684, + 1178, 686, 96, 688, 696, 0, 700, 1178, 707, 1178, + 709, 1178, 730, 739, 744, 751, 759, 768, 773, 779, + + 788, 794, 796, 800, 809, 815, 817, 819, 822, 828, + 834, 840, 846, 852, 861, 870, 879, 888, 897, 906 } ; -static const flex_int16_t yy_def[636] = +static const flex_int16_t yy_def[621] = { 0, - 604, 1, 604, 604, 604, 604, 604, 605, 606, 604, - 604, 604, 604, 604, 604, 604, 604, 607, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 604, 604, 604, 604, 605, 604, 609, - 604, 610, 604, 13, 604, 604, 604, 611, 56, 604, - 604, 604, 604, 612, 604, 604, 604, 604, 613, 608, - 608, 614, 615, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 604, 45, 45, 604, 128, - 604, 604, 604, 604, 604, 604, 604, 605, 605, 605, - 604, 604, 604, 604, 616, 604, 617, 604, 604, 604, - 611, 604, 611, 59, 604, 604, 612, 604, 618, 613, - 608, 614, 604, 619, 604, 604, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 620, 604, 604, 604, 604, - 604, 604, 605, 604, 604, 604, 621, 617, 604, 604, - 604, 618, 608, 604, 604, 614, 614, 622, 604, 623, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 620, 604, 604, 604, 604, 604, 232, 604, 232, - 604, 604, 604, 604, 604, 605, 604, 604, 604, 604, - 604, 608, 614, 614, 624, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 604, 604, 604, 604, 604, 604, 625, 604, - - 604, 604, 604, 604, 614, 334, 604, 626, 608, 608, - 608, 608, 604, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 604, 604, 604, 627, 604, - 604, 604, 604, 625, 604, 604, 604, 604, 604, 334, - 628, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - - 608, 608, 608, 604, 627, 604, 627, 629, 604, 604, - 630, 604, 604, 604, 604, 604, 604, 604, 614, 604, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 629, 604, 629, 630, 604, 631, - 604, 604, 604, 632, 604, 604, 604, 604, 604, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 604, 604, 631, 604, 631, 604, 632, - 604, 632, 633, 634, 604, 604, 608, 608, 608, 608, - 604, 633, 604, 633, 634, 604, 635, 608, 604, 604, - - 635, 604, 635, 0, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604 + 592, 1, 592, 592, 592, 592, 592, 593, 594, 592, + 592, 592, 592, 592, 592, 592, 592, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 592, 592, 592, 592, 593, 592, 596, 592, + 597, 592, 13, 592, 592, 592, 598, 55, 592, 592, + 592, 592, 599, 592, 592, 592, 592, 595, 595, 600, + 601, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 592, 44, 44, 592, 125, 592, 592, 592, + 592, 592, 592, 592, 593, 593, 593, 592, 592, 592, + 592, 602, 592, 603, 592, 592, 592, 598, 592, 598, + 58, 592, 592, 599, 595, 600, 592, 604, 592, 592, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 605, 592, + 592, 592, 592, 592, 592, 593, 592, 592, 592, 606, + 603, 592, 592, 592, 595, 592, 592, 600, 600, 607, + 592, 608, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + + 595, 595, 605, 592, 592, 592, 592, 592, 225, 592, + 225, 592, 592, 592, 592, 592, 593, 592, 592, 592, + 592, 595, 600, 600, 609, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 592, 592, 592, 592, 592, 592, 610, 592, 592, + 592, 592, 592, 600, 324, 592, 611, 595, 595, 595, + + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 592, 592, 592, 612, 592, 592, 592, + 592, 610, 592, 592, 592, 592, 592, 324, 613, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 592, 612, 592, 612, 614, 592, 592, 615, 592, + + 592, 592, 592, 592, 592, 592, 600, 592, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 614, 592, 614, 615, 592, 616, 592, 592, + 592, 617, 592, 592, 592, 592, 592, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 592, 592, 616, 592, 616, 592, 617, 592, 617, + 618, 619, 592, 592, 595, 595, 595, 595, 592, 618, + 592, 618, 619, 592, 620, 595, 592, 592, 620, 592, + 620, 0, 592, 592, 592, 592, 592, 592, 592, 592, + + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592 } ; -static const flex_int16_t yy_nxt[1394] = +static const flex_int16_t yy_nxt[1239] = { 0, 4, 5, 6, 7, 5, 8, 4, 9, 4, 4, - 4, 4, 10, 11, 12, 13, 14, 14, 15, 4, - 16, 4, 17, 7, 18, 19, 19, 19, 19, 20, - 19, 21, 22, 19, 19, 23, 19, 19, 4, 19, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 19, - 19, 33, 34, 35, 36, 37, 19, 38, 39, 40, - 41, 42, 43, 19, 19, 44, 47, 49, 44, 47, - 45, 53, 596, 54, 55, 55, 56, 56, 56, 57, - 598, 76, 59, 58, 65, 65, 65, 46, 72, 80, - 73, 77, 81, 78, 97, 98, 62, 63, 86, 79, - - 50, 59, 584, 60, 60, 61, 105, 82, 87, 88, - 89, 92, 62, 63, 83, 62, 63, 106, 90, 93, - 91, 84, 94, 120, 107, 64, 100, 85, 121, 122, - 108, 62, 63, 109, 101, 111, 110, 118, 113, 112, - 102, 114, 124, 123, 119, 126, 103, 49, 126, 47, - 127, 64, 47, 115, 116, 163, 117, 596, 125, 128, - 129, 129, 130, 137, 140, 140, 137, 138, 143, 56, - 56, 56, 187, 131, 131, 131, 144, 144, 146, 146, - 50, 129, 188, 152, 153, 177, 178, 59, 164, 148, - 148, 148, 154, 154, 154, 590, 195, 589, 145, 588, - - 147, 62, 63, 132, 153, 158, 133, 196, 158, 134, - 155, 155, 159, 135, 156, 156, 156, 62, 63, 59, - 193, 60, 60, 61, 145, 194, 147, 56, 56, 56, - 206, 604, 211, 62, 63, 212, 207, 604, 49, 62, - 149, 150, 219, 150, 59, 49, 61, 61, 61, 62, - 63, 587, 220, 163, 249, 62, 149, 150, 62, 63, - 235, 299, 59, 150, 65, 65, 65, 126, 236, 236, - 126, 50, 127, 300, 62, 63, 62, 63, 50, 49, - 586, 129, 129, 227, 137, 549, 164, 137, 138, 233, - 233, 290, 62, 63, 131, 131, 131, 156, 156, 156, - - 291, 59, 129, 146, 146, 61, 59, 250, 148, 148, - 148, 573, 50, 239, 239, 62, 63, 240, 240, 240, - 62, 63, 152, 153, 152, 153, 156, 156, 156, 572, - 244, 62, 63, 244, 247, 247, 62, 63, 571, 163, - 241, 158, 241, 153, 158, 153, 158, 244, 159, 158, - 244, 399, 261, 159, 49, 570, 241, 262, 263, 327, - 245, 569, 241, 459, 326, 326, 459, 328, 328, 240, - 240, 240, 164, 49, 240, 240, 240, 245, 163, 248, - 318, 319, 319, 320, 344, 345, 568, 50, 150, 163, - 150, 506, 507, 384, 321, 321, 321, 604, 385, 333, - - 333, 438, 319, 386, 150, 387, 50, 393, 393, 394, - 150, 164, 507, 508, 567, 163, 508, 439, 319, 319, - 400, 566, 164, 565, 322, 405, 405, 323, 393, 564, - 324, 321, 321, 321, 325, 163, 513, 513, 514, 319, - 456, 457, 457, 456, 563, 562, 506, 507, 164, 163, - 461, 561, 560, 461, 458, 458, 458, 513, 407, 406, - 406, 406, 457, 559, 462, 462, 462, 507, 164, 406, - 406, 406, 406, 406, 555, 549, 506, 507, 546, 547, - 461, 544, 164, 461, 406, 406, 406, 406, 406, 406, - 470, 470, 470, 543, 462, 462, 462, 507, 542, 547, - - 470, 470, 470, 470, 470, 541, 540, 456, 457, 457, - 456, 456, 457, 457, 456, 470, 470, 470, 470, 470, - 470, 504, 504, 504, 539, 458, 458, 458, 550, 457, - 538, 550, 537, 457, 509, 510, 510, 509, 511, 456, - 457, 457, 456, 509, 510, 510, 509, 511, 462, 462, - 462, 546, 547, 504, 504, 504, 510, 519, 519, 519, - 554, 457, 536, 554, 535, 510, 534, 519, 519, 519, - 519, 519, 547, 533, 551, 552, 552, 551, 556, 546, - 547, 557, 519, 519, 519, 519, 519, 519, 553, 553, - 553, 532, 558, 558, 558, 531, 552, 577, 578, 530, - - 547, 574, 510, 510, 574, 551, 552, 552, 551, 529, - 551, 552, 552, 551, 528, 575, 575, 575, 578, 579, - 579, 579, 527, 510, 553, 553, 553, 552, 581, 582, - 583, 556, 552, 583, 557, 597, 556, 526, 597, 557, - 584, 525, 585, 577, 578, 558, 558, 558, 524, 582, - 558, 558, 558, 558, 558, 558, 574, 510, 510, 574, - 591, 510, 510, 591, 578, 577, 578, 581, 582, 523, - 575, 575, 575, 522, 575, 575, 575, 521, 510, 552, - 552, 407, 510, 581, 582, 518, 578, 517, 582, 593, - 594, 516, 579, 579, 579, 593, 594, 593, 594, 515, - - 552, 600, 600, 465, 582, 591, 510, 510, 591, 512, - 594, 602, 603, 602, 603, 503, 594, 502, 594, 599, - 599, 599, 600, 510, 510, 602, 603, 510, 501, 500, - 499, 498, 603, 497, 603, 496, 599, 599, 599, 495, - 494, 493, 492, 491, 510, 490, 603, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 51, 51, 489, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 69, 69, 488, 69, 69, - 69, 70, 70, 70, 70, 70, 70, 70, 70, 139, - 139, 487, 139, 486, 485, 484, 483, 139, 139, 142, - - 142, 482, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 157, 157, 157, - 481, 480, 157, 160, 479, 478, 477, 476, 160, 160, - 160, 160, 160, 160, 160, 160, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 165, 165, 475, 165, 165, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 237, 474, 237, 237, 237, 473, - 472, 237, 238, 238, 238, 407, 469, 238, 242, 242, - 242, 242, 242, 468, 242, 242, 242, 242, 242, 242, - - 242, 242, 246, 246, 467, 246, 466, 399, 465, 463, - 246, 246, 246, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 330, 460, 330, - 330, 330, 455, 454, 330, 334, 334, 334, 453, 452, - 334, 335, 335, 335, 451, 450, 335, 408, 449, 408, - 408, 408, 448, 447, 408, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 471, - 446, 471, 471, 471, 445, 444, 471, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 520, 443, 520, 520, 520, 442, 441, 520, 545, - - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 548, 548, 548, 548, 548, 548, 548, - 548, 548, 548, 548, 548, 548, 548, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 592, 592, 592, 592, 592, - 592, 592, 592, 592, 592, 592, 592, 592, 592, 595, - 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, - 595, 595, 595, 601, 601, 601, 601, 601, 601, 601, - 601, 601, 601, 601, 601, 601, 601, 440, 437, 436, - - 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - 415, 414, 413, 412, 411, 410, 409, 407, 329, 327, - 404, 403, 402, 401, 604, 398, 397, 396, 395, 313, - 392, 391, 390, 389, 388, 383, 382, 381, 380, 379, - 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, - 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, - 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 347, 346, 343, 342, 341, 340, 339, 338, 337, - 336, 72, 332, 331, 329, 317, 316, 315, 314, 226, - - 313, 311, 310, 309, 308, 307, 306, 305, 304, 303, - 302, 301, 298, 297, 296, 295, 294, 293, 292, 289, - 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, - 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, - 268, 267, 266, 265, 264, 260, 259, 258, 257, 256, - 255, 254, 253, 252, 251, 249, 243, 234, 234, 234, - 232, 231, 230, 229, 228, 226, 225, 224, 223, 222, - 221, 218, 217, 216, 215, 214, 213, 210, 209, 208, - 205, 204, 203, 202, 201, 200, 199, 198, 197, 192, - 191, 190, 189, 186, 185, 184, 183, 182, 181, 180, - - 179, 176, 175, 174, 173, 172, 171, 170, 169, 168, - 167, 166, 161, 141, 136, 104, 99, 96, 95, 75, - 74, 71, 68, 67, 66, 52, 604, 3, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604 - + 10, 11, 12, 13, 14, 14, 15, 16, 4, 17, + 7, 18, 18, 18, 18, 19, 18, 20, 21, 18, + 18, 22, 18, 18, 4, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 18, 18, 32, 33, 34, 35, + 36, 18, 37, 38, 39, 40, 41, 42, 18, 18, + 43, 46, 48, 43, 46, 44, 52, 121, 53, 54, + 54, 55, 55, 55, 56, 70, 83, 71, 57, 45, + 94, 95, 48, 122, 281, 58, 84, 64, 64, 64, + 74, 49, 58, 282, 59, 59, 60, 61, 62, 115, + + 75, 584, 76, 79, 61, 62, 116, 102, 77, 586, + 80, 49, 61, 62, 63, 85, 86, 81, 103, 61, + 62, 89, 97, 82, 87, 104, 88, 119, 105, 90, + 98, 106, 91, 108, 107, 110, 99, 109, 111, 63, + 117, 120, 100, 123, 46, 118, 123, 46, 124, 204, + 112, 113, 205, 114, 125, 126, 126, 127, 134, 137, + 137, 134, 135, 140, 143, 143, 128, 128, 128, 141, + 141, 170, 171, 126, 55, 55, 55, 572, 58, 584, + 145, 145, 145, 186, 144, 180, 149, 150, 187, 142, + 61, 62, 199, 129, 578, 181, 130, 212, 200, 131, + + 151, 151, 151, 132, 150, 61, 62, 213, 58, 144, + 59, 59, 60, 577, 142, 55, 55, 55, 152, 152, + 61, 62, 153, 153, 153, 61, 146, 147, 157, 147, + 48, 388, 592, 188, 123, 61, 62, 123, 592, 124, + 61, 146, 147, 58, 189, 60, 60, 60, 147, 58, + 241, 64, 64, 64, 48, 61, 62, 158, 576, 49, + 134, 61, 62, 134, 135, 48, 157, 126, 126, 220, + 61, 62, 592, 226, 226, 228, 61, 62, 128, 128, + 128, 229, 229, 49, 58, 126, 143, 143, 60, 58, + 575, 145, 145, 145, 49, 158, 61, 62, 242, 232, + + 232, 61, 62, 233, 233, 233, 149, 150, 149, 150, + 574, 61, 62, 153, 153, 153, 61, 62, 153, 153, + 153, 290, 236, 537, 150, 236, 150, 239, 239, 252, + 234, 48, 234, 291, 253, 254, 318, 157, 561, 317, + 317, 236, 319, 319, 236, 234, 426, 157, 237, 333, + 334, 234, 233, 233, 233, 323, 323, 560, 48, 559, + 49, 558, 427, 233, 233, 233, 158, 237, 157, 240, + 309, 310, 310, 311, 557, 147, 158, 147, 556, 555, + 554, 373, 312, 312, 312, 447, 374, 49, 447, 310, + 147, 375, 449, 376, 157, 449, 147, 158, 382, 382, + + 383, 157, 394, 394, 450, 450, 450, 494, 495, 313, + 496, 553, 314, 496, 449, 315, 382, 449, 552, 316, + 310, 310, 389, 158, 551, 495, 450, 450, 450, 550, + 158, 312, 312, 312, 501, 501, 502, 538, 310, 157, + 538, 549, 494, 495, 494, 495, 548, 395, 395, 395, + 542, 571, 501, 542, 571, 395, 395, 395, 395, 395, + 495, 396, 495, 444, 445, 445, 444, 547, 158, 395, + 395, 395, 395, 395, 395, 446, 446, 446, 534, 535, + 534, 535, 445, 458, 458, 458, 534, 535, 543, 537, + 532, 458, 458, 458, 458, 458, 535, 531, 535, 444, + + 445, 445, 444, 530, 535, 458, 458, 458, 458, 458, + 458, 492, 492, 492, 444, 445, 445, 444, 445, 529, + 497, 498, 498, 497, 499, 528, 446, 446, 446, 544, + 527, 526, 545, 445, 497, 498, 498, 497, 499, 498, + 525, 546, 546, 546, 524, 523, 450, 450, 450, 565, + 566, 569, 570, 498, 507, 507, 507, 565, 566, 522, + 521, 520, 507, 507, 507, 507, 507, 566, 519, 570, + 444, 445, 445, 444, 518, 566, 507, 507, 507, 507, + 507, 507, 492, 492, 492, 539, 540, 540, 539, 445, + 517, 573, 516, 562, 498, 498, 562, 541, 541, 541, + + 546, 546, 546, 515, 540, 563, 563, 563, 539, 540, + 540, 539, 498, 514, 565, 566, 539, 540, 540, 539, + 567, 567, 567, 569, 570, 513, 512, 540, 541, 541, + 541, 544, 566, 511, 545, 540, 544, 510, 509, 545, + 572, 570, 396, 546, 546, 546, 506, 505, 546, 546, + 546, 562, 498, 498, 562, 579, 498, 498, 579, 585, + 540, 540, 585, 563, 563, 563, 504, 563, 563, 563, + 498, 567, 567, 567, 498, 569, 570, 503, 540, 581, + 582, 453, 579, 498, 498, 579, 581, 582, 581, 582, + 588, 588, 500, 570, 587, 587, 587, 582, 590, 591, + + 491, 498, 498, 498, 582, 490, 582, 489, 588, 590, + 591, 590, 591, 587, 587, 587, 591, 488, 487, 486, + 498, 485, 484, 483, 482, 481, 480, 591, 479, 591, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 50, + 478, 50, 50, 50, 50, 50, 50, 50, 68, 68, + 68, 68, 68, 136, 136, 136, 477, 476, 136, 139, + 475, 139, 139, 139, 139, 139, 139, 139, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 154, 154, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 159, 474, + 159, 159, 159, 159, 159, 159, 159, 230, 230, 230, + + 231, 231, 238, 238, 238, 473, 472, 238, 238, 303, + 303, 303, 303, 303, 303, 303, 303, 303, 321, 321, + 321, 324, 324, 325, 325, 397, 397, 397, 452, 452, + 452, 452, 452, 452, 452, 452, 452, 459, 459, 459, + 493, 493, 493, 493, 493, 493, 493, 493, 493, 508, + 508, 508, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 536, 536, 536, 536, 536, 536, 536, 536, 536, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 580, 580, + 580, 580, 580, 580, 580, 580, 580, 583, 583, 583, + + 583, 583, 583, 583, 583, 583, 589, 589, 589, 589, + 589, 589, 589, 589, 589, 471, 470, 469, 468, 467, + 466, 465, 464, 463, 462, 461, 460, 396, 457, 456, + 455, 454, 388, 453, 451, 448, 443, 442, 441, 440, + 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, + 429, 428, 425, 424, 423, 422, 421, 420, 419, 418, + 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, + 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, + 396, 320, 318, 393, 392, 391, 390, 592, 387, 386, + 385, 384, 304, 381, 380, 379, 378, 377, 372, 371, + + 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, + 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 332, 331, 330, 329, + 328, 327, 326, 70, 322, 320, 308, 307, 306, 305, + 219, 304, 302, 301, 300, 299, 298, 297, 296, 295, + 294, 293, 292, 289, 288, 287, 286, 285, 284, 283, + 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, + 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, + 260, 259, 258, 257, 256, 255, 251, 250, 249, 248, + + 247, 246, 245, 244, 243, 241, 235, 227, 227, 227, + 225, 224, 223, 222, 221, 219, 218, 217, 216, 215, + 214, 211, 210, 209, 208, 207, 206, 203, 202, 201, + 198, 197, 196, 195, 194, 193, 192, 191, 190, 185, + 184, 183, 182, 179, 178, 177, 176, 175, 174, 173, + 172, 169, 168, 167, 166, 165, 164, 163, 162, 161, + 160, 155, 138, 133, 101, 96, 93, 92, 78, 73, + 72, 69, 67, 66, 65, 51, 592, 3, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592 } ; -static const flex_int16_t yy_chk[1394] = +static const flex_int16_t yy_chk[1239] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1045,154 +1021,136 @@ static const flex_int16_t yy_chk[1394] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 5, 8, 2, 5, - 2, 10, 595, 10, 10, 10, 11, 11, 11, 12, - 589, 24, 14, 12, 14, 14, 14, 2, 21, 25, - 21, 24, 25, 24, 32, 32, 14, 14, 27, 24, - - 8, 13, 585, 13, 13, 13, 36, 26, 27, 28, - 28, 29, 14, 14, 26, 13, 13, 36, 28, 29, - 28, 26, 29, 41, 36, 13, 34, 26, 41, 42, - 37, 13, 13, 37, 34, 38, 37, 40, 39, 38, - 34, 39, 43, 42, 40, 44, 34, 48, 44, 47, - 44, 13, 47, 39, 39, 72, 39, 584, 43, 45, - 45, 45, 45, 49, 50, 50, 49, 49, 52, 53, - 53, 53, 93, 45, 45, 45, 52, 52, 54, 54, - 48, 45, 93, 58, 58, 84, 84, 55, 72, 55, - 55, 55, 59, 59, 59, 572, 99, 571, 52, 568, - - 54, 55, 55, 45, 58, 69, 45, 99, 69, 45, - 63, 63, 69, 45, 63, 63, 63, 55, 55, 60, - 98, 60, 60, 60, 52, 98, 54, 56, 56, 56, - 109, 128, 113, 60, 60, 113, 109, 128, 138, 56, - 56, 56, 120, 56, 61, 139, 61, 61, 61, 60, - 60, 567, 120, 162, 166, 56, 56, 56, 61, 61, - 144, 214, 65, 56, 65, 65, 65, 126, 144, 144, - 126, 138, 126, 214, 61, 61, 65, 65, 139, 140, - 559, 131, 131, 131, 137, 548, 162, 137, 137, 140, - 140, 206, 65, 65, 131, 131, 131, 155, 155, 155, - - 206, 146, 131, 146, 146, 146, 148, 166, 148, 148, - 148, 544, 140, 149, 149, 146, 146, 149, 149, 149, - 148, 148, 151, 151, 153, 153, 156, 156, 156, 542, - 163, 146, 146, 163, 164, 164, 148, 148, 540, 246, - 156, 158, 156, 151, 158, 153, 160, 244, 158, 160, - 244, 320, 178, 160, 233, 538, 156, 178, 178, 236, - 163, 535, 156, 395, 233, 233, 395, 236, 236, 239, - 239, 239, 246, 326, 240, 240, 240, 244, 405, 164, - 232, 232, 232, 232, 262, 262, 533, 233, 240, 247, - 240, 459, 459, 304, 232, 232, 232, 320, 304, 247, - - 247, 373, 232, 304, 240, 304, 326, 313, 313, 313, - 240, 405, 459, 460, 530, 333, 460, 373, 321, 321, - 321, 529, 247, 528, 232, 333, 333, 232, 313, 527, - 232, 321, 321, 321, 232, 519, 465, 465, 465, 321, - 394, 394, 394, 394, 526, 524, 505, 505, 333, 334, - 397, 523, 522, 397, 394, 394, 394, 465, 520, 334, - 334, 334, 394, 518, 397, 397, 397, 505, 519, 334, - 334, 334, 334, 334, 516, 511, 507, 507, 508, 508, - 461, 502, 334, 461, 334, 334, 334, 334, 334, 334, - 406, 406, 406, 501, 461, 461, 461, 507, 500, 508, - - 406, 406, 406, 406, 406, 499, 497, 456, 456, 456, - 456, 458, 458, 458, 458, 406, 406, 406, 406, 406, - 406, 456, 456, 456, 496, 458, 458, 458, 512, 456, - 495, 512, 494, 458, 462, 462, 462, 462, 462, 504, - 504, 504, 504, 509, 509, 509, 509, 509, 462, 462, - 462, 545, 545, 504, 504, 504, 462, 470, 470, 470, - 515, 504, 493, 515, 492, 509, 491, 470, 470, 470, - 470, 470, 545, 489, 514, 514, 514, 514, 517, 547, - 547, 517, 470, 470, 470, 470, 470, 470, 514, 514, - 514, 488, 517, 517, 517, 487, 514, 550, 550, 486, - - 547, 549, 549, 549, 549, 551, 551, 551, 551, 484, - 553, 553, 553, 553, 483, 549, 549, 549, 550, 551, - 551, 551, 481, 549, 553, 553, 553, 551, 554, 554, - 555, 556, 553, 555, 556, 586, 557, 480, 586, 557, - 557, 477, 558, 576, 576, 556, 556, 556, 476, 554, - 557, 557, 557, 558, 558, 558, 574, 574, 574, 574, - 575, 575, 575, 575, 576, 578, 578, 580, 580, 475, - 574, 574, 574, 473, 575, 575, 575, 472, 574, 579, - 579, 471, 575, 582, 582, 469, 578, 468, 580, 583, - 583, 467, 579, 579, 579, 592, 592, 594, 594, 466, - - 579, 596, 596, 464, 582, 591, 591, 591, 591, 463, - 583, 597, 597, 601, 601, 455, 592, 454, 594, 591, - 591, 591, 596, 599, 599, 603, 603, 591, 453, 452, - 451, 449, 597, 448, 601, 446, 599, 599, 599, 443, - 442, 441, 439, 437, 599, 436, 603, 605, 605, 605, - 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, - 605, 606, 606, 435, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 607, 607, 434, 607, 607, - 607, 608, 608, 608, 608, 608, 608, 608, 608, 609, - 609, 431, 609, 429, 428, 427, 425, 609, 609, 610, - - 610, 423, 610, 610, 610, 610, 610, 610, 610, 610, - 610, 610, 610, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 612, 612, 612, - 422, 421, 612, 613, 419, 417, 416, 415, 613, 613, - 613, 613, 613, 613, 613, 613, 614, 614, 614, 614, - 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, - 615, 615, 414, 615, 615, 615, 615, 615, 615, 615, - 615, 615, 615, 615, 616, 412, 616, 616, 616, 411, - 410, 616, 617, 617, 617, 408, 404, 617, 618, 618, - 618, 618, 618, 403, 618, 618, 618, 618, 618, 618, - - 618, 618, 619, 619, 402, 619, 401, 400, 399, 398, - 619, 619, 619, 620, 620, 620, 620, 620, 620, 620, - 620, 620, 620, 620, 620, 620, 620, 621, 396, 621, - 621, 621, 392, 390, 621, 622, 622, 622, 389, 387, - 622, 623, 623, 623, 386, 385, 623, 624, 384, 624, - 624, 624, 383, 382, 624, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 626, - 381, 626, 626, 626, 380, 379, 626, 627, 627, 627, - 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, - 627, 628, 377, 628, 628, 628, 376, 375, 628, 629, - - 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, - 629, 629, 629, 630, 630, 630, 630, 630, 630, 630, - 630, 630, 630, 630, 630, 630, 630, 631, 631, 631, - 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, - 631, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 633, 633, 633, 633, 633, - 633, 633, 633, 633, 633, 633, 633, 633, 633, 634, - 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 635, 635, 635, 635, 635, 635, 635, - 635, 635, 635, 635, 635, 635, 635, 374, 372, 371, - - 370, 369, 368, 366, 365, 364, 363, 362, 360, 358, - 357, 354, 353, 352, 351, 349, 348, 347, 346, 345, - 343, 342, 341, 340, 339, 337, 336, 335, 330, 328, - 325, 324, 323, 322, 318, 317, 316, 315, 314, 312, - 311, 310, 308, 306, 305, 303, 302, 301, 300, 299, - 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, - 288, 287, 286, 285, 284, 283, 282, 280, 279, 278, - 277, 275, 274, 273, 272, 271, 270, 269, 267, 266, - 265, 264, 263, 261, 260, 257, 256, 255, 254, 253, - 251, 245, 243, 242, 237, 231, 230, 229, 228, 227, - - 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, - 216, 215, 213, 212, 211, 210, 209, 208, 207, 205, - 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, - 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, - 183, 182, 181, 180, 179, 177, 176, 175, 174, 173, - 172, 170, 169, 168, 167, 165, 161, 145, 143, 142, - 136, 135, 134, 133, 132, 130, 125, 124, 123, 122, - 121, 119, 118, 117, 116, 115, 114, 112, 111, 110, - 108, 107, 106, 105, 104, 103, 102, 101, 100, 97, - 96, 95, 94, 92, 91, 90, 89, 88, 87, 86, - - 85, 83, 82, 81, 80, 79, 78, 77, 76, 75, - 74, 73, 71, 51, 46, 35, 33, 31, 30, 23, - 22, 20, 17, 16, 15, 9, 3, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604 - + 2, 5, 8, 2, 5, 2, 10, 42, 10, 10, + 10, 11, 11, 11, 12, 20, 26, 20, 12, 2, + 31, 31, 47, 42, 199, 14, 26, 14, 14, 14, + 23, 8, 13, 199, 13, 13, 13, 14, 14, 39, + + 23, 583, 23, 25, 13, 13, 39, 35, 23, 577, + 25, 47, 14, 14, 13, 27, 27, 25, 35, 13, + 13, 28, 33, 25, 27, 35, 27, 41, 36, 28, + 33, 36, 28, 37, 36, 38, 33, 37, 38, 13, + 40, 41, 33, 43, 46, 40, 43, 46, 43, 110, + 38, 38, 110, 38, 44, 44, 44, 44, 48, 49, + 49, 48, 48, 51, 53, 53, 44, 44, 44, 51, + 51, 81, 81, 44, 52, 52, 52, 573, 54, 572, + 54, 54, 54, 95, 53, 90, 57, 57, 95, 51, + 54, 54, 106, 44, 560, 90, 44, 117, 106, 44, + + 58, 58, 58, 44, 57, 54, 54, 117, 59, 53, + 59, 59, 59, 559, 51, 55, 55, 55, 62, 62, + 59, 59, 62, 62, 62, 55, 55, 55, 70, 55, + 135, 311, 125, 96, 123, 59, 59, 123, 125, 123, + 55, 55, 55, 60, 96, 60, 60, 60, 55, 64, + 160, 64, 64, 64, 136, 60, 60, 70, 556, 135, + 134, 64, 64, 134, 134, 137, 156, 128, 128, 128, + 60, 60, 311, 137, 137, 141, 64, 64, 128, 128, + 128, 141, 141, 136, 143, 128, 143, 143, 143, 145, + 555, 145, 145, 145, 137, 156, 143, 143, 160, 146, + + 146, 145, 145, 146, 146, 146, 148, 148, 150, 150, + 547, 143, 143, 152, 152, 152, 145, 145, 153, 153, + 153, 207, 157, 536, 148, 157, 150, 158, 158, 171, + 153, 226, 153, 207, 171, 171, 229, 238, 532, 226, + 226, 236, 229, 229, 236, 153, 362, 239, 157, 253, + 253, 153, 232, 232, 232, 239, 239, 530, 317, 528, + 226, 526, 362, 233, 233, 233, 238, 236, 394, 158, + 225, 225, 225, 225, 523, 233, 239, 233, 521, 518, + 517, 295, 225, 225, 225, 384, 295, 317, 384, 225, + 233, 295, 386, 295, 323, 386, 233, 394, 304, 304, + + 304, 507, 323, 323, 386, 386, 386, 447, 447, 225, + 448, 516, 225, 448, 449, 225, 304, 449, 515, 225, + 312, 312, 312, 323, 514, 447, 449, 449, 449, 512, + 507, 312, 312, 312, 453, 453, 453, 500, 312, 324, + 500, 511, 493, 493, 495, 495, 510, 324, 324, 324, + 503, 543, 453, 503, 543, 324, 324, 324, 324, 324, + 493, 508, 495, 383, 383, 383, 383, 506, 324, 324, + 324, 324, 324, 324, 324, 383, 383, 383, 496, 496, + 533, 533, 383, 395, 395, 395, 535, 535, 504, 499, + 490, 395, 395, 395, 395, 395, 496, 489, 533, 444, + + 444, 444, 444, 488, 535, 395, 395, 395, 395, 395, + 395, 444, 444, 444, 446, 446, 446, 446, 444, 487, + 497, 497, 497, 497, 497, 485, 446, 446, 446, 505, + 484, 483, 505, 446, 450, 450, 450, 450, 450, 497, + 482, 505, 505, 505, 481, 480, 450, 450, 450, 538, + 538, 542, 542, 450, 458, 458, 458, 564, 564, 479, + 477, 476, 458, 458, 458, 458, 458, 538, 475, 542, + 492, 492, 492, 492, 474, 564, 458, 458, 458, 458, + 458, 458, 492, 492, 492, 502, 502, 502, 502, 492, + 472, 546, 471, 537, 537, 537, 537, 502, 502, 502, + + 546, 546, 546, 469, 502, 537, 537, 537, 539, 539, + 539, 539, 537, 468, 566, 566, 541, 541, 541, 541, + 539, 539, 539, 568, 568, 465, 464, 539, 541, 541, + 541, 544, 566, 463, 544, 541, 545, 461, 460, 545, + 545, 568, 459, 544, 544, 544, 457, 456, 545, 545, + 545, 562, 562, 562, 562, 563, 563, 563, 563, 574, + 567, 567, 574, 562, 562, 562, 455, 563, 563, 563, + 562, 567, 567, 567, 563, 570, 570, 454, 567, 571, + 571, 452, 579, 579, 579, 579, 580, 580, 582, 582, + 584, 584, 451, 570, 579, 579, 579, 571, 585, 585, + + 443, 579, 587, 587, 580, 442, 582, 441, 584, 589, + 589, 591, 591, 587, 587, 587, 585, 440, 439, 437, + 587, 436, 434, 431, 430, 429, 427, 589, 425, 591, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 594, + 424, 594, 594, 594, 594, 594, 594, 594, 595, 595, + 595, 595, 595, 596, 596, 596, 423, 422, 596, 597, + 419, 597, 597, 597, 597, 597, 597, 597, 598, 598, + 598, 598, 598, 598, 598, 598, 598, 599, 599, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 601, 417, + 601, 601, 601, 601, 601, 601, 601, 602, 602, 602, + + 603, 603, 604, 604, 604, 416, 415, 604, 604, 605, + 605, 605, 605, 605, 605, 605, 605, 605, 606, 606, + 606, 607, 607, 608, 608, 609, 609, 609, 610, 610, + 610, 610, 610, 610, 610, 610, 610, 611, 611, 611, + 612, 612, 612, 612, 612, 612, 612, 612, 612, 613, + 613, 613, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 615, 615, 615, 615, 615, 615, 615, 615, 615, + 616, 616, 616, 616, 616, 616, 616, 616, 616, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 619, 619, 619, + + 619, 619, 619, 619, 619, 619, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 413, 411, 410, 409, 407, + 405, 404, 403, 402, 401, 400, 399, 397, 393, 392, + 391, 390, 389, 388, 387, 385, 381, 379, 378, 376, + 375, 374, 373, 372, 371, 370, 369, 368, 366, 365, + 364, 363, 361, 360, 359, 358, 357, 355, 354, 353, + 352, 351, 349, 347, 346, 343, 342, 341, 340, 338, + 337, 336, 335, 334, 332, 331, 330, 329, 327, 326, + 325, 321, 319, 316, 315, 314, 313, 309, 308, 307, + 306, 305, 303, 302, 301, 299, 297, 296, 294, 293, + + 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, + 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, + 271, 270, 269, 268, 266, 265, 264, 263, 262, 261, + 260, 258, 257, 256, 255, 254, 252, 251, 248, 247, + 246, 245, 243, 237, 235, 230, 224, 223, 222, 221, + 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, + 210, 209, 208, 206, 205, 204, 203, 202, 201, 200, + 198, 196, 195, 194, 193, 192, 191, 190, 189, 188, + 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, + 177, 176, 175, 174, 173, 172, 170, 169, 168, 167, + + 166, 164, 163, 162, 161, 159, 155, 142, 140, 139, + 133, 132, 131, 130, 129, 127, 122, 121, 120, 119, + 118, 116, 115, 114, 113, 112, 111, 109, 108, 107, + 105, 104, 103, 102, 101, 100, 99, 98, 97, 94, + 93, 92, 91, 89, 88, 87, 86, 85, 84, 83, + 82, 80, 79, 78, 77, 76, 75, 74, 73, 72, + 71, 69, 50, 45, 34, 32, 30, 29, 24, 22, + 21, 19, 17, 16, 15, 9, 3, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592 } ; static yy_state_type yy_last_accepting_state; @@ -1328,9 +1286,9 @@ static AST_Decl * idl_find_node (const char *); #undef ECHO #endif -#line 1333 "fe/idl.yy.cpp" +#line 1291 "fe/idl.yy.cpp" /* SO we don't choke on files that use \r\n */ -#line 1335 "fe/idl.yy.cpp" +#line 1293 "fe/idl.yy.cpp" #define INITIAL 0 @@ -1553,7 +1511,7 @@ YY_DECL #line 122 "fe/idl.ll" -#line 1558 "fe/idl.yy.cpp" +#line 1516 "fe/idl.yy.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1581,13 +1539,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 593 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 604 ); + while ( yy_current_state != 592 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2303,41 +2261,30 @@ YY_RULE_SETUP } YY_BREAK case 108: -/* rule 108 can match eol */ YY_RULE_SETUP #line 406 "fe/idl.ll" - +break; YY_BREAK case 109: +/* rule 109 can match eol */ YY_RULE_SETUP #line 407 "fe/idl.ll" - - YY_BREAK -case 110: -YY_RULE_SETUP -#line 408 "fe/idl.ll" -break; - YY_BREAK -case 111: -/* rule 111 can match eol */ -YY_RULE_SETUP -#line 409 "fe/idl.ll" { idl_global->set_lineno (idl_global->lineno () + 1); break; } YY_BREAK -case 112: +case 110: YY_RULE_SETUP -#line 413 "fe/idl.ll" +#line 411 "fe/idl.ll" return ace_yytext[0]; YY_BREAK -case 113: +case 111: YY_RULE_SETUP -#line 415 "fe/idl.ll" +#line 413 "fe/idl.ll" ECHO; YY_BREAK -#line 2342 "fe/idl.yy.cpp" +#line 2289 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2636,7 +2583,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 593 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2664,11 +2611,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 593 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 604); + yy_is_jam = (yy_current_state == 592); return yy_is_jam ? 0 : yy_current_state; } @@ -3346,7 +3293,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 415 "fe/idl.ll" +#line 413 "fe/idl.ll" /* subroutines */ -- cgit v1.2.1