summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-27 14:50:25 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-27 14:50:25 +0000
commit359df19713f854ff2e95bd20b0aef72af88f544b (patch)
treedae80847dd144efaec4d1148ceffc0fa5c7f7828
parent48e23b3db3a156d28613893964c2ffa8c4b23a2d (diff)
downloadATCD-359df19713f854ff2e95bd20b0aef72af88f544b.tar.gz
ChangeLogTag: Mon Jul 27 14:46:05 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog31
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_extended_port.cpp4
-rw-r--r--modules/TAO/TAO_IDL/fe/fe_utils.cpp46
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy193
-rw-r--r--modules/TAO/TAO_IDL/fe/y.tab.cpp1222
-rw-r--r--modules/TAO/TAO_IDL/fe/y.tab.h1
-rw-r--r--modules/TAO/TAO_IDL/include/ast_component.h4
-rw-r--r--modules/TAO/TAO_IDL/include/ast_extended_port.h2
-rw-r--r--modules/TAO/TAO_IDL/include/fe_utils.h29
-rw-r--r--modules/TAO/TAO_IDL/include/idl_global.h1
-rw-r--r--modules/TAO/TAO_IDL/include/utl_err.h1
-rw-r--r--modules/TAO/TAO_IDL/include/utl_scope.h6
-rw-r--r--modules/TAO/TAO_IDL/util/utl_err.cpp4
-rw-r--r--modules/TAO/TAO_IDL/util/utl_scope.cpp28
14 files changed, 980 insertions, 592 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index 5e48bd2b82d..eedb948419a 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,16 +1,39 @@
+Mon Jul 27 14:46:05 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_extended_port.cpp:
+ * TAO_IDL/fe/fe_utils.cpp:
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.h:
+ * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/include/ast_component.h:
+ * TAO_IDL/include/ast_extended_port.h:
+ * TAO_IDL/include/fe_utils.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/include/utl_err.h:
+ * TAO_IDL/include/utl_scope.h:
+ * TAO_IDL/util/utl_err.cpp:
+ * TAO_IDL/util/utl_scope.cpp:
+
+ - Added production rules and semantic actions for extended
+ ports and mirror ports, as they appear in a component
+ (the connector versions, since connectors may be
+ parameterized, will be slightly different).
+
+ - Removed spaces in blank lines in several files.
+
Fri Jul 24 19:08:55 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/ast/ast_mirror_port.cpp:
* TAO_IDL/include/ast_mirror_port.h:
* TAO_IDL/be/be_mirror_port.cpp:
* TAO_IDL/be_include/be_mirror_port.h:
-
+
New files, defining a mirror port, which
is found in a component, and is an instantiation
of a porttype declaration, similar to an
extended port, but with all the 'uses' and
'provides' keywords interchanged.
-
+
* TAO_IDL/ast/ast_redef.cpp:
* TAO_IDL/ast/ast_component.cpp:
* TAO_IDL/ast/ast_generator.cpp:
@@ -28,7 +51,7 @@ Fri Jul 24 19:08:55 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
Fri Jul 24 17:49:30 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
- * TAO_IDL/ast/ast_consumes.cpp:
+ * TAO_IDL/ast/ast_extended_port.cpp:
* TAO_IDL/include/ast_extended_port.h:
* TAO_IDL/be/be_extended_port.cpp:
* TAO_IDL/be_include/be_extended_port.h:
@@ -37,7 +60,7 @@ Fri Jul 24 17:49:30 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
is found in a component, and is an instantiation
of a porttype declaration.
- * TAO_IDL/ast/ast_extended_port.cpp:
+ * TAO_IDL/ast/ast_consumes.cpp:
* TAO_IDL/ast/ast_porttype.cpp:
* TAO_IDL/ast/ast_redef.cpp:
* TAO_IDL/be/be_porttype.cpp:
diff --git a/modules/TAO/TAO_IDL/ast/ast_extended_port.cpp b/modules/TAO/TAO_IDL/ast/ast_extended_port.cpp
index 003d9a7e6ed..3f48634400b 100644
--- a/modules/TAO/TAO_IDL/ast/ast_extended_port.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_extended_port.cpp
@@ -53,7 +53,7 @@ AST_Extended_Port::destroy (void)
delete this->template_args_;
this->template_args_ = 0;
}
-
+
this->AST_Field::destroy ();
}
@@ -63,7 +63,7 @@ AST_Extended_Port::dump (ACE_OSTREAM_TYPE &o)
this->dump_i (o, "port ");
this->local_name ()->dump (o);
-
+
// TODO - template args
}
diff --git a/modules/TAO/TAO_IDL/fe/fe_utils.cpp b/modules/TAO/TAO_IDL/fe/fe_utils.cpp
index e25bc64ce02..ebd338096b3 100644
--- a/modules/TAO/TAO_IDL/fe/fe_utils.cpp
+++ b/modules/TAO/TAO_IDL/fe/fe_utils.cpp
@@ -4,6 +4,7 @@
#include "utl_scoped_name.h"
#include "utl_strlist.h"
+#include "utl_namelist.h"
#include "utl_identifier.h"
FE_Utils::T_Ref_Info::T_Ref_Info (void)
@@ -36,41 +37,20 @@ FE_Utils::T_Ref_Info::destroy (void)
params_ = 0;
}
}
-
-FE_Utils::Ext_Port_Description::Ext_Port_Description (void)
- : port_kind_ (PROVIDES),
- port_name_ (0),
- obj_ref_ (0),
- is_multiple_ (false)
-{
-}
-
-FE_Utils::Ext_Port_Description::Ext_Port_Description (
- Port_Kind port_kind,
- Identifier *port_name,
- T_Ref_Info *obj_ref,
- bool is_multiple)
- : port_kind_ (port_kind),
- port_name_ (port_name),
- obj_ref_ (obj_ref),
- is_multiple_ (is_multiple)
+
+FE_Utils::T_Inst_Info::T_Inst_Info (UTL_ScopedName *n,
+ UTL_NameList *args)
+ : name_ (n),
+ args_ (args)
{
}
void
-FE_Utils::Ext_Port_Description::destroy (void)
+FE_Utils::T_Inst_Info::destroy (void)
{
- if (port_name_ != 0)
- {
- port_name_->destroy ();
- delete port_name_;
- port_name_ = 0;
- }
-
- if (obj_ref_ != 0)
- {
- obj_ref_->destroy ();
- delete obj_ref_;
- obj_ref_ = 0;
- }
-}
+ // The template args are owned by the AST type.
+
+ this->name_->destroy ();
+ delete this->name_;
+ this->name_ = 0;
+} \ No newline at end of file
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy
index 21a7b86d37f..dc41f94e0a9 100644
--- a/modules/TAO/TAO_IDL/fe/idl.yy
+++ b/modules/TAO/TAO_IDL/fe/idl.yy
@@ -179,6 +179,7 @@ AST_Decl *tao_enum_constant_decl = 0;
FE_Utils::T_PARAMLIST_INFO *plval; /* List of template params */
FE_Utils::T_Ref_Info *trval; /* Template interface info */
FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */
+ FE_Utils::T_Inst_Info *tival; /* Template instantiation */
}
/*
@@ -353,6 +354,8 @@ AST_Decl *tao_enum_constant_decl = 0;
%type <rlval> template_inheritance_spec
%type <thval> template_interface_header
+
+%type <tival> template_inst
%%
/*
@@ -6322,10 +6325,194 @@ extended_port_decl
: IDL_PORT template_inst IDENTIFIER
{
// extended_port_decl : IDL_PORT template_inst IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ($2->name_, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ($2->name_);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Extended_Port *ep =
+ idl_global->gen ()->create_extended_port (
+ &sn,
+ pt,
+ $2->args_);
+
+ (void) s->fe_add_extended_port (ep);
+ }
+
+ $2->destroy ();
+ delete $2;
+ $2 = 0;
}
| IDL_PORT scoped_name IDENTIFIER
{
-// | IDL_PORT scoped_name IDENTIFIER
+// extended_port_decl : IDL_PORT scoped_name IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ($2, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ($2);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Extended_Port *ep =
+ idl_global->gen ()->create_extended_port (
+ &sn,
+ pt,
+ 0);
+
+ (void) s->fe_add_extended_port (ep);
+ }
+
+ $2->destroy ();
+ delete $2;
+ $2 = 0;
+ }
+ | IDL_MIRRORPORT template_inst IDENTIFIER
+ {
+// | IDL_MIRRORPORT template_inst IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ($2->name_, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ($2->name_);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Mirror_Port *mp =
+ idl_global->gen ()->create_mirror_port (
+ &sn,
+ pt,
+ $2->args_);
+
+ (void) s->fe_add_mirror_port (mp);
+ }
+
+ $2->destroy ();
+ delete $2;
+ $2 = 0;
+ }
+ | IDL_MIRRORPORT scoped_name IDENTIFIER
+ {
+// | IDL_MIRRORPORT scoped_name IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ($2, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ($2);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Mirror_Port *mp =
+ idl_global->gen ()->create_mirror_port (
+ &sn,
+ pt,
+ 0);
+
+ (void) s->fe_add_mirror_port (mp);
+ }
+
+ $2->destroy ();
+ delete $2;
+ $2 = 0;
}
;
@@ -6333,6 +6520,10 @@ template_inst
: scoped_name '<' at_least_one_scoped_name '>'
{
// template_inst : scoped_name '<' at_least_one_scoped_name '>'
+ ACE_NEW_RETURN ($<tival>$,
+ FE_Utils::T_Inst_Info ($1,
+ $3),
+ 1);
}
;
diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp
index 62f5a7c9aab..3c4b0aafbef 100644
--- a/modules/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp
@@ -368,6 +368,7 @@ typedef union TAO_YYSTYPE
FE_Utils::T_PARAMLIST_INFO *plval; /* List of template params */
FE_Utils::T_Ref_Info *trval; /* Template interface info */
FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */
+ FE_Utils::T_Inst_Info *tival; /* Template instantiation */
}
/* Line 187 of yacc.c. */
@@ -598,16 +599,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 1280
+#define TAO_YYLAST 1249
/* TAO_YYNTOKENS -- Number of terminals. */
#define TAO_YYNTOKENS 107
/* TAO_YYNNTS -- Number of nonterminals. */
#define TAO_YYNNTS 359
/* TAO_YYNRULES -- Number of rules. */
-#define TAO_YYNRULES 534
+#define TAO_YYNRULES 536
/* TAO_YYNRULES -- Number of states. */
-#define TAO_YYNSTATES 764
+#define TAO_YYNSTATES 769
/* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */
#define TAO_YYUNDEFTOK 2
@@ -714,7 +715,7 @@ static const tao_yytype_uint16 tao_yyprhs[] =
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
+ 1337, 1339, 1343, 1347, 1351, 1355, 1359
};
/* TAO_YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -855,66 +856,67 @@ static const tao_yytype_int16 tao_yyrhs[] =
-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
+ -1, 70, 465, 3, -1, 70, 174, 3, -1, 174,
+ 104, 171, 103, -1
};
/* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */
static const tao_yytype_uint16 tao_yyrline[] =
{
- 0, 361, 361, 364, 365, 370, 369, 380, 379, 390,
- 389, 400, 399, 410, 409, 420, 419, 430, 429, 440,
- 439, 450, 449, 460, 459, 470, 469, 480, 479, 490,
- 489, 500, 499, 513, 518, 544, 549, 512, 565, 566,
- 571, 610, 615, 570, 633, 632, 646, 684, 715, 749,
- 748, 760, 767, 768, 769, 770, 774, 785, 790, 834,
- 839, 789, 868, 907, 912, 866, 931, 929, 969, 968,
- 982, 988, 995, 1002, 1009, 1035, 1062, 1127, 1128, 1132,
- 1133, 1134, 1139, 1145, 1154, 1155, 1160, 1159, 1170, 1169,
- 1180, 1179, 1190, 1189, 1200, 1199, 1210, 1209, 1220, 1219,
- 1230, 1229, 1243, 1256, 1254, 1284, 1291, 1302, 1301, 1329,
- 1327, 1354, 1366, 1412, 1440, 1471, 1476, 1481, 1486, 1470,
- 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1557, 1562, 1637,
- 1639, 1641, 1642, 1656, 1657, 1671, 1672, 1685, 1686, 1696,
- 1709, 1710, 1720, 1733, 1734, 1744, 1754, 1767, 1768, 1778,
- 1788, 1801, 1836, 1837, 1846, 1851, 1858, 1866, 1871, 1876,
- 1882, 1887, 1892, 1900, 1972, 1971, 1981, 1986, 1991, 1996,
- 2023, 2032, 2031, 2102, 2103, 2107, 2115, 2116, 2144, 2145,
- 2146, 2147, 2148, 2149, 2150, 2151, 2155, 2156, 2157, 2161,
- 2162, 2163, 2167, 2168, 2172, 2185, 2183, 2213, 2220, 2221,
- 2225, 2238, 2236, 2266, 2273, 2290, 2309, 2310, 2314, 2319,
- 2324, 2332, 2337, 2342, 2350, 2355, 2360, 2368, 2382, 2387,
- 2395, 2403, 2411, 2419, 2428, 2427, 2443, 2477, 2482, 2442,
- 2501, 2504, 2505, 2509, 2509, 2519, 2524, 2518, 2587, 2586,
- 2601, 2600, 2615, 2620, 2625, 2630, 2677, 2682, 2614, 2706,
- 2714, 2728, 2738, 2746, 2747, 2855, 2858, 2859, 2864, 2869,
- 2863, 2905, 2904, 2918, 2929, 2951, 2959, 2958, 2974, 2979,
- 2973, 2996, 2995, 3048, 3072, 3097, 3102, 3135, 3140, 3096,
- 3166, 3171, 3169, 3176, 3180, 3217, 3222, 3215, 3289, 3344,
- 3354, 3343, 3369, 3374, 3367, 3415, 3441, 3451, 3456, 3449,
- 3486, 3511, 3520, 3519, 3555, 3566, 3588, 3596, 3601, 3595,
- 3638, 3639, 3644, 3649, 3654, 3659, 3643, 3728, 3733, 3738,
- 3743, 3727, 3821, 3826, 3856, 3861, 3820, 3879, 3884, 3937,
- 3942, 3877, 3979, 3985, 3992, 3999, 4000, 4012, 4018, 4060,
- 4011, 4082, 4081, 4092, 4091, 4104, 4109, 4107, 4114, 4119,
- 4124, 4118, 4165, 4164, 4175, 4174, 4187, 4192, 4190, 4197,
- 4202, 4207, 4201, 4254, 4262, 4263, 4264, 4352, 4357, 4362,
- 4371, 4376, 4370, 4388, 4396, 4401, 4395, 4413, 4421, 4426,
- 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, 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
+ 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, 516, 521, 547, 552, 515, 568, 569,
+ 574, 613, 618, 573, 636, 635, 649, 687, 718, 752,
+ 751, 763, 770, 771, 772, 773, 777, 788, 793, 837,
+ 842, 792, 871, 910, 915, 869, 934, 932, 972, 971,
+ 985, 991, 998, 1005, 1012, 1038, 1065, 1130, 1131, 1135,
+ 1136, 1137, 1142, 1148, 1157, 1158, 1163, 1162, 1173, 1172,
+ 1183, 1182, 1193, 1192, 1203, 1202, 1213, 1212, 1223, 1222,
+ 1233, 1232, 1246, 1259, 1257, 1287, 1294, 1305, 1304, 1332,
+ 1330, 1357, 1369, 1415, 1443, 1474, 1479, 1484, 1489, 1473,
+ 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1560, 1565, 1640,
+ 1642, 1644, 1645, 1659, 1660, 1674, 1675, 1688, 1689, 1699,
+ 1712, 1713, 1723, 1736, 1737, 1747, 1757, 1770, 1771, 1781,
+ 1791, 1804, 1839, 1840, 1849, 1854, 1861, 1869, 1874, 1879,
+ 1885, 1890, 1895, 1903, 1975, 1974, 1984, 1989, 1994, 1999,
+ 2026, 2035, 2034, 2105, 2106, 2110, 2118, 2119, 2147, 2148,
+ 2149, 2150, 2151, 2152, 2153, 2154, 2158, 2159, 2160, 2164,
+ 2165, 2166, 2170, 2171, 2175, 2188, 2186, 2216, 2223, 2224,
+ 2228, 2241, 2239, 2269, 2276, 2293, 2312, 2313, 2317, 2322,
+ 2327, 2335, 2340, 2345, 2353, 2358, 2363, 2371, 2385, 2390,
+ 2398, 2406, 2414, 2422, 2431, 2430, 2446, 2480, 2485, 2445,
+ 2504, 2507, 2508, 2512, 2512, 2522, 2527, 2521, 2590, 2589,
+ 2604, 2603, 2618, 2623, 2628, 2633, 2680, 2685, 2617, 2709,
+ 2717, 2731, 2741, 2749, 2750, 2858, 2861, 2862, 2867, 2872,
+ 2866, 2908, 2907, 2921, 2932, 2954, 2962, 2961, 2977, 2982,
+ 2976, 2999, 2998, 3051, 3075, 3100, 3105, 3138, 3143, 3099,
+ 3169, 3174, 3172, 3179, 3183, 3220, 3225, 3218, 3292, 3347,
+ 3357, 3346, 3372, 3377, 3370, 3418, 3444, 3454, 3459, 3452,
+ 3489, 3514, 3523, 3522, 3558, 3569, 3591, 3599, 3604, 3598,
+ 3641, 3642, 3647, 3652, 3657, 3662, 3646, 3731, 3736, 3741,
+ 3746, 3730, 3824, 3829, 3859, 3864, 3823, 3882, 3887, 3940,
+ 3945, 3880, 3982, 3988, 3995, 4002, 4003, 4015, 4021, 4063,
+ 4014, 4085, 4084, 4095, 4094, 4107, 4112, 4110, 4117, 4122,
+ 4127, 4121, 4168, 4167, 4178, 4177, 4190, 4195, 4193, 4200,
+ 4205, 4210, 4204, 4257, 4265, 4266, 4267, 4355, 4360, 4365,
+ 4374, 4379, 4373, 4391, 4399, 4404, 4398, 4416, 4424, 4429,
+ 4423, 4441, 4449, 4454, 4448, 4466, 4473, 4486, 4484, 4512,
+ 4519, 4548, 4586, 4587, 4591, 4621, 4661, 4666, 4620, 4685,
+ 4690, 4683, 4732, 4731, 4742, 4749, 4750, 4755, 4754, 4765,
+ 4764, 4775, 4774, 4785, 4784, 4795, 4794, 4805, 4804, 4815,
+ 4814, 4826, 4885, 4892, 4916, 4990, 5000, 5006, 5012, 5059,
+ 5106, 5155, 5154, 5204, 5209, 5214, 5219, 5224, 5229, 5203,
+ 5283, 5282, 5293, 5300, 5307, 5315, 5320, 5314, 5332, 5333,
+ 5337, 5339, 5338, 5349, 5348, 5363, 5399, 5361, 5433, 5469,
+ 5431, 5501, 5502, 5503, 5507, 5508, 5512, 5540, 5571, 5616,
+ 5621, 5569, 5638, 5648, 5667, 5679, 5678, 5718, 5768, 5773,
+ 5716, 5790, 5795, 5803, 5808, 5813, 5818, 5823, 5836, 5841,
+ 5846, 5855, 5877, 5882, 5854, 5899, 5917, 5922, 5916, 5945,
+ 5944, 5966, 5973, 5987, 5993, 6000, 6019, 6036, 6043, 6053,
+ 6064, 6088, 6095, 6106, 6111, 6116, 6137, 6142, 6105, 6157,
+ 6163, 6170, 6177, 6182, 6189, 6188, 6197, 6196, 6207, 6212,
+ 6266, 6271, 6325, 6373, 6421, 6469, 6520
};
#endif
@@ -1094,7 +1096,7 @@ static const tao_yytype_uint16 tao_yyr1[] =
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
+ 463, 463, 464, 464, 464, 464, 465
};
/* TAO_YYR2[TAO_YYN] -- Number of symbols composing right hand side of rule TAO_YYN. */
@@ -1153,7 +1155,7 @@ static const tao_yytype_uint8 tao_yyr2[] =
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
+ 1, 3, 3, 3, 3, 3, 4
};
/* TAO_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1203,41 +1205,41 @@ static const tao_yytype_uint16 tao_yydefact[] =
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, 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
+ 252, 244, 253, 0, 0, 0, 0, 427, 0, 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, 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, 535, 534, 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,
+ 536, 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]. */
@@ -1245,165 +1247,165 @@ 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, 539, 26, 27, 106, 267, 372, 28, 74,
+ 242, 349, 542, 26, 27, 106, 267, 372, 28, 74,
29, 124, 253, 30, 31, 32, 108, 268, 387, 33,
- 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,
+ 192, 294, 460, 34, 217, 35, 91, 205, 272, 36,
+ 37, 309, 388, 389, 308, 373, 475, 486, 487, 474,
+ 477, 476, 478, 470, 302, 360, 552, 325, 197, 251,
+ 97, 38, 374, 72, 241, 348, 541, 172, 593, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
375, 75, 183, 243, 413, 127, 128, 129, 130, 41,
- 287, 351, 542, 288, 629, 651, 688, 289, 290, 131,
+ 287, 351, 545, 288, 634, 656, 693, 289, 290, 131,
132, 133, 134, 135, 136, 137, 138, 139, 140, 42,
- 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,
+ 76, 43, 154, 276, 410, 339, 411, 508, 341, 414,
+ 510, 617, 509, 44, 77, 45, 225, 342, 511, 618,
+ 660, 705, 421, 680, 706, 681, 707, 741, 702, 682,
+ 708, 683, 704, 703, 739, 728, 740, 46, 47, 48,
+ 78, 244, 352, 546, 457, 547, 624, 458, 146, 273,
407, 147, 216, 310, 148, 274, 408, 149, 150, 275,
- 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
+ 409, 151, 291, 350, 453, 544, 454, 543, 623, 376,
+ 377, 471, 613, 654, 690, 378, 472, 614, 655, 692,
+ 379, 79, 245, 353, 548, 380, 563, 636, 675, 721,
+ 381, 484, 391, 488, 616, 659, 621, 641, 642, 663,
+ 686, 731, 664, 684, 730, 658, 673, 674, 698, 719,
+ 747, 699, 720, 748, 485, 700, 666, 687, 732, 671,
+ 691, 733, 716, 734, 755, 738, 749, 760, 763, 764,
+ 767, 382, 383, 52, 53, 54, 160, 278, 431, 55,
+ 195, 296, 248, 295, 343, 432, 526, 527, 529, 530,
+ 531, 524, 532, 604, 516, 605, 606, 519, 436, 437,
+ 438, 56, 162, 57, 94, 249, 358, 550, 625, 668,
+ 298, 357, 689, 233, 279, 443, 344, 444, 536, 537,
+ 445, 587, 643, 446, 588, 644, 58, 59, 60, 61,
+ 62, 236, 345, 538, 63, 64, 65, 165, 235, 66,
+ 237, 346, 539, 67, 262, 68, 168, 283, 449, 69,
+ 105, 206, 362, 305, 465, 263, 208, 265, 307, 266,
+ 364, 468, 365, 70, 99, 252, 359, 551, 629, 301,
+ 607, 630, 608, 631, 632, 609, 610, 439, 521
};
/* TAO_YYPACT[STATE-NUM] -- Index in TAO_YYTABLE of the portion describing
STATE-NUM. */
-#define TAO_YYPACT_NINF -595
+#define TAO_YYPACT_NINF -550
static const tao_yytype_int16 tao_yypact[] =
{
- -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
+ -550, 104, 1178, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, 40, 77, 31, 52, -550, 40, 40,
+ -550, 35, 35, -550, -550, -550, -550, -550, -4, -550,
+ -550, -550, -550, -550, -550, 368, -550, -550, -550, -550,
+ -550, -550, 23, -550, 110, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, 85, -550, -550, -550, 85, -550, -550,
+ -550, 103, 233, 160, 40, 552, 40, 40, 40, 40,
+ -550, -550, -550, -27, 40, 22, -550, 44, 40, -550,
+ 85, 40, 128, 134, 40, -550, -36, -550, -2, 218,
+ 136, 139, 178, -550, -550, 140, 144, 146, 153, 123,
+ -550, 133, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, 152, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, 110, -550, -550, -550, -14, -550, 147,
+ -550, 149, 168, 169, 170, -550, 174, 175, 176, 179,
+ 177, 180, 184, 186, -550, -550, -550, 187, 190, 188,
+ -550, 152, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ 192, -550, 193, -550, -550, 194, -550, 40, -550, -550,
+ -550, -550, -550, -550, -550, -550, 156, 35, -550, -550,
+ -550, -550, -550, -550, 271, -550, 181, 234, -550, -550,
+ -550, -550, -550, -550, -550, 183, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, 234, 199, 200, -550, -550,
+ -550, 40, 201, 40, 207, 213, -550, -550, -550, 212,
+ -550, 40, 198, 35, -550, -550, -550, -550, -550, -550,
+ -550, -550, 279, -550, -32, -550, -550, -550, -550, -550,
+ -550, 35, -550, 43, 43, 43, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, 204, -550, -550, -550,
+ -550, -550, -550, -550, -550, 35, 234, -550, -550, -550,
+ -550, -550, -550, 152, -550, 214, 302, 216, 976, 730,
+ 182, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, 74, 74, 74, 43, 152, -550, 220, 222, 224,
+ 78, 91, 48, -550, -550, -550, -550, -550, -550, -550,
+ -550, 421, 83, 238, 894, -550, -550, 1011, 228, -550,
+ 221, 239, 325, -550, 1093, 152, -550, 35, 234, 243,
+ 241, -550, 229, -550, 230, -550, 35, -550, -550, -550,
+ -550, -550, 246, -550, -550, -550, -550, -550, -550, -550,
+ -550, 770, -550, -550, -550, 421, 421, 247, -550, -550,
+ -550, 250, -550, -550, -550, -550, 235, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 43, 236, 237, 240,
+ 253, 254, -550, -550, -550, 336, 152, -550, -550, -550,
+ -550, -550, -550, 35, 35, 54, 35, 287, 35, 35,
+ -550, 258, -550, -550, -550, 54, -550, -550, -550, -550,
+ 40, 40, -550, 260, -550, -550, -550, 1128, 812, 261,
+ -550, 471, -550, -550, -550, -550, -550, -550, -550, 262,
+ 263, 152, -550, -550, -550, 156, -550, -550, 266, -550,
+ 267, 321, 852, -550, 273, 284, 286, 288, 289, -550,
+ 152, -550, -550, -550, -550, -550, 304, 309, 370, -550,
+ -550, -550, -550, -550, 222, 224, 78, 91, 91, 48,
+ 48, -550, -550, -550, -550, -550, -550, -550, -550, 310,
+ 40, 295, 45, 45, -550, 152, 40, 45, -550, -550,
+ 32, 395, 33, 397, 315, -550, 316, 317, 40, 327,
+ 328, 329, 331, -550, -550, -550, 332, 333, 323, 335,
+ -550, 43, 337, 43, 221, 40, 338, 330, 355, -550,
+ 382, 42, 35, -550, 302, -550, -550, -550, -550, -550,
+ -550, -550, -550, 418, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, 35, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, 349, 349, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, 54, -550, -550, 54, -550, -550, -550,
+ -550, 152, -550, 852, 40, -550, 349, 365, 369, 352,
+ 417, -550, -550, 353, 325, 35, -32, 457, 458, 375,
+ 42, 379, 381, -550, -550, -550, 372, -550, -550, -550,
+ -550, 367, 435, 433, 433, -550, -550, 152, -550, -550,
+ -550, -550, -550, -550, 40, 419, 389, 378, -550, 433,
+ 59, -550, -550, 383, -550, -550, -550, -550, 422, -550,
+ -550, -550, -550, 384, 130, 433, -550, -550, -550, -550,
+ -550, -550, -550, -550, 852, -550, 394, 386, 35, -550,
+ 433, 387, 427, 40, -550, -550, -550, -550, 388, -550,
+ -550, -550, 407, 43, 406, 408, 41, 552, 141, -550,
+ -550, -550, 152, -550, -550, -550, -550, -550, -550, 411,
+ 852, 467, -550, -550, -550, -550, -550, -550, -550, -550,
+ 40, 435, 35, 35, 409, -550, -550, -550, -550, 420,
+ 40, 430, -550, -550, 405, 415, -550, 130, 40, 424,
+ -550, -550, -550, -550, -550, 35, -550, -550, -550, 416,
+ 432, -550, -550, 426, 429, -550, -550, 446, -550
};
/* TAO_YYPGOTO[NTERM-NUM]. */
static const tao_yytype_int16 tao_yypgoto[] =
{
- -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
+ -550, -550, 191, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, 189, -550,
+ -550, 27, -550, -550, -550, 507, -550, -550, -550, -550,
+ -550, -550, -550, 511, -550, 195, -550, -550, -201, -550,
+ -550, 185, -550, -550, -242, -276, -550, -550, -550, -550,
+ -550, -550, -550, -550, -250, -550, -550, -19, -550, -550,
+ -13, -550, 7, -550, -550, -550, -550, -550, -550, -304,
+ -550, 132, 138, 131, -188, -187, -227, -140, -550, -246,
+ 11, -550, -550, -550, -24, 227, -357, -550, -550, -550,
+ 28, -550, -550, -513, -115, -550, -550, -12, -550, -50,
+ -550, -550, 469, 472, -49, -47, -46, -550, -550, -28,
+ -550, -25, -550, -550, -550, -550, 197, 269, -550, -167,
+ -550, -550, -550, -21, -550, -17, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -163, -550, -550, -550, -550,
+ -550, -162, -550, -550, -550, -550, -550, -550, -550, -31,
+ -550, -550, -550, -550, -550, -550, -550, -77, -550, -550,
+ -550, -550, -550, -550, -64, -550, -550, -550, -60, -550,
+ -550, -550, -550, -550, -550, -550, 4, -550, -550, 208,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ 13, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -549, -550, -550, -550,
+ -550, -550, -179, -550, -550, -550, -550, -550, -550, -550,
+ -550, -193, -550, -550, -445, -550, -519, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, 15, 17, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, 215, -404, 231, 242, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, 490, -550, -550,
+ -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
+ 334, -550, -550, -550, -550, 114, -550, -550, -550, -336,
+ -550, -550, 26, -550, -550, -550, -550, -550, -550, -550,
+ -550, -550, -48, -550, -550, -550, -550, -550, 154
};
/* TAO_YYTABLE[TAO_YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1413,268 +1415,260 @@ static const tao_yytype_int16 tao_yypgoto[] =
#define TAO_YYTABLE_NINF -494
static const tao_yytype_int16 tao_yytable[] =
{
- 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, 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,
+ 81, 82, 96, 98, 145, 92, 93, 141, 179, 39,
+ 142, 126, 180, 40, 143, 49, 125, 50, 144, 51,
+ 396, 311, 173, 176, 481, 177, 178, 557, 337, 338,
+ 469, 528, 598, 390, 280, 574, 577, 7, 80, 622,
+ 198, 347, 677, 80, 145, 199, 80, 141, 80, 199,
+ 142, 184, 354, 171, 143, 104, 125, 80, 144, -113,
+ 677, 182, 102, 185, 186, 187, 188, 637, 442, 678,
+ 679, 190, 306, 514, 200, 193, 218, 80, 194, 199,
+ 17, 196, -112, 7, 84, 102, 80, 678, 679, 219,
+ 164, 415, 110, 111, 164, 356, 114, 115, 116, 117,
+ 103, 17, 603, 447, 3, 88, 11, 427, -114, -273,
+ 189, 102, 191, 199, 199, 481, 95, 312, 313, 314,
+ 315, 316, 317, 318, 95, 667, 199, 319, 320, -255,
+ -74, 212, 155, 102, 213, 95, 575, 575, 321, 322,
+ 676, 214, 215, 323, 324, 404, 405, 406, 312, 313,
+ 314, 315, 316, 317, 318, 95, 701, 462, 319, 320,
+ 400, 401, 254, 181, 95, 695, 696, 697, 633, 678,
+ 679, 713, 390, 255, 102, 324, 256, 501, 502, 503,
+ 257, 393, 394, 395, 250, 80, 402, 403, 264, 170,
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,
+ 119, 120, 528, 83, 85, 258, 121, 122, 123, 259,
+ 87, 90, 497, 498, -394, 499, 500, 742, 489, 490,
+ -466, 201, 202, 260, 261, 203, 204, 751, 284, 207,
+ 286, 209, 210, 199, 303, 757, 80, 594, 299, 709,
+ 211, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 220, 303, 221, 222, 223, 481, 224, 122, 123,
+ 226, 227, 228, 95, 230, 229, 231, 627, 368, 369,
+ 628, 232, 234, 238, 240, 736, 355, 239, -467, 269,
+ 246, 271, 304, 247, 277, 270, 281, 282, 285, 423,
+ 424, 125, 417, 418, 292, 419, 420, 596, 425, 426,
+ 293, 297, 103, 427, 361, 363, 366, 428, 429, -302,
+ 145, 422, 397, 141, 95, 398, 142, 482, 399, 450,
+ 143, 483, 125, 416, 144, 619, 452, 481, 456, 455,
+ 463, 464, 466, 467, 473, 491, 492, 493, 461, 504,
+ 505, 507, -230, 506, 212, 518, 525, 264, 535, 540,
+ -325, 549, 556, 555, 145, 145, 554, 141, 141, 558,
+ 142, 142, 480, 481, 143, 143, 125, 125, 144, 144,
+ 559, 80, 560, 566, 561, 562, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 9, 10,
+ 564, 11, 121, 122, 123, 565, 567, 569, 576, 723,
+ 578, 579, 580, 581, 512, 513, 515, 517, 482, 520,
+ 522, 591, 483, 583, 584, 585, 515, 586, 589, 590,
+ 600, 615, 412, 592, 80, 595, 599, 533, 534, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 9, 10, 601, 11, 121, 122, 123, 602, 95,
+ 620, 638, -343, 480, -75, 640, 639, 102, 39, 645,
+ 648, 649, 40, 650, 49, 652, 50, 653, 51, 661,
+ 662, 665, 4, 657, 670, 5, 6, 7, 8, 672,
+ -352, 688, 744, 745, 710, 685, 694, 711, 714, 715,
+ 718, 9, 10, 722, 11, 724, 725, 286, 12, 570,
+ 571, 735, 95, 572, 573, 759, 737, 753, 762, 750,
+ 746, 13, 14, 15, 16, 582, 752, 754, 761, 766,
+ 17, 18, 768, 89, 19, 758, 86, 20, 765, 494,
+ 496, 448, 286, 611, 21, 22, 495, 392, 568, 669,
+ 451, 174, 23, 726, 175, 340, 729, 646, 597, 482,
+ 459, 430, 743, 483, 756, 80, 303, 166, 433, -36,
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,
+ 119, 120, 9, 10, 434, 11, 121, 122, 123, 553,
+ 612, 0, 651, 523, 626, 435, 300, 626, 0, 0,
+ 0, 0, 0, 0, 480, 0, 0, 0, 0, 0,
+ 0, 81, 635, 0, 0, 0, 647, 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, -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,
+ 482, 0, 0, 0, 483, 0, 0, 0, 0, 0,
+ 0, 0, 0, 95, 0, 0, 0, 0, 0, 0,
+ 0, 81, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 482, 0, 0, 0,
+ 483, 0, 0, 0, 0, 480, 0, 0, 0, 712,
+ 0, 0, 0, 0, 0, 0, 145, 0, 0, 141,
+ 81, 717, 142, 727, 0, 0, 143, 0, 125, 0,
+ 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 480, 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, 80, 384, 385, 386, 0, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 0, 0, 0, 21, 22, 122, 123, 0, 0, 0,
+ 0, 0, 0, 0, 479, 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, 95, 13, 0, 0, 80, 384, 385, 386, 0,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 0, 0, 0, 21, 22, 122, 123, 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, -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, 95, 13, 0, 0, 0, 440, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 441, 0,
+ 0, 0, 0, 0, 0, 0, 0, 21, 22, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -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,
+ 0, 0, 0, 0, 0, -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, 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, -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, 367, 0, -334, 5, 13, 0,
+ 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, -493,
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
+ 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, -2, 4,
+ 0, -64, 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, -334,
+ 0, 0, 0, 0, 0, 0, -470, 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
};
static const tao_yytype_int16 tao_yycheck[] =
{
- 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, 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,
+ 13, 13, 21, 22, 35, 18, 19, 35, 72, 2,
+ 35, 35, 72, 2, 35, 2, 35, 2, 35, 2,
+ 324, 271, 72, 72, 381, 72, 72, 472, 274, 275,
+ 366, 435, 545, 309, 235, 3, 3, 6, 3, 588,
+ 76, 283, 1, 3, 75, 81, 3, 75, 3, 81,
+ 75, 75, 294, 72, 75, 28, 75, 3, 75, 86,
+ 1, 74, 89, 76, 77, 78, 79, 616, 344, 28,
+ 29, 84, 104, 19, 76, 88, 90, 3, 91, 81,
+ 49, 94, 86, 6, 53, 89, 3, 28, 29, 103,
+ 63, 8, 9, 10, 67, 296, 13, 14, 15, 16,
+ 104, 49, 60, 345, 0, 53, 23, 65, 86, 86,
+ 83, 89, 85, 81, 81, 472, 81, 74, 75, 76,
+ 77, 78, 79, 80, 81, 644, 81, 84, 85, 88,
+ 86, 8, 22, 89, 11, 81, 104, 104, 95, 96,
+ 659, 8, 9, 100, 101, 97, 98, 99, 74, 75,
+ 76, 77, 78, 79, 80, 81, 675, 358, 84, 85,
+ 82, 83, 6, 3, 81, 35, 36, 37, 613, 28,
+ 29, 690, 448, 17, 89, 101, 20, 404, 405, 406,
+ 24, 321, 322, 323, 197, 3, 95, 96, 207, 86,
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,
+ 18, 19, 606, 14, 15, 49, 24, 25, 26, 53,
+ 15, 16, 400, 401, 86, 402, 403, 730, 385, 386,
+ 86, 3, 86, 67, 68, 86, 48, 740, 241, 89,
+ 243, 87, 86, 81, 253, 748, 3, 541, 251, 684,
+ 87, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 104, 271, 104, 86, 86, 613, 87, 25, 26,
+ 86, 86, 86, 81, 87, 86, 86, 603, 30, 31,
+ 606, 87, 86, 86, 86, 720, 295, 87, 86, 8,
+ 87, 47, 3, 89, 101, 104, 87, 87, 87, 51,
+ 52, 310, 342, 342, 87, 342, 342, 543, 60, 61,
+ 87, 89, 104, 65, 90, 3, 90, 69, 70, 105,
+ 341, 342, 92, 341, 81, 93, 341, 381, 94, 91,
+ 341, 381, 341, 342, 341, 575, 105, 684, 3, 90,
+ 87, 90, 103, 103, 88, 88, 86, 102, 357, 103,
+ 103, 88, 88, 103, 8, 58, 88, 366, 88, 88,
+ 88, 88, 31, 86, 385, 386, 90, 385, 386, 86,
+ 385, 386, 381, 720, 385, 386, 385, 386, 385, 386,
+ 86, 3, 86, 3, 86, 86, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 86, 23, 24, 25, 26, 86, 86, 102, 3, 703,
+ 3, 86, 86, 86, 423, 424, 425, 426, 472, 428,
+ 429, 88, 472, 86, 86, 86, 435, 86, 86, 86,
+ 90, 3, 1, 88, 3, 88, 88, 440, 441, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 88, 23, 24, 25, 26, 66, 81,
+ 101, 86, 35, 472, 86, 103, 87, 89, 451, 106,
+ 3, 3, 451, 88, 451, 86, 451, 86, 451, 102,
+ 35, 38, 1, 101, 55, 4, 5, 6, 7, 90,
+ 102, 59, 732, 733, 90, 102, 102, 101, 101, 62,
+ 102, 20, 21, 86, 23, 89, 88, 510, 27, 512,
+ 513, 90, 81, 516, 517, 755, 39, 102, 76, 89,
+ 101, 40, 41, 42, 43, 528, 86, 102, 102, 90,
+ 49, 50, 76, 16, 53, 101, 15, 56, 102, 397,
+ 399, 346, 545, 552, 63, 64, 398, 310, 510, 654,
+ 349, 72, 71, 706, 72, 276, 708, 624, 544, 613,
+ 353, 343, 731, 613, 747, 3, 575, 67, 343, 88,
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,
+ 18, 19, 20, 21, 343, 23, 24, 25, 26, 465,
+ 554, -1, 630, 429, 603, 343, 252, 606, -1, -1,
+ -1, -1, -1, -1, 613, -1, -1, -1, -1, -1,
+ -1, 614, 614, -1, -1, -1, 625, -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, -1, -1, 40, -1, -1,
- -1, 44, 45, 46, -1, -1, -1, -1, -1, -1,
+ 684, -1, -1, -1, 684, -1, -1, -1, -1, -1,
+ -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
+ -1, 654, 654, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 720, -1, -1, -1,
+ 720, -1, -1, -1, -1, 684, -1, -1, -1, 688,
+ -1, -1, -1, -1, -1, -1, 707, -1, -1, 707,
+ 693, 693, 707, 707, -1, -1, 707, -1, 707, -1,
+ 707, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 720, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 732, 733, -1, -1, 730, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 740, -1, -1,
+ -1, 1, -1, 3, 4, 748, 755, 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, -1, 23, -1, 25, 26, 27,
+ -1, -1, 30, 31, 32, 33, 34, -1, -1, -1,
+ -1, 81, 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, -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, 81, -1, 1, -1, 3, 4, -1,
+ 88, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, -1, 25,
+ 26, 27, -1, -1, 30, 31, 32, 33, 34, -1,
+ -1, -1, -1, 81, 40, -1, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
+ -1, -1, -1, -1, -1, -1, -1, 63, 64, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 81, -1, 1, -1, 3, 4, -1, 88, 7, 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,
+ -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,
- -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,
+ -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, -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, 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
+ 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, 0, 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, -1, -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
@@ -1723,41 +1717,41 @@ static const tao_yytype_uint16 tao_yystos[] =
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, 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
+ 223, 249, 266, 51, 52, 60, 61, 65, 69, 70,
+ 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, 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, 3, 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)
@@ -9191,20 +9185,214 @@ tao_yyreduce:
{
// extended_port_decl : IDL_PORT template_inst IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].tival)->name_, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].tival)->name_);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ((tao_yyvsp[(3) - (3)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (3)].strval));
+ (tao_yyvsp[(3) - (3)].strval) = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Extended_Port *ep =
+ idl_global->gen ()->create_extended_port (
+ &sn,
+ pt,
+ (tao_yyvsp[(2) - (3)].tival)->args_);
+
+ (void) s->fe_add_extended_port (ep);
+ }
+
+ (tao_yyvsp[(2) - (3)].tival)->destroy ();
+ delete (tao_yyvsp[(2) - (3)].tival);
+ (tao_yyvsp[(2) - (3)].tival) = 0;
}
break;
case 533:
{
-// | IDL_PORT scoped_name IDENTIFIER
+// extended_port_decl : IDL_PORT scoped_name IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].idlist), true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].idlist));
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ((tao_yyvsp[(3) - (3)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (3)].strval));
+ (tao_yyvsp[(3) - (3)].strval) = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Extended_Port *ep =
+ idl_global->gen ()->create_extended_port (
+ &sn,
+ pt,
+ 0);
+
+ (void) s->fe_add_extended_port (ep);
+ }
+
+ (tao_yyvsp[(2) - (3)].idlist)->destroy ();
+ delete (tao_yyvsp[(2) - (3)].idlist);
+ (tao_yyvsp[(2) - (3)].idlist) = 0;
}
break;
case 534:
{
+// | IDL_MIRRORPORT template_inst IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].tival)->name_, true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].tival)->name_);
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ((tao_yyvsp[(3) - (3)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (3)].strval));
+ (tao_yyvsp[(3) - (3)].strval) = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Mirror_Port *mp =
+ idl_global->gen ()->create_mirror_port (
+ &sn,
+ pt,
+ (tao_yyvsp[(2) - (3)].tival)->args_);
+
+ (void) s->fe_add_mirror_port (mp);
+ }
+
+ (tao_yyvsp[(2) - (3)].tival)->destroy ();
+ delete (tao_yyvsp[(2) - (3)].tival);
+ (tao_yyvsp[(2) - (3)].tival) = 0;
+ }
+ break;
+
+ case 535:
+
+ {
+// | IDL_MIRRORPORT scoped_name IDENTIFIER
+ idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].idlist), true);
+ AST_PortType *pt = 0;
+ bool so_far_so_good = true;
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].idlist));
+ so_far_so_good = false;
+ }
+ else
+ {
+ pt = AST_PortType::narrow_from_decl (d);
+
+ if (pt == 0)
+ {
+ idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED,
+ d);
+ so_far_so_good = false;
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ Identifier id ((tao_yyvsp[(3) - (3)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (3)].strval));
+ (tao_yyvsp[(3) - (3)].strval) = 0;
+
+ UTL_ScopedName sn (&id,
+ 0);
+
+ AST_Mirror_Port *mp =
+ idl_global->gen ()->create_mirror_port (
+ &sn,
+ pt,
+ 0);
+
+ (void) s->fe_add_mirror_port (mp);
+ }
+
+ (tao_yyvsp[(2) - (3)].idlist)->destroy ();
+ delete (tao_yyvsp[(2) - (3)].idlist);
+ (tao_yyvsp[(2) - (3)].idlist) = 0;
+ }
+ break;
+
+ case 536:
+
+ {
// template_inst : scoped_name '<' at_least_one_scoped_name '>'
+ ACE_NEW_RETURN ((tao_yyval.tival),
+ FE_Utils::T_Inst_Info ((tao_yyvsp[(1) - (4)].idlist),
+ (tao_yyvsp[(3) - (4)].nlval)),
+ 1);
}
break;
diff --git a/modules/TAO/TAO_IDL/fe/y.tab.h b/modules/TAO/TAO_IDL/fe/y.tab.h
index 819244451ae..0a760a660ff 100644
--- a/modules/TAO/TAO_IDL/fe/y.tab.h
+++ b/modules/TAO/TAO_IDL/fe/y.tab.h
@@ -254,6 +254,7 @@ typedef union TAO_YYSTYPE
FE_Utils::T_PARAMLIST_INFO *plval; /* List of template params */
FE_Utils::T_Ref_Info *trval; /* Template interface info */
FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */
+ FE_Utils::T_Inst_Info *tival; /* Template instantiation */
}
/* Line 1489 of yacc.c. */
diff --git a/modules/TAO/TAO_IDL/include/ast_component.h b/modules/TAO/TAO_IDL/include/ast_component.h
index 8ae95daca01..808a1823fc6 100644
--- a/modules/TAO/TAO_IDL/include/ast_component.h
+++ b/modules/TAO/TAO_IDL/include/ast_component.h
@@ -62,7 +62,7 @@ public:
// Visiting.
virtual int ast_accept (ast_visitor *visitor);
-
+
protected:
virtual AST_Provides *fe_add_provides (AST_Provides *p);
@@ -73,7 +73,7 @@ protected:
virtual AST_Emits *fe_add_emits (AST_Emits *p);
virtual AST_Consumes *fe_add_consumes (AST_Consumes *p);
-
+
virtual AST_Extended_Port *fe_add_extended_port (AST_Extended_Port *p);
virtual AST_Mirror_Port *fe_add_mirror_port (AST_Mirror_Port *p);
diff --git a/modules/TAO/TAO_IDL/include/ast_extended_port.h b/modules/TAO/TAO_IDL/include/ast_extended_port.h
index 1c677e91261..8d239f7be4b 100644
--- a/modules/TAO/TAO_IDL/include/ast_extended_port.h
+++ b/modules/TAO/TAO_IDL/include/ast_extended_port.h
@@ -19,7 +19,7 @@ public:
UTL_NameList *template_args);
virtual ~AST_Extended_Port (void);
-
+
AST_PortType *port_type (void) const;
UTL_NameList *template_args (void) const;
diff --git a/modules/TAO/TAO_IDL/include/fe_utils.h b/modules/TAO/TAO_IDL/include/fe_utils.h
index 39c4e66c480..3de5df8cdc7 100644
--- a/modules/TAO/TAO_IDL/include/fe_utils.h
+++ b/modules/TAO/TAO_IDL/include/fe_utils.h
@@ -10,6 +10,7 @@
class UTL_StrList;
class UTL_IdList;
typedef UTL_IdList UTL_ScopedName;
+class UTL_NameList;
struct TAO_IDL_FE_Export FE_Utils
{
@@ -34,35 +35,15 @@ struct TAO_IDL_FE_Export FE_Utils
typedef ACE_Unbounded_Queue<T_Ref_Info> T_REFLIST_INFO;
- enum Port_Kind
+ struct T_Inst_Info
{
- PROVIDES,
- USES,
- PUBLISHES,
- CONSUMES,
- EMITS,
- EXT_PROVIDES,
- EXT_USES,
- EXT_PORT
- };
-
- struct Ext_Port_Description
- {
- Port_Kind port_kind_;
- Identifier *port_name_;
- T_Ref_Info *obj_ref_;
- bool is_multiple_;
+ UTL_ScopedName *name_;
+ UTL_NameList *args_;
- Ext_Port_Description (void);
- Ext_Port_Description (Port_Kind port_kind,
- Identifier *port_name,
- T_Ref_Info *obj_ref,
- bool is_multiple = false);
+ T_Inst_Info (UTL_ScopedName *n, UTL_NameList *args);
void destroy (void);
};
-
- typedef ACE_Unbounded_Queue<Ext_Port_Description> EXT_PORTLIST_INFO;
};
#endif /* FE_UTILS_H */ \ No newline at end of file
diff --git a/modules/TAO/TAO_IDL/include/idl_global.h b/modules/TAO/TAO_IDL/include/idl_global.h
index 7247f8d7f7d..3be0a487e0a 100644
--- a/modules/TAO/TAO_IDL/include/idl_global.h
+++ b/modules/TAO/TAO_IDL/include/idl_global.h
@@ -124,6 +124,7 @@ public:
, PS_FinderDeclSeen // Seen complete finder declaration
, PS_ConsumesDeclSeen // Seen complete subscribes declaration
, PS_ExtendedPortDeclSeen // Seen extended port
+ , PS_MirrorPortDeclSeen // Seen mirror 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/include/utl_err.h b/modules/TAO/TAO_IDL/include/utl_err.h
index 83392aa3fa5..a47fd06062a 100644
--- a/modules/TAO/TAO_IDL/include/utl_err.h
+++ b/modules/TAO/TAO_IDL/include/utl_err.h
@@ -118,6 +118,7 @@ public:
EIDL_ABSTRACT_EXPECTED, // We got something else..
EIDL_EVENTTYPE_EXPECTED, // We got something else..
EIDL_TMPL_IFACE_EXPECTED, // We got something else..
+ EIDL_PORTTYPE_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/include/utl_scope.h b/modules/TAO/TAO_IDL/include/utl_scope.h
index 1c9f9defbb8..a606c65fe8d 100644
--- a/modules/TAO/TAO_IDL/include/utl_scope.h
+++ b/modules/TAO/TAO_IDL/include/utl_scope.h
@@ -125,6 +125,8 @@ class AST_Uses;
class AST_Publishes;
class AST_Emits;
class AST_Consumes;
+class AST_Extended_Port;
+class AST_Mirror_Port;
class UTL_StrList;
class UTL_NameList;
@@ -453,6 +455,10 @@ private:
virtual AST_Emits *fe_add_emits (AST_Emits *p);
virtual AST_Consumes *fe_add_consumes (AST_Consumes *p);
+
+ virtual AST_Extended_Port *fe_add_extended_port (AST_Extended_Port *ep);
+
+ virtual AST_Mirror_Port *fe_add_mirror_port (AST_Mirror_Port *mp);
};
// Active iterator for a UTL_Scope node
diff --git a/modules/TAO/TAO_IDL/util/utl_err.cpp b/modules/TAO/TAO_IDL/util/utl_err.cpp
index 493d37bc795..a9ecddc5511 100644
--- a/modules/TAO/TAO_IDL/util/utl_err.cpp
+++ b/modules/TAO/TAO_IDL/util/utl_err.cpp
@@ -167,6 +167,8 @@ error_string (UTL_Error::ErrorCode c)
return "event type expected: ";
case UTL_Error::EIDL_TMPL_IFACE_EXPECTED:
return "template interface expected: ";
+ case UTL_Error::EIDL_PORTTYPE_EXPECTED:
+ return "porttype expected: ";
case UTL_Error::EIDL_EVAL_ERROR:
return "expression evaluation error: ";
case UTL_Error::EIDL_INCOMPATIBLE_TYPE:
@@ -338,6 +340,8 @@ parse_state_to_error_message (IDL_GlobalData::ParseState ps)
return "Malformed consumes declaration";
case IDL_GlobalData::PS_ExtendedPortDeclSeen:
return "Malformed extended port declaration";
+ case IDL_GlobalData::PS_MirrorPortDeclSeen:
+ return "Malformed mirror port declaration";
case IDL_GlobalData::PS_FactoryDeclSeen:
return "Malformed factory declaration";
case IDL_GlobalData::PS_FinderDeclSeen:
diff --git a/modules/TAO/TAO_IDL/util/utl_scope.cpp b/modules/TAO/TAO_IDL/util/utl_scope.cpp
index e9fe4cd8ebd..f6dc776430b 100644
--- a/modules/TAO/TAO_IDL/util/utl_scope.cpp
+++ b/modules/TAO/TAO_IDL/util/utl_scope.cpp
@@ -1269,6 +1269,18 @@ UTL_Scope::fe_add_consumes (AST_Consumes *)
return 0;
}
+AST_Extended_Port *
+UTL_Scope::fe_add_extended_port (AST_Extended_Port *)
+{
+ return 0;
+}
+
+AST_Mirror_Port *
+UTL_Scope::fe_add_mirror_port (AST_Mirror_Port *)
+{
+ return 0;
+}
+
// This is the second pass of the front end
// It calls the public add protocol on everything in scope.
// It calls the add_xx functions of the most derived AST_Node.
@@ -1715,12 +1727,12 @@ UTL_Scope::lookup_by_name_local (Identifier *e,
}
t = (0 == d ? 0 : AST_Type::narrow_from_decl (d));
-
+
if (0 != t && full_def_only && !t->is_defined ())
{
continue;
}
-
+
return d;
}
else
@@ -1746,12 +1758,12 @@ UTL_Scope::lookup_by_name_local (Identifier *e,
AST_Module *m = AST_Module::narrow_from_decl (last_chance);
d = m->look_in_previous (e);
t = (0 == d ? 0 : AST_Type::narrow_from_decl (d));
-
+
if (0 != t && full_def_only && !t->is_defined ())
{
return 0;
}
-
+
return d;
}
else
@@ -1836,13 +1848,13 @@ UTL_Scope::lookup_by_name (UTL_ScopedName *e,
{
// A no-op unless d can inherit.
d = look_in_inherited (e, treat_as_ref);
-
+
if (0 == d)
{
// A no-op unless d can support interfaces.
d = look_in_supported (e, treat_as_ref);
}
-
+
if ((0 == d) && in_parent)
{
if (full_def_only && (0 != first_one_found))
@@ -1973,7 +1985,7 @@ UTL_Scope::lookup_by_name (UTL_ScopedName *e,
}
}
}
-
+
// OK, now return whatever we found.
return d;
}
@@ -2571,7 +2583,7 @@ UTL_Scope::destroy (void)
this->pd_decls = 0;
this->pd_decls_used = 0;
this->pd_locals_used = 0;
-
+
for (long i = this->pd_name_referenced_used; i > 0; --i)
{
Identifier *id = this->pd_name_referenced[i - 1];