summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-28 18:24:12 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-28 18:24:12 +0000
commit5f668efe1a2ee785810c695cbf9a8c8b85cae87e (patch)
treea74fab17373bee6ac9427f1f1622e49562e5f102
parentfa86a70311b4358cba1db22ae89a9e95c5b2ea92 (diff)
downloadATCD-5f668efe1a2ee785810c695cbf9a8c8b85cae87e.tar.gz
ChangeLogTag: Tue Jul 28 18:22:19 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog11
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy86
-rw-r--r--modules/TAO/TAO_IDL/fe/y.tab.cpp1326
-rw-r--r--modules/TAO/TAO_IDL/include/idl_global.h5
-rw-r--r--modules/TAO/TAO_IDL/include/utl_err.h1
-rw-r--r--modules/TAO/TAO_IDL/util/utl_err.cpp12
6 files changed, 830 insertions, 611 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index 3f37ee46c82..46b1e5b6ad6 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,14 @@
+Tue Jul 28 18:22:19 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/include/utl_err.h:
+ * TAO_IDL/util/utl_err.cpp:
+
+ Added semantic actions and inheritance checking for creation
+ of connector.
+
Tue Jul 28 16:46:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be_include/be_connector.h:
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy
index f5f79b8762b..2d773af8171 100644
--- a/modules/TAO/TAO_IDL/fe/idl.yy
+++ b/modules/TAO/TAO_IDL/fe/idl.yy
@@ -89,6 +89,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_home.h"
#include "ast_template_interface.h"
#include "ast_porttype.h"
+#include "ast_connector.h"
#include "ast_uses.h"
#include "ast_constant.h"
#include "ast_union.h"
@@ -6594,11 +6595,92 @@ connector_decl
;
connector_header
- : IDL_CONNECTOR IDENTIFIER opt_template_params component_inheritance_spec
+ : IDL_CONNECTOR
+ {
+// connector_header : IDL_CONNECTOR
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen);
+ }
+ IDENTIFIER
+ {
+// IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen);
+ }
+ opt_template_params
+ {
+// opt_template_params
+ }
+ component_inheritance_spec
+ {
+// component_inheritance_spec
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Connector *parent = 0;
+ bool so_far_so_good = true;
+
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id, 0);
+
+ if ($7 != 0)
+ {
+ AST_Decl *d = s->lookup_by_name ($7, true);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ($7);
+ so_far_so_good = false;
+ }
+
+ parent =
+ AST_Connector::narrow_from_decl (d);
+
+ if (parent == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_CONNECTOR_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+
+ $7->destroy ();
+ delete $7;
+ $7 = 0;
+ }
+
+ if (so_far_so_good)
+ {
+ AST_Connector *c =
+ idl_global->gen ()->create_connector (&sn,
+ parent,
+ $5);
+
+ (void) s->fe_add_connector (c);
+
+ // Push it on the scopes stack.
+ idl_global->scopes ().push (c);
+ }
+ }
;
connector_body
- : '{' at_least_one_connector_export '}'
+ : '{'
+ {
+// connector_body " '{'
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen);
+ }
+ at_least_one_connector_export
+ {
+// at_least_one_connector_export
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen);
+ }
+ '}'
+ {
+// '}
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen);
+
+ // Done with this connector - pop it off the scope stack.
+ idl_global->scopes ().pop ();
+ }
;
at_least_one_connector_export
diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp
index 37d480b44aa..a455e6064fd 100644
--- a/modules/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp
@@ -261,6 +261,7 @@
#include "ast_home.h"
#include "ast_template_interface.h"
#include "ast_porttype.h"
+#include "ast_connector.h"
#include "ast_uses.h"
#include "ast_constant.h"
#include "ast_union.h"
@@ -599,16 +600,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 1264
+#define TAO_YYLAST 1236
/* TAO_YYNTOKENS -- Number of terminals. */
#define TAO_YYNTOKENS 107
/* TAO_YYNNTS -- Number of nonterminals. */
-#define TAO_YYNNTS 375
+#define TAO_YYNNTS 380
/* TAO_YYNRULES -- Number of rules. */
-#define TAO_YYNRULES 559
+#define TAO_YYNRULES 564
/* TAO_YYNRULES -- Number of states. */
-#define TAO_YYNSTATES 809
+#define TAO_YYNSTATES 814
/* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */
#define TAO_YYUNDEFTOK 2
@@ -716,8 +717,9 @@ static const tao_yytype_uint16 tao_yyprhs[] =
1284, 1289, 1292, 1296, 1297, 1299, 1300, 1301, 1302, 1303,
1304, 1316, 1318, 1319, 1322, 1325, 1326, 1327, 1331, 1332,
1336, 1338, 1342, 1344, 1348, 1350, 1352, 1356, 1360, 1364,
- 1368, 1373, 1376, 1381, 1385, 1388, 1391, 1392, 1393, 1397,
- 1398, 1402, 1403, 1407, 1408, 1412, 1413, 1417, 1420, 1423
+ 1368, 1373, 1376, 1377, 1378, 1379, 1387, 1388, 1389, 1395,
+ 1398, 1401, 1402, 1403, 1407, 1408, 1412, 1413, 1417, 1418,
+ 1422, 1423, 1427, 1430, 1433
};
/* TAO_YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -860,73 +862,75 @@ static const tao_yytype_int16 tao_yyrhs[] =
3, -1, 383, -1, 384, 447, 3, -1, 466, -1,
467, -1, 69, 468, 3, -1, 70, 468, 3, -1,
69, 175, 3, -1, 70, 175, 3, -1, 175, 104,
- 172, 103, -1, 470, 471, -1, 72, 3, 457, 370,
- -1, 87, 472, 88, -1, 474, 473, -1, 473, 474,
- -1, -1, -1, 381, 475, 86, -1, -1, 383, 476,
- 86, -1, -1, 297, 477, 86, -1, -1, 467, 478,
- 86, -1, -1, 480, 479, 86, -1, 69, 481, -1,
- 70, 481, -1, 447, 3, -1
+ 172, 103, -1, 470, 474, -1, -1, -1, -1, 72,
+ 471, 3, 472, 457, 473, 370, -1, -1, -1, 87,
+ 475, 477, 476, 88, -1, 479, 478, -1, 478, 479,
+ -1, -1, -1, 381, 480, 86, -1, -1, 383, 481,
+ 86, -1, -1, 297, 482, 86, -1, -1, 467, 483,
+ 86, -1, -1, 485, 484, 86, -1, 69, 486, -1,
+ 70, 486, -1, 447, 3, -1
};
/* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */
static const tao_yytype_uint16 tao_yyrline[] =
{
- 0, 364, 364, 367, 368, 373, 372, 383, 382, 393,
- 392, 403, 402, 413, 412, 423, 422, 433, 432, 443,
- 442, 453, 452, 463, 462, 473, 472, 483, 482, 493,
- 492, 503, 502, 513, 512, 526, 531, 557, 562, 525,
- 578, 579, 584, 623, 628, 583, 646, 645, 659, 697,
- 728, 762, 761, 773, 780, 781, 782, 783, 787, 798,
- 803, 847, 852, 802, 881, 920, 925, 879, 944, 942,
- 982, 981, 995, 1001, 1008, 1015, 1022, 1048, 1075, 1140,
- 1141, 1145, 1146, 1147, 1152, 1158, 1167, 1168, 1173, 1172,
- 1183, 1182, 1193, 1192, 1203, 1202, 1213, 1212, 1223, 1222,
- 1233, 1232, 1243, 1242, 1256, 1269, 1267, 1297, 1304, 1315,
- 1314, 1342, 1340, 1367, 1379, 1425, 1453, 1484, 1489, 1494,
- 1499, 1483, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1570,
- 1575, 1650, 1652, 1654, 1655, 1669, 1670, 1684, 1685, 1698,
- 1699, 1709, 1722, 1723, 1733, 1746, 1747, 1757, 1767, 1780,
- 1781, 1791, 1801, 1814, 1849, 1850, 1859, 1864, 1871, 1879,
- 1884, 1889, 1895, 1900, 1905, 1913, 1985, 1984, 1994, 1999,
- 2004, 2009, 2036, 2045, 2044, 2115, 2116, 2120, 2128, 2129,
- 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2168, 2169,
- 2170, 2174, 2175, 2176, 2180, 2181, 2185, 2198, 2196, 2226,
- 2233, 2234, 2238, 2251, 2249, 2279, 2286, 2303, 2322, 2323,
- 2327, 2332, 2337, 2345, 2350, 2355, 2363, 2368, 2373, 2381,
- 2395, 2400, 2408, 2416, 2424, 2432, 2441, 2440, 2456, 2490,
- 2495, 2455, 2514, 2517, 2518, 2522, 2522, 2532, 2537, 2531,
- 2600, 2599, 2614, 2613, 2628, 2633, 2638, 2643, 2690, 2695,
- 2627, 2719, 2727, 2741, 2751, 2759, 2760, 2868, 2871, 2872,
- 2877, 2882, 2876, 2918, 2917, 2931, 2942, 2964, 2972, 2971,
- 2987, 2992, 2986, 3009, 3008, 3061, 3085, 3110, 3115, 3148,
- 3153, 3109, 3179, 3184, 3182, 3189, 3193, 3230, 3235, 3228,
- 3302, 3357, 3367, 3356, 3382, 3387, 3380, 3428, 3454, 3464,
- 3469, 3462, 3499, 3524, 3533, 3532, 3568, 3579, 3601, 3609,
- 3614, 3608, 3651, 3652, 3657, 3662, 3667, 3672, 3656, 3741,
- 3746, 3751, 3756, 3740, 3834, 3839, 3869, 3874, 3833, 3892,
- 3897, 3950, 3955, 3890, 3992, 3998, 4005, 4012, 4013, 4025,
- 4031, 4073, 4024, 4095, 4094, 4105, 4104, 4117, 4122, 4120,
- 4127, 4132, 4137, 4131, 4178, 4177, 4188, 4187, 4200, 4205,
- 4203, 4210, 4215, 4220, 4214, 4267, 4275, 4276, 4277, 4365,
- 4370, 4375, 4384, 4389, 4383, 4401, 4409, 4414, 4408, 4426,
- 4434, 4439, 4433, 4451, 4459, 4464, 4458, 4476, 4483, 4496,
- 4494, 4522, 4529, 4558, 4596, 4597, 4601, 4631, 4671, 4676,
- 4630, 4695, 4700, 4693, 4742, 4741, 4752, 4759, 4760, 4765,
- 4764, 4775, 4774, 4785, 4784, 4795, 4794, 4805, 4804, 4815,
- 4814, 4825, 4824, 4836, 4895, 4902, 4926, 5000, 5010, 5016,
- 5022, 5069, 5116, 5165, 5164, 5214, 5219, 5224, 5229, 5234,
- 5239, 5213, 5293, 5292, 5303, 5310, 5317, 5325, 5330, 5324,
- 5342, 5343, 5347, 5349, 5348, 5359, 5358, 5373, 5409, 5371,
- 5443, 5479, 5441, 5511, 5512, 5513, 5517, 5518, 5522, 5550,
- 5581, 5626, 5631, 5579, 5648, 5658, 5677, 5689, 5688, 5728,
- 5778, 5783, 5726, 5800, 5805, 5813, 5818, 5823, 5828, 5833,
- 5846, 5851, 5856, 5865, 5887, 5892, 5864, 5909, 5927, 5932,
- 5926, 5955, 5954, 5976, 5983, 5997, 6003, 6010, 6029, 6046,
- 6053, 6063, 6074, 6098, 6105, 6116, 6121, 6126, 6147, 6152,
- 6115, 6167, 6173, 6180, 6187, 6192, 6199, 6198, 6207, 6206,
- 6217, 6222, 6276, 6281, 6335, 6336, 6340, 6398, 6459, 6519,
- 6582, 6593, 6597, 6601, 6605, 6609, 6610, 6615, 6614, 6625,
- 6624, 6635, 6634, 6645, 6644, 6655, 6654, 6671, 6672, 6676
+ 0, 365, 365, 368, 369, 374, 373, 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, 527, 532, 558, 563, 526,
+ 579, 580, 585, 624, 629, 584, 647, 646, 660, 698,
+ 729, 763, 762, 774, 781, 782, 783, 784, 788, 799,
+ 804, 848, 853, 803, 882, 921, 926, 880, 945, 943,
+ 983, 982, 996, 1002, 1009, 1016, 1023, 1049, 1076, 1141,
+ 1142, 1146, 1147, 1148, 1153, 1159, 1168, 1169, 1174, 1173,
+ 1184, 1183, 1194, 1193, 1204, 1203, 1214, 1213, 1224, 1223,
+ 1234, 1233, 1244, 1243, 1257, 1270, 1268, 1298, 1305, 1316,
+ 1315, 1343, 1341, 1368, 1380, 1426, 1454, 1485, 1490, 1495,
+ 1500, 1484, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1571,
+ 1576, 1651, 1653, 1655, 1656, 1670, 1671, 1685, 1686, 1699,
+ 1700, 1710, 1723, 1724, 1734, 1747, 1748, 1758, 1768, 1781,
+ 1782, 1792, 1802, 1815, 1850, 1851, 1860, 1865, 1872, 1880,
+ 1885, 1890, 1896, 1901, 1906, 1914, 1986, 1985, 1995, 2000,
+ 2005, 2010, 2037, 2046, 2045, 2116, 2117, 2121, 2129, 2130,
+ 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2169, 2170,
+ 2171, 2175, 2176, 2177, 2181, 2182, 2186, 2199, 2197, 2227,
+ 2234, 2235, 2239, 2252, 2250, 2280, 2287, 2304, 2323, 2324,
+ 2328, 2333, 2338, 2346, 2351, 2356, 2364, 2369, 2374, 2382,
+ 2396, 2401, 2409, 2417, 2425, 2433, 2442, 2441, 2457, 2491,
+ 2496, 2456, 2515, 2518, 2519, 2523, 2523, 2533, 2538, 2532,
+ 2601, 2600, 2615, 2614, 2629, 2634, 2639, 2644, 2691, 2696,
+ 2628, 2720, 2728, 2742, 2752, 2760, 2761, 2869, 2872, 2873,
+ 2878, 2883, 2877, 2919, 2918, 2932, 2943, 2965, 2973, 2972,
+ 2988, 2993, 2987, 3010, 3009, 3062, 3086, 3111, 3116, 3149,
+ 3154, 3110, 3180, 3185, 3183, 3190, 3194, 3231, 3236, 3229,
+ 3303, 3358, 3368, 3357, 3383, 3388, 3381, 3429, 3455, 3465,
+ 3470, 3463, 3500, 3525, 3534, 3533, 3569, 3580, 3602, 3610,
+ 3615, 3609, 3652, 3653, 3658, 3663, 3668, 3673, 3657, 3742,
+ 3747, 3752, 3757, 3741, 3835, 3840, 3870, 3875, 3834, 3893,
+ 3898, 3951, 3956, 3891, 3993, 3999, 4006, 4013, 4014, 4026,
+ 4032, 4074, 4025, 4096, 4095, 4106, 4105, 4118, 4123, 4121,
+ 4128, 4133, 4138, 4132, 4179, 4178, 4189, 4188, 4201, 4206,
+ 4204, 4211, 4216, 4221, 4215, 4268, 4276, 4277, 4278, 4366,
+ 4371, 4376, 4385, 4390, 4384, 4402, 4410, 4415, 4409, 4427,
+ 4435, 4440, 4434, 4452, 4460, 4465, 4459, 4477, 4484, 4497,
+ 4495, 4523, 4530, 4559, 4597, 4598, 4602, 4632, 4672, 4677,
+ 4631, 4696, 4701, 4694, 4743, 4742, 4753, 4760, 4761, 4766,
+ 4765, 4776, 4775, 4786, 4785, 4796, 4795, 4806, 4805, 4816,
+ 4815, 4826, 4825, 4837, 4896, 4903, 4927, 5001, 5011, 5017,
+ 5023, 5070, 5117, 5166, 5165, 5215, 5220, 5225, 5230, 5235,
+ 5240, 5214, 5294, 5293, 5304, 5311, 5318, 5326, 5331, 5325,
+ 5343, 5344, 5348, 5350, 5349, 5360, 5359, 5374, 5410, 5372,
+ 5444, 5480, 5442, 5512, 5513, 5514, 5518, 5519, 5523, 5551,
+ 5582, 5627, 5632, 5580, 5649, 5659, 5678, 5690, 5689, 5729,
+ 5779, 5784, 5727, 5801, 5806, 5814, 5819, 5824, 5829, 5834,
+ 5847, 5852, 5857, 5866, 5888, 5893, 5865, 5910, 5928, 5933,
+ 5927, 5956, 5955, 5977, 5984, 5998, 6004, 6011, 6030, 6047,
+ 6054, 6064, 6075, 6099, 6106, 6117, 6122, 6127, 6148, 6153,
+ 6116, 6168, 6174, 6181, 6188, 6193, 6200, 6199, 6208, 6207,
+ 6218, 6223, 6277, 6282, 6336, 6337, 6341, 6399, 6460, 6520,
+ 6583, 6594, 6599, 6604, 6609, 6598, 6667, 6672, 6666, 6687,
+ 6691, 6692, 6697, 6696, 6707, 6706, 6717, 6716, 6727, 6726,
+ 6737, 6736, 6753, 6754, 6758
};
#endif
@@ -1028,9 +1032,10 @@ static const char *const tao_yytname[] =
"at_least_one_port_export", "port_exports", "port_export", "@175",
"@176", "extended_provides_decl", "extended_uses_decl",
"extended_port_decl", "template_port_decl", "non_template_port_decl",
- "template_inst", "connector_decl", "connector_header", "connector_body",
+ "template_inst", "connector_decl", "connector_header", "@177", "@178",
+ "@179", "connector_body", "@180", "@181",
"at_least_one_connector_export", "connector_exports", "connector_export",
- "@177", "@178", "@179", "@180", "@181", "template_extended_port_decl",
+ "@182", "@183", "@184", "@185", "@186", "template_extended_port_decl",
"template_ref_decl", 0
};
#endif
@@ -1111,8 +1116,9 @@ static const tao_yytype_uint16 tao_yyr1[] =
447, 448, 449, 449, 450, 452, 453, 454, 455, 456,
451, 457, 457, 458, 459, 459, 461, 460, 462, 460,
463, 463, 464, 464, 465, 465, 466, 466, 467, 467,
- 468, 469, 470, 471, 472, 473, 473, 475, 474, 476,
- 474, 477, 474, 478, 474, 479, 474, 480, 480, 481
+ 468, 469, 471, 472, 473, 470, 475, 476, 474, 477,
+ 478, 478, 480, 479, 481, 479, 482, 479, 483, 479,
+ 484, 479, 485, 485, 486
};
/* TAO_YYR2[TAO_YYN] -- Number of symbols composing right hand side of rule TAO_YYN. */
@@ -1172,8 +1178,9 @@ static const tao_yytype_uint8 tao_yyr2[] =
4, 2, 3, 0, 1, 0, 0, 0, 0, 0,
11, 1, 0, 2, 2, 0, 0, 3, 0, 3,
1, 3, 1, 3, 1, 1, 3, 3, 3, 3,
- 4, 2, 4, 3, 2, 2, 0, 0, 3, 0,
- 3, 0, 3, 0, 3, 0, 3, 2, 2, 2
+ 4, 2, 0, 0, 0, 7, 0, 0, 5, 2,
+ 2, 0, 0, 3, 0, 3, 0, 3, 0, 3,
+ 0, 3, 2, 2, 2
};
/* TAO_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1183,7 +1190,7 @@ static const tao_yytype_uint16 tao_yydefact[] =
{
4, 0, 0, 1, 33, 117, 35, 46, 166, 226,
242, 277, 324, 0, 0, 0, 0, 70, 0, 0,
- 435, 0, 0, 515, 0, 3, 19, 15, 40, 53,
+ 435, 0, 0, 515, 542, 3, 19, 15, 40, 53,
42, 21, 54, 59, 55, 60, 53, 56, 57, 41,
11, 5, 172, 228, 168, 276, 169, 194, 195, 170,
13, 7, 9, 23, 395, 394, 397, 25, 433, 27,
@@ -1191,77 +1198,78 @@ static const tao_yytype_uint16 tao_yydefact[] =
493, 29, 31, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 113, 206, 171, 53, 0, 53, 64,
53, 0, 58, 53, 0, 401, 476, 0, 109, 0,
- 108, 0, 0, 522, 0, 0, 73, 498, 48, 506,
+ 108, 0, 0, 0, 0, 0, 73, 498, 48, 506,
0, 0, 0, 210, 212, 0, 216, 217, 220, 221,
222, 223, 219, 224, 225, 291, 298, 303, 68, 179,
78, 175, 177, 178, 176, 180, 208, 209, 181, 185,
182, 184, 183, 186, 187, 228, 191, 0, 192, 193,
188, 0, 189, 297, 190, 302, 0, 0, 0, 244,
0, 0, 0, 0, 0, 0, 0, 0, 477, 470,
- 479, 0, 0, 0, 0, 0, 541, 34, 130, 118,
+ 479, 0, 0, 0, 0, 546, 541, 34, 130, 118,
122, 126, 127, 123, 124, 125, 128, 129, 36, 47,
167, 173, 227, 243, 278, 325, 49, 474, 50, 0,
- 475, 71, 406, 436, 0, 392, 111, 393, 516, 521,
- 406, 20, 16, 72, 51, 0, 0, 497, 43, 22,
- 61, 211, 218, 213, 215, 0, 75, 287, 290, 294,
- 299, 12, 6, 229, 0, 14, 8, 10, 24, 398,
- 26, 447, 434, 28, 75, 0, 0, 18, 494, 30,
- 32, 314, 319, 0, 429, 0, 0, 551, 312, 313,
- 547, 549, 0, 553, 0, 546, 555, 0, 0, 0,
- 0, 0, 65, 404, 402, 444, 110, 0, 522, 542,
- 0, 491, 489, 486, 490, 492, 487, 485, 488, 0,
- 503, 0, 505, 509, 87, 80, 214, 292, 0, 69,
- 0, 0, 0, 235, 245, 408, 451, 478, 471, 480,
- 87, 0, 0, 425, 424, 0, 428, 427, 0, 0,
- 557, 0, 558, 0, 0, 0, 0, 0, 543, 544,
- 0, 119, 37, 206, 174, 199, 200, 201, 207, 279,
- 326, 87, 0, 75, 442, 437, 112, 517, 52, 107,
- 504, 499, 0, 507, 0, 0, 0, 74, 156, 157,
- 158, 160, 162, 163, 164, 161, 159, 0, 0, 0,
- 0, 153, 165, 132, 133, 135, 137, 139, 142, 145,
- 149, 154, 288, 295, 300, 230, 234, 0, 0, 399,
- 0, 87, 80, 0, 315, 368, 365, 366, 367, 320,
- 423, 538, 559, 539, 552, 548, 550, 426, 554, 545,
- 556, 0, 4, 0, 196, 0, 234, 0, 405, 403,
- 0, 75, 0, 104, 501, 0, 514, 0, 513, 0,
- 102, 334, 335, 0, 86, 94, 88, 98, 96, 100,
- 0, 90, 92, 339, 0, 0, 0, 79, 81, 82,
- 0, 293, 150, 151, 152, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 235, 240, 237, 236, 210, 256, 251, 252, 253, 254,
- 246, 255, 0, 0, 0, 0, 0, 419, 0, 407,
- 409, 411, 413, 415, 417, 421, 534, 535, 0, 0,
- 452, 0, 450, 453, 455, 0, 0, 0, 0, 0,
- 120, 0, 309, 305, 308, 197, 286, 280, 285, 235,
- 0, 443, 438, 518, 105, 0, 500, 510, 511, 508,
- 0, 45, 0, 0, 0, 0, 0, 338, 329, 337,
- 0, 0, 0, 85, 84, 63, 83, 155, 134, 136,
- 138, 140, 141, 143, 144, 146, 147, 148, 289, 296,
- 301, 231, 233, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 400, 0, 0, 0, 0, 0,
- 0, 457, 460, 449, 0, 0, 0, 0, 496, 316,
- 321, 205, 0, 0, 0, 306, 0, 0, 282, 0,
- 67, 0, 0, 0, 502, 0, 103, 95, 89, 99,
- 97, 101, 0, 91, 93, 340, 241, 238, 247, 432,
- 430, 431, 0, 536, 537, 420, 410, 412, 414, 416,
- 418, 422, 0, 0, 454, 456, 473, 482, 0, 379,
- 202, 121, 131, 39, 310, 307, 198, 281, 283, 328,
- 439, 0, 530, 532, 0, 519, 525, 526, 528, 106,
- 512, 330, 0, 0, 0, 0, 343, 458, 461, 317,
- 376, 322, 203, 0, 0, 0, 424, 0, 0, 0,
- 523, 0, 0, 0, 341, 239, 248, 540, 0, 0,
- 375, 375, 375, 0, 383, 0, 311, 284, 440, 531,
- 533, 520, 524, 527, 529, 356, 331, 375, 0, 344,
- 351, 0, 350, 372, 459, 462, 318, 377, 380, 323,
- 204, 446, 0, 0, 375, 342, 263, 270, 268, 249,
- 259, 260, 267, 0, 346, 347, 0, 0, 0, 0,
- 441, 355, 369, 370, 371, 0, 361, 362, 332, 0,
- 0, 0, 0, 0, 0, 265, 352, 348, 373, 0,
- 381, 445, 357, 358, 0, 387, 264, 271, 269, 250,
- 258, 273, 261, 266, 0, 0, 0, 378, 0, 359,
- 363, 384, 333, 0, 0, 0, 353, 349, 0, 0,
- 0, 0, 0, 272, 274, 262, 374, 382, 360, 364,
- 385, 0, 391, 0, 388, 386, 389, 0, 390
+ 475, 71, 406, 436, 0, 392, 111, 393, 516, 543,
+ 20, 16, 72, 51, 0, 0, 497, 43, 22, 61,
+ 211, 218, 213, 215, 0, 75, 287, 290, 294, 299,
+ 12, 6, 229, 0, 14, 8, 10, 24, 398, 26,
+ 447, 434, 28, 75, 0, 0, 18, 494, 30, 32,
+ 0, 0, 0, 0, 0, 0, 65, 404, 402, 444,
+ 110, 0, 522, 522, 0, 491, 489, 486, 490, 492,
+ 487, 485, 488, 0, 503, 0, 505, 509, 87, 80,
+ 214, 292, 0, 69, 0, 0, 0, 235, 245, 408,
+ 451, 478, 471, 480, 87, 314, 319, 0, 429, 0,
+ 0, 556, 312, 313, 552, 554, 0, 558, 547, 551,
+ 560, 119, 37, 206, 174, 199, 200, 201, 207, 279,
+ 326, 87, 0, 75, 442, 437, 112, 521, 517, 544,
+ 52, 107, 504, 499, 0, 507, 0, 0, 0, 74,
+ 156, 157, 158, 160, 162, 163, 164, 161, 159, 0,
+ 0, 0, 0, 153, 165, 132, 133, 135, 137, 139,
+ 142, 145, 149, 154, 288, 295, 300, 230, 234, 0,
+ 0, 399, 0, 87, 80, 0, 0, 0, 425, 424,
+ 0, 428, 427, 0, 0, 562, 0, 563, 0, 0,
+ 0, 0, 0, 0, 549, 0, 0, 4, 0, 196,
+ 0, 234, 0, 405, 403, 0, 75, 0, 406, 104,
+ 501, 0, 514, 0, 513, 0, 102, 334, 335, 0,
+ 86, 94, 88, 98, 96, 100, 0, 90, 92, 339,
+ 0, 0, 0, 79, 81, 82, 0, 293, 150, 151,
+ 152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 235, 240, 237, 236,
+ 210, 256, 251, 252, 253, 254, 246, 255, 0, 0,
+ 0, 0, 0, 419, 0, 407, 409, 411, 413, 415,
+ 417, 421, 534, 535, 0, 0, 452, 0, 450, 453,
+ 455, 0, 0, 0, 315, 368, 365, 366, 367, 320,
+ 423, 538, 564, 539, 557, 553, 555, 426, 559, 548,
+ 550, 561, 120, 0, 309, 305, 308, 197, 286, 280,
+ 285, 235, 0, 443, 438, 518, 545, 105, 0, 500,
+ 510, 511, 508, 0, 45, 0, 0, 0, 0, 0,
+ 338, 329, 337, 0, 0, 0, 85, 84, 63, 83,
+ 155, 134, 136, 138, 140, 141, 143, 144, 146, 147,
+ 148, 289, 296, 301, 231, 233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 400, 0, 0,
+ 0, 0, 0, 0, 457, 460, 449, 0, 0, 0,
+ 0, 496, 0, 0, 0, 0, 0, 306, 0, 0,
+ 282, 0, 67, 0, 0, 0, 502, 0, 103, 95,
+ 89, 99, 97, 101, 0, 91, 93, 340, 241, 238,
+ 247, 432, 430, 431, 0, 536, 537, 420, 410, 412,
+ 414, 416, 418, 422, 0, 0, 454, 456, 473, 482,
+ 316, 321, 205, 121, 131, 39, 310, 307, 198, 281,
+ 283, 328, 439, 0, 530, 532, 0, 519, 525, 526,
+ 528, 106, 512, 330, 0, 0, 0, 0, 343, 458,
+ 461, 0, 379, 202, 0, 0, 0, 424, 0, 0,
+ 0, 523, 0, 0, 0, 341, 239, 248, 540, 0,
+ 0, 375, 375, 317, 376, 322, 203, 311, 284, 440,
+ 531, 533, 520, 524, 527, 529, 356, 331, 375, 0,
+ 344, 351, 0, 350, 372, 459, 462, 375, 0, 383,
+ 0, 446, 0, 0, 375, 342, 263, 270, 268, 249,
+ 259, 260, 267, 0, 346, 347, 0, 318, 377, 380,
+ 323, 204, 0, 441, 355, 369, 370, 371, 0, 361,
+ 362, 332, 0, 0, 0, 0, 0, 0, 265, 352,
+ 348, 373, 0, 0, 445, 357, 358, 0, 387, 264,
+ 271, 269, 250, 258, 273, 261, 266, 0, 0, 0,
+ 0, 381, 359, 363, 384, 333, 0, 0, 0, 353,
+ 349, 0, 378, 0, 0, 0, 0, 272, 274, 262,
+ 374, 0, 360, 364, 385, 382, 0, 391, 0, 388,
+ 386, 389, 0, 390
};
/* TAO_YYDEFGOTO[NTERM-NUM]. */
@@ -1269,173 +1277,174 @@ static const tao_yytype_int16 tao_yydefgoto[] =
{
-1, 1, 2, 25, 157, 161, 162, 156, 160, 105,
171, 104, 111, 163, 165, 167, 173, 174, 74, 26,
- 76, 268, 412, 593, 27, 28, 110, 294, 433, 29,
- 77, 30, 128, 280, 31, 32, 33, 112, 295, 446,
- 34, 199, 341, 520, 35, 226, 36, 94, 214, 299,
- 37, 38, 355, 447, 448, 354, 434, 533, 540, 541,
- 532, 535, 534, 536, 530, 348, 423, 603, 371, 204,
- 277, 100, 39, 435, 75, 267, 411, 592, 179, 641,
- 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
- 382, 436, 78, 190, 269, 472, 131, 132, 133, 134,
- 42, 334, 414, 596, 335, 590, 640, 695, 336, 337,
+ 76, 252, 397, 595, 27, 28, 110, 278, 419, 29,
+ 77, 30, 128, 264, 31, 32, 33, 112, 279, 432,
+ 34, 199, 321, 522, 35, 225, 36, 94, 213, 283,
+ 37, 38, 337, 433, 434, 336, 420, 536, 543, 544,
+ 535, 538, 537, 539, 533, 330, 409, 605, 353, 204,
+ 261, 100, 39, 421, 75, 251, 396, 594, 179, 643,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 422, 78, 190, 253, 458, 131, 132, 133, 134,
+ 42, 314, 399, 598, 315, 641, 673, 720, 316, 317,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 43, 79, 44, 158, 303, 469, 385, 470, 562, 387,
- 473, 564, 663, 563, 45, 80, 46, 234, 388, 565,
- 664, 708, 752, 480, 729, 753, 730, 754, 785, 749,
- 731, 755, 732, 751, 750, 783, 772, 784, 47, 48,
- 49, 81, 270, 415, 597, 517, 598, 674, 518, 150,
- 300, 466, 151, 225, 356, 152, 301, 467, 153, 154,
- 302, 468, 155, 338, 413, 513, 595, 514, 594, 673,
- 437, 258, 311, 508, 638, 692, 259, 312, 509, 639,
- 694, 438, 82, 271, 416, 599, 439, 612, 683, 724,
- 765, 440, 538, 450, 542, 662, 707, 667, 688, 689,
- 711, 735, 775, 712, 733, 774, 706, 722, 723, 745,
- 763, 790, 746, 764, 791, 399, 747, 714, 736, 776,
- 671, 693, 737, 719, 738, 778, 782, 792, 801, 803,
- 804, 807, 441, 442, 53, 54, 55, 164, 305, 488,
- 56, 202, 343, 274, 342, 389, 489, 575, 576, 577,
- 578, 579, 573, 580, 260, 315, 261, 262, 317, 492,
- 493, 494, 57, 166, 58, 97, 275, 421, 601, 675,
- 721, 345, 420, 740, 242, 306, 501, 390, 502, 584,
- 585, 503, 632, 690, 504, 633, 691, 59, 60, 61,
- 62, 63, 245, 391, 586, 64, 65, 66, 169, 244,
- 67, 246, 392, 587, 68, 289, 69, 172, 310, 507,
- 70, 209, 215, 425, 351, 525, 290, 217, 292, 353,
- 319, 427, 528, 428, 71, 102, 278, 422, 602, 679,
- 210, 655, 680, 656, 681, 682, 657, 658, 495, 496,
- 263, 570, 72, 73, 176, 264, 329, 265, 324, 325,
- 323, 327, 330, 266, 320
+ 43, 79, 44, 158, 287, 455, 367, 456, 565, 369,
+ 459, 567, 665, 566, 45, 80, 46, 233, 370, 568,
+ 666, 709, 755, 466, 729, 756, 730, 757, 788, 752,
+ 731, 758, 732, 754, 753, 786, 775, 787, 47, 48,
+ 49, 81, 254, 400, 599, 519, 600, 675, 520, 150,
+ 284, 452, 151, 224, 338, 152, 285, 453, 153, 154,
+ 286, 454, 155, 318, 398, 515, 597, 516, 596, 674,
+ 423, 302, 376, 592, 671, 717, 303, 377, 593, 672,
+ 719, 424, 82, 255, 401, 601, 425, 614, 684, 724,
+ 768, 426, 541, 436, 545, 664, 708, 669, 689, 690,
+ 712, 735, 778, 713, 733, 777, 707, 722, 723, 748,
+ 766, 794, 749, 767, 795, 499, 750, 715, 736, 779,
+ 695, 718, 762, 740, 763, 793, 785, 796, 806, 808,
+ 809, 812, 427, 428, 53, 54, 55, 164, 289, 474,
+ 56, 202, 323, 258, 322, 371, 475, 578, 579, 580,
+ 581, 582, 576, 583, 304, 380, 305, 306, 382, 478,
+ 479, 480, 57, 166, 58, 97, 259, 406, 603, 676,
+ 721, 325, 405, 743, 241, 290, 487, 372, 488, 587,
+ 588, 489, 634, 691, 490, 635, 692, 59, 60, 61,
+ 62, 63, 244, 373, 589, 64, 65, 66, 169, 243,
+ 67, 245, 374, 590, 68, 273, 69, 172, 294, 493,
+ 70, 327, 214, 411, 333, 528, 274, 216, 276, 335,
+ 384, 413, 531, 414, 71, 102, 262, 407, 604, 680,
+ 328, 657, 681, 658, 682, 683, 659, 660, 481, 482,
+ 307, 573, 72, 73, 103, 263, 408, 176, 250, 393,
+ 308, 394, 309, 389, 390, 388, 392, 395, 310, 385
};
/* TAO_YYPACT[STATE-NUM] -- Index in TAO_YYTABLE of the portion describing
STATE-NUM. */
-#define TAO_YYPACT_NINF -645
+#define TAO_YYPACT_NINF -636
static const tao_yytype_int16 tao_yypact[] =
{
- -645, 45, 1192, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, 67, 70, 109, 114, -645, 67, 67,
- -645, 39, 39, -645, 103, -645, -645, -645, -645, 136,
- -645, -645, -645, -645, -645, -645, 84, -645, -645, -645,
- -645, -645, -645, 28, -645, 94, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, 55, -645, -645, -645, 55, -645,
- -645, -645, -645, 79, 89, 467, 179, 67, 521, 67,
- 67, 67, 67, -645, -645, -645, 48, 67, 143, -645,
- 155, 67, -645, 55, 67, 124, 153, 67, -645, 102,
- -645, 137, 185, 149, 172, 186, 244, -645, -645, 216,
- 221, 223, 224, 249, -645, 46, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, 229,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, 94, -645, -645,
- -645, -28, -645, 208, -645, 210, 231, 232, 228, -645,
- 235, 236, 239, 241, 242, 245, 243, 246, -645, -645,
- -645, 248, 255, 250, 257, 99, -645, -645, 229, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, 259, -645, 261,
- -645, -645, 230, -645, 67, -645, -645, -645, -645, -645,
- 230, -645, -645, -645, -645, 206, 39, -645, -645, -645,
- -645, -645, -645, 320, -645, 253, 286, -645, -645, -645,
- -645, -645, -645, -645, 234, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, 286, 262, 263, -645, -645, -645,
- -645, -645, -645, 58, 288, 39, 39, -645, -645, -645,
- -645, -645, 58, -645, 264, -645, -645, 67, 267, 67,
- 274, 276, -645, -645, -645, 270, -645, 67, 149, -645,
- 39, -645, -645, -645, -645, -645, -645, -645, -645, 348,
- -645, 9, -645, -645, -645, -645, -645, -645, 39, -645,
- 76, 76, 76, -645, -645, -645, -645, -645, -645, -645,
- -645, 333, 636, -645, 229, 67, -645, -645, 31, 362,
- -645, 36, -645, 281, 285, 290, 67, 305, -645, 99,
- 310, -645, -645, 269, -645, -645, -645, -645, -645, -645,
- -645, -645, 39, 286, -645, -645, -645, -645, -645, 229,
- -645, 307, 395, 309, 936, 555, 272, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, 47, 47, 47,
- 76, 229, -645, 308, 312, 313, 6, 51, 168, -645,
- -645, -645, -645, -645, -645, -645, -645, 369, 171, 561,
- 854, -645, -645, 971, -645, 229, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, 311, -645, 298, 316, 405, -645, 1053, 229, -645,
- 39, 286, 322, 321, -645, 324, -645, 325, -645, 39,
- -645, -645, -645, 326, -645, -645, -645, -645, -645, -645,
- 190, -645, -645, -645, 369, 369, 341, -645, -645, -645,
- 344, -645, -645, -645, -645, 329, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 330, 331, 332, 349,
- 350, -645, -645, -645, 424, 229, -645, -645, -645, -645,
- -645, -645, 39, 39, 39, 39, 39, -645, 351, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, 67, 67,
- -645, 352, -645, -645, -645, 1088, 772, 356, 636, 67,
- -645, 1138, -645, -645, -645, -645, -645, -645, -645, 357,
- 358, 229, -645, -645, -645, 206, -645, -645, 346, -645,
- 361, -645, 363, 365, 366, 367, 368, -645, -645, -645,
- 370, 372, 445, -645, -645, -645, -645, -645, 312, 313,
- 6, 51, 51, 168, 168, -645, -645, -645, -645, -645,
- -645, -645, -645, 375, 67, 353, 62, 62, 62, 37,
- 459, 38, 465, 383, -645, 385, 386, 388, 401, 402,
- 404, -645, -645, -645, 408, 409, 403, 411, -645, -645,
- -645, -645, 76, 413, 76, 298, 67, 414, 407, 415,
- -645, 438, 173, 39, -645, 395, -645, -645, -645, -645,
- -645, -645, 502, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, 39, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, 406, 406, -645, -645, -645, -645, 67, 451,
- 419, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, 58, -645, -645, 58, -645, -645, -645, -645, 229,
- -645, -645, 406, 425, 423, 410, 477, -645, -645, -645,
- -645, -645, -645, 412, 405, 39, 9, 511, 512, 428,
- 173, 431, 433, 420, -645, -645, -645, -645, 418, 491,
- 505, 505, 505, 448, 488, 67, -645, -645, 229, -645,
- -645, -645, -645, -645, -645, 450, -645, 505, 43, -645,
- -645, 455, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, 501, 475, 233, 505, -645, -645, -645, -645, -645,
- -645, -645, -645, 636, -645, 471, 478, 39, 489, 39,
- -645, -645, -645, -645, -645, 492, -645, -645, -645, 507,
- 76, 508, 510, 57, 521, 167, -645, -645, -645, 494,
- -645, 229, -645, 514, 636, 566, -645, -645, -645, -645,
- -645, -645, -645, -645, 67, 491, 39, -645, 39, -645,
- -645, -645, -645, 517, 67, 522, -645, -645, 509, 513,
- 233, 67, 506, -645, -645, -645, -645, -645, -645, -645,
- -645, 533, -645, 515, 520, -645, -645, 538, -645
+ -636, 77, 1164, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, 44, 65, 125, 147, -636, 44, 44,
+ -636, 51, 51, -636, -636, -636, -636, -636, -636, -24,
+ -636, -636, -636, -636, -636, -636, 84, -636, -636, -636,
+ -636, -636, -636, 50, -636, 149, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, 58, -636, -636, -636, 58, -636,
+ -636, -636, -636, 89, 97, 343, 166, 44, 1111, 44,
+ 44, 44, 44, -636, -636, -636, 66, 44, 112, -636,
+ 113, 44, -636, 58, 44, 131, 146, 44, -636, 30,
+ -636, 67, 230, 244, 179, 180, 204, -636, -636, 183,
+ 181, 187, 182, 195, -636, 82, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, 201,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, 149, -636, -636,
+ -636, 87, -636, 190, -636, 191, 197, 198, 200, -636,
+ 205, 210, 213, 215, 216, 218, 219, 225, -636, -636,
+ -636, 227, 221, 229, 232, -636, -636, -636, 201, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, 235, -636, 236,
+ -636, -636, 211, -636, 44, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, 222, 51, -636, -636, -636, -636,
+ -636, -636, 268, -636, 220, 258, -636, -636, -636, -636,
+ -636, -636, -636, 226, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, 258, 239, 241, -636, -636, -636, -636,
+ 228, 44, 242, 44, 246, 254, -636, -636, -636, 233,
+ -636, 44, 243, 243, 51, -636, -636, -636, -636, -636,
+ -636, -636, -636, 328, -636, -21, -636, -636, -636, -636,
+ -636, -636, 51, -636, 49, 49, 49, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, 39, 285, 51,
+ 51, -636, -636, -636, -636, -636, 39, -636, -636, -636,
+ -636, -636, -636, 240, -636, -636, -636, -636, -636, -636,
+ -636, -636, 51, 258, -636, -636, -636, -636, -636, -636,
+ -636, 201, -636, 259, 359, 275, 483, 610, 450, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, 83,
+ 83, 83, 49, 201, -636, 274, 278, 279, 71, -40,
+ 111, -636, -636, -636, -636, -636, -636, -636, -636, 580,
+ 172, 361, 879, -636, -636, 961, 341, 1135, -636, 201,
+ 44, -636, -636, 35, 371, -636, 36, -636, 289, 290,
+ 295, 44, 296, 297, 228, 298, 292, -636, 281, 299,
+ 385, -636, 996, 201, -636, 51, 258, 303, 211, 304,
+ -636, 305, -636, 306, -636, 51, -636, -636, -636, 311,
+ -636, -636, -636, -636, -636, -636, 837, -636, -636, -636,
+ 580, 580, 312, -636, -636, -636, 307, -636, -636, -636,
+ -636, 308, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 313, 314, 315, 319, 326, -636, -636, -636,
+ 412, 201, -636, -636, -636, -636, -636, -636, 51, 51,
+ 51, 51, 51, -636, 335, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, 44, 44, -636, 339, -636, -636,
+ -636, 1078, 797, 340, -636, 201, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, 214, -636, -636, -636, -636, -636, -636,
+ -636, 344, 345, 201, -636, -636, -636, -636, 222, -636,
+ -636, 347, -636, 348, -636, 349, 352, 353, 356, 357,
+ -636, -636, -636, 358, 360, 426, -636, -636, -636, -636,
+ -636, 278, 279, 71, -40, -40, 111, 111, -636, -636,
+ -636, -636, -636, -636, -636, -636, 362, 44, 350, 56,
+ 56, 56, 37, 442, 38, 444, 363, -636, 364, 365,
+ 369, 370, 384, 387, -636, -636, -636, 391, 397, 401,
+ 419, -636, 1135, 44, 49, 423, 49, 281, 44, 424,
+ 395, 430, -636, 454, 86, 51, -636, 359, -636, -636,
+ -636, -636, -636, -636, 518, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, 51, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, 421, 421, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, 39, -636, -636, 39, -636, -636, -636,
+ -636, 201, -636, -636, 421, 446, 447, 432, 498, -636,
+ -636, 44, 481, 448, 431, 385, 51, -21, 536, 537,
+ 453, 86, 456, 457, 443, -636, -636, -636, -636, 449,
+ 510, 511, 511, -636, -636, -636, -636, -636, -636, 201,
+ -636, -636, -636, -636, -636, -636, 451, -636, 511, 165,
+ -636, -636, 458, -636, -636, -636, -636, 511, 460, 486,
+ 44, 491, 461, 208, 511, -636, -636, -636, -636, -636,
+ -636, -636, -636, 1135, -636, 462, 464, -636, -636, -636,
+ -636, -636, 51, -636, -636, -636, -636, -636, 465, -636,
+ -636, -636, 469, 49, 470, 474, 47, 1111, 93, -636,
+ -636, -636, 51, 467, 201, -636, 476, 1135, 530, -636,
+ -636, -636, -636, -636, -636, -636, -636, 44, 510, 51,
+ 468, -636, -636, -636, -636, -636, 484, 44, 488, -636,
+ -636, 473, -636, 51, 208, 44, 471, -636, -636, -636,
+ -636, 475, -636, -636, -636, -636, 500, -636, 477, 492,
+ -636, -636, 502, -636
};
/* TAO_YYPGOTO[NTERM-NUM]. */
static const tao_yytype_int16 tao_yypgoto[] =
{
- -645, -645, 204, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, 205,
- -645, -645, 163, -645, -645, -645, 604, -645, -645, -645,
- -645, -645, -645, -645, 608, -645, 247, -645, -645, -207,
- -645, -645, 237, -645, -645, -258, -317, -645, -645, -645,
- -645, -645, -645, -645, -645, -278, -645, -645, -19, -645,
- -645, -13, -645, 11, -645, -645, -645, -645, -645, -645,
- -346, -645, 177, 170, 166, -165, -158, -187, -68, -645,
- -270, 12, -645, -645, -645, -35, 278, -291, -645, -645,
- -645, 64, -645, -645, -563, 0, -645, -645, -1, -645,
- -50, -645, -645, 565, 567, -49, -48, -47, -645, -645,
- -29, -645, -27, -645, -645, -645, -645, 225, 354, -645,
- -138, -645, -645, -645, -25, -645, -21, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -95, -645, -645, -645,
- -645, -645, -96, -645, -645, -645, -645, -645, -645, -645,
- -32, -645, -645, -645, -645, -645, -645, -645, -14, -645,
- -645, -645, -645, -645, -645, -67, -645, -645, -645, -65,
- -645, -645, -645, -645, -645, -645, -645, 68, -645, -645,
- -139, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, 14, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -551, -645, -645,
- -645, -645, -645, -111, -645, -645, -645, -645, -645, -645,
- -645, -645, -125, -645, -645, -417, -645, -644, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, 16, 17, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, 457, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -360, -232, -354, -542, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, 601, -645,
- -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
- -645, 641, -645, -645, -645, -645, 146, -645, -645, -645,
- -194, -645, -645, 69, -645, -645, -645, -645, -645, -645,
- 394, -645, -645, -7, -645, -645, -645, -645, -645, -645,
- 287, 189, -645, -645, -645, -645, -645, 355, -645, -645,
- -645, -645, -645, -645, 421
+ -636, -636, 212, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, 98,
+ -636, -636, 143, -636, -636, -636, 570, -636, -636, -636,
+ -636, -636, -636, -636, 572, -636, 189, -636, -636, -209,
+ -636, -636, 234, -636, -636, -258, -300, -636, -636, -636,
+ -636, -636, -636, -636, -636, -274, -636, -636, 10, -636,
+ -636, -13, -636, 11, -636, -636, -636, -636, -636, -636,
+ -334, -636, 168, 164, 188, -232, -224, -200, -70, -636,
+ -259, 12, -636, -636, -636, -34, 300, -356, -636, -636,
+ -636, 45, -636, -636, -565, -55, -636, -636, -9, -636,
+ -53, -636, -636, 564, 571, -51, -50, -45, -636, -636,
+ -33, -636, -29, -636, -636, -636, -636, 247, 366, -636,
+ -204, -636, -636, -636, -27, -636, -25, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -111, -636, -636, -636,
+ -636, -636, -109, -636, -636, -636, -636, -636, -636, -636,
+ -35, -636, -636, -636, -636, -636, -636, -636, -28, -636,
+ -636, -636, -636, -636, -636, -65, -636, -636, -636, -63,
+ -636, -636, -636, -636, -636, -636, -636, 54, -636, -636,
+ -215, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, 13, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -585, -636, -636,
+ -636, -636, -636, -126, -636, -636, -636, -636, -636, -636,
+ -636, -636, -137, -636, -636, -403, -636, -635, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, 15, 17, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, 251, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -343, -286, -342, -543, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, 592, -636,
+ -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, 635, -636, -636, -636, -636, 137, -636, -636, -636,
+ -199, -636, -636, 60, -636, -636, -636, -636, -636, -636,
+ 406, -636, -636, -10, -636, -636, -636, -636, -636, -636,
+ 301, 203, -636, -636, -636, -636, -636, -636, -636, -636,
+ -636, -636, 282, -636, -636, -636, -636, -636, -636, 377
};
/* TAO_YYTABLE[TAO_YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1445,264 +1454,258 @@ static const tao_yytype_int16 tao_yypgoto[] =
#define TAO_YYTABLE_NINF -496
static const tao_yytype_int16 tao_yytable[] =
{
- 84, 130, 99, 101, 149, 95, 96, 145, 186, 146,
- 187, 147, 85, 40, 41, 148, 50, 129, 51, 52,
- 357, 396, 293, 539, 455, 180, 183, 184, 185, 490,
- 326, 383, 384, 646, 401, 491, 257, 307, 449, 403,
- 401, 403, 83, 191, 726, 3, 149, 715, 716, 145,
- 83, 146, 393, 147, 223, 224, 178, 148, 726, 129,
- 654, 83, 227, 725, 189, 83, 192, 193, 194, 195,
- 83, 727, 728, 500, 197, 228, 7, 313, 200, 83,
- 748, 201, 668, 417, 203, 727, 728, 83, 459, 460,
- 206, 589, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 9, 10, 103, 11, 125, 126,
- 127, 684, 206, 352, -275, 7, 159, 206, 206, 206,
- 98, 358, 359, 360, 361, 362, 363, 364, 98, 251,
- 252, 365, 366, 505, -115, 352, 419, 106, 654, 98,
- 352, 622, 622, 206, 106, -257, 461, 462, 370, 396,
- 358, 359, 360, 361, 362, 363, 364, 98, 17, 253,
- 365, 366, 87, 17, 254, 98, 175, 91, 255, 256,
- -77, 367, 368, 106, 83, 177, 369, 370, 205, 474,
- 114, 115, 188, 206, 118, 119, 120, 121, 208, 449,
- 257, 276, 108, 83, 11, 727, 728, 291, 113, 114,
+ 84, 149, 130, 145, 85, 95, 96, 146, 339, 147,
+ 186, 148, 187, 40, 41, 50, 277, 51, 441, 52,
+ 391, 496, 180, 542, 183, 184, 365, 366, 476, 477,
+ 185, 99, 101, 648, 291, 301, 375, 435, 501, 503,
+ 501, 503, 83, 149, 191, 145, 129, 83, 726, 146,
+ 670, 147, 83, 148, 83, 447, 448, 716, 378, 83,
+ 206, 656, -114, 402, 189, 106, 192, 193, 194, 195,
+ 496, 7, 486, 725, 197, 727, 728, 3, 200, 685,
+ 107, 201, 737, 334, 203, 178, 83, 83, 129, 751,
+ 222, 223, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 9, 10, 205, 11, 125, 126,
+ 127, 206, 86, 88, 404, 491, 206, 206, 206, 206,
+ 98, 727, 728, 340, 341, 342, 343, 344, 345, 346,
+ 98, 7, 98, 347, 348, -257, -275, 206, 656, 334,
+ 334, 624, 624, 207, 349, 350, 653, 106, 206, 351,
+ 352, 298, -115, 445, 446, 106, 473, 340, 341, 342,
+ 343, 344, 345, 346, 98, 98, 726, 347, 348, 188,
+ -77, 159, 108, 106, 17, 83, 175, 226, 87, 301,
+ 460, 114, 115, 177, 352, 118, 119, 120, 121, 640,
+ 227, 260, 435, 727, 728, 11, 17, 524, -116, -76,
+ 91, 106, 106, 220, 90, 93, 221, 168, 449, 450,
+ 451, 168, 789, 554, 555, 4, 532, -396, 5, 6,
+ 7, 8, 798, 556, 557, 275, 546, 547, 265, 196,
+ 803, 198, -468, 208, 9, 10, 496, 11, 311, 266,
+ 313, 12, 267, 745, 746, 747, 268, 209, 326, 558,
+ 559, 560, 212, 98, 13, 14, 15, 16, 295, 296,
+ 644, 654, 655, 17, 18, 210, 211, 19, 217, 219,
+ 20, 269, 215, 218, 331, 270, 280, 21, 22, 438,
+ 439, 440, 206, 230, 231, 23, 24, 232, 297, 271,
+ 272, 234, 331, 298, 228, 229, 235, 299, 300, 236,
+ 257, 237, -38, 238, 239, 282, 240, 379, 247, 383,
+ 386, 242, 497, 246, 498, 248, 379, 462, 249, 463,
+ 464, -469, 324, 256, 281, 465, 292, 288, 293, 312,
+ 759, 332, 403, 319, 149, 467, 145, 646, 654, 655,
+ 146, 320, 147, 381, 148, -304, 83, 107, 129, 410,
+ 667, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 497, 412, 498, 783, 415, 442, 500, 126, 127,
+ 391, 443, 494, 444, 502, 504, 505, 496, 507, 129,
+ 461, 506, 508, 512, 511, 509, 514, 495, 518, 517,
+ 525, 295, 296, 549, 527, 149, 149, 145, 145, 534,
+ 548, 146, 146, 147, 147, 148, 148, 564, 529, 530,
+ 550, 496, 468, 469, -232, 523, 561, 562, 563, 770,
+ 220, 297, 470, 577, 98, 275, 298, 586, 591, 617,
+ 471, 472, -327, 602, 608, 609, 495, 607, 610, 611,
+ 129, 129, 612, 613, 615, 625, 616, 626, 618, 627,
+ 628, 629, 620, 83, 678, 630, 631, 679, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- -396, 786, 281, 207, 522, 126, 127, 396, 206, 86,
- 88, 794, -114, 282, 537, 106, 283, 168, 799, -116,
- 284, 168, 106, 651, 314, 529, 318, 321, 254, -468,
- 107, -76, 652, 314, 106, 397, 642, 398, 653, 196,
- 487, 198, 98, 107, 331, 285, 333, 221, 211, 286,
- 222, 349, 90, 93, 346, 463, 464, 465, 742, 743,
- 744, 98, 212, 287, 288, 83, 555, 556, 557, 349,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 213, 395, 551, 552, 125, 126, 127, 452,
- 453, 454, 400, 553, 554, 216, 543, 544, 218, 219,
- 206, 220, 229, 407, 230, 233, 756, 231, 232, 273,
- 652, 235, 236, 418, 644, 237, 653, 238, 296, 239,
- 241, 240, 243, 298, 247, 304, 249, 129, 476, 477,
- 478, 479, 248, 250, 665, -469, 316, 780, 272, 308,
- 309, 350, 328, 98, 332, 149, 481, 297, 145, 344,
- 146, 339, 147, 340, 394, 402, 148, 404, 129, 475,
- 471, 405, 83, 397, -304, 398, 406, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 9,
- 10, 408, 11, 125, 126, 127, 410, 424, 426, 429,
- 456, 521, 510, 512, 767, 457, 515, 458, 516, 523,
- 291, 524, 149, 149, 531, 145, 145, 146, 146, 147,
- 147, 395, 326, 148, 148, 129, 129, 526, 527, 545,
- 546, 547, 221, 558, 559, 560, 605, 561, -232, 574,
- 583, 397, 396, 398, 588, -327, 600, 606, 615, 607,
- 98, 608, 609, 610, 611, 618, 613, 677, 614, 759,
- 678, 616, 623, 566, 567, 568, 569, 571, 624, 625,
- 83, 626, 627, 396, 628, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 581, 582, 629, 630, 395,
- 631, 636, 126, 127, 634, 635, 84, 648, 788, 637,
- 789, 643, 647, 649, 650, 661, 670, 666, 591, 672,
- 686, 685, -345, 687, 699, 700, 701, 703, 696, 704,
- 709, 705, 40, 41, 83, 50, 710, 51, 52, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 9, 10, 713, 11, 125, 126, 127, 98, 717,
- 718, 333, -354, 619, 620, 621, 430, 734, -336, 5,
- 739, 757, 8, -336, -336, -336, -336, -336, -336, -336,
- -336, -336, -336, -336, -336, 9, 10, 741, 11, 758,
- -336, -336, 12, 333, 659, 251, 252, 431, 432, -336,
- 760, 251, 252, 766, 762, 13, 777, 768, 769, 443,
- 444, 445, 98, 349, 779, 781, 793, 800, 795, 802,
- 806, 796, 482, 483, 808, 797, 511, 805, 21, 22,
- 92, 253, 484, 89, 550, 84, 254, 549, 617, 506,
- 485, 486, 676, 548, 451, 676, -336, 591, 669, 83,
- 181, 519, 182, -62, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 698, 386, 770, 773,
- 697, 126, 127, 645, 787, 798, 397, 279, 398, 170,
- 109, 604, 347, 702, 660, 572, 497, 322, 0, 0,
- 0, 0, 84, 0, 409, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 720, 0, 0, 397, 0, 398,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 395, 0, 0, 98, 349, 771,
- 761, 0, 149, 0, 0, 145, 0, 146, 0, 147,
- 0, 0, 0, 148, 0, 129, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 395, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 349, 0, 349,
- 0, 333, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 333, 0, 430, 0, -336, 5, 0, 333, 8,
+ 632, 584, 585, 633, 125, 126, 127, 636, 569, 570,
+ 571, 572, 574, 637, 416, 650, -336, 5, 780, 638,
+ 8, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, 9, 10, 791, 11, 639, -336, -336,
+ 12, 645, 649, 295, 296, 417, 418, -336, 651, 801,
+ 652, 663, 668, 13, 40, 41, 50, 497, 51, 498,
+ 52, 98, 686, -345, 687, 688, 694, 697, 696, 700,
+ 701, 702, 704, 705, 706, 711, 21, 22, 739, 714,
+ 742, 710, 760, -354, 313, 769, 621, 622, 623, 771,
+ 734, 738, 772, 744, -336, 761, 782, 765, 781, 784,
+ 792, -44, 804, 797, 799, 800, 807, 805, 813, 810,
+ 84, 457, 811, 83, 642, 313, 92, 89, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 9, 10, 495, 11, 125, 126, 127, 552, 492, 513,
+ 551, 416, 619, -336, 5, 661, 693, 8, -336, -336,
-336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
- -336, -336, 9, 10, 0, 11, 0, -336, -336, 12,
- 0, 0, 251, 252, 431, 432, -336, 0, 0, 0,
- 0, 0, 13, 0, 0, 0, 443, 444, 445, 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, -336, 0, 430, 0, -336, 5, 0,
- -481, 8, -336, -336, -336, -336, -336, -336, -336, -336,
- -336, -336, -336, -336, 9, 10, 0, 11, 0, -336,
- -336, 12, 0, 0, 251, 252, 431, 432, -336, 0,
- 0, 0, 0, 0, 13, 0, 0, 0, 498, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 499, 0,
- 0, 0, 0, 0, 0, 0, 0, 21, 22, 0,
+ 9, 10, 553, 11, 331, -336, -336, 12, 437, 181,
+ 295, 296, 417, 418, -336, 773, 182, 698, 521, 776,
+ 13, 647, 790, 368, 429, 430, 431, 802, 84, 526,
+ 170, 98, 642, 677, 109, 606, 677, 662, 497, 329,
+ 498, 703, 483, 21, 22, 575, 510, 387, 0, 0,
+ 0, 0, 0, 0, 0, 0, 699, 0, 0, 0,
+ 0, -336, 0, 0, 0, 0, 0, 0, -62, 0,
+ 0, 0, 497, 0, 498, 0, 0, 84, 0, 0,
+ 0, 741, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 149, 774, 145, 0, 0, 0, 146, 0,
+ 147, 0, 148, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 495, 0, 0, 0, 0, 0, 0,
+ 0, 0, 764, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 313, 0, 0, 129, 0, 0,
+ 0, 0, 331, 0, 313, 0, 0, 495, 0, 0,
+ 0, 0, 313, 0, 0, 0, 0, 0, 0, 331,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ -336, 5, 0, 331, 8, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, 9, 10, 0,
+ 11, 0, -336, -336, 12, 0, 0, 295, 296, 417,
+ 418, -336, 0, 0, 0, 0, 0, 13, 0, 0,
+ 83, 429, 430, 431, 0, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 0, 0, 0,
+ 21, 22, 126, 127, 0, 0, 0, 0, 0, 0,
+ 0, 540, 0, 0, 0, 0, 0, 0, -336, 0,
+ 416, 0, -336, 5, 0, -481, 8, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, 9,
+ 10, 0, 11, 0, -336, -336, 12, 0, 0, 295,
+ 296, 417, 418, -336, 0, 0, 0, 0, 98, 13,
+ 0, 0, 0, 484, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 485, 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, -336, 0, 430, 0, -336,
- 5, 0, -448, 8, -336, -336, -336, -336, -336, -336,
- -336, -336, -336, -336, -336, -336, 9, 10, 0, 11,
- 0, -336, -336, 12, 0, 0, 251, 252, 431, 432,
- -336, 0, 430, 0, -336, 5, 13, 0, 8, -336,
+ -336, 0, 416, 0, -336, 5, 0, -448, 8, -336,
-336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
- -336, 9, 10, 0, 11, 0, -336, -336, 12, 21,
- 22, 251, 252, 431, 432, -336, 0, 0, 0, 0,
- 0, 13, 0, 0, 0, 0, 0, -336, 0, 0,
- 0, 0, 0, 0, -44, 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, -336, 0, 430, 0, -336, 5, 0, -495,
- 8, -336, -336, -336, -336, -336, -336, -336, -336, -336,
- -336, -336, -336, 9, 10, 0, 11, 0, -336, -336,
- 12, 0, 0, 251, 252, 431, 432, -336, 0, 430,
- 0, -336, 5, 13, 0, 8, -336, -336, -336, -336,
+ -336, 9, 10, 0, 11, 0, -336, -336, 12, 0,
+ 0, 295, 296, 417, 418, -336, 0, 416, 0, -336,
+ 5, 13, 0, 8, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, 9, 10, 0, 11,
+ 0, -336, -336, 12, 21, 22, 295, 296, 417, 418,
+ -336, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, -336, 0, 0, 0, 0, 0, 0, -495,
+ 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, -336, 0, 416,
+ 0, -336, 5, 0, -66, 8, -336, -336, -336, -336,
-336, -336, -336, -336, -336, -336, -336, -336, 9, 10,
- 0, 11, 0, -336, -336, 12, 21, 22, 251, 252,
- 431, 432, -336, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 0, -336, 0, 0, 0, 0, 4,
- 0, -66, 5, 6, 7, 8, 0, 0, 0, 0,
- 0, 21, 22, 0, 0, 0, 0, 0, 9, 10,
- 0, 11, 0, 0, 0, 12, 0, 0, 0, -336,
- 0, 0, 0, 0, 0, 0, -472, 0, 13, 14,
- 15, 16, 0, 0, 0, 0, 0, 17, 18, 0,
- 0, 19, -2, 4, 20, 0, 5, 6, 7, 8,
- 0, 21, 22, 0, 0, 0, 0, 0, 0, 23,
- 24, 0, 9, 10, 0, 11, 0, 0, 0, 12,
- 0, 0, 0, 0, 0, 0, -38, 0, 0, 0,
- 0, 0, 13, 14, 15, 16, 0, 0, 0, 0,
- 0, 17, 18, 0, 0, 19, 0, 0, 20, 0,
- 0, 0, 0, 0, 0, 21, 22, 0, 0, 0,
- 0, 0, 0, 23, 24
+ 0, 11, 0, -336, -336, 12, 0, 0, 295, 296,
+ 417, 418, -336, 0, 83, 0, 0, 0, 13, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 9, 10, 0, 11, 125, 126, 127, 83, 0,
+ 0, 21, 22, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 0, 0, 0, 0, -336,
+ 126, 127, 0, 0, -2, 4, -472, 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, 98, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 14, 15, 16, 0, 0,
+ 0, 0, 0, 17, 18, 0, 98, 19, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 21, 22, 0,
+ 0, 0, 0, 0, 0, 23, 24
};
static const tao_yytype_int16 tao_yycheck[] =
{
- 13, 36, 21, 22, 36, 18, 19, 36, 75, 36,
- 75, 36, 13, 2, 2, 36, 2, 36, 2, 2,
- 298, 312, 216, 440, 370, 75, 75, 75, 75, 389,
- 262, 301, 302, 596, 3, 389, 175, 244, 355, 3,
- 3, 3, 3, 78, 1, 0, 78, 691, 692, 78,
- 3, 78, 310, 78, 8, 9, 75, 78, 1, 78,
- 602, 3, 90, 707, 77, 3, 79, 80, 81, 82,
- 3, 28, 29, 390, 87, 103, 6, 19, 91, 3,
- 724, 94, 633, 341, 97, 28, 29, 3, 82, 83,
- 81, 508, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 3, 23, 24, 25,
- 26, 662, 81, 104, 86, 6, 22, 81, 81, 81,
- 81, 74, 75, 76, 77, 78, 79, 80, 81, 30,
- 31, 84, 85, 391, 86, 104, 343, 89, 680, 81,
- 104, 104, 104, 81, 89, 88, 95, 96, 101, 440,
- 74, 75, 76, 77, 78, 79, 80, 81, 49, 60,
- 84, 85, 53, 49, 65, 81, 87, 53, 69, 70,
- 86, 95, 96, 89, 3, 86, 100, 101, 76, 8,
- 9, 10, 3, 81, 13, 14, 15, 16, 3, 506,
- 329, 204, 29, 3, 23, 28, 29, 216, 8, 9,
+ 13, 36, 36, 36, 13, 18, 19, 36, 282, 36,
+ 75, 36, 75, 2, 2, 2, 215, 2, 352, 2,
+ 306, 377, 75, 426, 75, 75, 285, 286, 371, 371,
+ 75, 21, 22, 598, 243, 250, 294, 337, 3, 3,
+ 3, 3, 3, 78, 78, 78, 36, 3, 1, 78,
+ 635, 78, 3, 78, 3, 95, 96, 692, 19, 3,
+ 81, 604, 86, 321, 77, 89, 79, 80, 81, 82,
+ 426, 6, 372, 708, 87, 28, 29, 0, 91, 664,
+ 104, 94, 717, 104, 97, 75, 3, 3, 78, 724,
+ 8, 9, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 76, 23, 24, 25,
+ 26, 81, 14, 15, 323, 373, 81, 81, 81, 81,
+ 81, 28, 29, 74, 75, 76, 77, 78, 79, 80,
+ 81, 6, 81, 84, 85, 88, 86, 81, 681, 104,
+ 104, 104, 104, 76, 95, 96, 60, 89, 81, 100,
+ 101, 65, 86, 82, 83, 89, 371, 74, 75, 76,
+ 77, 78, 79, 80, 81, 81, 1, 84, 85, 3,
+ 86, 22, 29, 89, 49, 3, 87, 90, 53, 394,
+ 8, 9, 10, 86, 101, 13, 14, 15, 16, 592,
+ 103, 204, 492, 28, 29, 23, 49, 406, 86, 86,
+ 53, 89, 89, 8, 15, 16, 11, 64, 97, 98,
+ 99, 68, 777, 445, 446, 1, 415, 86, 4, 5,
+ 6, 7, 787, 447, 448, 215, 430, 431, 6, 86,
+ 795, 88, 86, 3, 20, 21, 592, 23, 251, 17,
+ 253, 27, 20, 35, 36, 37, 24, 3, 261, 449,
+ 450, 451, 48, 81, 40, 41, 42, 43, 30, 31,
+ 594, 604, 604, 49, 50, 86, 86, 53, 87, 87,
+ 56, 49, 89, 86, 264, 53, 8, 63, 64, 349,
+ 350, 351, 81, 86, 86, 71, 72, 87, 60, 67,
+ 68, 86, 282, 65, 104, 104, 86, 69, 70, 86,
+ 89, 86, 88, 87, 86, 47, 87, 297, 87, 299,
+ 300, 86, 377, 86, 377, 86, 306, 370, 86, 370,
+ 370, 86, 89, 87, 104, 370, 87, 101, 87, 87,
+ 733, 3, 322, 87, 369, 370, 369, 596, 681, 681,
+ 369, 87, 369, 58, 369, 105, 3, 104, 338, 90,
+ 624, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 426, 3, 426, 767, 90, 92, 380, 25, 26,
+ 656, 93, 31, 94, 3, 86, 86, 733, 391, 369,
+ 370, 86, 86, 91, 86, 88, 105, 377, 3, 90,
+ 87, 30, 31, 86, 90, 430, 431, 430, 431, 88,
+ 88, 430, 431, 430, 431, 430, 431, 88, 103, 103,
+ 102, 767, 51, 52, 88, 405, 103, 103, 103, 753,
+ 8, 60, 61, 88, 81, 415, 65, 88, 88, 3,
+ 69, 70, 88, 88, 86, 86, 426, 90, 86, 86,
+ 430, 431, 86, 86, 86, 3, 86, 3, 86, 86,
+ 86, 86, 102, 3, 653, 86, 86, 656, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 86, 774, 6, 76, 421, 25, 26, 508, 81, 14,
- 15, 784, 86, 17, 34, 89, 20, 64, 791, 86,
- 24, 68, 89, 60, 253, 429, 255, 256, 65, 86,
- 104, 86, 602, 262, 89, 312, 592, 312, 602, 86,
- 389, 88, 81, 104, 267, 49, 269, 8, 86, 53,
- 11, 280, 15, 16, 277, 97, 98, 99, 35, 36,
- 37, 81, 86, 67, 68, 3, 463, 464, 465, 298,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 48, 312, 459, 460, 24, 25, 26, 367,
- 368, 369, 315, 461, 462, 89, 444, 445, 87, 86,
- 81, 87, 104, 326, 104, 87, 733, 86, 86, 89,
- 680, 86, 86, 342, 594, 86, 680, 86, 8, 87,
- 87, 86, 86, 47, 86, 101, 86, 356, 388, 388,
- 388, 388, 87, 86, 622, 86, 58, 764, 87, 87,
- 87, 3, 88, 81, 87, 387, 388, 104, 387, 89,
- 387, 87, 387, 87, 31, 3, 387, 86, 387, 388,
- 1, 86, 3, 440, 105, 440, 86, 8, 9, 10,
+ 86, 484, 485, 86, 24, 25, 26, 86, 468, 469,
+ 470, 471, 472, 86, 1, 90, 3, 4, 762, 88,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 779, 23, 88, 25, 26,
+ 27, 88, 88, 30, 31, 32, 33, 34, 88, 793,
+ 66, 3, 101, 40, 513, 513, 513, 592, 513, 592,
+ 513, 81, 86, 35, 87, 103, 55, 106, 90, 3,
+ 3, 88, 86, 86, 101, 35, 63, 64, 62, 38,
+ 59, 102, 90, 102, 567, 86, 569, 570, 571, 89,
+ 102, 101, 88, 102, 81, 101, 90, 102, 101, 39,
+ 102, 88, 101, 89, 86, 102, 76, 102, 76, 102,
+ 593, 1, 90, 3, 593, 598, 16, 15, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 592, 23, 24, 25, 26, 443, 374, 397,
+ 442, 1, 567, 3, 4, 605, 671, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 444, 23, 624, 25, 26, 27, 338, 75,
+ 30, 31, 32, 33, 34, 756, 75, 675, 401, 758,
+ 40, 597, 778, 287, 44, 45, 46, 794, 671, 408,
+ 68, 81, 671, 653, 29, 528, 656, 607, 733, 263,
+ 733, 681, 371, 63, 64, 472, 394, 300, -1, -1,
+ -1, -1, -1, -1, -1, -1, 676, -1, -1, -1,
+ -1, 81, -1, -1, -1, -1, -1, -1, 88, -1,
+ -1, -1, 767, -1, 767, -1, -1, 720, -1, -1,
+ -1, 720, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 757, 757, 757, -1, -1, -1, 757, -1,
+ 757, -1, 757, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 733, -1, -1, -1, -1, -1, -1,
+ -1, -1, 742, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 777, -1, -1, 757, -1, -1,
+ -1, -1, 762, -1, 787, -1, -1, 767, -1, -1,
+ -1, -1, 795, -1, -1, -1, -1, -1, -1, 779,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
+ 3, 4, -1, 793, 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,
+ 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, 34, -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, 86, 23, 24, 25, 26, 86, 90, 3, 90,
- 92, 420, 91, 105, 750, 93, 90, 94, 3, 87,
- 429, 90, 444, 445, 88, 444, 445, 444, 445, 444,
- 445, 440, 654, 444, 445, 444, 445, 103, 103, 88,
- 86, 102, 8, 103, 103, 103, 90, 88, 88, 88,
- 88, 508, 733, 508, 88, 88, 88, 86, 3, 86,
- 81, 86, 86, 86, 86, 102, 86, 651, 86, 737,
- 654, 86, 3, 482, 483, 484, 485, 486, 3, 86,
- 3, 86, 86, 764, 86, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 498, 499, 86, 86, 508,
- 86, 88, 25, 26, 86, 86, 509, 90, 776, 88,
- 778, 88, 88, 88, 66, 3, 55, 101, 509, 90,
- 87, 86, 35, 103, 3, 3, 88, 86, 106, 86,
- 102, 101, 511, 511, 3, 511, 35, 511, 511, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 38, 23, 24, 25, 26, 81, 101,
- 62, 564, 102, 566, 567, 568, 1, 102, 3, 4,
- 59, 90, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 102, 23, 101,
- 25, 26, 27, 596, 603, 30, 31, 32, 33, 34,
- 101, 30, 31, 86, 102, 40, 102, 89, 88, 44,
- 45, 46, 81, 622, 90, 39, 89, 101, 86, 76,
- 90, 102, 51, 52, 76, 102, 412, 102, 63, 64,
- 16, 60, 61, 15, 458, 638, 65, 457, 564, 392,
- 69, 70, 651, 456, 356, 654, 81, 638, 638, 3,
- 75, 416, 75, 88, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 675, 303, 753, 755,
- 674, 25, 26, 595, 775, 790, 733, 210, 733, 68,
- 29, 525, 278, 680, 605, 486, 389, 256, -1, -1,
- -1, -1, 695, -1, 329, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 695, -1, -1, 764, -1, 764,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 733, -1, -1, 81, 737, 754,
- 739, -1, 754, -1, -1, 754, -1, 754, -1, 754,
- -1, -1, -1, 754, -1, 754, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 764, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 776, -1, 778,
- -1, 774, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 784, -1, 1, -1, 3, 4, -1, 791, 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,
+ 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, -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,
+ 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, 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,
+ 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, 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, 4, 5, 6, 7, -1, -1, -1, -1,
- -1, 63, 64, -1, -1, -1, -1, -1, 20, 21,
- -1, 23, -1, -1, -1, 27, -1, -1, -1, 81,
- -1, -1, -1, -1, -1, -1, 88, -1, 40, 41,
- 42, 43, -1, -1, -1, -1, -1, 49, 50, -1,
- -1, 53, 0, 1, 56, -1, 4, 5, 6, 7,
- -1, 63, 64, -1, -1, -1, -1, -1, -1, 71,
- 72, -1, 20, 21, -1, 23, -1, -1, -1, 27,
- -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
- -1, -1, 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, -1, 71, 72
+ -1, 23, -1, 25, 26, 27, -1, -1, 30, 31,
+ 32, 33, 34, -1, 3, -1, -1, -1, 40, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, 26, 3, -1,
+ -1, 63, 64, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, -1, -1, -1, -1, 81,
+ 25, 26, -1, -1, 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, 81, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, 42, 43, -1, -1,
+ -1, -1, -1, 49, 50, -1, 81, 53, -1, -1,
+ 56, -1, -1, -1, -1, -1, -1, 63, 64, -1,
+ -1, -1, -1, -1, -1, 71, 72
};
/* TAO_YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1719,77 +1722,78 @@ static const tao_yytype_uint16 tao_yystos[] =
437, 451, 469, 470, 125, 181, 127, 137, 199, 228,
242, 268, 309, 3, 178, 215, 136, 53, 136, 151,
153, 53, 143, 153, 154, 178, 178, 392, 81, 175,
- 178, 175, 452, 3, 118, 116, 89, 104, 139, 438,
+ 178, 175, 452, 471, 118, 116, 89, 104, 139, 438,
133, 119, 144, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 24, 25, 26, 139, 175,
202, 203, 204, 205, 206, 217, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 229, 241, 243, 267,
276, 279, 282, 285, 286, 289, 114, 111, 230, 22,
115, 112, 113, 120, 364, 121, 390, 122, 139, 425,
- 425, 117, 434, 123, 124, 87, 471, 86, 175, 185,
+ 425, 117, 434, 123, 124, 87, 474, 86, 175, 185,
217, 220, 221, 222, 223, 224, 282, 286, 3, 178,
200, 202, 178, 178, 178, 178, 139, 178, 139, 148,
- 178, 178, 368, 178, 176, 76, 81, 76, 3, 438,
- 457, 86, 86, 48, 155, 439, 89, 444, 87, 86,
- 87, 8, 11, 8, 9, 280, 152, 90, 103, 104,
- 104, 86, 86, 87, 244, 86, 86, 86, 86, 87,
- 86, 87, 401, 86, 426, 419, 428, 86, 87, 86,
- 86, 30, 31, 60, 65, 69, 70, 297, 298, 303,
- 381, 383, 384, 467, 472, 474, 480, 182, 128, 201,
- 269, 310, 87, 89, 370, 393, 178, 177, 453, 370,
- 140, 6, 17, 20, 24, 49, 53, 67, 68, 432,
- 443, 175, 445, 447, 134, 145, 8, 104, 47, 156,
- 277, 283, 287, 231, 101, 365, 402, 156, 87, 87,
- 435, 299, 304, 19, 175, 382, 58, 385, 175, 447,
- 481, 175, 481, 477, 475, 476, 382, 478, 88, 473,
- 479, 178, 87, 178, 208, 211, 215, 216, 290, 87,
- 87, 149, 371, 369, 89, 398, 178, 457, 172, 175,
- 3, 441, 104, 446, 162, 159, 281, 172, 74, 75,
- 76, 77, 78, 79, 80, 84, 85, 95, 96, 100,
- 101, 175, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 197, 197, 233, 235, 236, 245, 372,
- 404, 420, 429, 162, 31, 175, 204, 282, 286, 342,
- 178, 3, 3, 3, 86, 86, 86, 178, 86, 474,
- 86, 183, 129, 291, 209, 270, 311, 162, 175, 156,
- 399, 394, 454, 173, 90, 440, 3, 448, 450, 90,
- 1, 32, 33, 135, 163, 180, 198, 297, 308, 313,
- 318, 359, 360, 44, 45, 46, 146, 160, 161, 163,
- 320, 203, 195, 195, 195, 187, 92, 93, 94, 82,
- 83, 95, 96, 97, 98, 99, 278, 284, 288, 232,
- 234, 1, 202, 237, 8, 175, 217, 222, 223, 224,
- 250, 267, 51, 52, 61, 69, 70, 297, 366, 373,
- 381, 383, 386, 387, 388, 465, 466, 467, 44, 54,
- 163, 403, 405, 408, 411, 162, 159, 436, 300, 305,
- 91, 109, 105, 292, 294, 90, 3, 272, 275, 234,
- 150, 175, 156, 87, 90, 442, 103, 103, 449, 447,
- 171, 88, 167, 164, 169, 168, 170, 34, 319, 342,
- 165, 166, 321, 237, 237, 88, 86, 102, 189, 190,
- 191, 192, 192, 193, 193, 194, 194, 194, 103, 103,
- 103, 88, 235, 240, 238, 246, 175, 175, 175, 175,
- 468, 175, 468, 379, 88, 374, 375, 376, 377, 378,
- 380, 178, 178, 88, 406, 407, 421, 430, 88, 342,
- 212, 215, 184, 130, 295, 293, 210, 271, 273, 312,
- 88, 395, 455, 174, 443, 90, 86, 86, 86, 86,
- 86, 86, 314, 86, 86, 3, 86, 208, 102, 178,
- 178, 178, 104, 3, 3, 86, 86, 86, 86, 86,
- 86, 86, 409, 412, 86, 86, 88, 88, 301, 306,
- 213, 186, 187, 88, 197, 294, 211, 88, 90, 88,
- 66, 60, 381, 383, 384, 458, 460, 463, 464, 175,
- 450, 3, 322, 239, 247, 172, 101, 324, 324, 212,
- 55, 347, 90, 296, 274, 396, 175, 447, 447, 456,
- 459, 461, 462, 315, 324, 86, 87, 103, 325, 326,
- 410, 413, 302, 348, 307, 214, 106, 275, 175, 3,
- 3, 88, 460, 86, 86, 101, 333, 323, 248, 102,
- 35, 327, 330, 38, 344, 344, 344, 101, 62, 350,
- 215, 397, 334, 335, 316, 344, 1, 28, 29, 251,
- 253, 257, 259, 331, 102, 328, 345, 349, 351, 59,
- 400, 102, 35, 36, 37, 336, 339, 343, 344, 256,
- 261, 260, 249, 252, 254, 258, 342, 90, 101, 172,
- 101, 175, 102, 337, 340, 317, 86, 187, 89, 88,
- 253, 202, 263, 259, 332, 329, 346, 102, 352, 90,
- 342, 39, 353, 262, 264, 255, 211, 330, 172, 172,
- 338, 341, 354, 89, 211, 86, 102, 102, 339, 211,
- 101, 355, 76, 356, 357, 102, 90, 358, 76
+ 178, 178, 368, 178, 176, 76, 81, 76, 3, 3,
+ 86, 86, 48, 155, 439, 89, 444, 87, 86, 87,
+ 8, 11, 8, 9, 280, 152, 90, 103, 104, 104,
+ 86, 86, 87, 244, 86, 86, 86, 86, 87, 86,
+ 87, 401, 86, 426, 419, 428, 86, 87, 86, 86,
+ 475, 182, 128, 201, 269, 310, 87, 89, 370, 393,
+ 178, 177, 453, 472, 140, 6, 17, 20, 24, 49,
+ 53, 67, 68, 432, 443, 175, 445, 447, 134, 145,
+ 8, 104, 47, 156, 277, 283, 287, 231, 101, 365,
+ 402, 156, 87, 87, 435, 30, 31, 60, 65, 69,
+ 70, 297, 298, 303, 381, 383, 384, 467, 477, 479,
+ 485, 178, 87, 178, 208, 211, 215, 216, 290, 87,
+ 87, 149, 371, 369, 89, 398, 178, 438, 457, 457,
+ 172, 175, 3, 441, 104, 446, 162, 159, 281, 172,
+ 74, 75, 76, 77, 78, 79, 80, 84, 85, 95,
+ 96, 100, 101, 175, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 197, 197, 233, 235, 236,
+ 245, 372, 404, 420, 429, 162, 299, 304, 19, 175,
+ 382, 58, 385, 175, 447, 486, 175, 486, 482, 480,
+ 481, 382, 483, 476, 478, 484, 183, 129, 291, 209,
+ 270, 311, 162, 175, 156, 399, 394, 454, 473, 173,
+ 90, 440, 3, 448, 450, 90, 1, 32, 33, 135,
+ 163, 180, 198, 297, 308, 313, 318, 359, 360, 44,
+ 45, 46, 146, 160, 161, 163, 320, 203, 195, 195,
+ 195, 187, 92, 93, 94, 82, 83, 95, 96, 97,
+ 98, 99, 278, 284, 288, 232, 234, 1, 202, 237,
+ 8, 175, 217, 222, 223, 224, 250, 267, 51, 52,
+ 61, 69, 70, 297, 366, 373, 381, 383, 386, 387,
+ 388, 465, 466, 467, 44, 54, 163, 403, 405, 408,
+ 411, 162, 159, 436, 31, 175, 204, 282, 286, 342,
+ 178, 3, 3, 3, 86, 86, 86, 178, 86, 88,
+ 479, 86, 91, 109, 105, 292, 294, 90, 3, 272,
+ 275, 234, 150, 175, 156, 87, 370, 90, 442, 103,
+ 103, 449, 447, 171, 88, 167, 164, 169, 168, 170,
+ 34, 319, 342, 165, 166, 321, 237, 237, 88, 86,
+ 102, 189, 190, 191, 192, 192, 193, 193, 194, 194,
+ 194, 103, 103, 103, 88, 235, 240, 238, 246, 175,
+ 175, 175, 175, 468, 175, 468, 379, 88, 374, 375,
+ 376, 377, 378, 380, 178, 178, 88, 406, 407, 421,
+ 430, 88, 300, 305, 184, 130, 295, 293, 210, 271,
+ 273, 312, 88, 395, 455, 174, 443, 90, 86, 86,
+ 86, 86, 86, 86, 314, 86, 86, 3, 86, 208,
+ 102, 178, 178, 178, 104, 3, 3, 86, 86, 86,
+ 86, 86, 86, 86, 409, 412, 86, 86, 88, 88,
+ 342, 212, 215, 186, 187, 88, 197, 294, 211, 88,
+ 90, 88, 66, 60, 381, 383, 384, 458, 460, 463,
+ 464, 175, 450, 3, 322, 239, 247, 172, 101, 324,
+ 324, 301, 306, 213, 296, 274, 396, 175, 447, 447,
+ 456, 459, 461, 462, 315, 324, 86, 87, 103, 325,
+ 326, 410, 413, 212, 55, 347, 90, 106, 275, 175,
+ 3, 3, 88, 460, 86, 86, 101, 333, 323, 248,
+ 102, 35, 327, 330, 38, 344, 344, 302, 348, 307,
+ 214, 397, 334, 335, 316, 344, 1, 28, 29, 251,
+ 253, 257, 259, 331, 102, 328, 345, 344, 101, 62,
+ 350, 215, 59, 400, 102, 35, 36, 37, 336, 339,
+ 343, 344, 256, 261, 260, 249, 252, 254, 258, 342,
+ 90, 101, 349, 351, 175, 102, 337, 340, 317, 86,
+ 187, 89, 88, 253, 202, 263, 259, 332, 329, 346,
+ 172, 101, 90, 342, 39, 353, 262, 264, 255, 211,
+ 330, 172, 102, 352, 338, 341, 354, 89, 211, 86,
+ 102, 172, 339, 211, 101, 102, 355, 76, 356, 357,
+ 102, 90, 358, 76
};
#define tao_yyerrok (tao_yyerrstatus = 0)
@@ -9494,15 +9498,119 @@ tao_yyreduce:
}
break;
+ case 542:
+
+ {
+// connector_header : IDL_CONNECTOR
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen);
+ }
+ break;
+
+ case 543:
+
+ {
+// IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen);
+ }
+ break;
+
+ case 544:
+
+ {
+// opt_template_params
+ }
+ break;
+
+ case 545:
+
+ {
+// component_inheritance_spec
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Connector *parent = 0;
+ bool so_far_so_good = true;
+
+ Identifier id ((tao_yyvsp[(3) - (7)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (7)].strval));
+ (tao_yyvsp[(3) - (7)].strval) = 0;
+
+ UTL_ScopedName sn (&id, 0);
+
+ if ((tao_yyvsp[(7) - (7)].idlist) != 0)
+ {
+ AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(7) - (7)].idlist), true);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ((tao_yyvsp[(7) - (7)].idlist));
+ so_far_so_good = false;
+ }
+
+ parent =
+ AST_Connector::narrow_from_decl (d);
+
+ if (parent == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_CONNECTOR_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+
+ (tao_yyvsp[(7) - (7)].idlist)->destroy ();
+ delete (tao_yyvsp[(7) - (7)].idlist);
+ (tao_yyvsp[(7) - (7)].idlist) = 0;
+ }
+
+ if (so_far_so_good)
+ {
+ AST_Connector *c =
+ idl_global->gen ()->create_connector (&sn,
+ parent,
+ (tao_yyvsp[(5) - (7)].plval));
+
+ (void) s->fe_add_connector (c);
+
+ // Push it on the scopes stack.
+ idl_global->scopes ().push (c);
+ }
+ }
+ break;
+
+ case 546:
+
+ {
+// connector_body " '{'
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen);
+ }
+ break;
+
case 547:
{
+// at_least_one_connector_export
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen);
+ }
+ break;
+
+ case 548:
+
+ {
+// '}
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen);
+
+ // Done with this connector - pop it off the scope stack.
+ idl_global->scopes ().pop ();
+ }
+ break;
+
+ case 552:
+
+ {
// connector_export : provides_decl
idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen);
}
break;
- case 548:
+ case 553:
{
// ';'
@@ -9510,7 +9618,7 @@ tao_yyreduce:
}
break;
- case 549:
+ case 554:
{
// | uses_decl
@@ -9518,7 +9626,7 @@ tao_yyreduce:
}
break;
- case 550:
+ case 555:
{
// ';'
@@ -9526,7 +9634,7 @@ tao_yyreduce:
}
break;
- case 551:
+ case 556:
{
// | attribute
@@ -9534,7 +9642,7 @@ tao_yyreduce:
}
break;
- case 552:
+ case 557:
{
// ';'
@@ -9542,7 +9650,7 @@ tao_yyreduce:
}
break;
- case 553:
+ case 558:
{
// | template_extended_port_decl
@@ -9550,7 +9658,7 @@ tao_yyreduce:
}
break;
- case 554:
+ case 559:
{
// ';'
@@ -9558,7 +9666,7 @@ tao_yyreduce:
}
break;
- case 555:
+ case 560:
{
// | template_extended_port_decl
@@ -9566,7 +9674,7 @@ tao_yyreduce:
}
break;
- case 556:
+ case 561:
{
// ';'
diff --git a/modules/TAO/TAO_IDL/include/idl_global.h b/modules/TAO/TAO_IDL/include/idl_global.h
index cddb7fa3dfa..7b0063ff432 100644
--- a/modules/TAO/TAO_IDL/include/idl_global.h
+++ b/modules/TAO/TAO_IDL/include/idl_global.h
@@ -169,6 +169,11 @@ public:
, PS_HomeSqSeen // '{' seen for home
, PS_HomeQsSeen // '}' seen for home
, PS_HomeBodySeen // Seen a home body
+ , PS_ConnectorSeen // Seen an CONNECTOR keyword
+ , PS_ConnectorIDSeen // Seen the connector ID
+ , PS_ConnectorSqSeen // '{' seen for connector
+ , PS_ConnectorQsSeen // '}' seen for connector
+ , PS_ConnectorBodySeen // Seen a connector body
, PS_SNListCommaSeen // Seen ',' in list of scoped names
, PS_ScopedNameSeen // Seen a complete scoped name
, PS_SN_IDSeen // Seen an identifier as part of a scoped name
diff --git a/modules/TAO/TAO_IDL/include/utl_err.h b/modules/TAO/TAO_IDL/include/utl_err.h
index 67e108b512c..33628a29f38 100644
--- a/modules/TAO/TAO_IDL/include/utl_err.h
+++ b/modules/TAO/TAO_IDL/include/utl_err.h
@@ -119,6 +119,7 @@ public:
EIDL_EVENTTYPE_EXPECTED, // We got something else..
EIDL_TMPL_IFACE_EXPECTED, // We got something else..
EIDL_PORTTYPE_EXPECTED, // We got something else..
+ EIDL_CONNECTOR_EXPECTED, // We got something else..
EIDL_NAME_CASE_ERROR, // Identifier spellings differ only in case
EIDL_NAME_CASE_WARNING, // Same as above, but only a warning
EIDL_KEYWORD_ERROR, // Case-insensitive clash with IDL keyword
diff --git a/modules/TAO/TAO_IDL/util/utl_err.cpp b/modules/TAO/TAO_IDL/util/utl_err.cpp
index eb721dc6089..6e7afcecf21 100644
--- a/modules/TAO/TAO_IDL/util/utl_err.cpp
+++ b/modules/TAO/TAO_IDL/util/utl_err.cpp
@@ -169,6 +169,8 @@ error_string (UTL_Error::ErrorCode c)
return "template interface expected: ";
case UTL_Error::EIDL_PORTTYPE_EXPECTED:
return "porttype expected: ";
+ case UTL_Error::EIDL_CONNECTOR_EXPECTED:
+ return "connector expected: ";
case UTL_Error::EIDL_EVAL_ERROR:
return "expression evaluation error: ";
case UTL_Error::EIDL_INCOMPATIBLE_TYPE:
@@ -436,6 +438,16 @@ parse_state_to_error_message (IDL_GlobalData::ParseState ps)
return "Illegal syntax following home '}' closer";
case IDL_GlobalData::PS_HomeBodySeen:
return "Illegal syntax following home body statement(s)";
+ case IDL_GlobalData::PS_ConnectorSeen:
+ return "Missing connector identifier following CONNECTOR keyword";
+ case IDL_GlobalData::PS_ConnectorIDSeen:
+ return "Missing '{' or illegal syntax following connector identifier";
+ case IDL_GlobalData::PS_ConnectorSqSeen:
+ return "Illegal syntax following connector '{' opener";
+ case IDL_GlobalData::PS_ConnectorQsSeen:
+ return "Illegal syntax following connector '}' closer";
+ case IDL_GlobalData::PS_ConnectorBodySeen:
+ return "Illegal syntax following connector body statement(s)";
case IDL_GlobalData::PS_StructForwardSeen:
return "Missing ';' following forward struct declaration";
case IDL_GlobalData::PS_UnionForwardSeen: