diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-24 15:39:34 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-24 15:39:34 +0000 |
commit | e3351bedff7f50952eb37058ea1d7b299e150b62 (patch) | |
tree | b7041053a16367509be46bcafc5e0b8084d0e263 | |
parent | 91b861740c9e562c18390ac3dcf4af3a1c9760a6 (diff) | |
download | ATCD-e3351bedff7f50952eb37058ea1d7b299e150b62.tar.gz |
ChangeLogTag: Fri Jul 24 15:38:24 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 11 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/idl.yy | 29 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/y.tab.cpp | 1433 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/include/idl_global.h | 1 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/util/utl_err.cpp | 2 |
5 files changed, 781 insertions, 695 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog index 8b3ff267c16..2a7a64dd6ba 100644 --- a/modules/TAO/ChangeLog +++ b/modules/TAO/ChangeLog @@ -1,3 +1,12 @@ +Fri Jul 24 15:38:24 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/fe/idl.yy: + * TAO_IDL/fe/y.tab.cpp: + * TAO_IDL/include/idl_global.h: + * TAO_IDL/util/utl_err.cpp: + + Added production rules and parse state for extended port. + Fri Jul 24 13:56:43 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/ast/ast_generator.cpp: @@ -16,7 +25,7 @@ Fri Jul 24 13:56:43 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/include/ast_porttype.h: * TAO_IDL/include/ast_template_common.h: * TAO_IDL/include/ast_template_interface.h: - + Changed template param list member to be a pointer so it can just be passed in from the parser, and then can be 0 if there are no template parameters (for diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy index 6f71eec3735..21a7b86d37f 100644 --- a/modules/TAO/TAO_IDL/fe/idl.yy +++ b/modules/TAO/TAO_IDL/fe/idl.yy @@ -4808,6 +4808,16 @@ component_export // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } + | extended_port_decl + { +// | extended_port_decl + idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); + } + ';' + { +// ';' + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + } ; provides_decl : IDL_PROVIDES interface_type id @@ -6308,6 +6318,25 @@ extended_uses_decl } ; +extended_port_decl + : IDL_PORT template_inst IDENTIFIER + { +// extended_port_decl : IDL_PORT template_inst IDENTIFIER + } + | IDL_PORT scoped_name IDENTIFIER + { +// | IDL_PORT scoped_name IDENTIFIER + } + ; + +template_inst + : scoped_name '<' at_least_one_scoped_name '>' + { +// template_inst : scoped_name '<' at_least_one_scoped_name '>' + } + ; + + %% /* programs */ diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp index 73e33e81182..62f5a7c9aab 100644 --- a/modules/TAO/TAO_IDL/fe/y.tab.cpp +++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp @@ -598,16 +598,16 @@ union tao_yyalloc /* TAO_YYFINAL -- State number of the termination state. */ #define TAO_YYFINAL 3 /* TAO_YYLAST -- Last index in TAO_YYTABLE. */ -#define TAO_YYLAST 1293 +#define TAO_YYLAST 1280 /* TAO_YYNTOKENS -- Number of terminals. */ #define TAO_YYNTOKENS 107 /* TAO_YYNNTS -- Number of nonterminals. */ -#define TAO_YYNNTS 356 +#define TAO_YYNNTS 359 /* TAO_YYNRULES -- Number of rules. */ -#define TAO_YYNRULES 529 +#define TAO_YYNRULES 534 /* TAO_YYNRULES -- Number of states. */ -#define TAO_YYNSTATES 753 +#define TAO_YYNSTATES 764 /* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */ #define TAO_YYUNDEFTOK 2 @@ -703,17 +703,18 @@ static const tao_yytype_uint16 tao_yyprhs[] = 969, 973, 977, 979, 981, 984, 985, 986, 987, 995, 996, 997, 1004, 1005, 1009, 1010, 1013, 1014, 1015, 1019, 1020, 1024, 1025, 1029, 1030, 1034, 1035, 1039, 1040, 1044, - 1048, 1050, 1052, 1056, 1059, 1061, 1062, 1066, 1070, 1074, - 1075, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1099, 1100, - 1104, 1105, 1108, 1109, 1110, 1111, 1117, 1120, 1121, 1123, - 1124, 1128, 1129, 1133, 1134, 1135, 1142, 1143, 1144, 1151, - 1153, 1155, 1157, 1159, 1161, 1164, 1168, 1169, 1170, 1171, - 1180, 1184, 1188, 1191, 1192, 1196, 1197, 1198, 1199, 1208, - 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, - 1229, 1230, 1231, 1239, 1243, 1244, 1245, 1252, 1253, 1258, - 1259, 1262, 1265, 1266, 1269, 1273, 1274, 1279, 1282, 1286, - 1287, 1289, 1290, 1291, 1292, 1293, 1294, 1306, 1308, 1309, - 1312, 1315, 1316, 1317, 1321, 1322, 1326, 1328, 1332, 1334 + 1045, 1049, 1053, 1055, 1057, 1061, 1064, 1066, 1067, 1071, + 1075, 1079, 1080, 1084, 1085, 1086, 1087, 1088, 1089, 1090, + 1104, 1105, 1109, 1110, 1113, 1114, 1115, 1116, 1122, 1125, + 1126, 1128, 1129, 1133, 1134, 1138, 1139, 1140, 1147, 1148, + 1149, 1156, 1158, 1160, 1162, 1164, 1166, 1169, 1173, 1174, + 1175, 1176, 1185, 1189, 1193, 1196, 1197, 1201, 1202, 1203, + 1204, 1213, 1215, 1217, 1219, 1221, 1223, 1225, 1227, 1229, + 1231, 1233, 1234, 1235, 1236, 1244, 1248, 1249, 1250, 1257, + 1258, 1263, 1264, 1267, 1270, 1271, 1274, 1278, 1279, 1284, + 1287, 1291, 1292, 1294, 1295, 1296, 1297, 1298, 1299, 1311, + 1313, 1314, 1317, 1320, 1321, 1322, 1326, 1327, 1331, 1333, + 1337, 1339, 1343, 1347, 1351 }; /* TAO_YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -723,10 +724,10 @@ static const tao_yytype_int16 tao_yyrhs[] = 197, 111, 86, -1, -1, 358, 112, 86, -1, -1, 359, 113, 86, -1, -1, 179, 114, 86, -1, -1, 307, 115, 86, -1, -1, 130, 116, 86, -1, -1, - 431, 117, 86, -1, -1, 125, 118, 86, -1, -1, + 432, 117, 86, -1, -1, 125, 118, 86, -1, -1, 140, 119, 86, -1, -1, 360, 120, 86, -1, -1, - 387, 121, 86, -1, -1, 412, 122, 86, -1, -1, - 449, 123, 86, -1, -1, 1, 124, 86, -1, -1, + 388, 121, 86, -1, -1, 413, 122, 86, -1, -1, + 450, 123, 86, -1, -1, 1, 124, 86, -1, -1, -1, -1, -1, 5, 126, 3, 127, 87, 128, 109, 129, 88, -1, 131, -1, 178, -1, -1, -1, -1, 137, 132, 87, 133, 161, 134, 88, -1, -1, 6, @@ -820,39 +821,41 @@ static const tao_yytype_int16 tao_yyrhs[] = -1, 50, 177, -1, -1, -1, -1, 366, 363, 87, 364, 371, 365, 88, -1, -1, -1, 50, 177, 367, 369, 368, 155, -1, -1, 89, 370, 174, -1, -1, - 371, 372, -1, -1, -1, 379, 373, 86, -1, -1, - 381, 374, 86, -1, -1, 384, 375, 86, -1, -1, - 385, 376, 86, -1, -1, 386, 377, 86, -1, -1, - 296, 378, 86, -1, 60, 380, 177, -1, 174, -1, - 19, -1, 382, 380, 177, -1, 65, 383, -1, 58, - -1, -1, 52, 174, 177, -1, 61, 174, 177, -1, - 51, 174, 177, -1, -1, 389, 388, 399, -1, -1, - -1, -1, -1, -1, -1, 56, 390, 177, 391, 396, - 392, 155, 393, 66, 394, 174, 395, 398, -1, -1, - 89, 397, 174, -1, -1, 59, 174, -1, -1, -1, - -1, 87, 400, 402, 401, 88, -1, 402, 403, -1, - -1, 162, -1, -1, 406, 404, 86, -1, -1, 409, - 405, 86, -1, -1, -1, 44, 177, 407, 323, 408, - 343, -1, -1, -1, 54, 177, 410, 323, 411, 343, - -1, 425, -1, 416, -1, 413, -1, 415, -1, 414, - -1, 53, 177, -1, 42, 53, 177, -1, -1, -1, - -1, 420, 423, 417, 87, 418, 161, 419, 88, -1, - 42, 53, 177, -1, 43, 53, 177, -1, 53, 177, - -1, -1, 138, 424, 155, -1, -1, -1, -1, 429, - 423, 426, 87, 427, 158, 428, 88, -1, 421, -1, - 422, -1, 67, -1, 20, -1, 53, -1, 68, -1, - 17, -1, 24, -1, 6, -1, 49, -1, -1, -1, - -1, 435, 432, 87, 433, 161, 434, 88, -1, 135, - 436, 442, -1, -1, -1, 104, 437, 441, 439, 438, - 103, -1, -1, 439, 90, 440, 441, -1, -1, 430, - 3, -1, 89, 443, -1, -1, 445, 444, -1, 444, - 90, 445, -1, -1, 174, 104, 446, 103, -1, 448, - 447, -1, 447, 90, 448, -1, -1, 3, -1, -1, - -1, -1, -1, -1, 71, 450, 3, 451, 455, 452, - 87, 453, 456, 454, 88, -1, 436, -1, -1, 458, - 457, -1, 457, 458, -1, -1, -1, 461, 459, 86, - -1, -1, 462, 460, 86, -1, 379, -1, 60, 445, - 3, -1, 381, -1, 382, 445, 3, -1 + 371, 372, -1, -1, -1, 380, 373, 86, -1, -1, + 382, 374, 86, -1, -1, 385, 375, 86, -1, -1, + 386, 376, 86, -1, -1, 387, 377, 86, -1, -1, + 296, 378, 86, -1, -1, 464, 379, 86, -1, 60, + 381, 177, -1, 174, -1, 19, -1, 383, 381, 177, + -1, 65, 384, -1, 58, -1, -1, 52, 174, 177, + -1, 61, 174, 177, -1, 51, 174, 177, -1, -1, + 390, 389, 400, -1, -1, -1, -1, -1, -1, -1, + 56, 391, 177, 392, 397, 393, 155, 394, 66, 395, + 174, 396, 399, -1, -1, 89, 398, 174, -1, -1, + 59, 174, -1, -1, -1, -1, 87, 401, 403, 402, + 88, -1, 403, 404, -1, -1, 162, -1, -1, 407, + 405, 86, -1, -1, 410, 406, 86, -1, -1, -1, + 44, 177, 408, 323, 409, 343, -1, -1, -1, 54, + 177, 411, 323, 412, 343, -1, 426, -1, 417, -1, + 414, -1, 416, -1, 415, -1, 53, 177, -1, 42, + 53, 177, -1, -1, -1, -1, 421, 424, 418, 87, + 419, 161, 420, 88, -1, 42, 53, 177, -1, 43, + 53, 177, -1, 53, 177, -1, -1, 138, 425, 155, + -1, -1, -1, -1, 430, 424, 427, 87, 428, 158, + 429, 88, -1, 422, -1, 423, -1, 67, -1, 20, + -1, 53, -1, 68, -1, 17, -1, 24, -1, 6, + -1, 49, -1, -1, -1, -1, 436, 433, 87, 434, + 161, 435, 88, -1, 135, 437, 443, -1, -1, -1, + 104, 438, 442, 440, 439, 103, -1, -1, 440, 90, + 441, 442, -1, -1, 431, 3, -1, 89, 444, -1, + -1, 446, 445, -1, 445, 90, 446, -1, -1, 174, + 104, 447, 103, -1, 449, 448, -1, 448, 90, 449, + -1, -1, 3, -1, -1, -1, -1, -1, -1, 71, + 451, 3, 452, 456, 453, 87, 454, 457, 455, 88, + -1, 437, -1, -1, 459, 458, -1, 458, 459, -1, + -1, -1, 462, 460, 86, -1, -1, 463, 461, 86, + -1, 380, -1, 60, 446, 3, -1, 382, -1, 383, + 446, 3, -1, 69, 465, 3, -1, 69, 174, 3, + -1, 174, 104, 171, 103, -1 }; /* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */ @@ -899,18 +902,19 @@ static const tao_yytype_uint16 tao_yyrline[] = 4420, 4438, 4446, 4451, 4445, 4463, 4470, 4483, 4481, 4509, 4516, 4545, 4583, 4584, 4588, 4618, 4658, 4663, 4617, 4682, 4687, 4680, 4729, 4728, 4739, 4746, 4747, 4752, 4751, 4762, - 4761, 4772, 4771, 4782, 4781, 4792, 4791, 4802, 4801, 4813, - 4872, 4879, 4903, 4977, 4987, 4993, 4999, 5046, 5093, 5142, - 5141, 5191, 5196, 5201, 5206, 5211, 5216, 5190, 5270, 5269, - 5280, 5287, 5294, 5302, 5307, 5301, 5319, 5320, 5324, 5326, - 5325, 5336, 5335, 5350, 5386, 5348, 5420, 5456, 5418, 5488, - 5489, 5490, 5494, 5495, 5499, 5527, 5558, 5603, 5608, 5556, - 5625, 5635, 5654, 5666, 5665, 5705, 5755, 5760, 5703, 5777, - 5782, 5790, 5795, 5800, 5805, 5810, 5823, 5828, 5833, 5842, - 5864, 5869, 5841, 5886, 5904, 5909, 5903, 5932, 5931, 5953, - 5960, 5974, 5980, 5987, 6006, 6023, 6030, 6040, 6051, 6075, - 6082, 6093, 6098, 6103, 6124, 6129, 6092, 6144, 6150, 6157, - 6164, 6169, 6176, 6175, 6184, 6183, 6194, 6199, 6253, 6258 + 4761, 4772, 4771, 4782, 4781, 4792, 4791, 4802, 4801, 4812, + 4811, 4823, 4882, 4889, 4913, 4987, 4997, 5003, 5009, 5056, + 5103, 5152, 5151, 5201, 5206, 5211, 5216, 5221, 5226, 5200, + 5280, 5279, 5290, 5297, 5304, 5312, 5317, 5311, 5329, 5330, + 5334, 5336, 5335, 5346, 5345, 5360, 5396, 5358, 5430, 5466, + 5428, 5498, 5499, 5500, 5504, 5505, 5509, 5537, 5568, 5613, + 5618, 5566, 5635, 5645, 5664, 5676, 5675, 5715, 5765, 5770, + 5713, 5787, 5792, 5800, 5805, 5810, 5815, 5820, 5833, 5838, + 5843, 5852, 5874, 5879, 5851, 5896, 5914, 5919, 5913, 5942, + 5941, 5963, 5970, 5984, 5990, 5997, 6016, 6033, 6040, 6050, + 6061, 6085, 6092, 6103, 6108, 6113, 6134, 6139, 6102, 6154, + 6160, 6167, 6174, 6179, 6186, 6185, 6194, 6193, 6204, 6209, + 6263, 6268, 6322, 6326, 6333 }; #endif @@ -991,26 +995,27 @@ static const char *const tao_yytname[] = "component_decl", "@127", "@128", "@129", "component_header", "@130", "@131", "component_inheritance_spec", "@132", "component_exports", "component_export", "@133", "@134", "@135", "@136", "@137", "@138", - "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", - "opt_multiple", "emits_decl", "publishes_decl", "consumes_decl", - "home_decl", "@139", "home_header", "@140", "@141", "@142", "@143", - "@144", "@145", "home_inheritance_spec", "@146", "primary_key_spec", - "home_body", "@147", "@148", "home_exports", "home_export", "@149", - "@150", "factory_decl", "@151", "@152", "finder_decl", "@153", "@154", - "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "@155", "@156", "@157", - "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "@158", "event_decl", "@159", "@160", "@161", - "event_header", "type_classifier", "template_interface_def", "@162", - "@163", "@164", "template_interface_header", - "at_least_one_template_param", "@165", "@166", "template_params", "@167", - "template_param", "template_inheritance_spec", - "at_least_one_template_ref", "template_refs", "template_ref", - "at_least_one_template_param_ref", "template_param_refs", - "template_param_ref", "porttype_decl", "@168", "@169", "@170", "@171", - "@172", "opt_template_params", "at_least_one_port_export", - "port_exports", "port_export", "@173", "@174", "extended_provides_decl", - "extended_uses_decl", 0 + "@139", "provides_decl", "interface_type", "uses_decl", + "uses_opt_multiple", "opt_multiple", "emits_decl", "publishes_decl", + "consumes_decl", "home_decl", "@140", "home_header", "@141", "@142", + "@143", "@144", "@145", "@146", "home_inheritance_spec", "@147", + "primary_key_spec", "home_body", "@148", "@149", "home_exports", + "home_export", "@150", "@151", "factory_decl", "@152", "@153", + "finder_decl", "@154", "@155", "event", "event_forward_decl", + "event_concrete_forward_decl", "event_abs_forward_decl", + "event_abs_decl", "@156", "@157", "@158", "event_abs_header", + "event_custom_header", "event_plain_header", "event_rest_of_header", + "@159", "event_decl", "@160", "@161", "@162", "event_header", + "type_classifier", "template_interface_def", "@163", "@164", "@165", + "template_interface_header", "at_least_one_template_param", "@166", + "@167", "template_params", "@168", "template_param", + "template_inheritance_spec", "at_least_one_template_ref", + "template_refs", "template_ref", "at_least_one_template_param_ref", + "template_param_refs", "template_param_ref", "porttype_decl", "@169", + "@170", "@171", "@172", "@173", "opt_template_params", + "at_least_one_port_export", "port_exports", "port_export", "@174", + "@175", "extended_provides_decl", "extended_uses_decl", + "extended_port_decl", "template_inst", 0 }; #endif @@ -1078,17 +1083,18 @@ static const tao_yytype_uint16 tao_yyr1[] = 358, 359, 360, 360, 361, 363, 364, 365, 362, 367, 368, 366, 370, 369, 369, 371, 371, 373, 372, 374, 372, 375, 372, 376, 372, 377, 372, 378, 372, 379, - 380, 380, 381, 382, 383, 383, 384, 385, 386, 388, - 387, 390, 391, 392, 393, 394, 395, 389, 397, 396, - 396, 398, 398, 400, 401, 399, 402, 402, 403, 404, - 403, 405, 403, 407, 408, 406, 410, 411, 409, 412, - 412, 412, 413, 413, 414, 415, 417, 418, 419, 416, - 420, 421, 422, 424, 423, 426, 427, 428, 425, 429, - 429, 430, 430, 430, 430, 430, 430, 430, 430, 432, - 433, 434, 431, 435, 437, 438, 436, 440, 439, 439, - 441, 442, 442, 443, 444, 444, 445, 446, 447, 447, - 448, 450, 451, 452, 453, 454, 449, 455, 455, 456, - 457, 457, 459, 458, 460, 458, 461, 461, 462, 462 + 372, 380, 381, 381, 382, 383, 384, 384, 385, 386, + 387, 389, 388, 391, 392, 393, 394, 395, 396, 390, + 398, 397, 397, 399, 399, 401, 402, 400, 403, 403, + 404, 405, 404, 406, 404, 408, 409, 407, 411, 412, + 410, 413, 413, 413, 414, 414, 415, 416, 418, 419, + 420, 417, 421, 422, 423, 425, 424, 427, 428, 429, + 426, 430, 430, 431, 431, 431, 431, 431, 431, 431, + 431, 433, 434, 435, 432, 436, 438, 439, 437, 441, + 440, 440, 442, 443, 443, 444, 445, 445, 446, 447, + 448, 448, 449, 451, 452, 453, 454, 455, 450, 456, + 456, 457, 458, 458, 460, 459, 461, 459, 462, 462, + 463, 463, 464, 464, 465 }; /* TAO_YYR2[TAO_YYN] -- Number of symbols composing right hand side of rule TAO_YYN. */ @@ -1135,18 +1141,19 @@ static const tao_yytype_uint8 tao_yyr2[] = 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, 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, 0, - 0, 0, 7, 3, 0, 0, 6, 0, 4, 0, - 2, 2, 0, 2, 3, 0, 4, 2, 3, 0, - 1, 0, 0, 0, 0, 0, 11, 1, 0, 2, - 2, 0, 0, 3, 0, 3, 1, 3, 1, 3 + 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, 0, 0, 0, 7, 3, 0, 0, 6, 0, + 4, 0, 2, 2, 0, 2, 3, 0, 4, 2, + 3, 0, 1, 0, 0, 0, 0, 0, 11, 1, + 0, 2, 2, 0, 0, 3, 0, 3, 1, 3, + 1, 3, 3, 3, 4 }; /* TAO_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1156,80 +1163,81 @@ static const tao_yytype_uint16 tao_yydefact[] = { 4, 0, 0, 1, 31, 115, 33, 44, 164, 224, 240, 275, 322, 0, 0, 0, 0, 68, 0, 0, - 431, 0, 0, 511, 3, 19, 15, 38, 51, 40, + 433, 0, 0, 513, 3, 19, 15, 38, 51, 40, 21, 52, 57, 53, 58, 51, 54, 55, 39, 11, 5, 170, 226, 166, 274, 167, 192, 193, 168, 13, - 7, 9, 23, 393, 392, 395, 25, 429, 27, 461, - 463, 462, 460, 51, 479, 480, 459, 51, 17, 489, + 7, 9, 23, 393, 392, 395, 25, 431, 27, 463, + 465, 464, 462, 51, 481, 482, 461, 51, 17, 491, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 204, 169, 51, 0, 51, 62, 51, 0, 56, - 51, 0, 399, 472, 0, 107, 0, 106, 0, 0, - 0, 0, 71, 494, 46, 502, 0, 0, 0, 208, + 51, 0, 399, 474, 0, 107, 0, 106, 0, 0, + 0, 0, 71, 496, 46, 504, 0, 0, 0, 208, 210, 0, 214, 215, 218, 219, 220, 221, 217, 222, 223, 289, 296, 301, 66, 177, 76, 173, 175, 176, 174, 178, 206, 207, 179, 183, 180, 182, 181, 184, 185, 226, 189, 0, 190, 191, 186, 0, 187, 295, 188, 300, 0, 0, 0, 242, 0, 0, 0, 0, - 0, 0, 0, 0, 473, 466, 475, 0, 0, 0, + 0, 0, 0, 0, 475, 468, 477, 0, 0, 0, 32, 128, 116, 120, 124, 125, 121, 122, 123, 126, 127, 34, 45, 165, 171, 225, 241, 276, 323, 47, - 470, 48, 0, 471, 69, 404, 432, 0, 390, 109, - 391, 512, 20, 16, 70, 49, 0, 0, 493, 41, + 472, 48, 0, 473, 69, 404, 434, 0, 390, 109, + 391, 514, 20, 16, 70, 49, 0, 0, 495, 41, 22, 59, 209, 216, 211, 213, 0, 73, 285, 288, 292, 297, 12, 6, 227, 0, 14, 8, 10, 24, - 396, 26, 443, 430, 28, 73, 0, 0, 18, 490, - 30, 0, 0, 0, 0, 0, 63, 402, 400, 440, - 108, 0, 518, 0, 487, 485, 482, 486, 488, 483, - 481, 484, 0, 499, 0, 501, 505, 85, 78, 212, - 290, 0, 67, 0, 0, 0, 233, 243, 406, 447, - 474, 467, 476, 85, 117, 35, 204, 172, 197, 198, - 199, 205, 277, 324, 85, 0, 73, 438, 433, 110, - 517, 513, 50, 105, 500, 495, 0, 503, 0, 0, + 396, 26, 445, 432, 28, 73, 0, 0, 18, 492, + 30, 0, 0, 0, 0, 0, 63, 402, 400, 442, + 108, 0, 520, 0, 489, 487, 484, 488, 490, 485, + 483, 486, 0, 501, 0, 503, 507, 85, 78, 212, + 290, 0, 67, 0, 0, 0, 233, 243, 406, 449, + 476, 469, 478, 85, 117, 35, 204, 172, 197, 198, + 199, 205, 277, 324, 85, 0, 73, 440, 435, 110, + 519, 515, 50, 105, 502, 497, 0, 505, 0, 0, 0, 72, 154, 155, 156, 158, 160, 161, 162, 159, 157, 0, 0, 0, 0, 151, 163, 130, 131, 133, 135, 137, 140, 143, 147, 152, 286, 293, 298, 228, 232, 0, 0, 397, 0, 85, 78, 0, 0, 4, 0, 194, 0, 232, 0, 403, 401, 0, 73, 0, - 102, 497, 0, 510, 0, 509, 0, 100, 312, 317, + 102, 499, 0, 512, 0, 511, 0, 100, 312, 317, 332, 333, 0, 84, 92, 86, 96, 310, 311, 94, 98, 0, 88, 90, 337, 0, 0, 0, 77, 79, 80, 0, 291, 148, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 238, 235, 234, 208, 254, 249, 250, 251, - 252, 244, 253, 0, 0, 0, 0, 425, 417, 0, - 405, 407, 409, 0, 411, 413, 415, 0, 0, 448, - 0, 446, 449, 451, 0, 0, 0, 118, 0, 307, - 303, 306, 195, 284, 278, 283, 233, 0, 439, 434, - 514, 103, 0, 496, 506, 507, 504, 0, 0, 0, - 43, 0, 0, 0, 0, 0, 336, 366, 363, 364, - 365, 327, 335, 0, 0, 0, 83, 82, 61, 81, - 153, 132, 134, 136, 138, 139, 141, 142, 144, 145, - 146, 287, 294, 299, 229, 231, 0, 0, 0, 0, - 0, 421, 420, 0, 0, 424, 423, 0, 398, 0, - 0, 0, 0, 0, 0, 453, 456, 445, 0, 0, - 0, 0, 492, 0, 0, 0, 304, 0, 0, 280, - 0, 65, 0, 0, 0, 498, 0, 101, 313, 318, - 93, 87, 97, 95, 99, 0, 89, 91, 338, 239, - 236, 245, 428, 426, 419, 427, 418, 408, 410, 422, - 412, 414, 416, 0, 0, 450, 452, 469, 478, 119, - 129, 37, 308, 305, 196, 279, 281, 326, 435, 0, - 526, 528, 0, 515, 521, 522, 524, 104, 508, 0, - 0, 328, 0, 0, 0, 341, 454, 457, 0, 0, - 0, 420, 0, 0, 0, 519, 0, 0, 314, 319, - 203, 0, 339, 237, 246, 0, 0, 373, 373, 309, - 282, 436, 527, 529, 516, 520, 523, 525, 0, 377, - 200, 354, 329, 373, 0, 342, 349, 0, 348, 370, - 455, 458, 442, 315, 374, 320, 201, 0, 0, 373, - 340, 261, 268, 266, 247, 257, 258, 265, 0, 344, - 345, 0, 0, 437, 373, 0, 381, 0, 353, 367, - 368, 369, 0, 359, 360, 330, 0, 0, 0, 0, - 0, 0, 263, 350, 346, 371, 441, 316, 375, 378, - 321, 202, 355, 356, 0, 385, 262, 269, 267, 248, - 256, 271, 259, 264, 0, 0, 0, 0, 0, 357, - 361, 382, 331, 0, 0, 0, 351, 347, 0, 0, - 379, 0, 0, 0, 270, 272, 260, 372, 376, 0, - 358, 362, 383, 0, 0, 380, 389, 0, 386, 384, - 387, 0, 388 + 252, 244, 253, 0, 0, 0, 0, 427, 0, 417, + 0, 405, 407, 409, 0, 411, 413, 415, 419, 0, + 0, 450, 0, 448, 451, 453, 0, 0, 0, 118, + 0, 307, 303, 306, 195, 284, 278, 283, 233, 0, + 441, 436, 516, 103, 0, 498, 508, 509, 506, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 336, 366, + 363, 364, 365, 327, 335, 0, 0, 0, 83, 82, + 61, 81, 153, 132, 134, 136, 138, 139, 141, 142, + 144, 145, 146, 287, 294, 299, 229, 231, 0, 0, + 0, 0, 0, 423, 422, 0, 0, 426, 425, 0, + 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, + 455, 458, 447, 0, 0, 0, 0, 494, 0, 0, + 0, 304, 0, 0, 280, 0, 65, 0, 0, 0, + 500, 0, 101, 313, 318, 93, 87, 97, 95, 99, + 0, 89, 91, 338, 239, 236, 245, 430, 428, 421, + 429, 533, 0, 532, 418, 408, 410, 424, 412, 414, + 416, 420, 0, 0, 452, 454, 471, 480, 119, 129, + 37, 308, 305, 196, 279, 281, 326, 437, 0, 528, + 530, 0, 517, 523, 524, 526, 104, 510, 0, 0, + 328, 0, 0, 0, 0, 341, 456, 459, 0, 0, + 0, 422, 0, 0, 0, 521, 0, 0, 314, 319, + 203, 0, 339, 237, 246, 534, 0, 0, 373, 373, + 309, 282, 438, 529, 531, 518, 522, 525, 527, 0, + 377, 200, 354, 329, 373, 0, 342, 349, 0, 348, + 370, 457, 460, 444, 315, 374, 320, 201, 0, 0, + 373, 340, 261, 268, 266, 247, 257, 258, 265, 0, + 344, 345, 0, 0, 439, 373, 0, 381, 0, 353, + 367, 368, 369, 0, 359, 360, 330, 0, 0, 0, + 0, 0, 0, 263, 350, 346, 371, 443, 316, 375, + 378, 321, 202, 355, 356, 0, 385, 262, 269, 267, + 248, 256, 271, 259, 264, 0, 0, 0, 0, 0, + 357, 361, 382, 331, 0, 0, 0, 351, 347, 0, + 0, 379, 0, 0, 0, 270, 272, 260, 372, 376, + 0, 358, 362, 383, 0, 0, 380, 389, 0, 386, + 384, 387, 0, 388 }; /* TAO_YYDEFGOTO[NTERM-NUM]. */ @@ -1237,437 +1245,436 @@ static const tao_yytype_int16 tao_yydefgoto[] = { -1, 1, 2, 24, 153, 157, 158, 152, 156, 101, 167, 100, 107, 159, 161, 163, 169, 71, 25, 73, - 242, 349, 534, 26, 27, 106, 267, 372, 28, 74, + 242, 349, 539, 26, 27, 106, 267, 372, 28, 74, 29, 124, 253, 30, 31, 32, 108, 268, 387, 33, - 192, 294, 457, 34, 217, 35, 91, 205, 272, 36, - 37, 309, 388, 389, 308, 373, 472, 483, 484, 471, - 474, 473, 475, 467, 302, 360, 544, 325, 197, 251, - 97, 38, 374, 72, 241, 348, 533, 172, 579, 326, + 192, 294, 459, 34, 217, 35, 91, 205, 272, 36, + 37, 309, 388, 389, 308, 373, 474, 485, 486, 473, + 476, 475, 477, 469, 302, 360, 549, 325, 197, 251, + 97, 38, 374, 72, 241, 348, 538, 172, 588, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 375, 75, 183, 243, 413, 127, 128, 129, 130, 41, - 287, 351, 537, 288, 619, 640, 677, 289, 290, 131, + 287, 351, 542, 288, 629, 651, 688, 289, 290, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 42, - 76, 43, 154, 276, 410, 339, 411, 505, 341, 414, - 507, 603, 506, 44, 77, 45, 225, 342, 508, 604, - 644, 689, 421, 664, 690, 665, 691, 725, 686, 666, - 692, 667, 688, 687, 723, 712, 724, 46, 47, 48, - 78, 244, 352, 538, 454, 539, 609, 455, 146, 273, + 76, 43, 154, 276, 410, 339, 411, 507, 341, 414, + 509, 612, 508, 44, 77, 45, 225, 342, 510, 613, + 655, 700, 421, 675, 701, 676, 702, 736, 697, 677, + 703, 678, 699, 698, 734, 723, 735, 46, 47, 48, + 78, 244, 352, 543, 456, 544, 619, 457, 146, 273, 407, 147, 216, 310, 148, 274, 408, 149, 150, 275, - 409, 151, 291, 350, 450, 536, 451, 535, 608, 376, - 377, 468, 599, 638, 674, 378, 469, 600, 639, 676, - 379, 79, 245, 353, 540, 380, 555, 621, 659, 705, - 381, 481, 391, 485, 602, 643, 606, 625, 626, 647, - 670, 715, 648, 668, 714, 642, 657, 658, 682, 703, - 731, 683, 704, 732, 482, 684, 650, 671, 716, 655, - 675, 717, 700, 718, 739, 722, 733, 744, 747, 748, - 751, 382, 383, 52, 53, 54, 160, 278, 429, 55, - 195, 296, 248, 295, 343, 430, 519, 520, 522, 523, - 524, 517, 590, 513, 591, 592, 516, 434, 435, 436, - 56, 162, 57, 94, 249, 358, 542, 610, 652, 298, - 357, 673, 233, 279, 440, 344, 441, 528, 529, 442, - 573, 627, 443, 574, 628, 58, 59, 60, 61, 62, - 236, 345, 530, 63, 64, 65, 165, 235, 66, 237, - 346, 531, 67, 262, 68, 168, 283, 446, 69, 105, - 206, 362, 305, 462, 263, 208, 265, 307, 266, 364, - 465, 365, 70, 99, 252, 359, 543, 614, 301, 593, - 615, 594, 616, 617, 595, 596 + 409, 151, 291, 350, 452, 541, 453, 540, 618, 376, + 377, 470, 608, 649, 685, 378, 471, 609, 650, 687, + 379, 79, 245, 353, 545, 380, 560, 631, 670, 716, + 381, 483, 391, 487, 611, 654, 616, 636, 637, 658, + 681, 726, 659, 679, 725, 653, 668, 669, 693, 714, + 742, 694, 715, 743, 484, 695, 661, 682, 727, 666, + 686, 728, 711, 729, 750, 733, 744, 755, 758, 759, + 762, 382, 383, 52, 53, 54, 160, 278, 430, 55, + 195, 296, 248, 295, 343, 431, 523, 524, 526, 527, + 528, 521, 529, 599, 515, 600, 601, 518, 435, 436, + 437, 56, 162, 57, 94, 249, 358, 547, 620, 663, + 298, 357, 684, 233, 279, 442, 344, 443, 533, 534, + 444, 582, 638, 445, 583, 639, 58, 59, 60, 61, + 62, 236, 345, 535, 63, 64, 65, 165, 235, 66, + 237, 346, 536, 67, 262, 68, 168, 283, 448, 69, + 105, 206, 362, 305, 464, 263, 208, 265, 307, 266, + 364, 467, 365, 70, 99, 252, 359, 548, 624, 301, + 602, 625, 603, 626, 627, 604, 605, 438, 520 }; /* TAO_YYPACT[STATE-NUM] -- Index in TAO_YYTABLE of the portion describing STATE-NUM. */ -#define TAO_YYPACT_NINF -530 +#define TAO_YYPACT_NINF -595 static const tao_yytype_int16 tao_yypact[] = { - -530, 48, 1222, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, 34, 93, 90, 51, -530, 34, 34, - -530, 37, 37, -530, -530, -530, -530, -530, 73, -530, - -530, -530, -530, -530, -530, 541, -530, -530, -530, -530, - -530, -530, -2, -530, 100, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, 60, -530, -530, -530, 60, -530, -530, - -530, 70, 77, 162, 34, 1195, 34, 34, 34, 34, - -530, -530, -530, 12, 34, 19, -530, 78, 34, -530, - 60, 34, 82, 99, 34, -530, -38, -530, -9, 190, - 101, 127, 175, -530, -530, 153, 140, 157, 159, 155, - -530, 68, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, 166, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, 100, -530, -530, -530, -41, -530, 149, - -530, 152, 164, 172, 173, -530, 176, 177, 178, 180, - 174, 182, 183, 185, -530, -530, -530, 187, 188, 191, - -530, 166, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - 192, -530, 194, -530, -530, 170, -530, 34, -530, -530, - -530, -530, -530, -530, -530, -530, 231, 37, -530, -530, - -530, -530, -530, -530, 261, -530, 168, 227, -530, -530, - -530, -530, -530, -530, -530, 181, -530, -530, -530, -530, - -530, -530, -530, -530, -530, 227, 196, 198, -530, -530, - -530, 34, 199, 34, 200, 203, -530, -530, -530, 208, - -530, 34, 197, 37, -530, -530, -530, -530, -530, -530, - -530, -530, 276, -530, -45, -530, -530, -530, -530, -530, - -530, 37, -530, 36, 36, 36, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, 195, -530, -530, -530, - -530, -530, -530, -530, -530, 37, 227, -530, -530, -530, - -530, -530, -530, 166, -530, 212, 286, 213, 960, 714, - 186, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, 49, 49, 49, 36, 166, -530, 214, 211, 215, - 24, 80, 81, -530, -530, -530, -530, -530, -530, -530, - -530, 1171, 138, 184, 878, -530, -530, 995, 201, -530, - 207, 217, 302, -530, 1077, 166, -530, 37, 227, 228, - 224, -530, 216, -530, 222, -530, 37, -530, -530, -530, - -530, -530, 229, -530, -530, -530, -530, -530, -530, -530, - -530, 501, -530, -530, -530, 1171, 1171, 230, -530, -530, - -530, 240, -530, -530, -530, -530, 225, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 226, 232, 233, - 242, 243, -530, -530, -530, 324, 166, -530, -530, -530, - -530, -530, -530, 37, 37, 38, 37, 275, -530, 246, - -530, -530, -530, 38, -530, -530, -530, 34, 34, -530, - 249, -530, -530, -530, 1112, 796, 251, -530, 370, -530, - -530, -530, -530, -530, -530, -530, 252, 253, 166, -530, - -530, -530, 231, -530, -530, 255, -530, 256, 312, 587, - -530, 260, 262, 263, 264, 265, -530, 166, -530, -530, - -530, -530, -530, 266, 267, 353, -530, -530, -530, -530, - -530, 211, 215, 24, 80, 80, 81, 81, -530, -530, - -530, -530, -530, -530, -530, -530, 273, 34, 268, 57, - 57, -530, 166, 34, 57, -530, -530, 277, -530, 287, - 292, 34, 293, 294, 295, -530, -530, -530, 296, 297, - 284, 298, -530, 36, 299, 36, 207, 34, 300, 304, - 301, -530, 318, 14, 37, -530, 286, -530, -530, -530, - -530, -530, -530, -530, -530, 389, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, 307, 307, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, 38, - -530, -530, 38, -530, -530, -530, -530, 166, -530, 587, - 34, -530, 307, 309, 311, 361, -530, -530, 315, 302, - 37, -45, 396, 397, 313, 14, 316, 317, -530, -530, - -530, 314, -530, -530, -530, 320, 382, 380, 380, -530, - -530, 166, -530, -530, -530, -530, -530, -530, 34, 372, - 338, 327, -530, 380, 41, -530, -530, 328, -530, -530, - -530, -530, 373, -530, -530, -530, -530, 329, 146, 380, - -530, -530, -530, -530, -530, -530, -530, -530, 587, -530, - 345, 335, 37, -530, 380, 336, 376, 34, -530, -530, - -530, -530, 337, -530, -530, -530, 354, 36, 355, 357, - 54, 1195, 116, -530, -530, -530, 166, -530, -530, -530, - -530, -530, -530, 352, 587, 404, -530, -530, -530, -530, - -530, -530, -530, -530, 34, 382, 37, 37, 346, -530, - -530, -530, -530, 359, 34, 360, -530, -530, 347, 349, - -530, 146, 34, 351, -530, -530, -530, -530, -530, 37, - -530, -530, -530, 358, 381, -530, -530, 362, 366, -530, - -530, 386, -530 + -595, 62, 1209, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, 43, 92, 31, -1, -595, 43, 43, + -595, 37, 37, -595, -595, -595, -595, -595, 87, -595, + -595, -595, -595, -595, -595, 91, -595, -595, -595, -595, + -595, -595, -4, -595, 110, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, 67, -595, -595, -595, 67, -595, -595, + -595, 82, 192, 163, 43, 1182, 43, 43, 43, 43, + -595, -595, -595, 7, 43, 76, -595, 103, 43, -595, + 67, 43, 112, 126, 43, -595, -40, -595, -38, 191, + 141, 150, 148, -595, -595, 162, 152, 178, 179, 202, + -595, 80, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, 184, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, 110, -595, -595, -595, -11, -595, 164, + -595, 165, 181, 186, 183, -595, 188, 189, 193, 194, + 190, 195, 196, 198, -595, -595, -595, 199, 200, 203, + -595, 184, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + 204, -595, 201, -595, -595, 197, -595, 43, -595, -595, + -595, -595, -595, -595, -595, -595, 173, 37, -595, -595, + -595, -595, -595, -595, 270, -595, 208, 235, -595, -595, + -595, -595, -595, -595, -595, 206, -595, -595, -595, -595, + -595, -595, -595, -595, -595, 235, 210, 211, -595, -595, + -595, 43, 212, 43, 213, 214, -595, -595, -595, 215, + -595, 43, 221, 37, -595, -595, -595, -595, -595, -595, + -595, -595, 299, -595, -7, -595, -595, -595, -595, -595, + -595, 37, -595, 46, 46, 46, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, 209, -595, -595, -595, + -595, -595, -595, -595, -595, 37, 235, -595, -595, -595, + -595, -595, -595, 184, -595, 216, 300, 218, 971, 725, + 368, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, 74, 74, 74, 46, 184, -595, 225, 226, 232, + 55, 86, 117, -595, -595, -595, -595, -595, -595, -595, + -595, 546, 234, 109, 889, -595, -595, 1006, 237, -595, + 224, 240, 302, -595, 1088, 184, -595, 37, 235, 244, + 242, -595, 230, -595, 231, -595, 37, -595, -595, -595, + -595, -595, 247, -595, -595, -595, -595, -595, -595, -595, + -595, 632, -595, -595, -595, 546, 546, 248, -595, -595, + -595, 251, -595, -595, -595, -595, 238, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 236, 239, 241, + 253, 255, -595, -595, -595, 337, 184, -595, -595, -595, + -595, -595, -595, 37, 37, 54, 37, 288, 37, -595, + 260, -595, -595, -595, 54, -595, -595, -595, -595, 43, + 43, -595, 261, -595, -595, -595, 1123, 807, 262, -595, + 430, -595, -595, -595, -595, -595, -595, -595, 263, 264, + 184, -595, -595, -595, 173, -595, -595, 266, -595, 267, + 328, 525, -595, 284, 286, 287, 289, 303, -595, 184, + -595, -595, -595, -595, -595, 304, 309, 371, -595, -595, + -595, -595, -595, 226, 232, 55, 86, 86, 117, 117, + -595, -595, -595, -595, -595, -595, -595, -595, 310, 43, + 295, 52, 52, -595, 184, 43, 52, -595, -595, 32, + 385, 312, -595, 313, 314, 43, 315, 316, 317, 324, + -595, -595, -595, 326, 327, 329, 330, -595, 46, 331, + 46, 224, 43, 332, 333, 334, -595, 348, 25, 37, + -595, 300, -595, -595, -595, -595, -595, -595, -595, -595, + 413, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, 37, -595, -595, -595, -595, -595, -595, -595, + -595, -595, 320, 320, -595, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, 54, -595, + -595, 54, -595, -595, -595, -595, 184, -595, 525, 43, + -595, 320, 338, 341, 322, 394, -595, -595, 335, 302, + 37, -7, 427, 429, 345, 25, 352, 353, -595, -595, + -595, 339, -595, -595, -595, -595, 340, 408, 406, 406, + -595, -595, 184, -595, -595, -595, -595, -595, -595, 43, + 390, 356, 346, -595, 406, 58, -595, -595, 354, -595, + -595, -595, -595, 388, -595, -595, -595, -595, 357, 108, + 406, -595, -595, -595, -595, -595, -595, -595, -595, 525, + -595, 364, 359, 37, -595, 406, 361, 393, 43, -595, + -595, -595, -595, 372, -595, -595, -595, 380, 46, 369, + 387, 41, 1182, 158, -595, -595, -595, 184, -595, -595, + -595, -595, -595, -595, 386, 525, 438, -595, -595, -595, + -595, -595, -595, -595, -595, 43, 408, 37, 37, 377, + -595, -595, -595, -595, 392, 43, 396, -595, -595, 382, + 383, -595, 108, 43, 389, -595, -595, -595, -595, -595, + 37, -595, -595, -595, 395, 412, -595, -595, 398, 399, + -595, -595, 415, -595 }; /* TAO_YYPGOTO[NTERM-NUM]. */ static const tao_yytype_int16 tao_yypgoto[] = { - -530, -530, 118, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, 158, -530, - -530, 107, -530, -530, -530, 449, -530, -530, -530, -530, - -530, -530, -530, 453, -530, 202, -530, -530, -201, -530, - -530, 123, -530, -530, -248, -276, -530, -530, -530, -530, - -530, -530, -530, -530, -263, -530, -530, -19, -530, -530, - -13, -530, 7, -530, -530, -530, -530, -530, -530, -302, - -530, 74, 72, 75, -175, -170, -197, -101, -530, -247, - 11, -530, -530, -530, -24, 163, -360, -530, -530, -530, - -35, -530, -530, -508, -163, -530, -530, -12, -530, -49, - -530, -530, 405, 406, -48, -47, -46, -530, -530, -28, - -530, -25, -530, -530, -530, -530, 126, 204, -530, -145, - -530, -530, -530, -21, -530, -17, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -209, -530, -530, -530, -530, - -530, -210, -530, -530, -530, -530, -530, -530, -530, -31, - -530, -530, -530, -530, -530, -530, -530, -126, -530, -530, - -530, -530, -530, -530, -60, -530, -530, -530, -53, -530, - -530, -530, -530, -530, -530, -530, -52, -530, -530, 142, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - 13, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -529, -530, -530, -530, - -530, -530, -229, -530, -530, -530, -530, -530, -530, -530, - -530, -244, -530, -530, -439, -530, -488, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, 15, 18, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, 145, -401, 147, 148, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, 422, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, 241, - -530, -530, -530, -530, 30, -530, -530, -530, -335, -530, - -530, -51, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -117, -530, -530, -530, -530 + -595, -595, 143, -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, 205, -595, + -595, 100, -595, -595, -595, 479, -595, -595, -595, -595, + -595, -595, -595, 489, -595, 217, -595, -595, -201, -595, + -595, 159, -595, -595, -211, -276, -595, -595, -595, -595, + -595, -595, -595, -595, -263, -595, -595, -19, -595, -595, + -13, -595, 11, -595, -595, -595, -595, -595, -595, -307, + -595, 111, 113, 107, -155, -143, -181, -68, -595, -244, + 13, -595, -595, -595, -24, 207, -352, -595, -595, -595, + -2, -595, -595, -514, -140, -595, -595, -12, -595, -50, + -595, -595, 441, 442, -49, -48, -47, -595, -595, -28, + -595, -25, -595, -595, -595, -595, 157, 243, -595, -123, + -595, -595, -595, -21, -595, -17, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -186, -595, -595, -595, -595, + -595, -187, -595, -595, -595, -595, -595, -595, -595, -31, + -595, -595, -595, -595, -595, -595, -595, -99, -595, -595, + -595, -595, -595, -595, -63, -595, -595, -595, -60, -595, + -595, -595, -595, -595, -595, -595, -20, -595, -595, 180, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + 17, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -544, -595, -595, -595, + -595, -595, -204, -595, -595, -595, -595, -595, -595, -595, + -595, -218, -595, -595, -444, -595, -594, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, 18, 19, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -595, 182, -402, 233, 245, -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, 459, -595, -595, + -595, -595, -595, -595, -595, -595, -595, -595, -595, -595, + 275, -595, -595, -595, -595, 68, -595, -595, -595, -340, + -595, -595, -5, -595, -595, -595, -595, -595, -595, -595, + -595, -595, -94, -595, -595, -595, -595, -595, -595 }; /* TAO_YYTABLE[TAO_YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what TAO_YYDEFACT says. If TAO_YYTABLE_NINF, syntax error. */ -#define TAO_YYTABLE_NINF -492 +#define TAO_YYTABLE_NINF -494 static const tao_yytype_int16 tao_yytable[] = { - 81, 82, 96, 98, 145, 92, 93, 141, 311, 39, - 142, 126, 179, 40, 143, 49, 125, 50, 144, 180, - 51, 478, 396, 173, 176, 177, 178, 337, 338, 584, - 549, 466, 521, 390, 280, 347, 199, 80, 198, 80, - 80, 80, 661, 199, 145, 607, 354, 141, 3, 218, - 142, 184, 80, 171, 143, 661, 125, 511, 144, 306, - 80, 182, 219, 185, 186, 187, 188, 200, 439, 662, - 663, 190, 199, 622, 589, 193, 214, 215, 194, 427, - 80, 196, 662, 663, -273, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 356, 7, 444, -113, 7, - 17, 102, 122, 123, 88, -114, 400, 401, 102, 478, - 312, 313, 314, 315, 316, 317, 318, 95, 95, 95, - 319, 320, 155, 312, 313, 314, 315, 316, 317, 318, - 95, 321, 322, 319, 320, 104, 323, 324, 199, 17, - 651, 80, -255, 84, 662, 663, 415, 110, 111, 102, - 324, 114, 115, 116, 117, 660, 170, 459, 95, -112, - 618, 11, 102, 212, -74, 181, 213, 102, -394, 390, - 164, 685, 83, 85, 164, 402, 403, 103, 404, 405, - 406, 679, 680, 681, 250, -464, 697, 202, 264, 80, - 189, 521, 191, 201, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 726, 498, 499, 500, - 121, 122, 123, 203, 368, 369, 735, 87, 90, 95, - 393, 394, 395, 204, 741, 494, 495, 209, 284, 693, - 286, 580, 496, 497, 303, 423, 424, 254, 299, 478, - 486, 487, 207, 210, 425, 426, 211, 199, 255, 427, - 222, 256, 303, 220, 612, 257, 221, 613, 223, 247, - 224, 230, 226, 227, 228, 720, 229, 95, 231, 269, - 232, 234, 270, 238, 271, 239, 355, 240, -465, 304, - 258, 246, 277, 281, 259, 282, 285, 292, 582, 363, - 293, 125, 447, 417, 418, 419, 420, 297, 260, 261, - -302, 103, 361, 366, 398, 453, 397, 452, 478, 399, - 145, 422, 449, 141, 461, 460, 142, 470, 488, 463, - 143, 479, 125, 416, 144, 464, 489, 490, 480, 501, - 504, -230, 212, 515, 518, 502, 503, 527, 458, 532, - -325, 541, 547, 548, 478, 546, 550, 264, 551, 552, - 553, 554, 556, 557, 145, 145, 558, 141, 141, 559, - 142, 142, 477, 566, 143, 143, 125, 125, 144, 144, - 561, 4, 577, 567, 5, 6, 7, 8, 568, 570, - 571, 572, 575, 576, 588, 707, 578, 581, 585, 587, - 9, 10, 601, 11, 586, 623, -343, 12, 624, 632, - 633, 634, 636, 637, 509, 510, 512, 514, 605, 479, - 13, 14, 15, 16, 512, 641, 480, 646, 649, 17, - 18, 629, 645, 19, 525, 526, 20, 654, 656, -352, - 669, 678, 672, 21, 22, 694, 695, 698, 699, 702, - 706, 23, 719, 721, 708, 709, 736, 730, 734, 737, - 477, 738, 742, 728, 729, 39, 750, 746, -36, 40, - 745, 49, 752, 50, 749, 89, 51, 448, 86, 445, - 492, 491, 560, 392, 493, 653, 743, 174, 175, 456, - 340, 710, 713, 630, 583, 428, 727, 740, 431, 166, - 432, 433, 545, 300, 286, 598, 562, 563, 635, 0, - 564, 565, 0, 0, 80, 0, 0, 0, 569, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 0, 0, 0, 286, 597, 122, 123, 0, 0, - 0, 0, 0, 0, 0, 476, 0, 0, 0, 479, - 0, 0, 0, 0, 80, 0, 480, 0, 0, 109, + 81, 82, 96, 98, 145, 92, 93, 141, 311, 179, + 142, 126, 180, 39, 143, 40, 125, 396, 144, 49, + 50, 51, 173, 176, 177, 178, 468, 554, 593, 480, + 337, 338, 525, 390, 280, 571, 198, 7, 200, 617, + 80, 199, 672, 199, 145, 662, 80, 141, 17, 80, + 142, 184, 88, 171, 143, 80, 125, 80, 144, 672, + 671, 182, 3, 185, 186, 187, 188, 632, 441, 673, + 674, 190, 347, 513, 199, 193, 696, 80, 194, 218, + 17, 196, -273, 354, 84, 598, 673, 674, 214, 215, + 427, 708, 219, -113, 80, 356, 102, 306, 7, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 9, 10, 0, 11, 121, 122, 123, 0, 0, - 611, 0, 0, 611, 0, 0, 0, 0, 0, 0, - 477, 0, 95, 0, 0, 0, 0, 81, 620, 0, - 80, 631, 0, 0, 0, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 0, 479, 0, - 0, 0, 122, 123, 0, 480, 0, 0, 0, 0, - 0, 0, 95, 0, 0, 81, 620, -75, 0, 0, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 479, 0, 0, 0, 0, 477, - 0, 480, 0, 696, 0, 0, 0, 0, 0, 0, - 145, 0, 0, 141, 81, 701, 142, 711, 95, 0, - 143, 0, 125, 0, 144, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 303, 303, 0, - 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 286, 0, 0, 0, 367, 0, -334, 5, 286, - 303, 8, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, 9, 10, 0, 11, 0, -334, - -334, 12, 0, 0, 368, 369, 370, 371, -334, 0, - 0, 0, 0, 0, 13, 0, 0, 0, 384, 385, - 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 21, 22, 0, + 120, 9, 10, 199, 11, 121, 122, 123, 95, 480, + 312, 313, 314, 315, 316, 317, 318, 95, 104, -255, + 319, 320, 155, 199, 446, 95, 572, 400, 401, 368, + 369, 321, 322, 690, 691, 692, 323, 324, 312, 313, + 314, 315, 316, 317, 318, 95, 102, 461, 319, 320, + 423, 424, -114, 164, 628, 102, 181, 164, 170, 425, + 426, 390, 95, -112, 427, 324, 102, -75, 428, 254, + 102, 402, 403, 189, 250, 191, 673, 674, 264, -74, + 255, 103, 102, 256, 201, 80, 204, 257, -394, 525, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 212, 737, -466, 213, 404, 405, 406, 122, 123, 83, + 85, 746, 258, 500, 501, 502, 259, 202, 284, 752, + 286, 589, 87, 90, 303, 704, 203, 80, 299, 209, + 260, 261, 415, 110, 111, 496, 497, 114, 115, 116, + 117, 207, 303, 393, 394, 395, 480, 11, 622, 498, + 499, 623, 488, 489, 210, 199, 211, 222, 220, 221, + 224, 731, 223, 95, 226, 227, 355, 230, 269, 228, + 229, 231, 271, 232, 234, 238, 247, 239, 246, 240, + -467, 125, 417, 418, 419, 420, 591, 281, 282, 285, + 292, 293, 304, 363, 297, 455, 361, 277, 366, 614, + 145, 422, 270, 141, -302, 95, 142, 397, 481, 398, + 143, 482, 125, 416, 144, 103, 399, 480, 449, 451, + 454, 462, 463, 465, 466, 472, 490, 491, 460, 503, + 492, 506, 504, -230, 505, 212, 517, 264, 522, 532, + 537, -325, 546, 552, 145, 145, 551, 141, 141, 553, + 142, 142, 479, 480, 143, 143, 125, 125, 144, 144, + 555, 80, 556, 557, 563, 558, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 573, 559, + 561, 718, 121, 122, 123, 562, 564, 566, 574, 575, + 576, 578, 579, 580, 511, 512, 514, 516, 481, 519, + 581, 482, 584, 585, 597, 514, 610, 586, 587, 590, + 594, 615, 596, 595, 633, 635, 530, 531, 634, -343, + 643, 4, 644, 645, 5, 6, 7, 8, 647, 648, + 652, 640, 656, 657, 660, 665, 667, 683, -352, 95, + 9, 10, 479, 11, 705, 710, 680, 12, 719, 689, + 706, 39, 709, 40, 739, 740, 717, 49, 50, 51, + 13, 14, 15, 16, 713, 720, 730, 732, 741, 17, + 18, 745, 747, 19, 748, 749, 20, 754, 757, 761, + 753, 763, 450, 21, 22, 89, 286, 756, 567, 568, + 760, 23, 569, 570, 86, 447, 495, 565, 493, 664, + 458, 494, 577, 174, 175, 721, 724, 392, -36, 340, + 641, 592, 738, 429, 751, 432, 166, 300, 80, 286, + 606, 646, 550, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 481, 607, 412, 482, 80, + 122, 123, 0, 303, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 9, 10, 0, 11, + 121, 122, 123, 0, 0, 0, 433, 0, 0, 621, + 0, 0, 621, 0, 0, 0, 0, 0, 434, 479, + 0, 0, 0, 0, 0, 0, 81, 630, 0, 0, + 0, 642, 0, 0, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 481, 0, 0, 482, + 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 630, 0, 0, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 481, 0, 0, 482, 0, 122, 123, 0, + 479, 0, 0, 0, 707, 0, 478, 0, 0, 0, + 0, 145, 0, 0, 141, 81, 712, 142, 722, 0, + 0, 143, 0, 125, 0, 144, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 479, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, + 0, 0, 286, 95, 0, 0, 0, 0, 0, 0, + 0, 0, 286, 0, 0, 0, 367, 0, -334, 5, + 286, 303, 8, -334, -334, -334, -334, -334, -334, -334, + -334, -334, -334, -334, -334, 9, 10, 0, 11, 0, + -334, -334, 12, 0, 0, 368, 369, 370, 371, -334, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 384, + 385, 386, 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, -334, 0, 367, 0, + -334, 5, 0, -60, 8, -334, -334, -334, -334, -334, + -334, -334, -334, -334, -334, -334, -334, 9, 10, 0, + 11, 0, -334, -334, 12, 0, 0, 368, 369, 370, + 371, -334, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 384, 385, 386, 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, -334, 0, + 367, 0, -334, 5, 0, -479, 8, -334, -334, -334, + -334, -334, -334, -334, -334, -334, -334, -334, -334, 9, + 10, 0, 11, 0, -334, -334, 12, 0, 0, 368, + 369, 370, 371, -334, 0, 0, 0, 0, 0, 13, + 0, 0, 0, 439, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 440, 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, - 0, 0, 0, 0, 0, -334, 0, 367, 0, -334, - 5, 0, -60, 8, -334, -334, -334, -334, -334, -334, + -334, 0, 367, 0, -334, 5, 0, -446, 8, -334, + -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, + -334, 9, 10, 0, 11, 0, -334, -334, 12, 0, + 0, 368, 369, 370, 371, -334, 0, 367, 0, -334, + 5, 13, 0, 8, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, 9, 10, 0, 11, - 0, -334, -334, 12, 0, 0, 368, 369, 370, 371, + 0, -334, -334, 12, 21, 22, 368, 369, 370, 371, -334, 0, 0, 0, 0, 0, 13, 0, 0, 0, - 384, 385, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -334, 0, 0, 0, 0, 0, 0, -42, 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, -334, 0, 367, - 0, -334, 5, 0, -477, 8, -334, -334, -334, -334, + 0, -334, 5, 0, -493, 8, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, 9, 10, 0, 11, 0, -334, -334, 12, 0, 0, 368, 369, - 370, 371, -334, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 438, 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, -334, - 0, 367, 0, -334, 5, 0, -444, 8, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - 9, 10, 0, 11, 0, -334, -334, 12, 0, 0, - 368, 369, 370, 371, -334, 0, 367, 0, -334, 5, - 13, 0, 8, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, 9, 10, 0, 11, 0, - -334, -334, 12, 21, 22, 368, 369, 370, 371, -334, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, -334, 0, 0, 0, 0, 0, 0, -42, 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, -334, 0, 367, 0, - -334, 5, 0, -491, 8, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, 9, 10, 0, - 11, 0, -334, -334, 12, 0, 0, 368, 369, 370, - 371, -334, 0, 367, 0, -334, 5, 13, 0, 8, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, 9, 10, 0, 11, 0, -334, -334, 12, - 21, 22, 368, 369, 370, 371, -334, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 0, -334, 0, - 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, - 0, 0, 412, 0, 80, 21, 22, 0, 0, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 9, 10, -334, 11, 121, 122, 123, 80, 0, - -468, 0, 0, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 9, 10, 0, 11, 121, - 122, 123, -2, 4, 0, 0, 5, 6, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 10, 0, 11, 0, 0, 0, 12, - 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 14, 15, 16, 0, 0, 0, 0, - 0, 17, 18, 0, 0, 19, 95, 0, 20, 0, - 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 0, 23 + 370, 371, -334, 0, 367, 0, -334, 5, 13, 0, + 8, -334, -334, -334, -334, -334, -334, -334, -334, -334, + -334, -334, -334, 9, 10, 0, 11, 0, -334, -334, + 12, 21, 22, 368, 369, 370, 371, -334, 0, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, -334, + 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 21, 22, 0, 0, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 9, 10, -334, 11, 121, 122, 123, -2, + 4, -470, 0, 5, 6, 7, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, + 10, 0, 11, 0, 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, + 14, 15, 16, 0, 0, 0, 0, 0, 17, 18, + 0, 0, 19, 95, 0, 20, 0, 0, 0, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 23 }; static const tao_yytype_int16 tao_yycheck[] = { - 13, 13, 21, 22, 35, 18, 19, 35, 271, 2, - 35, 35, 72, 2, 35, 2, 35, 2, 35, 72, - 2, 381, 324, 72, 72, 72, 72, 274, 275, 537, - 469, 366, 433, 309, 235, 283, 81, 3, 76, 3, - 3, 3, 1, 81, 75, 574, 294, 75, 0, 90, - 75, 75, 3, 72, 75, 1, 75, 19, 75, 104, - 3, 74, 103, 76, 77, 78, 79, 76, 344, 28, - 29, 84, 81, 602, 60, 88, 8, 9, 91, 65, - 3, 94, 28, 29, 86, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 296, 6, 345, 86, 6, - 49, 89, 25, 26, 53, 86, 82, 83, 89, 469, - 74, 75, 76, 77, 78, 79, 80, 81, 81, 81, - 84, 85, 22, 74, 75, 76, 77, 78, 79, 80, - 81, 95, 96, 84, 85, 28, 100, 101, 81, 49, - 628, 3, 88, 53, 28, 29, 8, 9, 10, 89, - 101, 13, 14, 15, 16, 643, 86, 358, 81, 86, - 599, 23, 89, 8, 86, 3, 11, 89, 86, 445, - 63, 659, 14, 15, 67, 95, 96, 104, 97, 98, - 99, 35, 36, 37, 197, 86, 674, 86, 207, 3, - 83, 592, 85, 3, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 714, 404, 405, 406, - 24, 25, 26, 86, 30, 31, 724, 15, 16, 81, - 321, 322, 323, 48, 732, 400, 401, 87, 241, 668, - 243, 533, 402, 403, 253, 51, 52, 6, 251, 599, - 385, 386, 89, 86, 60, 61, 87, 81, 17, 65, - 86, 20, 271, 104, 589, 24, 104, 592, 86, 89, - 87, 87, 86, 86, 86, 704, 86, 81, 86, 8, - 87, 86, 104, 86, 47, 87, 295, 86, 86, 3, - 49, 87, 101, 87, 53, 87, 87, 87, 535, 3, - 87, 310, 91, 342, 342, 342, 342, 89, 67, 68, - 105, 104, 90, 90, 93, 3, 92, 90, 668, 94, - 341, 342, 105, 341, 90, 87, 341, 88, 88, 103, - 341, 381, 341, 342, 341, 103, 86, 102, 381, 103, - 88, 88, 8, 58, 88, 103, 103, 88, 357, 88, - 88, 88, 86, 31, 704, 90, 86, 366, 86, 86, - 86, 86, 86, 86, 385, 386, 3, 385, 386, 86, - 385, 386, 381, 86, 385, 386, 385, 386, 385, 386, - 102, 1, 88, 86, 4, 5, 6, 7, 86, 86, - 86, 86, 86, 86, 66, 687, 88, 88, 88, 88, - 20, 21, 3, 23, 90, 86, 35, 27, 87, 3, - 3, 88, 86, 86, 423, 424, 425, 426, 101, 469, - 40, 41, 42, 43, 433, 101, 469, 35, 38, 49, - 50, 106, 102, 53, 437, 438, 56, 55, 90, 102, - 102, 102, 59, 63, 64, 90, 101, 101, 62, 102, - 86, 71, 90, 39, 89, 88, 86, 101, 89, 102, - 469, 102, 101, 716, 717, 448, 90, 76, 88, 448, - 102, 448, 76, 448, 102, 16, 448, 349, 15, 346, - 398, 397, 507, 310, 399, 638, 739, 72, 72, 353, - 276, 690, 692, 609, 536, 343, 715, 731, 343, 67, - 343, 343, 462, 252, 507, 546, 509, 510, 615, -1, - 513, 514, -1, -1, 3, -1, -1, -1, 521, 8, + 13, 13, 21, 22, 35, 18, 19, 35, 271, 72, + 35, 35, 72, 2, 35, 2, 35, 324, 35, 2, + 2, 2, 72, 72, 72, 72, 366, 471, 542, 381, + 274, 275, 434, 309, 235, 3, 76, 6, 76, 583, + 3, 81, 1, 81, 75, 639, 3, 75, 49, 3, + 75, 75, 53, 72, 75, 3, 75, 3, 75, 1, + 654, 74, 0, 76, 77, 78, 79, 611, 344, 28, + 29, 84, 283, 19, 81, 88, 670, 3, 91, 90, + 49, 94, 86, 294, 53, 60, 28, 29, 8, 9, + 65, 685, 103, 86, 3, 296, 89, 104, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, 537, 544, 25, 26, -1, -1, - -1, -1, -1, -1, -1, 34, -1, -1, -1, 599, - -1, -1, -1, -1, 3, -1, 599, -1, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, -1, -1, - 589, -1, -1, 592, -1, -1, -1, -1, -1, -1, - 599, -1, 81, -1, -1, -1, -1, 600, 600, -1, - 3, 610, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, 668, -1, - -1, -1, 25, 26, -1, 668, -1, -1, -1, -1, - -1, -1, 81, -1, -1, 638, 638, 86, -1, -1, - 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 704, -1, -1, -1, -1, 668, - -1, 704, -1, 672, -1, -1, -1, -1, -1, -1, - 691, -1, -1, 691, 677, 677, 691, 691, 81, -1, - 691, -1, 691, -1, 691, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 704, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 716, 717, -1, - -1, 714, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 724, -1, -1, -1, 1, -1, 3, 4, 732, - 739, 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, 45, - 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, + 19, 20, 21, 81, 23, 24, 25, 26, 81, 471, + 74, 75, 76, 77, 78, 79, 80, 81, 28, 88, + 84, 85, 22, 81, 345, 81, 104, 82, 83, 30, + 31, 95, 96, 35, 36, 37, 100, 101, 74, 75, + 76, 77, 78, 79, 80, 81, 89, 358, 84, 85, + 51, 52, 86, 63, 608, 89, 3, 67, 86, 60, + 61, 447, 81, 86, 65, 101, 89, 86, 69, 6, + 89, 95, 96, 83, 197, 85, 28, 29, 207, 86, + 17, 104, 89, 20, 3, 3, 48, 24, 86, 601, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 8, 725, 86, 11, 97, 98, 99, 25, 26, 14, + 15, 735, 49, 404, 405, 406, 53, 86, 241, 743, + 243, 538, 15, 16, 253, 679, 86, 3, 251, 87, + 67, 68, 8, 9, 10, 400, 401, 13, 14, 15, + 16, 89, 271, 321, 322, 323, 608, 23, 598, 402, + 403, 601, 385, 386, 86, 81, 87, 86, 104, 104, + 87, 715, 86, 81, 86, 86, 295, 87, 8, 86, + 86, 86, 47, 87, 86, 86, 89, 87, 87, 86, + 86, 310, 342, 342, 342, 342, 540, 87, 87, 87, + 87, 87, 3, 3, 89, 3, 90, 101, 90, 572, + 341, 342, 104, 341, 105, 81, 341, 92, 381, 93, + 341, 381, 341, 342, 341, 104, 94, 679, 91, 105, + 90, 87, 90, 103, 103, 88, 88, 86, 357, 103, + 102, 88, 103, 88, 103, 8, 58, 366, 88, 88, + 88, 88, 88, 86, 385, 386, 90, 385, 386, 31, + 385, 386, 381, 715, 385, 386, 385, 386, 385, 386, + 86, 3, 86, 86, 3, 86, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 3, 86, + 86, 698, 24, 25, 26, 86, 86, 102, 86, 86, + 86, 86, 86, 86, 423, 424, 425, 426, 471, 428, + 86, 471, 86, 86, 66, 434, 3, 88, 88, 88, + 88, 101, 88, 90, 86, 103, 439, 440, 87, 35, + 3, 1, 3, 88, 4, 5, 6, 7, 86, 86, + 101, 106, 102, 35, 38, 55, 90, 59, 102, 81, + 20, 21, 471, 23, 90, 62, 102, 27, 89, 102, + 101, 450, 101, 450, 727, 728, 86, 450, 450, 450, + 40, 41, 42, 43, 102, 88, 90, 39, 101, 49, + 50, 89, 86, 53, 102, 102, 56, 750, 76, 90, + 101, 76, 349, 63, 64, 16, 509, 102, 511, 512, + 102, 71, 515, 516, 15, 346, 399, 509, 397, 649, + 353, 398, 525, 72, 72, 701, 703, 310, 88, 276, + 619, 541, 726, 343, 742, 343, 67, 252, 3, 542, + 549, 625, 464, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 608, 551, 1, 608, 3, + 25, 26, -1, 572, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, -1, -1, -1, 343, -1, -1, 598, + -1, -1, 601, -1, -1, -1, -1, -1, 343, 608, + -1, -1, -1, -1, -1, -1, 609, 609, -1, -1, + -1, 620, -1, -1, -1, -1, 81, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 679, -1, -1, 679, + -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, + -1, -1, -1, -1, -1, 3, 649, 649, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 715, -1, -1, 715, -1, 25, 26, -1, + 679, -1, -1, -1, 683, -1, 34, -1, -1, -1, + -1, 702, -1, -1, 702, 688, 688, 702, 702, -1, + -1, 702, -1, 702, -1, 702, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 715, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 727, 728, + -1, -1, 725, 81, -1, -1, -1, -1, -1, -1, + -1, -1, 735, -1, -1, -1, 1, -1, 3, 4, + 743, 750, 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, + 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, 81, -1, 1, -1, 3, - 4, -1, 88, 7, 8, 9, 10, 11, 12, 13, + -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, 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, 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, -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, -1, -1, 30, 31, 32, 33, + -1, 25, 26, 27, 63, 64, 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, 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, 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, -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, 3, 4, 40, -1, 7, + 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, 3, 63, 64, -1, -1, 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, 3, 63, 64, -1, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 81, 23, 24, 25, 26, 3, -1, - 88, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, - 25, 26, 0, 1, -1, -1, 4, 5, 6, 7, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, 27, - -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, - -1, 49, 50, -1, -1, 53, 81, -1, 56, -1, - -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, - -1, -1, -1, 71 + 18, 19, 20, 21, 81, 23, 24, 25, 26, 0, + 1, 88, -1, 4, 5, 6, 7, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + 21, -1, 23, -1, -1, -1, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, + 41, 42, 43, -1, -1, -1, -1, -1, 49, 50, + -1, -1, 53, 81, -1, 56, -1, -1, -1, -1, + -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, + 71 }; /* TAO_YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1679,77 +1686,78 @@ static const tao_yytype_uint16 tao_yystos[] = 56, 63, 64, 71, 110, 125, 130, 131, 135, 137, 140, 141, 142, 146, 150, 152, 156, 157, 178, 179, 197, 206, 226, 228, 240, 242, 264, 265, 266, 307, - 358, 359, 360, 361, 362, 366, 387, 389, 412, 413, - 414, 415, 416, 420, 421, 422, 425, 429, 431, 435, - 449, 124, 180, 126, 136, 198, 227, 241, 267, 308, + 358, 359, 360, 361, 362, 366, 388, 390, 413, 414, + 415, 416, 417, 421, 422, 423, 426, 430, 432, 436, + 450, 124, 180, 126, 136, 198, 227, 241, 267, 308, 3, 177, 214, 135, 53, 135, 150, 152, 53, 142, - 152, 153, 177, 177, 390, 81, 174, 177, 174, 450, - 118, 116, 89, 104, 138, 436, 132, 119, 143, 8, + 152, 153, 177, 177, 391, 81, 174, 177, 174, 451, + 118, 116, 89, 104, 138, 437, 132, 119, 143, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 138, 174, 201, 202, 203, 204, 205, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 240, 242, 266, 275, 278, 281, 284, 285, 288, 114, 111, 229, 22, 115, 112, 113, 120, - 363, 121, 388, 122, 138, 423, 423, 117, 432, 123, + 363, 121, 389, 122, 138, 424, 424, 117, 433, 123, 86, 174, 184, 216, 219, 220, 221, 222, 223, 281, 285, 3, 177, 199, 201, 177, 177, 177, 177, 138, 177, 138, 147, 177, 177, 367, 177, 175, 76, 81, - 76, 3, 86, 86, 48, 154, 437, 89, 442, 87, + 76, 3, 86, 86, 48, 154, 438, 89, 443, 87, 86, 87, 8, 11, 8, 9, 279, 151, 90, 103, 104, 104, 86, 86, 87, 243, 86, 86, 86, 86, - 87, 86, 87, 399, 86, 424, 417, 426, 86, 87, - 86, 181, 127, 200, 268, 309, 87, 89, 369, 391, - 177, 176, 451, 139, 6, 17, 20, 24, 49, 53, - 67, 68, 430, 441, 174, 443, 445, 133, 144, 8, - 104, 47, 155, 276, 282, 286, 230, 101, 364, 400, - 155, 87, 87, 433, 177, 87, 177, 207, 210, 214, - 215, 289, 87, 87, 148, 370, 368, 89, 396, 177, - 436, 455, 171, 174, 3, 439, 104, 444, 161, 158, + 87, 86, 87, 400, 86, 425, 418, 427, 86, 87, + 86, 181, 127, 200, 268, 309, 87, 89, 369, 392, + 177, 176, 452, 139, 6, 17, 20, 24, 49, 53, + 67, 68, 431, 442, 174, 444, 446, 133, 144, 8, + 104, 47, 155, 276, 282, 286, 230, 101, 364, 401, + 155, 87, 87, 434, 177, 87, 177, 207, 210, 214, + 215, 289, 87, 87, 148, 370, 368, 89, 397, 177, + 437, 456, 171, 174, 3, 440, 104, 445, 161, 158, 280, 171, 74, 75, 76, 77, 78, 79, 80, 84, 85, 95, 96, 100, 101, 174, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 196, 196, 232, - 234, 235, 244, 371, 402, 418, 427, 161, 182, 128, - 290, 208, 269, 310, 161, 174, 155, 397, 392, 452, - 172, 90, 438, 3, 446, 448, 90, 1, 30, 31, + 234, 235, 244, 371, 403, 419, 428, 161, 182, 128, + 290, 208, 269, 310, 161, 174, 155, 398, 393, 453, + 172, 90, 439, 3, 447, 449, 90, 1, 30, 31, 32, 33, 134, 162, 179, 197, 296, 297, 302, 307, 312, 317, 358, 359, 44, 45, 46, 145, 159, 160, 162, 319, 202, 194, 194, 194, 186, 92, 93, 94, 82, 83, 95, 96, 97, 98, 99, 277, 283, 287, 231, 233, 1, 201, 236, 8, 174, 216, 221, 222, - 223, 249, 266, 51, 52, 60, 61, 65, 296, 365, - 372, 379, 381, 382, 384, 385, 386, 44, 54, 162, - 401, 403, 406, 409, 161, 158, 434, 91, 109, 105, - 291, 293, 90, 3, 271, 274, 233, 149, 174, 155, - 87, 90, 440, 103, 103, 447, 445, 170, 298, 303, - 88, 166, 163, 168, 167, 169, 34, 174, 203, 281, - 285, 318, 341, 164, 165, 320, 236, 236, 88, 86, - 102, 188, 189, 190, 191, 191, 192, 192, 193, 193, - 193, 103, 103, 103, 88, 234, 239, 237, 245, 174, - 174, 19, 174, 380, 174, 58, 383, 378, 88, 373, - 374, 380, 375, 376, 377, 177, 177, 88, 404, 405, - 419, 428, 88, 183, 129, 294, 292, 209, 270, 272, - 311, 88, 393, 453, 173, 441, 90, 86, 31, 341, - 86, 86, 86, 86, 86, 313, 86, 86, 3, 86, - 207, 102, 177, 177, 177, 177, 86, 86, 86, 177, - 86, 86, 86, 407, 410, 86, 86, 88, 88, 185, - 186, 88, 196, 293, 210, 88, 90, 88, 66, 60, - 379, 381, 382, 456, 458, 461, 462, 174, 448, 299, - 304, 3, 321, 238, 246, 101, 323, 323, 295, 273, - 394, 174, 445, 445, 454, 457, 459, 460, 341, 211, - 214, 314, 323, 86, 87, 324, 325, 408, 411, 106, - 274, 174, 3, 3, 88, 458, 86, 86, 300, 305, - 212, 101, 332, 322, 247, 102, 35, 326, 329, 38, - 343, 343, 395, 211, 55, 346, 90, 333, 334, 315, - 343, 1, 28, 29, 250, 252, 256, 258, 330, 102, - 327, 344, 59, 398, 301, 347, 306, 213, 102, 35, - 36, 37, 335, 338, 342, 343, 255, 260, 259, 248, - 251, 253, 257, 341, 90, 101, 174, 343, 101, 62, - 349, 214, 102, 336, 339, 316, 86, 186, 89, 88, - 252, 201, 262, 258, 331, 328, 345, 348, 350, 90, - 341, 39, 352, 261, 263, 254, 210, 329, 171, 171, - 101, 337, 340, 353, 89, 210, 86, 102, 102, 351, - 338, 210, 101, 171, 354, 102, 76, 355, 356, 102, - 90, 357, 76 + 223, 249, 266, 51, 52, 60, 61, 65, 69, 296, + 365, 372, 380, 382, 383, 385, 386, 387, 464, 44, + 54, 162, 402, 404, 407, 410, 161, 158, 435, 91, + 109, 105, 291, 293, 90, 3, 271, 274, 233, 149, + 174, 155, 87, 90, 441, 103, 103, 448, 446, 170, + 298, 303, 88, 166, 163, 168, 167, 169, 34, 174, + 203, 281, 285, 318, 341, 164, 165, 320, 236, 236, + 88, 86, 102, 188, 189, 190, 191, 191, 192, 192, + 193, 193, 193, 103, 103, 103, 88, 234, 239, 237, + 245, 174, 174, 19, 174, 381, 174, 58, 384, 174, + 465, 378, 88, 373, 374, 381, 375, 376, 377, 379, + 177, 177, 88, 405, 406, 420, 429, 88, 183, 129, + 294, 292, 209, 270, 272, 311, 88, 394, 454, 173, + 442, 90, 86, 31, 341, 86, 86, 86, 86, 86, + 313, 86, 86, 3, 86, 207, 102, 177, 177, 177, + 177, 3, 104, 3, 86, 86, 86, 177, 86, 86, + 86, 86, 408, 411, 86, 86, 88, 88, 185, 186, + 88, 196, 293, 210, 88, 90, 88, 66, 60, 380, + 382, 383, 457, 459, 462, 463, 174, 449, 299, 304, + 3, 321, 238, 246, 171, 101, 323, 323, 295, 273, + 395, 174, 446, 446, 455, 458, 460, 461, 341, 211, + 214, 314, 323, 86, 87, 103, 324, 325, 409, 412, + 106, 274, 174, 3, 3, 88, 459, 86, 86, 300, + 305, 212, 101, 332, 322, 247, 102, 35, 326, 329, + 38, 343, 343, 396, 211, 55, 346, 90, 333, 334, + 315, 343, 1, 28, 29, 250, 252, 256, 258, 330, + 102, 327, 344, 59, 399, 301, 347, 306, 213, 102, + 35, 36, 37, 335, 338, 342, 343, 255, 260, 259, + 248, 251, 253, 257, 341, 90, 101, 174, 343, 101, + 62, 349, 214, 102, 336, 339, 316, 86, 186, 89, + 88, 252, 201, 262, 258, 331, 328, 345, 348, 350, + 90, 341, 39, 352, 261, 263, 254, 210, 329, 171, + 171, 101, 337, 340, 353, 89, 210, 86, 102, 102, + 351, 338, 210, 101, 171, 354, 102, 76, 355, 356, + 102, 90, 357, 76 }; #define tao_yyerrok (tao_yyerrstatus = 0) @@ -7519,6 +7527,22 @@ tao_yyreduce: case 419: { +// | extended_port_decl + idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); + } + break; + + case 420: + + { +// ';' + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + } + break; + + case 421: + + { // provides_decl : IDL_PROVIDES interface_type id UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -7575,7 +7599,7 @@ tao_yyreduce: } break; - case 420: + case 422: { // interface_type : scoped_name @@ -7585,7 +7609,7 @@ tao_yyreduce: } break; - case 421: + case 423: { // | IDL_OBJECT @@ -7610,7 +7634,7 @@ tao_yyreduce: } break; - case 422: + case 424: { // uses_decl : uses_opt_multiple interface_type id @@ -7684,7 +7708,7 @@ tao_yyreduce: } break; - case 423: + case 425: { // uses_opt_multiple : IDL_USES opt_multiple @@ -7694,7 +7718,7 @@ tao_yyreduce: } break; - case 424: + case 426: { // opt_multiple : IDL_MULTIPLE @@ -7702,7 +7726,7 @@ tao_yyreduce: } break; - case 425: + case 427: { /* | EMPTY */ @@ -7710,7 +7734,7 @@ tao_yyreduce: } break; - case 426: + case 428: { // emits_decl : IDL_EMITS scoped_name id @@ -7758,7 +7782,7 @@ tao_yyreduce: } break; - case 427: + case 429: { // publishes_decl : IDL_PUBLISHES scoped_name id @@ -7806,7 +7830,7 @@ tao_yyreduce: } break; - case 428: + case 430: { // consumes_decl : IDL_CONSUMES scoped_name id @@ -7854,7 +7878,7 @@ tao_yyreduce: } break; - case 429: + case 431: { // home_decl : home_header @@ -7895,7 +7919,7 @@ tao_yyreduce: } break; - case 430: + case 432: { // home_body @@ -7906,7 +7930,7 @@ tao_yyreduce: } break; - case 431: + case 433: { // home_header : IDL_HOME @@ -7914,7 +7938,7 @@ tao_yyreduce: } break; - case 432: + case 434: { // id @@ -7922,7 +7946,7 @@ tao_yyreduce: } break; - case 433: + case 435: { // home_inheritance_spec @@ -7930,7 +7954,7 @@ tao_yyreduce: } break; - case 434: + case 436: { // supports_spec @@ -7938,7 +7962,7 @@ tao_yyreduce: } break; - case 435: + case 437: { // IDL_MANAGES @@ -7946,7 +7970,7 @@ tao_yyreduce: } break; - case 436: + case 438: { // scoped_name @@ -7954,7 +7978,7 @@ tao_yyreduce: } break; - case 437: + case 439: { // primary_key_spec @@ -8003,7 +8027,7 @@ tao_yyreduce: } break; - case 438: + case 440: { // home_inheritance_spec ':' @@ -8011,7 +8035,7 @@ tao_yyreduce: } break; - case 439: + case 441: { // scoped_name @@ -8019,7 +8043,7 @@ tao_yyreduce: } break; - case 440: + case 442: { /* | EMPTY */ @@ -8027,7 +8051,7 @@ tao_yyreduce: } break; - case 441: + case 443: { // primary_key_spec : IDL_PRIMARYKEY scoped_name @@ -8035,7 +8059,7 @@ tao_yyreduce: } break; - case 442: + case 444: { /* | EMPTY */ @@ -8043,7 +8067,7 @@ tao_yyreduce: } break; - case 443: + case 445: { // home_body : '{' @@ -8051,7 +8075,7 @@ tao_yyreduce: } break; - case 444: + case 446: { // home_exports @@ -8059,7 +8083,7 @@ tao_yyreduce: } break; - case 445: + case 447: { // '}' @@ -8067,7 +8091,7 @@ tao_yyreduce: } break; - case 449: + case 451: { // home_export : factory_decl @@ -8075,7 +8099,7 @@ tao_yyreduce: } break; - case 450: + case 452: { // | ';' @@ -8083,7 +8107,7 @@ tao_yyreduce: } break; - case 451: + case 453: { // | finder_decl @@ -8091,7 +8115,7 @@ tao_yyreduce: } break; - case 452: + case 454: { // | ';' @@ -8099,7 +8123,7 @@ tao_yyreduce: } break; - case 453: + case 455: { // factory_decl : IDL_FACTORY id @@ -8138,7 +8162,7 @@ tao_yyreduce: } break; - case 454: + case 456: { // init_parameter_list @@ -8146,7 +8170,7 @@ tao_yyreduce: } break; - case 455: + case 457: { // opt_raises @@ -8174,7 +8198,7 @@ tao_yyreduce: } break; - case 456: + case 458: { // finder_decl : IDL_FINDER id @@ -8213,7 +8237,7 @@ tao_yyreduce: } break; - case 457: + case 459: { // init_parameter_list @@ -8221,7 +8245,7 @@ tao_yyreduce: } break; - case 458: + case 460: { // opt_raises @@ -8249,7 +8273,7 @@ tao_yyreduce: } break; - case 464: + case 466: { // event_concrete_forward_decl : IDL_EVENTTYPE id @@ -8276,7 +8300,7 @@ tao_yyreduce: } break; - case 465: + case 467: { // event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE id @@ -8303,7 +8327,7 @@ tao_yyreduce: } break; - case 466: + case 468: { // event_abs_decl : event_abs_header event_rest_of_header @@ -8351,7 +8375,7 @@ tao_yyreduce: } break; - case 467: + case 469: { // '{' @@ -8359,7 +8383,7 @@ tao_yyreduce: } break; - case 468: + case 470: { // exports @@ -8367,7 +8391,7 @@ tao_yyreduce: } break; - case 469: + case 471: { // '}' @@ -8380,7 +8404,7 @@ tao_yyreduce: } break; - case 470: + case 472: { // event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE id @@ -8388,7 +8412,7 @@ tao_yyreduce: } break; - case 471: + case 473: { // event_custom_header : IDL_CUSTOM IDL_EVENTTYPE id @@ -8405,7 +8429,7 @@ tao_yyreduce: } break; - case 472: + case 474: { // event_plain_header : IDL_EVENTTYPE id @@ -8415,7 +8439,7 @@ tao_yyreduce: } break; - case 473: + case 475: { // event_rest_of_header : inheritance_spec @@ -8423,7 +8447,7 @@ tao_yyreduce: } break; - case 474: + case 476: { // supports_spec @@ -8456,7 +8480,7 @@ tao_yyreduce: } break; - case 475: + case 477: { // event_decl : event_header event_rest_of_header @@ -8509,7 +8533,7 @@ tao_yyreduce: } break; - case 476: + case 478: { // '{' @@ -8517,7 +8541,7 @@ tao_yyreduce: } break; - case 477: + case 479: { // value_elements @@ -8525,7 +8549,7 @@ tao_yyreduce: } break; - case 478: + case 480: { // '}' @@ -8538,7 +8562,7 @@ tao_yyreduce: } break; - case 479: + case 481: { // event_header : event_custom_header @@ -8546,7 +8570,7 @@ tao_yyreduce: } break; - case 480: + case 482: { // event_header : event_plain_header @@ -8554,7 +8578,7 @@ tao_yyreduce: } break; - case 481: + case 483: { // type_classifier : IDL_TYPENAME @@ -8562,7 +8586,7 @@ tao_yyreduce: } break; - case 482: + case 484: { // IDL_STRUCT @@ -8570,7 +8594,7 @@ tao_yyreduce: } break; - case 483: + case 485: { // IDL_EVENTTYPE @@ -8578,7 +8602,7 @@ tao_yyreduce: } break; - case 484: + case 486: { // IDL_PRIMITIVE @@ -8586,7 +8610,7 @@ tao_yyreduce: } break; - case 485: + case 487: { // IDL_FIXED @@ -8602,7 +8626,7 @@ tao_yyreduce: } break; - case 486: + case 488: { // IDL_SEQUENCE @@ -8610,7 +8634,7 @@ tao_yyreduce: } break; - case 487: + case 489: { // IDL_INTERFACE @@ -8618,7 +8642,7 @@ tao_yyreduce: } break; - case 488: + case 490: { // IDL_VALUETYPE @@ -8626,7 +8650,7 @@ tao_yyreduce: } break; - case 489: + case 491: { // template_interface_def : template_interface_header @@ -8651,7 +8675,7 @@ tao_yyreduce: } break; - case 490: + case 492: { // '{' @@ -8659,7 +8683,7 @@ tao_yyreduce: } break; - case 491: + case 493: { // exports - TODO: change to include concatenated identifiers @@ -8667,7 +8691,7 @@ tao_yyreduce: } break; - case 492: + case 494: { // '}' @@ -8680,7 +8704,7 @@ tao_yyreduce: } break; - case 493: + case 495: { // template_interface_header : interface_decl at_least_one_template_param template_inheritance_spec @@ -8697,7 +8721,7 @@ tao_yyreduce: } break; - case 494: + case 496: { // at_least_one_template_param : '<' @@ -8705,7 +8729,7 @@ tao_yyreduce: } break; - case 495: + case 497: { // template_param template_params @@ -8722,7 +8746,7 @@ tao_yyreduce: } break; - case 496: + case 498: { // '>' @@ -8731,7 +8755,7 @@ tao_yyreduce: } break; - case 497: + case 499: { // template_params : template_params ',' @@ -8739,7 +8763,7 @@ tao_yyreduce: } break; - case 498: + case 500: { // template_param @@ -8758,7 +8782,7 @@ tao_yyreduce: } break; - case 499: + case 501: { // /* EMPTY */ @@ -8766,7 +8790,7 @@ tao_yyreduce: } break; - case 500: + case 502: { // template_param : type_classifier IDENTIFIER @@ -8780,7 +8804,7 @@ tao_yyreduce: } break; - case 501: + case 503: { // template_inheritance_spec : ':' at_least_one_template_ref @@ -8788,7 +8812,7 @@ tao_yyreduce: } break; - case 502: + case 504: { // /* EMPTY */ @@ -8796,7 +8820,7 @@ tao_yyreduce: } break; - case 503: + case 505: { // at_least_one_template_ref : template_ref template_refs @@ -8815,7 +8839,7 @@ tao_yyreduce: } break; - case 504: + case 506: { // template_refs : template_refs ',' template_ref @@ -8834,7 +8858,7 @@ tao_yyreduce: } break; - case 505: + case 507: { // /* EMPTY */ @@ -8842,7 +8866,7 @@ tao_yyreduce: } break; - case 506: + case 508: { // template_ref : scoped_name '<' at_least_one_template_param_ref '>' @@ -8852,7 +8876,7 @@ tao_yyreduce: } break; - case 507: + case 509: { // at_least_one_template_param_ref : template_param_ref template_param_refs @@ -8863,7 +8887,7 @@ tao_yyreduce: } break; - case 508: + case 510: { // template_param_refs : template_param_refs ',' template_param_ref @@ -8889,7 +8913,7 @@ tao_yyreduce: } break; - case 509: + case 511: { // /* EMPTY */ @@ -8897,7 +8921,7 @@ tao_yyreduce: } break; - case 510: + case 512: { // template_param_ref : IDENTIFIER @@ -8907,7 +8931,7 @@ tao_yyreduce: } break; - case 511: + case 513: { // porttype_decl : IDL_PORTTYPE @@ -8915,7 +8939,7 @@ tao_yyreduce: } break; - case 512: + case 514: { // IDENTIFIER @@ -8923,7 +8947,7 @@ tao_yyreduce: } break; - case 513: + case 515: { // opt_template_params @@ -8947,7 +8971,7 @@ tao_yyreduce: } break; - case 514: + case 516: { // '{' @@ -8955,7 +8979,7 @@ tao_yyreduce: } break; - case 515: + case 517: { // at_least_one_port_export @@ -8963,7 +8987,7 @@ tao_yyreduce: } break; - case 516: + case 518: { // '}' @@ -8974,7 +8998,7 @@ tao_yyreduce: } break; - case 517: + case 519: { // opt_template_params : at_least_one_template_param @@ -8982,7 +9006,7 @@ tao_yyreduce: } break; - case 518: + case 520: { // | /* EMPTY */ @@ -8990,56 +9014,56 @@ tao_yyreduce: } break; - case 519: + case 521: { // at_least_one_port_export : port_export port_exports } break; - case 520: + case 522: { // port_exports : port_exports port_export } break; - case 521: + case 523: { // | /* EMPTY */ } break; - case 522: + case 524: { // port_export : extended_provides_decl } break; - case 523: + case 525: { // ';' } break; - case 524: + case 526: { // | extended_uses_decl } break; - case 525: + case 527: { // ';' } break; - case 526: + case 528: { // extended_provides_decl : provides_decl @@ -9047,7 +9071,7 @@ tao_yyreduce: } break; - case 527: + case 529: { // | IDL_PROVIDES template_ref IDENTIFIER @@ -9101,7 +9125,7 @@ tao_yyreduce: } break; - case 528: + case 530: { // extended_uses_decl : uses_decl @@ -9109,7 +9133,7 @@ tao_yyreduce: } break; - case 529: + case 531: { // | uses_opt_multiple template_ref IDENTIFIER @@ -9163,6 +9187,27 @@ tao_yyreduce: } break; + case 532: + + { +// extended_port_decl : IDL_PORT template_inst IDENTIFIER + } + break; + + case 533: + + { +// | IDL_PORT scoped_name IDENTIFIER + } + break; + + case 534: + + { +// template_inst : scoped_name '<' at_least_one_scoped_name '>' + } + break; + /* Line 1267 of yacc.c. */ diff --git a/modules/TAO/TAO_IDL/include/idl_global.h b/modules/TAO/TAO_IDL/include/idl_global.h index 0b27f525def..7247f8d7f7d 100644 --- a/modules/TAO/TAO_IDL/include/idl_global.h +++ b/modules/TAO/TAO_IDL/include/idl_global.h @@ -123,6 +123,7 @@ public: , PS_FactoryDeclSeen // Seen complete factory declaration , PS_FinderDeclSeen // Seen complete finder declaration , PS_ConsumesDeclSeen // Seen complete subscribes declaration + , PS_ExtendedPortDeclSeen // Seen extended port , PS_ModuleSeen // Seen a MODULE keyword , PS_ModuleIDSeen // Seen the module ID , PS_ModuleSqSeen // '{' seen for module diff --git a/modules/TAO/TAO_IDL/util/utl_err.cpp b/modules/TAO/TAO_IDL/util/utl_err.cpp index 83e9921d351..493d37bc795 100644 --- a/modules/TAO/TAO_IDL/util/utl_err.cpp +++ b/modules/TAO/TAO_IDL/util/utl_err.cpp @@ -336,6 +336,8 @@ parse_state_to_error_message (IDL_GlobalData::ParseState ps) return "Malformed publishes declaration"; case IDL_GlobalData::PS_ConsumesDeclSeen: return "Malformed consumes declaration"; + case IDL_GlobalData::PS_ExtendedPortDeclSeen: + return "Malformed extended port declaration"; case IDL_GlobalData::PS_FactoryDeclSeen: return "Malformed factory declaration"; case IDL_GlobalData::PS_FinderDeclSeen: |