From 99473451946125b2e4d2ea0bf52f9dcdc46cb30d Mon Sep 17 00:00:00 2001 From: parsons Date: Thu, 19 Nov 2009 14:26:43 +0000 Subject: ChangeLogTag: Thu Nov 19 14:23:09 UTC 2009 Jeff Parsons --- modules/TAO/ChangeLog | 11 + modules/TAO/TAO_IDL/ast/ast_expression.cpp | 16 +- modules/TAO/TAO_IDL/fe/idl.yy | 808 +----- modules/TAO/TAO_IDL/fe/y.tab.cpp | 3722 ++++++++++++---------------- 4 files changed, 1644 insertions(+), 2913 deletions(-) diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog index 42e84e3bc54..5fca0cf4ecc 100644 --- a/modules/TAO/ChangeLog +++ b/modules/TAO/ChangeLog @@ -1,3 +1,14 @@ +Thu Nov 19 14:23:09 UTC 2009 Jeff Parsons + + * TAO_IDL/ast/ast_expression.cpp: + + Cosmetic changes. + + * TAO_IDL/fe/idl.yy: + * TAO_IDL/fe/y.tab.cpp: + + Finished first cut of production rules for revised IDL3+ grammar. + Mon Nov 16 20:22:50 UTC 2009 Jeff Parsons * TAO_IDL/fe/idl.yy: diff --git a/modules/TAO/TAO_IDL/ast/ast_expression.cpp b/modules/TAO/TAO_IDL/ast/ast_expression.cpp index 7062b35e344..a51051f5c22 100644 --- a/modules/TAO/TAO_IDL/ast/ast_expression.cpp +++ b/modules/TAO/TAO_IDL/ast/ast_expression.cpp @@ -78,10 +78,6 @@ trademarks or registered trademarks of Sun Microsystems, Inc. // FUZZ: disable check_for_streams_include #include "ace/streams.h" -ACE_RCSID (ast, - ast_expression, - "$Id$") - // Helper function to fill out the details of where this expression // is defined. void @@ -94,8 +90,6 @@ AST_Expression::fill_definition_details (void) this->pd_file_name = idl_global->filename (); } -// Constructor(s) and destructor. - // An AST_Expression denoting a symbolic name. AST_Expression::AST_Expression (UTL_ScopedName *nm) : pd_ec (EC_symbol), @@ -119,7 +113,7 @@ AST_Expression::AST_Expression (AST_Expression *v, tdef (0) { this->fill_definition_details (); - + // If we are here because one string constant has // another one as its rhs, we must copy the UTL_String // so both can be destroyed at cleanup. @@ -127,7 +121,7 @@ AST_Expression::AST_Expression (AST_Expression *v, { ACE_NEW (this->pd_ev, AST_ExprValue); - + ACE_NEW (this->pd_ev->u.strval, UTL_String (v->pd_ev->u.strval)); @@ -137,7 +131,7 @@ AST_Expression::AST_Expression (AST_Expression *v, { ACE_NEW (this->pd_ev, AST_ExprValue); - + this->pd_ev->u.wstrval = ACE::strnew (v->pd_ev->u.wstrval); this->pd_ev->et = EV_string; } @@ -150,7 +144,7 @@ AST_Expression::AST_Expression (AST_Expression *v, idl_global->err ()->coercion_error (v, t); } - + if (0 != v->pd_n) { this->pd_n = @@ -390,7 +384,7 @@ AST_Expression::AST_Expression (UTL_String *sv) ACE_NEW (this->pd_ev, AST_ExprValue); - + UTL_String *new_str = 0; ACE_NEW (new_str, UTL_String (sv)); diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy index 22eca90dff9..4cbdca8976b 100644 --- a/modules/TAO/TAO_IDL/fe/idl.yy +++ b/modules/TAO/TAO_IDL/fe/idl.yy @@ -285,7 +285,7 @@ AST_Decl *tao_enum_constant_decl = 0; %type template_type_spec sequence_type_spec string_type_spec %type struct_type enum_type switch_type_spec union_type %type array_declarator op_type_spec seq_head wstring_type_spec -%type param_type_spec connector_inst_spec type_dcl type_declarator +%type param_type_spec type_dcl type_declarator %type scoped_name interface_type component_inheritance_spec %type home_inheritance_spec primary_key_spec @@ -343,20 +343,8 @@ AST_Decl *tao_enum_constant_decl = 0; %type formal_parameter %type formal_parameters at_least_one_formal_parameter -%type opt_template_params %type formal_parameter_name - -%type template_ref - -%type template_refs at_least_one_template_ref -%type template_inheritance_spec - -%type template_interface_header - -%type template_inst - -%type template_ref_decl %% /* @@ -371,16 +359,12 @@ definitions definition : fixed_definition - | template_module - { - } - ';' { } - | template_module_inst + | template_module ';' { } - ';' + | template_module_inst ';' { } ; @@ -452,16 +436,6 @@ fixed_definition } ';' { -// ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); - } - | template_interface_def - { -// | template_interface_def - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); - } - ';' - { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } @@ -550,69 +524,80 @@ fixed_definition module_header : IDL_MODULE - { + { // module : IDL_MODULE - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); - } - IDENTIFIER - { -// IDENTIFIER - Identifier id ($3); - ACE::strdelete ($3); - $3 = 0; - UTL_ScopedName n (&id, - 0); - AST_Module *m = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); - /* - * Make a new module and add it to the enclosing scope - */ - if (s != 0) - { - m = idl_global->gen ()->create_module (s, - &n); - (void) s->fe_add_module (m); - } - /* - * Push it on the stack - */ - idl_global->scopes ().push (m); - } - ; + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); + } + scoped_name + { +// UTL_ScopedName n ($3, 0); + AST_Module *m = 0; + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); + + /* + * Make a new module and add it to the enclosing scope + */ + if (s != 0) + { + m = idl_global->gen ()->create_module (s, + $3); + (void) s->fe_add_module (m); + } + + /* + * Push it on the stack + */ + idl_global->scopes ().push (m); + } + ; fixed_module - : module_header - { - } - '{' - { -// '{' - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); - } - at_least_one_fixed_definition - { -// at_least_one_fixed_definition - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); - } - '}' - { -// '}' - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); - /* - * Finished with this module - pop it from the scope stack. - */ - idl_global->scopes ().pop (); - } - ; + : module_header + { +// fixed_module : module_header + // Check that scoped name contains no delimitor. + } + '{' + { +// '{' + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); + } + at_least_one_fixed_definition + { +// at_least_one_fixed_definition + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); + } + '}' + { +// '}' + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); + /* + * Finished with this module - pop it from the scope stack. + */ + idl_global->scopes ().pop (); + } + ; + +template_module_header + : module_header '<' + ; template_module - : module_header + : template_module_header { +// template_module : template_module_header + // Check that scoped name contains no delimitor. } at_least_one_formal_parameter { + } + '>' + { +// '>' +// idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceQsSeen); +// $$ = $4; } '{' { @@ -655,10 +640,13 @@ template_module_ref ; template_module_inst - : IDL_MODULE + : template_module_header + { + } + at_least_one_actual_parameter '>' { } - template_inst + id { } ; @@ -2259,7 +2247,6 @@ template_type_spec : sequence_type_spec | string_type_spec | wstring_type_spec - | connector_inst_spec ; constructed_type_spec @@ -4383,7 +4370,7 @@ param_type_spec if (d == 0) { bool so_far_so_good = false; - + // We're looking for a template parameter ref, so // the scoped name would just be a simple identifier. if (n->length () == 1) @@ -4391,12 +4378,12 @@ param_type_spec AST_Template_Interface *ti = AST_Template_Interface::narrow_from_scope ( ScopeAsDecl (s)->defined_in ()); - + if (ti != 0) { so_far_so_good = ti->find_param (n->head ()->get_string ()); - + if (so_far_so_good) { d = @@ -4405,7 +4392,7 @@ param_type_spec } } } - + if (!so_far_so_good) { idl_global->err ()->lookup_error (n); @@ -5988,94 +5975,20 @@ sequence_param : IDL_SEQUENCE '<' IDENTIFIER '>' ; -template_interface_def - : template_interface_header - { -// template_interface_def : template_interface_header - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - AST_Template_Interface *i = - idl_global->gen ()->create_template_interface ( - $1->name (), - $1->inherits (), - $1->n_inherits (), - $1->inherits_flat (), - $1->n_inherits_flat (), - $1->param_info ()); - - (void) s->fe_add_interface (i); - - $1->destroy (); - delete $1; - $1 = 0; - - idl_global->scopes ().push (i); - } - '{' - { -// '{' - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); - } - exports - { -// exports -// TODO - concatenated identifiers, if they remain in the IDL3+ spec. - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); - } - '}' - { -// '}' - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); - - /* - * Done with this interface - pop it off the scopes stack - */ - idl_global->scopes ().pop (); - } - ; - -template_interface_header - : interface_decl at_least_one_formal_parameter template_inheritance_spec - { -// template_interface_header : interface_decl at_least_one_formal_parameter template_inheritance_spec - UTL_ScopedName *n = 0; - ACE_NEW_RETURN (n, - UTL_ScopedName ($1, 0), - 1); - - ACE_NEW_RETURN ($$, - FE_Template_InterfaceHeader (n, - $2, - $3), - 1); - } - ; - at_least_one_formal_parameter - : '<' - { -// at_least_one_formal_parameter : '<' - idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceSqSeen); - } - formal_parameter formal_parameters + : formal_parameter formal_parameters { // formal_parameter formal_parameters - if ($4 == 0) + if ($2 == 0) { - ACE_NEW_RETURN ($4, + ACE_NEW_RETURN ($2, FE_Utils::T_PARAMLIST_INFO, 1); } - $4->enqueue_head (*$3); - delete $3; - $3 = 0; - } - '>' - { -// '>' - idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceQsSeen); - $$ = $4; + $2->enqueue_head (*$1); + delete $1; + $1 = 0; } ; @@ -6113,7 +6026,7 @@ formal_parameter { // formal_parameter : formal_parameter_type IDENTIFIER - ACE_NEW_RETURN ($$, + ACE_NEW_RETURN ($$, FE_Utils::T_Param_Info, 1); @@ -6122,80 +6035,10 @@ formal_parameter } ; -template_inheritance_spec - : ':' at_least_one_template_ref - { -// template_inheritance_spec : ':' at_least_one_template_ref - $$ = $2; - } - | /* EMPTY */ - { -// /* EMPTY */ - $$ = 0; - } - ; - -at_least_one_template_ref - : template_ref template_refs - { -// at_least_one_template_ref : template_ref template_refs - if ($2 == 0) - { - ACE_NEW_RETURN ($2, - FE_Utils::T_REFLIST_INFO, - 1); - } - - $2->enqueue_head (*$1); - delete $1; - $1 = 0; - - $$ = $2; - } - ; - -template_refs - : template_refs ',' template_ref - { -// template_refs : template_refs ',' template_ref - if ($1 == 0) - { - ACE_NEW_RETURN ($1, - FE_Utils::T_REFLIST_INFO, - 1); - - $1->enqueue_tail (*$3); - delete $3; - $3 = 0; - - $$ = $1; - } - } - | /* EMPTY */ - { -// /* EMPTY */ - $$ = 0; - } - ; - -template_ref - : scoped_name '<' at_least_one_formal_parameter_name '>' - { -// template_ref : scoped_name '<' at_least_one_formal_parameter_name '>' - ACE_NEW_RETURN ($$, - FE_Utils::T_Ref_Info ($1, $3), - 1); - } - ; - at_least_one_formal_parameter_name : formal_parameter_name formal_parameter_names { -// at_least_one_formal_parameter_name : formal_parameter_name formal_parameter_names - ACE_NEW_RETURN ($$, - UTL_StrList ($1, - $2), - 1); + $$ = 0; } ; @@ -6251,27 +6094,6 @@ porttype_decl // IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); } - opt_template_params - { -// opt_template_params - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - Identifier id ($3); - ACE::strdelete ($3); - $3 = 0; - - UTL_ScopedName sn (&id, - 0); - - AST_PortType *p = - idl_global->gen ()->create_porttype (&sn, - $5); - - (void) s->fe_add_porttype (p); - - // Push it on the scopes stack. - idl_global->scopes ().push (p); - } '{' { // '{' @@ -6292,19 +6114,6 @@ porttype_decl } ; -opt_template_params - : at_least_one_formal_parameter - { -// opt_template_params : at_least_one_formal_parameter - $$ = $1; - } - | /* EMPTY */ - { -// | /* EMPTY */ - $$ = 0; - } - ; - at_least_one_port_export : port_export port_exports { @@ -6324,17 +6133,17 @@ port_exports ; port_export - : extended_provides_decl + : provides_decl { -// port_export : extended_provides_decl +// port_export : provides_decl } ';' { // ';' } - | extended_uses_decl + | uses_decl { -// | extended_uses_decl +// | uses_decl } ';' { @@ -6342,252 +6151,10 @@ port_export } ; -extended_provides_decl - : provides_decl - { -// extended_provides_decl : provides_decl - idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); - } - | IDL_PROVIDES template_ref IDENTIFIER - { -// | IDL_PROVIDES template_ref IDENTIFIER - idl_global->set_parse_state (IDL_GlobalData::PS_ExtProvidesDeclSeen); - bool so_far_so_good = true; - AST_Template_Interface *i = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ($2->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ($2->name_); - so_far_so_good = false; - } - else - { - i = AST_Template_Interface::narrow_from_decl (d); - - if (i == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_TMPL_IFACE_EXPECTED, - d); - so_far_so_good = false; - } - else if (! i->match_param_names ($2->params_)) - { - idl_global->err ()->mismatched_template_param ($2->name_); - so_far_so_good = false; - } - } - - if (so_far_so_good) - { - Identifier id ($3); - UTL_ScopedName sn (&id, 0); - - AST_Provides *p = - idl_global->gen ()->create_provides (&sn, i); - - (void) s->fe_add_provides (p); - } - - $2->destroy (); - delete $2; - $2 = 0; - - ACE::strdelete ($3); - $3 = 0; - } - ; - -extended_uses_decl - : uses_decl - { -// extended_uses_decl : uses_decl - idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); - } - | uses_opt_multiple template_ref IDENTIFIER - { -// | uses_opt_multiple template_ref IDENTIFIER - idl_global->set_parse_state (IDL_GlobalData::PS_ExtUsesDeclSeen); - bool so_far_so_good = true; - AST_Template_Interface *i = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ($2->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ($2->name_); - so_far_so_good = false; - } - else - { - i = AST_Template_Interface::narrow_from_decl (d); - - if (i == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_TMPL_IFACE_EXPECTED, - d); - so_far_so_good = false; - } - else if (! i->match_param_names ($2->params_)) - { - idl_global->err ()->mismatched_template_param ($2->name_); - so_far_so_good = false; - } - } - - if (so_far_so_good) - { - Identifier id ($3); - UTL_ScopedName sn (&id, 0); - - AST_Uses *u = - idl_global->gen ()->create_uses (&sn, i, $1); - - (void) s->fe_add_uses (u); - } - - $2->destroy (); - delete $2; - $2 = 0; - - ACE::strdelete ($3); - $3 = 0; - } - ; - extended_port_decl - : template_port_decl - | non_template_port_decl - ; - -template_port_decl - : IDL_PORT template_inst IDENTIFIER - { -// template_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; - AST_PortType::T_ARGLIST *args = 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; - } - else - { - args = - pt->match_arg_names ($2->args_); - - if (args == 0) - { - 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, - args); - - (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; - AST_PortType::T_ARGLIST *args = 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; - } - else - { - args = - pt->match_arg_names ($2->args_); - - if (args == 0) - { - 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, - args); - - (void) s->fe_add_mirror_port (mp); - } - - $2->destroy (); - delete $2; - $2 = 0; - } - ; - -non_template_port_decl : IDL_PORT scoped_name IDENTIFIER { -// non_template_port_decl : 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); @@ -6729,18 +6296,6 @@ non_template_port_decl } ; -template_inst - : scoped_name '<' at_least_one_actual_parameter '>' - { -// template_inst : scoped_name '<' at_least_one_actual_parameter '>' -// ACE_NEW_RETURN ($$, -// FE_Utils::T_Inst_Info ($1, -// $3), -// 1); - $$ = 0; - } - ; - at_least_one_actual_parameter : actual_parameter actual_parameters ; @@ -6751,8 +6306,17 @@ actual_parameters ; actual_parameter - : scoped_name - | expression + : expression + { +// actual_parameter : expression + // To avoid grammar conflicts with this LALR(1) parser, + // we take advantage of the fact that an expression can + // be a scoped name. At that lower level, we create an + // expression containing the scoped name, and at a + // higher lever, deduce that it's not supposede to be + // a constant and look up the type to add to the template + // arg list. + } ; connector_decl @@ -6769,10 +6333,6 @@ connector_header { // IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); - } - opt_template_params - { -// opt_template_params } component_inheritance_spec { @@ -6787,13 +6347,13 @@ connector_header UTL_ScopedName sn (&id, 0); - if ($7 != 0) + if ($5 != 0) { - AST_Decl *d = s->lookup_by_name ($7, true); + AST_Decl *d = s->lookup_by_name ($5, true); if (d == 0) { - idl_global->err ()->lookup_error ($7); + idl_global->err ()->lookup_error ($5); so_far_so_good = false; } @@ -6809,9 +6369,9 @@ connector_header so_far_so_good = false; } - $7->destroy (); - delete $7; - $7 = 0; + $5->destroy (); + delete $5; + $5 = 0; } if (so_far_so_good) @@ -6819,7 +6379,7 @@ connector_header AST_Connector *c = idl_global->gen ()->create_connector (&sn, parent, - $5); + $3); (void) s->fe_add_connector (c); @@ -6890,19 +6450,9 @@ connector_export // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } - | non_template_port_decl - { -// | non_template_port_decl - idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); - } - ';' - { -// ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); - } - | template_extended_port_decl + | extended_port_decl { -// | template_extended_port_decl +// | extended_port_decl idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } ';' @@ -6910,144 +6460,6 @@ connector_export // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -/* -If this is also legal, there will be conflicts to be resolved - | extended_port_decl ';' -*/ - ; - -template_extended_port_decl - : IDL_PORT template_ref_decl - { -// template_extended_port_decl : IDL_PORT template_ref_decl - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - if ($2 != 0) - { - Identifier id ($2->name_.c_str ()); - UTL_ScopedName sn (&id, 0); - - AST_Tmpl_Port *pt = - idl_global->gen ()->create_tmpl_port ( - &sn, - $2->type_); - - (void) s->fe_add_tmpl_port (pt); - - delete $2; - $2 = 0; - } - } - | IDL_MIRRORPORT template_ref_decl - { -// | IDL_MIRRORPORT template_ref_decl - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - if ($2 != 0) - { - Identifier id ($2->name_.c_str ()); - UTL_ScopedName sn (&id, 0); - - AST_Tmpl_Mirror_Port *pt = - idl_global->gen ()->create_tmpl_mirror_port ( - &sn, - $2->type_); - - (void) s->fe_add_tmpl_mirror_port (pt); - - delete $2; - $2 = 0; - } - } - ; - -template_ref_decl - : template_ref IDENTIFIER - { -// template_ref_decl : template_ref IDENTIFIER - $$ = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ($1->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ($1->name_); - } - else - { - AST_PortType *pt = AST_PortType::narrow_from_decl (d); - - if (pt == 0) - { - idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED, - d); - } - else - { - ACE_NEW_RETURN ($$, - FE_Utils::T_Port_Info ($2, - pt), - 1); - } - } - - $1->destroy (); - delete $1; - $1 = 0; - - ACE::strdelete ($2); - $2 = 0; - } - ; - -connector_inst_spec - : template_inst - { -// connector_inst_spec : template_inst - UTL_Scope *s = idl_global->scopes ().top_non_null (); - $$ = 0; - - AST_Decl *d = - s->lookup_by_name ($1->name_, true); - - if (d == 0) - { - idl_global->err ()->lookup_error ($1->name_); - } - else - { - AST_Connector *c = AST_Connector::narrow_from_decl (d); - - if (c == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_CONNECTOR_EXPECTED, - d); - } - else - { - AST_Template_Common::T_ARGLIST *args = - c->match_arg_names ($1->args_); - - if (args != 0) - { - Identifier id ("connector"); - UTL_ScopedName sn (&id, 0); - - $$ = - idl_global->gen ()->create_instantiated_connector ( - &sn, - c, - args); - } - } - } - - $1->destroy (); - delete $1; - $1 = 0; - } ; %% diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp index d96b6f4eabf..222daf80ed5 100644 --- a/modules/TAO/TAO_IDL/fe/y.tab.cpp +++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp @@ -599,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 1313 +#define TAO_YYLAST 1232 /* TAO_YYNTOKENS -- Number of terminals. */ #define TAO_YYNTOKENS 106 /* TAO_YYNNTS -- Number of nonterminals. */ -#define TAO_YYNNTS 407 +#define TAO_YYNNTS 384 /* TAO_YYNRULES -- Number of rules. */ -#define TAO_YYNRULES 601 +#define TAO_YYNRULES 566 /* TAO_YYNRULES -- Number of states. */ -#define TAO_YYNSTATES 868 +#define TAO_YYNSTATES 808 /* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */ #define TAO_YYUNDEFTOK 2 @@ -661,292 +661,274 @@ static const tao_yytype_uint8 tao_yytranslate[] = TAO_YYRHS. */ static const tao_yytype_uint16 tao_yyprhs[] = { - 0, 0, 3, 5, 8, 9, 11, 12, 16, 17, - 21, 24, 27, 28, 29, 33, 34, 38, 39, 43, - 44, 48, 49, 53, 54, 58, 59, 63, 64, 68, - 69, 73, 74, 78, 79, 83, 84, 88, 89, 93, - 94, 98, 99, 103, 104, 108, 109, 110, 111, 119, - 120, 121, 122, 123, 133, 136, 139, 140, 142, 145, - 146, 147, 148, 158, 159, 163, 165, 167, 168, 169, - 170, 178, 179, 183, 186, 190, 194, 195, 200, 201, - 203, 205, 207, 209, 212, 214, 215, 216, 217, 225, - 226, 227, 228, 237, 238, 243, 244, 248, 250, 251, - 254, 255, 258, 260, 263, 266, 267, 269, 271, 274, - 275, 279, 280, 284, 287, 288, 289, 293, 294, 298, - 299, 303, 304, 308, 309, 313, 314, 318, 319, 323, - 324, 328, 331, 332, 337, 338, 340, 341, 345, 346, - 351, 353, 355, 358, 361, 362, 363, 364, 365, 375, - 377, 379, 381, 383, 385, 387, 389, 391, 393, 395, - 397, 399, 403, 405, 409, 411, 415, 417, 421, 425, - 427, 431, 435, 437, 441, 445, 449, 451, 454, 457, - 460, 462, 464, 468, 470, 472, 474, 476, 478, 480, - 482, 484, 486, 488, 489, 493, 495, 497, 499, 502, - 504, 505, 509, 511, 513, 515, 517, 519, 521, 523, - 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, - 545, 547, 549, 551, 553, 556, 557, 562, 563, 565, - 567, 570, 571, 576, 577, 579, 581, 583, 585, 587, - 590, 592, 595, 599, 602, 604, 606, 609, 611, 613, - 615, 617, 619, 621, 623, 624, 628, 629, 630, 631, - 639, 642, 645, 646, 647, 650, 651, 652, 658, 659, - 663, 664, 668, 669, 670, 671, 672, 673, 674, 689, - 691, 693, 695, 697, 699, 701, 704, 707, 708, 709, - 710, 716, 717, 721, 724, 727, 728, 729, 733, 734, - 735, 741, 742, 746, 748, 750, 751, 752, 753, 754, - 764, 767, 768, 773, 774, 776, 777, 778, 785, 788, - 789, 790, 796, 797, 798, 805, 807, 809, 810, 811, - 818, 820, 822, 823, 827, 830, 833, 834, 835, 836, - 842, 844, 846, 847, 848, 849, 850, 860, 861, 862, - 863, 864, 874, 875, 876, 877, 878, 888, 889, 890, - 891, 892, 903, 905, 907, 908, 910, 912, 913, 914, - 915, 923, 924, 928, 929, 934, 937, 938, 943, 944, - 945, 946, 952, 953, 957, 958, 963, 966, 967, 972, - 973, 974, 975, 981, 983, 985, 987, 989, 991, 993, - 995, 996, 997, 1004, 1005, 1006, 1007, 1014, 1015, 1016, - 1017, 1024, 1025, 1026, 1027, 1034, 1035, 1038, 1039, 1044, - 1045, 1049, 1053, 1055, 1057, 1060, 1061, 1062, 1063, 1071, - 1072, 1073, 1080, 1081, 1085, 1086, 1089, 1090, 1091, 1095, - 1096, 1100, 1101, 1105, 1106, 1110, 1111, 1115, 1116, 1120, - 1121, 1125, 1129, 1131, 1133, 1137, 1140, 1142, 1143, 1147, - 1151, 1155, 1156, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1180, 1181, 1185, 1186, 1189, 1190, 1191, 1192, 1198, 1201, - 1202, 1204, 1205, 1209, 1210, 1214, 1215, 1216, 1223, 1224, - 1225, 1232, 1234, 1236, 1238, 1240, 1242, 1245, 1249, 1250, - 1251, 1252, 1261, 1265, 1269, 1272, 1273, 1277, 1278, 1279, - 1280, 1289, 1291, 1293, 1295, 1297, 1299, 1301, 1303, 1305, - 1307, 1309, 1312, 1314, 1319, 1320, 1321, 1322, 1330, 1334, - 1335, 1336, 1343, 1344, 1349, 1350, 1353, 1356, 1357, 1360, - 1364, 1365, 1370, 1373, 1377, 1378, 1380, 1381, 1382, 1383, - 1384, 1385, 1397, 1399, 1400, 1403, 1406, 1407, 1408, 1412, - 1413, 1417, 1419, 1423, 1425, 1429, 1431, 1433, 1437, 1441, - 1445, 1449, 1454, 1457, 1461, 1462, 1464, 1466, 1469, 1470, - 1471, 1472, 1480, 1481, 1482, 1488, 1491, 1494, 1495, 1496, - 1500, 1501, 1505, 1506, 1510, 1511, 1515, 1516, 1520, 1523, - 1526, 1529 + 0, 0, 3, 5, 8, 9, 11, 14, 17, 20, + 23, 24, 25, 29, 30, 34, 35, 39, 40, 44, + 45, 49, 50, 54, 55, 59, 60, 64, 65, 69, + 70, 74, 75, 79, 80, 84, 85, 89, 90, 94, + 95, 99, 100, 101, 102, 110, 113, 114, 115, 116, + 117, 118, 130, 133, 136, 137, 139, 142, 143, 144, + 145, 155, 156, 157, 164, 166, 168, 169, 170, 171, + 179, 180, 184, 187, 191, 195, 196, 201, 202, 204, + 206, 208, 210, 213, 215, 216, 217, 218, 226, 227, + 228, 229, 238, 239, 244, 245, 249, 251, 252, 255, + 256, 259, 261, 264, 267, 268, 270, 272, 275, 276, + 280, 281, 285, 288, 289, 290, 294, 295, 299, 300, + 304, 305, 309, 310, 314, 315, 319, 320, 324, 325, + 329, 332, 333, 338, 339, 341, 342, 346, 347, 352, + 354, 356, 359, 362, 363, 364, 365, 366, 376, 378, + 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, + 400, 404, 406, 410, 412, 416, 418, 422, 426, 428, + 432, 436, 438, 442, 446, 450, 452, 455, 458, 461, + 463, 465, 469, 471, 473, 475, 477, 479, 481, 483, + 485, 487, 489, 490, 494, 496, 498, 500, 503, 505, + 506, 510, 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, + 548, 550, 552, 555, 556, 561, 562, 564, 566, 569, + 570, 575, 576, 578, 580, 582, 584, 586, 589, 591, + 594, 598, 601, 603, 605, 608, 610, 612, 614, 616, + 618, 620, 622, 623, 627, 628, 629, 630, 638, 641, + 644, 645, 646, 649, 650, 651, 657, 658, 662, 663, + 667, 668, 669, 670, 671, 672, 673, 688, 690, 692, + 694, 696, 698, 700, 703, 706, 707, 708, 709, 715, + 716, 720, 723, 726, 727, 728, 732, 733, 734, 740, + 741, 745, 747, 749, 750, 751, 752, 753, 763, 766, + 767, 772, 773, 775, 776, 777, 784, 787, 788, 789, + 795, 796, 797, 804, 806, 808, 809, 810, 817, 819, + 821, 822, 826, 829, 832, 833, 834, 835, 841, 843, + 845, 846, 847, 848, 849, 859, 860, 861, 862, 863, + 873, 874, 875, 876, 877, 887, 888, 889, 890, 891, + 902, 904, 906, 907, 909, 911, 912, 913, 914, 922, + 923, 927, 928, 933, 936, 937, 942, 943, 944, 945, + 951, 952, 956, 957, 962, 965, 966, 971, 972, 973, + 974, 980, 982, 984, 986, 988, 990, 992, 994, 995, + 996, 1003, 1004, 1005, 1006, 1013, 1014, 1015, 1016, 1023, + 1024, 1025, 1026, 1033, 1034, 1037, 1038, 1043, 1044, 1048, + 1052, 1054, 1056, 1059, 1060, 1061, 1062, 1070, 1071, 1072, + 1079, 1080, 1084, 1085, 1088, 1089, 1090, 1094, 1095, 1099, + 1100, 1104, 1105, 1109, 1110, 1114, 1115, 1119, 1120, 1124, + 1128, 1130, 1132, 1136, 1139, 1141, 1142, 1146, 1150, 1154, + 1155, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1179, 1180, + 1184, 1185, 1188, 1189, 1190, 1191, 1197, 1200, 1201, 1203, + 1204, 1208, 1209, 1213, 1214, 1215, 1222, 1223, 1224, 1231, + 1233, 1235, 1237, 1239, 1241, 1244, 1248, 1249, 1250, 1251, + 1260, 1264, 1268, 1271, 1272, 1276, 1277, 1278, 1279, 1288, + 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 1308, + 1311, 1313, 1318, 1321, 1322, 1327, 1328, 1331, 1334, 1338, + 1339, 1341, 1342, 1343, 1344, 1345, 1355, 1358, 1361, 1362, + 1363, 1367, 1368, 1372, 1376, 1380, 1383, 1387, 1388, 1390, + 1393, 1394, 1395, 1401, 1402, 1403, 1409, 1412, 1415, 1416, + 1417, 1421, 1422, 1426, 1427, 1431, 1432 }; /* TAO_YYRHS -- A `-1'-separated list of the rules' RHS. */ static const tao_yytype_int16 tao_yyrhs[] = { - 107, 0, -1, 108, -1, 108, 109, -1, -1, 114, - -1, -1, 136, 110, 85, -1, -1, 148, 111, 85, - -1, 113, 114, -1, 113, 114, -1, -1, -1, 219, - 115, 85, -1, -1, 380, 116, 85, -1, -1, 381, - 117, 85, -1, -1, 201, 118, 85, -1, -1, 329, - 119, 85, -1, -1, 150, 120, 85, -1, -1, 455, - 121, 85, -1, -1, 132, 122, 85, -1, -1, 160, - 123, 85, -1, -1, 382, 124, 85, -1, -1, 410, - 125, 85, -1, -1, 435, 126, 85, -1, -1, 473, - 127, 85, -1, -1, 494, 128, 85, -1, -1, 1, - 129, 85, -1, -1, 5, 131, 3, -1, -1, -1, - -1, 130, 133, 86, 134, 112, 135, 87, -1, -1, - -1, -1, -1, 130, 137, 460, 138, 86, 139, 141, - 140, 87, -1, 143, 142, -1, 142, 143, -1, -1, - 114, -1, 144, 85, -1, -1, -1, -1, 72, 145, - 196, 146, 88, 470, 89, 147, 3, -1, -1, 5, - 149, 490, -1, 151, -1, 200, -1, -1, -1, -1, - 157, 152, 86, 153, 183, 154, 87, -1, -1, 6, - 156, 199, -1, 155, 158, -1, 41, 155, 158, -1, - 42, 155, 158, -1, -1, 90, 174, 159, 193, -1, - -1, 161, -1, 166, -1, 176, -1, 177, -1, 43, - 162, -1, 162, -1, -1, -1, -1, 170, 163, 86, - 164, 178, 165, 87, -1, -1, -1, -1, 42, 170, - 167, 86, 168, 183, 169, 87, -1, -1, 172, 158, - 171, 175, -1, -1, 49, 173, 199, -1, 48, -1, - -1, 47, 193, -1, -1, 42, 172, -1, 172, -1, - 172, 223, -1, 178, 179, -1, -1, 180, -1, 184, - -1, 341, 85, -1, -1, 46, 181, 258, -1, -1, - 45, 182, 258, -1, 183, 184, -1, -1, -1, 219, - 185, 85, -1, -1, 380, 186, 85, -1, -1, 381, - 187, 85, -1, -1, 201, 188, 85, -1, -1, 329, - 189, 85, -1, -1, 318, 190, 85, -1, -1, 334, - 191, 85, -1, -1, 1, 192, 85, -1, 196, 194, - -1, -1, 194, 91, 195, 196, -1, -1, 199, -1, - -1, 80, 197, 199, -1, -1, 196, 80, 198, 199, - -1, 3, -1, 155, -1, 41, 155, -1, 42, 155, - -1, -1, -1, -1, -1, 4, 202, 206, 203, 199, - 204, 92, 205, 207, -1, 238, -1, 243, -1, 244, - -1, 245, -1, 241, -1, 242, -1, 303, -1, 307, - -1, 196, -1, 208, -1, 209, -1, 210, -1, 209, - 93, 210, -1, 211, -1, 210, 94, 211, -1, 212, - -1, 211, 95, 212, -1, 213, -1, 212, 81, 213, - -1, 212, 82, 213, -1, 214, -1, 213, 96, 214, - -1, 213, 97, 214, -1, 215, -1, 214, 98, 215, - -1, 214, 99, 215, -1, 214, 100, 215, -1, 216, - -1, 96, 216, -1, 97, 216, -1, 101, 216, -1, - 196, -1, 217, -1, 102, 208, 103, -1, 73, -1, - 74, -1, 75, -1, 84, -1, 76, -1, 83, -1, - 77, -1, 78, -1, 79, -1, 208, -1, -1, 7, - 220, 221, -1, 250, -1, 264, -1, 288, -1, 40, - 236, -1, 228, -1, -1, 223, 222, 229, -1, 224, - -1, 227, -1, 225, -1, 226, -1, 196, -1, 238, - -1, 241, -1, 243, -1, 245, -1, 244, -1, 242, - -1, 246, -1, 247, -1, 297, -1, 303, -1, 307, - -1, 512, -1, 250, -1, 264, -1, 288, -1, 286, - -1, 287, -1, 232, 230, -1, -1, 230, 91, 231, - 232, -1, -1, 236, -1, 237, -1, 236, 234, -1, - -1, 234, 91, 235, 236, -1, -1, 199, -1, 311, - -1, 239, -1, 240, -1, 8, -1, 8, 8, -1, - 9, -1, 10, 8, -1, 10, 8, 8, -1, 10, - 9, -1, 11, -1, 12, -1, 8, 11, -1, 17, - -1, 13, -1, 14, -1, 15, -1, 16, -1, 18, - -1, 19, -1, -1, 20, 249, 199, -1, -1, -1, - -1, 248, 251, 86, 252, 254, 253, 87, -1, 256, - 255, -1, 255, 256, -1, -1, -1, 257, 258, -1, - -1, -1, 223, 259, 229, 260, 85, -1, -1, 1, - 261, 85, -1, -1, 21, 263, 199, -1, -1, -1, - -1, -1, -1, -1, 262, 22, 265, 102, 266, 271, - 267, 103, 268, 86, 269, 272, 270, 87, -1, 238, - -1, 243, -1, 244, -1, 245, -1, 288, -1, 196, - -1, 274, 273, -1, 273, 274, -1, -1, -1, -1, - 278, 275, 284, 276, 85, -1, -1, 1, 277, 85, - -1, 280, 279, -1, 279, 280, -1, -1, -1, 29, - 281, 90, -1, -1, -1, 28, 282, 208, 283, 90, - -1, -1, 223, 285, 232, -1, 248, -1, 262, -1, - -1, -1, -1, -1, 23, 289, 199, 290, 86, 291, - 293, 292, 87, -1, 296, 294, -1, -1, 294, 91, - 295, 296, -1, -1, 3, -1, -1, -1, 300, 91, - 298, 218, 299, 89, -1, 300, 89, -1, -1, -1, - 24, 301, 88, 302, 224, -1, -1, -1, 306, 88, - 304, 218, 305, 89, -1, 306, -1, 25, -1, -1, - -1, 310, 88, 308, 218, 309, 89, -1, 310, -1, - 26, -1, -1, 199, 312, 313, -1, 315, 314, -1, - 314, 315, -1, -1, -1, -1, 104, 316, 218, 317, - 105, -1, 319, -1, 324, -1, -1, -1, -1, -1, - 30, 320, 31, 321, 363, 322, 233, 323, 365, -1, - -1, -1, -1, -1, 31, 325, 363, 326, 233, 327, - 368, 328, 371, -1, -1, -1, -1, -1, 27, 330, - 199, 331, 86, 332, 255, 333, 87, -1, -1, -1, - -1, -1, 339, 340, 335, 3, 336, 354, 337, 365, - 338, 374, -1, 32, -1, 33, -1, -1, 363, -1, - 34, -1, -1, -1, -1, 44, 342, 3, 343, 345, - 344, 365, -1, -1, 102, 346, 103, -1, -1, 102, - 347, 348, 103, -1, 351, 349, -1, -1, 349, 91, - 350, 351, -1, -1, -1, -1, 35, 352, 363, 353, - 232, -1, -1, 102, 355, 103, -1, -1, 102, 356, - 357, 103, -1, 360, 358, -1, -1, 358, 91, 359, - 360, -1, -1, -1, -1, 364, 361, 363, 362, 232, - -1, 225, -1, 303, -1, 307, -1, 196, -1, 35, - -1, 36, -1, 37, -1, -1, -1, 38, 366, 102, - 367, 193, 103, -1, -1, -1, -1, 55, 369, 102, - 370, 193, 103, -1, -1, -1, -1, 62, 372, 102, - 373, 193, 103, -1, -1, -1, -1, 39, 375, 102, - 376, 377, 103, -1, -1, 75, 378, -1, -1, 378, - 91, 379, 75, -1, -1, 63, 196, 75, -1, 64, - 196, 75, -1, 384, -1, 383, -1, 50, 199, -1, - -1, -1, -1, 388, 385, 86, 386, 393, 387, 87, - -1, -1, -1, 50, 199, 389, 391, 390, 175, -1, - -1, 90, 392, 196, -1, -1, 393, 394, -1, -1, - -1, 402, 395, 85, -1, -1, 404, 396, 85, -1, - -1, 407, 397, 85, -1, -1, 408, 398, 85, -1, - -1, 409, 399, 85, -1, -1, 318, 400, 85, -1, - -1, 487, 401, 85, -1, 60, 403, 199, -1, 196, - -1, 19, -1, 405, 403, 199, -1, 65, 406, -1, - 58, -1, -1, 52, 196, 199, -1, 61, 196, 199, - -1, 51, 196, 199, -1, -1, 412, 411, 422, -1, - -1, -1, -1, -1, -1, -1, 56, 413, 199, 414, - 419, 415, 175, 416, 66, 417, 196, 418, 421, -1, - -1, 90, 420, 196, -1, -1, 59, 196, -1, -1, - -1, -1, 86, 423, 425, 424, 87, -1, 425, 426, - -1, -1, 184, -1, -1, 429, 427, 85, -1, -1, - 432, 428, 85, -1, -1, -1, 44, 199, 430, 345, - 431, 365, -1, -1, -1, 54, 199, 433, 345, 434, - 365, -1, 448, -1, 439, -1, 436, -1, 438, -1, - 437, -1, 53, 199, -1, 42, 53, 199, -1, -1, - -1, -1, 443, 446, 440, 86, 441, 183, 442, 87, - -1, 42, 53, 199, -1, 43, 53, 199, -1, 53, - 199, -1, -1, 158, 447, 175, -1, -1, -1, -1, - 452, 446, 449, 86, 450, 178, 451, 87, -1, 444, - -1, 445, -1, 67, -1, 20, -1, 21, -1, 53, - -1, 24, -1, 6, -1, 49, -1, 27, -1, 4, - 206, -1, 454, -1, 24, 88, 3, 89, -1, -1, - -1, -1, 459, 456, 86, 457, 183, 458, 87, -1, - 155, 460, 466, -1, -1, -1, 88, 461, 465, 463, - 462, 89, -1, -1, 463, 91, 464, 465, -1, -1, - 453, 3, -1, 90, 467, -1, -1, 469, 468, -1, - 468, 91, 469, -1, -1, 196, 88, 470, 89, -1, - 472, 471, -1, 471, 91, 472, -1, -1, 3, -1, - -1, -1, -1, -1, -1, 70, 474, 3, 475, 479, - 476, 86, 477, 480, 478, 87, -1, 460, -1, -1, - 482, 481, -1, 481, 482, -1, -1, -1, 485, 483, - 85, -1, -1, 486, 484, 85, -1, 402, -1, 60, - 469, 3, -1, 404, -1, 405, 469, 3, -1, 488, - -1, 489, -1, 68, 490, 3, -1, 69, 490, 3, - -1, 68, 196, 3, -1, 69, 196, 3, -1, 196, - 88, 491, 89, -1, 493, 492, -1, 492, 91, 493, - -1, -1, 196, -1, 207, -1, 495, 499, -1, -1, - -1, -1, 71, 496, 3, 497, 479, 498, 391, -1, - -1, -1, 86, 500, 502, 501, 87, -1, 504, 503, - -1, 503, 504, -1, -1, -1, 402, 505, 85, -1, - -1, 404, 506, 85, -1, -1, 318, 507, 85, -1, - -1, 489, 508, 85, -1, -1, 510, 509, 85, -1, - 68, 511, -1, 69, 511, -1, 469, 3, -1, 490, - -1 + 107, 0, -1, 108, -1, 108, 109, -1, -1, 112, + -1, 134, 85, -1, 147, 85, -1, 111, 112, -1, + 111, 112, -1, -1, -1, 219, 113, 85, -1, -1, + 380, 114, 85, -1, -1, 381, 115, 85, -1, -1, + 201, 116, 85, -1, -1, 329, 117, 85, -1, -1, + 150, 118, 85, -1, -1, 129, 119, 85, -1, -1, + 160, 120, 85, -1, -1, 382, 121, 85, -1, -1, + 410, 122, 85, -1, -1, 435, 123, 85, -1, -1, + 462, 124, 85, -1, -1, 476, 125, 85, -1, -1, + 1, 126, 85, -1, -1, 5, 128, 196, -1, -1, + -1, -1, 127, 130, 86, 131, 110, 132, 87, -1, + 127, 88, -1, -1, -1, -1, -1, -1, 133, 135, + 455, 136, 89, 137, 86, 138, 140, 139, 87, -1, + 142, 141, -1, 141, 142, -1, -1, 112, -1, 143, + 85, -1, -1, -1, -1, 72, 144, 196, 145, 88, + 459, 89, 146, 3, -1, -1, -1, 133, 148, 473, + 89, 149, 199, -1, 151, -1, 200, -1, -1, -1, + -1, 157, 152, 86, 153, 183, 154, 87, -1, -1, + 6, 156, 199, -1, 155, 158, -1, 41, 155, 158, + -1, 42, 155, 158, -1, -1, 90, 174, 159, 193, + -1, -1, 161, -1, 166, -1, 176, -1, 177, -1, + 43, 162, -1, 162, -1, -1, -1, -1, 170, 163, + 86, 164, 178, 165, 87, -1, -1, -1, -1, 42, + 170, 167, 86, 168, 183, 169, 87, -1, -1, 172, + 158, 171, 175, -1, -1, 49, 173, 199, -1, 48, + -1, -1, 47, 193, -1, -1, 42, 172, -1, 172, + -1, 172, 223, -1, 178, 179, -1, -1, 180, -1, + 184, -1, 341, 85, -1, -1, 46, 181, 258, -1, + -1, 45, 182, 258, -1, 183, 184, -1, -1, -1, + 219, 185, 85, -1, -1, 380, 186, 85, -1, -1, + 381, 187, 85, -1, -1, 201, 188, 85, -1, -1, + 329, 189, 85, -1, -1, 318, 190, 85, -1, -1, + 334, 191, 85, -1, -1, 1, 192, 85, -1, 196, + 194, -1, -1, 194, 91, 195, 196, -1, -1, 199, + -1, -1, 80, 197, 199, -1, -1, 196, 80, 198, + 199, -1, 3, -1, 155, -1, 41, 155, -1, 42, + 155, -1, -1, -1, -1, -1, 4, 202, 206, 203, + 199, 204, 92, 205, 207, -1, 238, -1, 243, -1, + 244, -1, 245, -1, 241, -1, 242, -1, 303, -1, + 307, -1, 196, -1, 208, -1, 209, -1, 210, -1, + 209, 93, 210, -1, 211, -1, 210, 94, 211, -1, + 212, -1, 211, 95, 212, -1, 213, -1, 212, 81, + 213, -1, 212, 82, 213, -1, 214, -1, 213, 96, + 214, -1, 213, 97, 214, -1, 215, -1, 214, 98, + 215, -1, 214, 99, 215, -1, 214, 100, 215, -1, + 216, -1, 96, 216, -1, 97, 216, -1, 101, 216, + -1, 196, -1, 217, -1, 102, 208, 103, -1, 73, + -1, 74, -1, 75, -1, 84, -1, 76, -1, 83, + -1, 77, -1, 78, -1, 79, -1, 208, -1, -1, + 7, 220, 221, -1, 250, -1, 264, -1, 288, -1, + 40, 236, -1, 228, -1, -1, 223, 222, 229, -1, + 224, -1, 227, -1, 225, -1, 226, -1, 196, -1, + 238, -1, 241, -1, 243, -1, 245, -1, 244, -1, + 242, -1, 246, -1, 247, -1, 297, -1, 303, -1, + 307, -1, 250, -1, 264, -1, 288, -1, 286, -1, + 287, -1, 232, 230, -1, -1, 230, 91, 231, 232, + -1, -1, 236, -1, 237, -1, 236, 234, -1, -1, + 234, 91, 235, 236, -1, -1, 199, -1, 311, -1, + 239, -1, 240, -1, 8, -1, 8, 8, -1, 9, + -1, 10, 8, -1, 10, 8, 8, -1, 10, 9, + -1, 11, -1, 12, -1, 8, 11, -1, 17, -1, + 13, -1, 14, -1, 15, -1, 16, -1, 18, -1, + 19, -1, -1, 20, 249, 199, -1, -1, -1, -1, + 248, 251, 86, 252, 254, 253, 87, -1, 256, 255, + -1, 255, 256, -1, -1, -1, 257, 258, -1, -1, + -1, 223, 259, 229, 260, 85, -1, -1, 1, 261, + 85, -1, -1, 21, 263, 199, -1, -1, -1, -1, + -1, -1, -1, 262, 22, 265, 102, 266, 271, 267, + 103, 268, 86, 269, 272, 270, 87, -1, 238, -1, + 243, -1, 244, -1, 245, -1, 288, -1, 196, -1, + 274, 273, -1, 273, 274, -1, -1, -1, -1, 278, + 275, 284, 276, 85, -1, -1, 1, 277, 85, -1, + 280, 279, -1, 279, 280, -1, -1, -1, 29, 281, + 90, -1, -1, -1, 28, 282, 208, 283, 90, -1, + -1, 223, 285, 232, -1, 248, -1, 262, -1, -1, + -1, -1, -1, 23, 289, 199, 290, 86, 291, 293, + 292, 87, -1, 296, 294, -1, -1, 294, 91, 295, + 296, -1, -1, 3, -1, -1, -1, 300, 91, 298, + 218, 299, 89, -1, 300, 89, -1, -1, -1, 24, + 301, 88, 302, 224, -1, -1, -1, 306, 88, 304, + 218, 305, 89, -1, 306, -1, 25, -1, -1, -1, + 310, 88, 308, 218, 309, 89, -1, 310, -1, 26, + -1, -1, 199, 312, 313, -1, 315, 314, -1, 314, + 315, -1, -1, -1, -1, 104, 316, 218, 317, 105, + -1, 319, -1, 324, -1, -1, -1, -1, -1, 30, + 320, 31, 321, 363, 322, 233, 323, 365, -1, -1, + -1, -1, -1, 31, 325, 363, 326, 233, 327, 368, + 328, 371, -1, -1, -1, -1, -1, 27, 330, 199, + 331, 86, 332, 255, 333, 87, -1, -1, -1, -1, + -1, 339, 340, 335, 3, 336, 354, 337, 365, 338, + 374, -1, 32, -1, 33, -1, -1, 363, -1, 34, + -1, -1, -1, -1, 44, 342, 3, 343, 345, 344, + 365, -1, -1, 102, 346, 103, -1, -1, 102, 347, + 348, 103, -1, 351, 349, -1, -1, 349, 91, 350, + 351, -1, -1, -1, -1, 35, 352, 363, 353, 232, + -1, -1, 102, 355, 103, -1, -1, 102, 356, 357, + 103, -1, 360, 358, -1, -1, 358, 91, 359, 360, + -1, -1, -1, -1, 364, 361, 363, 362, 232, -1, + 225, -1, 303, -1, 307, -1, 196, -1, 35, -1, + 36, -1, 37, -1, -1, -1, 38, 366, 102, 367, + 193, 103, -1, -1, -1, -1, 55, 369, 102, 370, + 193, 103, -1, -1, -1, -1, 62, 372, 102, 373, + 193, 103, -1, -1, -1, -1, 39, 375, 102, 376, + 377, 103, -1, -1, 75, 378, -1, -1, 378, 91, + 379, 75, -1, -1, 63, 196, 75, -1, 64, 196, + 75, -1, 384, -1, 383, -1, 50, 199, -1, -1, + -1, -1, 388, 385, 86, 386, 393, 387, 87, -1, + -1, -1, 50, 199, 389, 391, 390, 175, -1, -1, + 90, 392, 196, -1, -1, 393, 394, -1, -1, -1, + 402, 395, 85, -1, -1, 404, 396, 85, -1, -1, + 407, 397, 85, -1, -1, 408, 398, 85, -1, -1, + 409, 399, 85, -1, -1, 318, 400, 85, -1, -1, + 472, 401, 85, -1, 60, 403, 199, -1, 196, -1, + 19, -1, 405, 403, 199, -1, 65, 406, -1, 58, + -1, -1, 52, 196, 199, -1, 61, 196, 199, -1, + 51, 196, 199, -1, -1, 412, 411, 422, -1, -1, + -1, -1, -1, -1, -1, 56, 413, 199, 414, 419, + 415, 175, 416, 66, 417, 196, 418, 421, -1, -1, + 90, 420, 196, -1, -1, 59, 196, -1, -1, -1, + -1, 86, 423, 425, 424, 87, -1, 425, 426, -1, + -1, 184, -1, -1, 429, 427, 85, -1, -1, 432, + 428, 85, -1, -1, -1, 44, 199, 430, 345, 431, + 365, -1, -1, -1, 54, 199, 433, 345, 434, 365, + -1, 448, -1, 439, -1, 436, -1, 438, -1, 437, + -1, 53, 199, -1, 42, 53, 199, -1, -1, -1, + -1, 443, 446, 440, 86, 441, 183, 442, 87, -1, + 42, 53, 199, -1, 43, 53, 199, -1, 53, 199, + -1, -1, 158, 447, 175, -1, -1, -1, -1, 452, + 446, 449, 86, 450, 178, 451, 87, -1, 444, -1, + 445, -1, 67, -1, 20, -1, 21, -1, 53, -1, + 24, -1, 6, -1, 49, -1, 27, -1, 4, 206, + -1, 454, -1, 24, 88, 3, 89, -1, 458, 456, + -1, -1, 456, 91, 457, 458, -1, -1, 453, 3, + -1, 461, 460, -1, 460, 91, 461, -1, -1, 3, + -1, -1, -1, -1, -1, 70, 463, 3, 464, 86, + 465, 467, 466, 87, -1, 469, 468, -1, 468, 469, + -1, -1, -1, 402, 470, 85, -1, -1, 404, 471, + 85, -1, 68, 196, 3, -1, 69, 196, 3, -1, + 475, 474, -1, 474, 91, 475, -1, -1, 207, -1, + 477, 480, -1, -1, -1, 71, 478, 3, 479, 391, + -1, -1, -1, 86, 481, 483, 482, 87, -1, 485, + 484, -1, 484, 485, -1, -1, -1, 402, 486, 85, + -1, -1, 404, 487, 85, -1, -1, 318, 488, 85, + -1, -1, 472, 489, 85, -1 }; /* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */ static const tao_yytype_uint16 tao_yyrline[] = { - 0, 365, 365, 368, 369, 373, 375, 374, 381, 380, - 389, 393, 394, 399, 398, 409, 408, 419, 418, 429, - 428, 439, 438, 449, 448, 459, 458, 469, 468, 479, - 478, 489, 488, 499, 498, 509, 508, 519, 518, 529, - 528, 539, 538, 553, 552, 587, 590, 595, 586, 612, - 615, 618, 621, 611, 629, 633, 634, 638, 639, 644, - 647, 650, 643, 659, 658, 667, 668, 673, 712, 717, - 672, 735, 734, 748, 786, 817, 851, 850, 862, 869, - 870, 871, 872, 876, 887, 892, 936, 941, 891, 970, - 1009, 1014, 968, 1033, 1031, 1071, 1070, 1084, 1090, 1097, - 1104, 1111, 1137, 1164, 1229, 1230, 1234, 1235, 1236, 1242, - 1241, 1249, 1248, 1258, 1259, 1264, 1263, 1274, 1273, 1284, - 1283, 1294, 1293, 1304, 1303, 1314, 1313, 1324, 1323, 1334, - 1333, 1347, 1360, 1358, 1388, 1395, 1406, 1405, 1433, 1431, - 1458, 1470, 1516, 1544, 1575, 1580, 1585, 1590, 1574, 1643, - 1644, 1645, 1646, 1647, 1648, 1649, 1661, 1666, 1741, 1743, - 1745, 1746, 1760, 1761, 1775, 1776, 1789, 1790, 1800, 1813, - 1814, 1824, 1837, 1838, 1848, 1858, 1871, 1872, 1882, 1892, - 1905, 1940, 1941, 1950, 1955, 1962, 1970, 1975, 1980, 1986, - 1991, 1996, 2004, 2076, 2075, 2085, 2090, 2095, 2100, 2127, - 2136, 2135, 2206, 2207, 2211, 2219, 2220, 2248, 2249, 2250, - 2251, 2252, 2253, 2254, 2255, 2259, 2260, 2261, 2262, 2266, - 2267, 2268, 2272, 2273, 2277, 2290, 2288, 2318, 2325, 2326, - 2330, 2343, 2341, 2371, 2378, 2395, 2414, 2415, 2419, 2424, - 2429, 2437, 2442, 2447, 2455, 2460, 2465, 2473, 2487, 2492, - 2500, 2508, 2516, 2524, 2533, 2532, 2548, 2582, 2587, 2547, - 2606, 2609, 2610, 2614, 2614, 2624, 2629, 2623, 2692, 2691, - 2706, 2705, 2720, 2725, 2730, 2735, 2782, 2787, 2719, 2811, - 2819, 2833, 2843, 2851, 2852, 2960, 2963, 2964, 2969, 2974, - 2968, 3010, 3009, 3023, 3034, 3056, 3064, 3063, 3079, 3084, - 3078, 3101, 3100, 3153, 3177, 3202, 3207, 3240, 3245, 3201, - 3271, 3276, 3274, 3281, 3285, 3322, 3327, 3320, 3394, 3449, - 3459, 3448, 3474, 3479, 3472, 3520, 3546, 3556, 3561, 3554, - 3591, 3616, 3625, 3624, 3660, 3671, 3693, 3701, 3706, 3700, - 3743, 3744, 3749, 3754, 3759, 3764, 3748, 3833, 3838, 3843, - 3848, 3832, 3926, 3931, 3961, 3966, 3925, 3984, 3989, 4042, - 4047, 3982, 4084, 4090, 4097, 4104, 4105, 4117, 4123, 4165, - 4116, 4187, 4186, 4197, 4196, 4209, 4214, 4212, 4219, 4224, - 4229, 4223, 4270, 4269, 4280, 4279, 4292, 4297, 4295, 4302, - 4307, 4312, 4306, 4359, 4367, 4368, 4369, 4489, 4494, 4499, - 4508, 4513, 4507, 4525, 4533, 4538, 4532, 4550, 4558, 4563, - 4557, 4575, 4583, 4588, 4582, 4600, 4607, 4620, 4618, 4646, - 4653, 4682, 4720, 4721, 4725, 4755, 4795, 4800, 4754, 4819, - 4824, 4817, 4866, 4865, 4876, 4883, 4884, 4889, 4888, 4899, - 4898, 4909, 4908, 4919, 4918, 4929, 4928, 4939, 4938, 4949, - 4948, 4960, 5019, 5026, 5050, 5124, 5134, 5140, 5146, 5193, - 5240, 5289, 5288, 5338, 5343, 5348, 5353, 5358, 5363, 5337, - 5417, 5416, 5427, 5434, 5441, 5449, 5454, 5448, 5466, 5467, - 5471, 5473, 5472, 5483, 5482, 5497, 5533, 5495, 5567, 5603, - 5565, 5635, 5636, 5637, 5641, 5642, 5646, 5674, 5705, 5750, - 5755, 5703, 5772, 5782, 5801, 5813, 5812, 5852, 5902, 5907, - 5850, 5924, 5929, 5937, 5942, 5947, 5952, 5957, 5962, 5967, - 5972, 5977, 5982, 5988, 5993, 6015, 6020, 5992, 6038, 6056, - 6061, 6055, 6084, 6083, 6105, 6112, 6126, 6132, 6139, 6158, - 6175, 6182, 6192, 6203, 6227, 6234, 6245, 6250, 6255, 6276, - 6281, 6244, 6296, 6302, 6309, 6316, 6321, 6328, 6327, 6336, - 6335, 6346, 6351, 6405, 6410, 6464, 6465, 6469, 6527, 6588, - 6670, 6733, 6745, 6749, 6750, 6754, 6755, 6759, 6764, 6769, - 6774, 6763, 6834, 6839, 6833, 6854, 6858, 6859, 6864, 6863, - 6874, 6873, 6884, 6883, 6894, 6893, 6904, 6903, 6920, 6941, - 6965, 7005 + 0, 353, 353, 356, 357, 361, 364, 367, 373, 377, + 378, 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, 527, + 526, 558, 563, 568, 557, 584, 589, 594, 597, 603, + 606, 588, 614, 618, 619, 623, 624, 629, 632, 635, + 628, 644, 647, 643, 655, 656, 661, 700, 705, 660, + 723, 722, 736, 774, 805, 839, 838, 850, 857, 858, + 859, 860, 864, 875, 880, 924, 929, 879, 958, 997, + 1002, 956, 1021, 1019, 1059, 1058, 1072, 1078, 1085, 1092, + 1099, 1125, 1152, 1217, 1218, 1222, 1223, 1224, 1230, 1229, + 1237, 1236, 1246, 1247, 1252, 1251, 1262, 1261, 1272, 1271, + 1282, 1281, 1292, 1291, 1302, 1301, 1312, 1311, 1322, 1321, + 1335, 1348, 1346, 1376, 1383, 1394, 1393, 1421, 1419, 1446, + 1458, 1504, 1532, 1563, 1568, 1573, 1578, 1562, 1631, 1632, + 1633, 1634, 1635, 1636, 1637, 1649, 1654, 1729, 1731, 1733, + 1734, 1748, 1749, 1763, 1764, 1777, 1778, 1788, 1801, 1802, + 1812, 1825, 1826, 1836, 1846, 1859, 1860, 1870, 1880, 1893, + 1928, 1929, 1938, 1943, 1950, 1958, 1963, 1968, 1974, 1979, + 1984, 1992, 2064, 2063, 2073, 2078, 2083, 2088, 2115, 2124, + 2123, 2194, 2195, 2199, 2207, 2208, 2236, 2237, 2238, 2239, + 2240, 2241, 2242, 2243, 2247, 2248, 2249, 2253, 2254, 2255, + 2259, 2260, 2264, 2277, 2275, 2305, 2312, 2313, 2317, 2330, + 2328, 2358, 2365, 2382, 2401, 2402, 2406, 2411, 2416, 2424, + 2429, 2434, 2442, 2447, 2452, 2460, 2474, 2479, 2487, 2495, + 2503, 2511, 2520, 2519, 2535, 2569, 2574, 2534, 2593, 2596, + 2597, 2601, 2601, 2611, 2616, 2610, 2679, 2678, 2693, 2692, + 2707, 2712, 2717, 2722, 2769, 2774, 2706, 2798, 2806, 2820, + 2830, 2838, 2839, 2947, 2950, 2951, 2956, 2961, 2955, 2997, + 2996, 3010, 3021, 3043, 3051, 3050, 3066, 3071, 3065, 3088, + 3087, 3140, 3164, 3189, 3194, 3227, 3232, 3188, 3258, 3263, + 3261, 3268, 3272, 3309, 3314, 3307, 3381, 3436, 3446, 3435, + 3461, 3466, 3459, 3507, 3533, 3543, 3548, 3541, 3578, 3603, + 3612, 3611, 3647, 3658, 3680, 3688, 3693, 3687, 3730, 3731, + 3736, 3741, 3746, 3751, 3735, 3820, 3825, 3830, 3835, 3819, + 3913, 3918, 3948, 3953, 3912, 3971, 3976, 4029, 4034, 3969, + 4071, 4077, 4084, 4091, 4092, 4104, 4110, 4152, 4103, 4174, + 4173, 4184, 4183, 4196, 4201, 4199, 4206, 4211, 4216, 4210, + 4257, 4256, 4267, 4266, 4279, 4284, 4282, 4289, 4294, 4299, + 4293, 4346, 4354, 4355, 4356, 4476, 4481, 4486, 4495, 4500, + 4494, 4512, 4520, 4525, 4519, 4537, 4545, 4550, 4544, 4562, + 4570, 4575, 4569, 4587, 4594, 4607, 4605, 4633, 4640, 4669, + 4707, 4708, 4712, 4742, 4782, 4787, 4741, 4806, 4811, 4804, + 4853, 4852, 4863, 4870, 4871, 4876, 4875, 4886, 4885, 4896, + 4895, 4906, 4905, 4916, 4915, 4926, 4925, 4936, 4935, 4947, + 5006, 5013, 5037, 5111, 5121, 5127, 5133, 5180, 5227, 5276, + 5275, 5325, 5330, 5335, 5340, 5345, 5350, 5324, 5404, 5403, + 5414, 5421, 5428, 5436, 5441, 5435, 5453, 5454, 5458, 5460, + 5459, 5470, 5469, 5484, 5520, 5482, 5554, 5590, 5552, 5622, + 5623, 5624, 5628, 5629, 5633, 5661, 5692, 5737, 5742, 5690, + 5759, 5769, 5788, 5800, 5799, 5839, 5889, 5894, 5837, 5911, + 5916, 5924, 5929, 5934, 5939, 5944, 5949, 5954, 5959, 5964, + 5969, 5975, 5979, 5997, 5996, 6018, 6025, 6039, 6046, 6070, + 6077, 6088, 6093, 6098, 6103, 6087, 6118, 6125, 6130, 6137, + 6136, 6145, 6144, 6155, 6237, 6300, 6304, 6305, 6309, 6323, + 6328, 6333, 6327, 6394, 6399, 6393, 6414, 6418, 6419, 6424, + 6423, 6434, 6433, 6444, 6443, 6454, 6453 }; #endif @@ -977,89 +959,82 @@ static const char *const tao_yytname[] = "IDL_WCHAR_LITERAL", "IDL_WSTRING_LITERAL", "';'", "'{'", "'}'", "'<'", "'>'", "':'", "','", "'='", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'('", "')'", "'['", "']'", "$accept", "start", - "definitions", "definition", "@1", "@2", "at_least_one_fixed_definition", - "fixed_definitions", "fixed_definition", "@3", "@4", "@5", "@6", "@7", - "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", - "module_header", "@18", "fixed_module", "@19", "@20", "@21", - "template_module", "@22", "@23", "@24", "@25", - "at_least_one_tpl_definition", "tpl_definitions", "tpl_definition", - "template_module_ref", "@26", "@27", "@28", "template_module_inst", - "@29", "interface_def", "interface", "@30", "@31", "@32", - "interface_decl", "@33", "interface_header", "inheritance_spec", "@34", - "value_def", "valuetype", "value_concrete_decl", "@35", "@36", "@37", - "value_abs_decl", "@38", "@39", "@40", "value_header", "@41", - "value_decl", "@42", "opt_truncatable", "supports_spec", - "value_forward_decl", "value_box_decl", "value_elements", - "value_element", "state_member", "@43", "@44", "exports", "export", - "@45", "@46", "@47", "@48", "@49", "@50", "@51", "@52", - "at_least_one_scoped_name", "scoped_names", "@53", "scoped_name", "@54", - "@55", "id", "interface_forward", "const_dcl", "@56", "@57", "@58", - "@59", "const_type", "expression", "const_expr", "or_expr", "xor_expr", - "and_expr", "shift_expr", "add_expr", "mult_expr", "unary_expr", - "primary_expr", "literal", "positive_int_expr", "type_dcl", "@60", - "type_declarator", "@61", "type_spec", "simple_type_spec", + "definitions", "definition", "at_least_one_fixed_definition", + "fixed_definitions", "fixed_definition", "@1", "@2", "@3", "@4", "@5", + "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", + "module_header", "@15", "fixed_module", "@16", "@17", "@18", + "template_module_header", "template_module", "@19", "@20", "@21", "@22", + "@23", "at_least_one_tpl_definition", "tpl_definitions", + "tpl_definition", "template_module_ref", "@24", "@25", "@26", + "template_module_inst", "@27", "@28", "interface_def", "interface", + "@29", "@30", "@31", "interface_decl", "@32", "interface_header", + "inheritance_spec", "@33", "value_def", "valuetype", + "value_concrete_decl", "@34", "@35", "@36", "value_abs_decl", "@37", + "@38", "@39", "value_header", "@40", "value_decl", "@41", + "opt_truncatable", "supports_spec", "value_forward_decl", + "value_box_decl", "value_elements", "value_element", "state_member", + "@42", "@43", "exports", "export", "@44", "@45", "@46", "@47", "@48", + "@49", "@50", "@51", "at_least_one_scoped_name", "scoped_names", "@52", + "scoped_name", "@53", "@54", "id", "interface_forward", "const_dcl", + "@55", "@56", "@57", "@58", "const_type", "expression", "const_expr", + "or_expr", "xor_expr", "and_expr", "shift_expr", "add_expr", "mult_expr", + "unary_expr", "primary_expr", "literal", "positive_int_expr", "type_dcl", + "@59", "type_declarator", "@60", "type_spec", "simple_type_spec", "base_type_spec", "template_type_spec", "constructed_type_spec", "constructed_forward_type_spec", "at_least_one_declarator", - "declarators", "@62", "declarator", "at_least_one_simple_declarator", - "simple_declarators", "@63", "simple_declarator", "complex_declarator", + "declarators", "@61", "declarator", "at_least_one_simple_declarator", + "simple_declarators", "@62", "simple_declarator", "complex_declarator", "integer_type", "signed_int", "unsigned_int", "floating_pt_type", "fixed_type", "char_type", "octet_type", "boolean_type", "any_type", - "object_type", "struct_decl", "@64", "struct_type", "@65", "@66", "@67", - "at_least_one_member", "members", "member", "@68", "member_i", "@69", - "@70", "@71", "union_decl", "@72", "union_type", "@73", "@74", "@75", - "@76", "@77", "@78", "switch_type_spec", "at_least_one_case_branch", - "case_branches", "case_branch", "@79", "@80", "@81", - "at_least_one_case_label", "case_labels", "case_label", "@82", "@83", - "@84", "element_spec", "@85", "struct_forward_type", - "union_forward_type", "enum_type", "@86", "@87", "@88", "@89", - "at_least_one_enumerator", "enumerators", "@90", "enumerator", - "sequence_type_spec", "@91", "@92", "seq_head", "@93", "@94", - "string_type_spec", "@95", "@96", "string_head", "wstring_type_spec", - "@97", "@98", "wstring_head", "array_declarator", "@99", - "at_least_one_array_dim", "array_dims", "array_dim", "@100", "@101", - "attribute", "attribute_readonly", "@102", "@103", "@104", "@105", - "attribute_readwrite", "@106", "@107", "@108", "@109", "exception", - "@110", "@111", "@112", "@113", "operation", "@114", "@115", "@116", - "@117", "opt_op_attribute", "op_type_spec", "init_decl", "@118", "@119", - "@120", "init_parameter_list", "@121", "@122", - "at_least_one_in_parameter", "in_parameters", "@123", "in_parameter", - "@124", "@125", "parameter_list", "@126", "@127", - "at_least_one_parameter", "parameters", "@128", "parameter", "@129", - "@130", "param_type_spec", "direction", "opt_raises", "@131", "@132", - "opt_getraises", "@133", "@134", "opt_setraises", "@135", "@136", - "opt_context", "@137", "@138", "at_least_one_string_literal", - "string_literals", "@139", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@140", "@141", "@142", - "component_header", "@143", "@144", "component_inheritance_spec", "@145", - "component_exports", "component_export", "@146", "@147", "@148", "@149", - "@150", "@151", "@152", "provides_decl", "interface_type", "uses_decl", + "object_type", "struct_decl", "@63", "struct_type", "@64", "@65", "@66", + "at_least_one_member", "members", "member", "@67", "member_i", "@68", + "@69", "@70", "union_decl", "@71", "union_type", "@72", "@73", "@74", + "@75", "@76", "@77", "switch_type_spec", "at_least_one_case_branch", + "case_branches", "case_branch", "@78", "@79", "@80", + "at_least_one_case_label", "case_labels", "case_label", "@81", "@82", + "@83", "element_spec", "@84", "struct_forward_type", + "union_forward_type", "enum_type", "@85", "@86", "@87", "@88", + "at_least_one_enumerator", "enumerators", "@89", "enumerator", + "sequence_type_spec", "@90", "@91", "seq_head", "@92", "@93", + "string_type_spec", "@94", "@95", "string_head", "wstring_type_spec", + "@96", "@97", "wstring_head", "array_declarator", "@98", + "at_least_one_array_dim", "array_dims", "array_dim", "@99", "@100", + "attribute", "attribute_readonly", "@101", "@102", "@103", "@104", + "attribute_readwrite", "@105", "@106", "@107", "@108", "exception", + "@109", "@110", "@111", "@112", "operation", "@113", "@114", "@115", + "@116", "opt_op_attribute", "op_type_spec", "init_decl", "@117", "@118", + "@119", "init_parameter_list", "@120", "@121", + "at_least_one_in_parameter", "in_parameters", "@122", "in_parameter", + "@123", "@124", "parameter_list", "@125", "@126", + "at_least_one_parameter", "parameters", "@127", "parameter", "@128", + "@129", "param_type_spec", "direction", "opt_raises", "@130", "@131", + "opt_getraises", "@132", "@133", "opt_setraises", "@134", "@135", + "opt_context", "@136", "@137", "at_least_one_string_literal", + "string_literals", "@138", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@139", "@140", "@141", + "component_header", "@142", "@143", "component_inheritance_spec", "@144", + "component_exports", "component_export", "@145", "@146", "@147", "@148", + "@149", "@150", "@151", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", "emits_decl", "publishes_decl", - "consumes_decl", "home_decl", "@153", "home_header", "@154", "@155", - "@156", "@157", "@158", "@159", "home_inheritance_spec", "@160", - "primary_key_spec", "home_body", "@161", "@162", "home_exports", - "home_export", "@163", "@164", "factory_decl", "@165", "@166", - "finder_decl", "@167", "@168", "event", "event_forward_decl", + "consumes_decl", "home_decl", "@152", "home_header", "@153", "@154", + "@155", "@156", "@157", "@158", "home_inheritance_spec", "@159", + "primary_key_spec", "home_body", "@160", "@161", "home_exports", + "home_export", "@162", "@163", "factory_decl", "@164", "@165", + "finder_decl", "@166", "@167", "event", "event_forward_decl", "event_concrete_forward_decl", "event_abs_forward_decl", - "event_abs_decl", "@169", "@170", "@171", "event_abs_header", + "event_abs_decl", "@168", "@169", "@170", "event_abs_header", "event_custom_header", "event_plain_header", "event_rest_of_header", - "@172", "event_decl", "@173", "@174", "@175", "event_header", - "formal_parameter_type", "sequence_param", "template_interface_def", - "@176", "@177", "@178", "template_interface_header", - "at_least_one_formal_parameter", "@179", "@180", "formal_parameters", - "@181", "formal_parameter", "template_inheritance_spec", - "at_least_one_template_ref", "template_refs", "template_ref", - "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "@182", "@183", "@184", "@185", - "@186", "opt_template_params", "at_least_one_port_export", - "port_exports", "port_export", "@187", "@188", "extended_provides_decl", - "extended_uses_decl", "extended_port_decl", "template_port_decl", - "non_template_port_decl", "template_inst", + "@171", "event_decl", "@172", "@173", "@174", "event_header", + "formal_parameter_type", "sequence_param", + "at_least_one_formal_parameter", "formal_parameters", "@175", + "formal_parameter", "at_least_one_formal_parameter_name", + "formal_parameter_names", "formal_parameter_name", "porttype_decl", + "@176", "@177", "@178", "@179", "at_least_one_port_export", + "port_exports", "port_export", "@180", "@181", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", - "connector_decl", "connector_header", "@189", "@190", "@191", - "connector_body", "@192", "@193", "at_least_one_connector_export", - "connector_exports", "connector_export", "@194", "@195", "@196", "@197", - "@198", "template_extended_port_decl", "template_ref_decl", - "connector_inst_spec", 0 + "connector_decl", "connector_header", "@182", "@183", "connector_body", + "@184", "@185", "at_least_one_connector_export", "connector_exports", + "connector_export", "@186", "@187", "@188", "@189", 0 }; #endif @@ -1085,133 +1060,125 @@ static const tao_yytype_uint16 tao_yytoknum[] = /* TAO_YYR1[TAO_YYN] -- Symbol number of symbol that rule TAO_YYN derives. */ static const tao_yytype_uint16 tao_yyr1[] = { - 0, 106, 107, 108, 108, 109, 110, 109, 111, 109, - 112, 113, 113, 115, 114, 116, 114, 117, 114, 118, - 114, 119, 114, 120, 114, 121, 114, 122, 114, 123, - 114, 124, 114, 125, 114, 126, 114, 127, 114, 128, - 114, 129, 114, 131, 130, 133, 134, 135, 132, 137, - 138, 139, 140, 136, 141, 142, 142, 143, 143, 145, - 146, 147, 144, 149, 148, 150, 150, 152, 153, 154, - 151, 156, 155, 157, 157, 157, 159, 158, 158, 160, - 160, 160, 160, 161, 161, 163, 164, 165, 162, 167, - 168, 169, 166, 171, 170, 173, 172, 174, 174, 175, - 175, 176, 176, 177, 178, 178, 179, 179, 179, 181, - 180, 182, 180, 183, 183, 185, 184, 186, 184, 187, - 184, 188, 184, 189, 184, 190, 184, 191, 184, 192, - 184, 193, 195, 194, 194, 196, 197, 196, 198, 196, - 199, 200, 200, 200, 202, 203, 204, 205, 201, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 207, 208, - 209, 209, 210, 210, 211, 211, 212, 212, 212, 213, - 213, 213, 214, 214, 214, 214, 215, 215, 215, 215, - 216, 216, 216, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 218, 220, 219, 219, 219, 219, 219, 219, - 222, 221, 223, 223, 224, 224, 224, 225, 225, 225, - 225, 225, 225, 225, 225, 226, 226, 226, 226, 227, - 227, 227, 228, 228, 229, 231, 230, 230, 232, 232, - 233, 235, 234, 234, 236, 237, 238, 238, 239, 239, - 239, 240, 240, 240, 241, 241, 241, 242, 243, 243, - 244, 245, 246, 247, 249, 248, 251, 252, 253, 250, - 254, 255, 255, 257, 256, 259, 260, 258, 261, 258, - 263, 262, 265, 266, 267, 268, 269, 270, 264, 271, - 271, 271, 271, 271, 271, 272, 273, 273, 275, 276, - 274, 277, 274, 278, 279, 279, 281, 280, 282, 283, - 280, 285, 284, 286, 287, 289, 290, 291, 292, 288, - 293, 295, 294, 294, 296, 298, 299, 297, 297, 301, - 302, 300, 304, 305, 303, 303, 306, 308, 309, 307, - 307, 310, 312, 311, 313, 314, 314, 316, 317, 315, - 318, 318, 320, 321, 322, 323, 319, 325, 326, 327, - 328, 324, 330, 331, 332, 333, 329, 335, 336, 337, - 338, 334, 339, 339, 339, 340, 340, 342, 343, 344, - 341, 346, 345, 347, 345, 348, 350, 349, 349, 352, - 353, 351, 355, 354, 356, 354, 357, 359, 358, 358, - 361, 362, 360, 363, 363, 363, 363, 364, 364, 364, - 366, 367, 365, 365, 369, 370, 368, 368, 372, 373, - 371, 371, 375, 376, 374, 374, 377, 379, 378, 378, - 380, 381, 382, 382, 383, 385, 386, 387, 384, 389, - 390, 388, 392, 391, 391, 393, 393, 395, 394, 396, - 394, 397, 394, 398, 394, 399, 394, 400, 394, 401, - 394, 402, 403, 403, 404, 405, 406, 406, 407, 408, - 409, 411, 410, 413, 414, 415, 416, 417, 418, 412, - 420, 419, 419, 421, 421, 423, 424, 422, 425, 425, - 426, 427, 426, 428, 426, 430, 431, 429, 433, 434, - 432, 435, 435, 435, 436, 436, 437, 438, 440, 441, - 442, 439, 443, 444, 445, 447, 446, 449, 450, 451, - 448, 452, 452, 453, 453, 453, 453, 453, 453, 453, - 453, 453, 453, 454, 456, 457, 458, 455, 459, 461, - 462, 460, 464, 463, 463, 465, 466, 466, 467, 468, - 468, 469, 470, 471, 471, 472, 474, 475, 476, 477, - 478, 473, 479, 479, 480, 481, 481, 483, 482, 484, - 482, 485, 485, 486, 486, 487, 487, 488, 488, 489, - 489, 490, 491, 492, 492, 493, 493, 494, 496, 497, - 498, 495, 500, 501, 499, 502, 503, 503, 505, 504, - 506, 504, 507, 504, 508, 504, 509, 504, 510, 510, - 511, 512 + 0, 106, 107, 108, 108, 109, 109, 109, 110, 111, + 111, 113, 112, 114, 112, 115, 112, 116, 112, 117, + 112, 118, 112, 119, 112, 120, 112, 121, 112, 122, + 112, 123, 112, 124, 112, 125, 112, 126, 112, 128, + 127, 130, 131, 132, 129, 133, 135, 136, 137, 138, + 139, 134, 140, 141, 141, 142, 142, 144, 145, 146, + 143, 148, 149, 147, 150, 150, 152, 153, 154, 151, + 156, 155, 157, 157, 157, 159, 158, 158, 160, 160, + 160, 160, 161, 161, 163, 164, 165, 162, 167, 168, + 169, 166, 171, 170, 173, 172, 174, 174, 175, 175, + 176, 176, 177, 178, 178, 179, 179, 179, 181, 180, + 182, 180, 183, 183, 185, 184, 186, 184, 187, 184, + 188, 184, 189, 184, 190, 184, 191, 184, 192, 184, + 193, 195, 194, 194, 196, 197, 196, 198, 196, 199, + 200, 200, 200, 202, 203, 204, 205, 201, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 207, 208, 209, + 209, 210, 210, 211, 211, 212, 212, 212, 213, 213, + 213, 214, 214, 214, 214, 215, 215, 215, 215, 216, + 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 218, 220, 219, 219, 219, 219, 219, 219, 222, + 221, 223, 223, 224, 224, 224, 225, 225, 225, 225, + 225, 225, 225, 225, 226, 226, 226, 227, 227, 227, + 228, 228, 229, 231, 230, 230, 232, 232, 233, 235, + 234, 234, 236, 237, 238, 238, 239, 239, 239, 240, + 240, 240, 241, 241, 241, 242, 243, 243, 244, 245, + 246, 247, 249, 248, 251, 252, 253, 250, 254, 255, + 255, 257, 256, 259, 260, 258, 261, 258, 263, 262, + 265, 266, 267, 268, 269, 270, 264, 271, 271, 271, + 271, 271, 271, 272, 273, 273, 275, 276, 274, 277, + 274, 278, 279, 279, 281, 280, 282, 283, 280, 285, + 284, 286, 287, 289, 290, 291, 292, 288, 293, 295, + 294, 294, 296, 298, 299, 297, 297, 301, 302, 300, + 304, 305, 303, 303, 306, 308, 309, 307, 307, 310, + 312, 311, 313, 314, 314, 316, 317, 315, 318, 318, + 320, 321, 322, 323, 319, 325, 326, 327, 328, 324, + 330, 331, 332, 333, 329, 335, 336, 337, 338, 334, + 339, 339, 339, 340, 340, 342, 343, 344, 341, 346, + 345, 347, 345, 348, 350, 349, 349, 352, 353, 351, + 355, 354, 356, 354, 357, 359, 358, 358, 361, 362, + 360, 363, 363, 363, 363, 364, 364, 364, 366, 367, + 365, 365, 369, 370, 368, 368, 372, 373, 371, 371, + 375, 376, 374, 374, 377, 379, 378, 378, 380, 381, + 382, 382, 383, 385, 386, 387, 384, 389, 390, 388, + 392, 391, 391, 393, 393, 395, 394, 396, 394, 397, + 394, 398, 394, 399, 394, 400, 394, 401, 394, 402, + 403, 403, 404, 405, 406, 406, 407, 408, 409, 411, + 410, 413, 414, 415, 416, 417, 418, 412, 420, 419, + 419, 421, 421, 423, 424, 422, 425, 425, 426, 427, + 426, 428, 426, 430, 431, 429, 433, 434, 432, 435, + 435, 435, 436, 436, 437, 438, 440, 441, 442, 439, + 443, 444, 445, 447, 446, 449, 450, 451, 448, 452, + 452, 453, 453, 453, 453, 453, 453, 453, 453, 453, + 453, 454, 455, 457, 456, 456, 458, 459, 460, 460, + 461, 463, 464, 465, 466, 462, 467, 468, 468, 470, + 469, 471, 469, 472, 472, 473, 474, 474, 475, 476, + 478, 479, 477, 481, 482, 480, 483, 484, 484, 486, + 485, 487, 485, 488, 485, 489, 485 }; /* TAO_YYR2[TAO_YYN] -- Number of symbols composing right hand side of rule TAO_YYN. */ static const tao_yytype_uint8 tao_yyr2[] = { - 0, 2, 1, 2, 0, 1, 0, 3, 0, 3, - 2, 2, 0, 0, 3, 0, 3, 0, 3, 0, + 0, 2, 1, 2, 0, 1, 2, 2, 2, 2, + 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 0, 0, 7, 0, - 0, 0, 0, 9, 2, 2, 0, 1, 2, 0, - 0, 0, 9, 0, 3, 1, 1, 0, 0, 0, - 7, 0, 3, 2, 3, 3, 0, 4, 0, 1, - 1, 1, 1, 2, 1, 0, 0, 0, 7, 0, - 0, 0, 8, 0, 4, 0, 3, 1, 0, 2, - 0, 2, 1, 2, 2, 0, 1, 1, 2, 0, - 3, 0, 3, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 2, 0, 4, 0, 1, 0, 3, 0, 4, - 1, 1, 2, 2, 0, 0, 0, 0, 9, 1, + 3, 0, 0, 0, 7, 2, 0, 0, 0, 0, + 0, 11, 2, 2, 0, 1, 2, 0, 0, 0, + 9, 0, 0, 6, 1, 1, 0, 0, 0, 7, + 0, 3, 2, 3, 3, 0, 4, 0, 1, 1, + 1, 1, 2, 1, 0, 0, 0, 7, 0, 0, + 0, 8, 0, 4, 0, 3, 1, 0, 2, 0, + 2, 1, 2, 2, 0, 1, 1, 2, 0, 3, + 0, 3, 2, 0, 0, 3, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, + 2, 0, 4, 0, 1, 0, 3, 0, 4, 1, + 1, 2, 2, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 3, 1, 3, 1, 3, 3, 1, - 3, 3, 1, 3, 3, 3, 1, 2, 2, 2, - 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 3, 1, 1, 1, 2, 1, - 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 3, 1, 3, 1, 3, 3, 1, 3, + 3, 1, 3, 3, 3, 1, 2, 2, 2, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 3, 1, 1, 1, 2, 1, 0, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 0, 4, 0, 1, 1, - 2, 0, 4, 0, 1, 1, 1, 1, 1, 2, - 1, 2, 3, 2, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 0, 3, 0, 0, 0, 7, - 2, 2, 0, 0, 2, 0, 0, 5, 0, 3, - 0, 3, 0, 0, 0, 0, 0, 0, 14, 1, - 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, - 5, 0, 3, 2, 2, 0, 0, 3, 0, 0, - 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, - 2, 0, 4, 0, 1, 0, 0, 6, 2, 0, - 0, 5, 0, 0, 6, 1, 1, 0, 0, 6, - 1, 1, 0, 3, 2, 2, 0, 0, 0, 5, - 1, 1, 0, 0, 0, 0, 9, 0, 0, 0, - 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, - 0, 10, 1, 1, 0, 1, 1, 0, 0, 0, - 7, 0, 3, 0, 4, 2, 0, 4, 0, 0, - 0, 5, 0, 3, 0, 4, 2, 0, 4, 0, - 0, 0, 5, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, - 6, 0, 0, 0, 6, 0, 2, 0, 4, 0, - 3, 3, 1, 1, 2, 0, 0, 0, 7, 0, - 0, 6, 0, 3, 0, 2, 0, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 3, 1, 1, 3, 2, 1, 0, 3, 3, - 3, 0, 3, 0, 0, 0, 0, 0, 0, 13, - 0, 3, 0, 2, 0, 0, 0, 5, 2, 0, - 1, 0, 3, 0, 3, 0, 0, 6, 0, 0, - 6, 1, 1, 1, 1, 1, 2, 3, 0, 0, - 0, 8, 3, 3, 2, 0, 3, 0, 0, 0, - 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 4, 0, 0, 0, 7, 3, 0, - 0, 6, 0, 4, 0, 2, 2, 0, 2, 3, - 0, 4, 2, 3, 0, 1, 0, 0, 0, 0, - 0, 11, 1, 0, 2, 2, 0, 0, 3, 0, - 3, 1, 3, 1, 3, 1, 1, 3, 3, 3, - 3, 4, 2, 3, 0, 1, 1, 2, 0, 0, - 0, 7, 0, 0, 5, 2, 2, 0, 0, 3, - 0, 3, 0, 3, 0, 3, 0, 3, 2, 2, - 2, 1 + 1, 1, 2, 0, 4, 0, 1, 1, 2, 0, + 4, 0, 1, 1, 1, 1, 1, 2, 1, 2, + 3, 2, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 0, 3, 0, 0, 0, 7, 2, 2, + 0, 0, 2, 0, 0, 5, 0, 3, 0, 3, + 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, + 1, 1, 1, 2, 2, 0, 0, 0, 5, 0, + 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, + 3, 1, 1, 0, 0, 0, 0, 9, 2, 0, + 4, 0, 1, 0, 0, 6, 2, 0, 0, 5, + 0, 0, 6, 1, 1, 0, 0, 6, 1, 1, + 0, 3, 2, 2, 0, 0, 0, 5, 1, 1, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 10, + 1, 1, 0, 1, 1, 0, 0, 0, 7, 0, + 3, 0, 4, 2, 0, 4, 0, 0, 0, 5, + 0, 3, 0, 4, 2, 0, 4, 0, 0, 0, + 5, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 2, 0, 4, 0, 3, 3, + 1, 1, 2, 0, 0, 0, 7, 0, 0, 6, + 0, 3, 0, 2, 0, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, + 1, 1, 3, 2, 1, 0, 3, 3, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 13, 0, 3, + 0, 2, 0, 0, 0, 5, 2, 0, 1, 0, + 3, 0, 3, 0, 0, 6, 0, 0, 6, 1, + 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, + 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 1, 4, 2, 0, 4, 0, 2, 2, 3, 0, + 1, 0, 0, 0, 0, 9, 2, 2, 0, 0, + 3, 0, 3, 3, 3, 2, 3, 0, 1, 2, + 0, 0, 5, 0, 0, 5, 2, 2, 0, 0, + 3, 0, 3, 0, 3, 0, 3 }; /* TAO_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1219,556 +1186,524 @@ static const tao_yytype_uint8 tao_yyr2[] = means the default is an error. */ static const tao_yytype_uint16 tao_yydefact[] = { - 4, 0, 0, 1, 41, 144, 43, 71, 193, 254, - 270, 305, 352, 0, 0, 0, 0, 95, 0, 0, - 463, 0, 0, 546, 578, 3, 5, 45, 27, 6, - 8, 23, 65, 78, 67, 29, 79, 84, 80, 85, - 78, 81, 82, 66, 19, 13, 199, 256, 195, 304, - 196, 222, 223, 197, 21, 15, 17, 31, 423, 422, - 425, 33, 461, 35, 493, 495, 494, 492, 78, 511, - 512, 491, 78, 25, 524, 37, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 140, 234, - 198, 78, 0, 78, 89, 78, 0, 83, 78, 0, - 429, 504, 0, 136, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 529, 98, 73, 537, 0, - 0, 0, 238, 240, 0, 244, 245, 248, 249, 250, - 251, 247, 252, 253, 319, 326, 331, 93, 206, 103, - 202, 204, 205, 203, 207, 236, 237, 208, 212, 209, - 211, 210, 213, 214, 256, 219, 0, 220, 221, 215, - 0, 216, 325, 217, 330, 601, 218, 0, 0, 0, - 272, 0, 0, 0, 0, 0, 0, 0, 0, 505, - 498, 507, 0, 0, 0, 0, 582, 577, 42, 157, - 145, 149, 153, 154, 150, 151, 152, 155, 156, 44, - 0, 64, 72, 194, 200, 255, 271, 306, 353, 74, - 502, 75, 0, 503, 96, 434, 464, 0, 420, 138, - 421, 547, 579, 46, 50, 28, 7, 9, 24, 0, - 97, 76, 0, 528, 68, 30, 86, 239, 246, 241, - 243, 0, 100, 0, 318, 315, 322, 327, 20, 14, - 257, 0, 22, 16, 18, 32, 426, 34, 475, 462, - 36, 100, 0, 0, 26, 525, 38, 40, 0, 0, - 0, 0, 0, 90, 432, 430, 472, 137, 0, 553, - 553, 12, 0, 0, 518, 514, 515, 517, 520, 519, - 516, 513, 0, 522, 534, 0, 0, 536, 540, 114, - 105, 242, 320, 0, 94, 183, 184, 185, 187, 189, - 190, 191, 188, 186, 0, 0, 0, 0, 180, 576, - 158, 159, 160, 162, 164, 166, 169, 172, 176, 181, - 0, 574, 0, 0, 0, 263, 273, 436, 479, 506, - 499, 508, 114, 342, 347, 0, 457, 0, 0, 592, - 340, 341, 588, 590, 0, 594, 583, 587, 596, 146, - 234, 201, 227, 228, 229, 235, 307, 354, 114, 0, - 100, 470, 465, 139, 552, 548, 580, 47, 0, 51, - 521, 0, 535, 530, 77, 134, 0, 538, 0, 0, - 0, 99, 180, 177, 178, 179, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 571, 572, 192, - 316, 323, 328, 258, 262, 0, 0, 427, 0, 114, - 105, 0, 0, 0, 453, 452, 0, 456, 455, 0, - 0, 598, 0, 599, 0, 0, 0, 0, 0, 0, - 585, 0, 0, 0, 224, 0, 262, 0, 433, 431, - 0, 100, 0, 434, 0, 43, 11, 45, 0, 0, - 532, 0, 131, 545, 0, 544, 0, 129, 362, 363, - 0, 113, 121, 115, 125, 123, 127, 0, 117, 119, - 367, 111, 109, 0, 104, 106, 107, 0, 321, 182, - 161, 163, 165, 167, 168, 170, 171, 173, 174, 175, - 0, 0, 0, 0, 0, 263, 268, 265, 264, 238, - 284, 279, 280, 281, 282, 274, 283, 0, 0, 0, - 0, 0, 447, 0, 435, 437, 439, 441, 443, 445, - 449, 565, 566, 0, 0, 480, 0, 478, 481, 483, - 0, 0, 0, 343, 396, 393, 394, 395, 348, 451, - 569, 600, 570, 593, 589, 591, 454, 595, 584, 586, - 597, 147, 337, 333, 336, 225, 314, 308, 313, 263, - 0, 471, 466, 549, 581, 48, 59, 57, 52, 56, - 0, 523, 0, 531, 132, 541, 542, 539, 0, 70, - 0, 0, 0, 0, 0, 366, 357, 365, 0, 0, - 0, 0, 0, 88, 108, 573, 317, 324, 329, 259, - 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 428, 0, 0, 0, 0, 0, 0, 485, - 488, 477, 0, 0, 0, 0, 527, 0, 0, 0, - 0, 334, 0, 0, 310, 0, 92, 0, 0, 0, - 0, 0, 58, 533, 0, 0, 130, 122, 116, 126, - 124, 128, 0, 118, 120, 368, 112, 110, 269, 266, - 275, 460, 458, 459, 567, 568, 448, 438, 440, 442, - 444, 446, 450, 0, 0, 482, 484, 501, 510, 344, - 349, 233, 148, 338, 335, 226, 309, 311, 356, 467, - 0, 561, 563, 0, 550, 556, 557, 559, 60, 53, - 55, 133, 543, 358, 0, 0, 0, 371, 486, 489, - 0, 407, 230, 0, 0, 0, 452, 0, 0, 0, - 554, 0, 0, 0, 0, 369, 267, 276, 0, 0, - 403, 403, 345, 404, 350, 231, 339, 312, 468, 562, - 564, 551, 555, 558, 560, 0, 384, 359, 403, 0, - 372, 379, 0, 378, 400, 487, 490, 403, 0, 411, - 0, 474, 0, 0, 0, 403, 370, 291, 298, 296, - 277, 287, 288, 295, 0, 374, 375, 0, 346, 405, - 408, 351, 232, 0, 469, 61, 383, 397, 398, 399, - 0, 389, 390, 360, 0, 0, 0, 0, 0, 0, - 293, 380, 376, 401, 0, 0, 473, 0, 385, 386, - 0, 415, 292, 299, 297, 278, 286, 301, 289, 294, - 0, 0, 0, 0, 409, 62, 387, 391, 412, 361, - 0, 0, 0, 381, 377, 0, 406, 0, 0, 0, - 0, 300, 302, 290, 402, 0, 388, 392, 413, 410, - 0, 419, 0, 416, 414, 417, 0, 418 + 4, 0, 0, 1, 37, 143, 39, 70, 192, 252, + 268, 303, 350, 0, 0, 0, 0, 94, 0, 0, + 461, 0, 0, 531, 550, 3, 5, 41, 23, 61, + 0, 0, 21, 64, 77, 66, 25, 78, 83, 79, + 84, 77, 80, 81, 65, 17, 11, 198, 254, 194, + 302, 195, 220, 221, 196, 19, 13, 15, 27, 421, + 420, 423, 29, 459, 31, 491, 493, 492, 490, 77, + 509, 510, 489, 77, 33, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 232, 197, 77, + 0, 77, 88, 77, 0, 82, 77, 0, 427, 502, + 0, 135, 0, 134, 0, 0, 0, 45, 0, 0, + 0, 0, 6, 7, 0, 97, 72, 0, 0, 0, + 236, 238, 0, 242, 243, 246, 247, 248, 249, 245, + 250, 251, 317, 324, 329, 92, 205, 102, 201, 203, + 204, 202, 206, 234, 235, 207, 211, 208, 210, 209, + 212, 213, 254, 217, 0, 218, 219, 214, 0, 215, + 323, 216, 328, 0, 0, 0, 270, 0, 0, 0, + 0, 0, 0, 0, 0, 503, 496, 505, 0, 0, + 553, 549, 38, 156, 144, 148, 152, 153, 149, 150, + 151, 154, 155, 40, 71, 193, 199, 253, 269, 304, + 351, 73, 500, 74, 0, 501, 95, 432, 462, 0, + 418, 137, 419, 532, 551, 42, 24, 0, 516, 512, + 513, 515, 518, 517, 514, 511, 0, 520, 47, 525, + 182, 183, 184, 186, 188, 189, 190, 187, 185, 0, + 0, 0, 0, 179, 548, 157, 158, 159, 161, 163, + 165, 168, 171, 175, 180, 0, 547, 22, 96, 75, + 67, 26, 85, 237, 244, 239, 241, 0, 99, 316, + 313, 320, 325, 18, 12, 255, 0, 20, 14, 16, + 28, 424, 30, 473, 460, 32, 99, 0, 0, 34, + 36, 0, 0, 0, 0, 0, 89, 430, 428, 470, + 136, 0, 0, 432, 10, 519, 0, 526, 0, 522, + 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 545, 0, 113, 104, 240, + 318, 0, 93, 0, 0, 0, 261, 271, 434, 477, + 504, 497, 506, 340, 345, 0, 455, 0, 0, 563, + 338, 339, 559, 561, 0, 565, 554, 558, 145, 232, + 200, 225, 226, 227, 233, 305, 352, 113, 0, 99, + 468, 463, 138, 533, 552, 43, 0, 0, 48, 523, + 181, 160, 162, 164, 166, 167, 169, 170, 172, 173, + 174, 0, 0, 76, 133, 0, 0, 0, 98, 191, + 314, 321, 326, 256, 260, 0, 0, 425, 0, 113, + 104, 0, 0, 451, 450, 0, 454, 453, 0, 0, + 0, 0, 0, 0, 0, 0, 556, 0, 0, 222, + 0, 260, 0, 431, 429, 0, 99, 0, 0, 9, + 41, 521, 0, 0, 63, 546, 130, 128, 360, 361, + 0, 112, 120, 114, 124, 122, 126, 0, 116, 118, + 365, 110, 108, 0, 103, 105, 106, 0, 319, 0, + 0, 0, 0, 261, 266, 263, 262, 236, 282, 277, + 278, 279, 280, 272, 281, 0, 0, 0, 445, 0, + 433, 435, 437, 439, 441, 443, 447, 0, 0, 478, + 0, 476, 479, 481, 0, 0, 341, 394, 391, 392, + 393, 346, 449, 543, 544, 564, 560, 562, 452, 566, + 555, 557, 146, 335, 331, 334, 223, 312, 306, 311, + 261, 0, 469, 464, 539, 541, 534, 538, 44, 49, + 524, 131, 0, 69, 0, 0, 0, 0, 0, 364, + 355, 363, 0, 0, 0, 0, 0, 87, 107, 315, + 322, 327, 257, 259, 0, 0, 0, 0, 0, 0, + 0, 426, 0, 0, 0, 0, 0, 0, 483, 486, + 475, 0, 0, 0, 0, 0, 0, 0, 0, 332, + 0, 0, 308, 0, 91, 0, 0, 0, 0, 536, + 0, 0, 129, 121, 115, 125, 123, 127, 0, 117, + 119, 366, 111, 109, 267, 264, 273, 458, 456, 457, + 446, 436, 438, 440, 442, 444, 448, 0, 0, 480, + 482, 499, 508, 342, 347, 231, 147, 336, 333, 224, + 307, 309, 354, 465, 540, 542, 535, 537, 57, 55, + 50, 54, 0, 132, 356, 0, 0, 0, 369, 484, + 487, 0, 405, 228, 0, 0, 0, 0, 0, 0, + 56, 0, 367, 265, 274, 0, 0, 401, 401, 343, + 402, 348, 229, 337, 310, 466, 58, 51, 53, 382, + 357, 401, 0, 370, 377, 0, 376, 398, 485, 488, + 401, 0, 409, 0, 472, 0, 0, 0, 401, 368, + 289, 296, 294, 275, 285, 286, 293, 0, 372, 373, + 0, 344, 403, 406, 349, 230, 0, 467, 0, 381, + 395, 396, 397, 0, 387, 388, 358, 0, 0, 0, + 0, 0, 0, 291, 378, 374, 399, 0, 0, 471, + 530, 0, 529, 383, 384, 0, 413, 290, 297, 295, + 276, 284, 299, 287, 292, 0, 0, 0, 0, 407, + 59, 527, 385, 389, 410, 359, 0, 0, 0, 379, + 375, 0, 404, 0, 0, 0, 0, 0, 0, 298, + 300, 288, 400, 0, 60, 528, 386, 390, 411, 408, + 0, 417, 0, 414, 412, 415, 0, 416 }; /* TAO_YYDEFGOTO[NTERM-NUM]. */ static const tao_yytype_int16 tao_yydefgoto[] = { - -1, 1, 2, 25, 112, 113, 377, 378, 577, 168, - 172, 173, 167, 171, 114, 182, 111, 120, 174, 176, - 178, 184, 185, 78, 457, 80, 28, 109, 281, 454, - 29, 110, 282, 458, 650, 578, 651, 579, 580, 649, - 733, 817, 30, 81, 31, 32, 119, 299, 470, 33, - 82, 34, 137, 295, 35, 36, 37, 121, 300, 483, - 38, 212, 368, 570, 39, 242, 40, 99, 231, 304, - 41, 42, 389, 484, 485, 602, 601, 388, 471, 591, - 598, 599, 590, 593, 592, 594, 588, 384, 462, 654, - 392, 217, 278, 105, 43, 472, 79, 269, 442, 639, - 190, 319, 409, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 410, 473, 83, 203, 270, 507, 140, 141, - 142, 143, 46, 361, 444, 642, 362, 690, 722, 770, - 363, 364, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 47, 84, 48, 169, 335, 504, 413, 505, - 610, 415, 508, 612, 715, 611, 49, 85, 50, 251, - 416, 613, 716, 759, 807, 515, 780, 808, 781, 809, - 842, 804, 782, 810, 783, 806, 805, 840, 828, 841, - 51, 52, 53, 86, 271, 445, 643, 567, 644, 724, - 568, 159, 332, 501, 160, 241, 390, 161, 333, 502, - 162, 163, 334, 503, 164, 365, 443, 563, 641, 564, - 640, 723, 474, 350, 422, 637, 720, 767, 351, 423, - 638, 721, 769, 475, 87, 272, 446, 645, 476, 662, - 734, 775, 821, 477, 596, 487, 600, 714, 758, 718, - 738, 739, 762, 786, 831, 763, 784, 830, 757, 773, - 774, 800, 819, 848, 801, 820, 849, 548, 802, 765, - 787, 832, 744, 768, 814, 791, 815, 847, 839, 850, - 860, 862, 863, 866, 478, 479, 57, 58, 59, 175, - 337, 523, 60, 215, 370, 275, 369, 417, 524, 623, - 624, 625, 626, 627, 621, 628, 352, 426, 353, 354, - 428, 527, 528, 529, 61, 177, 62, 102, 276, 451, - 647, 725, 771, 372, 450, 794, 259, 338, 536, 418, - 537, 632, 633, 538, 683, 740, 539, 684, 741, 63, - 64, 65, 66, 67, 262, 419, 634, 68, 69, 70, - 180, 261, 71, 263, 420, 635, 72, 292, 293, 73, - 183, 342, 542, 74, 374, 229, 461, 383, 582, 294, - 233, 297, 387, 430, 464, 586, 465, 75, 107, 279, - 452, 648, 729, 375, 704, 730, 705, 731, 732, 706, - 707, 530, 531, 355, 165, 330, 408, 331, 76, 77, - 108, 280, 453, 187, 268, 439, 356, 440, 357, 435, - 436, 434, 438, 441, 358, 431, 166 + -1, 1, 2, 25, 375, 376, 649, 164, 168, 169, + 163, 167, 114, 109, 118, 170, 172, 174, 178, 179, + 77, 440, 79, 28, 108, 304, 438, 29, 30, 110, + 308, 442, 600, 668, 650, 669, 651, 652, 667, 705, + 784, 31, 111, 391, 32, 33, 117, 327, 450, 34, + 80, 35, 135, 326, 36, 37, 38, 119, 328, 463, + 39, 204, 367, 531, 40, 268, 41, 97, 259, 332, + 42, 43, 396, 464, 465, 556, 555, 395, 451, 545, + 552, 553, 544, 547, 546, 548, 542, 393, 446, 601, + 243, 209, 301, 103, 44, 452, 78, 292, 427, 587, + 184, 244, 399, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 400, 453, 81, 195, 293, 475, 138, 139, + 140, 141, 47, 360, 429, 590, 361, 634, 663, 703, + 362, 363, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 48, 82, 49, 165, 336, 472, 403, 473, + 563, 405, 476, 565, 656, 564, 50, 83, 51, 276, + 406, 566, 657, 692, 740, 483, 713, 741, 714, 742, + 778, 737, 715, 743, 716, 739, 738, 776, 763, 777, + 52, 53, 54, 84, 294, 430, 591, 528, 592, 665, + 529, 157, 333, 469, 158, 267, 397, 159, 334, 470, + 160, 161, 335, 471, 162, 364, 428, 524, 589, 525, + 588, 664, 454, 350, 411, 585, 661, 700, 351, 412, + 586, 662, 702, 455, 85, 295, 431, 593, 456, 608, + 671, 708, 756, 457, 550, 467, 554, 655, 691, 659, + 675, 676, 695, 719, 766, 696, 717, 765, 690, 706, + 707, 733, 754, 786, 734, 755, 787, 511, 735, 698, + 720, 767, 681, 701, 747, 724, 748, 783, 775, 788, + 800, 802, 803, 806, 458, 459, 58, 59, 60, 171, + 338, 489, 61, 207, 369, 298, 368, 407, 490, 572, + 573, 574, 575, 576, 570, 577, 352, 415, 353, 354, + 417, 493, 494, 495, 62, 173, 63, 100, 299, 436, + 595, 666, 704, 371, 435, 727, 284, 339, 500, 408, + 501, 581, 582, 502, 627, 677, 503, 628, 678, 64, + 65, 66, 67, 68, 287, 409, 583, 69, 70, 71, + 176, 286, 72, 288, 410, 584, 73, 226, 227, 228, + 309, 443, 229, 751, 771, 752, 74, 105, 302, 437, + 598, 536, 599, 537, 596, 597, 355, 255, 325, 256, + 75, 76, 106, 303, 181, 291, 425, 356, 426, 357, + 421, 422, 420, 424 }; /* TAO_YYPACT[STATE-NUM] -- Index in TAO_YYTABLE of the portion describing STATE-NUM. */ -#define TAO_YYPACT_NINF -638 +#define TAO_YYPACT_NINF -581 static const tao_yytype_int16 tao_yypact[] = { - -638, 43, 1164, -638, -638, -638, -19, -638, -638, -638, - -638, -638, -638, 46, 91, 47, 161, -638, 46, 46, - -638, 77, 77, -638, -638, -638, -638, -20, -638, -638, - -638, -638, -638, 14, -638, -638, -638, -638, -638, -638, - 157, -638, -638, -638, -638, -638, -638, 20, -638, 124, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, 71, -638, - -638, -638, 71, -638, -638, -638, -638, 93, 114, 312, - 204, 77, 46, 535, 46, 46, 46, 46, -638, -638, - -638, 16, 46, 66, -638, 104, 46, -638, 71, 46, - 130, 144, 46, -638, 23, -638, 126, 206, 209, 160, - 165, 163, 170, 175, 179, -638, 222, -638, 186, 219, - 207, 232, 51, -638, 79, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -32, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, 124, -638, -638, -638, - 64, -638, 231, -638, 247, -638, -638, 251, 254, 256, - -638, 255, 259, 260, 262, 263, 267, 274, 268, -638, - -638, -638, 284, 285, 288, 289, -638, -638, -638, 290, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -32, -638, -638, -638, -638, -638, -638, -638, -638, -638, - 294, -638, 295, -638, -638, 297, -638, 46, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, 196, - -638, -638, 77, -638, -638, -638, -638, -638, -638, 367, - -638, 301, 338, 37, -638, -638, -638, -638, -638, -638, - -638, 291, -638, -638, -638, -638, -638, -638, -638, -638, - -638, 338, 308, 313, -638, -638, -638, -638, 286, 46, - 46, 316, 317, -638, -638, -638, 314, -638, 46, 165, - 165, -638, 319, 312, -638, -638, -638, 310, -638, -638, - -638, -638, 403, -638, -638, 77, -22, -638, -638, -638, - -638, -638, -638, 77, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, 52, 52, 52, 37, 290, -638, - -638, 315, 318, 322, 105, 22, 9, -638, -638, -638, - 320, -638, 37, 37, 37, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, 72, 349, 77, 77, -638, - -638, -638, -638, -638, 72, -638, -638, -638, -638, -638, - 306, -638, -638, -638, -638, -638, -638, -638, -638, 77, - 338, -638, -638, -638, -638, -638, -638, -638, 1242, -638, - -638, 408, -638, 323, -638, 290, 415, 329, 270, 852, - 571, -638, 290, -638, -638, -638, 326, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, -638, 330, -638, - -638, -638, -638, -638, -638, 427, 182, 674, 968, -638, - -638, 669, 391, 487, -638, 290, 46, -638, -638, 57, - 420, -638, 60, -638, 340, 346, 347, 46, 348, 362, - 286, 369, 365, 354, 368, 457, -638, 1026, 290, -638, - 77, 338, 376, 297, 377, -638, 378, -638, 1189, 374, - -638, 380, 375, -638, 383, -638, 77, -638, -638, -638, - 386, -638, -638, -638, -638, -638, -638, 628, -638, -638, - -638, -638, -638, 387, -638, -638, -638, 382, -638, -638, - 318, 322, 105, 22, 22, 9, 9, -638, -638, -638, - 37, 390, 393, 394, 397, 398, -638, -638, -638, 472, - 290, -638, -638, -638, -638, -638, -638, 77, 77, 77, - 77, 77, -638, 399, -638, -638, -638, -638, -638, -638, - -638, -638, -638, 46, 46, -638, 400, -638, -638, -638, - 1061, 910, 402, -638, 290, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, 404, - 405, 290, -638, -638, -638, -638, -638, -638, -638, -638, - 409, -638, 196, -638, -638, -638, 417, -638, 424, -638, - 425, 429, 430, 431, 432, -638, -638, -638, 433, 434, - 490, 427, 427, -638, -638, -638, -638, -638, -638, -638, - -638, 437, 46, 422, 78, 78, 78, 61, 520, 62, - 523, 442, -638, 448, 449, 450, 451, 452, 454, -638, - -638, -638, 455, 456, 491, 504, -638, 487, 46, 37, - 37, 354, 46, 505, 486, 506, -638, 528, 143, 77, - 511, 1110, -638, -638, 77, 415, -638, -638, -638, -638, - -638, -638, 597, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, 502, 502, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - 72, -638, -638, 72, -638, -638, -638, -638, 290, -638, - -638, 290, -638, -638, 502, 521, 519, 572, -638, -638, - 46, 553, 518, 509, 457, 77, -22, 607, 608, 529, - 143, 532, 533, 531, 522, -638, -638, -638, 517, 586, - 584, 584, -638, -638, -638, -638, -638, -638, 290, -638, - -638, -638, -638, -638, -638, 415, 524, -638, 584, 94, - -638, -638, 525, -638, -638, -638, -638, 584, 530, 561, - 46, 567, 541, 546, 127, 584, -638, -638, -638, -638, - -638, -638, -638, -638, 487, -638, 543, 548, -638, -638, - -638, -638, -638, 77, -638, -638, -638, -638, -638, -638, - 549, -638, -638, -638, 550, 37, 565, 569, 56, 535, - 190, -638, -638, -638, 77, 555, 290, 655, -638, 568, - 487, 627, -638, -638, -638, -638, -638, -638, -638, -638, - 46, 586, 77, 564, -638, -638, -638, -638, -638, -638, - 581, 46, 589, -638, -638, 588, -638, 77, 127, 46, - 573, -638, -638, -638, -638, 590, -638, -638, -638, -638, - 622, -638, 595, 615, -638, -638, 635, -638 + -581, 56, 1083, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, 86, 103, 33, 159, -581, 86, 86, + -581, 49, 49, -581, -581, -581, -581, 23, -581, 317, + -17, 39, -581, -581, -11, -581, -581, -581, -581, -581, + -581, 220, -581, -581, -581, -581, -581, -581, 92, -581, + 181, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, 110, + -581, -581, -581, 110, -581, -581, 123, 126, 729, 49, + 86, 576, 86, 86, 86, 86, -581, -581, -581, -5, + 86, 5, -581, 64, 86, -581, 110, 86, 131, 139, + 86, -581, 91, -581, 98, 239, 245, -581, 182, 167, + 646, 42, -581, -581, 191, 237, -581, 207, 214, 217, + 46, -581, 119, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, 233, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, 181, -581, -581, -581, -49, -581, + 226, -581, 229, 234, 235, 232, -581, 244, 248, 250, + 254, 238, 255, 256, 258, -581, -581, -581, 260, 262, + -581, -581, -581, 233, -581, -581, -581, -581, -581, -581, + -581, -581, -581, 233, -581, -581, -581, -581, -581, -581, + -581, -581, 264, -581, 266, -581, -581, 241, -581, 86, + -581, -581, -581, -581, -581, -581, -581, 729, -581, -581, + -581, 268, -581, -581, -581, -581, 319, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, 57, + 57, 57, 42, 233, -581, -581, 269, 261, 265, 140, + 73, 58, -581, -581, -581, 243, -581, -581, -581, -581, + -581, -581, -581, -581, -581, 349, -581, 271, 316, -581, + -581, -581, -581, -581, -581, -581, 263, -581, -581, -581, + -581, -581, -581, -581, -581, -581, 316, 278, 283, -581, + -581, 247, 86, 86, 286, 290, -581, -581, -581, 291, + -581, 86, 294, 241, -581, -581, 380, -581, 300, 304, + -581, -581, -581, 293, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, -581, 308, 49, -581, -581, -581, + -581, 49, -581, 42, 42, 42, -581, -581, -581, -581, + -581, -581, -581, -581, -581, 43, 342, 49, 49, -581, + -581, -581, -581, -581, 43, -581, -581, -581, -581, 297, + -581, -581, -581, -581, -581, -581, -581, -581, 49, 316, + -581, -581, -581, -581, -581, -581, 1161, 315, -581, -581, + -581, 261, 265, 140, 73, 73, 58, 58, -581, -581, + -581, 86, 42, -581, 233, 942, 768, 612, -581, -581, + -581, -581, -581, -581, -581, 246, 281, 367, 884, -581, + -581, 374, 88, -581, 233, 86, -581, -581, 62, 70, + 321, 322, 323, 86, 324, 325, 247, 329, 307, 326, + 410, -581, 977, 233, -581, 49, 316, 141, 327, 335, + -581, -581, 330, 646, -581, -581, 338, -581, -581, -581, + 343, -581, -581, -581, -581, -581, -581, 173, -581, -581, + -581, -581, -581, 344, -581, -581, -581, 348, -581, 352, + 354, 355, 351, 358, -581, -581, -581, 439, 233, -581, + -581, -581, -581, -581, -581, 49, 49, 49, -581, 361, + -581, -581, -581, -581, -581, -581, -581, 86, 86, -581, + 362, -581, -581, -581, 1035, 826, -581, 233, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + 363, 364, 233, -581, -581, -581, -581, -581, -581, -581, + -581, -581, 368, -581, 370, 371, 372, 373, 378, -581, + -581, -581, 379, 386, 449, 246, 246, -581, -581, -581, + -581, -581, -581, -581, 388, 86, 375, 75, 75, 75, + 389, -581, 391, 392, 394, 395, 396, 401, -581, -581, + -581, 402, 403, 405, 407, 88, 86, 42, 42, 307, + 86, 408, 406, 409, -581, 432, 414, 415, 416, 141, + 1136, 49, -581, -581, -581, -581, -581, -581, 498, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, 400, 400, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, 420, 233, -581, 400, 422, 418, 473, -581, + -581, 86, 454, 421, 411, 410, 49, 49, 423, 419, + -581, 412, -581, -581, -581, 417, 476, 475, 475, -581, + -581, -581, -581, -581, -581, 233, 233, -581, -581, 424, + -581, 475, 166, -581, -581, 425, -581, -581, -581, -581, + 475, 413, 470, 86, 474, 446, 434, 178, 475, -581, + -581, -581, -581, -581, -581, -581, -581, 88, -581, 447, + 437, -581, -581, -581, -581, -581, 49, -581, 537, -581, + -581, -581, -581, 438, -581, -581, -581, 457, 42, 453, + 458, 65, 576, 117, -581, -581, -581, 49, 442, 233, + -581, 459, -581, -581, 455, 88, 508, -581, -581, -581, + -581, -581, -581, -581, -581, 86, 476, 49, 448, -581, + -581, 462, -581, -581, -581, -581, 460, 86, 464, -581, + -581, 456, -581, 49, 554, 537, 178, 86, 461, -581, + -581, -581, -581, 463, -581, -581, -581, -581, -581, -581, + 483, -581, 465, 469, -581, -581, 486, -581 }; /* TAO_YYPGOTO[NTERM-NUM]. */ static const tao_yytype_int16 tao_yypgoto[] = { - -638, -638, -638, -638, -638, -638, -638, -638, 19, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, 710, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, 65, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, 225, - -638, -638, 239, -638, -638, -638, 697, -638, -638, -638, - -638, -638, -638, -638, 702, -638, 253, -638, -638, -223, - -638, -638, 298, -638, -638, -638, -638, -275, -348, -638, - -638, -638, -638, -638, -638, -638, -638, -290, -638, -638, - 11, -638, -638, -13, -638, 10, -638, -638, -638, -638, - 436, 81, -239, -638, 324, 331, 325, -102, -94, -179, - -64, -638, -297, 12, -638, -638, -638, -38, 337, -401, - -638, -638, -638, 116, -638, -638, -617, 21, -638, -638, - -5, -638, -53, -638, -638, -49, -45, -52, -50, -48, - -638, -638, -37, -638, -33, -638, -638, -638, -638, 292, - 395, -638, -289, -638, -638, -638, -31, -638, -29, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -77, -638, - -638, -638, -638, -638, -73, -638, -638, -638, -638, -638, - -638, -638, -39, -638, -638, -638, -638, -638, -638, -638, - 24, -638, -638, -638, -638, -638, -638, -62, -638, -638, - -638, -61, -638, -638, -638, -638, -638, -638, -638, 99, - -638, -638, -229, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, 13, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -637, - -638, -638, -638, -638, -638, -87, -638, -638, -638, -638, - -638, -638, -638, -638, -103, -638, -638, -453, -638, -500, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, 17, 18, -638, -638, -638, -638, - -638, -638, -638, -638, -638, 293, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -389, -331, -382, -606, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, -638, -638, - 675, -638, -638, -638, -638, -638, -638, -638, -638, -638, - -638, -638, -638, -638, 49, -638, -638, -638, -638, 168, - -638, -638, -638, -222, -4, -638, 97, -638, -638, -638, - -638, -638, -638, 473, -638, -638, 25, -638, -638, -638, - -638, -638, -638, 343, -65, -638, -638, 261, -638, -638, - -638, -638, -638, -638, -638, -638, -638, -638, 327, -638, - -638, -638, -638, -638, -638, 406, -638 + -581, -581, -581, -581, -581, -581, 18, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, 560, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -105, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, 236, + -581, -581, 19, -581, -581, -581, 551, -581, -581, -581, + -581, -581, -581, -581, 555, -581, 267, -581, -581, -257, + -581, -581, 161, -581, -581, -581, -581, -326, -358, -581, + -581, -581, -581, -581, -581, -581, -581, -313, -581, -581, + -20, -581, -581, -13, -581, 6, -581, -581, -581, -581, + 357, -15, -94, -581, 284, 288, 253, -31, -18, -103, + 34, -581, -307, 11, -581, -581, -581, -37, 179, -381, + -581, -581, -581, 10, -581, -581, -560, -83, -581, -581, + -3, -581, -56, -581, -581, -43, -42, -55, -53, -52, + -581, -581, -34, -581, -32, -581, -581, -581, -581, 149, + 272, -581, -247, -581, -581, -581, -30, -581, -26, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -159, -581, + -581, -581, -581, -581, -139, -581, -581, -581, -581, -581, + -581, -581, -38, -581, -581, -581, -581, -581, -581, -581, + -60, -581, -581, -581, -581, -581, -581, -66, -581, -581, + -581, -54, -581, -581, -581, -581, -581, -581, -581, 20, + -581, -581, -254, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, 12, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -580, + -581, -581, -581, -581, -581, -156, -581, -581, -581, -581, + -581, -581, -581, -581, -179, -581, -581, -425, -581, -498, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, 14, 17, -581, -581, -581, -581, + -581, -581, -581, -581, -581, 310, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -374, 279, -373, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + 543, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, 175, -581, -581, -166, -581, -581, -581, -581, + -581, -581, -581, 35, -581, -581, 225, -581, -581, 249, + -581, -581, -581, -581, -581, -581, -581, -581, -581, 209, + -581, -581, -581, -581 }; /* TAO_YYTABLE[TAO_YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what TAO_YYDEFACT says. If TAO_YYTABLE_NINF, syntax error. */ -#define TAO_YYTABLE_NINF -527 +#define TAO_YYTABLE_NINF -508 static const tao_yytype_int16 tao_yytable[] = { - 89, 158, 139, 154, 320, 100, 101, 155, 90, 156, - 298, 157, 44, 391, 45, 54, 201, 197, 198, 55, - 56, 26, 545, 437, 597, 695, 191, 194, 525, 195, - 192, 196, 104, 106, 193, 526, 411, 412, 339, 349, - 88, 486, 703, 3, 158, 204, 154, 719, 219, 88, - 155, 138, 156, 7, 157, 88, 243, 777, 219, 237, - 550, -63, 238, 552, 550, 552, 386, 421, -49, 202, - 535, 205, 206, 207, 208, 88, 545, 735, 396, 210, - 88, 88, 118, 213, 778, 779, 214, 239, 240, 216, - 189, 424, 200, 447, 138, 777, 17, 7, 218, -141, - 92, -142, 115, 219, 116, -303, 116, 404, 405, 406, - 305, 306, 307, 308, 309, 310, 311, 103, 402, 403, - 312, 313, 778, 779, 703, 305, 306, 307, 308, 309, - 310, 311, 103, 314, 315, 312, 313, 219, 316, 317, - 219, 219, 219, -285, 540, 386, 170, 449, 386, 243, - 243, -143, 103, 244, 317, 245, 116, 103, 219, 224, - 88, 116, 797, 798, 799, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 9, 10, 186, - 11, 134, 135, 136, 689, 88, 400, 401, 522, -101, - 509, 123, 124, 486, 116, 127, 128, 129, 130, 188, - 283, 220, 284, 700, 277, 11, 219, 199, 346, 221, - 17, 349, 222, 843, 96, -424, 285, 286, 778, 779, - 287, 197, 198, 288, 852, 497, 498, 499, 572, -496, - 191, 194, 857, 195, 192, 196, 545, 103, 193, 91, - 93, 766, -102, 296, 587, 289, 223, 116, 225, 290, - 393, 394, 395, 115, 318, 226, 359, 360, 776, 701, - 227, 320, 103, 291, 228, 373, 702, 788, 95, 98, - 230, 467, 117, -364, 5, 803, 232, 8, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - 9, 10, 235, 11, 189, -364, -364, 12, 493, 494, - 343, 344, 468, 469, -364, 234, 385, 179, 495, 496, - 13, 179, 666, 667, 385, 88, 343, 344, 236, 246, + 87, 102, 104, 156, 137, 98, 99, 152, 45, 153, + 88, 154, 191, 46, 55, 155, 56, 245, 398, 57, + 26, 136, 185, 188, 192, 189, 190, 401, 402, 340, + 639, 508, 551, 491, 492, 186, 187, 349, 466, 7, + 269, 432, 270, 156, 196, 86, 86, 152, 660, 153, + 499, 154, 86, 116, 263, 155, 3, 264, 183, 193, + 86, 136, 413, 534, 535, 513, 710, 194, 112, 197, + 198, 199, 200, 514, -140, 672, 508, 202, 86, 115, + -141, 205, 17, 504, 206, 115, 90, 208, 175, 86, + -142, 86, 175, 711, 712, 115, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 201, 7, + 203, 107, 434, 133, 134, 230, 231, 232, 233, 234, + 235, 236, 101, 101, 113, 237, 238, 265, 266, 101, + 230, 231, 232, 233, 234, 235, 236, 101, 239, 240, + 237, 238, 211, 241, 242, 711, 712, 466, 313, -100, + 211, 191, -283, 488, 115, 211, 321, 322, 323, 242, + 633, 185, 188, 192, 189, 190, 210, 710, 101, 319, + 320, 211, 349, 212, 186, 187, 86, -301, 211, 533, + 699, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 709, 711, 712, 300, 183, 133, 134, + 115, 345, 721, 166, 508, 779, 346, 549, 17, 180, + 736, 182, 94, 730, 731, 732, -422, 790, 388, 389, + 390, 317, 318, 86, -494, 534, 535, 797, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 209, 811, 211, 21, 22, 247, 248, 135, 136, 249, - 252, 701, 250, 693, 253, 254, 345, 255, 702, 256, - -364, 346, 257, 260, 347, 348, 425, -69, 429, 432, - 258, 546, 547, 511, 512, 425, 513, 837, 514, 264, - 219, 265, 437, 266, 267, 301, 158, 516, 154, -497, - 448, 273, 155, 545, 156, 303, 157, 274, 44, 302, - 45, 54, 103, 336, 340, 55, 56, 456, 381, 341, - 320, 138, 366, 367, 371, 379, 382, 427, 397, 407, - -332, 459, 398, 549, 460, 546, 547, 399, 463, 545, - 466, 500, 543, 551, 556, 553, 138, 510, 506, 489, - 88, 554, 555, 557, 544, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 9, 10, 558, - 11, 134, 135, 136, 560, 618, 620, 561, 562, 565, - 566, 571, 573, 581, 575, -10, 584, 604, 44, 583, - 45, 54, 585, 589, 603, 55, 56, 296, 727, 606, - 237, 728, 607, 608, 609, -260, 622, 631, 544, 636, - 88, -355, 646, 665, 652, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 103, 655, 656, - 657, 318, 135, 136, 658, 659, 660, 661, 663, 664, - 629, 630, 668, 674, 833, 670, 675, 676, 614, 615, - 616, 617, 619, 677, 678, 679, 680, 681, 88, 682, - 685, 686, 845, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 9, 10, 855, 11, 134, - 135, 136, 158, 158, 154, 154, 823, 103, 155, 155, - 156, 156, 157, 157, 88, 546, 547, 697, 687, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 688, 696, 698, 699, 134, 135, 136, 709, 360, - 713, 671, 672, 673, 717, 737, 736, -373, 743, 745, - 749, 750, 138, 138, 746, 103, 751, 753, 754, 755, - 760, 761, 764, 790, 756, 89, 793, -382, 785, 360, - 795, 88, 789, 691, 812, 822, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 544, 796, - 813, 103, 818, 135, 136, 824, 825, 834, 835, 836, - 708, 44, 595, 45, 54, 711, 838, 846, 55, 56, - 467, 851, -364, 5, 853, 858, 8, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, 9, - 10, 854, 11, 859, -364, -364, 12, 861, 864, 343, - 344, 468, 469, -364, 343, 344, 865, 89, 103, 13, - 867, 726, 27, 97, 726, 691, 710, 94, 541, 380, - 692, 490, 546, 547, 492, 517, 518, 488, 669, 491, - 414, 826, 21, 22, 345, 519, 748, 829, 569, 346, - 694, 742, 520, 521, 844, 856, 574, 181, 747, -364, - 653, 772, 712, 376, 433, 752, -526, 89, 546, 547, - 532, 605, 0, 0, 0, 792, 0, 559, 0, 0, - 158, 827, 154, 0, 0, 0, 155, 0, 156, 0, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, - 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, - 138, 0, 0, 0, 0, 385, 0, 0, 360, 0, - 0, 544, 0, 0, 0, 0, 360, 0, 0, 0, - 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 0, -364, 5, 0, 385, 8, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, -364, 9, 10, 0, 11, 0, -364, -364, 12, - 0, 0, 343, 344, 468, 469, -364, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 480, 481, 482, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 0, -364, 5, 21, 22, 8, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - 9, 10, -364, 11, 0, -364, -364, 12, 0, -87, - 343, 344, 468, 469, -364, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 480, 481, 482, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 0, -364, 5, 21, 22, 8, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, 9, 10, - -364, 11, 0, -364, -364, 12, 0, -509, 343, 344, - 468, 469, -364, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 533, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 534, 0, 0, 0, 0, 467, 0, -364, - 5, 21, 22, 8, -364, -364, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, 9, 10, -364, 11, - 0, -364, -364, 12, 0, -476, 343, 344, 468, 469, - -364, 0, 467, 0, -364, 5, 13, 0, 8, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, 9, 10, 0, 11, 0, -364, -364, 12, 21, - 22, 343, 344, 468, 469, -364, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 0, -364, 0, 0, 0, - 0, 4, 0, -91, 5, 455, 7, 8, 0, 0, + 9, 10, 213, 11, 132, 133, 134, 474, 214, 86, + 89, 91, 216, 101, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 9, 10, 215, 11, + 132, 133, 134, 310, 311, 312, 257, 343, 344, 358, + 359, 637, 93, 96, 86, 258, 384, 385, 372, 477, + 121, 122, 744, 260, 125, 126, 127, 128, 245, 261, + 101, 386, 387, 262, 11, -101, 394, 345, 612, 613, + 115, 394, 346, 211, 271, 347, 348, 272, 275, 273, + 274, -46, 307, -46, 281, 414, 101, 418, 419, 277, + 773, 297, 324, 278, 414, 279, 508, -46, -46, 280, + 282, -46, 283, 285, -46, 289, 509, 290, 433, -495, + 479, 480, 296, 481, 482, 315, 306, 329, 510, 330, + 316, 101, 314, 331, 341, 337, -46, 156, 484, 342, + -46, 152, 365, 153, 508, 154, 366, 136, 444, 155, + 373, 370, 45, 377, -46, 136, 478, 46, 55, 378, + 56, 509, 507, 57, 439, 379, 380, 343, 344, 392, + 416, -330, 512, 510, 441, 506, 515, 516, 517, 519, + 518, 523, 520, 527, 538, 532, 539, 526, 485, 486, + 4, 522, -8, 5, 6, 7, 8, 345, 487, 541, + 543, 557, 346, 558, 768, 347, 348, 507, 562, 9, + 10, 559, 11, 560, 561, -258, 12, 263, 571, 580, + -353, 594, 611, 602, 781, 603, 604, 605, 606, 13, + 14, 15, 16, 607, 609, 567, 568, 569, 17, 18, + 793, 610, 19, 614, 620, 20, 621, 622, 616, 623, + 624, 625, 21, 22, 578, 579, 626, 629, 630, 23, + 24, 648, 631, 245, 632, 640, 642, 641, 643, 644, + 645, 654, 658, 646, 674, 670, -52, 673, -371, 680, + 687, 694, 682, 697, 689, 722, 683, 156, 156, 509, + 693, 152, 152, 153, 153, 154, 154, -380, 718, 155, + 155, 510, 723, 726, 728, 136, 136, 729, 745, 746, + 750, 753, 757, 759, 769, 760, 772, 774, 770, 791, + 789, 782, 359, 785, 617, 618, 619, 794, 801, 792, + 805, 807, 27, 798, 688, 507, 799, 95, 804, 383, + 92, 505, 636, 87, 305, 615, 468, 359, 679, 86, + 530, 653, 761, 635, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 9, 10, 381, 11, + 132, 133, 134, 382, 764, 684, 45, 796, 404, 638, + 780, 46, 55, 374, 56, 86, 177, 57, 540, 795, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 496, 423, 647, 521, 132, 133, 134, 0, + 0, 445, 0, 0, 758, 0, 685, 686, 87, 0, + 217, 509, 218, 0, 0, 0, 101, 0, 635, 0, + 0, 0, 0, 510, 0, 0, 219, 220, 0, 0, + 221, 0, 0, 222, 0, 45, 0, 0, 0, 0, + 46, 55, 0, 56, 0, 0, 57, 0, 0, 509, + 87, 0, 101, 0, 0, 223, 0, 507, 0, 224, + 725, 510, 0, 0, 156, 762, 749, 0, 152, 0, + 153, 0, 154, 225, 0, 0, 155, 0, 0, 0, + 0, 0, 136, 0, 0, 0, 0, 394, 0, 0, + 0, 0, 86, 0, 0, 507, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 394, 0, 0, + 0, 0, 359, 0, 133, 134, 0, 0, 0, 0, + 0, 0, 0, 394, 359, 0, 0, 0, 0, 447, + 0, -362, 5, 0, 359, 8, -362, -362, -362, -362, + -362, -362, -362, -362, -362, -362, -362, -362, 9, 10, + 0, 11, 0, -362, -362, 12, 0, 0, 343, 344, + 448, 449, -362, 0, 0, 0, 0, 0, 13, 101, + 0, 0, 460, 461, 462, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 447, 0, -362, + 5, 21, 22, 8, -362, -362, -362, -362, -362, -362, + -362, -362, -362, -362, -362, -362, 9, 10, -362, 11, + 0, -362, -362, 12, 0, -86, 343, 344, 448, 449, + -362, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 460, 461, 462, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 447, 0, -362, 5, 21, + 22, 8, -362, -362, -362, -362, -362, -362, -362, -362, + -362, -362, -362, -362, 9, 10, -362, 11, 0, -362, + -362, 12, 0, -507, 343, 344, 448, 449, -362, 0, + 0, 0, 0, 0, 13, 0, 0, 0, 497, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, + 0, 0, 0, 447, 0, -362, 5, 21, 22, 8, + -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, + -362, -362, 9, 10, -362, 11, 0, -362, -362, 12, + 0, -474, 343, 344, 448, 449, -362, 0, 447, 0, + -362, 5, 13, 0, 8, -362, -362, -362, -362, -362, + -362, -362, -362, -362, -362, -362, -362, 9, 10, 0, + 11, 0, -362, -362, 12, 21, 22, 343, 344, 448, + 449, -362, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, -362, 0, 0, 0, 0, 0, 0, -68, + 0, 0, 0, 0, 0, 0, 447, 0, -362, 5, + 21, 22, 8, -362, -362, -362, -362, -362, -362, -362, + -362, -362, -362, -362, -362, 9, 10, -362, 11, 0, + -362, -362, 12, 0, -90, 343, 344, 448, 449, -362, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 0, -2, 4, 0, 0, 5, 6, 7, + 8, 0, 0, 0, 0, 0, 0, 0, 21, 22, + 0, 0, 0, 9, 10, 0, 11, 0, 0, 0, + 12, 0, 0, 0, 0, -362, 0, 0, 0, 0, + 0, 0, -498, 13, 14, 15, 16, 0, 0, 0, + 0, 0, 17, 18, 0, 0, 19, 4, 0, 20, + 5, 6, 7, 8, 0, 0, 21, 22, 0, 0, + 0, 0, 0, 23, 24, 0, 9, 10, 0, 11, + 0, 0, 4, 12, 0, 5, 6, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, + 0, 9, 10, 0, 11, 17, 18, 0, 12, 19, + 0, 0, 20, 0, 0, 0, 0, 0, 0, 21, + 22, 13, 14, 15, 16, 0, 23, 24, 648, 0, + 17, 18, 0, 0, 19, 0, 0, 20, 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, - 9, 10, 0, 11, 0, 0, 0, 12, 0, 0, - 0, -364, 0, 0, 0, 0, 0, 0, -500, 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, - 23, 24, 576, 0, 9, 10, 0, 11, 0, 0, - 4, 12, 0, 5, 455, 7, 8, -54, 0, 0, - 0, 0, 0, 0, 13, 14, 15, 16, 0, 9, - 10, 0, 11, 17, 18, 0, 12, 19, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 21, 22, 13, - 14, 15, 16, 0, 23, 24, 0, 0, 17, 18, - 0, 0, 19, 4, 0, 20, 5, 455, 7, 8, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 23, - 24, 576, 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, 0, 0, 20, 0, - 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 23, 24 + 0, 23, 24 }; static const tao_yytype_int16 tao_yycheck[] = { - 13, 40, 40, 40, 243, 18, 19, 40, 13, 40, - 232, 40, 2, 303, 2, 2, 81, 79, 79, 2, - 2, 2, 423, 354, 477, 642, 79, 79, 417, 79, - 79, 79, 21, 22, 79, 417, 333, 334, 261, 268, - 3, 389, 648, 0, 83, 83, 83, 684, 80, 3, - 83, 40, 83, 6, 83, 3, 88, 1, 80, 8, - 3, 80, 11, 3, 3, 3, 88, 342, 88, 82, - 418, 84, 85, 86, 87, 3, 477, 714, 317, 92, - 3, 3, 33, 96, 28, 29, 99, 8, 9, 102, - 79, 19, 81, 368, 83, 1, 49, 6, 75, 85, - 53, 85, 88, 80, 90, 85, 90, 98, 99, 100, + 13, 21, 22, 41, 41, 18, 19, 41, 2, 41, + 13, 41, 78, 2, 2, 41, 2, 111, 331, 2, + 2, 41, 78, 78, 78, 78, 78, 334, 335, 286, + 590, 412, 457, 407, 407, 78, 78, 291, 396, 6, + 89, 367, 91, 81, 81, 3, 3, 81, 628, 81, + 408, 81, 3, 34, 8, 81, 0, 11, 78, 79, + 3, 81, 19, 437, 437, 3, 1, 80, 85, 82, + 83, 84, 85, 3, 85, 655, 457, 90, 3, 90, + 85, 94, 49, 409, 97, 90, 53, 100, 69, 3, + 85, 3, 73, 28, 29, 90, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 89, 6, + 91, 88, 369, 25, 26, 73, 74, 75, 76, 77, + 78, 79, 80, 80, 85, 83, 84, 8, 9, 80, 73, 74, 75, 76, 77, 78, 79, 80, 96, 97, - 83, 84, 28, 29, 730, 73, 74, 75, 76, 77, - 78, 79, 80, 96, 97, 83, 84, 80, 101, 102, - 80, 80, 80, 87, 419, 88, 22, 370, 88, 88, - 88, 85, 80, 89, 102, 91, 90, 80, 80, 110, - 3, 90, 35, 36, 37, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 86, - 23, 24, 25, 26, 637, 3, 81, 82, 417, 85, - 8, 9, 10, 541, 90, 13, 14, 15, 16, 85, - 4, 75, 6, 60, 217, 23, 80, 3, 65, 3, - 49, 440, 3, 830, 53, 85, 20, 21, 28, 29, - 24, 283, 283, 27, 841, 404, 405, 406, 451, 85, - 283, 283, 849, 283, 283, 283, 637, 80, 283, 14, - 15, 741, 85, 232, 466, 49, 86, 90, 85, 53, - 314, 315, 316, 88, 243, 85, 269, 270, 758, 648, - 85, 500, 80, 67, 85, 278, 648, 767, 15, 16, - 48, 1, 33, 3, 4, 775, 90, 7, 8, 9, + 83, 84, 80, 101, 102, 28, 29, 505, 242, 85, + 80, 217, 87, 407, 90, 80, 98, 99, 100, 102, + 585, 217, 217, 217, 217, 217, 75, 1, 80, 96, + 97, 80, 426, 75, 217, 217, 3, 85, 80, 436, + 678, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 691, 28, 29, 209, 217, 25, 26, + 90, 60, 700, 22, 585, 765, 65, 34, 49, 86, + 708, 85, 53, 35, 36, 37, 85, 777, 321, 322, + 323, 81, 82, 3, 85, 599, 599, 787, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 85, 23, 283, 25, 26, 27, 400, 401, - 30, 31, 32, 33, 34, 86, 295, 68, 402, 403, - 40, 72, 601, 602, 303, 3, 30, 31, 86, 88, + 20, 21, 3, 23, 24, 25, 26, 1, 3, 3, + 14, 15, 85, 80, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 86, 23, + 24, 25, 26, 239, 240, 241, 85, 30, 31, 292, + 293, 588, 15, 16, 3, 48, 317, 318, 301, 8, + 9, 10, 717, 86, 13, 14, 15, 16, 392, 85, + 80, 319, 320, 86, 23, 85, 326, 60, 555, 556, + 90, 331, 65, 80, 88, 68, 69, 88, 86, 85, + 85, 4, 3, 6, 86, 345, 80, 347, 348, 85, + 755, 90, 89, 85, 354, 85, 717, 20, 21, 85, + 85, 24, 86, 85, 27, 85, 412, 85, 368, 85, + 406, 406, 86, 406, 406, 94, 88, 8, 412, 88, + 95, 80, 93, 47, 86, 102, 49, 405, 406, 86, + 53, 405, 86, 405, 755, 405, 86, 397, 391, 405, + 86, 90, 376, 3, 67, 405, 406, 376, 376, 89, + 376, 457, 412, 376, 376, 91, 103, 30, 31, 91, + 58, 104, 415, 457, 89, 31, 85, 85, 85, 85, + 423, 104, 87, 3, 87, 435, 86, 91, 51, 52, + 1, 92, 87, 4, 5, 6, 7, 60, 61, 91, + 87, 87, 65, 85, 747, 68, 69, 457, 87, 20, + 21, 89, 23, 89, 89, 87, 27, 8, 87, 87, + 87, 87, 3, 85, 767, 85, 85, 85, 85, 40, + 41, 42, 43, 85, 85, 485, 486, 487, 49, 50, + 783, 85, 53, 85, 85, 56, 85, 85, 103, 85, + 85, 85, 63, 64, 497, 498, 85, 85, 85, 70, + 71, 72, 87, 587, 87, 87, 87, 91, 66, 85, + 85, 3, 102, 87, 86, 85, 87, 85, 35, 55, + 87, 35, 91, 38, 102, 102, 105, 555, 556, 585, + 103, 555, 556, 555, 556, 555, 556, 103, 103, 555, + 556, 585, 62, 59, 88, 555, 556, 103, 91, 102, + 3, 103, 85, 90, 102, 87, 91, 39, 89, 85, + 90, 103, 565, 91, 567, 568, 569, 3, 75, 103, + 91, 75, 2, 102, 669, 585, 103, 16, 103, 316, + 15, 410, 587, 586, 217, 565, 397, 590, 661, 3, + 431, 601, 741, 586, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 314, 23, + 24, 25, 26, 315, 743, 665, 600, 786, 336, 589, + 766, 600, 600, 303, 600, 3, 73, 600, 443, 785, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 91, 784, 93, 63, 64, 88, 85, 25, 26, 85, - 85, 730, 86, 640, 85, 85, 60, 85, 730, 86, - 80, 65, 85, 85, 68, 69, 345, 87, 347, 348, - 86, 423, 423, 416, 416, 354, 416, 820, 416, 85, - 80, 86, 703, 85, 85, 8, 415, 416, 415, 85, - 369, 86, 415, 784, 415, 47, 415, 90, 378, 88, - 378, 378, 80, 102, 86, 378, 378, 378, 88, 86, - 639, 390, 86, 86, 90, 86, 3, 58, 93, 89, - 104, 3, 94, 426, 91, 477, 477, 95, 3, 820, - 91, 91, 31, 3, 437, 85, 415, 416, 1, 103, - 3, 85, 85, 85, 423, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 87, - 23, 24, 25, 26, 85, 520, 521, 92, 104, 91, - 3, 450, 86, 89, 87, 87, 91, 85, 458, 89, - 458, 458, 89, 87, 87, 458, 458, 466, 700, 89, - 8, 703, 89, 89, 87, 87, 87, 87, 477, 87, - 3, 87, 87, 3, 85, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 80, 91, 85, - 85, 500, 25, 26, 85, 85, 85, 85, 85, 85, - 533, 534, 85, 3, 814, 103, 3, 85, 517, 518, - 519, 520, 521, 85, 85, 85, 85, 85, 3, 85, - 85, 85, 832, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 847, 23, 24, - 25, 26, 601, 602, 601, 602, 805, 80, 601, 602, - 601, 602, 601, 602, 3, 637, 637, 91, 87, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 87, 87, 87, 66, 24, 25, 26, 87, 612, - 3, 614, 615, 616, 102, 86, 85, 35, 55, 91, - 3, 3, 601, 602, 105, 80, 87, 85, 85, 88, - 103, 35, 38, 62, 102, 638, 59, 103, 103, 642, - 89, 3, 102, 638, 91, 85, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 637, 103, - 102, 80, 103, 25, 26, 90, 87, 102, 3, 91, - 649, 651, 34, 651, 651, 654, 39, 103, 651, 651, - 1, 90, 3, 4, 85, 102, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 103, 23, 103, 25, 26, 27, 75, 103, 30, - 31, 32, 33, 34, 30, 31, 91, 720, 80, 40, - 75, 700, 2, 16, 703, 720, 651, 15, 420, 283, - 639, 397, 784, 784, 399, 51, 52, 390, 612, 398, - 335, 808, 63, 64, 60, 61, 725, 810, 446, 65, - 641, 720, 68, 69, 831, 848, 453, 72, 724, 80, - 582, 755, 655, 280, 348, 730, 87, 770, 820, 820, - 417, 500, -1, -1, -1, 770, -1, 440, -1, -1, - 809, 809, 809, -1, -1, -1, 809, -1, 809, -1, - 809, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 784, -1, -1, -1, -1, - -1, -1, -1, -1, 793, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 830, -1, -1, - 809, -1, -1, -1, -1, 814, -1, -1, 841, -1, - -1, 820, -1, -1, -1, -1, 849, -1, -1, -1, - -1, -1, -1, 832, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, 3, 4, -1, 847, 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, 3, 4, 63, 64, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 80, 23, -1, 25, 26, 27, -1, 87, - 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, 44, 45, 46, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 63, 64, 7, 8, 9, 10, 11, + 18, 19, 407, 354, 599, 426, 24, 25, 26, -1, + -1, 392, -1, -1, 738, -1, 666, 667, 661, -1, + 4, 717, 6, -1, -1, -1, 80, -1, 661, -1, + -1, -1, -1, 717, -1, -1, 20, 21, -1, -1, + 24, -1, -1, 27, -1, 669, -1, -1, -1, -1, + 669, 669, -1, 669, -1, -1, 669, -1, -1, 755, + 703, -1, 80, -1, -1, 49, -1, 717, -1, 53, + 703, 755, -1, -1, 742, 742, 726, -1, 742, -1, + 742, -1, 742, 67, -1, -1, 742, -1, -1, -1, + -1, -1, 742, -1, -1, -1, -1, 747, -1, -1, + -1, -1, 3, -1, -1, 755, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 767, -1, -1, + -1, -1, 765, -1, 25, 26, -1, -1, -1, -1, + -1, -1, -1, 783, 777, -1, -1, -1, -1, 1, + -1, 3, 4, -1, 787, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 80, 23, -1, 25, 26, 27, -1, 87, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 54, -1, -1, -1, -1, 1, -1, 3, + -1, 23, -1, 25, 26, 27, -1, -1, 30, 31, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 80, + -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 63, 64, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 80, 23, -1, 25, 26, 27, -1, 87, 30, 31, 32, 33, - 34, -1, 1, -1, 3, 4, 40, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, 25, 26, 27, 63, - 64, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, -1, 80, -1, -1, -1, - -1, 1, -1, 87, 4, 5, 6, 7, -1, -1, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, 3, 4, 63, + 64, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 80, 23, -1, 25, + 26, 27, -1, 87, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, 40, -1, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, + -1, -1, -1, 1, -1, 3, 4, 63, 64, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 80, 23, -1, 25, 26, 27, + -1, 87, 30, 31, 32, 33, 34, -1, 1, -1, + 3, 4, 40, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + 23, -1, 25, 26, 27, 63, 64, 30, 31, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, + -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, + 63, 64, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 80, 23, -1, + 25, 26, 27, -1, 87, 30, 31, 32, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, + 7, -1, -1, -1, -1, -1, -1, -1, 63, 64, + -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, + 27, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, 87, 40, 41, 42, 43, -1, -1, -1, + -1, -1, 49, 50, -1, -1, 53, 1, -1, 56, + 4, 5, 6, 7, -1, -1, 63, 64, -1, -1, + -1, -1, -1, 70, 71, -1, 20, 21, -1, 23, + -1, -1, 1, 27, -1, 4, 5, 6, 7, -1, + -1, -1, -1, -1, -1, -1, 40, 41, 42, 43, + -1, 20, 21, -1, 23, 49, 50, -1, 27, 53, + -1, -1, 56, -1, -1, -1, -1, -1, -1, 63, + 64, 40, 41, 42, 43, -1, 70, 71, 72, -1, + 49, 50, -1, -1, 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, -1, 27, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, 87, -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, - 70, 71, 72, -1, 20, 21, -1, 23, -1, -1, - 1, 27, -1, 4, 5, 6, 7, 87, -1, -1, - -1, -1, -1, -1, 40, 41, 42, 43, -1, 20, - 21, -1, 23, 49, 50, -1, 27, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, 63, 64, 40, - 41, 42, 43, -1, 70, 71, -1, -1, 49, 50, - -1, -1, 53, 1, -1, 56, 4, 5, 6, 7, - -1, -1, 63, 64, -1, -1, -1, -1, -1, 70, - 71, 72, 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, -1, -1, 56, -1, - -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, - -1, -1, 70, 71 + -1, 70, 71 }; /* TAO_YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1777,90 +1712,84 @@ static const tao_yytype_uint16 tao_yystos[] = { 0, 107, 108, 0, 1, 4, 5, 6, 7, 20, 21, 23, 27, 40, 41, 42, 43, 49, 50, 53, - 56, 63, 64, 70, 71, 109, 114, 130, 132, 136, - 148, 150, 151, 155, 157, 160, 161, 162, 166, 170, - 172, 176, 177, 200, 201, 219, 228, 248, 250, 262, - 264, 286, 287, 288, 329, 380, 381, 382, 383, 384, - 388, 410, 412, 435, 436, 437, 438, 439, 443, 444, - 445, 448, 452, 455, 459, 473, 494, 495, 129, 202, - 131, 149, 156, 220, 249, 263, 289, 330, 3, 199, - 236, 155, 53, 155, 170, 172, 53, 162, 172, 173, - 199, 199, 413, 80, 196, 199, 196, 474, 496, 133, - 137, 122, 110, 111, 120, 88, 90, 158, 460, 152, - 123, 163, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 24, 25, 26, 158, 196, 223, - 224, 225, 226, 227, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 250, 262, 264, 288, 297, - 300, 303, 306, 307, 310, 490, 512, 118, 115, 251, - 22, 119, 116, 117, 124, 385, 125, 411, 126, 158, - 446, 446, 121, 456, 127, 128, 86, 499, 85, 196, - 206, 238, 241, 242, 243, 244, 245, 303, 307, 3, - 196, 490, 199, 221, 223, 199, 199, 199, 199, 158, - 199, 158, 167, 199, 199, 389, 199, 197, 75, 80, - 75, 3, 3, 86, 460, 85, 85, 85, 85, 461, - 48, 174, 90, 466, 86, 85, 86, 8, 11, 8, - 9, 301, 171, 88, 89, 91, 88, 88, 85, 85, - 86, 265, 85, 85, 85, 85, 86, 85, 86, 422, - 85, 447, 440, 449, 85, 86, 85, 85, 500, 203, - 222, 290, 331, 86, 90, 391, 414, 199, 198, 475, - 497, 134, 138, 4, 6, 20, 21, 24, 27, 49, - 53, 67, 453, 454, 465, 159, 196, 467, 469, 153, - 164, 8, 88, 47, 175, 73, 74, 75, 76, 77, - 78, 79, 83, 84, 96, 97, 101, 102, 196, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 491, 493, 298, 304, 308, 252, 102, 386, 423, 175, - 86, 86, 457, 30, 31, 60, 65, 68, 69, 318, - 319, 324, 402, 404, 405, 489, 502, 504, 510, 199, - 199, 229, 232, 236, 237, 311, 86, 86, 168, 392, - 390, 90, 419, 199, 460, 479, 479, 112, 113, 86, - 206, 88, 3, 463, 193, 196, 88, 468, 183, 178, - 302, 193, 196, 216, 216, 216, 208, 93, 94, 95, - 81, 82, 96, 97, 98, 99, 100, 89, 492, 208, + 56, 63, 64, 70, 71, 109, 112, 127, 129, 133, + 134, 147, 150, 151, 155, 157, 160, 161, 162, 166, + 170, 172, 176, 177, 200, 201, 219, 228, 248, 250, + 262, 264, 286, 287, 288, 329, 380, 381, 382, 383, + 384, 388, 410, 412, 435, 436, 437, 438, 439, 443, + 444, 445, 448, 452, 462, 476, 477, 126, 202, 128, + 156, 220, 249, 263, 289, 330, 3, 199, 236, 155, + 53, 155, 170, 172, 53, 162, 172, 173, 199, 199, + 413, 80, 196, 199, 196, 463, 478, 88, 130, 119, + 135, 148, 85, 85, 118, 90, 158, 152, 120, 163, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 24, 25, 26, 158, 196, 223, 224, 225, + 226, 227, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 250, 262, 264, 288, 297, 300, 303, + 306, 307, 310, 116, 113, 251, 22, 117, 114, 115, + 121, 385, 122, 411, 123, 158, 446, 446, 124, 125, + 86, 480, 85, 196, 206, 238, 241, 242, 243, 244, + 245, 303, 307, 196, 199, 221, 223, 199, 199, 199, + 199, 158, 199, 158, 167, 199, 199, 389, 199, 197, + 75, 80, 75, 3, 3, 86, 85, 4, 6, 20, + 21, 24, 27, 49, 53, 67, 453, 454, 455, 458, + 73, 74, 75, 76, 77, 78, 79, 83, 84, 96, + 97, 101, 102, 196, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 473, 475, 85, 48, 174, + 86, 85, 86, 8, 11, 8, 9, 301, 171, 89, + 91, 88, 88, 85, 85, 86, 265, 85, 85, 85, + 85, 86, 85, 86, 422, 85, 447, 440, 449, 85, + 85, 481, 203, 222, 290, 331, 86, 90, 391, 414, + 199, 198, 464, 479, 131, 206, 88, 3, 136, 456, + 216, 216, 216, 208, 93, 94, 95, 81, 82, 96, + 97, 98, 99, 100, 89, 474, 159, 153, 164, 8, + 88, 47, 175, 298, 304, 308, 252, 102, 386, 423, + 175, 86, 86, 30, 31, 60, 65, 68, 69, 318, + 319, 324, 402, 404, 405, 472, 483, 485, 199, 199, + 229, 232, 236, 237, 311, 86, 86, 168, 392, 390, + 90, 419, 199, 86, 391, 110, 111, 3, 89, 91, + 103, 210, 211, 212, 213, 213, 214, 214, 215, 215, + 215, 149, 91, 193, 196, 183, 178, 302, 193, 208, 218, 218, 218, 254, 256, 257, 266, 393, 425, 441, - 450, 183, 320, 325, 19, 196, 403, 58, 406, 196, - 469, 511, 196, 511, 507, 505, 506, 403, 508, 501, - 503, 509, 204, 312, 230, 291, 332, 183, 196, 175, - 420, 415, 476, 498, 135, 5, 114, 130, 139, 3, - 91, 462, 194, 3, 470, 472, 91, 1, 32, 33, + 450, 320, 325, 19, 196, 403, 58, 406, 196, 196, + 488, 486, 487, 403, 489, 482, 484, 204, 312, 230, + 291, 332, 183, 196, 175, 420, 415, 465, 132, 112, + 127, 89, 137, 457, 199, 475, 194, 1, 32, 33, 154, 184, 201, 219, 318, 329, 334, 339, 380, 381, - 44, 45, 46, 165, 179, 180, 184, 341, 224, 103, - 210, 211, 212, 213, 213, 214, 214, 215, 215, 215, - 91, 299, 305, 309, 253, 255, 1, 223, 258, 8, - 196, 238, 243, 244, 245, 271, 288, 51, 52, 61, - 68, 69, 318, 387, 394, 402, 404, 407, 408, 409, - 487, 488, 489, 44, 54, 184, 424, 426, 429, 432, - 183, 178, 458, 31, 196, 225, 303, 307, 363, 199, - 3, 3, 3, 85, 85, 85, 199, 85, 87, 504, - 85, 92, 104, 313, 315, 91, 3, 293, 296, 255, - 169, 196, 175, 86, 391, 87, 72, 114, 141, 143, - 144, 89, 464, 89, 91, 89, 471, 469, 192, 87, - 188, 185, 190, 189, 191, 34, 340, 363, 186, 187, - 342, 182, 181, 87, 85, 493, 89, 89, 89, 87, - 256, 261, 259, 267, 196, 196, 196, 196, 490, 196, - 490, 400, 87, 395, 396, 397, 398, 399, 401, 199, - 199, 87, 427, 428, 442, 451, 87, 321, 326, 205, - 316, 314, 231, 292, 294, 333, 87, 416, 477, 145, - 140, 142, 85, 465, 195, 91, 85, 85, 85, 85, - 85, 85, 335, 85, 85, 3, 258, 258, 85, 229, - 103, 199, 199, 199, 3, 3, 85, 85, 85, 85, - 85, 85, 85, 430, 433, 85, 85, 87, 87, 363, - 233, 236, 207, 218, 315, 232, 87, 91, 87, 66, - 60, 402, 404, 405, 480, 482, 485, 486, 196, 87, - 143, 196, 472, 3, 343, 260, 268, 102, 345, 345, - 322, 327, 234, 317, 295, 417, 196, 469, 469, 478, - 481, 483, 484, 146, 336, 345, 85, 86, 346, 347, - 431, 434, 233, 55, 368, 91, 105, 296, 196, 3, - 3, 87, 482, 85, 85, 88, 102, 354, 344, 269, - 103, 35, 348, 351, 38, 365, 365, 323, 369, 328, - 235, 418, 470, 355, 356, 337, 365, 1, 28, 29, - 272, 274, 278, 280, 352, 103, 349, 366, 365, 102, - 62, 371, 236, 59, 421, 89, 103, 35, 36, 37, - 357, 360, 364, 365, 277, 282, 281, 270, 273, 275, - 279, 363, 91, 102, 370, 372, 196, 147, 103, 358, - 361, 338, 85, 208, 90, 87, 274, 223, 284, 280, - 353, 350, 367, 193, 102, 3, 91, 363, 39, 374, - 283, 285, 276, 232, 351, 193, 103, 373, 359, 362, - 375, 90, 232, 85, 103, 193, 360, 232, 102, 103, + 44, 45, 46, 165, 179, 180, 184, 341, 224, 299, + 305, 309, 253, 255, 1, 223, 258, 8, 196, 238, + 243, 244, 245, 271, 288, 51, 52, 61, 318, 387, + 394, 402, 404, 407, 408, 409, 472, 44, 54, 184, + 424, 426, 429, 432, 183, 178, 31, 196, 225, 303, + 307, 363, 199, 3, 3, 85, 85, 85, 199, 85, + 87, 485, 92, 104, 313, 315, 91, 3, 293, 296, + 255, 169, 196, 175, 402, 404, 467, 469, 87, 86, + 458, 91, 192, 87, 188, 185, 190, 189, 191, 34, + 340, 363, 186, 187, 342, 182, 181, 87, 85, 89, + 89, 89, 87, 256, 261, 259, 267, 196, 196, 196, + 400, 87, 395, 396, 397, 398, 399, 401, 199, 199, + 87, 427, 428, 442, 451, 321, 326, 205, 316, 314, + 231, 292, 294, 333, 87, 416, 470, 471, 466, 468, + 138, 195, 85, 85, 85, 85, 85, 85, 335, 85, + 85, 3, 258, 258, 85, 229, 103, 199, 199, 199, + 85, 85, 85, 85, 85, 85, 85, 430, 433, 85, + 85, 87, 87, 363, 233, 236, 207, 218, 315, 232, + 87, 91, 87, 66, 85, 85, 87, 469, 72, 112, + 140, 142, 143, 196, 3, 343, 260, 268, 102, 345, + 345, 322, 327, 234, 317, 295, 417, 144, 139, 141, + 85, 336, 345, 85, 86, 346, 347, 431, 434, 233, + 55, 368, 91, 105, 296, 196, 196, 87, 142, 102, + 354, 344, 269, 103, 35, 348, 351, 38, 365, 365, + 323, 369, 328, 235, 418, 145, 355, 356, 337, 365, + 1, 28, 29, 272, 274, 278, 280, 352, 103, 349, + 366, 365, 102, 62, 371, 236, 59, 421, 88, 103, + 35, 36, 37, 357, 360, 364, 365, 277, 282, 281, + 270, 273, 275, 279, 363, 91, 102, 370, 372, 196, + 3, 459, 461, 103, 358, 361, 338, 85, 208, 90, + 87, 274, 223, 284, 280, 353, 350, 367, 193, 102, + 89, 460, 91, 363, 39, 374, 283, 285, 276, 232, + 351, 193, 103, 373, 146, 91, 359, 362, 375, 90, + 232, 85, 103, 193, 3, 461, 360, 232, 102, 103, 376, 75, 377, 378, 103, 91, 379, 75 }; @@ -2664,7 +2593,13 @@ tao_yyreduce: TAO_YY_REDUCE_PRINT (tao_yyn); switch (tao_yyn) { - case 6: + case 5: + + { + } + break; + + case 6: { } @@ -2676,23 +2611,27 @@ tao_yyreduce: } break; - case 8: + case 11: { +// fixed_definition : type_dcl + idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } break; - case 9: + case 12: { +// ';' + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; case 13: { -// fixed_definition : type_dcl - idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); +// | typeid_dcl + idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } break; @@ -2707,8 +2646,8 @@ tao_yyreduce: case 15: { -// | typeid_dcl - idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); +// | typeprefix_dcl + idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } break; @@ -2723,8 +2662,8 @@ tao_yyreduce: case 17: { -// | typeprefix_dcl - idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); +// | const_dcl + idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } break; @@ -2739,8 +2678,8 @@ tao_yyreduce: case 19: { -// | const_dcl - idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); +// | exception + idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } break; @@ -2748,15 +2687,15 @@ tao_yyreduce: { // ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; case 21: { -// | exception - idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); +// | interface_def + idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } break; @@ -2764,15 +2703,15 @@ tao_yyreduce: { // ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; case 23: { -// | interface_def - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); +// | fixed_module + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } break; @@ -2787,8 +2726,8 @@ tao_yyreduce: case 25: { -// | template_interface_def - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); +// | value_def + idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } break; @@ -2803,8 +2742,8 @@ tao_yyreduce: case 27: { -// | fixed_module - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); +// | component + idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } break; @@ -2819,8 +2758,8 @@ tao_yyreduce: case 29: { -// | value_def - idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); +// | home_decl + idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } break; @@ -2835,8 +2774,8 @@ tao_yyreduce: case 31: { -// | component - idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); +// | event + idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } break; @@ -2851,8 +2790,8 @@ tao_yyreduce: case 33: { -// | home_decl - idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); +// | porttype_decl + idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } break; @@ -2867,8 +2806,8 @@ tao_yyreduce: case 35: { -// | event - idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); +// | connector_decl + idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } break; @@ -2883,8 +2822,8 @@ tao_yyreduce: case 37: { -// | porttype_decl - idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); +// | error + idl_global->err()->syntax_error (idl_global->parse_state()); } break; @@ -2893,111 +2832,101 @@ tao_yyreduce: { // ';' idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + tao_yyerrok; } break; case 39: { -// | connector_decl - idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); +// module : IDL_MODULE + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } break; case 40: { -// ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); +// UTL_ScopedName n ($3, 0); + AST_Module *m = 0; + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); + + /* + * Make a new module and add it to the enclosing scope + */ + if (s != 0) + { + m = idl_global->gen ()->create_module (s, + (tao_yyvsp[(3) - (3)].idlist)); + (void) s->fe_add_module (m); + } + + /* + * Push it on the stack + */ + idl_global->scopes ().push (m); } break; case 41: { -// | error - idl_global->err()->syntax_error (idl_global->parse_state()); +// fixed_module : module_header + // Check that scoped name contains no delimitor. } break; case 42: { -// ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); - tao_yyerrok; +// '{' + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } break; case 43: { -// module : IDL_MODULE - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); - } +// at_least_one_fixed_definition + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); + } break; case 44: { -// IDENTIFIER - Identifier id ((tao_yyvsp[(3) - (3)].strval)); - ACE::strdelete ((tao_yyvsp[(3) - (3)].strval)); - (tao_yyvsp[(3) - (3)].strval) = 0; - UTL_ScopedName n (&id, - 0); - AST_Module *m = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); - /* - * Make a new module and add it to the enclosing scope - */ - if (s != 0) - { - m = idl_global->gen ()->create_module (s, - &n); - (void) s->fe_add_module (m); - } - /* - * Push it on the stack - */ - idl_global->scopes ().push (m); - } - break; - - case 45: - - { - } +// '}' + idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); + /* + * Finished with this module - pop it from the scope stack. + */ + idl_global->scopes ().pop (); + } break; case 46: { -// '{' - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); - } +// template_module : template_module_header + // Check that scoped name contains no delimitor. + } break; case 47: { -// at_least_one_fixed_definition - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); - } + } break; case 48: { -// '}' - idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); - /* - * Finished with this module - pop it from the scope stack. - */ - idl_global->scopes ().pop (); - } +// '>' +// idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceQsSeen); +// $$ = $4; + } break; case 49: @@ -3018,13 +2947,13 @@ tao_yyreduce: } break; - case 52: + case 57: { } break; - case 53: + case 58: { } @@ -3060,13 +2989,7 @@ tao_yyreduce: } break; - case 64: - - { - } - break; - - case 67: + case 66: { // interface : interface_header @@ -3108,7 +3031,7 @@ tao_yyreduce: } break; - case 68: + case 67: { // '{' @@ -3116,7 +3039,7 @@ tao_yyreduce: } break; - case 69: + case 68: { // exports @@ -3124,7 +3047,7 @@ tao_yyreduce: } break; - case 70: + case 69: { // '}' @@ -3137,7 +3060,7 @@ tao_yyreduce: } break; - case 71: + case 70: { // interface_decl : IDL_INTERFACE @@ -3145,7 +3068,7 @@ tao_yyreduce: } break; - case 72: + case 71: { // id @@ -3154,7 +3077,7 @@ tao_yyreduce: } break; - case 73: + case 72: { // interface_header : interface_decl inheritance_spec @@ -3194,7 +3117,7 @@ tao_yyreduce: } break; - case 74: + case 73: { // | IDL_LOCAL interface_decl inheritance_spec @@ -3227,7 +3150,7 @@ tao_yyreduce: } break; - case 75: + case 74: { // | IDL_ABSTRACT interface_decl inheritance_spec @@ -3260,7 +3183,7 @@ tao_yyreduce: } break; - case 76: + case 75: { // inheritance_spec : ':' opt_truncatable @@ -3268,7 +3191,7 @@ tao_yyreduce: } break; - case 77: + case 76: { // at_least_one_scoped_name @@ -3277,7 +3200,7 @@ tao_yyreduce: } break; - case 78: + case 77: { /* | EMPTY */ @@ -3285,7 +3208,7 @@ tao_yyreduce: } break; - case 83: + case 82: { // valuetype : IDL_CUSTOM value_concrete_decl @@ -3299,7 +3222,7 @@ tao_yyreduce: } break; - case 85: + case 84: { // value_concrete_decl : value_header @@ -3346,7 +3269,7 @@ tao_yyreduce: } break; - case 86: + case 85: { // '{' @@ -3354,7 +3277,7 @@ tao_yyreduce: } break; - case 87: + case 86: { // value_elements @@ -3362,7 +3285,7 @@ tao_yyreduce: } break; - case 88: + case 87: { // '}' @@ -3385,7 +3308,7 @@ tao_yyreduce: } break; - case 89: + case 88: { // value_abs_decl : IDL_ABSTRACT value_header @@ -3427,7 +3350,7 @@ tao_yyreduce: } break; - case 90: + case 89: { // '{' @@ -3435,7 +3358,7 @@ tao_yyreduce: } break; - case 91: + case 90: { // exports @@ -3443,7 +3366,7 @@ tao_yyreduce: } break; - case 92: + case 91: { // '}' @@ -3456,7 +3379,7 @@ tao_yyreduce: } break; - case 93: + case 92: { // value_header : value_decl inheritance_spec @@ -3464,7 +3387,7 @@ tao_yyreduce: } break; - case 94: + case 93: { // supports_spec @@ -3497,7 +3420,7 @@ tao_yyreduce: } break; - case 95: + case 94: { // value_decl : IDL_VALUETYPE @@ -3505,7 +3428,7 @@ tao_yyreduce: } break; - case 96: + case 95: { // id @@ -3514,7 +3437,7 @@ tao_yyreduce: } break; - case 97: + case 96: { // opt_truncatable : IDL_TRUNCATABLE @@ -3522,7 +3445,7 @@ tao_yyreduce: } break; - case 98: + case 97: { /* | EMPTY */ @@ -3530,7 +3453,7 @@ tao_yyreduce: } break; - case 99: + case 98: { // supports_spec : IDL_SUPPORTS at_least_one_scoped_name @@ -3538,7 +3461,7 @@ tao_yyreduce: } break; - case 100: + case 99: { /* | EMPTY */ @@ -3546,7 +3469,7 @@ tao_yyreduce: } break; - case 101: + case 100: { // value_forward_decl : IDL_ABSTRACT value_decl @@ -3573,7 +3496,7 @@ tao_yyreduce: } break; - case 102: + case 101: { // | value_decl @@ -3600,7 +3523,7 @@ tao_yyreduce: } break; - case 103: + case 102: { // value_box_decl : value_decl type_spec @@ -3665,7 +3588,7 @@ tao_yyreduce: } break; - case 109: + case 108: { // state_member : IDL_PUBLIC @@ -3674,7 +3597,7 @@ tao_yyreduce: } break; - case 111: + case 110: { // IDL_PRIVATE @@ -3683,7 +3606,7 @@ tao_yyreduce: } break; - case 115: + case 114: { // export : type_dcl @@ -3691,7 +3614,7 @@ tao_yyreduce: } break; - case 116: + case 115: { // ';' @@ -3699,7 +3622,7 @@ tao_yyreduce: } break; - case 117: + case 116: { // | typeid_dcl @@ -3707,7 +3630,7 @@ tao_yyreduce: } break; - case 118: + case 117: { // ';' @@ -3715,7 +3638,7 @@ tao_yyreduce: } break; - case 119: + case 118: { // | typeprefix_dcl @@ -3723,7 +3646,7 @@ tao_yyreduce: } break; - case 120: + case 119: { // ';' @@ -3731,7 +3654,7 @@ tao_yyreduce: } break; - case 121: + case 120: { // | const_dcl @@ -3739,7 +3662,7 @@ tao_yyreduce: } break; - case 122: + case 121: { // ';' @@ -3747,7 +3670,7 @@ tao_yyreduce: } break; - case 123: + case 122: { // | exception @@ -3755,7 +3678,7 @@ tao_yyreduce: } break; - case 124: + case 123: { // ';' @@ -3763,7 +3686,7 @@ tao_yyreduce: } break; - case 125: + case 124: { // | attribute @@ -3771,7 +3694,7 @@ tao_yyreduce: } break; - case 126: + case 125: { // ';' @@ -3779,7 +3702,7 @@ tao_yyreduce: } break; - case 127: + case 126: { // | operation @@ -3787,7 +3710,7 @@ tao_yyreduce: } break; - case 128: + case 127: { // ';' @@ -3795,7 +3718,7 @@ tao_yyreduce: } break; - case 129: + case 128: { // | error @@ -3803,7 +3726,7 @@ tao_yyreduce: } break; - case 130: + case 129: { // ';' @@ -3812,7 +3735,7 @@ tao_yyreduce: } break; - case 131: + case 130: { // at_least_one_scoped_name : scoped_name scoped_names @@ -3823,7 +3746,7 @@ tao_yyreduce: } break; - case 132: + case 131: { // scoped_names : scoped_names ',' @@ -3831,7 +3754,7 @@ tao_yyreduce: } break; - case 133: + case 132: { // scoped_name @@ -3857,7 +3780,7 @@ tao_yyreduce: } break; - case 134: + case 133: { /* | EMPTY */ @@ -3865,7 +3788,7 @@ tao_yyreduce: } break; - case 135: + case 134: { // scoped_name : id @@ -3878,7 +3801,7 @@ tao_yyreduce: } break; - case 136: + case 135: { // | IDL_SCOPE_DELIMITOR @@ -3886,7 +3809,7 @@ tao_yyreduce: } break; - case 137: + case 136: { // id @@ -3910,7 +3833,7 @@ tao_yyreduce: } break; - case 138: + case 137: { // | scoped_name IDL_SCOPE_DELIMITOR @@ -3924,7 +3847,7 @@ tao_yyreduce: } break; - case 139: + case 138: { // id @@ -3940,7 +3863,7 @@ tao_yyreduce: } break; - case 140: + case 139: { // id: IDENTIFIER @@ -3952,7 +3875,7 @@ tao_yyreduce: } break; - case 141: + case 140: { // interface_forward : interface_decl @@ -4000,7 +3923,7 @@ tao_yyreduce: } break; - case 142: + case 141: { // | IDL_LOCAL interface_decl @@ -4030,7 +3953,7 @@ tao_yyreduce: } break; - case 143: + case 142: { // | IDL_ABSTRACT interface_decl @@ -4060,7 +3983,7 @@ tao_yyreduce: } break; - case 144: + case 143: { // const_dcl : IDL_CONST @@ -4068,7 +3991,7 @@ tao_yyreduce: } break; - case 145: + case 144: { // const_type @@ -4076,7 +3999,7 @@ tao_yyreduce: } break; - case 146: + case 145: { // id @@ -4084,7 +4007,7 @@ tao_yyreduce: } break; - case 147: + case 146: { // '=' @@ -4092,7 +4015,7 @@ tao_yyreduce: } break; - case 148: + case 147: { // expression @@ -4141,7 +4064,7 @@ tao_yyreduce: } break; - case 155: + case 154: { // const_type @@ -4156,7 +4079,7 @@ tao_yyreduce: } break; - case 156: + case 155: { // | wstring_type_spec @@ -4164,7 +4087,7 @@ tao_yyreduce: } break; - case 157: + case 156: { // | scoped_name @@ -4240,7 +4163,7 @@ tao_yyreduce: } break; - case 161: + case 160: { // or_expr : xor_expr @@ -4254,7 +4177,7 @@ tao_yyreduce: } break; - case 163: + case 162: { // xor_expr : and_expr @@ -4268,7 +4191,7 @@ tao_yyreduce: } break; - case 165: + case 164: { // and_expr : shift_expr | and_expr '&' shift_expr @@ -4281,7 +4204,7 @@ tao_yyreduce: } break; - case 167: + case 166: { // shift_expr : add_expr | shift_expr IDL_LEFT_SHIFT add_expr @@ -4294,7 +4217,7 @@ tao_yyreduce: } break; - case 168: + case 167: { // | shift_expr IDL_RIGHT_SHIFT add_expr @@ -4307,7 +4230,7 @@ tao_yyreduce: } break; - case 170: + case 169: { // add_expr : mult_expr | add_expr '+' mult_expr @@ -4320,7 +4243,7 @@ tao_yyreduce: } break; - case 171: + case 170: { // | add_expr '-' mult_expr @@ -4333,7 +4256,7 @@ tao_yyreduce: } break; - case 173: + case 172: { // mult_expr : unary_expr | mult_expr '*' unary_expr @@ -4346,7 +4269,7 @@ tao_yyreduce: } break; - case 174: + case 173: { // | mult_expr '/' unary_expr @@ -4359,7 +4282,7 @@ tao_yyreduce: } break; - case 175: + case 174: { // | mult_expr '%' unary_expr @@ -4372,7 +4295,7 @@ tao_yyreduce: } break; - case 177: + case 176: { // unary_expr : primary_expr | '+' primary_expr @@ -4385,7 +4308,7 @@ tao_yyreduce: } break; - case 178: + case 177: { // | '-' primary_expr @@ -4398,7 +4321,7 @@ tao_yyreduce: } break; - case 179: + case 178: { // | '~' primary_expr @@ -4411,7 +4334,7 @@ tao_yyreduce: } break; - case 180: + case 179: { // primary_expr : scoped_name @@ -4449,7 +4372,7 @@ tao_yyreduce: } break; - case 182: + case 181: { // | literal @@ -4458,7 +4381,7 @@ tao_yyreduce: } break; - case 183: + case 182: { // literal : IDL_INTEGER_LITERAL @@ -4466,7 +4389,7 @@ tao_yyreduce: } break; - case 184: + case 183: { // | IDL_UINTEGER_LITERAL @@ -4476,7 +4399,7 @@ tao_yyreduce: } break; - case 185: + case 184: { // | IDL_STRING_LITERAL @@ -4487,7 +4410,7 @@ tao_yyreduce: } break; - case 186: + case 185: { // | IDL_WSTRING_LITERAL @@ -4495,7 +4418,7 @@ tao_yyreduce: } break; - case 187: + case 186: { // | IDL_CHARACTER_LITERAL @@ -4503,7 +4426,7 @@ tao_yyreduce: } break; - case 188: + case 187: { // | IDL_WCHAR_LITERAL @@ -4512,7 +4435,7 @@ tao_yyreduce: } break; - case 189: + case 188: { // | IDL_FLOATING_PT_LITERAL @@ -4520,7 +4443,7 @@ tao_yyreduce: } break; - case 190: + case 189: { // | IDL_TRUETOK @@ -4528,7 +4451,7 @@ tao_yyreduce: } break; - case 191: + case 190: { // | IDL_FALSETOK @@ -4536,7 +4459,7 @@ tao_yyreduce: } break; - case 192: + case 191: { // positive_int_expr : const_expr @@ -4607,7 +4530,7 @@ tao_yyreduce: } break; - case 193: + case 192: { // type_dcl : IDL_TYPEDEF @@ -4615,7 +4538,7 @@ tao_yyreduce: } break; - case 194: + case 193: { // type_declarator @@ -4623,7 +4546,7 @@ tao_yyreduce: } break; - case 195: + case 194: { // | struct_type @@ -4631,7 +4554,7 @@ tao_yyreduce: } break; - case 196: + case 195: { // | union_type @@ -4639,7 +4562,7 @@ tao_yyreduce: } break; - case 197: + case 196: { // | enum_type @@ -4647,7 +4570,7 @@ tao_yyreduce: } break; - case 198: + case 197: { // | IDL_NATIVE simple_declarator @@ -4677,7 +4600,7 @@ tao_yyreduce: } break; - case 199: + case 198: { // | constructed_forward_type_spec @@ -4685,7 +4608,7 @@ tao_yyreduce: } break; - case 200: + case 199: { // type_declarator : type_spec @@ -4693,7 +4616,7 @@ tao_yyreduce: } break; - case 201: + case 200: { // at_least_one_declarator @@ -4759,7 +4682,7 @@ tao_yyreduce: } break; - case 204: + case 203: { // simple_type_spec : base_type_spec @@ -4770,7 +4693,7 @@ tao_yyreduce: } break; - case 206: + case 205: { // | template_type_spec @@ -4798,7 +4721,7 @@ tao_yyreduce: } break; - case 224: + case 222: { // at_least_one_declarator : declarator declarators @@ -4809,7 +4732,7 @@ tao_yyreduce: } break; - case 225: + case 223: { // declarators : declarators ',' @@ -4817,7 +4740,7 @@ tao_yyreduce: } break; - case 226: + case 224: { // declarator @@ -4843,7 +4766,7 @@ tao_yyreduce: } break; - case 227: + case 225: { /* | EMPTY */ @@ -4851,7 +4774,7 @@ tao_yyreduce: } break; - case 230: + case 228: { // at_least_one_simple_declarator : simple_declarator simple_declarators @@ -4862,7 +4785,7 @@ tao_yyreduce: } break; - case 231: + case 229: { // simple_declarators : simple_declarators ',' @@ -4870,7 +4793,7 @@ tao_yyreduce: } break; - case 232: + case 230: { // simple_declarator @@ -4896,7 +4819,7 @@ tao_yyreduce: } break; - case 233: + case 231: { /* | EMPTY */ @@ -4904,7 +4827,7 @@ tao_yyreduce: } break; - case 234: + case 232: { // simple_declarator : id @@ -4921,7 +4844,7 @@ tao_yyreduce: } break; - case 235: + case 233: { // complex_declarator : array_declarator @@ -4940,7 +4863,7 @@ tao_yyreduce: } break; - case 238: + case 236: { // signed_int : IDL_LONG @@ -4948,7 +4871,7 @@ tao_yyreduce: } break; - case 239: + case 237: { // | IDL_LONG IDL_LONG @@ -4956,7 +4879,7 @@ tao_yyreduce: } break; - case 240: + case 238: { // | IDL_SHORT @@ -4964,7 +4887,7 @@ tao_yyreduce: } break; - case 241: + case 239: { // unsigned_int : IDL_UNSIGNED IDL_LONG @@ -4972,7 +4895,7 @@ tao_yyreduce: } break; - case 242: + case 240: { // | IDL_UNSIGNED IDL_LONG IDL_LONG @@ -4980,7 +4903,7 @@ tao_yyreduce: } break; - case 243: + case 241: { // | IDL_UNSIGNED IDL_SHORT @@ -4988,7 +4911,7 @@ tao_yyreduce: } break; - case 244: + case 242: { // floating_pt_type : IDL_DOUBLE @@ -4996,7 +4919,7 @@ tao_yyreduce: } break; - case 245: + case 243: { // | IDL_FLOAT @@ -5004,7 +4927,7 @@ tao_yyreduce: } break; - case 246: + case 244: { // | IDL_LONG IDL_DOUBLE @@ -5012,7 +4935,7 @@ tao_yyreduce: } break; - case 247: + case 245: { // fixed_type : IDL_FIXED @@ -5026,7 +4949,7 @@ tao_yyreduce: } break; - case 248: + case 246: { // char_type : IDL_CHAR @@ -5034,7 +4957,7 @@ tao_yyreduce: } break; - case 249: + case 247: { // | IDL_WCHAR @@ -5042,7 +4965,7 @@ tao_yyreduce: } break; - case 250: + case 248: { // octet_type : IDL_OCTET @@ -5050,7 +4973,7 @@ tao_yyreduce: } break; - case 251: + case 249: { // boolean_type : IDL_BOOLEAN @@ -5058,7 +4981,7 @@ tao_yyreduce: } break; - case 252: + case 250: { // any_type : IDL_ANY @@ -5066,7 +4989,7 @@ tao_yyreduce: } break; - case 253: + case 251: { // object_type : IDL_OBJECT @@ -5074,7 +4997,7 @@ tao_yyreduce: } break; - case 254: + case 252: { // struct_decl : IDL_STRUCT @@ -5082,7 +5005,7 @@ tao_yyreduce: } break; - case 255: + case 253: { // id @@ -5091,7 +5014,7 @@ tao_yyreduce: } break; - case 256: + case 254: { // struct_type : struct_header @@ -5128,7 +5051,7 @@ tao_yyreduce: } break; - case 257: + case 255: { // '{' @@ -5136,7 +5059,7 @@ tao_yyreduce: } break; - case 258: + case 256: { // at_least_one_member @@ -5144,7 +5067,7 @@ tao_yyreduce: } break; - case 259: + case 257: { // '}' @@ -5160,7 +5083,7 @@ tao_yyreduce: } break; - case 263: + case 261: { // member : @@ -5169,7 +5092,7 @@ tao_yyreduce: } break; - case 265: + case 263: { // member_i : type_spec @@ -5177,7 +5100,7 @@ tao_yyreduce: } break; - case 266: + case 264: { // at_least_one_declarator @@ -5185,7 +5108,7 @@ tao_yyreduce: } break; - case 267: + case 265: { // ';' @@ -5246,7 +5169,7 @@ tao_yyreduce: } break; - case 268: + case 266: { // | error @@ -5254,7 +5177,7 @@ tao_yyreduce: } break; - case 269: + case 267: { // ';' @@ -5263,7 +5186,7 @@ tao_yyreduce: } break; - case 270: + case 268: { // union_decl : IDL_UNION @@ -5271,7 +5194,7 @@ tao_yyreduce: } break; - case 271: + case 269: { // id @@ -5280,7 +5203,7 @@ tao_yyreduce: } break; - case 272: + case 270: { // union_type : union_decl IDL_SWITCH @@ -5288,7 +5211,7 @@ tao_yyreduce: } break; - case 273: + case 271: { // '(' @@ -5296,7 +5219,7 @@ tao_yyreduce: } break; - case 274: + case 272: { // switch_type_spec @@ -5304,7 +5227,7 @@ tao_yyreduce: } break; - case 275: + case 273: { // ')' @@ -5354,7 +5277,7 @@ tao_yyreduce: } break; - case 276: + case 274: { // '{' @@ -5362,7 +5285,7 @@ tao_yyreduce: } break; - case 277: + case 275: { // at_least_one_case_branch @@ -5370,7 +5293,7 @@ tao_yyreduce: } break; - case 278: + case 276: { // '}' @@ -5390,7 +5313,7 @@ tao_yyreduce: } break; - case 279: + case 277: { // switch_type_spec : integer_type @@ -5401,7 +5324,7 @@ tao_yyreduce: } break; - case 280: + case 278: { // | char_type @@ -5418,7 +5341,7 @@ tao_yyreduce: } break; - case 281: + case 279: { // | octet_type @@ -5431,7 +5354,7 @@ tao_yyreduce: } break; - case 282: + case 280: { // | boolean_type @@ -5442,7 +5365,7 @@ tao_yyreduce: } break; - case 284: + case 282: { // | enum_type @@ -5551,7 +5474,7 @@ tao_yyreduce: } break; - case 288: + case 286: { // case_branch : at_least_one_case_label @@ -5559,7 +5482,7 @@ tao_yyreduce: } break; - case 289: + case 287: { // element_spec @@ -5567,7 +5490,7 @@ tao_yyreduce: } break; - case 290: + case 288: { // ';' @@ -5601,7 +5524,7 @@ tao_yyreduce: } break; - case 291: + case 289: { // | error @@ -5609,7 +5532,7 @@ tao_yyreduce: } break; - case 292: + case 290: { // ';' @@ -5618,7 +5541,7 @@ tao_yyreduce: } break; - case 293: + case 291: { // at_least_one_case_label : case_label case_labels @@ -5629,7 +5552,7 @@ tao_yyreduce: } break; - case 294: + case 292: { // case_labels : case_labels case_label @@ -5653,7 +5576,7 @@ tao_yyreduce: } break; - case 295: + case 293: { /* | EMPTY */ @@ -5661,7 +5584,7 @@ tao_yyreduce: } break; - case 296: + case 294: { // case_label : IDL_DEFAULT @@ -5669,7 +5592,7 @@ tao_yyreduce: } break; - case 297: + case 295: { // ':' @@ -5682,7 +5605,7 @@ tao_yyreduce: } break; - case 298: + case 296: { // | IDL_CASE @@ -5690,14 +5613,14 @@ tao_yyreduce: } break; - case 299: + case 297: { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } break; - case 300: + case 298: { // const_expr @@ -5710,7 +5633,7 @@ tao_yyreduce: } break; - case 301: + case 299: { // element_spec : type_spec @@ -5718,7 +5641,7 @@ tao_yyreduce: } break; - case 302: + case 300: { // declarator @@ -5766,7 +5689,7 @@ tao_yyreduce: } break; - case 303: + case 301: { // struct_forward_type : struct_decl @@ -5790,7 +5713,7 @@ tao_yyreduce: } break; - case 304: + case 302: { // union_forward_type : union_decl @@ -5814,7 +5737,7 @@ tao_yyreduce: } break; - case 305: + case 303: { // enum_type : IDL_ENUM @@ -5822,7 +5745,7 @@ tao_yyreduce: } break; - case 306: + case 304: { // id @@ -5858,7 +5781,7 @@ tao_yyreduce: } break; - case 307: + case 305: { // '{' @@ -5866,7 +5789,7 @@ tao_yyreduce: } break; - case 308: + case 306: { // at_least_one_enumerator @@ -5874,7 +5797,7 @@ tao_yyreduce: } break; - case 309: + case 307: { // '}' @@ -5897,7 +5820,7 @@ tao_yyreduce: } break; - case 311: + case 309: { // enumerators : enumerators ',' @@ -5905,7 +5828,7 @@ tao_yyreduce: } break; - case 314: + case 312: { // enumerator : IDENTIFIER @@ -5940,7 +5863,7 @@ tao_yyreduce: } break; - case 315: + case 313: { // sequence_type_spec : seq_head ',' @@ -5948,7 +5871,7 @@ tao_yyreduce: } break; - case 316: + case 314: { // positive_int_expr @@ -5956,7 +5879,7 @@ tao_yyreduce: } break; - case 317: + case 315: { // '>' @@ -6022,7 +5945,7 @@ tao_yyreduce: } break; - case 318: + case 316: { // | seq_head '>' @@ -6075,7 +5998,7 @@ tao_yyreduce: } break; - case 319: + case 317: { // seq_head : IDL_SEQUENCE @@ -6088,7 +6011,7 @@ tao_yyreduce: } break; - case 320: + case 318: { // '<' @@ -6096,7 +6019,7 @@ tao_yyreduce: } break; - case 321: + case 319: { // simple_type_spec @@ -6105,7 +6028,7 @@ tao_yyreduce: } break; - case 322: + case 320: { // string_type_spec : string_head '<' @@ -6113,7 +6036,7 @@ tao_yyreduce: } break; - case 323: + case 321: { // positive_int_expr @@ -6121,7 +6044,7 @@ tao_yyreduce: } break; - case 324: + case 322: { // '>' @@ -6161,7 +6084,7 @@ tao_yyreduce: } break; - case 325: + case 323: { // | string_head @@ -6187,7 +6110,7 @@ tao_yyreduce: } break; - case 326: + case 324: { // string_head : IDL_STRING @@ -6195,7 +6118,7 @@ tao_yyreduce: } break; - case 327: + case 325: { // wstring_type_spec : wstring_head '<' @@ -6203,7 +6126,7 @@ tao_yyreduce: } break; - case 328: + case 326: { // positive_int_expr @@ -6211,7 +6134,7 @@ tao_yyreduce: } break; - case 329: + case 327: { // '>' @@ -6240,7 +6163,7 @@ tao_yyreduce: } break; - case 330: + case 328: { // | wstring_head @@ -6265,7 +6188,7 @@ tao_yyreduce: } break; - case 331: + case 329: { // wstring_head : IDL_WSTRING @@ -6273,7 +6196,7 @@ tao_yyreduce: } break; - case 332: + case 330: { // array_declarator : id @@ -6281,7 +6204,7 @@ tao_yyreduce: } break; - case 333: + case 331: { // at_least_one_array_dim @@ -6312,7 +6235,7 @@ tao_yyreduce: } break; - case 334: + case 332: { // at_least_one_array_dim : array_dim array_dims @@ -6323,7 +6246,7 @@ tao_yyreduce: } break; - case 335: + case 333: { // array_dims : array_dims array_dim @@ -6347,7 +6270,7 @@ tao_yyreduce: } break; - case 336: + case 334: { /* | EMPTY */ @@ -6355,7 +6278,7 @@ tao_yyreduce: } break; - case 337: + case 335: { // array_dim : '[' @@ -6363,7 +6286,7 @@ tao_yyreduce: } break; - case 338: + case 336: { // positive_int_expr @@ -6371,7 +6294,7 @@ tao_yyreduce: } break; - case 339: + case 337: { // ']' @@ -6404,7 +6327,7 @@ tao_yyreduce: } break; - case 342: + case 340: { // attribute_readonly : IDL_READONLY @@ -6412,7 +6335,7 @@ tao_yyreduce: } break; - case 343: + case 341: { // IDL_ATTRIBUTE @@ -6420,7 +6343,7 @@ tao_yyreduce: } break; - case 344: + case 342: { // param_type_spec @@ -6428,7 +6351,7 @@ tao_yyreduce: } break; - case 345: + case 343: { // at_least_one_simple_declarator @@ -6436,7 +6359,7 @@ tao_yyreduce: } break; - case 346: + case 344: { // opt_raises @@ -6500,7 +6423,7 @@ tao_yyreduce: } break; - case 347: + case 345: { // attribute_readonly : IDL_ATTRIBUTE @@ -6508,7 +6431,7 @@ tao_yyreduce: } break; - case 348: + case 346: { // param_type_spec @@ -6516,7 +6439,7 @@ tao_yyreduce: } break; - case 349: + case 347: { // at_least_one_simple_declarator @@ -6524,7 +6447,7 @@ tao_yyreduce: } break; - case 350: + case 348: { // opt_getraises @@ -6532,7 +6455,7 @@ tao_yyreduce: } break; - case 351: + case 349: { // opt_setraises @@ -6605,7 +6528,7 @@ tao_yyreduce: } break; - case 352: + case 350: { // exception : IDL_EXCEPTION @@ -6613,7 +6536,7 @@ tao_yyreduce: } break; - case 353: + case 351: { // id @@ -6646,7 +6569,7 @@ tao_yyreduce: } break; - case 354: + case 352: { // '{' @@ -6654,7 +6577,7 @@ tao_yyreduce: } break; - case 355: + case 353: { // members @@ -6662,7 +6585,7 @@ tao_yyreduce: } break; - case 356: + case 354: { // '}' @@ -6674,7 +6597,7 @@ tao_yyreduce: } break; - case 357: + case 355: { // operation : opt_op_attribute op_type_spec @@ -6682,7 +6605,7 @@ tao_yyreduce: } break; - case 358: + case 356: { // IDENTIFIER @@ -6738,7 +6661,7 @@ tao_yyreduce: } break; - case 359: + case 357: { // parameter_list @@ -6746,7 +6669,7 @@ tao_yyreduce: } break; - case 360: + case 358: { // opt_raises @@ -6754,7 +6677,7 @@ tao_yyreduce: } break; - case 361: + case 359: { // opt_context @@ -6787,7 +6710,7 @@ tao_yyreduce: } break; - case 362: + case 360: { // opt_op_attribute : IDL_ONEWAY @@ -6796,7 +6719,7 @@ tao_yyreduce: } break; - case 363: + case 361: { // | IDL_IDEMPOTENT @@ -6805,7 +6728,7 @@ tao_yyreduce: } break; - case 364: + case 362: { /* | EMPTY */ @@ -6813,7 +6736,7 @@ tao_yyreduce: } break; - case 366: + case 364: { // op_type_spec : param_type_spec | IDL_VOID @@ -6824,7 +6747,7 @@ tao_yyreduce: } break; - case 367: + case 365: { // init_decl : IDL_FACTORY @@ -6833,7 +6756,7 @@ tao_yyreduce: } break; - case 368: + case 366: { // IDENTIFIER @@ -6878,7 +6801,7 @@ tao_yyreduce: } break; - case 369: + case 367: { // init_parameter_list @@ -6886,7 +6809,7 @@ tao_yyreduce: } break; - case 370: + case 368: { // opt_raises @@ -6903,7 +6826,7 @@ tao_yyreduce: } break; - case 371: + case 369: { // init_parameter_list : '(' @@ -6911,7 +6834,7 @@ tao_yyreduce: } break; - case 372: + case 370: { // ')' @@ -6919,7 +6842,7 @@ tao_yyreduce: } break; - case 373: + case 371: { // | '(' @@ -6927,7 +6850,7 @@ tao_yyreduce: } break; - case 374: + case 372: { // at_least_one_in_parameter ')' @@ -6935,7 +6858,7 @@ tao_yyreduce: } break; - case 376: + case 374: { // in_parameters : in_parameters ',' @@ -6943,7 +6866,7 @@ tao_yyreduce: } break; - case 379: + case 377: { // in_parameter : IDL_IN @@ -6951,7 +6874,7 @@ tao_yyreduce: } break; - case 380: + case 378: { // param_type_spec @@ -6959,7 +6882,7 @@ tao_yyreduce: } break; - case 381: + case 379: { // declarator @@ -6995,7 +6918,7 @@ tao_yyreduce: } break; - case 382: + case 380: { // parameter_list : '(' @@ -7003,7 +6926,7 @@ tao_yyreduce: } break; - case 383: + case 381: { // ')' @@ -7011,7 +6934,7 @@ tao_yyreduce: } break; - case 384: + case 382: { // | '(' @@ -7019,7 +6942,7 @@ tao_yyreduce: } break; - case 385: + case 383: { // at_least_one_parameter ')' @@ -7027,7 +6950,7 @@ tao_yyreduce: } break; - case 387: + case 385: { // parameters : parameters ',' @@ -7035,7 +6958,7 @@ tao_yyreduce: } break; - case 390: + case 388: { // parameter : direction @@ -7043,7 +6966,7 @@ tao_yyreduce: } break; - case 391: + case 389: { // param_type_spec @@ -7051,7 +6974,7 @@ tao_yyreduce: } break; - case 392: + case 390: { // declarator @@ -7094,7 +7017,7 @@ tao_yyreduce: } break; - case 393: + case 391: { // param_type_spec : base_type_spec @@ -7105,7 +7028,7 @@ tao_yyreduce: } break; - case 396: + case 394: { // | string_type_spec @@ -7225,7 +7148,7 @@ tao_yyreduce: } break; - case 397: + case 395: { // direction : IDL_IN @@ -7233,7 +7156,7 @@ tao_yyreduce: } break; - case 398: + case 396: { // | IDL_OUT @@ -7241,7 +7164,7 @@ tao_yyreduce: } break; - case 399: + case 397: { // | IDL_INOUT @@ -7249,7 +7172,7 @@ tao_yyreduce: } break; - case 400: + case 398: { // opt_raises : IDL_RAISES @@ -7257,7 +7180,7 @@ tao_yyreduce: } break; - case 401: + case 399: { // '(' @@ -7265,7 +7188,7 @@ tao_yyreduce: } break; - case 402: + case 400: { // at_least_one_scoped_name ')' @@ -7274,7 +7197,7 @@ tao_yyreduce: } break; - case 403: + case 401: { (tao_yyval.nlval) = 0; @@ -7282,7 +7205,7 @@ tao_yyreduce: } break; - case 404: + case 402: { // opt_getraises : IDL_GETRAISES @@ -7290,7 +7213,7 @@ tao_yyreduce: } break; - case 405: + case 403: { // '(' @@ -7298,7 +7221,7 @@ tao_yyreduce: } break; - case 406: + case 404: { // at_least_one_scoped_name ')' @@ -7307,7 +7230,7 @@ tao_yyreduce: } break; - case 407: + case 405: { (tao_yyval.nlval) = 0; @@ -7315,7 +7238,7 @@ tao_yyreduce: } break; - case 408: + case 406: { // opt_setraises : IDL_SETRAISES @@ -7323,7 +7246,7 @@ tao_yyreduce: } break; - case 409: + case 407: { // '(' @@ -7331,7 +7254,7 @@ tao_yyreduce: } break; - case 410: + case 408: { // at_least_one_scoped_name ')' @@ -7340,7 +7263,7 @@ tao_yyreduce: } break; - case 411: + case 409: { (tao_yyval.nlval) = 0; @@ -7348,7 +7271,7 @@ tao_yyreduce: } break; - case 412: + case 410: { // opt_context : IDL_CONTEXT @@ -7356,7 +7279,7 @@ tao_yyreduce: } break; - case 413: + case 411: { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); @@ -7364,7 +7287,7 @@ tao_yyreduce: } break; - case 414: + case 412: { // at_least_one_string_literal ')' @@ -7373,7 +7296,7 @@ tao_yyreduce: } break; - case 415: + case 413: { /* | EMPTY */ @@ -7381,7 +7304,7 @@ tao_yyreduce: } break; - case 416: + case 414: { // at_least_one_string_literal : IDL_STRING_LITERAL string_literals @@ -7392,7 +7315,7 @@ tao_yyreduce: } break; - case 417: + case 415: { // string_literals : string_literals ',' @@ -7400,7 +7323,7 @@ tao_yyreduce: } break; - case 418: + case 416: { // IDL_STRING_LITERAL @@ -7424,7 +7347,7 @@ tao_yyreduce: } break; - case 419: + case 417: { /* | EMPTY */ @@ -7432,7 +7355,7 @@ tao_yyreduce: } break; - case 420: + case 418: { // typeid_dcl : IDL_TYPEID scoped_name IDL_STRING_LITERAL @@ -7461,7 +7384,7 @@ tao_yyreduce: } break; - case 421: + case 419: { // typeprefix_dcl : IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL @@ -7499,7 +7422,7 @@ tao_yyreduce: } break; - case 424: + case 422: { // component_forward_decl : IDL_COMPONENT id @@ -7527,7 +7450,7 @@ tao_yyreduce: } break; - case 425: + case 423: { // component_decl : component_header @@ -7570,7 +7493,7 @@ tao_yyreduce: } break; - case 426: + case 424: { // '{' @@ -7578,7 +7501,7 @@ tao_yyreduce: } break; - case 427: + case 425: { // component_exports @@ -7586,7 +7509,7 @@ tao_yyreduce: } break; - case 428: + case 426: { // '}' @@ -7599,7 +7522,7 @@ tao_yyreduce: } break; - case 429: + case 427: { // id @@ -7607,7 +7530,7 @@ tao_yyreduce: } break; - case 430: + case 428: { // component_inheritance_spec @@ -7615,7 +7538,7 @@ tao_yyreduce: } break; - case 431: + case 429: { // supports_spec @@ -7652,7 +7575,7 @@ tao_yyreduce: } break; - case 432: + case 430: { // component_inheritance_spec : ':' @@ -7660,7 +7583,7 @@ tao_yyreduce: } break; - case 433: + case 431: { // scoped_name @@ -7668,7 +7591,7 @@ tao_yyreduce: } break; - case 434: + case 432: { /* | EMPTY */ @@ -7676,7 +7599,7 @@ tao_yyreduce: } break; - case 437: + case 435: { // component_export : provides_decl @@ -7684,7 +7607,7 @@ tao_yyreduce: } break; - case 438: + case 436: { // ';' @@ -7692,7 +7615,7 @@ tao_yyreduce: } break; - case 439: + case 437: { // | uses_decl @@ -7700,7 +7623,7 @@ tao_yyreduce: } break; - case 440: + case 438: { // ';' @@ -7708,7 +7631,7 @@ tao_yyreduce: } break; - case 441: + case 439: { // | emits_decl @@ -7716,7 +7639,7 @@ tao_yyreduce: } break; - case 442: + case 440: { // ';' @@ -7724,7 +7647,7 @@ tao_yyreduce: } break; - case 443: + case 441: { // | publishes_decl @@ -7732,7 +7655,7 @@ tao_yyreduce: } break; - case 444: + case 442: { // ';' @@ -7740,7 +7663,7 @@ tao_yyreduce: } break; - case 445: + case 443: { // | consumes_decl @@ -7748,7 +7671,7 @@ tao_yyreduce: } break; - case 446: + case 444: { // ';' @@ -7756,7 +7679,7 @@ tao_yyreduce: } break; - case 447: + case 445: { // | attribute @@ -7764,7 +7687,7 @@ tao_yyreduce: } break; - case 448: + case 446: { // ';' @@ -7772,7 +7695,7 @@ tao_yyreduce: } break; - case 449: + case 447: { // | extended_port_decl @@ -7780,7 +7703,7 @@ tao_yyreduce: } break; - case 450: + case 448: { // ';' @@ -7788,7 +7711,7 @@ tao_yyreduce: } break; - case 451: + case 449: { // provides_decl : IDL_PROVIDES interface_type id @@ -7847,7 +7770,7 @@ tao_yyreduce: } break; - case 452: + case 450: { // interface_type : scoped_name @@ -7857,7 +7780,7 @@ tao_yyreduce: } break; - case 453: + case 451: { // | IDL_OBJECT @@ -7882,7 +7805,7 @@ tao_yyreduce: } break; - case 454: + case 452: { // uses_decl : uses_opt_multiple interface_type id @@ -7956,7 +7879,7 @@ tao_yyreduce: } break; - case 455: + case 453: { // uses_opt_multiple : IDL_USES opt_multiple @@ -7966,7 +7889,7 @@ tao_yyreduce: } break; - case 456: + case 454: { // opt_multiple : IDL_MULTIPLE @@ -7974,7 +7897,7 @@ tao_yyreduce: } break; - case 457: + case 455: { /* | EMPTY */ @@ -7982,7 +7905,7 @@ tao_yyreduce: } break; - case 458: + case 456: { // emits_decl : IDL_EMITS scoped_name id @@ -8030,7 +7953,7 @@ tao_yyreduce: } break; - case 459: + case 457: { // publishes_decl : IDL_PUBLISHES scoped_name id @@ -8078,7 +8001,7 @@ tao_yyreduce: } break; - case 460: + case 458: { // consumes_decl : IDL_CONSUMES scoped_name id @@ -8126,7 +8049,7 @@ tao_yyreduce: } break; - case 461: + case 459: { // home_decl : home_header @@ -8167,7 +8090,7 @@ tao_yyreduce: } break; - case 462: + case 460: { // home_body @@ -8178,7 +8101,7 @@ tao_yyreduce: } break; - case 463: + case 461: { // home_header : IDL_HOME @@ -8186,7 +8109,7 @@ tao_yyreduce: } break; - case 464: + case 462: { // id @@ -8194,7 +8117,7 @@ tao_yyreduce: } break; - case 465: + case 463: { // home_inheritance_spec @@ -8202,7 +8125,7 @@ tao_yyreduce: } break; - case 466: + case 464: { // supports_spec @@ -8210,7 +8133,7 @@ tao_yyreduce: } break; - case 467: + case 465: { // IDL_MANAGES @@ -8218,7 +8141,7 @@ tao_yyreduce: } break; - case 468: + case 466: { // scoped_name @@ -8226,7 +8149,7 @@ tao_yyreduce: } break; - case 469: + case 467: { // primary_key_spec @@ -8275,7 +8198,7 @@ tao_yyreduce: } break; - case 470: + case 468: { // home_inheritance_spec ':' @@ -8283,7 +8206,7 @@ tao_yyreduce: } break; - case 471: + case 469: { // scoped_name @@ -8291,7 +8214,7 @@ tao_yyreduce: } break; - case 472: + case 470: { /* | EMPTY */ @@ -8299,7 +8222,7 @@ tao_yyreduce: } break; - case 473: + case 471: { // primary_key_spec : IDL_PRIMARYKEY scoped_name @@ -8307,7 +8230,7 @@ tao_yyreduce: } break; - case 474: + case 472: { /* | EMPTY */ @@ -8315,7 +8238,7 @@ tao_yyreduce: } break; - case 475: + case 473: { // home_body : '{' @@ -8323,7 +8246,7 @@ tao_yyreduce: } break; - case 476: + case 474: { // home_exports @@ -8331,7 +8254,7 @@ tao_yyreduce: } break; - case 477: + case 475: { // '}' @@ -8339,7 +8262,7 @@ tao_yyreduce: } break; - case 481: + case 479: { // home_export : factory_decl @@ -8347,7 +8270,7 @@ tao_yyreduce: } break; - case 482: + case 480: { // | ';' @@ -8355,7 +8278,7 @@ tao_yyreduce: } break; - case 483: + case 481: { // | finder_decl @@ -8363,7 +8286,7 @@ tao_yyreduce: } break; - case 484: + case 482: { // | ';' @@ -8371,7 +8294,7 @@ tao_yyreduce: } break; - case 485: + case 483: { // factory_decl : IDL_FACTORY id @@ -8410,7 +8333,7 @@ tao_yyreduce: } break; - case 486: + case 484: { // init_parameter_list @@ -8418,7 +8341,7 @@ tao_yyreduce: } break; - case 487: + case 485: { // opt_raises @@ -8446,7 +8369,7 @@ tao_yyreduce: } break; - case 488: + case 486: { // finder_decl : IDL_FINDER id @@ -8485,7 +8408,7 @@ tao_yyreduce: } break; - case 489: + case 487: { // init_parameter_list @@ -8493,7 +8416,7 @@ tao_yyreduce: } break; - case 490: + case 488: { // opt_raises @@ -8521,7 +8444,7 @@ tao_yyreduce: } break; - case 496: + case 494: { // event_concrete_forward_decl : IDL_EVENTTYPE id @@ -8548,7 +8471,7 @@ tao_yyreduce: } break; - case 497: + case 495: { // event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE id @@ -8575,7 +8498,7 @@ tao_yyreduce: } break; - case 498: + case 496: { // event_abs_decl : event_abs_header event_rest_of_header @@ -8623,7 +8546,7 @@ tao_yyreduce: } break; - case 499: + case 497: { // '{' @@ -8631,7 +8554,7 @@ tao_yyreduce: } break; - case 500: + case 498: { // exports @@ -8639,7 +8562,7 @@ tao_yyreduce: } break; - case 501: + case 499: { // '}' @@ -8652,7 +8575,7 @@ tao_yyreduce: } break; - case 502: + case 500: { // event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE id @@ -8660,7 +8583,7 @@ tao_yyreduce: } break; - case 503: + case 501: { // event_custom_header : IDL_CUSTOM IDL_EVENTTYPE id @@ -8677,7 +8600,7 @@ tao_yyreduce: } break; - case 504: + case 502: { // event_plain_header : IDL_EVENTTYPE id @@ -8687,7 +8610,7 @@ tao_yyreduce: } break; - case 505: + case 503: { // event_rest_of_header : inheritance_spec @@ -8695,7 +8618,7 @@ tao_yyreduce: } break; - case 506: + case 504: { // supports_spec @@ -8728,7 +8651,7 @@ tao_yyreduce: } break; - case 507: + case 505: { // event_decl : event_header event_rest_of_header @@ -8781,7 +8704,7 @@ tao_yyreduce: } break; - case 508: + case 506: { // '{' @@ -8789,7 +8712,7 @@ tao_yyreduce: } break; - case 509: + case 507: { // value_elements @@ -8797,7 +8720,7 @@ tao_yyreduce: } break; - case 510: + case 508: { // '}' @@ -8810,7 +8733,7 @@ tao_yyreduce: } break; - case 511: + case 509: { // event_header : event_custom_header @@ -8818,7 +8741,7 @@ tao_yyreduce: } break; - case 512: + case 510: { // event_header : event_plain_header @@ -8826,7 +8749,7 @@ tao_yyreduce: } break; - case 513: + case 511: { // formal_parameter_type : IDL_TYPENAME @@ -8834,7 +8757,7 @@ tao_yyreduce: } break; - case 514: + case 512: { // IDL_STRUCT @@ -8842,7 +8765,7 @@ tao_yyreduce: } break; - case 515: + case 513: { // IDL_UNION @@ -8850,7 +8773,7 @@ tao_yyreduce: } break; - case 516: + case 514: { // IDL_EVENTTYPE @@ -8858,7 +8781,7 @@ tao_yyreduce: } break; - case 517: + case 515: { // IDL_SEQUENCE @@ -8866,7 +8789,7 @@ tao_yyreduce: } break; - case 518: + case 516: { // IDL_INTERFACE @@ -8874,7 +8797,7 @@ tao_yyreduce: } break; - case 519: + case 517: { // IDL_VALUETYPE @@ -8882,7 +8805,7 @@ tao_yyreduce: } break; - case 520: + case 518: { // IDL_EXCEPTION @@ -8890,7 +8813,7 @@ tao_yyreduce: } break; - case 521: + case 519: { // IDL_CONST const_type @@ -8898,119 +8821,30 @@ tao_yyreduce: } break; - case 522: - - { - } - break; - - case 524: - - { -// template_interface_def : template_interface_header - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - AST_Template_Interface *i = - idl_global->gen ()->create_template_interface ( - (tao_yyvsp[(1) - (1)].thval)->name (), - (tao_yyvsp[(1) - (1)].thval)->inherits (), - (tao_yyvsp[(1) - (1)].thval)->n_inherits (), - (tao_yyvsp[(1) - (1)].thval)->inherits_flat (), - (tao_yyvsp[(1) - (1)].thval)->n_inherits_flat (), - (tao_yyvsp[(1) - (1)].thval)->param_info ()); - - (void) s->fe_add_interface (i); - - (tao_yyvsp[(1) - (1)].thval)->destroy (); - delete (tao_yyvsp[(1) - (1)].thval); - (tao_yyvsp[(1) - (1)].thval) = 0; - - idl_global->scopes ().push (i); - } - break; - - case 525: - - { -// '{' - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); - } - break; - - case 526: - - { -// exports -// TODO - concatenated identifiers, if they remain in the IDL3+ spec. - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); - } - break; - - case 527: - - { -// '}' - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); - - /* - * Done with this interface - pop it off the scopes stack - */ - idl_global->scopes ().pop (); - } - break; - - case 528: - - { -// template_interface_header : interface_decl at_least_one_formal_parameter template_inheritance_spec - UTL_ScopedName *n = 0; - ACE_NEW_RETURN (n, - UTL_ScopedName ((tao_yyvsp[(1) - (3)].idval), 0), - 1); - - ACE_NEW_RETURN ((tao_yyval.thval), - FE_Template_InterfaceHeader (n, - (tao_yyvsp[(2) - (3)].plval), - (tao_yyvsp[(3) - (3)].rlval)), - 1); - } - break; - - case 529: + case 520: { -// at_least_one_formal_parameter : '<' - idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceSqSeen); } break; - case 530: + case 522: { // formal_parameter formal_parameters - if ((tao_yyvsp[(4) - (4)].plval) == 0) + if ((tao_yyvsp[(2) - (2)].plval) == 0) { - ACE_NEW_RETURN ((tao_yyvsp[(4) - (4)].plval), + ACE_NEW_RETURN ((tao_yyvsp[(2) - (2)].plval), FE_Utils::T_PARAMLIST_INFO, 1); } - (tao_yyvsp[(4) - (4)].plval)->enqueue_head (*(tao_yyvsp[(3) - (4)].pival)); - delete (tao_yyvsp[(3) - (4)].pival); - (tao_yyvsp[(3) - (4)].pival) = 0; + (tao_yyvsp[(2) - (2)].plval)->enqueue_head (*(tao_yyvsp[(1) - (2)].pival)); + delete (tao_yyvsp[(1) - (2)].pival); + (tao_yyvsp[(1) - (2)].pival) = 0; } break; - case 531: - - { -// '>' - idl_global->set_parse_state (IDL_GlobalData::PS_TmplInterfaceQsSeen); - (tao_yyval.plval) = (tao_yyvsp[(4) - (6)].plval); - } - break; - - case 532: + case 523: { // formal_parameters : formal_parameters ',' @@ -9018,7 +8852,7 @@ tao_yyreduce: } break; - case 533: + case 524: { // formal_parameter @@ -9037,7 +8871,7 @@ tao_yyreduce: } break; - case 534: + case 525: { // /* EMPTY */ @@ -9045,7 +8879,7 @@ tao_yyreduce: } break; - case 535: + case 526: { // formal_parameter : formal_parameter_type IDENTIFIER @@ -9059,90 +8893,14 @@ tao_yyreduce: } break; - case 536: - - { -// template_inheritance_spec : ':' at_least_one_template_ref - (tao_yyval.rlval) = (tao_yyvsp[(2) - (2)].rlval); - } - break; - - case 537: - - { -// /* EMPTY */ - (tao_yyval.rlval) = 0; - } - break; - - case 538: - - { -// at_least_one_template_ref : template_ref template_refs - if ((tao_yyvsp[(2) - (2)].rlval) == 0) - { - ACE_NEW_RETURN ((tao_yyvsp[(2) - (2)].rlval), - FE_Utils::T_REFLIST_INFO, - 1); - } - - (tao_yyvsp[(2) - (2)].rlval)->enqueue_head (*(tao_yyvsp[(1) - (2)].trval)); - delete (tao_yyvsp[(1) - (2)].trval); - (tao_yyvsp[(1) - (2)].trval) = 0; - - (tao_yyval.rlval) = (tao_yyvsp[(2) - (2)].rlval); - } - break; - - case 539: - - { -// template_refs : template_refs ',' template_ref - if ((tao_yyvsp[(1) - (3)].rlval) == 0) - { - ACE_NEW_RETURN ((tao_yyvsp[(1) - (3)].rlval), - FE_Utils::T_REFLIST_INFO, - 1); - - (tao_yyvsp[(1) - (3)].rlval)->enqueue_tail (*(tao_yyvsp[(3) - (3)].trval)); - delete (tao_yyvsp[(3) - (3)].trval); - (tao_yyvsp[(3) - (3)].trval) = 0; - - (tao_yyval.rlval) = (tao_yyvsp[(1) - (3)].rlval); - } - } - break; - - case 540: - - { -// /* EMPTY */ - (tao_yyval.rlval) = 0; - } - break; - - case 541: - - { -// template_ref : scoped_name '<' at_least_one_formal_parameter_name '>' - ACE_NEW_RETURN ((tao_yyval.trval), - FE_Utils::T_Ref_Info ((tao_yyvsp[(1) - (4)].idlist), (tao_yyvsp[(3) - (4)].slval)), - 1); - } - break; - - case 542: + case 527: { -// at_least_one_formal_parameter_name : formal_parameter_name formal_parameter_names - ACE_NEW_RETURN ((tao_yyval.slval), - UTL_StrList ((tao_yyvsp[(1) - (2)].sval), - (tao_yyvsp[(2) - (2)].slval)), - 1); + (tao_yyval.slval) = 0; } break; - case 543: + case 528: { // formal_parameter_names : formal_parameter_names ',' formal_parameter_name @@ -9168,7 +8926,7 @@ tao_yyreduce: } break; - case 544: + case 529: { // /* EMPTY */ @@ -9176,7 +8934,7 @@ tao_yyreduce: } break; - case 545: + case 530: { // formal_parameter_name : IDENTIFIER @@ -9186,7 +8944,7 @@ tao_yyreduce: } break; - case 546: + case 531: { // porttype_decl : IDL_PORTTYPE @@ -9194,7 +8952,7 @@ tao_yyreduce: } break; - case 547: + case 532: { // IDENTIFIER @@ -9202,31 +8960,7 @@ tao_yyreduce: } break; - case 548: - - { -// opt_template_params - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - Identifier id ((tao_yyvsp[(3) - (5)].strval)); - ACE::strdelete ((tao_yyvsp[(3) - (5)].strval)); - (tao_yyvsp[(3) - (5)].strval) = 0; - - UTL_ScopedName sn (&id, - 0); - - AST_PortType *p = - idl_global->gen ()->create_porttype (&sn, - (tao_yyvsp[(5) - (5)].plval)); - - (void) s->fe_add_porttype (p); - - // Push it on the scopes stack. - idl_global->scopes ().push (p); - } - break; - - case 549: + case 533: { // '{' @@ -9234,7 +8968,7 @@ tao_yyreduce: } break; - case 550: + case 534: { // at_least_one_port_export @@ -9242,7 +8976,7 @@ tao_yyreduce: } break; - case 551: + case 535: { // '}' @@ -9253,321 +8987,59 @@ tao_yyreduce: } break; - case 552: - - { -// opt_template_params : at_least_one_formal_parameter - (tao_yyval.plval) = (tao_yyvsp[(1) - (1)].plval); - } - break; - - case 553: - - { -// | /* EMPTY */ - (tao_yyval.plval) = 0; - } - break; - - case 554: + case 536: { // at_least_one_port_export : port_export port_exports } break; - case 555: + case 537: { // port_exports : port_exports port_export } break; - case 556: + case 538: { // | /* EMPTY */ } break; - case 557: + case 539: { -// port_export : extended_provides_decl +// port_export : provides_decl } break; - case 558: + case 540: { // ';' } break; - case 559: + case 541: { -// | extended_uses_decl +// | uses_decl } break; - case 560: + case 542: { // ';' } break; - case 561: - - { -// extended_provides_decl : provides_decl - idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); - } - break; - - case 562: - - { -// | IDL_PROVIDES template_ref IDENTIFIER - idl_global->set_parse_state (IDL_GlobalData::PS_ExtProvidesDeclSeen); - bool so_far_so_good = true; - AST_Template_Interface *i = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].trval)->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].trval)->name_); - so_far_so_good = false; - } - else - { - i = AST_Template_Interface::narrow_from_decl (d); - - if (i == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_TMPL_IFACE_EXPECTED, - d); - so_far_so_good = false; - } - else if (! i->match_param_names ((tao_yyvsp[(2) - (3)].trval)->params_)) - { - idl_global->err ()->mismatched_template_param ((tao_yyvsp[(2) - (3)].trval)->name_); - so_far_so_good = false; - } - } - - if (so_far_so_good) - { - Identifier id ((tao_yyvsp[(3) - (3)].strval)); - UTL_ScopedName sn (&id, 0); - - AST_Provides *p = - idl_global->gen ()->create_provides (&sn, i); - - (void) s->fe_add_provides (p); - } - - (tao_yyvsp[(2) - (3)].trval)->destroy (); - delete (tao_yyvsp[(2) - (3)].trval); - (tao_yyvsp[(2) - (3)].trval) = 0; - - ACE::strdelete ((tao_yyvsp[(3) - (3)].strval)); - (tao_yyvsp[(3) - (3)].strval) = 0; - } - break; - - case 563: - - { -// extended_uses_decl : uses_decl - idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); - } - break; - - case 564: - - { -// | uses_opt_multiple template_ref IDENTIFIER - idl_global->set_parse_state (IDL_GlobalData::PS_ExtUsesDeclSeen); - bool so_far_so_good = true; - AST_Template_Interface *i = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(2) - (3)].trval)->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ((tao_yyvsp[(2) - (3)].trval)->name_); - so_far_so_good = false; - } - else - { - i = AST_Template_Interface::narrow_from_decl (d); - - if (i == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_TMPL_IFACE_EXPECTED, - d); - so_far_so_good = false; - } - else if (! i->match_param_names ((tao_yyvsp[(2) - (3)].trval)->params_)) - { - idl_global->err ()->mismatched_template_param ((tao_yyvsp[(2) - (3)].trval)->name_); - so_far_so_good = false; - } - } - - if (so_far_so_good) - { - Identifier id ((tao_yyvsp[(3) - (3)].strval)); - UTL_ScopedName sn (&id, 0); - - AST_Uses *u = - idl_global->gen ()->create_uses (&sn, i, (tao_yyvsp[(1) - (3)].bval)); - - (void) s->fe_add_uses (u); - } - - (tao_yyvsp[(2) - (3)].trval)->destroy (); - delete (tao_yyvsp[(2) - (3)].trval); - (tao_yyvsp[(2) - (3)].trval) = 0; - - ACE::strdelete ((tao_yyvsp[(3) - (3)].strval)); - (tao_yyvsp[(3) - (3)].strval) = 0; - } - break; - - case 567: - - { -// template_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; - AST_PortType::T_ARGLIST *args = 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; - } - else - { - args = - pt->match_arg_names ((tao_yyvsp[(2) - (3)].tival)->args_); - - if (args == 0) - { - 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, - 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 568: - - { -// | 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; - AST_PortType::T_ARGLIST *args = 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; - } - else - { - args = - pt->match_arg_names ((tao_yyvsp[(2) - (3)].tival)->args_); - - if (args == 0) - { - 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, - 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 569: + case 543: { -// non_template_port_decl : 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); @@ -9649,7 +9121,7 @@ tao_yyreduce: } break; - case 570: + case 544: { // | IDL_MIRRORPORT scoped_name IDENTIFIER @@ -9712,19 +9184,21 @@ tao_yyreduce: } break; - case 571: + case 548: { -// template_inst : scoped_name '<' at_least_one_actual_parameter '>' -// ACE_NEW_RETURN ($$, -// FE_Utils::T_Inst_Info ($1, -// $3), -// 1); - (tao_yyval.tival) = 0; +// actual_parameter : expression + // To avoid grammar conflicts with this LALR(1) parser, + // we take advantage of the fact that an expression can + // be a scoped name. At that lower level, we create an + // expression containing the scoped name, and at a + // higher lever, deduce that it's not supposede to be + // a constant and look up the type to add to the template + // arg list. } break; - case 578: + case 550: { // connector_header : IDL_CONNECTOR @@ -9732,7 +9206,7 @@ tao_yyreduce: } break; - case 579: + case 551: { // IDENTIFIER @@ -9740,14 +9214,7 @@ tao_yyreduce: } break; - case 580: - - { -// opt_template_params - } - break; - - case 581: + case 552: { // component_inheritance_spec @@ -9755,19 +9222,19 @@ tao_yyreduce: 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; + Identifier id ((tao_yyvsp[(3) - (5)].strval)); + ACE::strdelete ((tao_yyvsp[(3) - (5)].strval)); + (tao_yyvsp[(3) - (5)].strval) = 0; UTL_ScopedName sn (&id, 0); - if ((tao_yyvsp[(7) - (7)].idlist) != 0) + if ((tao_yyvsp[(5) - (5)].idlist) != 0) { - AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(7) - (7)].idlist), true); + AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(5) - (5)].idlist), true); if (d == 0) { - idl_global->err ()->lookup_error ((tao_yyvsp[(7) - (7)].idlist)); + idl_global->err ()->lookup_error ((tao_yyvsp[(5) - (5)].idlist)); so_far_so_good = false; } @@ -9783,9 +9250,9 @@ tao_yyreduce: so_far_so_good = false; } - (tao_yyvsp[(7) - (7)].idlist)->destroy (); - delete (tao_yyvsp[(7) - (7)].idlist); - (tao_yyvsp[(7) - (7)].idlist) = 0; + (tao_yyvsp[(5) - (5)].idlist)->destroy (); + delete (tao_yyvsp[(5) - (5)].idlist); + (tao_yyvsp[(5) - (5)].idlist) = 0; } if (so_far_so_good) @@ -9793,7 +9260,7 @@ tao_yyreduce: AST_Connector *c = idl_global->gen ()->create_connector (&sn, parent, - (tao_yyvsp[(5) - (7)].plval)); + (tao_yyvsp[(3) - (5)].strval)); (void) s->fe_add_connector (c); @@ -9803,7 +9270,7 @@ tao_yyreduce: } break; - case 582: + case 553: { // connector_body " '{' @@ -9811,7 +9278,7 @@ tao_yyreduce: } break; - case 583: + case 554: { // at_least_one_connector_export @@ -9819,7 +9286,7 @@ tao_yyreduce: } break; - case 584: + case 555: { // '} @@ -9830,7 +9297,7 @@ tao_yyreduce: } break; - case 588: + case 559: { // connector_export : provides_decl @@ -9838,7 +9305,7 @@ tao_yyreduce: } break; - case 589: + case 560: { // ';' @@ -9846,7 +9313,7 @@ tao_yyreduce: } break; - case 590: + case 561: { // | uses_decl @@ -9854,7 +9321,7 @@ tao_yyreduce: } break; - case 591: + case 562: { // ';' @@ -9862,7 +9329,7 @@ tao_yyreduce: } break; - case 592: + case 563: { // | attribute @@ -9870,23 +9337,7 @@ tao_yyreduce: } break; - case 593: - - { -// ';' - idl_global->set_parse_state (IDL_GlobalData::PS_NoState); - } - break; - - case 594: - - { -// | non_template_port_decl - idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); - } - break; - - case 595: + case 564: { // ';' @@ -9894,15 +9345,15 @@ tao_yyreduce: } break; - case 596: + case 565: { -// | template_extended_port_decl +// | extended_port_decl idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } break; - case 597: + case 566: { // ';' @@ -9910,143 +9361,6 @@ tao_yyreduce: } break; - case 598: - - { -// template_extended_port_decl : IDL_PORT template_ref_decl - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - if ((tao_yyvsp[(2) - (2)].ptval) != 0) - { - Identifier id ((tao_yyvsp[(2) - (2)].ptval)->name_.c_str ()); - UTL_ScopedName sn (&id, 0); - - AST_Tmpl_Port *pt = - idl_global->gen ()->create_tmpl_port ( - &sn, - (tao_yyvsp[(2) - (2)].ptval)->type_); - - (void) s->fe_add_tmpl_port (pt); - - delete (tao_yyvsp[(2) - (2)].ptval); - (tao_yyvsp[(2) - (2)].ptval) = 0; - } - } - break; - - case 599: - - { -// | IDL_MIRRORPORT template_ref_decl - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - if ((tao_yyvsp[(2) - (2)].ptval) != 0) - { - Identifier id ((tao_yyvsp[(2) - (2)].ptval)->name_.c_str ()); - UTL_ScopedName sn (&id, 0); - - AST_Tmpl_Mirror_Port *pt = - idl_global->gen ()->create_tmpl_mirror_port ( - &sn, - (tao_yyvsp[(2) - (2)].ptval)->type_); - - (void) s->fe_add_tmpl_mirror_port (pt); - - delete (tao_yyvsp[(2) - (2)].ptval); - (tao_yyvsp[(2) - (2)].ptval) = 0; - } - } - break; - - case 600: - - { -// template_ref_decl : template_ref IDENTIFIER - (tao_yyval.ptval) = 0; - UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(1) - (2)].trval)->name_, - true); - - if (d == 0) - { - idl_global->err ()->lookup_error ((tao_yyvsp[(1) - (2)].trval)->name_); - } - else - { - AST_PortType *pt = AST_PortType::narrow_from_decl (d); - - if (pt == 0) - { - idl_global->err ()->error1 (UTL_Error::EIDL_PORTTYPE_EXPECTED, - d); - } - else - { - ACE_NEW_RETURN ((tao_yyval.ptval), - FE_Utils::T_Port_Info ((tao_yyvsp[(2) - (2)].strval), - pt), - 1); - } - } - - (tao_yyvsp[(1) - (2)].trval)->destroy (); - delete (tao_yyvsp[(1) - (2)].trval); - (tao_yyvsp[(1) - (2)].trval) = 0; - - ACE::strdelete ((tao_yyvsp[(2) - (2)].strval)); - (tao_yyvsp[(2) - (2)].strval) = 0; - } - break; - - case 601: - - { -// connector_inst_spec : template_inst - UTL_Scope *s = idl_global->scopes ().top_non_null (); - (tao_yyval.dcval) = 0; - - AST_Decl *d = - s->lookup_by_name ((tao_yyvsp[(1) - (1)].tival)->name_, true); - - if (d == 0) - { - idl_global->err ()->lookup_error ((tao_yyvsp[(1) - (1)].tival)->name_); - } - else - { - AST_Connector *c = AST_Connector::narrow_from_decl (d); - - if (c == 0) - { - idl_global->err ()->error1 ( - UTL_Error::EIDL_CONNECTOR_EXPECTED, - d); - } - else - { - AST_Template_Common::T_ARGLIST *args = - c->match_arg_names ((tao_yyvsp[(1) - (1)].tival)->args_); - - if (args != 0) - { - Identifier id ("connector"); - UTL_ScopedName sn (&id, 0); - - (tao_yyval.dcval) = - idl_global->gen ()->create_instantiated_connector ( - &sn, - c, - args); - } - } - } - - (tao_yyvsp[(1) - (1)].tival)->destroy (); - delete (tao_yyvsp[(1) - (1)].tival); - (tao_yyvsp[(1) - (1)].tival) = 0; - } - break; - /* Line 1267 of yacc.c. */ -- cgit v1.2.1