From c9384eb98b90084998ed8df87557d6fb33c85faa Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 21 May 2022 13:48:26 -0400 Subject: [PATCH 01/92] Added a test for maps --- TAO/tests/IDLv4/maps/.gitignore | 6 ++++++ TAO/tests/IDLv4/maps/IDLv4_maps.mpc | 10 ++++++++++ TAO/tests/IDLv4/maps/main.cpp | 11 +++++++++++ TAO/tests/IDLv4/maps/run_test.pl | 19 +++++++++++++++++++ TAO/tests/IDLv4/maps/test.idl | 1 + 5 files changed, 47 insertions(+) create mode 100644 TAO/tests/IDLv4/maps/.gitignore create mode 100644 TAO/tests/IDLv4/maps/IDLv4_maps.mpc create mode 100644 TAO/tests/IDLv4/maps/main.cpp create mode 100755 TAO/tests/IDLv4/maps/run_test.pl create mode 100644 TAO/tests/IDLv4/maps/test.idl diff --git a/TAO/tests/IDLv4/maps/.gitignore b/TAO/tests/IDLv4/maps/.gitignore new file mode 100644 index 0000000000000..2d381ab3d39cb --- /dev/null +++ b/TAO/tests/IDLv4/maps/.gitignore @@ -0,0 +1,6 @@ +/testC.cpp +/testC.h +/testC.inl +/testS.cpp +/testS.h +/explicit_ints diff --git a/TAO/tests/IDLv4/maps/IDLv4_maps.mpc b/TAO/tests/IDLv4/maps/IDLv4_maps.mpc new file mode 100644 index 0000000000000..fe9869df8d8f1 --- /dev/null +++ b/TAO/tests/IDLv4/maps/IDLv4_maps.mpc @@ -0,0 +1,10 @@ +project: taoexe { + exename = maps + idlflags += --idl-version 4 + IDL_Files { + test.idl + } + Source_Files { + main.cpp + } +} diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp new file mode 100644 index 0000000000000..06aa027835551 --- /dev/null +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -0,0 +1,11 @@ +#include "testC.h" + +#include "ace/OS_NS_stdlib.h" +#include "ace/OS_main.h" + + + +int ACE_TMAIN(int, ACE_TCHAR *[]) { + + return EXIT_SUCCESS; +} diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl new file mode 100755 index 0000000000000..e9383e6384c0a --- /dev/null +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -0,0 +1,19 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +use strict; +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; + +my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; +my $proc = $target->CreateProcess ("maps"); + +my $test = $proc->SpawnWaitKill ($target->ProcessStartWaitInterval ()); + +if ($test != 0) { + print STDERR "ERROR: test returned $test\n"; + exit 1; +} + +exit 0; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl new file mode 100644 index 0000000000000..5d2653c4919f3 --- /dev/null +++ b/TAO/tests/IDLv4/maps/test.idl @@ -0,0 +1 @@ +map data; From 3c34706b1bdc301d07d3f79d9d146b100e3f176d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:39:38 -0400 Subject: [PATCH 02/92] Fixed test.idl --- TAO/tests/IDLv4/maps/test.idl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 5d2653c4919f3..c30fe0f6d0de5 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1 +1,4 @@ -map data; +struct DataStruct { + sequence seqData; + map mapData; +}; From 6e4f5bbc7231decf920d46c962a7665e0032d9a5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:44:31 -0400 Subject: [PATCH 03/92] Added AST for map --- TAO/TAO_IDL/ast/ast_generator.cpp | 22 ++ TAO/TAO_IDL/ast/ast_map.cpp | 316 ++++++++++++++++++++++++++++ TAO/TAO_IDL/include/ast_generator.h | 9 + TAO/TAO_IDL/include/ast_map.h | 155 ++++++++++++++ 4 files changed, 502 insertions(+) create mode 100644 TAO/TAO_IDL/ast/ast_map.cpp create mode 100644 TAO/TAO_IDL/include/ast_map.h diff --git a/TAO/TAO_IDL/ast/ast_generator.cpp b/TAO/TAO_IDL/ast/ast_generator.cpp index 0e08c14098dc7..4a9f25bfd9b84 100644 --- a/TAO/TAO_IDL/ast/ast_generator.cpp +++ b/TAO/TAO_IDL/ast/ast_generator.cpp @@ -97,6 +97,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_enum_val.h" #include "ast_array.h" #include "ast_sequence.h" +#include "ast_map.h" #include "ast_string.h" #include "ast_structure_fwd.h" #include "ast_typedef.h" @@ -867,6 +868,27 @@ AST_Generator::create_sequence (AST_Expression *ms, return retval; } +AST_Map * +AST_Generator::create_map (AST_Expression *ms, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) +{ + AST_Map *retval = nullptr; + ACE_NEW_RETURN (retval, + AST_Map (ms, + key_bt, + val_bt, + n, + is_local, + is_abstract), + nullptr); + + return retval; +} + AST_String * AST_Generator::create_string (AST_Expression *ms) { diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp new file mode 100644 index 0000000000000..f516e0dd6ee98 --- /dev/null +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -0,0 +1,316 @@ +/* + +COPYRIGHT + +Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United +States of America. All Rights Reserved. + +This product is protected by copyright and distributed under the following +license restricting its use. + +The Interface Definition Language Compiler Front End (CFE) is made +available for your use provided that you include this license and copyright +notice on all media and documentation and the software program in which +this product is incorporated in whole or part. You may copy and extend +functionality (but may not remove functionality) of the Interface +Definition Language CFE without charge, but you are not authorized to +license or distribute it to anyone else except as part of a product or +program developed by you or with the express written consent of Sun +Microsystems, Inc. ("Sun"). + +The names of Sun Microsystems, Inc. and any of its subsidiaries or +affiliates may not be used in advertising or publicity pertaining to +distribution of Interface Definition Language CFE as permitted herein. + +This license is effective until terminated by Sun for failure to comply +with this license. Upon termination, you shall destroy or return all code +and documentation for the Interface Definition Language CFE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF +ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF +DEALING, USAGE OR TRADE PRACTICE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT +ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES +TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT. + +SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH +RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY +INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF. + +IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR +ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL +DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Use, duplication, or disclosure by the government is subject to +restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in +Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR +52.227-19. + +Sun, Sun Microsystems and the Sun logo are trademarks or registered +trademarks of Sun Microsystems, Inc. + +SunSoft, Inc. +2550 Garcia Avenue +Mountain View, California 94043 + +NOTE: + +SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are +trademarks or registered trademarks of Sun Microsystems, Inc. + +*/ + +// AST_Map nodes represent IDL map declarations. +// AST_Map is a subclass of AST_ConcreteType. +// AST_Map nodes have a maximum size (an AST_Expression which +// must evaluate to a positive integer) and a base type (a subclass +// of AST_Type). + +#include "ast_map.h" +#include "ast_typedef.h" +#include "ast_expression.h" +#include "ast_param_holder.h" +#include "ast_visitor.h" +#include "ast_annotation_appl.h" + +#include "utl_identifier.h" +#include "utl_err.h" + +#include "global_extern.h" +#include "fe_extern.h" + +#include "ace/Log_Msg.h" +#include "ace/OS_Memory.h" +#include "ace/OS_NS_string.h" + +AST_Decl::NodeType const +AST_Map::NT = AST_Decl::NT_map; + +AST_Map::AST_Map (AST_Expression *ms, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract) + : COMMON_Base (key_bt->is_local () || local, + abstract), + AST_Decl (AST_Decl::NT_map, + n, + true), + AST_Type (AST_Decl::NT_map, + n), + AST_ConcreteType (AST_Decl::NT_map, + n), + pd_max_size (ms), + key_pd_type (key_bt), + value_pd_type (val_bt), + unbounded_ (true), + owns_base_type_ (false) +{ + FE_Utils::tmpl_mod_ref_check (this, key_bt); + + AST_Decl::NodeType bnt = key_bt->node_type (); + + if (bnt == AST_Decl::NT_param_holder) + { + AST_Param_Holder *ph = dynamic_cast (key_bt); + + if (ph->info ()->type_ == AST_Decl::NT_const) + { + idl_global->err ()->not_a_type (key_bt); + key_bt->destroy (); + delete key_bt; + key_bt = nullptr; + throw Bailout (); + } + } + + // Check if we are bounded or unbounded. An expression value of 0 means + // unbounded. If our bound is a template parameter, skip the + // check altogether, this node will trigger no code generation. + if (ms->param_holder () == nullptr) + { + this->unbounded_ = (ms->ev ()->u.ulval == 0); + } + + // A map data type is always VARIABLE. + this->size_type (AST_Type::VARIABLE); + + AST_Decl::NodeType nt = key_bt->node_type (); + + this->owns_base_type_ = + nt == AST_Decl::NT_array + || nt == AST_Decl::NT_map + || nt == AST_Decl::NT_param_holder; +} + +AST_Map::~AST_Map () +{ +} + +// Public operations. + +bool +AST_Map::in_recursion (ACE_Unbounded_Queue &list) +{ + if (list.size () == 0) // only structs, unions and valuetypes can be recursive + return false; + + list.enqueue_tail(this); + + AST_Type *type = dynamic_cast (this->key_type ()); + + if (type == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("AST_Map::in_recursion - ") + ACE_TEXT ("bad base type\n")), + false); + } + + AST_Decl::NodeType nt = type->node_type (); + + if (nt == AST_Decl::NT_typedef) + { + AST_Typedef *td = dynamic_cast (type); + type = td->primitive_base_type (); + nt = type->node_type (); + } + + if (nt != AST_Decl::NT_struct + && nt != AST_Decl::NT_union + && nt != AST_Decl::NT_valuetype + && nt != AST_Decl::NT_map) + { + return false; + } + + bool recursion_found = false; + AST_Type** recursable_type = nullptr; + list.get (recursable_type, 0); + if (!ACE_OS::strcmp (type->full_name (), + (*recursable_type)->full_name ())) + { + // They match. + recursion_found = true; + idl_global->recursive_type_seen_ = true; + } + else + { + // Check the element type. + recursion_found = type->in_recursion (list); + } + + return recursion_found; +} + +// Redefinition of inherited virtual operations. + +// Dump this AST_Map node to the ostream o. +void +AST_Map::dump (ACE_OSTREAM_TYPE &o) +{ + this->dump_i (o, "map <"); + AST_Annotation_Appls::iterator i, + finished = base_type_annotations ().end (); + for (i = base_type_annotations ().begin (); i != finished; ++i) + { + AST_Annotation_Appl *a = i->get (); + a->dump (o); + dump_i (o, " "); + } + this->key_pd_type->dump (o); + this->dump_i (o, ", "); + this->value_pd_type->dump (o); + this->dump_i (o, ", "); + this->pd_max_size->dump (o); + this->dump_i (o, ">"); +} + +int +AST_Map::ast_accept (ast_visitor *visitor) +{ + return visitor->visit_map (this); +} + +// Data accessors. + +AST_Expression * +AST_Map::max_size () +{ + return this->pd_max_size; +} + +AST_Type * +AST_Map::key_type () const +{ + return this->key_pd_type; +} + +AST_Type * +AST_Map::value_type () const +{ + return this->value_pd_type; +} + +AST_Type * +AST_Map::primitive_base_type () const +{ + AST_Type *type_node = key_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + AST_Typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +bool +AST_Map::unbounded () const +{ + return this->unbounded_; +} + +bool +AST_Map::legal_for_primary_key () const +{ + return this->key_type ()->legal_for_primary_key (); +} + +bool +AST_Map::is_defined () +{ + return this->key_pd_type->is_defined () && this->value_pd_type->is_defined(); +} + +void +AST_Map::destroy () +{ + if (this->owns_base_type_) + { + this->key_pd_type->destroy (); + delete this->key_pd_type; + this->key_pd_type = nullptr; + } + + this->pd_max_size->destroy (); + delete this->pd_max_size; + this->pd_max_size = nullptr; + + this->AST_ConcreteType::destroy (); +} + +AST_Annotation_Appls & +AST_Map::base_type_annotations () +{ + return base_type_annotations_; +} + +void +AST_Map::base_type_annotations (const AST_Annotation_Appls &annotations) +{ + base_type_annotations_ = annotations; +} diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index 61f78e6c27ad6..fef79fe1d65ad 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -87,6 +87,7 @@ class AST_Publishes; class AST_Emits; class AST_Consumes; class AST_Template_Module; +class AST_Map; class AST_Template_Module_Inst; class AST_Template_Module_Ref; class AST_Param_Holder; @@ -328,6 +329,14 @@ class TAO_IDL_FE_Export AST_Generator bool is_local, bool is_abstract); + // Create a node representing a map type. + virtual AST_Map *create_map(AST_Expression *v, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract); + // Create a node representing a string type. virtual AST_String *create_string (AST_Expression *v); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h new file mode 100644 index 0000000000000..05e7332f9e098 --- /dev/null +++ b/TAO/TAO_IDL/include/ast_map.h @@ -0,0 +1,155 @@ +/* + +COPYRIGHT + +Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United +States of America. All Rights Reserved. + +This product is protected by copyright and distributed under the following +license restricting its use. + +The Interface Definition Language Compiler Front End (CFE) is made +available for your use provided that you include this license and copyright +notice on all media and documentation and the software program in which +this product is incorporated in whole or part. You may copy and extend +functionality (but may not remove functionality) of the Interface +Definition Language CFE without charge, but you are not authorized to +license or distribute it to anyone else except as part of a product or +program developed by you or with the express written consent of Sun +Microsystems, Inc. ("Sun"). + +The names of Sun Microsystems, Inc. and any of its subsidiaries or +affiliates may not be used in advertising or publicity pertaining to +distribution of Interface Definition Language CFE as permitted herein. + +This license is effective until terminated by Sun for failure to comply +with this license. Upon termination, you shall destroy or return all code +and documentation for the Interface Definition Language CFE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF +ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF +DEALING, USAGE OR TRADE PRACTICE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT +ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES +TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT. + +SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH +RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY +INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF. + +IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR +ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL +DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Use, duplication, or disclosure by the government is subject to +restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in +Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR +52.227-19. + +Sun, Sun Microsystems and the Sun logo are trademarks or registered +trademarks of Sun Microsystems, Inc. + +SunSoft, Inc. +2550 Garcia Avenue +Mountain View, California 94043 + +NOTE: + +SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are +trademarks or registered trademarks of Sun Microsystems, Inc. + +*/ + +#ifndef _AST_MAP_AST_MAP_HH +#define _AST_MAP_AST_MAP_HH + +#include "ast_concrete_type.h" + + +class AST_Expression; +class AST_Type; + +class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType +{ +public: + AST_Map (AST_Expression *max_size, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract); + + virtual ~AST_Map (); + + virtual bool in_recursion (ACE_Unbounded_Queue &list); + // Are we or the node represented by node involved in recursion. + + // Data Accessors. + AST_Expression *max_size (); + + AST_Type *key_type () const; + AST_Type *value_type() const; + + /** + * Returns the fully dealiased base type if it's a typedef. If it's not a + * typedef, the it returns the same value as as base_type(). + */ + AST_Type *primitive_base_type () const; + + virtual bool unbounded () const; + // Is this map bounded or not. + + // Recursively called on valuetype to check for legal use as + // a primary key. Overridden for valuetype, struct, map, + // union, array, typedef, and interface. + virtual bool legal_for_primary_key () const; + + // Is the element type a forward declared struct or union + // that hasn't yet been fully defined? + virtual bool is_defined (); + + // Cleanup method. + virtual void destroy (); + + // AST Dumping. + virtual void dump (ACE_OSTREAM_TYPE &o); + + // Visiting. + virtual int ast_accept (ast_visitor *visitor); + + static AST_Decl::NodeType const NT; + + /** + * Get and Set Annotations on the base type + */ + ///{ + AST_Annotation_Appls &base_type_annotations (); + void base_type_annotations (const AST_Annotation_Appls &annotations); + ///} + +private: + // Data. + AST_Expression *pd_max_size; + // Maximum map size. + + AST_Type *key_pd_type; + // map key type. + AST_Type *value_pd_type; + // map value type. + + bool unbounded_; + // Whether we are bounded or unbounded. + + bool owns_base_type_; + // If our base type is anonymous array or map, we're + // responsible for destroying it. + + /** + * Annotations on the base type + */ + AST_Annotation_Appls base_type_annotations_; +}; + +#endif // _AST_MAP_AST_MAP_HH From 1ff3a9307721e6c453421a87802a718e7be762a1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:47:03 -0400 Subject: [PATCH 04/92] Updated flex and bison --- TAO/TAO_IDL/fe/idl.ll | 9 + TAO/TAO_IDL/fe/idl.tab.cpp | 5593 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.tab.hpp | 151 +- TAO/TAO_IDL/fe/idl.ypp | 87 +- TAO/TAO_IDL/fe/idl.yy.cpp | 1543 +++++----- 5 files changed, 3813 insertions(+), 3570 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index 7b3dbdfa9fbd6..7e15607d42b22 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -138,6 +138,7 @@ enum return IDL_ENUM; string return IDL_STRING; wstring return IDL_WSTRING; sequence return IDL_SEQUENCE; +map return IDL_MAP; union return IDL_UNION; fixed return IDL_FIXED; switch return IDL_SWITCH; @@ -221,6 +222,14 @@ uint64 { REJECT; } } +map { + if (idl_global->idl_version_ >= IDL_VERSION_4) + return IDL_MAP; + else + { + REJECT; + } +} custom return IDL_CUSTOM; factory return IDL_FACTORY; diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index d22f815b46679..056f22cb8bacc 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.6. */ +/* A Bison parser, made by GNU Bison 3.7.5. */ /* Bison implementation for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -46,10 +46,10 @@ USER NAME SPACE" below. */ /* Identify Bison output, and Bison version. */ -#define YYBISON 30706 +#define YYBISON 30705 /* Bison version string. */ -#define YYBISON_VERSION "3.7.6" +#define YYBISON_VERSION "3.7.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -137,6 +137,7 @@ #include #include #include +#include #include #include @@ -161,7 +162,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 165 "fe/idl.tab.cpp" +#line 166 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -214,496 +215,503 @@ enum yysymbol_kind_t YYSYMBOL_IDL_SWITCH = 22, /* IDL_SWITCH */ YYSYMBOL_IDL_ENUM = 23, /* IDL_ENUM */ YYSYMBOL_IDL_SEQUENCE = 24, /* IDL_SEQUENCE */ - YYSYMBOL_IDL_STRING = 25, /* IDL_STRING */ - YYSYMBOL_IDL_WSTRING = 26, /* IDL_WSTRING */ - YYSYMBOL_IDL_EXCEPTION = 27, /* IDL_EXCEPTION */ - YYSYMBOL_IDL_CASE = 28, /* IDL_CASE */ - YYSYMBOL_IDL_DEFAULT = 29, /* IDL_DEFAULT */ - YYSYMBOL_IDL_READONLY = 30, /* IDL_READONLY */ - YYSYMBOL_IDL_ATTRIBUTE = 31, /* IDL_ATTRIBUTE */ - YYSYMBOL_IDL_ONEWAY = 32, /* IDL_ONEWAY */ - YYSYMBOL_IDL_IDEMPOTENT = 33, /* IDL_IDEMPOTENT */ - YYSYMBOL_IDL_VOID = 34, /* IDL_VOID */ - YYSYMBOL_IDL_IN = 35, /* IDL_IN */ - YYSYMBOL_IDL_OUT = 36, /* IDL_OUT */ - YYSYMBOL_IDL_INOUT = 37, /* IDL_INOUT */ - YYSYMBOL_IDL_RAISES = 38, /* IDL_RAISES */ - YYSYMBOL_IDL_CONTEXT = 39, /* IDL_CONTEXT */ - YYSYMBOL_IDL_NATIVE = 40, /* IDL_NATIVE */ - YYSYMBOL_IDL_LOCAL = 41, /* IDL_LOCAL */ - YYSYMBOL_IDL_ABSTRACT = 42, /* IDL_ABSTRACT */ - YYSYMBOL_IDL_CUSTOM = 43, /* IDL_CUSTOM */ - YYSYMBOL_IDL_FACTORY = 44, /* IDL_FACTORY */ - YYSYMBOL_IDL_PRIVATE = 45, /* IDL_PRIVATE */ - YYSYMBOL_IDL_PUBLIC = 46, /* IDL_PUBLIC */ - YYSYMBOL_IDL_SUPPORTS = 47, /* IDL_SUPPORTS */ - YYSYMBOL_IDL_TRUNCATABLE = 48, /* IDL_TRUNCATABLE */ - YYSYMBOL_IDL_VALUETYPE = 49, /* IDL_VALUETYPE */ - YYSYMBOL_IDL_COMPONENT = 50, /* IDL_COMPONENT */ - YYSYMBOL_IDL_CONSUMES = 51, /* IDL_CONSUMES */ - YYSYMBOL_IDL_EMITS = 52, /* IDL_EMITS */ - YYSYMBOL_IDL_EVENTTYPE = 53, /* IDL_EVENTTYPE */ - YYSYMBOL_IDL_FINDER = 54, /* IDL_FINDER */ - YYSYMBOL_IDL_GETRAISES = 55, /* IDL_GETRAISES */ - YYSYMBOL_IDL_HOME = 56, /* IDL_HOME */ - YYSYMBOL_IDL_IMPORT = 57, /* IDL_IMPORT */ - YYSYMBOL_IDL_MULTIPLE = 58, /* IDL_MULTIPLE */ - YYSYMBOL_IDL_PRIMARYKEY = 59, /* IDL_PRIMARYKEY */ - YYSYMBOL_IDL_PROVIDES = 60, /* IDL_PROVIDES */ - YYSYMBOL_IDL_PUBLISHES = 61, /* IDL_PUBLISHES */ - YYSYMBOL_IDL_SETRAISES = 62, /* IDL_SETRAISES */ - YYSYMBOL_IDL_TYPEID = 63, /* IDL_TYPEID */ - YYSYMBOL_IDL_TYPEPREFIX = 64, /* IDL_TYPEPREFIX */ - YYSYMBOL_IDL_USES = 65, /* IDL_USES */ - YYSYMBOL_IDL_MANAGES = 66, /* IDL_MANAGES */ - YYSYMBOL_IDL_TYPENAME = 67, /* IDL_TYPENAME */ - YYSYMBOL_IDL_PORT = 68, /* IDL_PORT */ - YYSYMBOL_IDL_MIRRORPORT = 69, /* IDL_MIRRORPORT */ - YYSYMBOL_IDL_PORTTYPE = 70, /* IDL_PORTTYPE */ - YYSYMBOL_IDL_CONNECTOR = 71, /* IDL_CONNECTOR */ - YYSYMBOL_IDL_ALIAS = 72, /* IDL_ALIAS */ - YYSYMBOL_IDL_INTEGER_LITERAL = 73, /* IDL_INTEGER_LITERAL */ - YYSYMBOL_IDL_UINTEGER_LITERAL = 74, /* IDL_UINTEGER_LITERAL */ - YYSYMBOL_IDL_STRING_LITERAL = 75, /* IDL_STRING_LITERAL */ - YYSYMBOL_IDL_CHARACTER_LITERAL = 76, /* IDL_CHARACTER_LITERAL */ - YYSYMBOL_IDL_FLOATING_PT_LITERAL = 77, /* IDL_FLOATING_PT_LITERAL */ - YYSYMBOL_IDL_FIXED_PT_LITERAL = 78, /* IDL_FIXED_PT_LITERAL */ - YYSYMBOL_IDL_TRUETOK = 79, /* IDL_TRUETOK */ - YYSYMBOL_IDL_FALSETOK = 80, /* IDL_FALSETOK */ - YYSYMBOL_IDL_INT8 = 81, /* IDL_INT8 */ - YYSYMBOL_IDL_UINT8 = 82, /* IDL_UINT8 */ - YYSYMBOL_IDL_INT16 = 83, /* IDL_INT16 */ - YYSYMBOL_IDL_UINT16 = 84, /* IDL_UINT16 */ - YYSYMBOL_IDL_INT32 = 85, /* IDL_INT32 */ - YYSYMBOL_IDL_UINT32 = 86, /* IDL_UINT32 */ - YYSYMBOL_IDL_INT64 = 87, /* IDL_INT64 */ - YYSYMBOL_IDL_UINT64 = 88, /* IDL_UINT64 */ - YYSYMBOL_IDL_SCOPE_DELIMITOR = 89, /* IDL_SCOPE_DELIMITOR */ - YYSYMBOL_IDL_LEFT_SHIFT = 90, /* IDL_LEFT_SHIFT */ - YYSYMBOL_IDL_RIGHT_SHIFT = 91, /* IDL_RIGHT_SHIFT */ - YYSYMBOL_IDL_WCHAR_LITERAL = 92, /* IDL_WCHAR_LITERAL */ - YYSYMBOL_IDL_WSTRING_LITERAL = 93, /* IDL_WSTRING_LITERAL */ - YYSYMBOL_IDL_ANNOTATION_DECL = 94, /* IDL_ANNOTATION_DECL */ - YYSYMBOL_IDL_ANNOTATION_SYMBOL = 95, /* IDL_ANNOTATION_SYMBOL */ - YYSYMBOL_96_ = 96, /* ';' */ - YYSYMBOL_97_ = 97, /* '{' */ - YYSYMBOL_98_ = 98, /* '}' */ - YYSYMBOL_99_ = 99, /* '<' */ - YYSYMBOL_100_ = 100, /* '>' */ - YYSYMBOL_101_ = 101, /* ':' */ - YYSYMBOL_102_ = 102, /* ',' */ - YYSYMBOL_103_ = 103, /* '=' */ - YYSYMBOL_104_ = 104, /* '|' */ - YYSYMBOL_105_ = 105, /* '^' */ - YYSYMBOL_106_ = 106, /* '&' */ - YYSYMBOL_107_ = 107, /* '+' */ - YYSYMBOL_108_ = 108, /* '-' */ - YYSYMBOL_109_ = 109, /* '*' */ - YYSYMBOL_110_ = 110, /* '/' */ - YYSYMBOL_111_ = 111, /* '%' */ - YYSYMBOL_112_ = 112, /* '~' */ - YYSYMBOL_113_ = 113, /* '(' */ - YYSYMBOL_114_ = 114, /* ')' */ - YYSYMBOL_115_ = 115, /* '[' */ - YYSYMBOL_116_ = 116, /* ']' */ - YYSYMBOL_YYACCEPT = 117, /* $accept */ - YYSYMBOL_start = 118, /* start */ - YYSYMBOL_definitions = 119, /* definitions */ - YYSYMBOL_at_least_one_definition = 120, /* at_least_one_definition */ - YYSYMBOL_definition = 121, /* definition */ - YYSYMBOL_fixed_definition = 122, /* fixed_definition */ - YYSYMBOL_123_1 = 123, /* $@1 */ - YYSYMBOL_124_2 = 124, /* $@2 */ - YYSYMBOL_125_3 = 125, /* $@3 */ - YYSYMBOL_126_4 = 126, /* $@4 */ - YYSYMBOL_127_5 = 127, /* $@5 */ - YYSYMBOL_128_6 = 128, /* $@6 */ - YYSYMBOL_129_7 = 129, /* $@7 */ - YYSYMBOL_130_8 = 130, /* $@8 */ - YYSYMBOL_131_9 = 131, /* $@9 */ - YYSYMBOL_132_10 = 132, /* $@10 */ - YYSYMBOL_133_11 = 133, /* $@11 */ - YYSYMBOL_134_12 = 134, /* $@12 */ - YYSYMBOL_135_13 = 135, /* $@13 */ - YYSYMBOL_136_14 = 136, /* $@14 */ - YYSYMBOL_137_15 = 137, /* $@15 */ - YYSYMBOL_module_header = 138, /* module_header */ - YYSYMBOL_139_16 = 139, /* $@16 */ - YYSYMBOL_module = 140, /* module */ - YYSYMBOL_141_17 = 141, /* @17 */ - YYSYMBOL_142_18 = 142, /* $@18 */ - YYSYMBOL_143_19 = 143, /* $@19 */ - YYSYMBOL_template_module_header = 144, /* template_module_header */ - YYSYMBOL_template_module = 145, /* template_module */ - YYSYMBOL_146_20 = 146, /* $@20 */ - YYSYMBOL_147_21 = 147, /* $@21 */ - YYSYMBOL_148_22 = 148, /* $@22 */ - YYSYMBOL_149_23 = 149, /* $@23 */ - YYSYMBOL_150_24 = 150, /* $@24 */ - YYSYMBOL_at_least_one_tpl_definition = 151, /* at_least_one_tpl_definition */ - YYSYMBOL_tpl_definitions = 152, /* tpl_definitions */ - YYSYMBOL_tpl_definition = 153, /* tpl_definition */ - YYSYMBOL_template_module_ref = 154, /* template_module_ref */ - YYSYMBOL_155_25 = 155, /* $@25 */ - YYSYMBOL_156_26 = 156, /* $@26 */ - YYSYMBOL_template_module_inst = 157, /* template_module_inst */ - YYSYMBOL_158_27 = 158, /* $@27 */ - YYSYMBOL_159_28 = 159, /* $@28 */ - YYSYMBOL_interface_def = 160, /* interface_def */ - YYSYMBOL_interface = 161, /* interface */ - YYSYMBOL_162_29 = 162, /* $@29 */ - YYSYMBOL_163_30 = 163, /* $@30 */ - YYSYMBOL_164_31 = 164, /* $@31 */ - YYSYMBOL_interface_decl = 165, /* interface_decl */ - YYSYMBOL_166_32 = 166, /* $@32 */ - YYSYMBOL_interface_header = 167, /* interface_header */ - YYSYMBOL_inheritance_spec = 168, /* inheritance_spec */ - YYSYMBOL_169_33 = 169, /* $@33 */ - YYSYMBOL_value_def = 170, /* value_def */ - YYSYMBOL_valuetype = 171, /* valuetype */ - YYSYMBOL_value_concrete_decl = 172, /* value_concrete_decl */ - YYSYMBOL_173_34 = 173, /* @34 */ - YYSYMBOL_174_35 = 174, /* $@35 */ - YYSYMBOL_175_36 = 175, /* $@36 */ - YYSYMBOL_value_abs_decl = 176, /* value_abs_decl */ - YYSYMBOL_177_37 = 177, /* $@37 */ - YYSYMBOL_178_38 = 178, /* $@38 */ - YYSYMBOL_179_39 = 179, /* $@39 */ - YYSYMBOL_value_header = 180, /* value_header */ - YYSYMBOL_181_40 = 181, /* $@40 */ - YYSYMBOL_value_decl = 182, /* value_decl */ - YYSYMBOL_183_41 = 183, /* $@41 */ - YYSYMBOL_opt_truncatable = 184, /* opt_truncatable */ - YYSYMBOL_supports_spec = 185, /* supports_spec */ - YYSYMBOL_value_forward_decl = 186, /* value_forward_decl */ - YYSYMBOL_value_box_decl = 187, /* value_box_decl */ - YYSYMBOL_value_elements = 188, /* value_elements */ - YYSYMBOL_value_element = 189, /* value_element */ - YYSYMBOL_190_42 = 190, /* @42 */ - YYSYMBOL_visibility = 191, /* visibility */ - YYSYMBOL_state_member = 192, /* state_member */ - YYSYMBOL_exports = 193, /* exports */ - YYSYMBOL_at_least_one_export = 194, /* at_least_one_export */ - YYSYMBOL_export = 195, /* export */ - YYSYMBOL_196_43 = 196, /* $@43 */ - YYSYMBOL_197_44 = 197, /* $@44 */ - YYSYMBOL_198_45 = 198, /* $@45 */ - YYSYMBOL_199_46 = 199, /* $@46 */ - YYSYMBOL_200_47 = 200, /* $@47 */ - YYSYMBOL_201_48 = 201, /* $@48 */ - YYSYMBOL_202_49 = 202, /* $@49 */ - YYSYMBOL_203_50 = 203, /* $@50 */ - YYSYMBOL_at_least_one_scoped_name = 204, /* at_least_one_scoped_name */ - YYSYMBOL_scoped_names = 205, /* scoped_names */ - YYSYMBOL_206_51 = 206, /* $@51 */ - YYSYMBOL_scoped_name = 207, /* scoped_name */ - YYSYMBOL_208_52 = 208, /* $@52 */ - YYSYMBOL_209_53 = 209, /* $@53 */ - YYSYMBOL_id = 210, /* id */ - YYSYMBOL_defining_id = 211, /* defining_id */ - YYSYMBOL_interface_forward = 212, /* interface_forward */ - YYSYMBOL_const_dcl = 213, /* const_dcl */ - YYSYMBOL_214_54 = 214, /* $@54 */ - YYSYMBOL_215_55 = 215, /* $@55 */ - YYSYMBOL_216_56 = 216, /* $@56 */ - YYSYMBOL_217_57 = 217, /* $@57 */ - YYSYMBOL_const_type = 218, /* const_type */ - YYSYMBOL_expression = 219, /* expression */ - YYSYMBOL_const_expr = 220, /* const_expr */ - YYSYMBOL_or_expr = 221, /* or_expr */ - YYSYMBOL_xor_expr = 222, /* xor_expr */ - YYSYMBOL_and_expr = 223, /* and_expr */ - YYSYMBOL_shift_expr = 224, /* shift_expr */ - YYSYMBOL_add_expr = 225, /* add_expr */ - YYSYMBOL_mult_expr = 226, /* mult_expr */ - YYSYMBOL_unary_expr = 227, /* unary_expr */ - YYSYMBOL_primary_expr = 228, /* primary_expr */ - YYSYMBOL_literal = 229, /* literal */ - YYSYMBOL_positive_int_expr = 230, /* positive_int_expr */ - YYSYMBOL_annotation_dcl = 231, /* annotation_dcl */ - YYSYMBOL_232_58 = 232, /* $@58 */ - YYSYMBOL_annotation_body = 233, /* annotation_body */ - YYSYMBOL_annotation_statement = 234, /* annotation_statement */ - YYSYMBOL_235_59 = 235, /* $@59 */ - YYSYMBOL_annotation_member_type = 236, /* annotation_member_type */ - YYSYMBOL_annotation_member = 237, /* annotation_member */ - YYSYMBOL_annotation_member_default = 238, /* annotation_member_default */ - YYSYMBOL_at_least_one_annotation = 239, /* at_least_one_annotation */ - YYSYMBOL_annotations_maybe = 240, /* annotations_maybe */ - YYSYMBOL_annotation_appl = 241, /* annotation_appl */ - YYSYMBOL_242_60 = 242, /* @60 */ - YYSYMBOL_annotation_appl_params_maybe = 243, /* annotation_appl_params_maybe */ - YYSYMBOL_annotation_appl_params = 244, /* annotation_appl_params */ - YYSYMBOL_named_annotation_appl_params = 245, /* named_annotation_appl_params */ - YYSYMBOL_more_named_annotation_appl_params = 246, /* more_named_annotation_appl_params */ - YYSYMBOL_named_annotation_appl_param = 247, /* named_annotation_appl_param */ - YYSYMBOL_type_dcl = 248, /* type_dcl */ - YYSYMBOL_249_61 = 249, /* $@61 */ - YYSYMBOL_type_declarator = 250, /* type_declarator */ - YYSYMBOL_251_62 = 251, /* $@62 */ - YYSYMBOL_type_spec = 252, /* type_spec */ - YYSYMBOL_simple_type_spec = 253, /* simple_type_spec */ - YYSYMBOL_base_type_spec = 254, /* base_type_spec */ - YYSYMBOL_template_type_spec = 255, /* template_type_spec */ - YYSYMBOL_constructed_type_spec = 256, /* constructed_type_spec */ - YYSYMBOL_constructed_forward_type_spec = 257, /* constructed_forward_type_spec */ - YYSYMBOL_at_least_one_declarator = 258, /* at_least_one_declarator */ - YYSYMBOL_declarators = 259, /* declarators */ - YYSYMBOL_260_63 = 260, /* $@63 */ - YYSYMBOL_declarator = 261, /* declarator */ - YYSYMBOL_at_least_one_simple_declarator = 262, /* at_least_one_simple_declarator */ - YYSYMBOL_simple_declarators = 263, /* simple_declarators */ - YYSYMBOL_264_64 = 264, /* $@64 */ - YYSYMBOL_simple_declarator = 265, /* simple_declarator */ - YYSYMBOL_complex_declarator = 266, /* complex_declarator */ - YYSYMBOL_integer_type = 267, /* integer_type */ - YYSYMBOL_signed_int = 268, /* signed_int */ - YYSYMBOL_unsigned_int = 269, /* unsigned_int */ - YYSYMBOL_floating_pt_type = 270, /* floating_pt_type */ - YYSYMBOL_fixed_type = 271, /* fixed_type */ - YYSYMBOL_char_type = 272, /* char_type */ - YYSYMBOL_octet_type = 273, /* octet_type */ - YYSYMBOL_boolean_type = 274, /* boolean_type */ - YYSYMBOL_any_type = 275, /* any_type */ - YYSYMBOL_object_type = 276, /* object_type */ - YYSYMBOL_struct_decl = 277, /* struct_decl */ - YYSYMBOL_278_65 = 278, /* $@65 */ - YYSYMBOL_struct_type = 279, /* struct_type */ - YYSYMBOL_280_66 = 280, /* $@66 */ - YYSYMBOL_281_67 = 281, /* $@67 */ - YYSYMBOL_282_68 = 282, /* $@68 */ - YYSYMBOL_at_least_one_member = 283, /* at_least_one_member */ - YYSYMBOL_members = 284, /* members */ - YYSYMBOL_member = 285, /* member */ - YYSYMBOL_member_i = 286, /* member_i */ - YYSYMBOL_287_69 = 287, /* $@69 */ - YYSYMBOL_288_70 = 288, /* $@70 */ - YYSYMBOL_289_71 = 289, /* $@71 */ - YYSYMBOL_union_decl = 290, /* union_decl */ - YYSYMBOL_291_72 = 291, /* $@72 */ - YYSYMBOL_union_type = 292, /* union_type */ - YYSYMBOL_293_73 = 293, /* $@73 */ - YYSYMBOL_294_74 = 294, /* $@74 */ - YYSYMBOL_295_75 = 295, /* $@75 */ - YYSYMBOL_296_76 = 296, /* $@76 */ - YYSYMBOL_297_77 = 297, /* $@77 */ - YYSYMBOL_298_78 = 298, /* $@78 */ - YYSYMBOL_switch_type_spec = 299, /* switch_type_spec */ - YYSYMBOL_at_least_one_case_branch = 300, /* at_least_one_case_branch */ - YYSYMBOL_case_branches = 301, /* case_branches */ - YYSYMBOL_case_branch = 302, /* case_branch */ - YYSYMBOL_303_79 = 303, /* $@79 */ - YYSYMBOL_304_80 = 304, /* $@80 */ - YYSYMBOL_305_81 = 305, /* $@81 */ - YYSYMBOL_at_least_one_case_label = 306, /* at_least_one_case_label */ - YYSYMBOL_case_labels = 307, /* case_labels */ - YYSYMBOL_case_label = 308, /* case_label */ - YYSYMBOL_309_82 = 309, /* $@82 */ - YYSYMBOL_310_83 = 310, /* $@83 */ - YYSYMBOL_311_84 = 311, /* $@84 */ - YYSYMBOL_element_spec = 312, /* element_spec */ - YYSYMBOL_313_85 = 313, /* $@85 */ - YYSYMBOL_struct_forward_type = 314, /* struct_forward_type */ - YYSYMBOL_union_forward_type = 315, /* union_forward_type */ - YYSYMBOL_enum_type = 316, /* enum_type */ - YYSYMBOL_317_86 = 317, /* $@86 */ - YYSYMBOL_318_87 = 318, /* $@87 */ - YYSYMBOL_319_88 = 319, /* $@88 */ - YYSYMBOL_320_89 = 320, /* $@89 */ - YYSYMBOL_at_least_one_enumerator = 321, /* at_least_one_enumerator */ - YYSYMBOL_enumerators = 322, /* enumerators */ - YYSYMBOL_323_90 = 323, /* $@90 */ - YYSYMBOL_enumerator = 324, /* enumerator */ - YYSYMBOL_sequence_type_spec = 325, /* sequence_type_spec */ - YYSYMBOL_326_91 = 326, /* $@91 */ - YYSYMBOL_327_92 = 327, /* $@92 */ - YYSYMBOL_seq_head = 328, /* seq_head */ + YYSYMBOL_IDL_MAP = 25, /* IDL_MAP */ + YYSYMBOL_IDL_STRING = 26, /* IDL_STRING */ + YYSYMBOL_IDL_WSTRING = 27, /* IDL_WSTRING */ + YYSYMBOL_IDL_EXCEPTION = 28, /* IDL_EXCEPTION */ + YYSYMBOL_IDL_CASE = 29, /* IDL_CASE */ + YYSYMBOL_IDL_DEFAULT = 30, /* IDL_DEFAULT */ + YYSYMBOL_IDL_READONLY = 31, /* IDL_READONLY */ + YYSYMBOL_IDL_ATTRIBUTE = 32, /* IDL_ATTRIBUTE */ + YYSYMBOL_IDL_ONEWAY = 33, /* IDL_ONEWAY */ + YYSYMBOL_IDL_IDEMPOTENT = 34, /* IDL_IDEMPOTENT */ + YYSYMBOL_IDL_VOID = 35, /* IDL_VOID */ + YYSYMBOL_IDL_IN = 36, /* IDL_IN */ + YYSYMBOL_IDL_OUT = 37, /* IDL_OUT */ + YYSYMBOL_IDL_INOUT = 38, /* IDL_INOUT */ + YYSYMBOL_IDL_RAISES = 39, /* IDL_RAISES */ + YYSYMBOL_IDL_CONTEXT = 40, /* IDL_CONTEXT */ + YYSYMBOL_IDL_NATIVE = 41, /* IDL_NATIVE */ + YYSYMBOL_IDL_LOCAL = 42, /* IDL_LOCAL */ + YYSYMBOL_IDL_ABSTRACT = 43, /* IDL_ABSTRACT */ + YYSYMBOL_IDL_CUSTOM = 44, /* IDL_CUSTOM */ + YYSYMBOL_IDL_FACTORY = 45, /* IDL_FACTORY */ + YYSYMBOL_IDL_PRIVATE = 46, /* IDL_PRIVATE */ + YYSYMBOL_IDL_PUBLIC = 47, /* IDL_PUBLIC */ + YYSYMBOL_IDL_SUPPORTS = 48, /* IDL_SUPPORTS */ + YYSYMBOL_IDL_TRUNCATABLE = 49, /* IDL_TRUNCATABLE */ + YYSYMBOL_IDL_VALUETYPE = 50, /* IDL_VALUETYPE */ + YYSYMBOL_IDL_COMPONENT = 51, /* IDL_COMPONENT */ + YYSYMBOL_IDL_CONSUMES = 52, /* IDL_CONSUMES */ + YYSYMBOL_IDL_EMITS = 53, /* IDL_EMITS */ + YYSYMBOL_IDL_EVENTTYPE = 54, /* IDL_EVENTTYPE */ + YYSYMBOL_IDL_FINDER = 55, /* IDL_FINDER */ + YYSYMBOL_IDL_GETRAISES = 56, /* IDL_GETRAISES */ + YYSYMBOL_IDL_HOME = 57, /* IDL_HOME */ + YYSYMBOL_IDL_IMPORT = 58, /* IDL_IMPORT */ + YYSYMBOL_IDL_MULTIPLE = 59, /* IDL_MULTIPLE */ + YYSYMBOL_IDL_PRIMARYKEY = 60, /* IDL_PRIMARYKEY */ + YYSYMBOL_IDL_PROVIDES = 61, /* IDL_PROVIDES */ + YYSYMBOL_IDL_PUBLISHES = 62, /* IDL_PUBLISHES */ + YYSYMBOL_IDL_SETRAISES = 63, /* IDL_SETRAISES */ + YYSYMBOL_IDL_TYPEID = 64, /* IDL_TYPEID */ + YYSYMBOL_IDL_TYPEPREFIX = 65, /* IDL_TYPEPREFIX */ + YYSYMBOL_IDL_USES = 66, /* IDL_USES */ + YYSYMBOL_IDL_MANAGES = 67, /* IDL_MANAGES */ + YYSYMBOL_IDL_TYPENAME = 68, /* IDL_TYPENAME */ + YYSYMBOL_IDL_PORT = 69, /* IDL_PORT */ + YYSYMBOL_IDL_MIRRORPORT = 70, /* IDL_MIRRORPORT */ + YYSYMBOL_IDL_PORTTYPE = 71, /* IDL_PORTTYPE */ + YYSYMBOL_IDL_CONNECTOR = 72, /* IDL_CONNECTOR */ + YYSYMBOL_IDL_ALIAS = 73, /* IDL_ALIAS */ + YYSYMBOL_IDL_INTEGER_LITERAL = 74, /* IDL_INTEGER_LITERAL */ + YYSYMBOL_IDL_UINTEGER_LITERAL = 75, /* IDL_UINTEGER_LITERAL */ + YYSYMBOL_IDL_STRING_LITERAL = 76, /* IDL_STRING_LITERAL */ + YYSYMBOL_IDL_CHARACTER_LITERAL = 77, /* IDL_CHARACTER_LITERAL */ + YYSYMBOL_IDL_FLOATING_PT_LITERAL = 78, /* IDL_FLOATING_PT_LITERAL */ + YYSYMBOL_IDL_FIXED_PT_LITERAL = 79, /* IDL_FIXED_PT_LITERAL */ + YYSYMBOL_IDL_TRUETOK = 80, /* IDL_TRUETOK */ + YYSYMBOL_IDL_FALSETOK = 81, /* IDL_FALSETOK */ + YYSYMBOL_IDL_INT8 = 82, /* IDL_INT8 */ + YYSYMBOL_IDL_UINT8 = 83, /* IDL_UINT8 */ + YYSYMBOL_IDL_INT16 = 84, /* IDL_INT16 */ + YYSYMBOL_IDL_UINT16 = 85, /* IDL_UINT16 */ + YYSYMBOL_IDL_INT32 = 86, /* IDL_INT32 */ + YYSYMBOL_IDL_UINT32 = 87, /* IDL_UINT32 */ + YYSYMBOL_IDL_INT64 = 88, /* IDL_INT64 */ + YYSYMBOL_IDL_UINT64 = 89, /* IDL_UINT64 */ + YYSYMBOL_IDL_SCOPE_DELIMITOR = 90, /* IDL_SCOPE_DELIMITOR */ + YYSYMBOL_IDL_LEFT_SHIFT = 91, /* IDL_LEFT_SHIFT */ + YYSYMBOL_IDL_RIGHT_SHIFT = 92, /* IDL_RIGHT_SHIFT */ + YYSYMBOL_IDL_WCHAR_LITERAL = 93, /* IDL_WCHAR_LITERAL */ + YYSYMBOL_IDL_WSTRING_LITERAL = 94, /* IDL_WSTRING_LITERAL */ + YYSYMBOL_IDL_ANNOTATION_DECL = 95, /* IDL_ANNOTATION_DECL */ + YYSYMBOL_IDL_ANNOTATION_SYMBOL = 96, /* IDL_ANNOTATION_SYMBOL */ + YYSYMBOL_97_ = 97, /* ';' */ + YYSYMBOL_98_ = 98, /* '{' */ + YYSYMBOL_99_ = 99, /* '}' */ + YYSYMBOL_100_ = 100, /* '<' */ + YYSYMBOL_101_ = 101, /* '>' */ + YYSYMBOL_102_ = 102, /* ':' */ + YYSYMBOL_103_ = 103, /* ',' */ + YYSYMBOL_104_ = 104, /* '=' */ + YYSYMBOL_105_ = 105, /* '|' */ + YYSYMBOL_106_ = 106, /* '^' */ + YYSYMBOL_107_ = 107, /* '&' */ + YYSYMBOL_108_ = 108, /* '+' */ + YYSYMBOL_109_ = 109, /* '-' */ + YYSYMBOL_110_ = 110, /* '*' */ + YYSYMBOL_111_ = 111, /* '/' */ + YYSYMBOL_112_ = 112, /* '%' */ + YYSYMBOL_113_ = 113, /* '~' */ + YYSYMBOL_114_ = 114, /* '(' */ + YYSYMBOL_115_ = 115, /* ')' */ + YYSYMBOL_116_ = 116, /* '[' */ + YYSYMBOL_117_ = 117, /* ']' */ + YYSYMBOL_YYACCEPT = 118, /* $accept */ + YYSYMBOL_start = 119, /* start */ + YYSYMBOL_definitions = 120, /* definitions */ + YYSYMBOL_at_least_one_definition = 121, /* at_least_one_definition */ + YYSYMBOL_definition = 122, /* definition */ + YYSYMBOL_fixed_definition = 123, /* fixed_definition */ + YYSYMBOL_124_1 = 124, /* $@1 */ + YYSYMBOL_125_2 = 125, /* $@2 */ + YYSYMBOL_126_3 = 126, /* $@3 */ + YYSYMBOL_127_4 = 127, /* $@4 */ + YYSYMBOL_128_5 = 128, /* $@5 */ + YYSYMBOL_129_6 = 129, /* $@6 */ + YYSYMBOL_130_7 = 130, /* $@7 */ + YYSYMBOL_131_8 = 131, /* $@8 */ + YYSYMBOL_132_9 = 132, /* $@9 */ + YYSYMBOL_133_10 = 133, /* $@10 */ + YYSYMBOL_134_11 = 134, /* $@11 */ + YYSYMBOL_135_12 = 135, /* $@12 */ + YYSYMBOL_136_13 = 136, /* $@13 */ + YYSYMBOL_137_14 = 137, /* $@14 */ + YYSYMBOL_138_15 = 138, /* $@15 */ + YYSYMBOL_module_header = 139, /* module_header */ + YYSYMBOL_140_16 = 140, /* $@16 */ + YYSYMBOL_module = 141, /* module */ + YYSYMBOL_142_17 = 142, /* @17 */ + YYSYMBOL_143_18 = 143, /* $@18 */ + YYSYMBOL_144_19 = 144, /* $@19 */ + YYSYMBOL_template_module_header = 145, /* template_module_header */ + YYSYMBOL_template_module = 146, /* template_module */ + YYSYMBOL_147_20 = 147, /* $@20 */ + YYSYMBOL_148_21 = 148, /* $@21 */ + YYSYMBOL_149_22 = 149, /* $@22 */ + YYSYMBOL_150_23 = 150, /* $@23 */ + YYSYMBOL_151_24 = 151, /* $@24 */ + YYSYMBOL_at_least_one_tpl_definition = 152, /* at_least_one_tpl_definition */ + YYSYMBOL_tpl_definitions = 153, /* tpl_definitions */ + YYSYMBOL_tpl_definition = 154, /* tpl_definition */ + YYSYMBOL_template_module_ref = 155, /* template_module_ref */ + YYSYMBOL_156_25 = 156, /* $@25 */ + YYSYMBOL_157_26 = 157, /* $@26 */ + YYSYMBOL_template_module_inst = 158, /* template_module_inst */ + YYSYMBOL_159_27 = 159, /* $@27 */ + YYSYMBOL_160_28 = 160, /* $@28 */ + YYSYMBOL_interface_def = 161, /* interface_def */ + YYSYMBOL_interface = 162, /* interface */ + YYSYMBOL_163_29 = 163, /* $@29 */ + YYSYMBOL_164_30 = 164, /* $@30 */ + YYSYMBOL_165_31 = 165, /* $@31 */ + YYSYMBOL_interface_decl = 166, /* interface_decl */ + YYSYMBOL_167_32 = 167, /* $@32 */ + YYSYMBOL_interface_header = 168, /* interface_header */ + YYSYMBOL_inheritance_spec = 169, /* inheritance_spec */ + YYSYMBOL_170_33 = 170, /* $@33 */ + YYSYMBOL_value_def = 171, /* value_def */ + YYSYMBOL_valuetype = 172, /* valuetype */ + YYSYMBOL_value_concrete_decl = 173, /* value_concrete_decl */ + YYSYMBOL_174_34 = 174, /* @34 */ + YYSYMBOL_175_35 = 175, /* $@35 */ + YYSYMBOL_176_36 = 176, /* $@36 */ + YYSYMBOL_value_abs_decl = 177, /* value_abs_decl */ + YYSYMBOL_178_37 = 178, /* $@37 */ + YYSYMBOL_179_38 = 179, /* $@38 */ + YYSYMBOL_180_39 = 180, /* $@39 */ + YYSYMBOL_value_header = 181, /* value_header */ + YYSYMBOL_182_40 = 182, /* $@40 */ + YYSYMBOL_value_decl = 183, /* value_decl */ + YYSYMBOL_184_41 = 184, /* $@41 */ + YYSYMBOL_opt_truncatable = 185, /* opt_truncatable */ + YYSYMBOL_supports_spec = 186, /* supports_spec */ + YYSYMBOL_value_forward_decl = 187, /* value_forward_decl */ + YYSYMBOL_value_box_decl = 188, /* value_box_decl */ + YYSYMBOL_value_elements = 189, /* value_elements */ + YYSYMBOL_value_element = 190, /* value_element */ + YYSYMBOL_191_42 = 191, /* @42 */ + YYSYMBOL_visibility = 192, /* visibility */ + YYSYMBOL_state_member = 193, /* state_member */ + YYSYMBOL_exports = 194, /* exports */ + YYSYMBOL_at_least_one_export = 195, /* at_least_one_export */ + YYSYMBOL_export = 196, /* export */ + YYSYMBOL_197_43 = 197, /* $@43 */ + YYSYMBOL_198_44 = 198, /* $@44 */ + YYSYMBOL_199_45 = 199, /* $@45 */ + YYSYMBOL_200_46 = 200, /* $@46 */ + YYSYMBOL_201_47 = 201, /* $@47 */ + YYSYMBOL_202_48 = 202, /* $@48 */ + YYSYMBOL_203_49 = 203, /* $@49 */ + YYSYMBOL_204_50 = 204, /* $@50 */ + YYSYMBOL_at_least_one_scoped_name = 205, /* at_least_one_scoped_name */ + YYSYMBOL_scoped_names = 206, /* scoped_names */ + YYSYMBOL_207_51 = 207, /* $@51 */ + YYSYMBOL_scoped_name = 208, /* scoped_name */ + YYSYMBOL_209_52 = 209, /* $@52 */ + YYSYMBOL_210_53 = 210, /* $@53 */ + YYSYMBOL_id = 211, /* id */ + YYSYMBOL_defining_id = 212, /* defining_id */ + YYSYMBOL_interface_forward = 213, /* interface_forward */ + YYSYMBOL_const_dcl = 214, /* const_dcl */ + YYSYMBOL_215_54 = 215, /* $@54 */ + YYSYMBOL_216_55 = 216, /* $@55 */ + YYSYMBOL_217_56 = 217, /* $@56 */ + YYSYMBOL_218_57 = 218, /* $@57 */ + YYSYMBOL_const_type = 219, /* const_type */ + YYSYMBOL_expression = 220, /* expression */ + YYSYMBOL_const_expr = 221, /* const_expr */ + YYSYMBOL_or_expr = 222, /* or_expr */ + YYSYMBOL_xor_expr = 223, /* xor_expr */ + YYSYMBOL_and_expr = 224, /* and_expr */ + YYSYMBOL_shift_expr = 225, /* shift_expr */ + YYSYMBOL_add_expr = 226, /* add_expr */ + YYSYMBOL_mult_expr = 227, /* mult_expr */ + YYSYMBOL_unary_expr = 228, /* unary_expr */ + YYSYMBOL_primary_expr = 229, /* primary_expr */ + YYSYMBOL_literal = 230, /* literal */ + YYSYMBOL_positive_int_expr = 231, /* positive_int_expr */ + YYSYMBOL_annotation_dcl = 232, /* annotation_dcl */ + YYSYMBOL_233_58 = 233, /* $@58 */ + YYSYMBOL_annotation_body = 234, /* annotation_body */ + YYSYMBOL_annotation_statement = 235, /* annotation_statement */ + YYSYMBOL_236_59 = 236, /* $@59 */ + YYSYMBOL_annotation_member_type = 237, /* annotation_member_type */ + YYSYMBOL_annotation_member = 238, /* annotation_member */ + YYSYMBOL_annotation_member_default = 239, /* annotation_member_default */ + YYSYMBOL_at_least_one_annotation = 240, /* at_least_one_annotation */ + YYSYMBOL_annotations_maybe = 241, /* annotations_maybe */ + YYSYMBOL_annotation_appl = 242, /* annotation_appl */ + YYSYMBOL_243_60 = 243, /* @60 */ + YYSYMBOL_annotation_appl_params_maybe = 244, /* annotation_appl_params_maybe */ + YYSYMBOL_annotation_appl_params = 245, /* annotation_appl_params */ + YYSYMBOL_named_annotation_appl_params = 246, /* named_annotation_appl_params */ + YYSYMBOL_more_named_annotation_appl_params = 247, /* more_named_annotation_appl_params */ + YYSYMBOL_named_annotation_appl_param = 248, /* named_annotation_appl_param */ + YYSYMBOL_type_dcl = 249, /* type_dcl */ + YYSYMBOL_250_61 = 250, /* $@61 */ + YYSYMBOL_type_declarator = 251, /* type_declarator */ + YYSYMBOL_252_62 = 252, /* $@62 */ + YYSYMBOL_type_spec = 253, /* type_spec */ + YYSYMBOL_simple_type_spec = 254, /* simple_type_spec */ + YYSYMBOL_base_type_spec = 255, /* base_type_spec */ + YYSYMBOL_template_type_spec = 256, /* template_type_spec */ + YYSYMBOL_constructed_type_spec = 257, /* constructed_type_spec */ + YYSYMBOL_constructed_forward_type_spec = 258, /* constructed_forward_type_spec */ + YYSYMBOL_at_least_one_declarator = 259, /* at_least_one_declarator */ + YYSYMBOL_declarators = 260, /* declarators */ + YYSYMBOL_261_63 = 261, /* $@63 */ + YYSYMBOL_declarator = 262, /* declarator */ + YYSYMBOL_at_least_one_simple_declarator = 263, /* at_least_one_simple_declarator */ + YYSYMBOL_simple_declarators = 264, /* simple_declarators */ + YYSYMBOL_265_64 = 265, /* $@64 */ + YYSYMBOL_simple_declarator = 266, /* simple_declarator */ + YYSYMBOL_complex_declarator = 267, /* complex_declarator */ + YYSYMBOL_integer_type = 268, /* integer_type */ + YYSYMBOL_signed_int = 269, /* signed_int */ + YYSYMBOL_unsigned_int = 270, /* unsigned_int */ + YYSYMBOL_floating_pt_type = 271, /* floating_pt_type */ + YYSYMBOL_fixed_type = 272, /* fixed_type */ + YYSYMBOL_char_type = 273, /* char_type */ + YYSYMBOL_octet_type = 274, /* octet_type */ + YYSYMBOL_boolean_type = 275, /* boolean_type */ + YYSYMBOL_any_type = 276, /* any_type */ + YYSYMBOL_object_type = 277, /* object_type */ + YYSYMBOL_struct_decl = 278, /* struct_decl */ + YYSYMBOL_279_65 = 279, /* $@65 */ + YYSYMBOL_struct_type = 280, /* struct_type */ + YYSYMBOL_281_66 = 281, /* $@66 */ + YYSYMBOL_282_67 = 282, /* $@67 */ + YYSYMBOL_283_68 = 283, /* $@68 */ + YYSYMBOL_at_least_one_member = 284, /* at_least_one_member */ + YYSYMBOL_members = 285, /* members */ + YYSYMBOL_member = 286, /* member */ + YYSYMBOL_member_i = 287, /* member_i */ + YYSYMBOL_288_69 = 288, /* $@69 */ + YYSYMBOL_289_70 = 289, /* $@70 */ + YYSYMBOL_290_71 = 290, /* $@71 */ + YYSYMBOL_union_decl = 291, /* union_decl */ + YYSYMBOL_292_72 = 292, /* $@72 */ + YYSYMBOL_union_type = 293, /* union_type */ + YYSYMBOL_294_73 = 294, /* $@73 */ + YYSYMBOL_295_74 = 295, /* $@74 */ + YYSYMBOL_296_75 = 296, /* $@75 */ + YYSYMBOL_297_76 = 297, /* $@76 */ + YYSYMBOL_298_77 = 298, /* $@77 */ + YYSYMBOL_299_78 = 299, /* $@78 */ + YYSYMBOL_switch_type_spec = 300, /* switch_type_spec */ + YYSYMBOL_at_least_one_case_branch = 301, /* at_least_one_case_branch */ + YYSYMBOL_case_branches = 302, /* case_branches */ + YYSYMBOL_case_branch = 303, /* case_branch */ + YYSYMBOL_304_79 = 304, /* $@79 */ + YYSYMBOL_305_80 = 305, /* $@80 */ + YYSYMBOL_306_81 = 306, /* $@81 */ + YYSYMBOL_at_least_one_case_label = 307, /* at_least_one_case_label */ + YYSYMBOL_case_labels = 308, /* case_labels */ + YYSYMBOL_case_label = 309, /* case_label */ + YYSYMBOL_310_82 = 310, /* $@82 */ + YYSYMBOL_311_83 = 311, /* $@83 */ + YYSYMBOL_312_84 = 312, /* $@84 */ + YYSYMBOL_element_spec = 313, /* element_spec */ + YYSYMBOL_314_85 = 314, /* $@85 */ + YYSYMBOL_struct_forward_type = 315, /* struct_forward_type */ + YYSYMBOL_union_forward_type = 316, /* union_forward_type */ + YYSYMBOL_enum_type = 317, /* enum_type */ + YYSYMBOL_318_86 = 318, /* $@86 */ + YYSYMBOL_319_87 = 319, /* $@87 */ + YYSYMBOL_320_88 = 320, /* $@88 */ + YYSYMBOL_321_89 = 321, /* $@89 */ + YYSYMBOL_at_least_one_enumerator = 322, /* at_least_one_enumerator */ + YYSYMBOL_enumerators = 323, /* enumerators */ + YYSYMBOL_324_90 = 324, /* $@90 */ + YYSYMBOL_enumerator = 325, /* enumerator */ + YYSYMBOL_map_type_spec = 326, /* map_type_spec */ + YYSYMBOL_327_91 = 327, /* $@91 */ + YYSYMBOL_328_92 = 328, /* $@92 */ YYSYMBOL_329_93 = 329, /* $@93 */ YYSYMBOL_330_94 = 330, /* $@94 */ - YYSYMBOL_fixed_type_spec = 331, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 332, /* string_type_spec */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_334_96 = 334, /* $@96 */ - YYSYMBOL_string_head = 335, /* string_head */ - YYSYMBOL_wstring_type_spec = 336, /* wstring_type_spec */ - YYSYMBOL_337_97 = 337, /* $@97 */ - YYSYMBOL_338_98 = 338, /* $@98 */ - YYSYMBOL_wstring_head = 339, /* wstring_head */ - YYSYMBOL_array_declarator = 340, /* array_declarator */ - YYSYMBOL_341_99 = 341, /* $@99 */ - YYSYMBOL_at_least_one_array_dim = 342, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 343, /* array_dims */ - YYSYMBOL_array_dim = 344, /* array_dim */ - YYSYMBOL_345_100 = 345, /* $@100 */ - YYSYMBOL_346_101 = 346, /* $@101 */ - YYSYMBOL_attribute = 347, /* attribute */ - YYSYMBOL_attribute_readonly = 348, /* attribute_readonly */ - YYSYMBOL_349_102 = 349, /* $@102 */ - YYSYMBOL_350_103 = 350, /* $@103 */ - YYSYMBOL_351_104 = 351, /* $@104 */ + YYSYMBOL_331_95 = 331, /* $@95 */ + YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ + YYSYMBOL_333_96 = 333, /* $@96 */ + YYSYMBOL_334_97 = 334, /* $@97 */ + YYSYMBOL_seq_head = 335, /* seq_head */ + YYSYMBOL_336_98 = 336, /* $@98 */ + YYSYMBOL_337_99 = 337, /* $@99 */ + YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 339, /* string_type_spec */ + YYSYMBOL_340_100 = 340, /* $@100 */ + YYSYMBOL_341_101 = 341, /* $@101 */ + YYSYMBOL_string_head = 342, /* string_head */ + YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ + YYSYMBOL_344_102 = 344, /* $@102 */ + YYSYMBOL_345_103 = 345, /* $@103 */ + YYSYMBOL_wstring_head = 346, /* wstring_head */ + YYSYMBOL_array_declarator = 347, /* array_declarator */ + YYSYMBOL_348_104 = 348, /* $@104 */ + YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 350, /* array_dims */ + YYSYMBOL_array_dim = 351, /* array_dim */ YYSYMBOL_352_105 = 352, /* $@105 */ - YYSYMBOL_attribute_readwrite = 353, /* attribute_readwrite */ - YYSYMBOL_354_106 = 354, /* $@106 */ - YYSYMBOL_355_107 = 355, /* $@107 */ - YYSYMBOL_356_108 = 356, /* $@108 */ - YYSYMBOL_357_109 = 357, /* $@109 */ - YYSYMBOL_exception = 358, /* exception */ + YYSYMBOL_353_106 = 353, /* $@106 */ + YYSYMBOL_attribute = 354, /* attribute */ + YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ + YYSYMBOL_356_107 = 356, /* $@107 */ + YYSYMBOL_357_108 = 357, /* $@108 */ + YYSYMBOL_358_109 = 358, /* $@109 */ YYSYMBOL_359_110 = 359, /* $@110 */ - YYSYMBOL_360_111 = 360, /* @111 */ - YYSYMBOL_361_112 = 361, /* $@112 */ - YYSYMBOL_362_113 = 362, /* $@113 */ - YYSYMBOL_operation = 363, /* operation */ + YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ + YYSYMBOL_361_111 = 361, /* $@111 */ + YYSYMBOL_362_112 = 362, /* $@112 */ + YYSYMBOL_363_113 = 363, /* $@113 */ YYSYMBOL_364_114 = 364, /* $@114 */ - YYSYMBOL_365_115 = 365, /* $@115 */ - YYSYMBOL_366_116 = 366, /* $@116 */ - YYSYMBOL_367_117 = 367, /* $@117 */ - YYSYMBOL_opt_op_attribute = 368, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 369, /* op_type_spec */ - YYSYMBOL_init_decl = 370, /* init_decl */ - YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_372_119 = 372, /* @119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_init_parameter_list = 374, /* init_parameter_list */ - YYSYMBOL_375_121 = 375, /* $@121 */ - YYSYMBOL_376_122 = 376, /* $@122 */ - YYSYMBOL_at_least_one_in_parameter = 377, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 378, /* in_parameters */ - YYSYMBOL_379_123 = 379, /* $@123 */ - YYSYMBOL_in_parameter = 380, /* in_parameter */ - YYSYMBOL_381_124 = 381, /* $@124 */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_parameter_list = 383, /* parameter_list */ - YYSYMBOL_384_126 = 384, /* $@126 */ - YYSYMBOL_385_127 = 385, /* $@127 */ - YYSYMBOL_at_least_one_parameter = 386, /* at_least_one_parameter */ - YYSYMBOL_parameters = 387, /* parameters */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_parameter = 389, /* parameter */ - YYSYMBOL_390_129 = 390, /* $@129 */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_param_type_spec = 392, /* param_type_spec */ - YYSYMBOL_direction = 393, /* direction */ - YYSYMBOL_opt_raises = 394, /* opt_raises */ - YYSYMBOL_395_131 = 395, /* $@131 */ - YYSYMBOL_396_132 = 396, /* $@132 */ - YYSYMBOL_opt_getraises = 397, /* opt_getraises */ - YYSYMBOL_398_133 = 398, /* $@133 */ - YYSYMBOL_399_134 = 399, /* $@134 */ - YYSYMBOL_opt_setraises = 400, /* opt_setraises */ - YYSYMBOL_401_135 = 401, /* $@135 */ + YYSYMBOL_exception = 365, /* exception */ + YYSYMBOL_366_115 = 366, /* $@115 */ + YYSYMBOL_367_116 = 367, /* @116 */ + YYSYMBOL_368_117 = 368, /* $@117 */ + YYSYMBOL_369_118 = 369, /* $@118 */ + YYSYMBOL_operation = 370, /* operation */ + YYSYMBOL_371_119 = 371, /* $@119 */ + YYSYMBOL_372_120 = 372, /* $@120 */ + YYSYMBOL_373_121 = 373, /* $@121 */ + YYSYMBOL_374_122 = 374, /* $@122 */ + YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 376, /* op_type_spec */ + YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_378_123 = 378, /* $@123 */ + YYSYMBOL_379_124 = 379, /* @124 */ + YYSYMBOL_380_125 = 380, /* $@125 */ + YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ + YYSYMBOL_382_126 = 382, /* $@126 */ + YYSYMBOL_383_127 = 383, /* $@127 */ + YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 385, /* in_parameters */ + YYSYMBOL_386_128 = 386, /* $@128 */ + YYSYMBOL_in_parameter = 387, /* in_parameter */ + YYSYMBOL_388_129 = 388, /* $@129 */ + YYSYMBOL_389_130 = 389, /* $@130 */ + YYSYMBOL_parameter_list = 390, /* parameter_list */ + YYSYMBOL_391_131 = 391, /* $@131 */ + YYSYMBOL_392_132 = 392, /* $@132 */ + YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ + YYSYMBOL_parameters = 394, /* parameters */ + YYSYMBOL_395_133 = 395, /* $@133 */ + YYSYMBOL_parameter = 396, /* parameter */ + YYSYMBOL_397_134 = 397, /* $@134 */ + YYSYMBOL_398_135 = 398, /* $@135 */ + YYSYMBOL_param_type_spec = 399, /* param_type_spec */ + YYSYMBOL_direction = 400, /* direction */ + YYSYMBOL_opt_raises = 401, /* opt_raises */ YYSYMBOL_402_136 = 402, /* $@136 */ - YYSYMBOL_opt_context = 403, /* opt_context */ - YYSYMBOL_404_137 = 404, /* $@137 */ + YYSYMBOL_403_137 = 403, /* $@137 */ + YYSYMBOL_opt_getraises = 404, /* opt_getraises */ YYSYMBOL_405_138 = 405, /* $@138 */ - YYSYMBOL_at_least_one_string_literal = 406, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 407, /* string_literals */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_typeid_dcl = 409, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 410, /* typeprefix_dcl */ - YYSYMBOL_component = 411, /* component */ - YYSYMBOL_component_forward_decl = 412, /* component_forward_decl */ - YYSYMBOL_component_decl = 413, /* component_decl */ - YYSYMBOL_414_140 = 414, /* @140 */ - YYSYMBOL_415_141 = 415, /* $@141 */ - YYSYMBOL_416_142 = 416, /* $@142 */ - YYSYMBOL_component_header = 417, /* component_header */ - YYSYMBOL_418_143 = 418, /* $@143 */ - YYSYMBOL_419_144 = 419, /* $@144 */ - YYSYMBOL_component_inheritance_spec = 420, /* component_inheritance_spec */ - YYSYMBOL_421_145 = 421, /* $@145 */ - YYSYMBOL_component_exports = 422, /* component_exports */ - YYSYMBOL_component_export = 423, /* component_export */ - YYSYMBOL_424_146 = 424, /* $@146 */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_426_148 = 426, /* $@148 */ - YYSYMBOL_427_149 = 427, /* $@149 */ + YYSYMBOL_406_139 = 406, /* $@139 */ + YYSYMBOL_opt_setraises = 407, /* opt_setraises */ + YYSYMBOL_408_140 = 408, /* $@140 */ + YYSYMBOL_409_141 = 409, /* $@141 */ + YYSYMBOL_opt_context = 410, /* opt_context */ + YYSYMBOL_411_142 = 411, /* $@142 */ + YYSYMBOL_412_143 = 412, /* $@143 */ + YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 414, /* string_literals */ + YYSYMBOL_415_144 = 415, /* $@144 */ + YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ + YYSYMBOL_component = 418, /* component */ + YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ + YYSYMBOL_component_decl = 420, /* component_decl */ + YYSYMBOL_421_145 = 421, /* @145 */ + YYSYMBOL_422_146 = 422, /* $@146 */ + YYSYMBOL_423_147 = 423, /* $@147 */ + YYSYMBOL_component_header = 424, /* component_header */ + YYSYMBOL_425_148 = 425, /* $@148 */ + YYSYMBOL_426_149 = 426, /* $@149 */ + YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ YYSYMBOL_428_150 = 428, /* $@150 */ - YYSYMBOL_429_151 = 429, /* $@151 */ - YYSYMBOL_430_152 = 430, /* $@152 */ - YYSYMBOL_provides_decl = 431, /* provides_decl */ - YYSYMBOL_interface_type = 432, /* interface_type */ - YYSYMBOL_uses_decl = 433, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 434, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 435, /* opt_multiple */ - YYSYMBOL_emits_decl = 436, /* emits_decl */ - YYSYMBOL_publishes_decl = 437, /* publishes_decl */ - YYSYMBOL_consumes_decl = 438, /* consumes_decl */ - YYSYMBOL_home_decl = 439, /* home_decl */ - YYSYMBOL_440_153 = 440, /* $@153 */ - YYSYMBOL_home_header = 441, /* home_header */ - YYSYMBOL_442_154 = 442, /* $@154 */ - YYSYMBOL_443_155 = 443, /* $@155 */ - YYSYMBOL_444_156 = 444, /* $@156 */ - YYSYMBOL_445_157 = 445, /* $@157 */ - YYSYMBOL_446_158 = 446, /* $@158 */ - YYSYMBOL_447_159 = 447, /* $@159 */ - YYSYMBOL_home_inheritance_spec = 448, /* home_inheritance_spec */ - YYSYMBOL_449_160 = 449, /* $@160 */ - YYSYMBOL_primary_key_spec = 450, /* primary_key_spec */ - YYSYMBOL_home_body = 451, /* home_body */ - YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_home_exports = 454, /* home_exports */ - YYSYMBOL_home_export = 455, /* home_export */ - YYSYMBOL_456_163 = 456, /* $@163 */ - YYSYMBOL_457_164 = 457, /* $@164 */ - YYSYMBOL_factory_decl = 458, /* factory_decl */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_460_166 = 460, /* $@166 */ - YYSYMBOL_finder_decl = 461, /* finder_decl */ - YYSYMBOL_462_167 = 462, /* $@167 */ + YYSYMBOL_component_exports = 429, /* component_exports */ + YYSYMBOL_component_export = 430, /* component_export */ + YYSYMBOL_431_151 = 431, /* $@151 */ + YYSYMBOL_432_152 = 432, /* $@152 */ + YYSYMBOL_433_153 = 433, /* $@153 */ + YYSYMBOL_434_154 = 434, /* $@154 */ + YYSYMBOL_435_155 = 435, /* $@155 */ + YYSYMBOL_436_156 = 436, /* $@156 */ + YYSYMBOL_437_157 = 437, /* $@157 */ + YYSYMBOL_provides_decl = 438, /* provides_decl */ + YYSYMBOL_interface_type = 439, /* interface_type */ + YYSYMBOL_uses_decl = 440, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 442, /* opt_multiple */ + YYSYMBOL_emits_decl = 443, /* emits_decl */ + YYSYMBOL_publishes_decl = 444, /* publishes_decl */ + YYSYMBOL_consumes_decl = 445, /* consumes_decl */ + YYSYMBOL_home_decl = 446, /* home_decl */ + YYSYMBOL_447_158 = 447, /* $@158 */ + YYSYMBOL_home_header = 448, /* home_header */ + YYSYMBOL_449_159 = 449, /* $@159 */ + YYSYMBOL_450_160 = 450, /* $@160 */ + YYSYMBOL_451_161 = 451, /* $@161 */ + YYSYMBOL_452_162 = 452, /* $@162 */ + YYSYMBOL_453_163 = 453, /* $@163 */ + YYSYMBOL_454_164 = 454, /* $@164 */ + YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ + YYSYMBOL_456_165 = 456, /* $@165 */ + YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ + YYSYMBOL_home_body = 458, /* home_body */ + YYSYMBOL_459_166 = 459, /* $@166 */ + YYSYMBOL_460_167 = 460, /* $@167 */ + YYSYMBOL_home_exports = 461, /* home_exports */ + YYSYMBOL_home_export = 462, /* home_export */ YYSYMBOL_463_168 = 463, /* $@168 */ - YYSYMBOL_event = 464, /* event */ - YYSYMBOL_event_forward_decl = 465, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 466, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 467, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 468, /* event_abs_decl */ - YYSYMBOL_469_169 = 469, /* $@169 */ - YYSYMBOL_470_170 = 470, /* $@170 */ - YYSYMBOL_471_171 = 471, /* $@171 */ - YYSYMBOL_event_abs_header = 472, /* event_abs_header */ - YYSYMBOL_event_custom_header = 473, /* event_custom_header */ - YYSYMBOL_event_plain_header = 474, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 475, /* event_rest_of_header */ - YYSYMBOL_476_172 = 476, /* $@172 */ - YYSYMBOL_event_decl = 477, /* event_decl */ - YYSYMBOL_478_173 = 478, /* @173 */ - YYSYMBOL_479_174 = 479, /* $@174 */ - YYSYMBOL_480_175 = 480, /* $@175 */ - YYSYMBOL_event_header = 481, /* event_header */ - YYSYMBOL_formal_parameter_type = 482, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 483, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 484, /* formal_parameters */ - YYSYMBOL_formal_parameter = 485, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 486, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 487, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 488, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 489, /* porttype_decl */ - YYSYMBOL_490_176 = 490, /* $@176 */ - YYSYMBOL_491_177 = 491, /* @177 */ - YYSYMBOL_492_178 = 492, /* $@178 */ - YYSYMBOL_493_179 = 493, /* $@179 */ - YYSYMBOL_at_least_one_port_export = 494, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 495, /* port_exports */ - YYSYMBOL_port_export = 496, /* port_export */ - YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_extended_port_decl = 498, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 499, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 500, /* actual_parameters */ - YYSYMBOL_actual_parameter = 501, /* actual_parameter */ - YYSYMBOL_connector_decl = 502, /* connector_decl */ - YYSYMBOL_connector_header = 503, /* connector_header */ - YYSYMBOL_504_181 = 504, /* $@181 */ - YYSYMBOL_505_182 = 505, /* $@182 */ - YYSYMBOL_connector_body = 506, /* connector_body */ - YYSYMBOL_507_183 = 507, /* $@183 */ - YYSYMBOL_508_184 = 508, /* $@184 */ - YYSYMBOL_connector_exports = 509, /* connector_exports */ - YYSYMBOL_connector_export = 510, /* connector_export */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_512_186 = 512, /* $@186 */ - YYSYMBOL_513_187 = 513, /* $@187 */ - YYSYMBOL_514_188 = 514 /* $@188 */ + YYSYMBOL_464_169 = 464, /* $@169 */ + YYSYMBOL_factory_decl = 465, /* factory_decl */ + YYSYMBOL_466_170 = 466, /* $@170 */ + YYSYMBOL_467_171 = 467, /* $@171 */ + YYSYMBOL_finder_decl = 468, /* finder_decl */ + YYSYMBOL_469_172 = 469, /* $@172 */ + YYSYMBOL_470_173 = 470, /* $@173 */ + YYSYMBOL_event = 471, /* event */ + YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_476_174 = 476, /* $@174 */ + YYSYMBOL_477_175 = 477, /* $@175 */ + YYSYMBOL_478_176 = 478, /* $@176 */ + YYSYMBOL_event_abs_header = 479, /* event_abs_header */ + YYSYMBOL_event_custom_header = 480, /* event_custom_header */ + YYSYMBOL_event_plain_header = 481, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ + YYSYMBOL_483_177 = 483, /* $@177 */ + YYSYMBOL_event_decl = 484, /* event_decl */ + YYSYMBOL_485_178 = 485, /* @178 */ + YYSYMBOL_486_179 = 486, /* $@179 */ + YYSYMBOL_487_180 = 487, /* $@180 */ + YYSYMBOL_event_header = 488, /* event_header */ + YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 491, /* formal_parameters */ + YYSYMBOL_formal_parameter = 492, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 496, /* porttype_decl */ + YYSYMBOL_497_181 = 497, /* $@181 */ + YYSYMBOL_498_182 = 498, /* @182 */ + YYSYMBOL_499_183 = 499, /* $@183 */ + YYSYMBOL_500_184 = 500, /* $@184 */ + YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 502, /* port_exports */ + YYSYMBOL_port_export = 503, /* port_export */ + YYSYMBOL_504_185 = 504, /* $@185 */ + YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 507, /* actual_parameters */ + YYSYMBOL_actual_parameter = 508, /* actual_parameter */ + YYSYMBOL_connector_decl = 509, /* connector_decl */ + YYSYMBOL_connector_header = 510, /* connector_header */ + YYSYMBOL_511_186 = 511, /* $@186 */ + YYSYMBOL_512_187 = 512, /* $@187 */ + YYSYMBOL_connector_body = 513, /* connector_body */ + YYSYMBOL_514_188 = 514, /* $@188 */ + YYSYMBOL_515_189 = 515, /* $@189 */ + YYSYMBOL_connector_exports = 516, /* connector_exports */ + YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_518_190 = 518, /* $@190 */ + YYSYMBOL_519_191 = 519, /* $@191 */ + YYSYMBOL_520_192 = 520, /* $@192 */ + YYSYMBOL_521_193 = 521 /* $@193 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1025,19 +1033,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2102 +#define YYLAST 2150 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 117 +#define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 398 +#define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 607 +#define YYNRULES 614 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 888 +#define YYNSTATES 900 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 350 +#define YYMAXUTOK 351 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1054,16 +1062,16 @@ static const yytype_int8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 111, 106, 2, - 113, 114, 109, 107, 102, 108, 2, 110, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 101, 96, - 99, 103, 100, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 112, 107, 2, + 114, 115, 110, 108, 103, 109, 2, 111, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 102, 97, + 100, 104, 101, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 115, 2, 116, 105, 2, 2, 2, 2, 2, + 2, 116, 2, 117, 106, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 97, 104, 98, 112, 2, 2, 2, + 2, 2, 2, 98, 105, 99, 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1086,74 +1094,75 @@ static const yytype_int8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95 + 95, 96 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 414, 414, 417, 418, 426, 441, 445, 446, 447, - 452, 451, 460, 459, 468, 467, 476, 475, 484, 483, - 492, 491, 500, 499, 508, 507, 516, 515, 524, 523, - 532, 531, 540, 539, 548, 547, 556, 555, 564, 563, - 577, 576, 588, 627, 631, 587, 647, 655, 669, 679, - 709, 713, 654, 738, 742, 743, 747, 748, 753, 758, - 752, 844, 849, 843, 920, 921, 926, 964, 968, 925, - 985, 984, 996, 1033, 1063, 1096, 1095, 1104, 1111, 1112, - 1113, 1114, 1118, 1123, 1128, 1175, 1179, 1127, 1208, 1251, - 1255, 1206, 1274, 1272, 1312, 1311, 1323, 1327, 1334, 1339, - 1346, 1371, 1399, 1465, 1484, 1488, 1492, 1493, 1505, 1504, - 1522, 1526, 1533, 1554, 1555, 1559, 1574, 1579, 1578, 1587, - 1586, 1595, 1594, 1603, 1602, 1611, 1610, 1619, 1618, 1627, - 1626, 1635, 1634, 1647, 1659, 1657, 1682, 1689, 1699, 1698, - 1724, 1722, 1747, 1757, 1768, 1812, 1839, 1871, 1875, 1879, - 1883, 1870, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1955, - 1959, 2027, 2029, 2031, 2032, 2044, 2045, 2057, 2058, 2070, - 2071, 2080, 2092, 2093, 2102, 2114, 2115, 2124, 2133, 2145, - 2146, 2155, 2164, 2176, 2233, 2234, 2241, 2245, 2250, 2257, - 2264, 2268, 2273, 2277, 2281, 2285, 2292, 2361, 2360, 2389, - 2390, 2394, 2395, 2396, 2398, 2397, 2406, 2407, 2411, 2467, - 2471, 2478, 2491, 2501, 2509, 2508, 2596, 2600, 2607, 2616, - 2623, 2631, 2637, 2644, 2657, 2656, 2665, 2669, 2673, 2677, - 2705, 2713, 2712, 2783, 2784, 2788, 2795, 2796, 2822, 2823, - 2824, 2825, 2826, 2827, 2828, 2829, 2833, 2834, 2835, 2836, - 2840, 2841, 2842, 2846, 2847, 2851, 2863, 2861, 2886, 2893, - 2894, 2898, 2910, 2908, 2933, 2940, 2956, 2974, 2975, 2979, - 2983, 2987, 2991, 2995, 2999, 3003, 3010, 3014, 3018, 3022, - 3026, 3030, 3034, 3041, 3045, 3049, 3056, 3063, 3067, 3074, - 3081, 3088, 3095, 3103, 3102, 3116, 3147, 3151, 3115, 3168, - 3171, 3172, 3176, 3194, 3198, 3193, 3256, 3255, 3268, 3267, - 3280, 3284, 3317, 3321, 3380, 3384, 3279, 3406, 3413, 3426, - 3435, 3442, 3443, 3552, 3555, 3556, 3561, 3565, 3560, 3601, - 3600, 3612, 3622, 3640, 3648, 3647, 3661, 3665, 3660, 3681, - 3680, 3730, 3755, 3779, 3783, 3814, 3818, 3778, 3842, 3847, - 3845, 3851, 3855, 3895, 3899, 3893, 3983, 4050, 4059, 4049, - 4073, 4083, 4087, 4081, 4129, 4155, 4164, 4168, 4162, 4210, - 4236, 4244, 4243, 4286, 4296, 4314, 4322, 4326, 4321, 4386, - 4387, 4392, 4396, 4400, 4404, 4391, 4463, 4467, 4471, 4475, - 4462, 4543, 4547, 4579, 4583, 4542, 4600, 4604, 4665, 4669, - 4599, 4706, 4711, 4716, 4723, 4724, 4735, 4740, 4783, 4734, - 4805, 4804, 4813, 4812, 4823, 4828, 4826, 4832, 4837, 4841, - 4836, 4880, 4879, 4888, 4887, 4898, 4903, 4901, 4907, 4912, - 4916, 4911, 4961, 4968, 4969, 4970, 5077, 5081, 5085, 5093, - 5097, 5092, 5106, 5114, 5118, 5113, 5127, 5135, 5139, 5134, - 5148, 5156, 5160, 5155, 5169, 5176, 5188, 5186, 5209, 5216, - 5246, 5285, 5286, 5290, 5321, 5363, 5367, 5320, 5386, 5390, - 5384, 5431, 5430, 5438, 5445, 5460, 5461, 5466, 5465, 5475, - 5474, 5484, 5483, 5493, 5492, 5502, 5501, 5511, 5510, 5520, - 5519, 5530, 5623, 5629, 5654, 5761, 5770, 5774, 5781, 5856, - 5928, 6004, 6003, 6053, 6057, 6061, 6065, 6069, 6073, 6052, - 6126, 6125, 6133, 6140, 6145, 6153, 6157, 6152, 6167, 6168, - 6172, 6174, 6173, 6182, 6181, 6194, 6217, 6192, 6243, 6270, - 6241, 6294, 6295, 6296, 6300, 6301, 6305, 6334, 6366, 6410, - 6414, 6364, 6431, 6440, 6458, 6469, 6468, 6506, 6557, 6561, - 6504, 6578, 6582, 6589, 6593, 6597, 6601, 6605, 6609, 6613, - 6617, 6621, 6625, 6633, 6664, 6677, 6684, 6709, 6727, 6734, - 6749, 6756, 6766, 6770, 6789, 6797, 6765, 6812, 6827, 6831, - 6832, 6836, 6837, 6839, 6838, 6849, 6916, 6964, 6980, 6993, - 7000, 7059, 7067, 7071, 7066, 7132, 7136, 7131, 7149, 7150, - 7155, 7154, 7163, 7162, 7171, 7170, 7179, 7178 + 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, + 454, 453, 462, 461, 470, 469, 478, 477, 486, 485, + 494, 493, 502, 501, 510, 509, 518, 517, 526, 525, + 534, 533, 542, 541, 550, 549, 558, 557, 566, 565, + 579, 578, 590, 629, 633, 589, 649, 657, 671, 681, + 711, 715, 656, 740, 744, 745, 749, 750, 755, 760, + 754, 846, 851, 845, 922, 923, 928, 966, 970, 927, + 987, 986, 998, 1035, 1065, 1098, 1097, 1106, 1113, 1114, + 1115, 1116, 1120, 1125, 1130, 1177, 1181, 1129, 1210, 1253, + 1257, 1208, 1276, 1274, 1314, 1313, 1325, 1329, 1336, 1341, + 1348, 1373, 1401, 1467, 1486, 1490, 1494, 1495, 1507, 1506, + 1524, 1528, 1535, 1556, 1557, 1561, 1576, 1581, 1580, 1589, + 1588, 1597, 1596, 1605, 1604, 1613, 1612, 1621, 1620, 1629, + 1628, 1637, 1636, 1649, 1661, 1659, 1684, 1691, 1701, 1700, + 1726, 1724, 1749, 1759, 1770, 1814, 1841, 1873, 1877, 1881, + 1885, 1872, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1957, + 1961, 2029, 2031, 2033, 2034, 2046, 2047, 2059, 2060, 2072, + 2073, 2082, 2094, 2095, 2104, 2116, 2117, 2126, 2135, 2147, + 2148, 2157, 2166, 2178, 2235, 2236, 2243, 2247, 2252, 2259, + 2266, 2270, 2275, 2279, 2283, 2287, 2294, 2363, 2362, 2391, + 2392, 2396, 2397, 2398, 2400, 2399, 2408, 2409, 2413, 2469, + 2473, 2480, 2493, 2503, 2511, 2510, 2598, 2602, 2609, 2618, + 2625, 2633, 2639, 2646, 2659, 2658, 2667, 2671, 2675, 2679, + 2707, 2715, 2714, 2785, 2786, 2790, 2797, 2798, 2824, 2825, + 2826, 2827, 2828, 2829, 2830, 2831, 2835, 2836, 2837, 2838, + 2839, 2843, 2844, 2845, 2849, 2850, 2854, 2866, 2864, 2889, + 2896, 2897, 2901, 2913, 2911, 2936, 2943, 2959, 2977, 2978, + 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3013, 3017, 3021, + 3025, 3029, 3033, 3037, 3044, 3048, 3052, 3059, 3066, 3070, + 3077, 3084, 3091, 3098, 3106, 3105, 3119, 3150, 3154, 3118, + 3171, 3174, 3175, 3179, 3197, 3201, 3196, 3259, 3258, 3271, + 3270, 3283, 3287, 3320, 3324, 3383, 3387, 3282, 3409, 3416, + 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, + 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, + 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, + 3850, 3848, 3854, 3858, 3897, 3902, 3906, 3910, 3914, 3896, + 3980, 3984, 3978, 4068, 4135, 4144, 4134, 4158, 4168, 4172, + 4166, 4214, 4240, 4249, 4253, 4247, 4295, 4321, 4329, 4328, + 4371, 4381, 4399, 4407, 4411, 4406, 4471, 4472, 4477, 4481, + 4485, 4489, 4476, 4548, 4552, 4556, 4560, 4547, 4628, 4632, + 4664, 4668, 4627, 4685, 4689, 4750, 4754, 4684, 4791, 4796, + 4801, 4808, 4809, 4820, 4825, 4868, 4819, 4890, 4889, 4898, + 4897, 4908, 4913, 4911, 4917, 4922, 4926, 4921, 4965, 4964, + 4973, 4972, 4983, 4988, 4986, 4992, 4997, 5001, 4996, 5046, + 5053, 5054, 5055, 5162, 5166, 5170, 5178, 5182, 5177, 5191, + 5199, 5203, 5198, 5212, 5220, 5224, 5219, 5233, 5241, 5245, + 5240, 5254, 5261, 5273, 5271, 5294, 5301, 5331, 5370, 5371, + 5375, 5406, 5448, 5452, 5405, 5471, 5475, 5469, 5516, 5515, + 5523, 5530, 5545, 5546, 5551, 5550, 5560, 5559, 5569, 5568, + 5578, 5577, 5587, 5586, 5596, 5595, 5605, 5604, 5615, 5708, + 5714, 5739, 5846, 5855, 5859, 5866, 5941, 6013, 6089, 6088, + 6138, 6142, 6146, 6150, 6154, 6158, 6137, 6211, 6210, 6218, + 6225, 6230, 6238, 6242, 6237, 6252, 6253, 6257, 6259, 6258, + 6267, 6266, 6279, 6302, 6277, 6328, 6355, 6326, 6379, 6380, + 6381, 6385, 6386, 6390, 6419, 6451, 6495, 6499, 6449, 6516, + 6525, 6543, 6554, 6553, 6591, 6642, 6646, 6589, 6663, 6667, + 6674, 6678, 6682, 6686, 6690, 6694, 6698, 6702, 6706, 6710, + 6718, 6749, 6762, 6769, 6794, 6812, 6819, 6834, 6841, 6851, + 6855, 6874, 6882, 6850, 6897, 6912, 6916, 6917, 6921, 6922, + 6924, 6923, 6934, 7001, 7049, 7065, 7078, 7085, 7144, 7152, + 7156, 7151, 7217, 7221, 7216, 7234, 7235, 7240, 7239, 7248, + 7247, 7256, 7255, 7264, 7263 }; #endif @@ -1174,8 +1183,8 @@ static const char *const yytname[] = "IDL_SHORT", "IDL_UNSIGNED", "IDL_DOUBLE", "IDL_FLOAT", "IDL_CHAR", "IDL_WCHAR", "IDL_OCTET", "IDL_BOOLEAN", "IDL_FIXED", "IDL_ANY", "IDL_OBJECT", "IDL_STRUCT", "IDL_UNION", "IDL_SWITCH", "IDL_ENUM", - "IDL_SEQUENCE", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", "IDL_CASE", - "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", + "IDL_SEQUENCE", "IDL_MAP", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", + "IDL_CASE", "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", "IDL_IDEMPOTENT", "IDL_VOID", "IDL_IN", "IDL_OUT", "IDL_INOUT", "IDL_RAISES", "IDL_CONTEXT", "IDL_NATIVE", "IDL_LOCAL", "IDL_ABSTRACT", "IDL_CUSTOM", "IDL_FACTORY", "IDL_PRIVATE", "IDL_PUBLIC", "IDL_SUPPORTS", @@ -1237,46 +1246,48 @@ static const char *const yytname[] = "$@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", - "fixed_type_spec", "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", + "map_type_spec", "$@91", "$@92", "$@93", "$@94", "$@95", + "sequence_type_spec", "$@96", "$@97", "seq_head", "$@98", "$@99", + "fixed_type_spec", "string_type_spec", "$@100", "$@101", "string_head", + "wstring_type_spec", "$@102", "$@103", "wstring_head", + "array_declarator", "$@104", "at_least_one_array_dim", "array_dims", + "array_dim", "$@105", "$@106", "attribute", "attribute_readonly", + "$@107", "$@108", "$@109", "$@110", "attribute_readwrite", "$@111", + "$@112", "$@113", "$@114", "exception", "$@115", "@116", "$@117", + "$@118", "operation", "$@119", "$@120", "$@121", "$@122", + "opt_op_attribute", "op_type_spec", "init_decl", "$@123", "@124", + "$@125", "init_parameter_list", "$@126", "$@127", + "at_least_one_in_parameter", "in_parameters", "$@128", "in_parameter", + "$@129", "$@130", "parameter_list", "$@131", "$@132", + "at_least_one_parameter", "parameters", "$@133", "parameter", "$@134", + "$@135", "param_type_spec", "direction", "opt_raises", "$@136", "$@137", + "opt_getraises", "$@138", "$@139", "opt_setraises", "$@140", "$@141", + "opt_context", "$@142", "$@143", "at_least_one_string_literal", + "string_literals", "$@144", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@145", "$@146", "$@147", + "component_header", "$@148", "$@149", "component_inheritance_spec", + "$@150", "component_exports", "component_export", "$@151", "$@152", + "$@153", "$@154", "$@155", "$@156", "$@157", "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", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@158", + "home_header", "$@159", "$@160", "$@161", "$@162", "$@163", "$@164", + "home_inheritance_spec", "$@165", "primary_key_spec", "home_body", + "$@166", "$@167", "home_exports", "home_export", "$@168", "$@169", + "factory_decl", "$@170", "$@171", "finder_decl", "$@172", "$@173", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", + "event_abs_forward_decl", "event_abs_decl", "$@174", "$@175", "$@176", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", + "event_rest_of_header", "$@177", "event_decl", "@178", "$@179", "$@180", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "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", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@181", "@182", "$@183", + "$@184", "at_least_one_port_export", "port_exports", "port_export", + "$@185", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", - "connector_exports", "connector_export", "$@185", "$@186", "$@187", - "$@188", YY_NULLPTR + "connector_header", "$@186", "$@187", "connector_body", "$@188", "$@189", + "connector_exports", "connector_export", "$@190", "$@191", "$@192", + "$@193", YY_NULLPTR }; static const char * @@ -1300,18 +1311,18 @@ static const yytype_int16 yytoknum[] = 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 59, 123, 125, 60, - 62, 58, 44, 61, 124, 94, 38, 43, 45, 42, - 47, 37, 126, 40, 41, 91, 93 + 345, 346, 347, 348, 349, 350, 351, 59, 123, 125, + 60, 62, 58, 44, 61, 124, 94, 38, 43, 45, + 42, 47, 37, 126, 40, 41, 91, 93 }; #endif -#define YYPACT_NINF (-672) +#define YYPACT_NINF (-668) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-576) +#define YYTABLE_NINF (-583) #define yytable_value_is_error(Yyn) \ 0 @@ -1320,95 +1331,96 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -672, 90, 1339, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 141, 144, 57, 58, -672, 141, - 141, -672, 56, 56, -672, -672, 141, -672, -672, 60, - -672, 461, 79, 81, -672, -672, -8, -672, -672, -672, - -672, -672, -672, 537, -672, -672, -672, -672, -672, 1539, - 61, -672, -672, 85, -672, 146, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 70, -672, -672, -672, 70, -672, - -672, 119, 139, 2013, 56, 141, 1892, 141, 141, 141, - 141, -672, -672, -672, 13, 141, 39, -672, 40, 141, - -672, 70, 141, 149, 150, 141, -672, -672, 26, -672, - 33, 233, -672, 153, -672, 154, 157, 1651, -672, -672, - -672, 158, 207, -672, 168, 170, 172, 140, -672, 198, - -672, -672, -672, -672, -672, -672, 171, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, 184, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, 146, - -672, -672, -672, 72, -672, -672, 175, -672, 178, 182, - 185, -672, 56, 188, 190, 187, -672, 191, 194, 195, - 196, 197, 199, 202, 204, -672, -672, -672, 205, 208, - -672, -672, -672, -672, 184, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 184, -672, -672, -672, -672, -672, - -672, -672, -672, 211, -672, 206, -672, -672, 148, -672, - 276, -672, -672, -672, -672, 44, -672, -672, -672, 2013, - -672, -672, -672, -672, 181, -672, -672, -672, -672, 290, - -672, -672, 54, 210, -672, -672, -672, -672, -672, -672, - -672, -672, 303, -672, 135, 214, 267, -672, -672, -672, - -672, -672, -672, 184, -672, -672, 203, -672, -672, -672, - -672, -672, -672, -672, -672, -672, 267, 218, 223, -672, - -672, -672, 141, 141, 224, 230, -672, -672, -672, 227, - -672, 276, 236, -672, -672, -672, -672, -672, 327, -672, - 238, 239, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 183, 183, 183, 135, 184, -672, -672, 235, - 241, 234, 128, 114, 14, -672, -672, -672, -672, -672, - 56, -672, -672, -672, -672, 240, -672, 56, -672, 135, - 135, 135, 231, -672, -672, -672, -672, -672, -672, -672, - 133, -672, 1, -672, -672, -672, -672, -672, -672, -672, - -672, 56, 267, -672, -672, -672, -672, 148, 565, 1453, - 245, 247, -672, 1651, -672, -672, -672, 244, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 246, 141, - -672, 184, 1103, -672, 825, 135, -672, -672, -672, -672, - -672, 135, -672, 1403, -672, -672, -672, 381, 1011, -672, - -672, -672, -672, 68, 292, 56, 56, -672, -672, -672, - -672, -672, 68, -672, 253, -672, 249, -672, 252, -672, - -672, 1196, 184, -672, 56, 267, -672, -672, -672, -672, - 263, -672, -672, 141, -672, -672, 264, 265, 359, 268, - -672, -672, 241, 234, 128, 114, 114, 14, 14, -672, - -672, -672, -672, -672, 262, -672, -672, -672, 269, -672, - -672, 1805, -672, -672, -672, -672, 1926, -672, -672, -672, - -672, -672, 270, -672, 1839, -672, -672, 1716, -672, 266, - 1627, 271, 277, 278, 280, -672, 255, -672, 285, -672, - -672, -672, 281, 282, 711, 56, 56, 56, 237, -672, - 294, -672, -672, -672, -672, -672, -672, -672, 141, 141, - -672, 295, -672, -672, -672, 1289, 918, 357, 1979, -672, - 184, 276, -672, -672, 65, 66, 298, 302, 309, 276, - 310, -672, -672, 2, -672, 47, -672, -672, 301, 311, - 184, -672, 315, 160, 1892, -672, 378, -672, -672, -672, - -672, 54, -672, 312, -672, 319, -672, 322, 324, 325, - 328, -672, 184, -672, -672, -672, -672, -672, 329, 330, - 420, -672, -672, -672, 338, -672, -672, -672, -672, -672, - 135, -672, 276, -672, 339, 141, -672, -672, 428, 184, - -672, -672, -672, -672, -672, -672, 69, 69, 69, -672, - 342, -672, 343, 348, 349, 351, 355, 356, -672, -672, - -672, 364, 365, 368, 372, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, 135, -672, -672, -672, 141, - -672, 373, 375, 376, -672, 409, 382, 160, -672, 387, - 390, -672, 391, 135, 393, 1514, -672, 56, -672, -672, - -672, -672, -672, -672, 487, -672, -672, -672, -672, -672, - 280, 285, -672, -672, 377, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, 383, 383, -672, -672, -672, - -672, 1979, 141, -672, 135, 384, -672, -672, -672, -672, - -672, -672, -672, 401, -672, -672, -672, -672, -672, 56, - -672, -672, -672, -672, 402, 184, -672, 383, -672, 404, - -672, 466, -672, -672, -672, -672, -672, -672, -672, -672, - 56, -672, 184, 405, 635, -672, 389, -672, -672, 407, - 394, 470, 471, 471, 141, 456, 410, 397, -672, 184, - 416, -672, -672, 403, -672, 471, -672, -672, -672, 406, - -672, -672, -672, -672, -672, -672, -672, -672, -672, 462, - 519, 411, 152, 471, -672, 75, 1979, -672, 427, 417, - 471, 418, 472, 141, 56, -672, -672, 433, -672, -672, - -672, -672, -672, 421, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 184, -672, 434, -672, 436, 1979, 500, 445, - 135, 442, 446, 55, -672, 201, 141, 470, 56, 56, - 451, 141, 519, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 1603, -672, -672, -672, 452, 453, -672, -672, - -672, 152, 141, 457, 464, -672, -672, -672, -672, 56, - -672, -672, -672, -672, 141, 475, 473, 509, -672, -672, - -672, -672, 478, 483, -672, -672, 514, -672 + -668, 76, 739, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 94, 120, 51, 97, -668, 94, + 94, -668, 48, 48, -668, -668, 94, -668, -668, 54, + -668, 630, 39, 67, -668, -668, 2, -668, -668, -668, + -668, -668, -668, 577, -668, -668, -668, -668, -668, 1613, + 64, -668, -668, 70, -668, 154, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 80, -668, -668, -668, 80, -668, + -668, 86, 92, 2060, 48, 94, 1884, 94, 94, 94, + 94, -668, -668, -668, 32, 94, 68, -668, 78, 94, + -668, 80, 94, 104, 113, 94, -668, -668, 10, -668, + 26, 196, -668, 106, -668, 146, 151, 698, -668, -668, + -668, 166, 202, -668, 179, 181, 182, 107, -668, 98, + -668, -668, -668, -668, -668, -668, 176, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, 189, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + 154, -668, -668, -668, -668, 16, -668, -668, 184, -668, + 188, 185, 193, -668, 48, 197, 201, 183, -668, 206, + 207, 208, 209, 199, 211, 212, 214, -668, -668, -668, + 217, 218, -668, -668, -668, -668, 189, -668, -668, -668, + -668, -668, -668, -668, -668, -668, 189, -668, -668, -668, + -668, -668, -668, -668, -668, 219, -668, 220, -668, -668, + 221, -668, 316, -668, -668, -668, -668, 52, -668, -668, + -668, 2060, -668, -668, -668, -668, 222, -668, -668, -668, + -668, 317, -668, -668, 65, 224, -668, -668, -668, -668, + -668, -668, -668, -668, 323, -668, 178, 233, 235, 288, + -668, -668, -668, -668, -668, -668, 189, -668, -668, 223, + -668, -668, -668, -668, -668, -668, -668, -668, -668, 288, + 241, 246, -668, -668, -668, 94, 94, 247, 249, -668, + -668, -668, 240, -668, 316, 250, -668, -668, -668, -668, + -668, 347, -668, 254, 253, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, 153, 153, 153, 178, 189, + -668, -668, 252, 255, 256, 101, 87, 102, -668, -668, + -668, -668, -668, 48, -668, -668, -668, -668, 261, -668, + -668, 48, -668, 178, 178, 178, 245, -668, -668, -668, + -668, -668, -668, -668, 137, -668, -13, -668, -668, -668, + -668, -668, -668, -668, -668, 48, 288, -668, -668, -668, + -668, 221, 1427, 1526, 266, 265, -668, 698, -668, -668, + -668, 268, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 264, 94, -668, 189, 1118, -668, 837, 178, + -668, 1919, -668, -668, -668, -668, 178, -668, 1455, -668, + -668, -668, 576, 1025, -668, -668, -668, -668, 41, 326, + 48, 48, -668, -668, -668, -668, -668, 41, -668, 291, + -668, 287, -668, 289, -668, -668, 1212, 189, -668, 48, + 288, -668, -668, -668, -668, 297, -668, -668, 94, -668, + -668, 300, 303, 396, 312, -668, -668, 255, 256, 101, + 87, 87, 102, 102, -668, -668, -668, -668, -668, 308, + -668, -668, -668, 313, -668, -668, 1796, -668, -668, -668, + -668, 2007, -668, -668, -668, -668, -668, 314, -668, 1831, + -668, -668, 1706, -668, 318, 478, -668, 319, 324, 327, + 310, -668, 302, -668, 315, -668, -668, -668, 325, 330, + 286, 48, 48, 48, 156, -668, 335, -668, -668, -668, + -668, -668, -668, -668, 94, 94, -668, 336, -668, -668, + -668, 1306, 931, 404, 1972, -668, 189, 316, -668, -668, + 60, 62, 341, 342, 343, 316, 344, -668, -668, -3, + -668, 53, -668, -668, 345, 348, 189, -668, 350, 59, + 1884, -668, 412, -668, -668, -668, -668, 65, -668, 346, + -668, 349, -668, 353, 355, 356, 357, -668, 189, -668, + -668, -668, -668, -668, 358, 359, 454, -668, -668, -668, + 363, -668, -668, 360, -668, -668, -668, 178, -668, 316, + -668, 369, 94, -668, -668, 464, 189, -668, -668, -668, + -668, -668, -668, 63, 63, 63, -668, 376, -668, 379, + 381, 383, 385, 387, 388, -668, -668, -668, 409, 410, + 411, 413, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, 178, -668, -668, -668, 94, -668, 414, 405, + 417, -668, 442, 418, 59, -668, 421, 422, -668, 423, + 178, 424, 1588, -668, 48, -668, -668, -668, -668, -668, + -668, 508, -668, -668, -668, -668, -668, -668, 310, 315, + -668, -668, 408, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, 420, 420, -668, -668, -668, -668, 1972, + 94, -668, 178, 415, -668, -668, -668, -668, -668, -668, + -668, 429, -668, -668, -668, -668, -668, 48, -668, -668, + -668, -668, 430, 189, -668, 420, 1919, -668, 431, -668, + 499, -668, -668, -668, -668, -668, -668, -668, -668, 48, + -668, 189, 437, 1356, -668, 425, -668, -668, -668, 439, + 426, 504, 503, 503, 94, 487, 441, 432, -668, 189, + 446, -668, -668, 435, -668, 503, 450, -668, -668, -668, + 438, -668, -668, -668, -668, -668, -668, -668, -668, -668, + 492, 544, 440, 200, 503, -668, -668, 93, 1972, -668, + 451, 444, 503, 445, 493, 94, 48, -668, -668, 468, + -668, -668, -668, -668, -668, 455, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 189, -668, 469, -668, 470, 1972, + 531, 479, 178, 473, 480, 58, -668, 186, 94, 504, + 48, 48, 463, 94, 544, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 1678, -668, -668, -668, 466, 467, + -668, -668, -668, 200, 94, 485, 476, -668, -668, -668, + -668, 48, -668, -668, -668, -668, 94, 486, 490, 530, + -668, -668, -668, -668, 494, 507, -668, -668, 535, -668 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1417,184 +1429,187 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 293, 308, 343, 391, 0, 0, 0, 0, 94, 0, - 0, 503, 0, 0, 572, 592, 0, 6, 7, 42, + 294, 309, 344, 398, 0, 0, 0, 0, 94, 0, + 0, 510, 0, 0, 579, 599, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, - 0, 12, 230, 295, 226, 342, 227, 253, 254, 228, - 20, 14, 16, 28, 462, 461, 464, 30, 501, 32, - 533, 535, 534, 532, 77, 551, 552, 531, 77, 34, + 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, + 20, 14, 16, 28, 469, 468, 471, 30, 508, 32, + 540, 542, 541, 539, 77, 558, 559, 538, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 265, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 468, 544, 0, 142, 138, 0, 137, + 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, + 82, 77, 0, 475, 551, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, - 9, 0, 97, 72, 0, 0, 0, 269, 271, 0, - 283, 284, 287, 288, 289, 290, 286, 291, 292, 357, - 365, 370, 272, 279, 273, 280, 274, 281, 275, 282, - 92, 237, 102, 233, 235, 236, 234, 238, 267, 268, - 239, 243, 240, 242, 241, 244, 245, 295, 250, 0, - 251, 252, 246, 0, 249, 247, 364, 248, 369, 0, - 0, 5, 0, 211, 0, 0, 310, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 538, 547, 0, 0, - 595, 591, 39, 286, 160, 148, 152, 156, 157, 153, - 154, 155, 158, 159, 41, 71, 225, 231, 294, 309, - 344, 392, 73, 542, 74, 0, 543, 95, 473, 504, - 0, 459, 140, 460, 573, 0, 197, 43, 25, 0, - 558, 554, 555, 560, 557, 561, 559, 556, 553, 0, - 48, 565, 0, 0, 23, 96, 75, 67, 27, 85, - 270, 285, 276, 278, 0, 0, 99, 356, 353, 361, - 366, 19, 11, 214, 13, 296, 0, 21, 15, 17, - 29, 465, 31, 515, 502, 33, 99, 0, 0, 35, - 37, 599, 0, 0, 0, 0, 89, 471, 469, 512, - 139, 0, 0, 593, 212, 200, 4, 562, 0, 566, - 0, 563, 186, 187, 188, 190, 193, 192, 194, 195, - 191, 189, 0, 0, 0, 0, 183, 590, 161, 162, - 163, 165, 167, 169, 172, 175, 179, 184, 589, 62, - 0, 114, 105, 277, 196, 0, 358, 0, 93, 0, - 0, 0, 217, 213, 311, 476, 519, 546, 539, 548, - 596, 149, 265, 232, 258, 259, 260, 266, 345, 393, - 114, 0, 99, 510, 505, 141, 574, 473, 0, 0, - 3, 0, 49, 0, 180, 181, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, - 76, 136, 0, 113, 0, 0, 213, 98, 354, 362, - 367, 0, 215, 0, 297, 301, 213, 213, 0, 114, - 105, 381, 386, 0, 497, 0, 0, 604, 379, 380, - 600, 602, 0, 606, 0, 598, 0, 213, 255, 213, - 301, 0, 472, 470, 0, 99, 580, 594, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 564, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 401, 402, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 406, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 0, 0, 137, 218, 0, 219, 222, 306, - 303, 302, 0, 213, 0, 0, 0, 0, 0, 487, - 0, 475, 477, 479, 481, 483, 485, 489, 0, 0, - 520, 0, 518, 521, 523, 0, 0, 0, 0, 493, - 492, 0, 496, 495, 0, 0, 0, 0, 0, 0, - 0, 597, 150, 0, 256, 0, 346, 351, 213, 0, - 511, 506, 579, 213, 0, 202, 210, 203, 45, 567, - 50, 0, 134, 0, 69, 0, 115, 0, 0, 0, - 0, 405, 435, 432, 433, 434, 396, 404, 0, 0, - 0, 87, 112, 103, 0, 360, 359, 355, 363, 368, - 0, 216, 0, 220, 0, 0, 298, 300, 269, 322, - 317, 318, 319, 320, 312, 321, 0, 0, 0, 474, - 0, 467, 0, 0, 0, 0, 0, 0, 525, 528, - 517, 0, 0, 0, 0, 382, 387, 491, 585, 586, - 605, 601, 603, 494, 607, 0, 376, 372, 375, 0, - 352, 0, 348, 0, 91, 0, 0, 0, 583, 0, - 0, 578, 0, 0, 0, 0, 588, 0, 132, 124, - 118, 128, 126, 130, 0, 120, 122, 407, 109, 223, - 0, 222, 307, 304, 0, 500, 498, 499, 488, 478, - 480, 482, 484, 486, 490, 0, 0, 522, 524, 541, - 550, 0, 0, 151, 0, 373, 257, 347, 349, 395, - 507, 576, 577, 0, 581, 582, 205, 209, 208, 0, - 56, 42, 51, 55, 0, 135, 397, 0, 221, 0, - 313, 410, 526, 529, 383, 388, 264, 377, 374, 213, - 0, 584, 58, 0, 0, 57, 0, 408, 305, 0, - 0, 0, 442, 442, 0, 446, 261, 0, 350, 508, - 0, 52, 54, 423, 398, 442, 314, 411, 418, 0, - 417, 439, 527, 530, 384, 443, 389, 262, 378, 514, - 0, 0, 0, 442, 409, 0, 0, 413, 414, 0, - 442, 0, 450, 0, 0, 509, 571, 0, 570, 422, - 436, 437, 438, 0, 428, 429, 399, 329, 336, 334, - 315, 325, 326, 333, 419, 415, 440, 385, 444, 447, - 390, 263, 513, 59, 568, 424, 425, 0, 454, 0, - 0, 0, 0, 0, 213, 331, 0, 0, 0, 0, - 0, 0, 0, 426, 430, 451, 400, 330, 337, 335, - 316, 324, 0, 332, 420, 416, 0, 0, 448, 60, - 569, 0, 0, 0, 0, 339, 327, 441, 445, 0, - 427, 431, 452, 338, 0, 0, 0, 0, 340, 328, - 449, 458, 0, 455, 453, 456, 0, 457 + 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, + 354, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, + 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, + 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, + 376, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 545, 554, + 0, 0, 602, 598, 39, 287, 160, 148, 152, 156, + 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, + 295, 310, 345, 399, 73, 549, 74, 0, 550, 95, + 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, + 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, + 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 0, 99, + 363, 360, 368, 373, 19, 11, 214, 13, 297, 0, + 21, 15, 17, 29, 472, 31, 522, 509, 33, 99, + 0, 0, 35, 37, 606, 0, 0, 0, 0, 89, + 478, 476, 519, 139, 0, 0, 600, 212, 200, 4, + 569, 0, 573, 0, 570, 186, 187, 188, 190, 193, + 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, + 597, 161, 162, 163, 165, 167, 169, 172, 175, 179, + 184, 596, 62, 0, 114, 105, 278, 196, 0, 365, + 355, 0, 93, 0, 0, 0, 217, 213, 312, 483, + 526, 553, 546, 555, 603, 149, 266, 232, 259, 260, + 261, 267, 346, 400, 114, 0, 99, 517, 512, 141, + 581, 480, 0, 0, 3, 0, 49, 0, 180, 181, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 594, 0, 76, 136, 0, 113, 0, 0, + 213, 0, 98, 361, 369, 374, 0, 215, 0, 298, + 302, 213, 213, 0, 114, 105, 388, 393, 0, 504, + 0, 0, 611, 386, 387, 607, 609, 0, 613, 0, + 605, 0, 213, 256, 213, 302, 0, 479, 477, 0, + 99, 587, 601, 204, 198, 0, 206, 199, 0, 201, + 207, 0, 0, 0, 0, 571, 185, 164, 166, 168, + 170, 171, 173, 174, 176, 177, 178, 213, 63, 133, + 131, 408, 409, 0, 116, 123, 0, 117, 127, 125, + 129, 0, 119, 121, 413, 111, 110, 0, 104, 0, + 106, 107, 0, 108, 0, 0, 356, 0, 0, 0, + 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, + 0, 0, 0, 0, 0, 494, 0, 482, 484, 486, + 488, 490, 492, 496, 0, 0, 527, 0, 525, 528, + 530, 0, 0, 0, 0, 500, 499, 0, 503, 502, + 0, 0, 0, 0, 0, 0, 0, 604, 150, 0, + 257, 0, 347, 352, 213, 0, 518, 513, 586, 213, + 0, 202, 210, 203, 45, 574, 50, 0, 134, 0, + 69, 0, 115, 0, 0, 0, 0, 412, 442, 439, + 440, 441, 403, 411, 0, 0, 0, 87, 112, 103, + 0, 367, 366, 0, 362, 370, 375, 0, 216, 0, + 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, + 321, 313, 322, 0, 0, 0, 481, 0, 474, 0, + 0, 0, 0, 0, 0, 532, 535, 524, 0, 0, + 0, 0, 389, 394, 498, 592, 593, 612, 608, 610, + 501, 614, 0, 383, 379, 382, 0, 353, 0, 349, + 0, 91, 0, 0, 0, 590, 0, 0, 585, 0, + 0, 0, 0, 595, 0, 132, 124, 118, 128, 126, + 130, 0, 120, 122, 414, 109, 357, 223, 0, 222, + 308, 305, 0, 507, 505, 506, 495, 485, 487, 489, + 491, 493, 497, 0, 0, 529, 531, 548, 557, 0, + 0, 151, 0, 380, 258, 348, 350, 402, 514, 583, + 584, 0, 588, 589, 205, 209, 208, 0, 56, 42, + 51, 55, 0, 135, 404, 0, 0, 221, 0, 314, + 417, 533, 536, 390, 395, 265, 384, 381, 213, 0, + 591, 58, 0, 0, 57, 0, 415, 358, 306, 0, + 0, 0, 449, 449, 0, 453, 262, 0, 351, 515, + 0, 52, 54, 430, 405, 449, 0, 315, 418, 425, + 0, 424, 446, 534, 537, 391, 450, 396, 263, 385, + 521, 0, 0, 0, 449, 416, 359, 0, 0, 420, + 421, 0, 449, 0, 457, 0, 0, 516, 578, 0, + 577, 429, 443, 444, 445, 0, 435, 436, 406, 330, + 337, 335, 316, 326, 327, 334, 426, 422, 447, 392, + 451, 454, 397, 264, 520, 59, 575, 431, 432, 0, + 461, 0, 0, 0, 0, 0, 213, 332, 0, 0, + 0, 0, 0, 0, 0, 433, 437, 458, 407, 331, + 338, 336, 317, 325, 0, 333, 427, 423, 0, 0, + 455, 60, 576, 0, 0, 0, 0, 340, 328, 448, + 452, 0, 434, 438, 459, 339, 0, 0, 0, 0, + 341, 329, 456, 465, 0, 462, 460, 463, 0, 464 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -672, -672, 287, 288, 546, -592, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -579, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -148, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 37, -672, - -672, 24, -672, -672, -672, 580, -672, -672, -672, -672, - -672, -672, -672, 582, -672, 215, -672, -672, -246, -672, - -672, 179, 103, -672, -672, -672, -319, -672, -360, -672, - -672, -672, -672, -672, -672, -672, -672, -332, -672, -672, - -22, -672, -672, -188, -10, -672, 6, -672, -672, -672, - -672, -196, -44, -226, -672, 217, 213, 216, -158, -154, - -201, -119, -672, -318, -672, -672, -672, -672, -672, -672, - -672, -672, 23, -82, 553, -672, -672, -672, -672, -74, - 7, 16, -672, 46, -672, -31, 108, -457, -672, -672, - -672, 8, -672, -672, -610, -143, -672, -672, -7, -672, - -66, -672, -672, -61, -42, -59, -56, -55, 250, -672, - -40, -672, -38, -672, -672, -672, -672, 174, 259, 121, - -672, -672, -672, -37, -672, -32, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -217, -672, -672, -672, -672, - -672, -218, -672, -672, -672, -672, -672, -672, -672, -41, - -672, -672, -672, -672, -672, -672, -672, -112, -672, -672, - -672, -672, -672, -672, -672, -70, -672, -672, -672, -69, - -672, -672, -672, -672, -672, -672, -672, -76, -672, -672, - -326, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, 17, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -622, -672, -672, - -672, -672, -672, -207, -672, -672, -672, -672, -672, -672, - -672, -672, -227, -672, -672, -501, -672, -671, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 18, 21, -672, -672, -672, -672, -672, -672, - -672, -672, -672, 258, -672, -672, 125, -672, -672, -672, - -672, -672, -672, -672, -325, 212, -322, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 559, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 283, -672, - -672, -183, -672, -672, -672, -672, -672, -672, -672, 3, - -672, 304, -672, -672, 94, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672 + -668, -668, 304, 305, 563, -620, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -590, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -138, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, 205, -668, + -668, 36, -668, -668, -668, 599, -668, -668, -668, -668, + -668, -668, -668, 601, -668, 244, -668, -668, -248, -668, + -668, 194, 116, -668, -668, -668, -300, -668, -365, -668, + -668, -668, -668, -668, -668, -668, -668, -336, -668, -668, + -22, -668, -668, -193, -10, -668, 18, -668, -668, -668, + -668, -199, -28, -219, -668, 228, 229, 227, -130, -128, + -159, -52, -668, -317, -668, -668, -668, -668, -668, -668, + -668, -668, 15, -93, 575, -668, -668, -668, -668, -63, + 23, 20, -668, 57, -668, -31, -393, -460, -668, -668, + -668, 19, -668, -668, -624, -134, -668, -668, -7, -668, + -75, -668, -668, -36, -30, -56, -55, -50, 251, -668, + -40, -668, -38, -668, -668, -668, -668, 190, 284, 144, + -668, -668, -668, -37, -668, -32, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -201, -668, -668, -668, -668, + -668, -200, -668, -668, -668, -668, -668, -668, -668, -41, + -668, -668, -668, -668, -668, -668, -668, -100, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -70, -668, -668, -668, -69, -668, -668, -668, -668, + -668, -668, -668, -64, -668, -668, -324, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, 21, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -654, -668, -668, -668, -668, -668, -192, + -668, -668, -668, -668, -668, -668, -668, -668, -217, -668, + -668, -515, -668, -667, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, 22, 24, + -668, -668, -668, -668, -668, -668, -668, -668, -668, 290, + -668, -668, 145, -668, -668, -668, -668, -668, -668, -668, + -334, 231, -330, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 592, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 285, -668, -668, -181, -668, -668, + -668, -668, -668, -668, -668, 12, -668, 321, -668, -668, + 100, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 3, 27, 28, 180, 184, 188, 189, - 179, 187, 121, 116, 125, 190, 192, 194, 198, 199, - 82, 29, 84, 30, 115, 306, 457, 31, 32, 117, - 310, 459, 665, 743, 722, 744, 723, 724, 760, 841, - 33, 118, 399, 34, 35, 124, 341, 478, 36, 85, - 37, 150, 340, 38, 39, 40, 126, 342, 492, 41, - 225, 370, 559, 42, 266, 43, 102, 256, 348, 44, - 45, 404, 493, 594, 494, 495, 402, 403, 479, 577, - 588, 589, 575, 579, 578, 580, 573, 400, 474, 667, - 326, 230, 301, 109, 362, 46, 480, 83, 292, 436, - 645, 205, 327, 344, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 345, 48, 305, 378, 452, 564, 453, - 454, 664, 481, 50, 304, 352, 412, 506, 507, 603, - 508, 482, 86, 216, 293, 217, 153, 154, 155, 156, - 52, 363, 438, 649, 364, 735, 756, 793, 365, 366, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 53, 87, 54, 185, 353, 512, 414, 513, 607, 511, - 605, 729, 604, 55, 88, 56, 276, 416, 684, 749, - 785, 832, 614, 810, 833, 811, 834, 875, 829, 812, - 835, 813, 831, 830, 864, 866, 874, 57, 58, 59, - 89, 294, 439, 651, 556, 652, 739, 557, 172, 349, - 501, 173, 265, 406, 174, 175, 350, 502, 176, 177, - 351, 503, 178, 367, 437, 647, 705, 648, 704, 757, - 483, 428, 537, 701, 754, 790, 429, 538, 702, 755, - 792, 484, 90, 295, 440, 653, 485, 674, 746, 783, - 828, 486, 586, 498, 590, 727, 765, 732, 750, 751, - 769, 788, 837, 770, 786, 836, 764, 781, 782, 803, - 826, 861, 804, 827, 862, 587, 805, 772, 789, 838, - 776, 791, 839, 820, 840, 869, 846, 863, 877, 882, - 883, 886, 487, 488, 63, 64, 65, 191, 355, 520, - 66, 228, 372, 298, 371, 417, 521, 622, 623, 624, - 625, 626, 620, 627, 522, 541, 523, 432, 543, 524, - 525, 526, 67, 193, 68, 105, 299, 445, 655, 740, - 779, 374, 444, 795, 284, 356, 531, 418, 532, 631, - 632, 533, 695, 752, 534, 696, 753, 69, 70, 71, - 72, 73, 287, 419, 633, 74, 75, 76, 196, 286, - 77, 288, 420, 634, 78, 249, 250, 311, 251, 797, - 824, 798, 79, 111, 302, 446, 656, 562, 563, 661, - 713, 527, 253, 398, 338, 80, 81, 112, 377, 201, - 291, 434, 360, 435, 547, 548, 546, 550 + 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, + 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, + 82, 29, 84, 30, 115, 309, 462, 31, 32, 117, + 313, 464, 672, 752, 730, 753, 731, 732, 770, 853, + 33, 118, 403, 34, 35, 124, 344, 483, 36, 85, + 37, 151, 343, 38, 39, 40, 126, 345, 497, 41, + 227, 374, 565, 42, 269, 43, 102, 258, 352, 44, + 45, 408, 498, 600, 499, 500, 406, 407, 484, 583, + 594, 595, 581, 585, 584, 586, 579, 404, 479, 674, + 329, 232, 304, 109, 366, 46, 485, 83, 295, 441, + 652, 207, 330, 347, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 348, 48, 308, 382, 457, 570, 458, + 459, 671, 486, 50, 307, 356, 417, 512, 513, 610, + 514, 487, 86, 218, 296, 219, 154, 155, 156, 157, + 52, 367, 443, 656, 368, 744, 766, 805, 369, 370, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 53, 87, 54, 187, 357, 518, 419, 519, 614, 517, + 612, 738, 611, 55, 88, 56, 279, 421, 692, 759, + 797, 844, 621, 822, 845, 823, 846, 887, 841, 824, + 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, + 89, 297, 444, 658, 562, 659, 748, 563, 173, 268, + 411, 603, 736, 776, 174, 353, 507, 175, 267, 410, + 176, 177, 354, 508, 178, 179, 355, 509, 180, 371, + 442, 654, 713, 655, 712, 767, 488, 433, 543, 709, + 764, 802, 434, 544, 710, 765, 804, 489, 90, 298, + 445, 660, 490, 681, 755, 794, 840, 491, 592, 503, + 596, 735, 775, 741, 760, 761, 780, 800, 849, 781, + 798, 848, 774, 792, 793, 815, 838, 873, 816, 839, + 874, 593, 817, 783, 801, 850, 787, 803, 851, 832, + 852, 881, 858, 875, 889, 894, 895, 898, 492, 493, + 63, 64, 65, 193, 359, 526, 66, 230, 376, 301, + 375, 422, 527, 629, 630, 631, 632, 633, 627, 634, + 528, 547, 529, 437, 549, 530, 531, 532, 67, 195, + 68, 105, 302, 450, 662, 749, 790, 378, 449, 807, + 287, 360, 537, 423, 538, 638, 639, 539, 703, 762, + 540, 704, 763, 69, 70, 71, 72, 73, 290, 424, + 640, 74, 75, 76, 198, 289, 77, 291, 425, 641, + 78, 251, 252, 314, 253, 809, 836, 810, 79, 111, + 305, 451, 663, 568, 569, 668, 721, 533, 255, 402, + 341, 80, 81, 112, 381, 203, 294, 439, 364, 440, + 553, 554, 552, 556 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1602,593 +1617,605 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 171, 167, 92, 168, 169, 93, 47, 103, - 104, 170, 152, 212, 213, 407, 113, 206, 51, 60, - 61, 151, 207, 62, 209, 49, 328, 210, 211, 583, - 235, 408, 409, 410, 427, 430, 252, 636, 431, 706, - 357, 208, 300, 307, 496, 171, 167, 303, 168, 169, - 650, 441, 94, 96, 170, 47, 807, 106, 530, 106, - 123, 204, 214, 8, 151, 51, 60, 61, 638, 639, - 62, 106, 106, 720, 733, 215, 807, 218, 219, 220, - 221, 583, 773, 808, 809, 223, 721, 539, -144, 226, - 4, 519, 227, 122, 784, 229, -371, 182, 195, 387, - 535, 231, 195, 808, 809, 747, 18, 18, 233, -145, - 95, 99, 806, 375, 122, 232, -371, 646, 222, 817, - 224, 576, 232, 395, 396, 397, 443, 312, 313, 314, - 315, 316, 317, 318, 319, -146, -100, 496, 106, 182, - 122, 122, 182, 107, 91, 107, 320, 321, 260, 182, - 8, 261, 720, -323, 232, 232, 182, 107, 232, 114, - 273, 322, 323, 421, 422, 721, 324, 325, 186, 212, - 213, 122, 267, 206, 268, 119, 496, 120, 207, 499, - 209, -341, 451, 210, 211, 505, 106, 800, 801, 802, - 421, 422, 519, 423, 469, 470, 471, 208, 424, 561, - 734, 425, 426, 384, 385, 386, 262, 263, 312, 313, - 314, 315, 316, 317, 318, 319, 200, 204, 391, 392, - 423, 393, 394, 504, 107, 424, 854, 320, 321, 808, - 809, 98, 101, 465, 466, 202, 234, 658, 659, 467, - 468, 660, 322, 323, 583, -463, -536, 324, 325, 297, - 236, 237, 871, 238, 254, 255, 312, 313, 314, 315, - 316, 317, 318, 319, 878, 257, 258, 421, 422, 259, - 264, 413, 107, 232, 269, 320, 321, 270, 271, 106, - 308, 272, 361, -212, 275, 814, 274, 277, 515, 516, - 278, 279, 280, 309, 281, 282, 325, 423, 517, 283, - 285, 289, 424, 296, 290, 425, 426, -537, 212, 213, - 339, 343, 206, 346, 347, 358, 354, 207, 401, 209, - 359, 368, 210, 211, 500, 401, 844, 369, 373, 583, - 381, 658, 659, 376, 514, 660, 208, 456, 382, 388, - 390, 383, 405, -44, 411, 328, 389, 458, 472, 442, - 542, 551, 552, 637, 554, 553, 204, 555, 461, 565, - 567, 643, 569, 568, 572, 570, 595, 574, 591, 601, - 583, 597, 171, 167, 679, 168, 169, 598, 599, 606, - -299, 170, 510, 600, 450, 47, 737, 602, 635, 473, - 571, 151, 621, 630, 640, 51, 60, 61, 641, -394, - 62, 540, 49, 544, 545, 642, 644, 663, 668, 654, - 540, 421, 422, -575, 680, 669, 584, 585, 670, 328, - 671, 672, 560, 677, 673, 675, 676, 497, 685, 686, - 687, 413, 515, 516, 678, 682, 260, 717, 688, 689, - 518, 423, 517, 566, 690, 691, 424, 692, 610, 425, - 426, 693, 694, 171, 167, 611, 168, 169, 612, 613, - 697, 698, 170, 510, 582, -47, 699, -47, 584, 585, - 700, 707, 151, 615, 709, 710, 413, 708, 151, -466, - 711, -47, -47, 714, -47, -47, 715, 716, -47, 718, - 726, 730, 609, 616, 617, 618, 731, 741, 745, 646, - 748, -412, 763, 761, 766, 768, 856, 857, 767, 771, - -47, 775, 777, 778, -47, 780, 582, -421, 628, 629, - 787, 794, 796, 171, 167, 799, 168, 169, -47, 815, - 816, 818, 170, 823, 819, 825, 842, 876, 843, 845, - 106, 847, 151, 849, 850, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 497, - 12, 139, 140, 141, 858, 873, 867, 868, 106, 6, - 872, 879, 448, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 203, 137, 881, 885, 657, 880, 12, 887, - 140, 141, 884, 379, 380, 181, 762, 100, 97, 536, - 593, 703, 463, 183, 848, 462, 464, 728, 596, 681, - 662, 774, 415, 683, 558, 592, 851, 853, 142, 143, - 144, 145, 146, 147, 148, 149, 107, 758, 455, 738, - 855, 584, 585, -101, 870, 447, 5, 197, 122, 6, - 7, 8, 9, 619, 549, 725, 142, 143, 144, 145, - 146, 147, 148, 149, 107, 10, 11, 555, 12, 860, - 712, 0, 13, 449, 433, 666, 460, 0, 0, 0, - 0, 47, 0, 0, 0, 14, 15, 16, 17, 582, - 0, 51, 60, 61, 18, 19, 62, 0, 20, 0, - 0, 21, 92, 0, 0, 736, 0, 742, 22, 23, - 0, 0, 0, 0, 0, 24, 25, 719, 0, 0, - 0, 0, 0, 0, 106, 0, 584, 585, 759, 608, - 128, 129, 0, 0, 132, 133, 134, 135, 0, 26, - 0, 0, 0, -53, 12, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 736, 0, 0, - 47, 0, 852, 0, 0, 0, 0, 584, 585, 0, - 51, 60, 61, 0, 582, 62, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 821, 0, 0, 0, - 0, 0, 142, 143, 144, 145, 146, 147, 148, 149, - 107, 0, 0, 0, 0, 582, 182, 0, 0, 0, - 0, 171, 167, 0, 168, 169, 401, 401, 0, 0, - 170, 865, 0, 0, 0, 0, 475, 0, -403, 6, - 151, 859, 9, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 10, 11, 401, 12, 0, - -403, -403, 13, 0, 0, 421, 422, 476, 477, -403, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 489, - 490, 491, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 0, 0, 0, 0, 475, - -213, -403, 6, -86, 0, 9, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, -403, -403, 10, 11, - 0, 12, 0, -403, -403, 13, 0, 0, 421, 422, - 476, 477, -403, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 489, 490, 491, 0, 0, 0, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 208, 103, + 104, 171, 153, 214, 215, 412, 113, 49, 506, 237, + 47, 152, 51, 60, 61, 254, 62, 211, 212, 643, + 435, 589, 714, 213, 436, 331, 413, 414, 415, 303, + 432, 361, 310, 501, 106, 172, 168, 209, 169, 170, + 742, 106, 728, 210, 171, 306, 657, 8, 536, 819, + 545, 206, 216, 645, 152, 646, 106, 47, 106, 51, + 60, 61, 123, 62, 446, 217, 4, 220, 221, 222, + 223, 756, 729, -378, 589, 225, 233, 820, 821, 228, + 426, 427, 229, 184, 819, 231, 784, 91, 525, -144, + 234, 18, 235, -378, 122, 95, 264, 265, 795, 391, + 197, 379, 602, 653, 197, 262, 234, 270, 263, 271, + 428, 582, 820, 821, 541, 429, 8, 818, 448, -145, + 224, 107, 226, 728, 122, 829, 119, 501, 107, 315, + 316, 317, 318, 319, 320, 321, 322, 18, 184, 184, + 234, 99, 234, 234, 114, 107, 106, -324, 323, 324, + 184, 184, 276, 729, 120, -146, 208, -342, 426, 427, + 122, 214, 215, 325, 326, -100, 188, 501, 327, 328, + 122, 106, 122, 456, 202, 211, 212, 426, 427, 204, + 504, 213, 395, 396, 743, 397, 398, 511, 428, 236, + 525, -470, 567, 429, 238, 209, 430, 431, 521, 522, + -543, 210, 399, 400, 401, 820, 821, 428, 523, 206, + 94, 96, 429, 510, 866, 430, 431, 315, 316, 317, + 318, 319, 320, 321, 322, 666, 812, 813, 814, 667, + 474, 475, 476, 107, 239, 665, 323, 324, 240, 589, + 883, 257, 315, 316, 317, 318, 319, 320, 321, 322, + 98, 101, 890, 256, 418, 470, 471, 328, 107, 472, + 473, 323, 324, 388, 389, 390, 266, 259, 260, 234, + 261, 278, 274, 826, 272, 365, 325, 326, 273, 106, + 275, 327, 328, -212, 615, 128, 129, 284, 277, 132, + 133, 134, 135, 280, 281, 282, 283, 208, 285, 12, + 286, 288, 214, 215, 292, 293, -544, 505, 299, 106, + 312, 405, 311, 300, 856, 342, 211, 212, 520, 405, + 666, 346, 213, 349, 667, 350, 351, 358, 589, 362, + 665, 461, 377, 757, 363, 372, 209, 373, 380, 559, + 385, 561, 210, 447, 644, 386, 387, 392, 331, 416, + 206, 393, 650, 394, 409, -44, 463, 477, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 172, 168, 589, + 169, 170, 184, 466, 577, 548, 171, 516, 687, 152, + 557, 558, 560, 478, 571, 746, 152, 573, 49, 575, + 455, 47, 574, 51, 60, 61, 546, 62, 550, 551, + 576, 578, 580, 597, 607, 546, 688, 608, 609, 601, + 604, 590, 591, 502, 613, 605, 418, 566, 606, -300, + 693, 694, 695, 331, 628, 637, 642, 524, 647, 648, + 649, 651, 670, 675, -401, 617, 676, 661, 572, -582, + 677, 725, 678, 679, 680, 682, 683, 684, 172, 168, + 685, 169, 170, 686, 618, 619, 690, 171, 516, 588, + 620, 418, 262, 696, 590, 591, 697, 152, 698, 622, + 699, 106, 700, 152, 701, 702, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 616, 623, + 624, 625, 139, 140, 141, 142, 705, 706, 716, 718, + 707, 734, 708, 715, 868, 869, 717, 719, 722, 723, + 724, 726, 588, 739, 635, 636, 750, 754, 758, 172, + 168, 653, 169, 170, 740, -419, 771, 777, 171, 773, + 779, 778, 782, 786, 788, 888, 791, 808, 152, 789, + -428, 796, 806, 799, 827, 811, 831, 502, 828, 830, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 835, + 837, 857, 854, 855, 184, 861, 859, 870, 885, 862, + 106, 879, 880, 891, 664, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 884, + 12, 139, 140, 141, 142, 892, 893, 426, 427, 896, + 897, 899, 183, 383, 384, 772, 100, 97, 599, 542, + 467, 469, 468, 860, 711, 185, 737, 669, 521, 522, + 785, 691, 689, 460, -47, 564, -47, 428, 523, 590, + 591, 420, 429, 598, 863, 430, 431, 865, 768, 747, + -47, -47, 733, -47, -47, 561, 882, 867, -47, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 555, 626, + 199, 452, 465, 872, -101, -473, 720, 673, 0, 122, + -47, 0, 0, 0, -47, 438, 0, 588, 0, 0, + 47, 0, 51, 60, 61, 0, 62, 0, -47, 0, + 92, 0, 241, 745, 242, 751, 0, 0, 0, 0, + 0, 0, 0, 0, 152, 0, 0, 0, 243, 244, + 0, 245, 246, 0, 0, 0, 247, 769, 590, 591, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 5, 0, 0, 6, 7, 8, 9, 0, 248, 0, + 0, 0, 249, 864, 92, 0, 0, 745, 0, 10, + 11, 0, 12, 0, 0, 0, 250, 13, 0, 590, + 591, 47, 0, 51, 60, 61, 588, 62, 0, 0, + 14, 15, 16, 17, 834, 0, 0, 0, 0, 18, + 19, 0, 0, 20, 0, 92, 21, 0, 833, 0, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, + 24, 25, 0, 0, 0, 0, 0, 588, 0, 0, + 0, 0, 0, 172, 168, 0, 169, 170, 405, 405, + 0, 0, 171, 877, 26, -213, 0, 0, 480, 0, + -410, 6, 152, 871, 9, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 10, 11, 405, + 12, 0, 0, -410, -410, 13, 0, 0, 426, 427, + 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -403, - -403, -403, -403, -403, -403, -403, -403, -403, 0, 0, - 0, 0, 475, -213, -403, 6, -549, 0, 9, -403, - -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, - -403, 10, 11, 0, 12, 0, -403, -403, 13, 0, - 0, 421, 422, 476, 477, -403, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 528, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, + -410, -410, -410, -410, -410, -410, -410, -410, 0, 0, + 0, 0, 480, -213, -410, 6, -86, 0, 9, -410, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + -410, 10, 11, 0, 12, 0, 0, -410, -410, 13, + 0, 0, 426, 427, 481, 482, -410, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -403, -403, -403, -403, -403, -403, -403, -403, - -403, 0, 0, 0, 475, 0, -403, 6, 0, -516, - 9, -403, -403, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, 10, 11, 0, 12, 0, -403, -403, - 13, 0, 0, 421, 422, 476, 477, -403, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, -410, -410, -410, -410, -410, -410, -410, + -410, -410, 0, 0, 0, 0, 480, -213, -410, 6, + -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, + 0, -410, -410, 13, 0, 0, 426, 427, 481, 482, + -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 0, 0, 0, 480, + 0, -410, 6, 0, -523, 9, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, + 0, 12, 0, 0, -410, -410, 13, 0, 0, 426, + 427, 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -403, -403, -403, -403, -403, -403, - -403, -403, -403, 0, 0, 0, 0, 475, -213, -403, - 6, -68, 0, 9, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 10, 11, 0, 12, - 0, -403, -403, 13, 0, 0, 421, 422, 476, 477, - -403, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 0, 0, 0, 0, - 475, -213, -403, 6, -90, 0, 9, -403, -403, -403, - -403, -403, -403, -403, -403, -403, -403, -403, -403, 10, - 11, 0, 12, 0, -403, -403, 13, 0, 0, 421, - 422, 476, 477, -403, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 10, - 11, 0, 12, 0, 0, 0, 13, 0, 0, 0, - -403, -403, -403, -403, -403, -403, -403, -403, -403, 14, - 15, 16, 17, 0, -213, 0, 0, -540, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 509, 0, 106, 0, 0, 24, - 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 0, 0, 0, 26, -213, 0, 0, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 6, 7, 8, - 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, - 13, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107, 14, 15, 16, 17, 0, 182, 0, - 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 5, 13, 0, 6, 7, 8, 9, 26, -213, 0, - 0, 0, 0, 0, 14, 15, 16, 17, 0, 10, - 11, 0, 12, 18, 19, 0, 13, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 14, - 15, 16, 17, 0, 24, 25, 719, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 106, 0, 26, 24, - 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 106, 0, 0, 26, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 0, - 0, 139, 140, 141, 0, 239, 0, 240, 0, 0, + -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, + 0, 0, 0, 480, -213, -410, 6, -68, 0, 9, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, + 13, 0, 0, 426, 427, 481, 482, -410, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 242, 0, 243, 244, 0, 0, 245, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107, 0, 0, 0, 0, 0, 182, 0, - 246, 0, 0, 0, 247, 0, 0, 0, 142, 143, - 144, 145, 146, 147, 148, 149, 107, 475, 248, -403, - 6, 0, 182, 9, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 10, 11, 0, 12, - 0, -403, -403, 13, 0, 0, 421, 422, 476, 477, - -403, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 489, 490, 491, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 475, 0, -403, 6, - 0, 0, 9, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 10, 11, 0, 12, 0, - -403, -403, 13, 0, 0, 421, 422, 476, 477, -403, - 509, 0, 106, 0, 0, 14, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, + -410, -410, -410, 0, 0, 0, 0, 480, -213, -410, + 6, -90, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, + 0, 0, 0, 0, 13, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 14, 15, 16, + 17, 0, -213, 0, 0, -547, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 24, 25, 727, + 106, 6, 0, 0, 453, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 0, 0, 0, 0, + 12, 26, 0, 141, 142, -53, 515, 0, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, + 0, 0, 0, 0, 0, 0, 454, 5, 0, 0, + 6, 7, 8, 9, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 10, 11, 0, 12, + 0, 184, 0, 0, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 17, 0, 0, 0, 0, 0, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 5, + 22, 23, 6, 7, 8, 9, 0, 24, 25, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 5, 0, 13, 6, 7, 8, + 9, 26, -213, 0, 0, 0, 0, 0, 0, 14, + 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, + 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 0, 22, 23, 14, 15, 16, 17, 0, 24, + 25, 727, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 480, 26, -410, + 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, + 22, 23, 0, 0, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 480, 0, -410, + 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 515, 0, 106, 0, 0, 14, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, + 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 0, 12, 139, 140, 141, 0, - 142, 143, 144, 145, 146, 147, 148, 149, 107, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 203, 137, 138, 0, 0, 0, 0, - 0, 140, 141, 0, 0, 0, 0, 0, 0, 0, - 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, - 149, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 203, 137, 138, 0, - 0, 0, 0, 0, 140, 141, 0, 142, 143, 144, - 145, 146, 147, 148, 149, 107, 106, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 203, 0, 0, 0, 0, 0, 0, 0, 140, 141, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 205, 0, 0, + 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 142, 143, 144, 145, 146, 147, 148, 149, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107 + 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, - 20, 43, 43, 83, 83, 347, 26, 83, 2, 2, - 2, 43, 83, 2, 83, 2, 252, 83, 83, 486, - 112, 349, 350, 351, 360, 360, 118, 538, 360, 649, - 286, 83, 230, 239, 404, 86, 86, 3, 86, 86, - 3, 370, 15, 16, 86, 49, 1, 3, 418, 3, - 36, 83, 84, 6, 86, 49, 49, 49, 3, 3, - 49, 3, 3, 665, 696, 85, 1, 87, 88, 89, - 90, 538, 753, 28, 29, 95, 665, 19, 96, 99, - 0, 417, 102, 101, 765, 105, 95, 95, 74, 325, - 419, 75, 78, 28, 29, 727, 49, 49, 75, 96, - 53, 53, 783, 301, 101, 89, 115, 115, 94, 790, - 96, 481, 89, 109, 110, 111, 372, 73, 74, 75, - 76, 77, 78, 79, 80, 96, 96, 497, 3, 95, - 101, 101, 95, 89, 3, 89, 92, 93, 8, 95, - 6, 11, 744, 98, 89, 89, 95, 89, 89, 99, - 182, 107, 108, 30, 31, 744, 112, 113, 22, 239, - 239, 101, 100, 239, 102, 96, 536, 96, 239, 405, - 239, 96, 378, 239, 239, 411, 3, 35, 36, 37, - 30, 31, 518, 60, 395, 396, 397, 239, 65, 445, - 701, 68, 69, 322, 323, 324, 8, 9, 73, 74, - 75, 76, 77, 78, 79, 80, 97, 239, 90, 91, - 60, 107, 108, 411, 89, 65, 836, 92, 93, 28, - 29, 16, 17, 391, 392, 96, 3, 563, 563, 393, - 394, 563, 107, 108, 701, 96, 96, 112, 113, 101, - 97, 97, 862, 96, 96, 48, 73, 74, 75, 76, - 77, 78, 79, 80, 874, 97, 96, 30, 31, 97, - 99, 353, 89, 89, 99, 92, 93, 99, 96, 3, - 99, 96, 292, 95, 97, 786, 96, 96, 51, 52, - 96, 96, 96, 3, 97, 96, 113, 60, 61, 97, - 96, 96, 65, 97, 96, 68, 69, 96, 378, 378, - 100, 8, 378, 99, 47, 97, 113, 378, 340, 378, - 97, 97, 378, 378, 406, 347, 827, 97, 101, 786, - 3, 657, 657, 97, 416, 657, 378, 378, 100, 104, - 106, 102, 102, 98, 113, 571, 105, 100, 102, 371, - 58, 98, 103, 541, 102, 437, 378, 439, 114, 96, - 96, 549, 3, 98, 102, 97, 100, 98, 98, 114, - 827, 100, 413, 413, 600, 413, 413, 100, 100, 98, - 98, 413, 413, 103, 378, 379, 704, 102, 31, 399, - 472, 413, 98, 98, 96, 379, 379, 379, 96, 98, - 379, 423, 379, 425, 426, 96, 96, 29, 96, 98, - 432, 30, 31, 98, 602, 96, 486, 486, 96, 645, - 96, 96, 444, 3, 96, 96, 96, 404, 616, 617, - 618, 513, 51, 52, 96, 96, 8, 663, 96, 96, - 417, 60, 61, 453, 96, 96, 65, 96, 514, 68, - 69, 96, 96, 494, 494, 514, 494, 494, 514, 514, - 96, 96, 494, 494, 486, 4, 98, 6, 538, 538, - 98, 98, 494, 514, 98, 66, 558, 102, 500, 98, - 98, 20, 21, 96, 23, 24, 96, 96, 27, 96, - 3, 114, 514, 515, 516, 517, 113, 96, 96, 115, - 96, 35, 113, 98, 97, 35, 838, 839, 114, 38, - 49, 55, 102, 116, 53, 99, 538, 114, 528, 529, - 114, 59, 3, 564, 564, 114, 564, 564, 67, 102, - 113, 113, 564, 100, 62, 114, 102, 869, 102, 39, - 3, 96, 564, 101, 98, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 536, - 23, 24, 25, 26, 113, 101, 114, 114, 3, 4, - 113, 96, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 75, 102, 563, 114, 23, 75, - 25, 26, 114, 306, 306, 49, 744, 17, 16, 420, - 497, 645, 389, 50, 830, 388, 390, 681, 500, 602, - 564, 754, 353, 605, 440, 494, 833, 835, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 739, 378, 705, - 837, 701, 701, 96, 861, 377, 1, 78, 101, 4, - 5, 6, 7, 518, 432, 667, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 20, 21, 739, 23, 842, - 657, -1, 27, 98, 360, 571, 383, -1, -1, -1, - -1, 665, -1, -1, -1, 40, 41, 42, 43, 701, - -1, 665, 665, 665, 49, 50, 665, -1, 53, -1, - -1, 56, 702, -1, -1, 702, -1, 719, 63, 64, - -1, -1, -1, -1, -1, 70, 71, 72, -1, -1, - -1, -1, -1, -1, 3, -1, 786, 786, 740, 8, - 9, 10, -1, -1, 13, 14, 15, 16, -1, 94, - -1, -1, -1, 98, 23, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 754, -1, -1, 754, -1, -1, - 744, -1, 834, -1, -1, -1, -1, 827, 827, -1, - 744, 744, 744, -1, 786, 744, -1, -1, -1, -1, - -1, -1, 794, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 793, -1, -1, 793, -1, -1, -1, - -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, - 89, -1, -1, -1, -1, 827, 95, -1, -1, -1, - -1, 852, 852, -1, 852, 852, 838, 839, -1, -1, - 852, 852, -1, -1, -1, -1, 1, -1, 3, 4, - 852, 841, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 869, 23, -1, - 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, 40, -1, -1, -1, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, - 85, 86, 87, 88, 89, -1, -1, -1, -1, 1, - 95, 3, 4, 98, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, 25, 26, 27, -1, -1, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, + 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, + 20, 43, 43, 83, 83, 351, 26, 2, 411, 112, + 2, 43, 2, 2, 2, 118, 2, 83, 83, 544, + 364, 491, 656, 83, 364, 254, 353, 354, 355, 232, + 364, 289, 241, 408, 3, 86, 86, 83, 86, 86, + 704, 3, 672, 83, 86, 3, 3, 6, 423, 1, + 19, 83, 84, 3, 86, 3, 3, 49, 3, 49, + 49, 49, 36, 49, 374, 85, 0, 87, 88, 89, + 90, 735, 672, 96, 544, 95, 76, 29, 30, 99, + 31, 32, 102, 96, 1, 105, 763, 3, 422, 97, + 90, 50, 76, 116, 102, 54, 8, 9, 775, 328, + 74, 304, 505, 116, 78, 8, 90, 101, 11, 103, + 61, 486, 29, 30, 424, 66, 6, 794, 376, 97, + 94, 90, 96, 753, 102, 802, 97, 502, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 50, 96, 96, + 90, 54, 90, 90, 100, 90, 3, 99, 93, 94, + 96, 96, 184, 753, 97, 97, 241, 97, 31, 32, + 102, 241, 241, 108, 109, 97, 22, 542, 113, 114, + 102, 3, 102, 382, 98, 241, 241, 31, 32, 97, + 409, 241, 91, 92, 709, 108, 109, 416, 61, 3, + 524, 97, 450, 66, 98, 241, 69, 70, 52, 53, + 97, 241, 110, 111, 112, 29, 30, 61, 62, 241, + 15, 16, 66, 416, 848, 69, 70, 74, 75, 76, + 77, 78, 79, 80, 81, 569, 36, 37, 38, 569, + 399, 400, 401, 90, 98, 569, 93, 94, 97, 709, + 874, 49, 74, 75, 76, 77, 78, 79, 80, 81, + 16, 17, 886, 97, 357, 395, 396, 114, 90, 397, + 398, 93, 94, 325, 326, 327, 100, 98, 97, 90, + 98, 98, 97, 798, 100, 295, 108, 109, 100, 3, + 97, 113, 114, 96, 8, 9, 10, 98, 97, 13, + 14, 15, 16, 97, 97, 97, 97, 382, 97, 23, + 98, 97, 382, 382, 97, 97, 97, 410, 98, 3, + 3, 343, 100, 102, 839, 101, 382, 382, 421, 351, + 664, 8, 382, 100, 664, 100, 48, 114, 798, 98, + 664, 382, 102, 736, 98, 98, 382, 98, 98, 442, + 3, 444, 382, 375, 547, 101, 103, 105, 577, 114, + 382, 106, 555, 107, 103, 99, 101, 103, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 418, 418, 839, + 418, 418, 96, 115, 477, 59, 418, 418, 607, 411, + 99, 104, 103, 403, 97, 712, 418, 97, 383, 3, + 382, 383, 99, 383, 383, 383, 428, 383, 430, 431, + 98, 103, 99, 99, 104, 437, 609, 115, 103, 101, + 101, 491, 491, 408, 99, 101, 519, 449, 101, 99, + 623, 624, 625, 652, 99, 99, 32, 422, 97, 97, + 97, 97, 30, 97, 99, 520, 97, 99, 458, 99, + 97, 670, 97, 97, 97, 97, 97, 3, 499, 499, + 97, 499, 499, 103, 520, 520, 97, 499, 499, 491, + 520, 564, 8, 97, 544, 544, 97, 499, 97, 520, + 97, 3, 97, 505, 97, 97, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 520, 521, + 522, 523, 24, 25, 26, 27, 97, 97, 103, 67, + 99, 3, 99, 99, 850, 851, 99, 99, 97, 97, + 97, 97, 544, 115, 534, 535, 97, 97, 97, 570, + 570, 116, 570, 570, 114, 36, 99, 98, 570, 114, + 36, 115, 39, 56, 103, 881, 100, 3, 570, 117, + 115, 101, 60, 115, 103, 115, 63, 542, 114, 114, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 101, + 115, 40, 103, 103, 96, 102, 97, 114, 102, 99, + 3, 115, 115, 97, 569, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 114, + 23, 24, 25, 26, 27, 115, 76, 31, 32, 115, + 103, 76, 49, 309, 309, 753, 17, 16, 502, 425, + 392, 394, 393, 842, 652, 50, 689, 570, 52, 53, + 764, 612, 609, 382, 4, 445, 6, 61, 62, 709, + 709, 357, 66, 499, 845, 69, 70, 847, 748, 713, + 20, 21, 674, 23, 24, 748, 873, 849, 28, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 437, 524, + 78, 381, 387, 854, 97, 99, 664, 577, -1, 102, + 50, -1, -1, -1, 54, 364, -1, 709, -1, -1, + 672, -1, 672, 672, 672, -1, 672, -1, 68, -1, + 710, -1, 4, 710, 6, 727, -1, -1, -1, -1, + -1, -1, -1, -1, 736, -1, -1, -1, 20, 21, + -1, 23, 24, -1, -1, -1, 28, 749, 798, 798, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, + 1, -1, -1, 4, 5, 6, 7, -1, 50, -1, + -1, -1, 54, 846, 764, -1, -1, 764, -1, 20, + 21, -1, 23, -1, -1, -1, 68, 28, -1, 839, + 839, 753, -1, 753, 753, 753, 798, 753, -1, -1, + 41, 42, 43, 44, 806, -1, -1, -1, -1, 50, + 51, -1, -1, 54, -1, 805, 57, -1, 805, -1, + -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, + 71, 72, -1, -1, -1, -1, -1, 839, -1, -1, + -1, -1, -1, 864, 864, -1, 864, 864, 850, 851, + -1, -1, 864, 864, 95, 96, -1, -1, 1, -1, + 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, - -1, -1, 1, 95, 3, 4, 98, -1, 7, 8, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, 25, 26, 27, -1, - -1, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, - -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, - 89, -1, -1, -1, 1, -1, 3, 4, -1, 98, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, -1, 25, 26, - 27, -1, -1, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, + 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, + -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, -1, -1, -1, 1, 95, 3, - 4, 98, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, - 1, 95, 3, 4, 98, -1, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, -1, 25, 26, 27, -1, -1, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, - 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, - -1, -1, 63, 64, -1, -1, -1, -1, -1, 20, - 21, -1, 23, -1, -1, -1, 27, -1, -1, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 40, - 41, 42, 43, -1, 95, -1, -1, 98, 49, 50, - -1, -1, 53, -1, -1, 56, -1, -1, -1, -1, - -1, -1, 63, 64, 1, -1, 3, -1, -1, 70, - 71, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, -1, 4, 5, 6, - 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, - 27, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 40, 41, 42, 43, -1, 95, -1, - -1, -1, 49, 50, -1, -1, 53, -1, -1, 56, - -1, -1, -1, -1, -1, 1, 63, 64, 4, 5, - 6, 7, -1, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - 1, 27, -1, 4, 5, 6, 7, 94, 95, -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, 3, -1, 94, 70, - 71, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 3, -1, -1, 94, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, 24, 25, 26, -1, 4, -1, 6, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 20, 21, -1, 23, 24, -1, -1, 27, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, -1, -1, -1, -1, 95, -1, - 49, -1, -1, -1, 53, -1, -1, -1, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 1, 67, 3, - 4, -1, 95, 7, 8, 9, 10, 11, 12, 13, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, - 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 1, -1, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, - 1, -1, 3, -1, -1, 40, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, -1, -1, 63, 64, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, 20, 21, -1, 23, + -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, + 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, 71, 72, 73, + 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, + 23, 95, -1, 26, 27, 99, 1, -1, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, + 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, 24, 25, 26, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, - -1, 25, 26, -1, -1, -1, -1, -1, -1, -1, - 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 3, -1, -1, -1, -1, 8, 9, 10, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 1, -1, -1, + 4, 5, 6, 7, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 20, 21, -1, 23, + -1, 96, -1, -1, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, -1, -1, -1, -1, -1, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, 1, + 64, 65, 4, 5, 6, 7, -1, 71, 72, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, 1, -1, 28, 4, 5, 6, + 7, 95, 96, -1, -1, -1, -1, -1, -1, 41, + 42, 43, 44, 20, 21, -1, 23, -1, 50, 51, + -1, 28, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, 64, 65, 41, 42, 43, 44, -1, 71, + 72, 73, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, + -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, 1, 95, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, -1, 25, 26, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 3, -1, -1, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, -1, -1, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, + -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89 + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 118, 119, 120, 0, 1, 4, 5, 6, 7, - 20, 21, 23, 27, 40, 41, 42, 43, 49, 50, - 53, 56, 63, 64, 70, 71, 94, 121, 122, 138, - 140, 144, 145, 157, 160, 161, 165, 167, 170, 171, - 172, 176, 180, 182, 186, 187, 212, 213, 231, 239, - 240, 248, 257, 277, 279, 290, 292, 314, 315, 316, - 358, 409, 410, 411, 412, 413, 417, 439, 441, 464, - 465, 466, 467, 468, 472, 473, 474, 477, 481, 489, - 502, 503, 137, 214, 139, 166, 249, 278, 291, 317, - 359, 3, 211, 265, 165, 53, 165, 180, 182, 53, - 172, 182, 183, 211, 211, 442, 3, 89, 207, 210, - 207, 490, 504, 211, 99, 141, 130, 146, 158, 96, - 96, 129, 101, 168, 162, 131, 173, 8, 9, 10, + 0, 119, 120, 121, 0, 1, 4, 5, 6, 7, + 20, 21, 23, 28, 41, 42, 43, 44, 50, 51, + 54, 57, 64, 65, 71, 72, 95, 122, 123, 139, + 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, + 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, + 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, + 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, + 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, + 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, + 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, + 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, - 25, 26, 81, 82, 83, 84, 85, 86, 87, 88, - 168, 207, 252, 253, 254, 255, 256, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 279, 290, - 292, 316, 325, 328, 331, 332, 335, 336, 339, 127, - 123, 121, 95, 241, 124, 280, 22, 128, 125, 126, - 132, 414, 133, 440, 134, 168, 475, 475, 135, 136, - 97, 506, 96, 17, 207, 218, 267, 270, 271, 272, - 273, 274, 332, 336, 207, 211, 250, 252, 211, 211, - 211, 211, 168, 211, 168, 177, 211, 211, 418, 211, - 208, 75, 89, 75, 3, 240, 97, 97, 96, 4, - 6, 20, 21, 23, 24, 27, 49, 53, 67, 482, - 483, 485, 240, 499, 96, 48, 184, 97, 96, 97, - 8, 11, 8, 9, 99, 329, 181, 100, 102, 99, - 99, 96, 96, 207, 96, 97, 293, 96, 96, 96, - 96, 97, 96, 97, 451, 96, 476, 469, 478, 96, - 96, 507, 215, 251, 318, 360, 97, 101, 420, 443, - 210, 209, 491, 3, 241, 232, 142, 218, 99, 3, - 147, 484, 73, 74, 75, 76, 77, 78, 79, 80, - 92, 93, 107, 108, 112, 113, 207, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 501, 100, - 169, 163, 174, 8, 220, 230, 99, 47, 185, 326, - 333, 337, 242, 281, 113, 415, 452, 185, 97, 97, - 509, 211, 211, 258, 261, 265, 266, 340, 97, 97, - 178, 421, 419, 101, 448, 210, 97, 505, 233, 119, - 120, 3, 100, 102, 228, 228, 228, 220, 104, 105, - 106, 90, 91, 107, 108, 109, 110, 111, 500, 159, - 204, 207, 193, 194, 188, 102, 330, 204, 230, 230, - 230, 113, 243, 240, 283, 285, 294, 422, 454, 470, - 479, 30, 31, 60, 65, 68, 69, 347, 348, 353, - 431, 433, 434, 498, 508, 510, 216, 341, 259, 319, - 361, 193, 207, 185, 449, 444, 492, 420, 7, 98, - 213, 218, 234, 236, 237, 275, 316, 143, 100, 148, - 485, 114, 222, 223, 224, 225, 225, 226, 226, 227, - 227, 227, 102, 211, 205, 1, 32, 33, 164, 195, - 213, 239, 248, 347, 358, 363, 368, 409, 410, 44, - 45, 46, 175, 189, 191, 192, 195, 239, 370, 220, - 240, 327, 334, 338, 210, 220, 244, 245, 247, 1, - 252, 286, 282, 284, 240, 51, 52, 61, 239, 347, - 416, 423, 431, 433, 436, 437, 438, 498, 44, 54, - 195, 453, 455, 458, 461, 193, 188, 349, 354, 19, - 207, 432, 58, 435, 207, 207, 513, 511, 512, 432, - 514, 98, 103, 240, 102, 240, 321, 324, 284, 179, - 207, 185, 494, 495, 235, 96, 211, 96, 98, 3, - 97, 240, 102, 203, 98, 199, 195, 196, 201, 200, - 202, 34, 207, 254, 332, 336, 369, 392, 197, 198, - 371, 98, 286, 189, 190, 100, 253, 100, 100, 100, - 103, 114, 102, 246, 289, 287, 98, 285, 8, 207, - 267, 272, 273, 274, 299, 316, 207, 207, 207, 423, - 429, 98, 424, 425, 426, 427, 428, 430, 211, 211, - 98, 456, 457, 471, 480, 31, 392, 210, 3, 3, - 96, 96, 96, 210, 96, 217, 115, 342, 344, 260, - 3, 320, 322, 362, 98, 445, 493, 239, 347, 431, - 433, 496, 250, 29, 238, 149, 501, 206, 96, 96, - 96, 96, 96, 96, 364, 96, 96, 3, 96, 220, - 210, 247, 96, 258, 295, 210, 210, 210, 96, 96, - 96, 96, 96, 96, 96, 459, 462, 96, 96, 98, - 98, 350, 355, 219, 345, 343, 261, 98, 102, 98, - 66, 98, 496, 497, 96, 96, 96, 220, 96, 72, - 122, 138, 151, 153, 154, 207, 3, 372, 246, 288, - 114, 113, 374, 374, 392, 262, 265, 230, 344, 323, - 446, 96, 207, 150, 152, 96, 365, 374, 96, 296, - 375, 376, 460, 463, 351, 356, 263, 346, 324, 207, - 155, 98, 153, 113, 383, 373, 97, 114, 35, 377, - 380, 38, 394, 394, 262, 55, 397, 102, 116, 447, - 99, 384, 385, 366, 394, 297, 381, 114, 378, 395, - 352, 398, 357, 264, 59, 450, 3, 486, 488, 114, - 35, 36, 37, 386, 389, 393, 394, 1, 28, 29, - 300, 302, 306, 308, 392, 102, 113, 394, 113, 62, - 400, 265, 207, 100, 487, 114, 387, 390, 367, 305, - 310, 309, 298, 301, 303, 307, 382, 379, 396, 399, - 401, 156, 102, 102, 392, 39, 403, 96, 220, 101, - 98, 302, 240, 308, 261, 380, 204, 204, 113, 211, - 488, 388, 391, 404, 311, 252, 312, 114, 114, 402, - 389, 261, 113, 101, 313, 304, 204, 405, 261, 96, - 114, 75, 406, 407, 114, 102, 408, 75 + 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, + 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, + 291, 293, 317, 326, 332, 335, 338, 339, 342, 343, + 346, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 421, 134, 447, 135, 169, 482, 482, + 136, 137, 98, 513, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, + 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, + 425, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, + 68, 489, 490, 492, 241, 506, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 336, 327, 182, + 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, + 97, 97, 97, 97, 98, 97, 98, 458, 97, 483, + 476, 485, 97, 97, 514, 216, 252, 319, 367, 98, + 102, 427, 450, 211, 210, 498, 3, 242, 233, 143, + 219, 100, 3, 148, 491, 74, 75, 76, 77, 78, + 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 508, 101, 170, 164, 175, 8, 221, 231, 100, + 100, 48, 186, 333, 340, 344, 243, 282, 114, 422, + 459, 186, 98, 98, 516, 212, 212, 259, 262, 266, + 267, 347, 98, 98, 179, 428, 426, 102, 455, 211, + 98, 512, 234, 120, 121, 3, 101, 103, 229, 229, + 229, 221, 105, 106, 107, 91, 92, 108, 109, 110, + 111, 112, 507, 160, 205, 208, 194, 195, 189, 103, + 337, 328, 205, 231, 231, 231, 114, 244, 241, 284, + 286, 295, 429, 461, 477, 486, 31, 32, 61, 66, + 69, 70, 354, 355, 360, 438, 440, 441, 505, 515, + 517, 217, 348, 260, 320, 368, 194, 208, 186, 456, + 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, + 276, 317, 144, 101, 149, 492, 115, 223, 224, 225, + 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, + 1, 33, 34, 165, 196, 214, 240, 249, 354, 365, + 370, 375, 416, 417, 45, 46, 47, 176, 190, 192, + 193, 196, 240, 377, 221, 241, 254, 334, 341, 345, + 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, + 241, 52, 53, 62, 240, 354, 423, 430, 438, 440, + 443, 444, 445, 505, 45, 55, 196, 460, 462, 465, + 468, 194, 189, 356, 361, 19, 208, 439, 59, 442, + 208, 208, 520, 518, 519, 439, 521, 99, 104, 241, + 103, 241, 322, 325, 285, 180, 208, 186, 501, 502, + 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, + 99, 200, 196, 197, 202, 201, 203, 35, 208, 255, + 339, 343, 376, 399, 198, 199, 378, 99, 287, 190, + 191, 101, 254, 329, 101, 101, 101, 104, 115, 103, + 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, + 275, 300, 317, 208, 208, 208, 430, 436, 99, 431, + 432, 433, 434, 435, 437, 212, 212, 99, 463, 464, + 478, 487, 32, 399, 211, 3, 3, 97, 97, 97, + 211, 97, 218, 116, 349, 351, 261, 3, 321, 323, + 369, 99, 452, 500, 240, 354, 438, 440, 503, 251, + 30, 239, 150, 508, 207, 97, 97, 97, 97, 97, + 97, 371, 97, 97, 3, 97, 103, 221, 211, 248, + 97, 259, 296, 211, 211, 211, 97, 97, 97, 97, + 97, 97, 97, 466, 469, 97, 97, 99, 99, 357, + 362, 220, 352, 350, 262, 99, 103, 99, 67, 99, + 503, 504, 97, 97, 97, 221, 97, 73, 123, 139, + 152, 154, 155, 208, 3, 379, 330, 247, 289, 115, + 114, 381, 381, 399, 263, 266, 231, 351, 324, 453, + 97, 208, 151, 153, 97, 372, 381, 254, 97, 297, + 382, 383, 467, 470, 358, 363, 264, 353, 325, 208, + 156, 99, 154, 114, 390, 380, 331, 98, 115, 36, + 384, 387, 39, 401, 401, 263, 56, 404, 103, 117, + 454, 100, 391, 392, 373, 401, 101, 298, 388, 115, + 385, 402, 359, 405, 364, 265, 60, 457, 3, 493, + 495, 115, 36, 37, 38, 393, 396, 400, 401, 1, + 29, 30, 301, 303, 307, 309, 399, 103, 114, 401, + 114, 63, 407, 266, 208, 101, 494, 115, 394, 397, + 374, 306, 311, 310, 299, 302, 304, 308, 389, 386, + 403, 406, 408, 157, 103, 103, 399, 40, 410, 97, + 221, 102, 99, 303, 241, 309, 262, 387, 205, 205, + 114, 212, 495, 395, 398, 411, 312, 253, 313, 115, + 115, 409, 396, 262, 114, 102, 314, 305, 205, 412, + 262, 97, 115, 76, 413, 414, 115, 103, 415, 76 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int16 yyr1[] = { - 0, 117, 118, 119, 119, 120, 120, 121, 121, 121, - 123, 122, 124, 122, 125, 122, 126, 122, 127, 122, - 128, 122, 129, 122, 130, 122, 131, 122, 132, 122, - 133, 122, 134, 122, 135, 122, 136, 122, 137, 122, - 139, 138, 141, 142, 143, 140, 144, 146, 147, 148, - 149, 150, 145, 151, 152, 152, 153, 153, 155, 156, - 154, 158, 159, 157, 160, 160, 162, 163, 164, 161, - 166, 165, 167, 167, 167, 169, 168, 168, 170, 170, - 170, 170, 171, 171, 173, 174, 175, 172, 177, 178, - 179, 176, 181, 180, 183, 182, 184, 184, 185, 185, - 186, 186, 187, 188, 188, 188, 189, 189, 190, 189, - 191, 191, 192, 193, 193, 194, 194, 196, 195, 197, - 195, 198, 195, 199, 195, 200, 195, 201, 195, 202, - 195, 203, 195, 204, 206, 205, 205, 207, 208, 207, - 209, 207, 210, 211, 212, 212, 212, 214, 215, 216, - 217, 213, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 219, 220, 221, 221, 222, 222, 223, 223, 224, - 224, 224, 225, 225, 225, 226, 226, 226, 226, 227, - 227, 227, 227, 228, 228, 228, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 230, 232, 231, 233, - 233, 234, 234, 234, 235, 234, 236, 236, 237, 238, - 238, 239, 240, 240, 242, 241, 243, 243, 244, 244, - 245, 246, 246, 247, 249, 248, 248, 248, 248, 248, - 248, 251, 250, 252, 252, 253, 253, 253, 254, 254, - 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, - 256, 256, 256, 257, 257, 258, 260, 259, 259, 261, - 261, 262, 264, 263, 263, 265, 266, 267, 267, 268, - 268, 268, 268, 268, 268, 268, 269, 269, 269, 269, - 269, 269, 269, 270, 270, 270, 271, 272, 272, 273, - 274, 275, 276, 278, 277, 280, 281, 282, 279, 283, - 284, 284, 285, 287, 288, 286, 289, 286, 291, 290, - 293, 294, 295, 296, 297, 298, 292, 299, 299, 299, - 299, 299, 299, 300, 301, 301, 303, 304, 302, 305, - 302, 306, 307, 307, 309, 308, 310, 311, 308, 313, - 312, 314, 315, 317, 318, 319, 320, 316, 321, 323, - 322, 322, 324, 326, 327, 325, 325, 329, 330, 328, - 331, 333, 334, 332, 332, 335, 337, 338, 336, 336, - 339, 341, 340, 342, 343, 343, 345, 346, 344, 347, - 347, 349, 350, 351, 352, 348, 354, 355, 356, 357, - 353, 359, 360, 361, 362, 358, 364, 365, 366, 367, - 363, 368, 368, 368, 369, 369, 371, 372, 373, 370, - 375, 374, 376, 374, 377, 379, 378, 378, 381, 382, - 380, 384, 383, 385, 383, 386, 388, 387, 387, 390, - 391, 389, 392, 392, 392, 392, 393, 393, 393, 395, - 396, 394, 394, 398, 399, 397, 397, 401, 402, 400, - 400, 404, 405, 403, 403, 406, 408, 407, 407, 409, - 410, 411, 411, 412, 414, 415, 416, 413, 418, 419, - 417, 421, 420, 420, 422, 422, 422, 424, 423, 425, - 423, 426, 423, 427, 423, 428, 423, 429, 423, 430, - 423, 431, 432, 432, 433, 434, 435, 435, 436, 437, - 438, 440, 439, 442, 443, 444, 445, 446, 447, 441, - 449, 448, 448, 450, 450, 452, 453, 451, 454, 454, - 455, 456, 455, 457, 455, 459, 460, 458, 462, 463, - 461, 464, 464, 464, 465, 465, 466, 467, 469, 470, - 471, 468, 472, 473, 474, 476, 475, 478, 479, 480, - 477, 481, 481, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 483, 484, 484, 485, 485, 486, 487, - 487, 488, 490, 491, 492, 493, 489, 494, 494, 495, - 495, 496, 496, 497, 496, 498, 498, 499, 500, 500, - 501, 502, 504, 505, 503, 507, 508, 506, 509, 509, - 511, 510, 512, 510, 513, 510, 514, 510 + 0, 118, 119, 120, 120, 121, 121, 122, 122, 122, + 124, 123, 125, 123, 126, 123, 127, 123, 128, 123, + 129, 123, 130, 123, 131, 123, 132, 123, 133, 123, + 134, 123, 135, 123, 136, 123, 137, 123, 138, 123, + 140, 139, 142, 143, 144, 141, 145, 147, 148, 149, + 150, 151, 146, 152, 153, 153, 154, 154, 156, 157, + 155, 159, 160, 158, 161, 161, 163, 164, 165, 162, + 167, 166, 168, 168, 168, 170, 169, 169, 171, 171, + 171, 171, 172, 172, 174, 175, 176, 173, 178, 179, + 180, 177, 182, 181, 184, 183, 185, 185, 186, 186, + 187, 187, 188, 189, 189, 189, 190, 190, 191, 190, + 192, 192, 193, 194, 194, 195, 195, 197, 196, 198, + 196, 199, 196, 200, 196, 201, 196, 202, 196, 203, + 196, 204, 196, 205, 207, 206, 206, 208, 209, 208, + 210, 208, 211, 212, 213, 213, 213, 215, 216, 217, + 218, 214, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 220, 221, 222, 222, 223, 223, 224, 224, 225, + 225, 225, 226, 226, 226, 227, 227, 227, 227, 228, + 228, 228, 228, 229, 229, 229, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 231, 233, 232, 234, + 234, 235, 235, 235, 236, 235, 237, 237, 238, 239, + 239, 240, 241, 241, 243, 242, 244, 244, 245, 245, + 246, 247, 247, 248, 250, 249, 249, 249, 249, 249, + 249, 252, 251, 253, 253, 254, 254, 254, 255, 255, + 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, + 256, 257, 257, 257, 258, 258, 259, 261, 260, 260, + 262, 262, 263, 265, 264, 264, 266, 267, 268, 268, + 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, + 270, 270, 270, 270, 271, 271, 271, 272, 273, 273, + 274, 275, 276, 277, 279, 278, 281, 282, 283, 280, + 284, 285, 285, 286, 288, 289, 287, 290, 287, 292, + 291, 294, 295, 296, 297, 298, 299, 293, 300, 300, + 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, + 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, + 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, + 324, 323, 323, 325, 327, 328, 329, 330, 331, 326, + 333, 334, 332, 332, 336, 337, 335, 338, 340, 341, + 339, 339, 342, 344, 345, 343, 343, 346, 348, 347, + 349, 350, 350, 352, 353, 351, 354, 354, 356, 357, + 358, 359, 355, 361, 362, 363, 364, 360, 366, 367, + 368, 369, 365, 371, 372, 373, 374, 370, 375, 375, + 375, 376, 376, 378, 379, 380, 377, 382, 381, 383, + 381, 384, 386, 385, 385, 388, 389, 387, 391, 390, + 392, 390, 393, 395, 394, 394, 397, 398, 396, 399, + 399, 399, 399, 400, 400, 400, 402, 403, 401, 401, + 405, 406, 404, 404, 408, 409, 407, 407, 411, 412, + 410, 410, 413, 415, 414, 414, 416, 417, 418, 418, + 419, 421, 422, 423, 420, 425, 426, 424, 428, 427, + 427, 429, 429, 429, 431, 430, 432, 430, 433, 430, + 434, 430, 435, 430, 436, 430, 437, 430, 438, 439, + 439, 440, 441, 442, 442, 443, 444, 445, 447, 446, + 449, 450, 451, 452, 453, 454, 448, 456, 455, 455, + 457, 457, 459, 460, 458, 461, 461, 462, 463, 462, + 464, 462, 466, 467, 465, 469, 470, 468, 471, 471, + 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, + 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, + 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, + 490, 491, 491, 492, 492, 493, 494, 494, 495, 497, + 498, 499, 500, 496, 501, 501, 502, 502, 503, 503, + 504, 503, 505, 505, 506, 507, 507, 508, 509, 511, + 512, 510, 514, 515, 513, 516, 516, 518, 517, 519, + 517, 520, 517, 521, 517 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2219,42 +2246,43 @@ static const yytype_int8 yyr2[] = 2, 3, 0, 3, 0, 3, 1, 1, 1, 2, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 0, 4, 0, 1, - 1, 2, 0, 4, 0, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 2, 3, 2, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 3, 0, 0, 0, 7, 2, - 2, 0, 2, 0, 0, 5, 0, 3, 0, 3, - 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, - 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, - 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, - 3, 1, 1, 0, 0, 0, 0, 9, 2, 0, - 4, 0, 2, 0, 0, 6, 2, 0, 0, 6, - 6, 0, 0, 6, 1, 1, 0, 0, 6, 1, - 1, 0, 4, 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, 3, 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, 1, 2, 2, 3, 0, 2, 5, 2, 3, - 0, 1, 0, 0, 0, 0, 9, 3, 2, 1, - 0, 2, 2, 0, 3, 3, 3, 3, 4, 0, - 1, 2, 0, 0, 6, 0, 0, 5, 2, 0, - 0, 3, 0, 3, 0, 3, 0, 3 + 1, 1, 1, 1, 1, 1, 2, 0, 4, 0, + 1, 1, 2, 0, 4, 0, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 2, 3, 2, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 3, 0, 0, 0, 7, + 2, 2, 0, 2, 0, 0, 5, 0, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 15, 1, 1, + 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, + 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, + 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, + 0, 4, 0, 2, 0, 0, 0, 0, 0, 11, + 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, + 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, + 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, 3, 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, 1, 2, + 2, 3, 0, 2, 5, 2, 3, 0, 1, 0, + 0, 0, 0, 9, 3, 2, 1, 0, 2, 2, + 0, 3, 3, 3, 3, 4, 0, 1, 2, 0, + 0, 6, 0, 0, 5, 2, 0, 0, 3, 0, + 3, 0, 3, 0, 3 }; @@ -2722,7 +2750,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 427 "fe/idl.ypp" +#line 429 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2737,269 +2765,269 @@ yyparse (void) } delete annotations; } -#line 2741 "fe/idl.tab.cpp" +#line 2769 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 452 "fe/idl.ypp" +#line 454 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2749 "fe/idl.tab.cpp" +#line 2777 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 456 "fe/idl.ypp" +#line 458 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2757 "fe/idl.tab.cpp" +#line 2785 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 460 "fe/idl.ypp" +#line 462 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2765 "fe/idl.tab.cpp" +#line 2793 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 464 "fe/idl.ypp" +#line 466 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2773 "fe/idl.tab.cpp" +#line 2801 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 468 "fe/idl.ypp" +#line 470 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2781 "fe/idl.tab.cpp" +#line 2809 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 472 "fe/idl.ypp" +#line 474 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2789 "fe/idl.tab.cpp" +#line 2817 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 476 "fe/idl.ypp" +#line 478 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2797 "fe/idl.tab.cpp" +#line 2825 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 480 "fe/idl.ypp" +#line 482 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2805 "fe/idl.tab.cpp" +#line 2833 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 484 "fe/idl.ypp" +#line 486 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2813 "fe/idl.tab.cpp" +#line 2841 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 488 "fe/idl.ypp" +#line 490 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2821 "fe/idl.tab.cpp" +#line 2849 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 492 "fe/idl.ypp" +#line 494 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2829 "fe/idl.tab.cpp" +#line 2857 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 496 "fe/idl.ypp" +#line 498 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2837 "fe/idl.tab.cpp" +#line 2865 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 500 "fe/idl.ypp" +#line 502 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2845 "fe/idl.tab.cpp" +#line 2873 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 504 "fe/idl.ypp" +#line 506 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2853 "fe/idl.tab.cpp" +#line 2881 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 508 "fe/idl.ypp" +#line 510 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2861 "fe/idl.tab.cpp" +#line 2889 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 512 "fe/idl.ypp" +#line 514 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2869 "fe/idl.tab.cpp" +#line 2897 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 516 "fe/idl.ypp" +#line 518 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2877 "fe/idl.tab.cpp" +#line 2905 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 520 "fe/idl.ypp" +#line 522 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2885 "fe/idl.tab.cpp" +#line 2913 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 524 "fe/idl.ypp" +#line 526 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2893 "fe/idl.tab.cpp" +#line 2921 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 528 "fe/idl.ypp" +#line 530 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2901 "fe/idl.tab.cpp" +#line 2929 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 532 "fe/idl.ypp" +#line 534 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2909 "fe/idl.tab.cpp" +#line 2937 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 536 "fe/idl.ypp" +#line 538 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2917 "fe/idl.tab.cpp" +#line 2945 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 540 "fe/idl.ypp" +#line 542 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2925 "fe/idl.tab.cpp" +#line 2953 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 544 "fe/idl.ypp" +#line 546 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2933 "fe/idl.tab.cpp" +#line 2961 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 548 "fe/idl.ypp" +#line 550 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2941 "fe/idl.tab.cpp" +#line 2969 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 552 "fe/idl.ypp" +#line 554 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2949 "fe/idl.tab.cpp" +#line 2977 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 556 "fe/idl.ypp" +#line 558 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2957 "fe/idl.tab.cpp" +#line 2985 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 560 "fe/idl.ypp" +#line 562 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2965 "fe/idl.tab.cpp" +#line 2993 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 564 "fe/idl.ypp" +#line 566 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2973 "fe/idl.tab.cpp" +#line 3001 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 568 "fe/idl.ypp" +#line 570 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 2983 "fe/idl.tab.cpp" +#line 3011 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 577 "fe/idl.ypp" +#line 579 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2991 "fe/idl.tab.cpp" +#line 3019 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 581 "fe/idl.ypp" +#line 583 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 2999 "fe/idl.tab.cpp" +#line 3027 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 588 "fe/idl.ypp" +#line 590 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3038,27 +3066,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3042 "fe/idl.tab.cpp" +#line 3070 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 627 "fe/idl.ypp" +#line 629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3050 "fe/idl.tab.cpp" +#line 3078 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 631 "fe/idl.ypp" +#line 633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3058 "fe/idl.tab.cpp" +#line 3086 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 635 "fe/idl.ypp" +#line 637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3068,19 +3096,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3072 "fe/idl.tab.cpp" +#line 3100 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 648 "fe/idl.ypp" +#line 650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3080 "fe/idl.tab.cpp" +#line 3108 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 655 "fe/idl.ypp" +#line 657 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3094,11 +3122,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3098 "fe/idl.tab.cpp" +#line 3126 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 669 "fe/idl.ypp" +#line 671 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3108,11 +3136,11 @@ yyparse (void) return 1; } } -#line 3112 "fe/idl.tab.cpp" +#line 3140 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 679 "fe/idl.ypp" +#line 681 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3142,27 +3170,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3146 "fe/idl.tab.cpp" +#line 3174 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 709 "fe/idl.ypp" +#line 711 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3154 "fe/idl.tab.cpp" +#line 3182 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 713 "fe/idl.ypp" +#line 715 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3162 "fe/idl.tab.cpp" +#line 3190 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 717 "fe/idl.ypp" +#line 719 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3181,29 +3209,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3185 "fe/idl.tab.cpp" +#line 3213 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 753 "fe/idl.ypp" +#line 755 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3194 "fe/idl.tab.cpp" +#line 3222 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 758 "fe/idl.ypp" +#line 760 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3203 "fe/idl.tab.cpp" +#line 3231 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 763 "fe/idl.ypp" +#line 765 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3281,29 +3309,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3285 "fe/idl.tab.cpp" +#line 3313 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 844 "fe/idl.ypp" +#line 846 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3294 "fe/idl.tab.cpp" +#line 3322 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 849 "fe/idl.ypp" +#line 851 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3303 "fe/idl.tab.cpp" +#line 3331 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 854 "fe/idl.ypp" +#line 856 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3367,11 +3395,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3371 "fe/idl.tab.cpp" +#line 3399 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 926 "fe/idl.ypp" +#line 928 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3409,27 +3437,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3413 "fe/idl.tab.cpp" +#line 3441 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 964 "fe/idl.ypp" +#line 966 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3421 "fe/idl.tab.cpp" +#line 3449 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 968 "fe/idl.ypp" +#line 970 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3429 "fe/idl.tab.cpp" +#line 3457 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 972 "fe/idl.ypp" +#line 974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3439,28 +3467,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3443 "fe/idl.tab.cpp" +#line 3471 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 985 "fe/idl.ypp" +#line 987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3451 "fe/idl.tab.cpp" +#line 3479 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 989 "fe/idl.ypp" +#line 991 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3460 "fe/idl.tab.cpp" +#line 3488 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 997 "fe/idl.ypp" +#line 999 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3496,11 +3524,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3500 "fe/idl.tab.cpp" +#line 3528 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1034 "fe/idl.ypp" +#line 1036 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3529,11 +3557,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3533 "fe/idl.tab.cpp" +#line 3561 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1064 "fe/idl.ypp" +#line 1066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3562,45 +3590,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3566 "fe/idl.tab.cpp" +#line 3594 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1096 "fe/idl.ypp" +#line 1098 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3574 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1100 "fe/idl.ypp" +#line 1102 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3583 "fe/idl.tab.cpp" +#line 3611 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1105 "fe/idl.ypp" +#line 1107 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3591 "fe/idl.tab.cpp" +#line 3619 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1119 "fe/idl.ypp" +#line 1121 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3600 "fe/idl.tab.cpp" +#line 3628 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1128 "fe/idl.ypp" +#line 1130 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3647,27 +3675,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3651 "fe/idl.tab.cpp" +#line 3679 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1175 "fe/idl.ypp" +#line 1177 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3659 "fe/idl.tab.cpp" +#line 3687 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1179 "fe/idl.ypp" +#line 1181 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3667 "fe/idl.tab.cpp" +#line 3695 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1183 "fe/idl.ypp" +#line 1185 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3688,11 +3716,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3692 "fe/idl.tab.cpp" +#line 3720 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1208 "fe/idl.ypp" +#line 1210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3735,27 +3763,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3739 "fe/idl.tab.cpp" +#line 3767 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1251 "fe/idl.ypp" +#line 1253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3747 "fe/idl.tab.cpp" +#line 3775 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1255 "fe/idl.ypp" +#line 1257 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3755 "fe/idl.tab.cpp" +#line 3783 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1259 "fe/idl.ypp" +#line 1261 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3766,19 +3794,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3770 "fe/idl.tab.cpp" +#line 3798 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1274 "fe/idl.ypp" +#line 1276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3778 "fe/idl.tab.cpp" +#line 3806 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1278 "fe/idl.ypp" +#line 1280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3809,60 +3837,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3813 "fe/idl.tab.cpp" +#line 3841 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1312 "fe/idl.ypp" +#line 1314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3821 "fe/idl.tab.cpp" +#line 3849 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1316 "fe/idl.ypp" +#line 1318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3830 "fe/idl.tab.cpp" +#line 3858 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1324 "fe/idl.ypp" +#line 1326 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3838 "fe/idl.tab.cpp" +#line 3866 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1328 "fe/idl.ypp" +#line 1330 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3846 "fe/idl.tab.cpp" +#line 3874 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1336 "fe/idl.ypp" +#line 1338 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3854 "fe/idl.tab.cpp" +#line 3882 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1340 "fe/idl.ypp" +#line 1342 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3862 "fe/idl.tab.cpp" +#line 3890 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1348 "fe/idl.ypp" +#line 1350 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3885,11 +3913,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3889 "fe/idl.tab.cpp" +#line 3917 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1372 "fe/idl.ypp" +#line 1374 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3914,11 +3942,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3918 "fe/idl.tab.cpp" +#line 3946 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1400 "fe/idl.ypp" +#line 1402 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -3981,11 +4009,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3985 "fe/idl.tab.cpp" +#line 4013 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1466 "fe/idl.ypp" +#line 1468 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4004,19 +4032,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4008 "fe/idl.tab.cpp" +#line 4036 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1485 "fe/idl.ypp" +#line 1487 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4016 "fe/idl.tab.cpp" +#line 4044 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1494 "fe/idl.ypp" +#line 1496 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4027,11 +4055,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4031 "fe/idl.tab.cpp" +#line 4059 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1505 "fe/idl.ypp" +#line 1507 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4042,35 +4070,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4046 "fe/idl.tab.cpp" +#line 4074 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1516 "fe/idl.ypp" +#line 1518 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4054 "fe/idl.tab.cpp" +#line 4082 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1523 "fe/idl.ypp" +#line 1525 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4062 "fe/idl.tab.cpp" +#line 4090 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1527 "fe/idl.ypp" +#line 1529 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4070 "fe/idl.tab.cpp" +#line 4098 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1534 "fe/idl.ypp" +#line 1536 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4088,11 +4116,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4092 "fe/idl.tab.cpp" +#line 4120 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1560 "fe/idl.ypp" +#line 1562 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4107,160 +4135,160 @@ yyparse (void) } delete annotations; } -#line 4111 "fe/idl.tab.cpp" +#line 4139 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1579 "fe/idl.ypp" +#line 1581 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4119 "fe/idl.tab.cpp" +#line 4147 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1583 "fe/idl.ypp" +#line 1585 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4127 "fe/idl.tab.cpp" +#line 4155 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1587 "fe/idl.ypp" +#line 1589 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4135 "fe/idl.tab.cpp" +#line 4163 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1591 "fe/idl.ypp" +#line 1593 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4143 "fe/idl.tab.cpp" +#line 4171 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1595 "fe/idl.ypp" +#line 1597 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4151 "fe/idl.tab.cpp" +#line 4179 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1599 "fe/idl.ypp" +#line 1601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4159 "fe/idl.tab.cpp" +#line 4187 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1603 "fe/idl.ypp" +#line 1605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4167 "fe/idl.tab.cpp" +#line 4195 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1607 "fe/idl.ypp" +#line 1609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4175 "fe/idl.tab.cpp" +#line 4203 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1611 "fe/idl.ypp" +#line 1613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4183 "fe/idl.tab.cpp" +#line 4211 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1615 "fe/idl.ypp" +#line 1617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4191 "fe/idl.tab.cpp" +#line 4219 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1619 "fe/idl.ypp" +#line 1621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4199 "fe/idl.tab.cpp" +#line 4227 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1623 "fe/idl.ypp" +#line 1625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4207 "fe/idl.tab.cpp" +#line 4235 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1627 "fe/idl.ypp" +#line 1629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4215 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1631 "fe/idl.ypp" +#line 1633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4223 "fe/idl.tab.cpp" +#line 4251 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1635 "fe/idl.ypp" +#line 1637 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4231 "fe/idl.tab.cpp" +#line 4259 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1639 "fe/idl.ypp" +#line 1641 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4241 "fe/idl.tab.cpp" +#line 4269 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1648 "fe/idl.ypp" +#line 1650 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4252 "fe/idl.tab.cpp" +#line 4280 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1659 "fe/idl.ypp" +#line 1661 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4260 "fe/idl.tab.cpp" +#line 4288 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1663 "fe/idl.ypp" +#line 1665 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4280,19 +4308,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4284 "fe/idl.tab.cpp" +#line 4312 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1683 "fe/idl.ypp" +#line 1685 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4292 "fe/idl.tab.cpp" +#line 4320 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1690 "fe/idl.ypp" +#line 1692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4301,19 +4329,19 @@ yyparse (void) 0), 1); } -#line 4305 "fe/idl.tab.cpp" +#line 4333 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1699 "fe/idl.ypp" +#line 1701 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4313 "fe/idl.tab.cpp" +#line 4341 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1703 "fe/idl.ypp" +#line 1705 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4333,11 +4361,11 @@ yyparse (void) sn), 1); } -#line 4337 "fe/idl.tab.cpp" +#line 4365 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1724 "fe/idl.ypp" +#line 1726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4347,11 +4375,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4351 "fe/idl.tab.cpp" +#line 4379 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1734 "fe/idl.ypp" +#line 1736 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4363,11 +4391,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4367 "fe/idl.tab.cpp" +#line 4395 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1748 "fe/idl.ypp" +#line 1750 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4375,11 +4403,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4379 "fe/idl.tab.cpp" +#line 4407 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1758 "fe/idl.ypp" +#line 1760 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4387,11 +4415,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4391 "fe/idl.tab.cpp" +#line 4419 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1769 "fe/idl.ypp" +#line 1771 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4434,11 +4462,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4438 "fe/idl.tab.cpp" +#line 4466 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1813 "fe/idl.ypp" +#line 1815 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4464,11 +4492,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4468 "fe/idl.tab.cpp" +#line 4496 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1840 "fe/idl.ypp" +#line 1842 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4496,43 +4524,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4500 "fe/idl.tab.cpp" +#line 4528 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1871 "fe/idl.ypp" +#line 1873 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4508 "fe/idl.tab.cpp" +#line 4536 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1875 "fe/idl.ypp" +#line 1877 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4516 "fe/idl.tab.cpp" +#line 4544 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1879 "fe/idl.ypp" +#line 1881 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4524 "fe/idl.tab.cpp" +#line 4552 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1883 "fe/idl.ypp" +#line 1885 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4532 "fe/idl.tab.cpp" +#line 4560 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1887 "fe/idl.ypp" +#line 1889 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4588,27 +4616,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4592 "fe/idl.tab.cpp" +#line 4620 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1952 "fe/idl.ypp" +#line 1954 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4600 "fe/idl.tab.cpp" +#line 4628 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1956 "fe/idl.ypp" +#line 1958 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4608 "fe/idl.tab.cpp" +#line 4636 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1960 "fe/idl.ypp" +#line 1962 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4674,11 +4702,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4678 "fe/idl.tab.cpp" +#line 4706 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2033 "fe/idl.ypp" +#line 2035 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4687,11 +4715,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4691 "fe/idl.tab.cpp" +#line 4719 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2046 "fe/idl.ypp" +#line 2048 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4700,11 +4728,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4704 "fe/idl.tab.cpp" +#line 4732 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2059 "fe/idl.ypp" +#line 2061 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4713,11 +4741,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4717 "fe/idl.tab.cpp" +#line 4745 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2072 "fe/idl.ypp" +#line 2074 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4726,11 +4754,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4730 "fe/idl.tab.cpp" +#line 4758 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2081 "fe/idl.ypp" +#line 2083 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4739,11 +4767,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4743 "fe/idl.tab.cpp" +#line 4771 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2094 "fe/idl.ypp" +#line 2096 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4752,11 +4780,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4756 "fe/idl.tab.cpp" +#line 4784 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2103 "fe/idl.ypp" +#line 2105 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4765,11 +4793,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4769 "fe/idl.tab.cpp" +#line 4797 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2116 "fe/idl.ypp" +#line 2118 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4778,11 +4806,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4782 "fe/idl.tab.cpp" +#line 4810 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2125 "fe/idl.ypp" +#line 2127 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4791,11 +4819,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4795 "fe/idl.tab.cpp" +#line 4823 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2134 "fe/idl.ypp" +#line 2136 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4804,11 +4832,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4808 "fe/idl.tab.cpp" +#line 4836 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2147 "fe/idl.ypp" +#line 2149 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4817,11 +4845,11 @@ yyparse (void) 0 ); } -#line 4821 "fe/idl.tab.cpp" +#line 4849 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2156 "fe/idl.ypp" +#line 2158 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4830,11 +4858,11 @@ yyparse (void) 0 ); } -#line 4834 "fe/idl.tab.cpp" +#line 4862 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2165 "fe/idl.ypp" +#line 2167 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4843,11 +4871,11 @@ yyparse (void) 0 ); } -#line 4847 "fe/idl.tab.cpp" +#line 4875 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2177 "fe/idl.ypp" +#line 2179 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4904,107 +4932,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4908 "fe/idl.tab.cpp" +#line 4936 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2235 "fe/idl.ypp" +#line 2237 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4916 "fe/idl.tab.cpp" +#line 4944 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2242 "fe/idl.ypp" +#line 2244 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4924 "fe/idl.tab.cpp" +#line 4952 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2246 "fe/idl.ypp" +#line 2248 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4933 "fe/idl.tab.cpp" +#line 4961 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2251 "fe/idl.ypp" +#line 2253 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4944 "fe/idl.tab.cpp" +#line 4972 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2258 "fe/idl.ypp" +#line 2260 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4955 "fe/idl.tab.cpp" +#line 4983 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2265 "fe/idl.ypp" +#line 2267 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4963 "fe/idl.tab.cpp" +#line 4991 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2269 "fe/idl.ypp" +#line 2271 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4972 "fe/idl.tab.cpp" +#line 5000 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2274 "fe/idl.ypp" +#line 2276 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4980 "fe/idl.tab.cpp" +#line 5008 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2278 "fe/idl.ypp" +#line 2280 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4988 "fe/idl.tab.cpp" +#line 5016 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2282 "fe/idl.ypp" +#line 2284 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4996 "fe/idl.tab.cpp" +#line 5024 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2286 "fe/idl.ypp" +#line 2288 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5004 "fe/idl.tab.cpp" +#line 5032 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2293 "fe/idl.ypp" +#line 2295 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5069,11 +5097,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5073 "fe/idl.tab.cpp" +#line 5101 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2361 "fe/idl.ypp" +#line 2363 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5090,11 +5118,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5094 "fe/idl.tab.cpp" +#line 5122 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2378 "fe/idl.ypp" +#line 2380 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5103,20 +5131,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5107 "fe/idl.tab.cpp" +#line 5135 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2398 "fe/idl.ypp" +#line 2400 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5116 "fe/idl.tab.cpp" +#line 5144 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2412 "fe/idl.ypp" +#line 2414 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5169,27 +5197,27 @@ yyparse (void) delete result; } } -#line 5173 "fe/idl.tab.cpp" +#line 5201 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2468 "fe/idl.ypp" +#line 2470 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5181 "fe/idl.tab.cpp" +#line 5209 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2472 "fe/idl.ypp" +#line 2474 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5189 "fe/idl.tab.cpp" +#line 5217 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2479 "fe/idl.ypp" +#line 2481 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5199,11 +5227,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5203 "fe/idl.tab.cpp" +#line 5231 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2492 "fe/idl.ypp" +#line 2494 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5213,19 +5241,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5217 "fe/idl.tab.cpp" +#line 5245 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2502 "fe/idl.ypp" +#line 2504 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5225 "fe/idl.tab.cpp" +#line 5253 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2509 "fe/idl.ypp" +#line 2511 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5282,11 +5310,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5286 "fe/idl.tab.cpp" +#line 5314 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2566 "fe/idl.ypp" +#line 2568 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5314,27 +5342,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5318 "fe/idl.tab.cpp" +#line 5346 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2597 "fe/idl.ypp" +#line 2599 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5326 "fe/idl.tab.cpp" +#line 5354 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2601 "fe/idl.ypp" +#line 2603 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5334 "fe/idl.tab.cpp" +#line 5362 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2608 "fe/idl.ypp" +#line 2610 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5343,47 +5371,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5347 "fe/idl.tab.cpp" +#line 5375 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2617 "fe/idl.ypp" +#line 2619 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5355 "fe/idl.tab.cpp" +#line 5383 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2624 "fe/idl.ypp" +#line 2626 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5365 "fe/idl.tab.cpp" +#line 5393 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2632 "fe/idl.ypp" +#line 2634 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5375 "fe/idl.tab.cpp" +#line 5403 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2638 "fe/idl.ypp" +#line 2640 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5383 "fe/idl.tab.cpp" +#line 5411 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2645 "fe/idl.ypp" +#line 2647 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5392,52 +5420,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5396 "fe/idl.tab.cpp" +#line 5424 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2657 "fe/idl.ypp" +#line 2659 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5405 "fe/idl.tab.cpp" +#line 5433 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2662 "fe/idl.ypp" +#line 2664 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5413 "fe/idl.tab.cpp" +#line 5441 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2666 "fe/idl.ypp" +#line 2668 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5421 "fe/idl.tab.cpp" +#line 5449 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2670 "fe/idl.ypp" +#line 2672 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5429 "fe/idl.tab.cpp" +#line 5457 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2674 "fe/idl.ypp" +#line 2676 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5437 "fe/idl.tab.cpp" +#line 5465 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2678 "fe/idl.ypp" +#line 2680 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5465,27 +5493,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5469 "fe/idl.tab.cpp" +#line 5497 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2706 "fe/idl.ypp" +#line 2708 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5477 "fe/idl.tab.cpp" +#line 5505 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2713 "fe/idl.ypp" +#line 2715 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5485 "fe/idl.tab.cpp" +#line 5513 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2717 "fe/idl.ypp" +#line 2719 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5549,22 +5577,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5553 "fe/idl.tab.cpp" +#line 5581 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2789 "fe/idl.ypp" +#line 2791 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5564 "fe/idl.tab.cpp" +#line 5592 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2797 "fe/idl.ypp" +#line 2799 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5587,30 +5615,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5591 "fe/idl.tab.cpp" +#line 5619 "fe/idl.tab.cpp" break; - case 255: /* at_least_one_declarator: declarator declarators */ -#line 2852 "fe/idl.ypp" + case 256: /* at_least_one_declarator: declarator declarators */ +#line 2855 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5602 "fe/idl.tab.cpp" +#line 5630 "fe/idl.tab.cpp" break; - case 256: /* $@63: %empty */ -#line 2863 "fe/idl.ypp" + case 257: /* $@63: %empty */ +#line 2866 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5610 "fe/idl.tab.cpp" +#line 5638 "fe/idl.tab.cpp" break; - case 257: /* declarators: declarators ',' $@63 declarator */ -#line 2867 "fe/idl.ypp" + case 258: /* declarators: declarators ',' $@63 declarator */ +#line 2870 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5630,38 +5658,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5634 "fe/idl.tab.cpp" +#line 5662 "fe/idl.tab.cpp" break; - case 258: /* declarators: %empty */ -#line 2887 "fe/idl.ypp" + case 259: /* declarators: %empty */ +#line 2890 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5642 "fe/idl.tab.cpp" +#line 5670 "fe/idl.tab.cpp" break; - case 261: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2899 "fe/idl.ypp" + case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ +#line 2902 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5653 "fe/idl.tab.cpp" +#line 5681 "fe/idl.tab.cpp" break; - case 262: /* $@64: %empty */ -#line 2910 "fe/idl.ypp" + case 263: /* $@64: %empty */ +#line 2913 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5661 "fe/idl.tab.cpp" +#line 5689 "fe/idl.tab.cpp" break; - case 263: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2914 "fe/idl.ypp" + case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ +#line 2917 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5681,19 +5709,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5685 "fe/idl.tab.cpp" +#line 5713 "fe/idl.tab.cpp" break; - case 264: /* simple_declarators: %empty */ -#line 2934 "fe/idl.ypp" + case 265: /* simple_declarators: %empty */ +#line 2937 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5693 "fe/idl.tab.cpp" +#line 5721 "fe/idl.tab.cpp" break; - case 265: /* simple_declarator: defining_id */ -#line 2941 "fe/idl.ypp" + case 266: /* simple_declarator: defining_id */ +#line 2944 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5706,11 +5734,11 @@ yyparse (void) 0), 1); } -#line 5710 "fe/idl.tab.cpp" +#line 5738 "fe/idl.tab.cpp" break; - case 266: /* complex_declarator: array_declarator */ -#line 2957 "fe/idl.ypp" + case 267: /* complex_declarator: array_declarator */ +#line 2960 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5725,220 +5753,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5729 "fe/idl.tab.cpp" +#line 5757 "fe/idl.tab.cpp" break; - case 269: /* signed_int: IDL_LONG */ -#line 2980 "fe/idl.ypp" + case 270: /* signed_int: IDL_LONG */ +#line 2983 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5737 "fe/idl.tab.cpp" +#line 5765 "fe/idl.tab.cpp" break; - case 270: /* signed_int: IDL_LONG IDL_LONG */ -#line 2984 "fe/idl.ypp" + case 271: /* signed_int: IDL_LONG IDL_LONG */ +#line 2987 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5745 "fe/idl.tab.cpp" +#line 5773 "fe/idl.tab.cpp" break; - case 271: /* signed_int: IDL_SHORT */ -#line 2988 "fe/idl.ypp" + case 272: /* signed_int: IDL_SHORT */ +#line 2991 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5753 "fe/idl.tab.cpp" +#line 5781 "fe/idl.tab.cpp" break; - case 272: /* signed_int: IDL_INT8 */ -#line 2992 "fe/idl.ypp" + case 273: /* signed_int: IDL_INT8 */ +#line 2995 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5761 "fe/idl.tab.cpp" +#line 5789 "fe/idl.tab.cpp" break; - case 273: /* signed_int: IDL_INT16 */ -#line 2996 "fe/idl.ypp" + case 274: /* signed_int: IDL_INT16 */ +#line 2999 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5769 "fe/idl.tab.cpp" +#line 5797 "fe/idl.tab.cpp" break; - case 274: /* signed_int: IDL_INT32 */ -#line 3000 "fe/idl.ypp" + case 275: /* signed_int: IDL_INT32 */ +#line 3003 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5777 "fe/idl.tab.cpp" +#line 5805 "fe/idl.tab.cpp" break; - case 275: /* signed_int: IDL_INT64 */ -#line 3004 "fe/idl.ypp" + case 276: /* signed_int: IDL_INT64 */ +#line 3007 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5785 "fe/idl.tab.cpp" +#line 5813 "fe/idl.tab.cpp" break; - case 276: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3011 "fe/idl.ypp" + case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ +#line 3014 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5793 "fe/idl.tab.cpp" +#line 5821 "fe/idl.tab.cpp" break; - case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3015 "fe/idl.ypp" + case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ +#line 3018 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5801 "fe/idl.tab.cpp" +#line 5829 "fe/idl.tab.cpp" break; - case 278: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3019 "fe/idl.ypp" + case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ +#line 3022 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5809 "fe/idl.tab.cpp" +#line 5837 "fe/idl.tab.cpp" break; - case 279: /* unsigned_int: IDL_UINT8 */ -#line 3023 "fe/idl.ypp" + case 280: /* unsigned_int: IDL_UINT8 */ +#line 3026 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5817 "fe/idl.tab.cpp" +#line 5845 "fe/idl.tab.cpp" break; - case 280: /* unsigned_int: IDL_UINT16 */ -#line 3027 "fe/idl.ypp" + case 281: /* unsigned_int: IDL_UINT16 */ +#line 3030 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5825 "fe/idl.tab.cpp" +#line 5853 "fe/idl.tab.cpp" break; - case 281: /* unsigned_int: IDL_UINT32 */ -#line 3031 "fe/idl.ypp" + case 282: /* unsigned_int: IDL_UINT32 */ +#line 3034 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5833 "fe/idl.tab.cpp" +#line 5861 "fe/idl.tab.cpp" break; - case 282: /* unsigned_int: IDL_UINT64 */ -#line 3035 "fe/idl.ypp" + case 283: /* unsigned_int: IDL_UINT64 */ +#line 3038 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5841 "fe/idl.tab.cpp" +#line 5869 "fe/idl.tab.cpp" break; - case 283: /* floating_pt_type: IDL_DOUBLE */ -#line 3042 "fe/idl.ypp" + case 284: /* floating_pt_type: IDL_DOUBLE */ +#line 3045 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5849 "fe/idl.tab.cpp" +#line 5877 "fe/idl.tab.cpp" break; - case 284: /* floating_pt_type: IDL_FLOAT */ -#line 3046 "fe/idl.ypp" + case 285: /* floating_pt_type: IDL_FLOAT */ +#line 3049 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5857 "fe/idl.tab.cpp" +#line 5885 "fe/idl.tab.cpp" break; - case 285: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3050 "fe/idl.ypp" + case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ +#line 3053 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5865 "fe/idl.tab.cpp" +#line 5893 "fe/idl.tab.cpp" break; - case 286: /* fixed_type: IDL_FIXED */ -#line 3057 "fe/idl.ypp" + case 287: /* fixed_type: IDL_FIXED */ +#line 3060 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5873 "fe/idl.tab.cpp" +#line 5901 "fe/idl.tab.cpp" break; - case 287: /* char_type: IDL_CHAR */ -#line 3064 "fe/idl.ypp" + case 288: /* char_type: IDL_CHAR */ +#line 3067 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5881 "fe/idl.tab.cpp" +#line 5909 "fe/idl.tab.cpp" break; - case 288: /* char_type: IDL_WCHAR */ -#line 3068 "fe/idl.ypp" + case 289: /* char_type: IDL_WCHAR */ +#line 3071 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5889 "fe/idl.tab.cpp" +#line 5917 "fe/idl.tab.cpp" break; - case 289: /* octet_type: IDL_OCTET */ -#line 3075 "fe/idl.ypp" + case 290: /* octet_type: IDL_OCTET */ +#line 3078 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5897 "fe/idl.tab.cpp" +#line 5925 "fe/idl.tab.cpp" break; - case 290: /* boolean_type: IDL_BOOLEAN */ -#line 3082 "fe/idl.ypp" + case 291: /* boolean_type: IDL_BOOLEAN */ +#line 3085 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5905 "fe/idl.tab.cpp" +#line 5933 "fe/idl.tab.cpp" break; - case 291: /* any_type: IDL_ANY */ -#line 3089 "fe/idl.ypp" + case 292: /* any_type: IDL_ANY */ +#line 3092 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5913 "fe/idl.tab.cpp" +#line 5941 "fe/idl.tab.cpp" break; - case 292: /* object_type: IDL_OBJECT */ -#line 3096 "fe/idl.ypp" + case 293: /* object_type: IDL_OBJECT */ +#line 3099 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5921 "fe/idl.tab.cpp" +#line 5949 "fe/idl.tab.cpp" break; - case 293: /* $@65: %empty */ -#line 3103 "fe/idl.ypp" + case 294: /* $@65: %empty */ +#line 3106 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5929 "fe/idl.tab.cpp" +#line 5957 "fe/idl.tab.cpp" break; - case 294: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3107 "fe/idl.ypp" + case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ +#line 3110 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5938 "fe/idl.tab.cpp" +#line 5966 "fe/idl.tab.cpp" break; - case 295: /* $@66: %empty */ -#line 3116 "fe/idl.ypp" + case 296: /* $@66: %empty */ +#line 3119 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5969,27 +5997,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5973 "fe/idl.tab.cpp" +#line 6001 "fe/idl.tab.cpp" break; - case 296: /* $@67: %empty */ -#line 3147 "fe/idl.ypp" + case 297: /* $@67: %empty */ +#line 3150 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5981 "fe/idl.tab.cpp" +#line 6009 "fe/idl.tab.cpp" break; - case 297: /* $@68: %empty */ -#line 3151 "fe/idl.ypp" + case 298: /* $@68: %empty */ +#line 3154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5989 "fe/idl.tab.cpp" +#line 6017 "fe/idl.tab.cpp" break; - case 298: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3155 "fe/idl.ypp" + case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ +#line 3158 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6001,11 +6029,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6005 "fe/idl.tab.cpp" +#line 6033 "fe/idl.tab.cpp" break; - case 302: /* member: annotations_maybe member_i */ -#line 3177 "fe/idl.ypp" + case 303: /* member: annotations_maybe member_i */ +#line 3180 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6019,27 +6047,27 @@ yyparse (void) delete annotations; delete members; } -#line 6023 "fe/idl.tab.cpp" +#line 6051 "fe/idl.tab.cpp" break; - case 303: /* $@69: %empty */ -#line 3194 "fe/idl.ypp" + case 304: /* $@69: %empty */ +#line 3197 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6031 "fe/idl.tab.cpp" +#line 6059 "fe/idl.tab.cpp" break; - case 304: /* $@70: %empty */ -#line 3198 "fe/idl.ypp" + case 305: /* $@70: %empty */ +#line 3201 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6039 "fe/idl.tab.cpp" +#line 6067 "fe/idl.tab.cpp" break; - case 305: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3202 "fe/idl.ypp" + case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ +#line 3205 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6093,53 +6121,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6097 "fe/idl.tab.cpp" +#line 6125 "fe/idl.tab.cpp" break; - case 306: /* $@71: %empty */ -#line 3256 "fe/idl.ypp" + case 307: /* $@71: %empty */ +#line 3259 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6105 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; - case 307: /* member_i: error $@71 ';' */ -#line 3260 "fe/idl.ypp" + case 308: /* member_i: error $@71 ';' */ +#line 3263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6114 "fe/idl.tab.cpp" +#line 6142 "fe/idl.tab.cpp" break; - case 308: /* $@72: %empty */ -#line 3268 "fe/idl.ypp" + case 309: /* $@72: %empty */ +#line 3271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6122 "fe/idl.tab.cpp" +#line 6150 "fe/idl.tab.cpp" break; - case 309: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3272 "fe/idl.ypp" + case 310: /* union_decl: IDL_UNION $@72 defining_id */ +#line 3275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6131 "fe/idl.tab.cpp" +#line 6159 "fe/idl.tab.cpp" break; - case 310: /* $@73: %empty */ -#line 3280 "fe/idl.ypp" + case 311: /* $@73: %empty */ +#line 3283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6139 "fe/idl.tab.cpp" +#line 6167 "fe/idl.tab.cpp" break; - case 311: /* $@74: %empty */ -#line 3284 "fe/idl.ypp" + case 312: /* $@74: %empty */ +#line 3287 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6172,19 +6200,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6176 "fe/idl.tab.cpp" +#line 6204 "fe/idl.tab.cpp" break; - case 312: /* $@75: %empty */ -#line 3317 "fe/idl.ypp" + case 313: /* $@75: %empty */ +#line 3320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6184 "fe/idl.tab.cpp" +#line 6212 "fe/idl.tab.cpp" break; - case 313: /* $@76: %empty */ -#line 3321 "fe/idl.ypp" + case 314: /* $@76: %empty */ +#line 3324 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6243,27 +6271,27 @@ yyparse (void) delete disc_annotations; } -#line 6247 "fe/idl.tab.cpp" +#line 6275 "fe/idl.tab.cpp" break; - case 314: /* $@77: %empty */ -#line 3380 "fe/idl.ypp" + case 315: /* $@77: %empty */ +#line 3383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6255 "fe/idl.tab.cpp" +#line 6283 "fe/idl.tab.cpp" break; - case 315: /* $@78: %empty */ -#line 3384 "fe/idl.ypp" + case 316: /* $@78: %empty */ +#line 3387 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6263 "fe/idl.tab.cpp" +#line 6291 "fe/idl.tab.cpp" break; - case 316: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3388 "fe/idl.ypp" + case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ +#line 3391 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6279,22 +6307,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6283 "fe/idl.tab.cpp" +#line 6311 "fe/idl.tab.cpp" break; - case 317: /* switch_type_spec: integer_type */ -#line 3407 "fe/idl.ypp" + case 318: /* switch_type_spec: integer_type */ +#line 3410 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6294 "fe/idl.tab.cpp" +#line 6322 "fe/idl.tab.cpp" break; - case 318: /* switch_type_spec: char_type */ -#line 3414 "fe/idl.ypp" + case 319: /* switch_type_spec: char_type */ +#line 3417 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6307,11 +6335,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6311 "fe/idl.tab.cpp" +#line 6339 "fe/idl.tab.cpp" break; - case 319: /* switch_type_spec: octet_type */ -#line 3427 "fe/idl.ypp" + case 320: /* switch_type_spec: octet_type */ +#line 3430 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6320,22 +6348,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6324 "fe/idl.tab.cpp" +#line 6352 "fe/idl.tab.cpp" break; - case 320: /* switch_type_spec: boolean_type */ -#line 3436 "fe/idl.ypp" + case 321: /* switch_type_spec: boolean_type */ +#line 3439 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6335 "fe/idl.tab.cpp" +#line 6363 "fe/idl.tab.cpp" break; - case 322: /* switch_type_spec: scoped_name */ -#line 3444 "fe/idl.ypp" + case 323: /* switch_type_spec: scoped_name */ +#line 3447 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6442,27 +6470,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6446 "fe/idl.tab.cpp" +#line 6474 "fe/idl.tab.cpp" break; - case 326: /* $@79: %empty */ -#line 3561 "fe/idl.ypp" + case 327: /* $@79: %empty */ +#line 3564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6454 "fe/idl.tab.cpp" +#line 6482 "fe/idl.tab.cpp" break; - case 327: /* $@80: %empty */ -#line 3565 "fe/idl.ypp" + case 328: /* $@80: %empty */ +#line 3568 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6462 "fe/idl.tab.cpp" +#line 6490 "fe/idl.tab.cpp" break; - case 328: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3569 "fe/idl.ypp" + case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ +#line 3572 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6494,39 +6522,39 @@ yyparse (void) delete annotations; } -#line 6498 "fe/idl.tab.cpp" +#line 6526 "fe/idl.tab.cpp" break; - case 329: /* $@81: %empty */ -#line 3601 "fe/idl.ypp" + case 330: /* $@81: %empty */ +#line 3604 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6506 "fe/idl.tab.cpp" +#line 6534 "fe/idl.tab.cpp" break; - case 330: /* case_branch: error $@81 ';' */ -#line 3605 "fe/idl.ypp" + case 331: /* case_branch: error $@81 ';' */ +#line 3608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6515 "fe/idl.tab.cpp" +#line 6543 "fe/idl.tab.cpp" break; - case 331: /* at_least_one_case_label: case_label case_labels */ -#line 3613 "fe/idl.ypp" + case 332: /* at_least_one_case_label: case_label case_labels */ +#line 3616 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6526 "fe/idl.tab.cpp" +#line 6554 "fe/idl.tab.cpp" break; - case 332: /* case_labels: case_labels case_label */ -#line 3623 "fe/idl.ypp" + case 333: /* case_labels: case_labels case_label */ +#line 3626 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6544,27 +6572,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6548 "fe/idl.tab.cpp" +#line 6576 "fe/idl.tab.cpp" break; - case 333: /* case_labels: %empty */ -#line 3641 "fe/idl.ypp" + case 334: /* case_labels: %empty */ +#line 3644 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6556 "fe/idl.tab.cpp" +#line 6584 "fe/idl.tab.cpp" break; - case 334: /* $@82: %empty */ -#line 3648 "fe/idl.ypp" + case 335: /* $@82: %empty */ +#line 3651 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6564 "fe/idl.tab.cpp" +#line 6592 "fe/idl.tab.cpp" break; - case 335: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3652 "fe/idl.ypp" + case 336: /* case_label: IDL_DEFAULT $@82 ':' */ +#line 3655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6573,27 +6601,27 @@ yyparse (void) 0 ); } -#line 6577 "fe/idl.tab.cpp" +#line 6605 "fe/idl.tab.cpp" break; - case 336: /* $@83: %empty */ -#line 3661 "fe/idl.ypp" + case 337: /* $@83: %empty */ +#line 3664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6585 "fe/idl.tab.cpp" +#line 6613 "fe/idl.tab.cpp" break; - case 337: /* $@84: %empty */ -#line 3665 "fe/idl.ypp" + case 338: /* $@84: %empty */ +#line 3668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6593 "fe/idl.tab.cpp" +#line 6621 "fe/idl.tab.cpp" break; - case 338: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3669 "fe/idl.ypp" + case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ +#line 3672 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6602,19 +6630,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6606 "fe/idl.tab.cpp" +#line 6634 "fe/idl.tab.cpp" break; - case 339: /* $@85: %empty */ -#line 3681 "fe/idl.ypp" + case 340: /* $@85: %empty */ +#line 3684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6614 "fe/idl.tab.cpp" +#line 6642 "fe/idl.tab.cpp" break; - case 340: /* element_spec: type_spec $@85 declarator */ -#line 3685 "fe/idl.ypp" + case 341: /* element_spec: type_spec $@85 declarator */ +#line 3688 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6657,11 +6685,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6661 "fe/idl.tab.cpp" +#line 6689 "fe/idl.tab.cpp" break; - case 341: /* struct_forward_type: struct_decl */ -#line 3731 "fe/idl.ypp" + case 342: /* struct_forward_type: struct_decl */ +#line 3734 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6683,11 +6711,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6687 "fe/idl.tab.cpp" +#line 6715 "fe/idl.tab.cpp" break; - case 342: /* union_forward_type: union_decl */ -#line 3756 "fe/idl.ypp" + case 343: /* union_forward_type: union_decl */ +#line 3759 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6707,19 +6735,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6711 "fe/idl.tab.cpp" +#line 6739 "fe/idl.tab.cpp" break; - case 343: /* $@86: %empty */ -#line 3779 "fe/idl.ypp" + case 344: /* $@86: %empty */ +#line 3782 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6719 "fe/idl.tab.cpp" +#line 6747 "fe/idl.tab.cpp" break; - case 344: /* $@87: %empty */ -#line 3783 "fe/idl.ypp" + case 345: /* $@87: %empty */ +#line 3786 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6750,27 +6778,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6754 "fe/idl.tab.cpp" +#line 6782 "fe/idl.tab.cpp" break; - case 345: /* $@88: %empty */ -#line 3814 "fe/idl.ypp" + case 346: /* $@88: %empty */ +#line 3817 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6762 "fe/idl.tab.cpp" +#line 6790 "fe/idl.tab.cpp" break; - case 346: /* $@89: %empty */ -#line 3818 "fe/idl.ypp" + case 347: /* $@89: %empty */ +#line 3821 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6770 "fe/idl.tab.cpp" +#line 6798 "fe/idl.tab.cpp" break; - case 347: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3822 "fe/idl.ypp" + case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ +#line 3825 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6789,19 +6817,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6793 "fe/idl.tab.cpp" +#line 6821 "fe/idl.tab.cpp" break; - case 349: /* $@90: %empty */ -#line 3847 "fe/idl.ypp" + case 350: /* $@90: %empty */ +#line 3850 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6801 "fe/idl.tab.cpp" +#line 6829 "fe/idl.tab.cpp" break; - case 352: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3856 "fe/idl.ypp" + case 353: /* enumerator: annotations_maybe IDENTIFIER */ +#line 3859 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6836,27 +6864,130 @@ yyparse (void) delete annotations; } -#line 6840 "fe/idl.tab.cpp" +#line 6868 "fe/idl.tab.cpp" + break; + + case 354: /* $@91: %empty */ +#line 3897 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); + idl_global->scopes().push(0); + } +#line 6877 "fe/idl.tab.cpp" + break; + + case 355: /* $@92: %empty */ +#line 3902 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); + } +#line 6885 "fe/idl.tab.cpp" + break; + + case 356: /* $@93: %empty */ +#line 3906 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } +#line 6893 "fe/idl.tab.cpp" + break; + + case 357: /* $@94: %empty */ +#line 3910 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); + } +#line 6901 "fe/idl.tab.cpp" + break; + + case 358: /* $@95: %empty */ +#line 3914 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } +#line 6909 "fe/idl.tab.cpp" + break; + + case 359: /* map_type_spec: IDL_MAP $@91 '<' $@92 simple_type_spec $@93 ',' $@94 simple_type_spec $@95 '>' */ +#line 3918 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + AST_Decl *key_type = (yyvsp[-6].dcval); + AST_Decl *val_type = (yyvsp[-2].dcval); + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type); + AST_Type *vtp = dynamic_cast (val_type); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; + + map = + idl_global->gen ()->create_map ( + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + + idl_global->err ()->anonymous_type_diagnostic (); + } + } + + // delete type_annotations; + + (yyval.dcval) = map; + } +#line 6971 "fe/idl.tab.cpp" break; - case 353: /* $@91: %empty */ -#line 3895 "fe/idl.ypp" + case 360: /* $@96: %empty */ +#line 3980 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6848 "fe/idl.tab.cpp" +#line 6979 "fe/idl.tab.cpp" break; - case 354: /* $@92: %empty */ -#line 3899 "fe/idl.ypp" + case 361: /* $@97: %empty */ +#line 3984 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6856 "fe/idl.tab.cpp" +#line 6987 "fe/idl.tab.cpp" break; - case 355: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3903 "fe/idl.ypp" + case 362: /* sequence_type_spec: seq_head ',' $@96 positive_int_expr $@97 '>' */ +#line 3988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -6937,11 +7068,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 6941 "fe/idl.tab.cpp" +#line 7072 "fe/idl.tab.cpp" break; - case 356: /* sequence_type_spec: seq_head '>' */ -#line 3985 "fe/idl.ypp" + case 363: /* sequence_type_spec: seq_head '>' */ +#line 4070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7003,11 +7134,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7007 "fe/idl.tab.cpp" +#line 7138 "fe/idl.tab.cpp" break; - case 357: /* $@93: %empty */ -#line 4050 "fe/idl.ypp" + case 364: /* $@98: %empty */ +#line 4135 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7016,19 +7147,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7020 "fe/idl.tab.cpp" +#line 7151 "fe/idl.tab.cpp" break; - case 358: /* $@94: %empty */ -#line 4059 "fe/idl.ypp" + case 365: /* $@99: %empty */ +#line 4144 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7028 "fe/idl.tab.cpp" +#line 7159 "fe/idl.tab.cpp" break; - case 359: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ -#line 4063 "fe/idl.ypp" + case 366: /* seq_head: IDL_SEQUENCE $@98 '<' $@99 annotations_maybe simple_type_spec */ +#line 4148 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7036,36 +7167,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7040 "fe/idl.tab.cpp" +#line 7171 "fe/idl.tab.cpp" break; - case 360: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4074 "fe/idl.ypp" + case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4159 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7049 "fe/idl.tab.cpp" +#line 7180 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4083 "fe/idl.ypp" + case 368: /* $@100: %empty */ +#line 4168 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7057 "fe/idl.tab.cpp" +#line 7188 "fe/idl.tab.cpp" break; - case 362: /* $@96: %empty */ -#line 4087 "fe/idl.ypp" + case 369: /* $@101: %empty */ +#line 4172 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7065 "fe/idl.tab.cpp" +#line 7196 "fe/idl.tab.cpp" break; - case 363: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ -#line 4091 "fe/idl.ypp" + case 370: /* string_type_spec: string_head '<' $@100 positive_int_expr $@101 '>' */ +#line 4176 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7104,11 +7235,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7108 "fe/idl.tab.cpp" +#line 7239 "fe/idl.tab.cpp" break; - case 364: /* string_type_spec: string_head */ -#line 4130 "fe/idl.ypp" + case 371: /* string_type_spec: string_head */ +#line 4215 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7131,35 +7262,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7135 "fe/idl.tab.cpp" +#line 7266 "fe/idl.tab.cpp" break; - case 365: /* string_head: IDL_STRING */ -#line 4156 "fe/idl.ypp" + case 372: /* string_head: IDL_STRING */ +#line 4241 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7143 "fe/idl.tab.cpp" +#line 7274 "fe/idl.tab.cpp" break; - case 366: /* $@97: %empty */ -#line 4164 "fe/idl.ypp" + case 373: /* $@102: %empty */ +#line 4249 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7151 "fe/idl.tab.cpp" +#line 7282 "fe/idl.tab.cpp" break; - case 367: /* $@98: %empty */ -#line 4168 "fe/idl.ypp" + case 374: /* $@103: %empty */ +#line 4253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7159 "fe/idl.tab.cpp" +#line 7290 "fe/idl.tab.cpp" break; - case 368: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ -#line 4172 "fe/idl.ypp" + case 375: /* wstring_type_spec: wstring_head '<' $@102 positive_int_expr $@103 '>' */ +#line 4257 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7198,11 +7329,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7202 "fe/idl.tab.cpp" +#line 7333 "fe/idl.tab.cpp" break; - case 369: /* wstring_type_spec: wstring_head */ -#line 4211 "fe/idl.ypp" + case 376: /* wstring_type_spec: wstring_head */ +#line 4296 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7225,27 +7356,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7229 "fe/idl.tab.cpp" +#line 7360 "fe/idl.tab.cpp" break; - case 370: /* wstring_head: IDL_WSTRING */ -#line 4237 "fe/idl.ypp" + case 377: /* wstring_head: IDL_WSTRING */ +#line 4322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7237 "fe/idl.tab.cpp" +#line 7368 "fe/idl.tab.cpp" break; - case 371: /* $@99: %empty */ -#line 4244 "fe/idl.ypp" + case 378: /* $@104: %empty */ +#line 4329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7245 "fe/idl.tab.cpp" +#line 7376 "fe/idl.tab.cpp" break; - case 372: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ -#line 4248 "fe/idl.ypp" + case 379: /* array_declarator: defining_id $@104 annotations_maybe at_least_one_array_dim */ +#line 4333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7281,22 +7412,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7285 "fe/idl.tab.cpp" +#line 7416 "fe/idl.tab.cpp" break; - case 373: /* at_least_one_array_dim: array_dim array_dims */ -#line 4287 "fe/idl.ypp" + case 380: /* at_least_one_array_dim: array_dim array_dims */ +#line 4372 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7296 "fe/idl.tab.cpp" +#line 7427 "fe/idl.tab.cpp" break; - case 374: /* array_dims: array_dims array_dim */ -#line 4297 "fe/idl.ypp" + case 381: /* array_dims: array_dims array_dim */ +#line 4382 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7314,35 +7445,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7318 "fe/idl.tab.cpp" +#line 7449 "fe/idl.tab.cpp" break; - case 375: /* array_dims: %empty */ -#line 4315 "fe/idl.ypp" + case 382: /* array_dims: %empty */ +#line 4400 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7326 "fe/idl.tab.cpp" +#line 7457 "fe/idl.tab.cpp" break; - case 376: /* $@100: %empty */ -#line 4322 "fe/idl.ypp" + case 383: /* $@105: %empty */ +#line 4407 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7334 "fe/idl.tab.cpp" +#line 7465 "fe/idl.tab.cpp" break; - case 377: /* $@101: %empty */ -#line 4326 "fe/idl.ypp" + case 384: /* $@106: %empty */ +#line 4411 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7342 "fe/idl.tab.cpp" +#line 7473 "fe/idl.tab.cpp" break; - case 378: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ -#line 4330 "fe/idl.ypp" + case 385: /* array_dim: '[' $@105 positive_int_expr $@106 ']' */ +#line 4415 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7396,43 +7527,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7400 "fe/idl.tab.cpp" +#line 7531 "fe/idl.tab.cpp" break; - case 381: /* $@102: %empty */ -#line 4392 "fe/idl.ypp" + case 388: /* $@107: %empty */ +#line 4477 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7408 "fe/idl.tab.cpp" +#line 7539 "fe/idl.tab.cpp" break; - case 382: /* $@103: %empty */ -#line 4396 "fe/idl.ypp" + case 389: /* $@108: %empty */ +#line 4481 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7416 "fe/idl.tab.cpp" +#line 7547 "fe/idl.tab.cpp" break; - case 383: /* $@104: %empty */ -#line 4400 "fe/idl.ypp" + case 390: /* $@109: %empty */ +#line 4485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7424 "fe/idl.tab.cpp" +#line 7555 "fe/idl.tab.cpp" break; - case 384: /* $@105: %empty */ -#line 4404 "fe/idl.ypp" + case 391: /* $@110: %empty */ +#line 4489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7432 "fe/idl.tab.cpp" +#line 7563 "fe/idl.tab.cpp" break; - case 385: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ -#line 4408 "fe/idl.ypp" + case 392: /* attribute_readonly: IDL_READONLY $@107 IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_raises */ +#line 4493 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7484,43 +7615,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7488 "fe/idl.tab.cpp" +#line 7619 "fe/idl.tab.cpp" break; - case 386: /* $@106: %empty */ -#line 4463 "fe/idl.ypp" + case 393: /* $@111: %empty */ +#line 4548 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7496 "fe/idl.tab.cpp" +#line 7627 "fe/idl.tab.cpp" break; - case 387: /* $@107: %empty */ -#line 4467 "fe/idl.ypp" + case 394: /* $@112: %empty */ +#line 4552 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7504 "fe/idl.tab.cpp" +#line 7635 "fe/idl.tab.cpp" break; - case 388: /* $@108: %empty */ -#line 4471 "fe/idl.ypp" + case 395: /* $@113: %empty */ +#line 4556 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7512 "fe/idl.tab.cpp" +#line 7643 "fe/idl.tab.cpp" break; - case 389: /* $@109: %empty */ -#line 4475 "fe/idl.ypp" + case 396: /* $@114: %empty */ +#line 4560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7520 "fe/idl.tab.cpp" +#line 7651 "fe/idl.tab.cpp" break; - case 390: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ -#line 4479 "fe/idl.ypp" + case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@111 param_type_spec $@112 at_least_one_simple_declarator $@113 opt_getraises $@114 opt_setraises */ +#line 4564 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7581,19 +7712,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7585 "fe/idl.tab.cpp" +#line 7716 "fe/idl.tab.cpp" break; - case 391: /* $@110: %empty */ -#line 4543 "fe/idl.ypp" + case 398: /* $@115: %empty */ +#line 4628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7593 "fe/idl.tab.cpp" +#line 7724 "fe/idl.tab.cpp" break; - case 392: /* @111: %empty */ -#line 4547 "fe/idl.ypp" + case 399: /* @116: %empty */ +#line 4632 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7625,27 +7756,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7629 "fe/idl.tab.cpp" +#line 7760 "fe/idl.tab.cpp" break; - case 393: /* $@112: %empty */ -#line 4579 "fe/idl.ypp" + case 400: /* $@117: %empty */ +#line 4664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7637 "fe/idl.tab.cpp" +#line 7768 "fe/idl.tab.cpp" break; - case 394: /* $@113: %empty */ -#line 4583 "fe/idl.ypp" + case 401: /* $@118: %empty */ +#line 4668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7645 "fe/idl.tab.cpp" +#line 7776 "fe/idl.tab.cpp" break; - case 395: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ -#line 4587 "fe/idl.ypp" + case 402: /* exception: IDL_EXCEPTION $@115 defining_id @116 '{' $@117 members $@118 '}' */ +#line 4672 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7655,19 +7786,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7659 "fe/idl.tab.cpp" +#line 7790 "fe/idl.tab.cpp" break; - case 396: /* $@114: %empty */ -#line 4600 "fe/idl.ypp" + case 403: /* $@119: %empty */ +#line 4685 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7667 "fe/idl.tab.cpp" +#line 7798 "fe/idl.tab.cpp" break; - case 397: /* $@115: %empty */ -#line 4604 "fe/idl.ypp" + case 404: /* $@120: %empty */ +#line 4689 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7728,27 +7859,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7732 "fe/idl.tab.cpp" +#line 7863 "fe/idl.tab.cpp" break; - case 398: /* $@116: %empty */ -#line 4665 "fe/idl.ypp" + case 405: /* $@121: %empty */ +#line 4750 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7740 "fe/idl.tab.cpp" +#line 7871 "fe/idl.tab.cpp" break; - case 399: /* $@117: %empty */ -#line 4669 "fe/idl.ypp" + case 406: /* $@122: %empty */ +#line 4754 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7748 "fe/idl.tab.cpp" +#line 7879 "fe/idl.tab.cpp" break; - case 400: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ -#line 4673 "fe/idl.ypp" + case 407: /* operation: opt_op_attribute op_type_spec $@119 IDENTIFIER $@120 parameter_list $@121 opt_raises $@122 opt_context */ +#line 4758 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7779,57 +7910,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7783 "fe/idl.tab.cpp" +#line 7914 "fe/idl.tab.cpp" break; - case 401: /* opt_op_attribute: IDL_ONEWAY */ -#line 4707 "fe/idl.ypp" + case 408: /* opt_op_attribute: IDL_ONEWAY */ +#line 4792 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7792 "fe/idl.tab.cpp" +#line 7923 "fe/idl.tab.cpp" break; - case 402: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4712 "fe/idl.ypp" + case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4797 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7801 "fe/idl.tab.cpp" +#line 7932 "fe/idl.tab.cpp" break; - case 403: /* opt_op_attribute: %empty */ -#line 4717 "fe/idl.ypp" + case 410: /* opt_op_attribute: %empty */ +#line 4802 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7809 "fe/idl.tab.cpp" +#line 7940 "fe/idl.tab.cpp" break; - case 405: /* op_type_spec: IDL_VOID */ -#line 4725 "fe/idl.ypp" + case 412: /* op_type_spec: IDL_VOID */ +#line 4810 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7820 "fe/idl.tab.cpp" +#line 7951 "fe/idl.tab.cpp" break; - case 406: /* $@118: %empty */ -#line 4735 "fe/idl.ypp" + case 413: /* $@123: %empty */ +#line 4820 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7829 "fe/idl.tab.cpp" +#line 7960 "fe/idl.tab.cpp" break; - case 407: /* @119: %empty */ -#line 4740 "fe/idl.ypp" + case 414: /* @124: %empty */ +#line 4825 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7872,19 +8003,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 7876 "fe/idl.tab.cpp" +#line 8007 "fe/idl.tab.cpp" break; - case 408: /* $@120: %empty */ -#line 4783 "fe/idl.ypp" + case 415: /* $@125: %empty */ +#line 4868 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7884 "fe/idl.tab.cpp" +#line 8015 "fe/idl.tab.cpp" break; - case 409: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ -#line 4787 "fe/idl.ypp" + case 416: /* init_decl: IDL_FACTORY $@123 IDENTIFIER @124 init_parameter_list $@125 opt_raises */ +#line 4872 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -7899,67 +8030,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 7903 "fe/idl.tab.cpp" +#line 8034 "fe/idl.tab.cpp" break; - case 410: /* $@121: %empty */ -#line 4805 "fe/idl.ypp" + case 417: /* $@126: %empty */ +#line 4890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7911 "fe/idl.tab.cpp" +#line 8042 "fe/idl.tab.cpp" break; - case 411: /* init_parameter_list: '(' $@121 ')' */ -#line 4809 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@126 ')' */ +#line 4894 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7919 "fe/idl.tab.cpp" +#line 8050 "fe/idl.tab.cpp" break; - case 412: /* $@122: %empty */ -#line 4813 "fe/idl.ypp" + case 419: /* $@127: %empty */ +#line 4898 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7927 "fe/idl.tab.cpp" +#line 8058 "fe/idl.tab.cpp" break; - case 413: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ -#line 4818 "fe/idl.ypp" + case 420: /* init_parameter_list: '(' $@127 at_least_one_in_parameter ')' */ +#line 4903 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7935 "fe/idl.tab.cpp" +#line 8066 "fe/idl.tab.cpp" break; - case 415: /* $@123: %empty */ -#line 4828 "fe/idl.ypp" + case 422: /* $@128: %empty */ +#line 4913 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 7943 "fe/idl.tab.cpp" +#line 8074 "fe/idl.tab.cpp" break; - case 418: /* $@124: %empty */ -#line 4837 "fe/idl.ypp" + case 425: /* $@129: %empty */ +#line 4922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 7951 "fe/idl.tab.cpp" +#line 8082 "fe/idl.tab.cpp" break; - case 419: /* $@125: %empty */ -#line 4841 "fe/idl.ypp" + case 426: /* $@130: %empty */ +#line 4926 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 7959 "fe/idl.tab.cpp" +#line 8090 "fe/idl.tab.cpp" break; - case 420: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ -#line 4845 "fe/idl.ypp" + case 427: /* in_parameter: IDL_IN $@129 param_type_spec $@130 declarator */ +#line 4930 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -7991,67 +8122,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 7995 "fe/idl.tab.cpp" +#line 8126 "fe/idl.tab.cpp" break; - case 421: /* $@126: %empty */ -#line 4880 "fe/idl.ypp" + case 428: /* $@131: %empty */ +#line 4965 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8003 "fe/idl.tab.cpp" +#line 8134 "fe/idl.tab.cpp" break; - case 422: /* parameter_list: '(' $@126 ')' */ -#line 4884 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@131 ')' */ +#line 4969 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8011 "fe/idl.tab.cpp" +#line 8142 "fe/idl.tab.cpp" break; - case 423: /* $@127: %empty */ -#line 4888 "fe/idl.ypp" + case 430: /* $@132: %empty */ +#line 4973 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8019 "fe/idl.tab.cpp" +#line 8150 "fe/idl.tab.cpp" break; - case 424: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ -#line 4893 "fe/idl.ypp" + case 431: /* parameter_list: '(' $@132 at_least_one_parameter ')' */ +#line 4978 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8027 "fe/idl.tab.cpp" +#line 8158 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 4903 "fe/idl.ypp" + case 433: /* $@133: %empty */ +#line 4988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8035 "fe/idl.tab.cpp" +#line 8166 "fe/idl.tab.cpp" break; - case 429: /* $@129: %empty */ -#line 4912 "fe/idl.ypp" + case 436: /* $@134: %empty */ +#line 4997 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8043 "fe/idl.tab.cpp" +#line 8174 "fe/idl.tab.cpp" break; - case 430: /* $@130: %empty */ -#line 4916 "fe/idl.ypp" + case 437: /* $@135: %empty */ +#line 5001 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8051 "fe/idl.tab.cpp" +#line 8182 "fe/idl.tab.cpp" break; - case 431: /* parameter: direction $@129 param_type_spec $@130 declarator */ -#line 4920 "fe/idl.ypp" + case 438: /* parameter: direction $@134 param_type_spec $@135 declarator */ +#line 5005 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8090,22 +8221,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8094 "fe/idl.tab.cpp" +#line 8225 "fe/idl.tab.cpp" break; - case 432: /* param_type_spec: base_type_spec */ -#line 4962 "fe/idl.ypp" + case 439: /* param_type_spec: base_type_spec */ +#line 5047 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8105 "fe/idl.tab.cpp" +#line 8236 "fe/idl.tab.cpp" break; - case 435: /* param_type_spec: scoped_name */ -#line 4971 "fe/idl.ypp" + case 442: /* param_type_spec: scoped_name */ +#line 5056 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8209,186 +8340,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8213 "fe/idl.tab.cpp" +#line 8344 "fe/idl.tab.cpp" break; - case 436: /* direction: IDL_IN */ -#line 5078 "fe/idl.ypp" + case 443: /* direction: IDL_IN */ +#line 5163 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8221 "fe/idl.tab.cpp" +#line 8352 "fe/idl.tab.cpp" break; - case 437: /* direction: IDL_OUT */ -#line 5082 "fe/idl.ypp" + case 444: /* direction: IDL_OUT */ +#line 5167 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8229 "fe/idl.tab.cpp" +#line 8360 "fe/idl.tab.cpp" break; - case 438: /* direction: IDL_INOUT */ -#line 5086 "fe/idl.ypp" + case 445: /* direction: IDL_INOUT */ +#line 5171 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8237 "fe/idl.tab.cpp" +#line 8368 "fe/idl.tab.cpp" break; - case 439: /* $@131: %empty */ -#line 5093 "fe/idl.ypp" + case 446: /* $@136: %empty */ +#line 5178 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8245 "fe/idl.tab.cpp" +#line 8376 "fe/idl.tab.cpp" break; - case 440: /* $@132: %empty */ -#line 5097 "fe/idl.ypp" + case 447: /* $@137: %empty */ +#line 5182 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8253 "fe/idl.tab.cpp" +#line 8384 "fe/idl.tab.cpp" break; - case 441: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ -#line 5102 "fe/idl.ypp" + case 448: /* opt_raises: IDL_RAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5187 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8262 "fe/idl.tab.cpp" +#line 8393 "fe/idl.tab.cpp" break; - case 442: /* opt_raises: %empty */ -#line 5107 "fe/idl.ypp" + case 449: /* opt_raises: %empty */ +#line 5192 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8270 "fe/idl.tab.cpp" +#line 8401 "fe/idl.tab.cpp" break; - case 443: /* $@133: %empty */ -#line 5114 "fe/idl.ypp" + case 450: /* $@138: %empty */ +#line 5199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8278 "fe/idl.tab.cpp" +#line 8409 "fe/idl.tab.cpp" break; - case 444: /* $@134: %empty */ -#line 5118 "fe/idl.ypp" + case 451: /* $@139: %empty */ +#line 5203 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8286 "fe/idl.tab.cpp" +#line 8417 "fe/idl.tab.cpp" break; - case 445: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ -#line 5123 "fe/idl.ypp" + case 452: /* opt_getraises: IDL_GETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ +#line 5208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8295 "fe/idl.tab.cpp" +#line 8426 "fe/idl.tab.cpp" break; - case 446: /* opt_getraises: %empty */ -#line 5128 "fe/idl.ypp" + case 453: /* opt_getraises: %empty */ +#line 5213 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8303 "fe/idl.tab.cpp" +#line 8434 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5135 "fe/idl.ypp" + case 454: /* $@140: %empty */ +#line 5220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8311 "fe/idl.tab.cpp" +#line 8442 "fe/idl.tab.cpp" break; - case 448: /* $@136: %empty */ -#line 5139 "fe/idl.ypp" + case 455: /* $@141: %empty */ +#line 5224 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8319 "fe/idl.tab.cpp" +#line 8450 "fe/idl.tab.cpp" break; - case 449: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5144 "fe/idl.ypp" + case 456: /* opt_setraises: IDL_SETRAISES $@140 '(' $@141 at_least_one_scoped_name ')' */ +#line 5229 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8328 "fe/idl.tab.cpp" +#line 8459 "fe/idl.tab.cpp" break; - case 450: /* opt_setraises: %empty */ -#line 5149 "fe/idl.ypp" + case 457: /* opt_setraises: %empty */ +#line 5234 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8336 "fe/idl.tab.cpp" +#line 8467 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5156 "fe/idl.ypp" + case 458: /* $@142: %empty */ +#line 5241 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8344 "fe/idl.tab.cpp" +#line 8475 "fe/idl.tab.cpp" break; - case 452: /* $@138: %empty */ -#line 5160 "fe/idl.ypp" + case 459: /* $@143: %empty */ +#line 5245 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8352 "fe/idl.tab.cpp" +#line 8483 "fe/idl.tab.cpp" break; - case 453: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ -#line 5165 "fe/idl.ypp" + case 460: /* opt_context: IDL_CONTEXT $@142 '(' $@143 at_least_one_string_literal ')' */ +#line 5250 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8361 "fe/idl.tab.cpp" +#line 8492 "fe/idl.tab.cpp" break; - case 454: /* opt_context: %empty */ -#line 5170 "fe/idl.ypp" + case 461: /* opt_context: %empty */ +#line 5255 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8369 "fe/idl.tab.cpp" +#line 8500 "fe/idl.tab.cpp" break; - case 455: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5177 "fe/idl.ypp" + case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5262 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8380 "fe/idl.tab.cpp" +#line 8511 "fe/idl.tab.cpp" break; - case 456: /* $@139: %empty */ -#line 5188 "fe/idl.ypp" + case 463: /* $@144: %empty */ +#line 5273 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8388 "fe/idl.tab.cpp" +#line 8519 "fe/idl.tab.cpp" break; - case 457: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ -#line 5192 "fe/idl.ypp" + case 464: /* string_literals: string_literals ',' $@144 IDL_STRING_LITERAL */ +#line 5277 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8406,19 +8537,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8410 "fe/idl.tab.cpp" +#line 8541 "fe/idl.tab.cpp" break; - case 458: /* string_literals: %empty */ -#line 5210 "fe/idl.ypp" + case 465: /* string_literals: %empty */ +#line 5295 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8418 "fe/idl.tab.cpp" +#line 8549 "fe/idl.tab.cpp" break; - case 459: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5217 "fe/idl.ypp" + case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5302 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8445,11 +8576,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8449 "fe/idl.tab.cpp" +#line 8580 "fe/idl.tab.cpp" break; - case 460: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5247 "fe/idl.ypp" + case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5332 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8485,11 +8616,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8489 "fe/idl.tab.cpp" +#line 8620 "fe/idl.tab.cpp" break; - case 463: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5292 "fe/idl.ypp" + case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5377 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8515,11 +8646,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8519 "fe/idl.tab.cpp" +#line 8650 "fe/idl.tab.cpp" break; - case 464: /* @140: %empty */ -#line 5321 "fe/idl.ypp" + case 471: /* @145: %empty */ +#line 5406 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8561,27 +8692,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8565 "fe/idl.tab.cpp" +#line 8696 "fe/idl.tab.cpp" break; - case 465: /* $@141: %empty */ -#line 5363 "fe/idl.ypp" + case 472: /* $@146: %empty */ +#line 5448 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8573 "fe/idl.tab.cpp" +#line 8704 "fe/idl.tab.cpp" break; - case 466: /* $@142: %empty */ -#line 5367 "fe/idl.ypp" + case 473: /* $@147: %empty */ +#line 5452 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8581 "fe/idl.tab.cpp" +#line 8712 "fe/idl.tab.cpp" break; - case 467: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ -#line 5371 "fe/idl.ypp" + case 474: /* component_decl: component_header @145 '{' $@146 component_exports $@147 '}' */ +#line 5456 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8592,27 +8723,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8596 "fe/idl.tab.cpp" +#line 8727 "fe/idl.tab.cpp" break; - case 468: /* $@143: %empty */ -#line 5386 "fe/idl.ypp" + case 475: /* $@148: %empty */ +#line 5471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8604 "fe/idl.tab.cpp" +#line 8735 "fe/idl.tab.cpp" break; - case 469: /* $@144: %empty */ -#line 5390 "fe/idl.ypp" + case 476: /* $@149: %empty */ +#line 5475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8612 "fe/idl.tab.cpp" +#line 8743 "fe/idl.tab.cpp" break; - case 470: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ -#line 5394 "fe/idl.ypp" + case 477: /* component_header: IDL_COMPONENT defining_id $@148 component_inheritance_spec $@149 supports_spec */ +#line 5479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8646,35 +8777,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8650 "fe/idl.tab.cpp" +#line 8781 "fe/idl.tab.cpp" break; - case 471: /* $@145: %empty */ -#line 5431 "fe/idl.ypp" + case 478: /* $@150: %empty */ +#line 5516 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8658 "fe/idl.tab.cpp" +#line 8789 "fe/idl.tab.cpp" break; - case 472: /* component_inheritance_spec: ':' $@145 scoped_name */ -#line 5435 "fe/idl.ypp" + case 479: /* component_inheritance_spec: ':' $@150 scoped_name */ +#line 5520 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8666 "fe/idl.tab.cpp" +#line 8797 "fe/idl.tab.cpp" break; - case 473: /* component_inheritance_spec: %empty */ -#line 5439 "fe/idl.ypp" + case 480: /* component_inheritance_spec: %empty */ +#line 5524 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8674 "fe/idl.tab.cpp" +#line 8805 "fe/idl.tab.cpp" break; - case 474: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5446 "fe/idl.ypp" + case 481: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5531 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8689,130 +8820,130 @@ yyparse (void) } delete annotations; } -#line 8693 "fe/idl.tab.cpp" +#line 8824 "fe/idl.tab.cpp" break; - case 477: /* $@146: %empty */ -#line 5466 "fe/idl.ypp" + case 484: /* $@151: %empty */ +#line 5551 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8701 "fe/idl.tab.cpp" +#line 8832 "fe/idl.tab.cpp" break; - case 478: /* component_export: provides_decl $@146 ';' */ -#line 5470 "fe/idl.ypp" + case 485: /* component_export: provides_decl $@151 ';' */ +#line 5555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8710 "fe/idl.tab.cpp" +#line 8841 "fe/idl.tab.cpp" break; - case 479: /* $@147: %empty */ -#line 5475 "fe/idl.ypp" + case 486: /* $@152: %empty */ +#line 5560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8718 "fe/idl.tab.cpp" +#line 8849 "fe/idl.tab.cpp" break; - case 480: /* component_export: uses_decl $@147 ';' */ -#line 5479 "fe/idl.ypp" + case 487: /* component_export: uses_decl $@152 ';' */ +#line 5564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8727 "fe/idl.tab.cpp" +#line 8858 "fe/idl.tab.cpp" break; - case 481: /* $@148: %empty */ -#line 5484 "fe/idl.ypp" + case 488: /* $@153: %empty */ +#line 5569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8866 "fe/idl.tab.cpp" break; - case 482: /* component_export: emits_decl $@148 ';' */ -#line 5488 "fe/idl.ypp" + case 489: /* component_export: emits_decl $@153 ';' */ +#line 5573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8744 "fe/idl.tab.cpp" +#line 8875 "fe/idl.tab.cpp" break; - case 483: /* $@149: %empty */ -#line 5493 "fe/idl.ypp" + case 490: /* $@154: %empty */ +#line 5578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8752 "fe/idl.tab.cpp" +#line 8883 "fe/idl.tab.cpp" break; - case 484: /* component_export: publishes_decl $@149 ';' */ -#line 5497 "fe/idl.ypp" + case 491: /* component_export: publishes_decl $@154 ';' */ +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8761 "fe/idl.tab.cpp" +#line 8892 "fe/idl.tab.cpp" break; - case 485: /* $@150: %empty */ -#line 5502 "fe/idl.ypp" + case 492: /* $@155: %empty */ +#line 5587 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8769 "fe/idl.tab.cpp" +#line 8900 "fe/idl.tab.cpp" break; - case 486: /* component_export: consumes_decl $@150 ';' */ -#line 5506 "fe/idl.ypp" + case 493: /* component_export: consumes_decl $@155 ';' */ +#line 5591 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8778 "fe/idl.tab.cpp" +#line 8909 "fe/idl.tab.cpp" break; - case 487: /* $@151: %empty */ -#line 5511 "fe/idl.ypp" + case 494: /* $@156: %empty */ +#line 5596 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8786 "fe/idl.tab.cpp" +#line 8917 "fe/idl.tab.cpp" break; - case 488: /* component_export: attribute $@151 ';' */ -#line 5515 "fe/idl.ypp" + case 495: /* component_export: attribute $@156 ';' */ +#line 5600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8795 "fe/idl.tab.cpp" +#line 8926 "fe/idl.tab.cpp" break; - case 489: /* $@152: %empty */ -#line 5520 "fe/idl.ypp" + case 496: /* $@157: %empty */ +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8803 "fe/idl.tab.cpp" +#line 8934 "fe/idl.tab.cpp" break; - case 490: /* component_export: extended_port_decl $@152 ';' */ -#line 5524 "fe/idl.ypp" + case 497: /* component_export: extended_port_decl $@157 ';' */ +#line 5609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8812 "fe/idl.tab.cpp" +#line 8943 "fe/idl.tab.cpp" break; - case 491: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5531 "fe/idl.ypp" + case 498: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5616 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -8902,21 +9033,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 8906 "fe/idl.tab.cpp" +#line 9037 "fe/idl.tab.cpp" break; - case 492: /* interface_type: scoped_name */ -#line 5624 "fe/idl.ypp" + case 499: /* interface_type: scoped_name */ +#line 5709 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 8916 "fe/idl.tab.cpp" +#line 9047 "fe/idl.tab.cpp" break; - case 493: /* interface_type: IDL_OBJECT */ -#line 5630 "fe/idl.ypp" + case 500: /* interface_type: IDL_OBJECT */ +#line 5715 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -8939,11 +9070,11 @@ yyparse (void) conc_name), 1); } -#line 8943 "fe/idl.tab.cpp" +#line 9074 "fe/idl.tab.cpp" break; - case 494: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5655 "fe/idl.ypp" + case 501: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5740 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9047,37 +9178,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9051 "fe/idl.tab.cpp" +#line 9182 "fe/idl.tab.cpp" break; - case 495: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5762 "fe/idl.ypp" + case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5847 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9061 "fe/idl.tab.cpp" +#line 9192 "fe/idl.tab.cpp" break; - case 496: /* opt_multiple: IDL_MULTIPLE */ -#line 5771 "fe/idl.ypp" + case 503: /* opt_multiple: IDL_MULTIPLE */ +#line 5856 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9069 "fe/idl.tab.cpp" +#line 9200 "fe/idl.tab.cpp" break; - case 497: /* opt_multiple: %empty */ -#line 5775 "fe/idl.ypp" + case 504: /* opt_multiple: %empty */ +#line 5860 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9077 "fe/idl.tab.cpp" +#line 9208 "fe/idl.tab.cpp" break; - case 498: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5782 "fe/idl.ypp" + case 505: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5867 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9149,11 +9280,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9153 "fe/idl.tab.cpp" +#line 9284 "fe/idl.tab.cpp" break; - case 499: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5857 "fe/idl.ypp" + case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 5942 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9222,11 +9353,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9226 "fe/idl.tab.cpp" +#line 9357 "fe/idl.tab.cpp" break; - case 500: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 5929 "fe/idl.ypp" + case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6014 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9298,11 +9429,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9302 "fe/idl.tab.cpp" +#line 9433 "fe/idl.tab.cpp" break; - case 501: /* $@153: %empty */ -#line 6004 "fe/idl.ypp" + case 508: /* $@158: %empty */ +#line 6089 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9339,11 +9470,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9343 "fe/idl.tab.cpp" +#line 9474 "fe/idl.tab.cpp" break; - case 502: /* home_decl: home_header $@153 home_body */ -#line 6041 "fe/idl.ypp" + case 509: /* home_decl: home_header $@158 home_body */ +#line 6126 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9352,59 +9483,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9356 "fe/idl.tab.cpp" +#line 9487 "fe/idl.tab.cpp" break; - case 503: /* $@154: %empty */ -#line 6053 "fe/idl.ypp" + case 510: /* $@159: %empty */ +#line 6138 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9364 "fe/idl.tab.cpp" +#line 9495 "fe/idl.tab.cpp" break; - case 504: /* $@155: %empty */ -#line 6057 "fe/idl.ypp" + case 511: /* $@160: %empty */ +#line 6142 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9372 "fe/idl.tab.cpp" +#line 9503 "fe/idl.tab.cpp" break; - case 505: /* $@156: %empty */ -#line 6061 "fe/idl.ypp" + case 512: /* $@161: %empty */ +#line 6146 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9380 "fe/idl.tab.cpp" +#line 9511 "fe/idl.tab.cpp" break; - case 506: /* $@157: %empty */ -#line 6065 "fe/idl.ypp" + case 513: /* $@162: %empty */ +#line 6150 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9388 "fe/idl.tab.cpp" +#line 9519 "fe/idl.tab.cpp" break; - case 507: /* $@158: %empty */ -#line 6069 "fe/idl.ypp" + case 514: /* $@163: %empty */ +#line 6154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9396 "fe/idl.tab.cpp" +#line 9527 "fe/idl.tab.cpp" break; - case 508: /* $@159: %empty */ -#line 6073 "fe/idl.ypp" + case 515: /* $@164: %empty */ +#line 6158 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9404 "fe/idl.tab.cpp" +#line 9535 "fe/idl.tab.cpp" break; - case 509: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ -#line 6077 "fe/idl.ypp" + case 516: /* home_header: IDL_HOME $@159 defining_id $@160 home_inheritance_spec $@161 supports_spec $@162 IDL_MANAGES $@163 scoped_name $@164 primary_key_spec */ +#line 6162 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9450,107 +9581,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9454 "fe/idl.tab.cpp" +#line 9585 "fe/idl.tab.cpp" break; - case 510: /* $@160: %empty */ -#line 6126 "fe/idl.ypp" + case 517: /* $@165: %empty */ +#line 6211 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9462 "fe/idl.tab.cpp" +#line 9593 "fe/idl.tab.cpp" break; - case 511: /* home_inheritance_spec: ':' $@160 scoped_name */ -#line 6130 "fe/idl.ypp" + case 518: /* home_inheritance_spec: ':' $@165 scoped_name */ +#line 6215 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9470 "fe/idl.tab.cpp" +#line 9601 "fe/idl.tab.cpp" break; - case 512: /* home_inheritance_spec: %empty */ -#line 6134 "fe/idl.ypp" + case 519: /* home_inheritance_spec: %empty */ +#line 6219 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9478 "fe/idl.tab.cpp" +#line 9609 "fe/idl.tab.cpp" break; - case 513: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6142 "fe/idl.ypp" + case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6227 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9486 "fe/idl.tab.cpp" +#line 9617 "fe/idl.tab.cpp" break; - case 514: /* primary_key_spec: %empty */ -#line 6146 "fe/idl.ypp" + case 521: /* primary_key_spec: %empty */ +#line 6231 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9494 "fe/idl.tab.cpp" +#line 9625 "fe/idl.tab.cpp" break; - case 515: /* $@161: %empty */ -#line 6153 "fe/idl.ypp" + case 522: /* $@166: %empty */ +#line 6238 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9502 "fe/idl.tab.cpp" +#line 9633 "fe/idl.tab.cpp" break; - case 516: /* $@162: %empty */ -#line 6157 "fe/idl.ypp" + case 523: /* $@167: %empty */ +#line 6242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9510 "fe/idl.tab.cpp" +#line 9641 "fe/idl.tab.cpp" break; - case 517: /* home_body: '{' $@161 home_exports $@162 '}' */ -#line 6161 "fe/idl.ypp" + case 524: /* home_body: '{' $@166 home_exports $@167 '}' */ +#line 6246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9518 "fe/idl.tab.cpp" +#line 9649 "fe/idl.tab.cpp" break; - case 521: /* $@163: %empty */ -#line 6174 "fe/idl.ypp" + case 528: /* $@168: %empty */ +#line 6259 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9526 "fe/idl.tab.cpp" +#line 9657 "fe/idl.tab.cpp" break; - case 522: /* home_export: factory_decl $@163 ';' */ -#line 6178 "fe/idl.ypp" + case 529: /* home_export: factory_decl $@168 ';' */ +#line 6263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9534 "fe/idl.tab.cpp" +#line 9665 "fe/idl.tab.cpp" break; - case 523: /* $@164: %empty */ -#line 6182 "fe/idl.ypp" + case 530: /* $@169: %empty */ +#line 6267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9542 "fe/idl.tab.cpp" +#line 9673 "fe/idl.tab.cpp" break; - case 524: /* home_export: finder_decl $@164 ';' */ -#line 6186 "fe/idl.ypp" + case 531: /* home_export: finder_decl $@169 ';' */ +#line 6271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9550 "fe/idl.tab.cpp" +#line 9681 "fe/idl.tab.cpp" break; - case 525: /* $@165: %empty */ -#line 6194 "fe/idl.ypp" + case 532: /* $@170: %empty */ +#line 6279 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9573,19 +9704,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9577 "fe/idl.tab.cpp" +#line 9708 "fe/idl.tab.cpp" break; - case 526: /* $@166: %empty */ -#line 6217 "fe/idl.ypp" + case 533: /* $@171: %empty */ +#line 6302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9585 "fe/idl.tab.cpp" +#line 9716 "fe/idl.tab.cpp" break; - case 527: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ -#line 6221 "fe/idl.ypp" + case 534: /* factory_decl: IDL_FACTORY defining_id $@170 init_parameter_list $@171 opt_raises */ +#line 6306 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9603,11 +9734,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9607 "fe/idl.tab.cpp" +#line 9738 "fe/idl.tab.cpp" break; - case 528: /* $@167: %empty */ -#line 6243 "fe/idl.ypp" + case 535: /* $@172: %empty */ +#line 6328 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9634,19 +9765,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9638 "fe/idl.tab.cpp" +#line 9769 "fe/idl.tab.cpp" break; - case 529: /* $@168: %empty */ -#line 6270 "fe/idl.ypp" + case 536: /* $@173: %empty */ +#line 6355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9646 "fe/idl.tab.cpp" +#line 9777 "fe/idl.tab.cpp" break; - case 530: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ -#line 6274 "fe/idl.ypp" + case 537: /* finder_decl: IDL_FINDER defining_id $@172 init_parameter_list $@173 opt_raises */ +#line 6359 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9664,11 +9795,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9668 "fe/idl.tab.cpp" +#line 9799 "fe/idl.tab.cpp" break; - case 536: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6307 "fe/idl.ypp" + case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6392 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9693,11 +9824,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9697 "fe/idl.tab.cpp" +#line 9828 "fe/idl.tab.cpp" break; - case 537: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6337 "fe/idl.ypp" + case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6422 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9722,11 +9853,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9726 "fe/idl.tab.cpp" +#line 9857 "fe/idl.tab.cpp" break; - case 538: /* $@169: %empty */ -#line 6366 "fe/idl.ypp" + case 545: /* $@174: %empty */ +#line 6451 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9770,27 +9901,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9774 "fe/idl.tab.cpp" +#line 9905 "fe/idl.tab.cpp" break; - case 539: /* $@170: %empty */ -#line 6410 "fe/idl.ypp" + case 546: /* $@175: %empty */ +#line 6495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9782 "fe/idl.tab.cpp" +#line 9913 "fe/idl.tab.cpp" break; - case 540: /* $@171: %empty */ -#line 6414 "fe/idl.ypp" + case 547: /* $@176: %empty */ +#line 6499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9790 "fe/idl.tab.cpp" +#line 9921 "fe/idl.tab.cpp" break; - case 541: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ -#line 6418 "fe/idl.ypp" + case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@174 '{' $@175 exports $@176 '}' */ +#line 6503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9801,19 +9932,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9805 "fe/idl.tab.cpp" +#line 9936 "fe/idl.tab.cpp" break; - case 542: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6434 "fe/idl.ypp" + case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6519 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9813 "fe/idl.tab.cpp" +#line 9944 "fe/idl.tab.cpp" break; - case 543: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6443 "fe/idl.ypp" + case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6528 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9826,29 +9957,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9830 "fe/idl.tab.cpp" +#line 9961 "fe/idl.tab.cpp" break; - case 544: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6460 "fe/idl.ypp" + case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9840 "fe/idl.tab.cpp" +#line 9971 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6469 "fe/idl.ypp" + case 552: /* $@177: %empty */ +#line 6554 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9848 "fe/idl.tab.cpp" +#line 9979 "fe/idl.tab.cpp" break; - case 546: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ -#line 6473 "fe/idl.ypp" + case 553: /* event_rest_of_header: inheritance_spec $@177 supports_spec */ +#line 6558 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -9877,11 +10008,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 9881 "fe/idl.tab.cpp" +#line 10012 "fe/idl.tab.cpp" break; - case 547: /* @173: %empty */ -#line 6506 "fe/idl.ypp" + case 554: /* @178: %empty */ +#line 6591 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -9932,27 +10063,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 9936 "fe/idl.tab.cpp" +#line 10067 "fe/idl.tab.cpp" break; - case 548: /* $@174: %empty */ -#line 6557 "fe/idl.ypp" + case 555: /* $@179: %empty */ +#line 6642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9944 "fe/idl.tab.cpp" +#line 10075 "fe/idl.tab.cpp" break; - case 549: /* $@175: %empty */ -#line 6561 "fe/idl.ypp" + case 556: /* $@180: %empty */ +#line 6646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9952 "fe/idl.tab.cpp" +#line 10083 "fe/idl.tab.cpp" break; - case 550: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ -#line 6565 "fe/idl.ypp" + case 557: /* event_decl: event_header event_rest_of_header @178 '{' $@179 value_elements $@180 '}' */ +#line 6650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9963,108 +10094,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 9967 "fe/idl.tab.cpp" +#line 10098 "fe/idl.tab.cpp" break; - case 551: /* event_header: event_custom_header */ -#line 6579 "fe/idl.ypp" + case 558: /* event_header: event_custom_header */ +#line 6664 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9975 "fe/idl.tab.cpp" +#line 10106 "fe/idl.tab.cpp" break; - case 552: /* event_header: event_plain_header */ -#line 6583 "fe/idl.ypp" + case 559: /* event_header: event_plain_header */ +#line 6668 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9983 "fe/idl.tab.cpp" +#line 10114 "fe/idl.tab.cpp" break; - case 553: /* formal_parameter_type: IDL_TYPENAME */ -#line 6590 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_TYPENAME */ +#line 6675 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 9991 "fe/idl.tab.cpp" +#line 10122 "fe/idl.tab.cpp" break; - case 554: /* formal_parameter_type: IDL_STRUCT */ -#line 6594 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_STRUCT */ +#line 6679 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 9999 "fe/idl.tab.cpp" +#line 10130 "fe/idl.tab.cpp" break; - case 555: /* formal_parameter_type: IDL_UNION */ -#line 6598 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_UNION */ +#line 6683 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10007 "fe/idl.tab.cpp" +#line 10138 "fe/idl.tab.cpp" break; - case 556: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6602 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6687 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10015 "fe/idl.tab.cpp" +#line 10146 "fe/idl.tab.cpp" break; - case 557: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6606 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6691 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10023 "fe/idl.tab.cpp" +#line 10154 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_INTERFACE */ -#line 6610 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_INTERFACE */ +#line 6695 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10031 "fe/idl.tab.cpp" +#line 10162 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6614 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6699 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10039 "fe/idl.tab.cpp" +#line 10170 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_ENUM */ -#line 6618 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_ENUM */ +#line 6703 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10047 "fe/idl.tab.cpp" +#line 10178 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6622 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6707 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10055 "fe/idl.tab.cpp" +#line 10186 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_CONST const_type */ -#line 6626 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_CONST const_type */ +#line 6711 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10064 "fe/idl.tab.cpp" +#line 10195 "fe/idl.tab.cpp" break; - case 563: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6634 "fe/idl.ypp" + case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6719 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10092,11 +10223,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10096 "fe/idl.tab.cpp" +#line 10227 "fe/idl.tab.cpp" break; - case 564: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6665 "fe/idl.ypp" + case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6750 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10109,19 +10240,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10113 "fe/idl.tab.cpp" +#line 10244 "fe/idl.tab.cpp" break; - case 565: /* formal_parameters: %empty */ -#line 6678 "fe/idl.ypp" + case 572: /* formal_parameters: %empty */ +#line 6763 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10121 "fe/idl.tab.cpp" +#line 10252 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6685 "fe/idl.ypp" + case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6770 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10146,11 +10277,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10150 "fe/idl.tab.cpp" +#line 10281 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6710 "fe/idl.ypp" + case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6795 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10165,19 +10296,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10169 "fe/idl.tab.cpp" +#line 10300 "fe/idl.tab.cpp" break; - case 568: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6728 "fe/idl.ypp" + case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6813 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10177 "fe/idl.tab.cpp" +#line 10308 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6735 "fe/idl.ypp" + case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6820 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10192,37 +10323,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10196 "fe/idl.tab.cpp" +#line 10327 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_names: %empty */ -#line 6750 "fe/idl.ypp" + case 577: /* formal_parameter_names: %empty */ +#line 6835 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10204 "fe/idl.tab.cpp" +#line 10335 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter_name: IDENTIFIER */ -#line 6757 "fe/idl.ypp" + case 578: /* formal_parameter_name: IDENTIFIER */ +#line 6842 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10214 "fe/idl.tab.cpp" +#line 10345 "fe/idl.tab.cpp" break; - case 572: /* $@176: %empty */ -#line 6766 "fe/idl.ypp" + case 579: /* $@181: %empty */ +#line 6851 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10222 "fe/idl.tab.cpp" +#line 10353 "fe/idl.tab.cpp" break; - case 573: /* @177: %empty */ -#line 6770 "fe/idl.ypp" + case 580: /* @182: %empty */ +#line 6855 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10241,27 +10372,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10245 "fe/idl.tab.cpp" +#line 10376 "fe/idl.tab.cpp" break; - case 574: /* $@178: %empty */ -#line 6789 "fe/idl.ypp" + case 581: /* $@183: %empty */ +#line 6874 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10253 "fe/idl.tab.cpp" +#line 10384 "fe/idl.tab.cpp" break; - case 575: /* $@179: %empty */ -#line 6797 "fe/idl.ypp" + case 582: /* $@184: %empty */ +#line 6882 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10261 "fe/idl.tab.cpp" +#line 10392 "fe/idl.tab.cpp" break; - case 576: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ -#line 6801 "fe/idl.ypp" + case 583: /* porttype_decl: IDL_PORTTYPE $@181 IDENTIFIER @182 '{' $@183 at_least_one_port_export $@184 '}' */ +#line 6886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10270,11 +10401,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10274 "fe/idl.tab.cpp" +#line 10405 "fe/idl.tab.cpp" break; - case 577: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6813 "fe/idl.ypp" + case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6898 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10289,27 +10420,27 @@ yyparse (void) } delete annotations; } -#line 10293 "fe/idl.tab.cpp" +#line 10424 "fe/idl.tab.cpp" break; - case 583: /* $@180: %empty */ -#line 6839 "fe/idl.ypp" + case 590: /* $@185: %empty */ +#line 6924 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10301 "fe/idl.tab.cpp" +#line 10432 "fe/idl.tab.cpp" break; - case 584: /* port_export: attribute $@180 ';' */ -#line 6843 "fe/idl.ypp" + case 591: /* port_export: attribute $@185 ';' */ +#line 6928 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10309 "fe/idl.tab.cpp" +#line 10440 "fe/idl.tab.cpp" break; - case 585: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6850 "fe/idl.ypp" + case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10376,11 +10507,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10380 "fe/idl.tab.cpp" +#line 10511 "fe/idl.tab.cpp" break; - case 586: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 6917 "fe/idl.ypp" + case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10425,11 +10556,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10429 "fe/idl.tab.cpp" +#line 10560 "fe/idl.tab.cpp" break; - case 587: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 6965 "fe/idl.ypp" + case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7050 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10442,11 +10573,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10446 "fe/idl.tab.cpp" +#line 10577 "fe/idl.tab.cpp" break; - case 588: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 6981 "fe/idl.ypp" + case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7066 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10459,19 +10590,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10463 "fe/idl.tab.cpp" +#line 10594 "fe/idl.tab.cpp" break; - case 589: /* actual_parameters: %empty */ -#line 6994 "fe/idl.ypp" + case 596: /* actual_parameters: %empty */ +#line 7079 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10471 "fe/idl.tab.cpp" +#line 10602 "fe/idl.tab.cpp" break; - case 590: /* actual_parameter: expression */ -#line 7001 "fe/idl.ypp" + case 597: /* actual_parameter: expression */ +#line 7086 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10527,35 +10658,35 @@ yyparse (void) 0); } } -#line 10531 "fe/idl.tab.cpp" +#line 10662 "fe/idl.tab.cpp" break; - case 591: /* connector_decl: connector_header connector_body */ -#line 7060 "fe/idl.ypp" + case 598: /* connector_decl: connector_header connector_body */ +#line 7145 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10539 "fe/idl.tab.cpp" +#line 10670 "fe/idl.tab.cpp" break; - case 592: /* $@181: %empty */ -#line 7067 "fe/idl.ypp" + case 599: /* $@186: %empty */ +#line 7152 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10547 "fe/idl.tab.cpp" +#line 10678 "fe/idl.tab.cpp" break; - case 593: /* $@182: %empty */ -#line 7071 "fe/idl.ypp" + case 600: /* $@187: %empty */ +#line 7156 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10555 "fe/idl.tab.cpp" +#line 10686 "fe/idl.tab.cpp" break; - case 594: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ -#line 7075 "fe/idl.ypp" + case 601: /* connector_header: IDL_CONNECTOR $@186 annotations_maybe IDENTIFIER $@187 component_inheritance_spec */ +#line 7160 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10609,102 +10740,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10613 "fe/idl.tab.cpp" +#line 10744 "fe/idl.tab.cpp" break; - case 595: /* $@183: %empty */ -#line 7132 "fe/idl.ypp" + case 602: /* $@188: %empty */ +#line 7217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10621 "fe/idl.tab.cpp" +#line 10752 "fe/idl.tab.cpp" break; - case 596: /* $@184: %empty */ -#line 7136 "fe/idl.ypp" + case 603: /* $@189: %empty */ +#line 7221 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10629 "fe/idl.tab.cpp" +#line 10760 "fe/idl.tab.cpp" break; - case 597: /* connector_body: '{' $@183 connector_exports $@184 '}' */ -#line 7140 "fe/idl.ypp" + case 604: /* connector_body: '{' $@188 connector_exports $@189 '}' */ +#line 7225 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10640 "fe/idl.tab.cpp" +#line 10771 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7155 "fe/idl.ypp" + case 607: /* $@190: %empty */ +#line 7240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10648 "fe/idl.tab.cpp" +#line 10779 "fe/idl.tab.cpp" break; - case 601: /* connector_export: provides_decl $@185 ';' */ -#line 7159 "fe/idl.ypp" + case 608: /* connector_export: provides_decl $@190 ';' */ +#line 7244 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10656 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7163 "fe/idl.ypp" + case 609: /* $@191: %empty */ +#line 7248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10664 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 603: /* connector_export: uses_decl $@186 ';' */ -#line 7167 "fe/idl.ypp" + case 610: /* connector_export: uses_decl $@191 ';' */ +#line 7252 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10672 "fe/idl.tab.cpp" +#line 10803 "fe/idl.tab.cpp" break; - case 604: /* $@187: %empty */ -#line 7171 "fe/idl.ypp" + case 611: /* $@192: %empty */ +#line 7256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10680 "fe/idl.tab.cpp" +#line 10811 "fe/idl.tab.cpp" break; - case 605: /* connector_export: attribute $@187 ';' */ -#line 7175 "fe/idl.ypp" + case 612: /* connector_export: attribute $@192 ';' */ +#line 7260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10688 "fe/idl.tab.cpp" +#line 10819 "fe/idl.tab.cpp" break; - case 606: /* $@188: %empty */ -#line 7179 "fe/idl.ypp" + case 613: /* $@193: %empty */ +#line 7264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10696 "fe/idl.tab.cpp" +#line 10827 "fe/idl.tab.cpp" break; - case 607: /* connector_export: extended_port_decl $@188 ';' */ -#line 7183 "fe/idl.ypp" + case 614: /* connector_export: extended_port_decl $@193 ';' */ +#line 7268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10704 "fe/idl.tab.cpp" +#line 10835 "fe/idl.tab.cpp" break; -#line 10708 "fe/idl.tab.cpp" +#line 10839 "fe/idl.tab.cpp" default: break; } @@ -10898,7 +11029,7 @@ yyparse (void) return yyresult; } -#line 7188 "fe/idl.ypp" +#line 7273 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 000f4c974d252..9c683c1c6c4ec 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.6. */ +/* A Bison parser, made by GNU Bison 3.7.5. */ /* Bison interface for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -76,77 +76,78 @@ extern int tao_yydebug; IDL_SWITCH = 277, /* IDL_SWITCH */ IDL_ENUM = 278, /* IDL_ENUM */ IDL_SEQUENCE = 279, /* IDL_SEQUENCE */ - IDL_STRING = 280, /* IDL_STRING */ - IDL_WSTRING = 281, /* IDL_WSTRING */ - IDL_EXCEPTION = 282, /* IDL_EXCEPTION */ - IDL_CASE = 283, /* IDL_CASE */ - IDL_DEFAULT = 284, /* IDL_DEFAULT */ - IDL_READONLY = 285, /* IDL_READONLY */ - IDL_ATTRIBUTE = 286, /* IDL_ATTRIBUTE */ - IDL_ONEWAY = 287, /* IDL_ONEWAY */ - IDL_IDEMPOTENT = 288, /* IDL_IDEMPOTENT */ - IDL_VOID = 289, /* IDL_VOID */ - IDL_IN = 290, /* IDL_IN */ - IDL_OUT = 291, /* IDL_OUT */ - IDL_INOUT = 292, /* IDL_INOUT */ - IDL_RAISES = 293, /* IDL_RAISES */ - IDL_CONTEXT = 294, /* IDL_CONTEXT */ - IDL_NATIVE = 295, /* IDL_NATIVE */ - IDL_LOCAL = 296, /* IDL_LOCAL */ - IDL_ABSTRACT = 297, /* IDL_ABSTRACT */ - IDL_CUSTOM = 298, /* IDL_CUSTOM */ - IDL_FACTORY = 299, /* IDL_FACTORY */ - IDL_PRIVATE = 300, /* IDL_PRIVATE */ - IDL_PUBLIC = 301, /* IDL_PUBLIC */ - IDL_SUPPORTS = 302, /* IDL_SUPPORTS */ - IDL_TRUNCATABLE = 303, /* IDL_TRUNCATABLE */ - IDL_VALUETYPE = 304, /* IDL_VALUETYPE */ - IDL_COMPONENT = 305, /* IDL_COMPONENT */ - IDL_CONSUMES = 306, /* IDL_CONSUMES */ - IDL_EMITS = 307, /* IDL_EMITS */ - IDL_EVENTTYPE = 308, /* IDL_EVENTTYPE */ - IDL_FINDER = 309, /* IDL_FINDER */ - IDL_GETRAISES = 310, /* IDL_GETRAISES */ - IDL_HOME = 311, /* IDL_HOME */ - IDL_IMPORT = 312, /* IDL_IMPORT */ - IDL_MULTIPLE = 313, /* IDL_MULTIPLE */ - IDL_PRIMARYKEY = 314, /* IDL_PRIMARYKEY */ - IDL_PROVIDES = 315, /* IDL_PROVIDES */ - IDL_PUBLISHES = 316, /* IDL_PUBLISHES */ - IDL_SETRAISES = 317, /* IDL_SETRAISES */ - IDL_TYPEID = 318, /* IDL_TYPEID */ - IDL_TYPEPREFIX = 319, /* IDL_TYPEPREFIX */ - IDL_USES = 320, /* IDL_USES */ - IDL_MANAGES = 321, /* IDL_MANAGES */ - IDL_TYPENAME = 322, /* IDL_TYPENAME */ - IDL_PORT = 323, /* IDL_PORT */ - IDL_MIRRORPORT = 324, /* IDL_MIRRORPORT */ - IDL_PORTTYPE = 325, /* IDL_PORTTYPE */ - IDL_CONNECTOR = 326, /* IDL_CONNECTOR */ - IDL_ALIAS = 327, /* IDL_ALIAS */ - IDL_INTEGER_LITERAL = 328, /* IDL_INTEGER_LITERAL */ - IDL_UINTEGER_LITERAL = 329, /* IDL_UINTEGER_LITERAL */ - IDL_STRING_LITERAL = 330, /* IDL_STRING_LITERAL */ - IDL_CHARACTER_LITERAL = 331, /* IDL_CHARACTER_LITERAL */ - IDL_FLOATING_PT_LITERAL = 332, /* IDL_FLOATING_PT_LITERAL */ - IDL_FIXED_PT_LITERAL = 333, /* IDL_FIXED_PT_LITERAL */ - IDL_TRUETOK = 334, /* IDL_TRUETOK */ - IDL_FALSETOK = 335, /* IDL_FALSETOK */ - IDL_INT8 = 336, /* IDL_INT8 */ - IDL_UINT8 = 337, /* IDL_UINT8 */ - IDL_INT16 = 338, /* IDL_INT16 */ - IDL_UINT16 = 339, /* IDL_UINT16 */ - IDL_INT32 = 340, /* IDL_INT32 */ - IDL_UINT32 = 341, /* IDL_UINT32 */ - IDL_INT64 = 342, /* IDL_INT64 */ - IDL_UINT64 = 343, /* IDL_UINT64 */ - IDL_SCOPE_DELIMITOR = 344, /* IDL_SCOPE_DELIMITOR */ - IDL_LEFT_SHIFT = 345, /* IDL_LEFT_SHIFT */ - IDL_RIGHT_SHIFT = 346, /* IDL_RIGHT_SHIFT */ - IDL_WCHAR_LITERAL = 347, /* IDL_WCHAR_LITERAL */ - IDL_WSTRING_LITERAL = 348, /* IDL_WSTRING_LITERAL */ - IDL_ANNOTATION_DECL = 349, /* IDL_ANNOTATION_DECL */ - IDL_ANNOTATION_SYMBOL = 350 /* IDL_ANNOTATION_SYMBOL */ + IDL_MAP = 280, /* IDL_MAP */ + IDL_STRING = 281, /* IDL_STRING */ + IDL_WSTRING = 282, /* IDL_WSTRING */ + IDL_EXCEPTION = 283, /* IDL_EXCEPTION */ + IDL_CASE = 284, /* IDL_CASE */ + IDL_DEFAULT = 285, /* IDL_DEFAULT */ + IDL_READONLY = 286, /* IDL_READONLY */ + IDL_ATTRIBUTE = 287, /* IDL_ATTRIBUTE */ + IDL_ONEWAY = 288, /* IDL_ONEWAY */ + IDL_IDEMPOTENT = 289, /* IDL_IDEMPOTENT */ + IDL_VOID = 290, /* IDL_VOID */ + IDL_IN = 291, /* IDL_IN */ + IDL_OUT = 292, /* IDL_OUT */ + IDL_INOUT = 293, /* IDL_INOUT */ + IDL_RAISES = 294, /* IDL_RAISES */ + IDL_CONTEXT = 295, /* IDL_CONTEXT */ + IDL_NATIVE = 296, /* IDL_NATIVE */ + IDL_LOCAL = 297, /* IDL_LOCAL */ + IDL_ABSTRACT = 298, /* IDL_ABSTRACT */ + IDL_CUSTOM = 299, /* IDL_CUSTOM */ + IDL_FACTORY = 300, /* IDL_FACTORY */ + IDL_PRIVATE = 301, /* IDL_PRIVATE */ + IDL_PUBLIC = 302, /* IDL_PUBLIC */ + IDL_SUPPORTS = 303, /* IDL_SUPPORTS */ + IDL_TRUNCATABLE = 304, /* IDL_TRUNCATABLE */ + IDL_VALUETYPE = 305, /* IDL_VALUETYPE */ + IDL_COMPONENT = 306, /* IDL_COMPONENT */ + IDL_CONSUMES = 307, /* IDL_CONSUMES */ + IDL_EMITS = 308, /* IDL_EMITS */ + IDL_EVENTTYPE = 309, /* IDL_EVENTTYPE */ + IDL_FINDER = 310, /* IDL_FINDER */ + IDL_GETRAISES = 311, /* IDL_GETRAISES */ + IDL_HOME = 312, /* IDL_HOME */ + IDL_IMPORT = 313, /* IDL_IMPORT */ + IDL_MULTIPLE = 314, /* IDL_MULTIPLE */ + IDL_PRIMARYKEY = 315, /* IDL_PRIMARYKEY */ + IDL_PROVIDES = 316, /* IDL_PROVIDES */ + IDL_PUBLISHES = 317, /* IDL_PUBLISHES */ + IDL_SETRAISES = 318, /* IDL_SETRAISES */ + IDL_TYPEID = 319, /* IDL_TYPEID */ + IDL_TYPEPREFIX = 320, /* IDL_TYPEPREFIX */ + IDL_USES = 321, /* IDL_USES */ + IDL_MANAGES = 322, /* IDL_MANAGES */ + IDL_TYPENAME = 323, /* IDL_TYPENAME */ + IDL_PORT = 324, /* IDL_PORT */ + IDL_MIRRORPORT = 325, /* IDL_MIRRORPORT */ + IDL_PORTTYPE = 326, /* IDL_PORTTYPE */ + IDL_CONNECTOR = 327, /* IDL_CONNECTOR */ + IDL_ALIAS = 328, /* IDL_ALIAS */ + IDL_INTEGER_LITERAL = 329, /* IDL_INTEGER_LITERAL */ + IDL_UINTEGER_LITERAL = 330, /* IDL_UINTEGER_LITERAL */ + IDL_STRING_LITERAL = 331, /* IDL_STRING_LITERAL */ + IDL_CHARACTER_LITERAL = 332, /* IDL_CHARACTER_LITERAL */ + IDL_FLOATING_PT_LITERAL = 333, /* IDL_FLOATING_PT_LITERAL */ + IDL_FIXED_PT_LITERAL = 334, /* IDL_FIXED_PT_LITERAL */ + IDL_TRUETOK = 335, /* IDL_TRUETOK */ + IDL_FALSETOK = 336, /* IDL_FALSETOK */ + IDL_INT8 = 337, /* IDL_INT8 */ + IDL_UINT8 = 338, /* IDL_UINT8 */ + IDL_INT16 = 339, /* IDL_INT16 */ + IDL_UINT16 = 340, /* IDL_UINT16 */ + IDL_INT32 = 341, /* IDL_INT32 */ + IDL_UINT32 = 342, /* IDL_UINT32 */ + IDL_INT64 = 343, /* IDL_INT64 */ + IDL_UINT64 = 344, /* IDL_UINT64 */ + IDL_SCOPE_DELIMITOR = 345, /* IDL_SCOPE_DELIMITOR */ + IDL_LEFT_SHIFT = 346, /* IDL_LEFT_SHIFT */ + IDL_RIGHT_SHIFT = 347, /* IDL_RIGHT_SHIFT */ + IDL_WCHAR_LITERAL = 348, /* IDL_WCHAR_LITERAL */ + IDL_WSTRING_LITERAL = 349, /* IDL_WSTRING_LITERAL */ + IDL_ANNOTATION_DECL = 350, /* IDL_ANNOTATION_DECL */ + IDL_ANNOTATION_SYMBOL = 351 /* IDL_ANNOTATION_SYMBOL */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -155,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 163 "fe/idl.ypp" +#line 164 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ @@ -200,7 +201,7 @@ union YYSTYPE AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; -#line 204 "fe/idl.tab.hpp" +#line 205 "fe/idl.tab.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 81fc6a05dd019..68499e8932768 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -131,6 +131,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include #include #include +#include #include #include @@ -232,6 +233,7 @@ bool stack_based_lookup_for_primary_expr = false; %token IDL_SWITCH %token IDL_ENUM %token IDL_SEQUENCE +%token IDL_MAP %token IDL_STRING %token IDL_WSTRING %token IDL_EXCEPTION @@ -317,7 +319,7 @@ bool stack_based_lookup_for_primary_expr = false; */ %type type_spec simple_type_spec constructed_type_spec -%type template_type_spec sequence_type_spec string_type_spec +%type template_type_spec sequence_type_spec string_type_spec map_type_spec %type struct_type enum_type switch_type_spec union_type %type array_declarator op_type_spec wstring_type_spec %type param_type_spec type_dcl type_declarator actual_parameter @@ -2834,6 +2836,7 @@ template_type_spec | string_type_spec | wstring_type_spec | fixed_type_spec + | map_type_spec ; constructed_type_spec @@ -3889,6 +3892,88 @@ enumerator : } ; +map_type_spec : + IDL_MAP + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); + idl_global->scopes().push(0); + } + '<' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); + } + simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } + ',' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); + } + simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } + '>' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + AST_Decl *key_type = $5; + AST_Decl *val_type = $9; + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type); + AST_Type *vtp = dynamic_cast (val_type); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; + + map = + idl_global->gen ()->create_map ( + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + + idl_global->err ()->anonymous_type_diagnostic (); + } + } + + // delete type_annotations; + + $$ = map; + } + ; + sequence_type_spec : seq_head ',' diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index b4759822f45ce..7b90a5d1f1155 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -608,8 +608,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 121 -#define YY_END_OF_BUFFER 122 +#define YY_NUM_RULES 123 +#define YY_END_OF_BUFFER 124 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -617,80 +617,80 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[626] = +static const flex_int16_t yy_acclist[629] = { 0, - 118, 118, 122, 120, 121, 118, 120, 121, 119, 121, - 119, 120, 121, 120, 121, 120, 121, 120, 121, 120, - 121, 120, 121, 93, 120, 121, 89, 120, 121, 120, - 121, 120, 121, 120, 121, 83, 120, 121, 84, 120, - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 84, 120, 121, 84, 120, 121, 84, - 120, 121, 84, 120, 121, 84, 120, 121, 84, 120, - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 84, 120, 121, 84, 120, 121, 84, - 120, 121, 84, 120, 121, 84, 120, 121, 84, 120, - - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 118, 120, 121, 120, 121, 119, 120, - 121, 118, 94, 92, 88, 85, 117, 85, 93, 87, - 89, 81, 79, 80, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 76, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 118, - 112, 94, 96, 96, 92, 88, 85, 116, 116, 85, - - 86, 91, 84, 95, 84, 84, 84, 84, 1, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 77, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 99, 97, 99, 90, 85, - 86, 84, 95, 100, 84, 73, 84, 84, 84, 84, - 84, 20, 84, 27, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 13, 84, 84, 84, 84, 84, 84, - - 84, 84, 56, 84, 84, 84, 84, 84, 84, 35, - 84, 84, 84, 24, 84, 84, 84, 84, 84, 84, - 84, 84, 68, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 65, 84, 84, 31, 84, 84, 84, 113, - 97, 98, 74, 84, 84, 84, 72, 84, 84, 84, - 84, 84, 10, 84, 84, 84, 84, 84, 84, 52, - 84, 84, 84, 84, 84, 18, 84, 22, 84, 84, - 84, 75, 84, 37, 84, 39, 84, 41, 84, 84, - 33, 84, 84, 84, 84, 84, 84, 30, 84, 84, - - 84, 84, 84, 84, 84, 84, 84, 84, 84, 25, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 36, 84, 17, 84, 84, 84, 28, - 84, 84, 108, 101, 2, 84, 84, 84, 84, 84, - 84, 84, 84, 43, 84, 84, 23, 84, 84, 84, - 84, 54, 84, 84, 57, 84, 84, 84, 84, 3, - 84, 84, 32, 84, 78, 84, 84, 84, 84, 84, - 46, 84, 84, 4, 84, 84, 84, 84, 14, 84, - 12, 84, 84, 19, 84, 84, 84, 63, 84, 84, - 84, 38, 84, 40, 84, 42, 84, 84, 84, 84, - - 106, 84, 84, 29, 84, 84, 84, 84, 8, 84, - 21, 84, 84, 84, 44, 84, 84, 84, 66, 84, - 84, 84, 84, 84, 45, 84, 84, 84, 84, 84, - 84, 84, 84, 11, 84, 84, 84, 84, 84, 15, - 84, 104, 104, 110, 109, 34, 84, 84, 84, 84, - 51, 84, 84, 84, 84, 84, 84, 58, 84, 70, - 84, 84, 60, 84, 84, 5, 84, 16, 84, 84, - 47, 84, 84, 67, 84, 84, 26, 84, 84, 114, - 114, 107, 6, 84, 50, 84, 71, 84, 53, 84, - 7, 84, 55, 84, 9, 84, 84, 84, 61, 84, - - 62, 84, 84, 84, 49, 84, 102, 102, 105, 105, - 69, 84, 59, 84, 84, 64, 84, 115, 115, 48, - 84, 111, 103, 103, 82 + 120, 120, 124, 122, 123, 120, 122, 123, 121, 123, + 121, 122, 123, 122, 123, 122, 123, 122, 123, 122, + 123, 122, 123, 95, 122, 123, 91, 122, 123, 122, + 123, 122, 123, 122, 123, 85, 122, 123, 86, 122, + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, + 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, + 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, + + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 120, 122, 123, 122, 123, 121, 122, + 123, 120, 96, 94, 90, 87, 119, 87, 95, 89, + 91, 83, 81, 82, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 78, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 120, + 114, 96, 98, 98, 94, 90, 87, 118, 118, 87, + + 88, 93, 86, 97, 86, 86, 86, 86, 1, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 17, 44, 86, 86, 86, + 86, 86, 86, 86, 79, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 101, 99, + 101, 92, 87, 88, 86, 97, 102, 86, 75, 86, + 86, 86, 86, 86, 21, 86, 28, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 13, 86, 86, 86, + + 86, 86, 86, 86, 86, 58, 86, 86, 86, 86, + 86, 86, 36, 86, 86, 86, 25, 86, 86, 86, + 86, 86, 86, 86, 86, 70, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 67, 86, 86, 32, 86, + 86, 86, 115, 99, 100, 76, 86, 86, 86, 74, + 86, 86, 86, 86, 86, 10, 86, 86, 86, 86, + 86, 86, 54, 86, 86, 86, 86, 86, 19, 86, + 23, 86, 86, 86, 77, 86, 38, 86, 40, 86, + 42, 86, 86, 34, 86, 86, 86, 86, 86, 86, + + 31, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 26, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 37, 86, 18, 86, + 86, 86, 29, 86, 86, 110, 103, 2, 86, 86, + 86, 86, 86, 86, 86, 86, 45, 86, 86, 24, + 86, 86, 86, 86, 56, 86, 86, 59, 86, 86, + 86, 86, 3, 86, 86, 33, 86, 80, 86, 86, + 86, 86, 86, 48, 86, 86, 4, 86, 86, 86, + 86, 14, 86, 12, 86, 86, 20, 86, 86, 86, + 65, 86, 86, 86, 39, 86, 41, 86, 43, 86, + + 86, 86, 86, 108, 86, 86, 30, 86, 86, 86, + 86, 8, 86, 22, 86, 86, 86, 46, 86, 86, + 86, 68, 86, 86, 86, 86, 86, 47, 86, 86, + 86, 86, 86, 86, 86, 86, 11, 86, 86, 86, + 86, 86, 15, 86, 106, 106, 112, 111, 35, 86, + 86, 86, 86, 53, 86, 86, 86, 86, 86, 86, + 60, 86, 72, 86, 86, 62, 86, 86, 5, 86, + 16, 86, 86, 49, 86, 86, 69, 86, 86, 27, + 86, 86, 116, 116, 109, 6, 86, 52, 86, 73, + 86, 55, 86, 7, 86, 57, 86, 9, 86, 86, + + 86, 63, 86, 64, 86, 86, 86, 51, 86, 104, + 104, 107, 107, 71, 86, 61, 86, 86, 66, 86, + 117, 117, 50, 86, 113, 105, 105, 84 } ; -static const flex_int16_t yy_accept[623] = +static const flex_int16_t yy_accept[624] = { 0, 1, 2, 3, 4, 6, 9, 11, 14, 16, 18, 20, 22, 24, 27, 30, 32, 34, 36, 39, 42, @@ -712,55 +712,55 @@ static const flex_int16_t yy_accept[623] = 204, 205, 205, 205, 205, 206, 207, 208, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - - 242, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 267, 269, 269, 269, 270, 270, 271, 272, - 272, 273, 274, 274, 274, 274, 274, 275, 275, 276, - 278, 279, 280, 281, 282, 284, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 296, 297, 298, 299, 300, - 301, 302, 303, 305, 306, 307, 308, 309, 310, 312, - 313, 314, 316, 317, 318, 319, 320, 321, 322, 323, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - - 335, 336, 337, 338, 339, 340, 341, 342, 343, 345, - 346, 348, 349, 350, 350, 350, 350, 350, 350, 350, - 350, 351, 351, 351, 351, 351, 351, 351, 351, 352, - 352, 353, 353, 353, 355, 355, 355, 355, 356, 357, - 359, 360, 361, 362, 363, 365, 366, 367, 368, 369, - 370, 372, 373, 374, 375, 376, 378, 380, 381, 382, - 384, 386, 388, 390, 391, 393, 394, 395, 396, 397, - 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 426, 428, 429, 430, 432, - - 433, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 435, 435, 437, 438, - 439, 440, 441, 442, 443, 444, 446, 447, 449, 450, - 451, 452, 454, 455, 457, 458, 459, 460, 462, 463, - 465, 467, 468, 469, 470, 471, 473, 474, 476, 477, - 478, 479, 481, 483, 484, 486, 487, 488, 490, 491, - 492, 494, 496, 498, 499, 500, 501, 501, 502, 502, - 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 502, 502, 502, 502, 503, 504, 506, 507, 508, 509, - 511, 513, 514, 515, 517, 518, 519, 521, 522, 523, - - 524, 525, 527, 528, 529, 530, 531, 532, 533, 534, - 536, 537, 538, 539, 540, 542, 542, 542, 543, 544, - 544, 544, 545, 545, 545, 546, 546, 546, 546, 546, - 546, 546, 546, 546, 548, 549, 550, 551, 553, 554, - 555, 556, 557, 558, 560, 562, 563, 565, 566, 568, - 570, 571, 573, 574, 576, 577, 579, 580, 580, 581, - 582, 582, 582, 582, 582, 583, 583, 583, 583, 583, - 583, 583, 583, 583, 585, 587, 589, 591, 593, 595, - 597, 598, 599, 601, 603, 604, 605, 607, 607, 607, - 607, 608, 609, 609, 609, 610, 611, 611, 611, 611, - - 611, 611, 613, 615, 616, 618, 618, 618, 619, 620, - 620, 620, 620, 620, 622, 622, 623, 623, 624, 625, - 626, 626 + 232, 233, 234, 235, 236, 239, 240, 241, 242, 243, + + 244, 245, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 270, 272, 272, 272, 273, 273, 274, + 275, 275, 276, 277, 277, 277, 277, 277, 278, 278, + 279, 281, 282, 283, 284, 285, 287, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, + 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, + 315, 316, 317, 319, 320, 321, 322, 323, 324, 325, + 326, 328, 329, 330, 331, 332, 333, 334, 335, 336, + + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 348, 349, 351, 352, 353, 353, 353, 353, 353, 353, + 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, + 355, 355, 356, 356, 356, 358, 358, 358, 358, 359, + 360, 362, 363, 364, 365, 366, 368, 369, 370, 371, + 372, 373, 375, 376, 377, 378, 379, 381, 383, 384, + 385, 387, 389, 391, 393, 394, 396, 397, 398, 399, + 400, 401, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 429, 431, 432, 433, + + 435, 436, 437, 437, 437, 437, 437, 437, 437, 437, + 437, 437, 437, 437, 437, 437, 437, 438, 438, 440, + 441, 442, 443, 444, 445, 446, 447, 449, 450, 452, + 453, 454, 455, 457, 458, 460, 461, 462, 463, 465, + 466, 468, 470, 471, 472, 473, 474, 476, 477, 479, + 480, 481, 482, 484, 486, 487, 489, 490, 491, 493, + 494, 495, 497, 499, 501, 502, 503, 504, 504, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 506, 507, 509, 510, 511, + 512, 514, 516, 517, 518, 520, 521, 522, 524, 525, + + 526, 527, 528, 530, 531, 532, 533, 534, 535, 536, + 537, 539, 540, 541, 542, 543, 545, 545, 545, 546, + 547, 547, 547, 548, 548, 548, 549, 549, 549, 549, + 549, 549, 549, 549, 549, 551, 552, 553, 554, 556, + 557, 558, 559, 560, 561, 563, 565, 566, 568, 569, + 571, 573, 574, 576, 577, 579, 580, 582, 583, 583, + 584, 585, 585, 585, 585, 585, 586, 586, 586, 586, + 586, 586, 586, 586, 586, 588, 590, 592, 594, 596, + 598, 600, 601, 602, 604, 606, 607, 608, 610, 610, + 610, 610, 611, 612, 612, 612, 613, 614, 614, 614, + + 614, 614, 614, 616, 618, 619, 621, 621, 621, 622, + 623, 623, 623, 623, 623, 625, 625, 626, 626, 627, + 628, 629, 629 } ; static const YY_CHAR yy_ec[256] = @@ -806,161 +806,161 @@ static const YY_CHAR yy_meta[68] = 14, 16, 17, 16, 14, 16, 14 } ; -static const flex_int16_t yy_base[664] = +static const flex_int16_t yy_base[665] = { 0, - 0, 66, 1500, 1501, 67, 1501, 1501, 64, 1457, 62, - 80, 76, 95, 91, 1475, 1473, 1470, 1452, 0, 1465, - 80, 1449, 1455, 77, 1434, 97, 61, 64, 81, 1443, - 1432, 35, 1431, 100, 1444, 89, 93, 82, 108, 99, - 111, 121, 104, 172, 178, 1459, 182, 162, 183, 192, - 1477, 205, 223, 260, 202, 313, 1501, 224, 354, 103, - 223, 1501, 94, 0, 252, 1501, 1501, 1501, 1428, 0, - 1448, 210, 1440, 1429, 1440, 1418, 1427, 1410, 1414, 1418, - 1413, 1430, 120, 1411, 1423, 1407, 1418, 1405, 1420, 1421, - 1420, 135, 1407, 1401, 1407, 1403, 30, 202, 1404, 1399, - - 1412, 1403, 1394, 1393, 1407, 1391, 1392, 199, 1407, 1399, - 1406, 156, 1391, 1387, 1388, 1394, 1381, 1385, 1386, 202, - 1394, 1386, 1388, 1388, 1375, 255, 0, 211, 1501, 255, - 345, 1385, 1389, 1383, 1373, 1407, 283, 224, 225, 296, - 1501, 1423, 1422, 396, 1421, 227, 0, 293, 192, 1501, - 291, 1501, 293, 0, 403, 344, 0, 1372, 1389, 280, - 347, 412, 1418, 279, 1378, 1392, 1361, 1379, 0, 1361, - 1366, 1372, 1358, 1359, 295, 1354, 1372, 1370, 1351, 1357, - 1355, 1363, 1347, 1362, 1360, 1363, 1345, 1357, 1346, 1339, - 418, 1358, 1351, 1356, 1338, 1334, 1334, 1344, 1347, 1328, - - 0, 1330, 253, 1327, 1336, 1328, 1342, 1324, 1326, 1325, - 290, 1326, 1321, 1326, 1334, 1318, 1322, 1327, 1316, 1313, - 1329, 1331, 1313, 1366, 1365, 1316, 1322, 1312, 1324, 474, - 428, 1501, 1501, 441, 1358, 0, 488, 488, 1501, 1308, - 1332, 360, 1357, 294, 529, 0, 1501, 0, 1317, 0, - 1301, 1299, 1308, 1311, 0, 0, 1300, 1309, 301, 1308, - 1297, 1290, 1298, 1290, 0, 1288, 1291, 1291, 1300, 1300, - 1283, 1301, 0, 1283, 1280, 1321, 1324, 1321, 0, 1278, - 1283, 0, 1287, 1278, 1280, 1282, 1268, 1269, 1287, 1267, - 1285, 1284, 1275, 1274, 1277, 1266, 1275, 1278, 1258, 1263, - - 1273, 1260, 1271, 1270, 332, 447, 1258, 1264, 0, 1264, - 0, 1250, 1230, 1274, 447, 1232, 1222, 1173, 1170, 1164, - 1501, 267, 479, 1166, 1147, 1141, 1131, 352, 1501, 1182, - 1501, 1176, 1121, 0, 544, 581, 1174, 1119, 1137, 0, - 1135, 1131, 1117, 1127, 0, 1116, 1066, 1074, 1072, 1078, - 0, 1041, 1040, 1041, 1040, 0, 0, 1044, 1030, 0, - 0, 0, 0, 1041, 0, 1041, 1007, 1019, 1007, 1017, - 0, 996, 995, 997, 994, 1009, 336, 993, 993, 990, - 992, 0, 993, 977, 976, 982, 986, 978, 976, 976, - 958, 976, 979, 976, 0, 0, 936, 928, 0, 933, - - 1501, 511, 404, 922, 435, 926, 972, 968, 917, 921, - 911, 908, 887, 399, 616, 1501, 919, 0, 877, 856, - 862, 849, 833, 830, 810, 0, 809, 0, 803, 817, - 799, 0, 804, 0, 813, 791, 793, 0, 779, 0, - 0, 754, 744, 763, 762, 0, 758, 0, 753, 760, - 743, 0, 0, 740, 0, 738, 750, 0, 741, 747, - 0, 0, 0, 746, 719, 736, 549, 1501, 563, 514, - 461, 467, 577, 722, 738, 588, 693, 680, 687, 680, - 665, 651, 718, 663, 652, 0, 653, 651, 646, 0, - 0, 635, 619, 0, 628, 613, 0, 600, 596, 595, - - 587, 0, 578, 575, 542, 560, 559, 544, 551, 0, - 542, 540, 524, 499, 0, 614, 581, 1501, 617, 647, - 650, 1501, 550, 478, 1501, 683, 480, 478, 495, 484, - 473, 513, 512, 0, 465, 449, 427, 0, 439, 417, - 410, 407, 393, 0, 0, 389, 0, 346, 0, 0, - 330, 0, 340, 0, 329, 0, 319, 675, 1501, 686, - 337, 701, 688, 714, 1501, 718, 697, 524, 529, 567, - 732, 294, 266, 0, 0, 0, 0, 0, 0, 0, - 257, 237, 0, 0, 236, 151, 0, 728, 572, 708, - 1501, 735, 754, 739, 1501, 757, 760, 184, 180, 573, - - 92, 0, 0, 99, 0, 765, 768, 1501, 770, 69, - 772, 774, 0, 0, 786, 1501, 776, 1501, 779, 1501, - 1501, 813, 830, 840, 845, 858, 874, 884, 897, 907, - 914, 916, 931, 948, 960, 967, 976, 982, 999, 1011, - 1018, 1025, 1035, 1049, 1059, 1069, 1081, 1095, 1106, 1118, - 1133, 1150, 1166, 1176, 1185, 1196, 1212, 1223, 1240, 1257, - 1273, 1284, 1301 + 0, 66, 1501, 1502, 67, 1502, 1502, 64, 1458, 62, + 80, 76, 95, 91, 1476, 1474, 1471, 1453, 0, 1466, + 80, 1450, 1456, 77, 1435, 97, 61, 64, 81, 1444, + 1433, 35, 1432, 100, 1445, 89, 93, 82, 108, 99, + 111, 121, 104, 172, 178, 1460, 182, 162, 183, 192, + 1478, 205, 223, 260, 202, 313, 1502, 224, 354, 103, + 223, 1502, 94, 0, 252, 1502, 1502, 1502, 1429, 0, + 1449, 210, 1441, 1430, 1441, 1419, 1428, 1411, 1415, 1419, + 1414, 1431, 120, 1412, 1424, 1408, 1419, 1406, 1421, 1422, + 1421, 135, 1408, 1402, 1408, 1404, 30, 202, 90, 1401, + + 1414, 1405, 1396, 1395, 1409, 1393, 1394, 199, 1409, 1401, + 1408, 156, 1393, 1389, 1390, 1396, 1383, 1387, 1388, 202, + 1396, 1388, 1390, 1390, 1377, 255, 0, 211, 1502, 255, + 345, 1387, 1391, 1385, 1375, 1409, 283, 224, 225, 296, + 1502, 1425, 1424, 396, 1423, 227, 0, 293, 192, 1502, + 291, 1502, 293, 0, 403, 344, 0, 1374, 1391, 280, + 347, 412, 1420, 279, 1380, 1394, 1363, 1381, 0, 1363, + 1368, 1374, 1360, 1361, 295, 1356, 1374, 1372, 1353, 1359, + 1357, 1365, 1349, 1364, 1362, 1365, 1347, 1359, 1348, 1341, + 418, 1360, 1353, 1358, 0, 1340, 1336, 1336, 1346, 1349, + + 1330, 0, 1332, 253, 1329, 1338, 1330, 1344, 1326, 1328, + 1327, 290, 1328, 1323, 1328, 1336, 1320, 1324, 1329, 1318, + 1315, 1331, 1333, 1315, 1368, 1367, 1318, 1324, 1314, 1326, + 474, 428, 1502, 1502, 441, 1360, 0, 488, 488, 1502, + 1310, 1334, 360, 1359, 294, 529, 0, 1502, 0, 1319, + 0, 1303, 1301, 1310, 1313, 0, 0, 1302, 1311, 301, + 1310, 1299, 1292, 1300, 1292, 0, 1290, 1293, 1293, 1302, + 1302, 1285, 1303, 0, 1285, 1282, 1323, 1326, 1323, 0, + 1280, 1285, 0, 1289, 1280, 1282, 1284, 1270, 1271, 1289, + 1269, 1287, 1286, 1277, 1276, 1279, 1268, 1277, 1280, 1260, + + 1265, 1275, 1262, 1273, 1272, 332, 447, 1260, 1266, 0, + 1267, 0, 1253, 1260, 1304, 447, 1234, 1224, 1232, 1229, + 1166, 1502, 267, 479, 1168, 1172, 1166, 1133, 352, 1502, + 1184, 1502, 1183, 1128, 0, 544, 581, 1176, 1121, 1139, + 0, 1137, 1137, 1123, 1129, 0, 1118, 1106, 1116, 1078, + 1082, 0, 1064, 1063, 1043, 1042, 0, 0, 1050, 1038, + 0, 0, 0, 0, 1047, 0, 1045, 1029, 1041, 1009, + 1019, 0, 998, 997, 1003, 1000, 1011, 336, 995, 999, + 998, 998, 0, 997, 981, 982, 989, 993, 985, 983, + 982, 962, 999, 1002, 978, 0, 0, 939, 932, 0, + + 936, 1502, 511, 404, 928, 435, 934, 978, 975, 924, + 927, 915, 925, 924, 399, 616, 1502, 943, 0, 885, + 864, 866, 872, 856, 849, 833, 0, 815, 0, 805, + 820, 803, 0, 807, 0, 823, 804, 798, 0, 798, + 0, 0, 793, 766, 765, 764, 0, 760, 0, 755, + 763, 746, 0, 0, 743, 0, 742, 754, 0, 745, + 751, 0, 0, 0, 749, 727, 744, 549, 1502, 563, + 514, 461, 467, 577, 743, 779, 588, 718, 688, 693, + 687, 672, 651, 721, 665, 664, 0, 669, 657, 648, + 0, 0, 650, 650, 0, 646, 631, 0, 618, 611, + + 610, 590, 0, 581, 593, 572, 575, 562, 546, 563, + 0, 558, 546, 543, 530, 0, 614, 581, 1502, 617, + 647, 650, 1502, 564, 478, 1502, 683, 480, 495, 495, + 501, 489, 513, 531, 0, 477, 458, 452, 0, 464, + 431, 425, 426, 411, 0, 0, 407, 0, 392, 0, + 0, 375, 0, 363, 0, 340, 0, 337, 675, 1502, + 686, 374, 701, 688, 714, 1502, 718, 697, 524, 529, + 567, 732, 323, 286, 0, 0, 0, 0, 0, 0, + 0, 275, 256, 0, 0, 265, 238, 0, 728, 572, + 708, 1502, 735, 754, 739, 1502, 757, 760, 284, 211, + + 573, 134, 0, 0, 139, 0, 765, 768, 1502, 770, + 69, 772, 774, 0, 0, 786, 1502, 776, 1502, 779, + 1502, 1502, 813, 830, 840, 845, 858, 874, 884, 897, + 907, 914, 916, 931, 948, 960, 967, 976, 982, 999, + 1011, 1018, 1025, 1035, 1049, 1059, 1069, 1081, 1095, 1106, + 1118, 1133, 1150, 1166, 1176, 1185, 1196, 1212, 1223, 1240, + 1257, 1273, 1284, 1301 } ; -static const flex_int16_t yy_def[664] = +static const flex_int16_t yy_def[665] = { 0, - 621, 1, 621, 621, 621, 621, 621, 622, 623, 621, - 621, 621, 621, 624, 621, 621, 621, 621, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 621, 621, 621, 621, 622, 621, 626, - 621, 627, 621, 621, 628, 621, 621, 629, 621, 13, - 630, 621, 631, 632, 624, 621, 621, 621, 621, 625, - 625, 633, 634, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 621, 45, 45, 621, 45, - 45, 621, 621, 621, 621, 621, 621, 622, 622, 622, - 621, 621, 621, 621, 635, 54, 636, 628, 637, 621, - 629, 621, 629, 59, 621, 631, 632, 621, 625, 633, - 621, 638, 621, 621, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 639, 621, 621, 621, 621, 621, 621, - 622, 621, 621, 621, 640, 636, 621, 637, 621, 621, - 625, 621, 621, 633, 633, 641, 621, 642, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 639, 621, 621, 621, 621, 621, 230, - 621, 230, 230, 621, 621, 621, 621, 622, 621, 621, - 621, 621, 621, 625, 633, 633, 643, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 621, 644, 621, 621, 645, 621, 646, 621, 621, 621, - 621, 621, 621, 633, 336, 621, 647, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 648, 621, 644, 649, - 621, 645, 645, 621, 646, 621, 621, 621, 621, 621, - 621, 336, 650, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 648, 649, 621, 649, 651, - 621, 621, 652, 621, 621, 653, 621, 621, 654, 621, - 621, 633, 621, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 651, 621, 651, - 652, 655, 656, 657, 621, 653, 658, 621, 654, 654, - 621, 621, 621, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 655, 588, 656, - 621, 656, 657, 658, 621, 658, 659, 660, 621, 621, - - 621, 625, 625, 625, 625, 661, 659, 621, 659, 660, - 621, 662, 663, 625, 661, 621, 662, 621, 662, 621, - 0, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621 + 622, 1, 622, 622, 622, 622, 622, 623, 624, 622, + 622, 622, 622, 625, 622, 622, 622, 622, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 622, 622, 622, 622, 623, 622, 627, + 622, 628, 622, 622, 629, 622, 622, 630, 622, 13, + 631, 622, 632, 633, 625, 622, 622, 622, 622, 626, + 626, 634, 635, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 622, 45, 45, 622, 45, + 45, 622, 622, 622, 622, 622, 622, 623, 623, 623, + 622, 622, 622, 622, 636, 54, 637, 629, 638, 622, + 630, 622, 630, 59, 622, 632, 633, 622, 626, 634, + 622, 639, 622, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, + 622, 623, 622, 622, 622, 641, 637, 622, 638, 622, + 622, 626, 622, 622, 634, 634, 642, 622, 643, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, + 231, 622, 231, 231, 622, 622, 622, 622, 623, 622, + 622, 622, 622, 622, 626, 634, 634, 644, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 622, 645, 622, 622, 646, 622, 647, 622, 622, + 622, 622, 622, 622, 634, 337, 622, 648, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 649, 622, 645, + 650, 622, 646, 646, 622, 647, 622, 622, 622, 622, + 622, 622, 337, 651, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 649, 650, 622, 650, + 652, 622, 622, 653, 622, 622, 654, 622, 622, 655, + 622, 622, 634, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 652, 622, + 652, 653, 656, 657, 658, 622, 654, 659, 622, 655, + 655, 622, 622, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 656, 589, + 657, 622, 657, 658, 659, 622, 659, 660, 661, 622, + + 622, 622, 626, 626, 626, 626, 662, 660, 622, 660, + 661, 622, 663, 664, 626, 662, 622, 663, 622, 663, + 622, 0, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622 } ; -static const flex_int16_t yy_nxt[1569] = +static const flex_int16_t yy_nxt[1570] = { 0, 4, 5, 6, 7, 5, 8, 4, 9, 4, 4, 10, 11, 12, 13, 14, 14, 14, 14, 14, 14, @@ -969,7 +969,7 @@ static const flex_int16_t yy_nxt[1569] = 19, 4, 24, 25, 26, 27, 28, 29, 30, 31, 32, 19, 19, 33, 34, 35, 36, 37, 19, 38, 39, 40, 41, 42, 43, 19, 19, 44, 47, 49, - 44, 47, 45, 53, 611, 54, 55, 55, 55, 55, + 44, 47, 45, 53, 612, 54, 55, 55, 55, 55, 55, 55, 55, 55, 57, 72, 190, 73, 58, 96, 97, 191, 46, 56, 56, 56, 56, 56, 56, 56, @@ -977,166 +977,166 @@ static const flex_int16_t yy_nxt[1569] = 60, 60, 60, 60, 60, 61, 61, 86, 87, 88, 76, 62, 63, 91, 110, 62, 63, 89, 111, 90, 77, 92, 78, 104, 93, 64, 62, 63, 79, 81, - 62, 63, 99, 621, 105, 614, 82, 613, 124, 107, + 62, 63, 99, 622, 105, 194, 82, 195, 124, 107, 100, 106, 108, 83, 112, 109, 101, 113, 117, 84, - 64, 119, 102, 122, 125, 118, 120, 49, 621, 114, + 64, 119, 102, 122, 125, 118, 120, 49, 622, 114, 115, 121, 116, 126, 174, 175, 126, 123, 127, 128, - 129, 129, 130, 47, 137, 598, 47, 137, 138, 611, + 129, 129, 130, 47, 137, 615, 47, 137, 138, 614, 184, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 185, 237, 237, 50, 129, 140, 140, 140, 140, 140, - 140, 140, 143, 59, 208, 161, 605, 209, 144, 144, + 185, 238, 238, 50, 129, 140, 140, 140, 140, 140, + 140, 140, 143, 59, 209, 161, 599, 210, 144, 144, 144, 144, 144, 144, 144, 132, 152, 153, 133, 49, 49, 134, 62, 63, 59, 135, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 145, 192, 62, 63, 203, - 153, 162, 217, 62, 63, 204, 126, 193, 621, 126, - 224, 127, 218, 59, 621, 50, 50, 621, 62, 63, - 145, 59, 407, 146, 146, 146, 146, 146, 146, 146, - 61, 61, 62, 63, 137, 161, 247, 137, 138, 604, - 62, 63, 621, 152, 153, 152, 153, 62, 63, 161, - - 147, 49, 621, 603, 59, 62, 63, 291, 621, 231, - 231, 231, 231, 231, 231, 231, 292, 153, 602, 153, - 621, 162, 601, 62, 63, 147, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 162, 600, 50, 62, 63, - 300, 248, 562, 62, 149, 150, 621, 150, 242, 225, - 258, 242, 301, 621, 621, 259, 260, 49, 62, 149, - 150, 242, 345, 346, 242, 587, 150, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 239, 388, 239, 586, - 446, 243, 389, 585, 62, 149, 150, 390, 150, 391, - 584, 239, 621, 50, 243, 621, 447, 239, 621, 62, - - 149, 150, 621, 233, 161, 470, 583, 150, 470, 234, - 234, 234, 234, 234, 234, 234, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 245, 245, 245, 245, 245, - 245, 245, 276, 49, 277, 582, 472, 278, 279, 472, - 162, 328, 328, 328, 328, 328, 328, 328, 329, 401, - 401, 402, 581, 580, 330, 330, 330, 330, 330, 330, - 330, 392, 520, 393, 280, 520, 394, 395, 472, 50, - 579, 472, 578, 401, 246, 320, 321, 321, 322, 563, - 621, 567, 563, 408, 567, 577, 576, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 569, 621, 621, 570, - - 321, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 575, 574, 467, 468, 468, 467, 518, 519, 161, 416, - 150, 324, 150, 573, 325, 597, 621, 326, 597, 621, - 569, 327, 621, 570, 161, 150, 621, 468, 572, 568, - 519, 150, 335, 335, 335, 335, 335, 335, 335, 161, - 467, 468, 468, 467, 162, 562, 557, 414, 414, 414, - 414, 414, 414, 414, 467, 468, 468, 467, 569, 556, - 162, 570, 598, 606, 612, 468, 606, 612, 521, 522, - 522, 521, 523, 518, 519, 162, 161, 555, 554, 468, - 525, 525, 526, 553, 415, 415, 415, 415, 415, 415, - - 415, 415, 415, 522, 552, 551, 550, 519, 549, 415, - 415, 415, 415, 415, 525, 467, 468, 468, 467, 518, - 519, 548, 162, 415, 415, 415, 415, 415, 415, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 547, 546, - 468, 545, 544, 519, 482, 482, 482, 482, 482, 559, - 560, 521, 522, 522, 521, 523, 543, 542, 482, 482, - 482, 482, 482, 482, 532, 532, 532, 532, 532, 532, - 532, 532, 532, 560, 541, 540, 522, 559, 560, 532, - 532, 532, 532, 532, 564, 565, 565, 564, 559, 560, - 591, 592, 539, 532, 532, 532, 532, 532, 532, 595, - - 596, 560, 588, 522, 522, 588, 538, 537, 536, 565, - 591, 592, 560, 535, 592, 564, 565, 565, 564, 564, - 565, 565, 564, 596, 534, 416, 531, 522, 530, 588, - 522, 522, 588, 529, 592, 528, 599, 591, 592, 527, - 565, 595, 596, 476, 565, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 522, 621, 565, 565, 621, 595, - 596, 592, 608, 609, 524, 596, 606, 522, 522, 606, - 608, 609, 608, 609, 616, 616, 618, 619, 618, 619, - 565, 618, 619, 596, 515, 514, 609, 621, 522, 522, - 621, 522, 513, 512, 609, 511, 609, 510, 616, 509, - - 619, 508, 619, 507, 506, 619, 505, 504, 503, 502, - 501, 500, 522, 48, 48, 48, 48, 48, 48, 48, + 56, 56, 56, 56, 56, 145, 192, 62, 63, 204, + 153, 162, 218, 62, 63, 205, 126, 193, 622, 126, + 225, 127, 219, 59, 622, 50, 50, 622, 62, 63, + 145, 59, 408, 146, 146, 146, 146, 146, 146, 146, + 61, 61, 62, 63, 137, 161, 248, 137, 138, 612, + 62, 63, 622, 152, 153, 152, 153, 62, 63, 161, + + 147, 49, 622, 606, 59, 62, 63, 292, 622, 232, + 232, 232, 232, 232, 232, 232, 293, 153, 605, 153, + 622, 162, 604, 62, 63, 147, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 162, 603, 50, 62, 63, + 301, 249, 602, 62, 149, 150, 622, 150, 243, 226, + 259, 243, 302, 622, 622, 260, 261, 49, 62, 149, + 150, 243, 346, 347, 243, 601, 150, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 240, 389, 240, 563, + 447, 244, 390, 588, 62, 149, 150, 391, 150, 392, + 587, 240, 622, 50, 244, 622, 448, 240, 622, 62, + + 149, 150, 622, 234, 161, 471, 586, 150, 471, 235, + 235, 235, 235, 235, 235, 235, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 246, 246, 246, 246, 246, + 246, 246, 277, 49, 278, 585, 473, 279, 280, 473, + 162, 329, 329, 329, 329, 329, 329, 329, 330, 402, + 402, 403, 584, 583, 331, 331, 331, 331, 331, 331, + 331, 393, 521, 394, 281, 521, 395, 396, 473, 50, + 582, 473, 581, 402, 247, 321, 322, 322, 323, 564, + 622, 568, 564, 409, 568, 580, 579, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 570, 622, 622, 571, + + 322, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 578, 577, 468, 469, 469, 468, 519, 520, 161, 576, + 150, 325, 150, 575, 326, 598, 622, 327, 598, 622, + 570, 328, 622, 571, 161, 150, 622, 469, 417, 574, + 520, 150, 336, 336, 336, 336, 336, 336, 336, 161, + 468, 469, 469, 468, 162, 573, 569, 415, 415, 415, + 415, 415, 415, 415, 468, 469, 469, 468, 570, 563, + 162, 571, 599, 607, 613, 469, 607, 613, 522, 523, + 523, 522, 524, 519, 520, 162, 161, 558, 557, 469, + 526, 526, 527, 556, 416, 416, 416, 416, 416, 416, + + 416, 416, 416, 523, 555, 554, 553, 520, 552, 416, + 416, 416, 416, 416, 526, 468, 469, 469, 468, 519, + 520, 551, 162, 416, 416, 416, 416, 416, 416, 483, + 483, 483, 483, 483, 483, 483, 483, 483, 550, 549, + 469, 548, 547, 520, 483, 483, 483, 483, 483, 560, + 561, 522, 523, 523, 522, 524, 546, 545, 483, 483, + 483, 483, 483, 483, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 561, 544, 543, 523, 560, 561, 533, + 533, 533, 533, 533, 565, 566, 566, 565, 560, 561, + 592, 593, 542, 533, 533, 533, 533, 533, 533, 596, + + 597, 561, 589, 523, 523, 589, 541, 540, 539, 566, + 592, 593, 561, 538, 593, 565, 566, 566, 565, 565, + 566, 566, 565, 597, 537, 536, 535, 523, 417, 589, + 523, 523, 589, 532, 593, 531, 600, 592, 593, 530, + 566, 596, 597, 529, 566, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 523, 622, 566, 566, 622, 596, + 597, 593, 609, 610, 528, 597, 607, 523, 523, 607, + 609, 610, 609, 610, 617, 617, 619, 620, 619, 620, + 566, 619, 620, 597, 477, 525, 610, 622, 523, 523, + 622, 523, 516, 515, 610, 514, 610, 513, 617, 512, + + 620, 511, 620, 510, 509, 620, 508, 507, 506, 505, + 504, 503, 523, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 51, 51, 499, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 502, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 65, 65, 65, - 498, 497, 65, 70, 70, 496, 70, 70, 70, 70, - 70, 70, 139, 139, 495, 494, 139, 493, 139, 492, - 491, 490, 139, 139, 142, 142, 489, 142, 142, 142, + 501, 500, 65, 70, 70, 499, 70, 70, 70, 70, + 70, 70, 139, 139, 498, 497, 139, 496, 139, 495, + 494, 493, 139, 139, 142, 142, 492, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 148, 148, 148, 488, 487, 148, 151, 151, 151, + 142, 148, 148, 148, 491, 490, 148, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 61, 61, 61, 486, 485, 61, - 156, 484, 156, 156, 157, 157, 416, 157, 157, 481, + 151, 151, 151, 151, 61, 61, 61, 489, 488, 61, + 156, 487, 156, 156, 157, 157, 486, 157, 157, 485, 157, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 163, 163, - 480, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 235, 479, 478, 235, 235, - 477, 235, 235, 407, 235, 236, 236, 476, 236, 236, - 474, 236, 238, 471, 238, 238, 244, 244, 466, 465, - 244, 464, 244, 463, 462, 461, 244, 244, 244, 314, - - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 332, 460, 459, 332, - 332, 458, 332, 332, 457, 332, 336, 336, 456, 336, - 336, 455, 336, 337, 337, 454, 337, 337, 453, 337, - 417, 452, 451, 417, 417, 450, 417, 417, 449, 417, - 469, 469, 469, 448, 445, 444, 443, 469, 469, 469, - 473, 442, 441, 440, 439, 438, 437, 473, 473, 475, - 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, - 475, 475, 475, 475, 475, 475, 483, 436, 435, 483, - 483, 434, 483, 483, 433, 483, 516, 516, 516, 432, - - 431, 430, 429, 516, 516, 516, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 533, 428, 427, 533, 533, 426, 533, - 533, 425, 533, 558, 558, 558, 558, 558, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 561, 561, 566, 566, 566, - 424, 423, 422, 421, 566, 566, 566, 571, 420, 419, - 418, 416, 413, 331, 571, 571, 589, 589, 589, 329, - 412, 411, 410, 589, 589, 589, 590, 590, 590, 590, - - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 593, 593, 593, 409, 621, 406, 405, - 593, 593, 593, 594, 594, 594, 594, 594, 594, 594, - 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, - 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, - 607, 607, 607, 607, 607, 607, 607, 610, 610, 610, - 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, - 610, 610, 610, 610, 615, 615, 615, 404, 403, 315, - 400, 615, 615, 615, 617, 617, 617, 617, 617, 617, - 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, - - 617, 620, 620, 620, 620, 620, 620, 620, 620, 399, - 398, 620, 397, 396, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, - 351, 350, 349, 348, 347, 344, 343, 342, 341, 340, - 339, 338, 72, 334, 333, 331, 319, 318, 317, 316, - 224, 315, 313, 312, 311, 310, 309, 308, 307, 306, - 305, 304, 303, 302, 299, 298, 297, 296, 295, 294, - 293, 290, 289, 288, 287, 286, 285, 284, 283, 282, - - 281, 275, 274, 273, 272, 271, 270, 269, 268, 267, - 266, 265, 264, 263, 262, 261, 257, 256, 255, 254, - 253, 252, 251, 250, 249, 247, 241, 240, 232, 232, - 232, 230, 229, 228, 227, 226, 223, 222, 221, 220, - 219, 216, 215, 214, 213, 212, 211, 210, 207, 206, - 205, 202, 201, 200, 199, 198, 197, 196, 195, 194, - 189, 188, 187, 186, 183, 182, 181, 180, 179, 178, - 177, 176, 173, 172, 171, 170, 169, 168, 167, 166, - 165, 164, 159, 158, 141, 136, 103, 98, 95, 94, - 80, 75, 74, 71, 69, 68, 67, 66, 52, 621, - - 3, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621 + 417, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 236, 482, 481, 236, 236, + 480, 236, 236, 479, 236, 237, 237, 478, 237, 237, + 408, 237, 239, 477, 239, 239, 245, 245, 475, 472, + 245, 467, 245, 466, 465, 464, 245, 245, 245, 315, + + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 333, 463, 462, 333, + 333, 461, 333, 333, 460, 333, 337, 337, 459, 337, + 337, 458, 337, 338, 338, 457, 338, 338, 456, 338, + 418, 455, 454, 418, 418, 453, 418, 418, 452, 418, + 470, 470, 470, 451, 450, 449, 446, 470, 470, 470, + 474, 445, 444, 443, 442, 441, 440, 474, 474, 476, + 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, + 476, 476, 476, 476, 476, 476, 484, 439, 438, 484, + 484, 437, 484, 484, 436, 484, 517, 517, 517, 435, + + 434, 433, 432, 517, 517, 517, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 534, 431, 430, 534, 534, 429, 534, + 534, 428, 534, 559, 559, 559, 559, 559, 559, 559, + 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, + 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, + 562, 562, 562, 562, 562, 562, 562, 567, 567, 567, + 427, 426, 425, 424, 567, 567, 567, 572, 423, 422, + 421, 420, 419, 417, 572, 572, 590, 590, 590, 414, + 332, 330, 413, 590, 590, 590, 591, 591, 591, 591, + + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 594, 594, 594, 412, 411, 410, 622, + 594, 594, 594, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 608, 608, 611, 611, 611, + 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, + 611, 611, 611, 611, 616, 616, 616, 407, 406, 405, + 404, 616, 616, 616, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 621, 621, 621, 621, 621, 621, 621, 621, 316, + 401, 621, 400, 399, 398, 397, 388, 387, 386, 385, + 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, + 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, + 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, + 354, 353, 352, 351, 350, 349, 348, 345, 344, 343, + 342, 341, 340, 339, 72, 335, 334, 332, 320, 319, + 318, 317, 225, 316, 314, 313, 312, 311, 310, 309, + 308, 307, 306, 305, 304, 303, 300, 299, 298, 297, + 296, 295, 294, 291, 290, 289, 288, 287, 286, 285, + + 284, 283, 282, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 258, 257, + 256, 255, 254, 253, 252, 251, 250, 248, 242, 241, + 233, 233, 233, 231, 230, 229, 228, 227, 224, 223, + 222, 221, 220, 217, 216, 215, 214, 213, 212, 211, + 208, 207, 206, 203, 202, 201, 200, 199, 198, 197, + 196, 189, 188, 187, 186, 183, 182, 181, 180, 179, + 178, 177, 176, 173, 172, 171, 170, 169, 168, 167, + 166, 165, 164, 159, 158, 141, 136, 103, 98, 95, + 94, 80, 75, 74, 71, 69, 68, 67, 66, 52, + + 622, 3, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622 } ; -static const flex_int16_t yy_chk[1569] = +static const flex_int16_t yy_chk[1570] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1145,7 +1145,7 @@ static const flex_int16_t yy_chk[1569] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 8, - 2, 5, 2, 10, 610, 10, 10, 10, 10, 10, + 2, 5, 2, 10, 611, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 21, 97, 21, 12, 32, 32, 97, 2, 11, 11, 11, 11, 11, 11, 11, @@ -1153,163 +1153,163 @@ static const flex_int16_t yy_chk[1569] = 13, 13, 13, 13, 13, 13, 13, 27, 28, 28, 24, 14, 14, 29, 38, 13, 13, 28, 38, 28, 24, 29, 24, 36, 29, 13, 14, 14, 24, 26, - 13, 13, 34, 60, 36, 604, 26, 601, 43, 37, + 13, 13, 34, 60, 36, 99, 26, 99, 43, 37, 34, 36, 37, 26, 39, 37, 34, 39, 40, 26, 13, 41, 34, 42, 43, 40, 41, 48, 60, 39, 39, 41, 39, 44, 83, 83, 44, 42, 44, 45, - 45, 45, 45, 47, 49, 599, 47, 49, 49, 598, + 45, 45, 45, 47, 49, 605, 47, 49, 49, 602, 92, 45, 45, 45, 45, 45, 45, 45, 45, 45, 92, 149, 149, 48, 45, 50, 50, 50, 50, 50, - 50, 50, 52, 55, 112, 72, 586, 112, 52, 52, + 50, 50, 52, 55, 112, 72, 600, 112, 52, 52, 52, 52, 52, 52, 52, 45, 58, 58, 45, 138, 139, 45, 55, 55, 61, 45, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 98, 55, 55, 108, 58, 72, 120, 61, 61, 108, 126, 98, 128, 126, 130, 126, 120, 65, 128, 138, 139, 146, 61, 61, - 52, 54, 322, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 65, 65, 137, 160, 164, 137, 137, 585, - 54, 54, 146, 151, 151, 153, 153, 65, 65, 244, - - 54, 140, 130, 582, 148, 54, 54, 203, 130, 140, - 140, 140, 140, 140, 140, 140, 203, 151, 581, 153, - 322, 160, 573, 148, 148, 54, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 244, 572, 140, 148, 148, - 211, 164, 561, 56, 56, 56, 131, 56, 161, 131, - 175, 161, 211, 156, 156, 175, 175, 328, 56, 56, - 56, 242, 259, 259, 242, 557, 56, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 156, 305, 156, 555, - 377, 161, 305, 553, 59, 59, 59, 305, 59, 305, - 551, 156, 131, 328, 242, 131, 377, 156, 131, 59, - - 59, 59, 131, 144, 414, 403, 548, 59, 403, 144, + 52, 54, 323, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 65, 65, 137, 160, 164, 137, 137, 599, + 54, 54, 146, 151, 151, 153, 153, 65, 65, 245, + + 54, 140, 130, 587, 148, 54, 54, 204, 130, 140, + 140, 140, 140, 140, 140, 140, 204, 151, 586, 153, + 323, 160, 583, 148, 148, 54, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 245, 582, 140, 148, 148, + 212, 164, 574, 56, 56, 56, 131, 56, 161, 131, + 175, 161, 212, 156, 156, 175, 175, 329, 56, 56, + 56, 243, 260, 260, 243, 573, 56, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 156, 306, 156, 562, + 378, 161, 306, 558, 59, 59, 59, 306, 59, 306, + 556, 156, 131, 329, 243, 131, 378, 156, 131, 59, + + 59, 59, 131, 144, 415, 404, 554, 59, 404, 144, 144, 144, 144, 144, 144, 144, 155, 155, 155, 155, 155, 155, 155, 155, 155, 162, 162, 162, 162, 162, - 162, 162, 191, 231, 191, 546, 405, 191, 191, 405, - 414, 231, 231, 231, 231, 231, 231, 231, 234, 315, - 315, 315, 543, 542, 234, 234, 234, 234, 234, 234, - 234, 306, 471, 306, 191, 471, 306, 306, 472, 231, - 541, 472, 540, 315, 162, 230, 230, 230, 230, 524, - 323, 527, 524, 323, 527, 539, 537, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 529, 238, 238, 529, - - 230, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 536, 535, 402, 402, 402, 402, 470, 470, 532, 533, - 238, 230, 238, 531, 230, 568, 323, 230, 568, 323, - 569, 230, 323, 569, 245, 238, 323, 402, 530, 528, - 470, 238, 245, 245, 245, 245, 245, 245, 245, 335, - 467, 467, 467, 467, 532, 523, 514, 335, 335, 335, - 335, 335, 335, 335, 469, 469, 469, 469, 570, 513, - 245, 570, 570, 589, 600, 467, 589, 600, 473, 473, - 473, 473, 473, 517, 517, 335, 336, 512, 511, 469, - 476, 476, 476, 509, 336, 336, 336, 336, 336, 336, - - 336, 336, 336, 473, 508, 507, 506, 517, 505, 336, - 336, 336, 336, 336, 476, 516, 516, 516, 516, 519, - 519, 504, 336, 336, 336, 336, 336, 336, 336, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 503, 501, - 516, 500, 499, 519, 415, 415, 415, 415, 415, 520, - 520, 521, 521, 521, 521, 521, 498, 496, 415, 415, - 415, 415, 415, 415, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 520, 495, 493, 521, 558, 558, 482, - 482, 482, 482, 482, 526, 526, 526, 526, 560, 560, - 563, 563, 492, 482, 482, 482, 482, 482, 482, 567, - - 567, 558, 562, 562, 562, 562, 489, 488, 487, 526, - 590, 590, 560, 485, 563, 564, 564, 564, 564, 566, - 566, 566, 566, 567, 484, 483, 481, 562, 480, 588, - 588, 588, 588, 479, 590, 478, 571, 592, 592, 477, - 564, 594, 594, 475, 566, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 588, 593, 593, 593, 593, 596, - 596, 592, 597, 597, 474, 594, 606, 606, 606, 606, - 607, 607, 609, 609, 611, 611, 612, 612, 617, 617, - 593, 619, 619, 596, 466, 465, 597, 615, 615, 615, - 615, 606, 464, 460, 607, 459, 609, 457, 611, 456, - - 612, 454, 617, 451, 450, 619, 449, 447, 445, 444, - 443, 442, 615, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 623, 623, 439, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 624, 624, 624, - 437, 436, 624, 625, 625, 435, 625, 625, 625, 625, - 625, 625, 626, 626, 433, 431, 626, 430, 626, 429, - 427, 425, 626, 626, 627, 627, 424, 627, 627, 627, - 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, - 627, 628, 628, 628, 423, 422, 628, 629, 629, 629, - - 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, - 629, 629, 629, 629, 630, 630, 630, 421, 420, 630, - 631, 419, 631, 631, 632, 632, 417, 632, 632, 413, - 632, 633, 633, 633, 633, 633, 633, 633, 633, 633, - 633, 633, 633, 633, 633, 633, 633, 633, 634, 634, - 412, 634, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 634, 634, 635, 411, 410, 635, 635, - 409, 635, 635, 408, 635, 636, 636, 407, 636, 636, - 406, 636, 637, 404, 637, 637, 638, 638, 400, 398, - 638, 397, 638, 394, 393, 392, 638, 638, 638, 639, - - 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, - 639, 639, 639, 639, 639, 639, 640, 391, 390, 640, - 640, 389, 640, 640, 388, 640, 641, 641, 387, 641, - 641, 386, 641, 642, 642, 385, 642, 642, 384, 642, - 643, 383, 381, 643, 643, 380, 643, 643, 379, 643, - 644, 644, 644, 378, 376, 375, 374, 644, 644, 644, - 645, 373, 372, 370, 369, 368, 367, 645, 645, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 647, 366, 364, 647, - 647, 359, 647, 647, 358, 647, 648, 648, 648, 355, - - 354, 353, 352, 648, 648, 648, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 650, 350, 349, 650, 650, 348, 650, - 650, 347, 650, 651, 651, 651, 651, 651, 651, 651, - 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, + 162, 162, 191, 232, 191, 552, 406, 191, 191, 406, + 415, 232, 232, 232, 232, 232, 232, 232, 235, 316, + 316, 316, 549, 547, 235, 235, 235, 235, 235, 235, + 235, 307, 472, 307, 191, 472, 307, 307, 473, 232, + 544, 473, 543, 316, 162, 231, 231, 231, 231, 525, + 324, 528, 525, 324, 528, 542, 541, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 530, 239, 239, 530, + + 231, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 540, 538, 403, 403, 403, 403, 471, 471, 533, 537, + 239, 231, 239, 536, 231, 569, 324, 231, 569, 324, + 570, 231, 324, 570, 246, 239, 324, 403, 534, 532, + 471, 239, 246, 246, 246, 246, 246, 246, 246, 336, + 468, 468, 468, 468, 533, 531, 529, 336, 336, 336, + 336, 336, 336, 336, 470, 470, 470, 470, 571, 524, + 246, 571, 571, 590, 601, 468, 590, 601, 474, 474, + 474, 474, 474, 518, 518, 336, 337, 515, 514, 470, + 477, 477, 477, 513, 337, 337, 337, 337, 337, 337, + + 337, 337, 337, 474, 512, 510, 509, 518, 508, 337, + 337, 337, 337, 337, 477, 517, 517, 517, 517, 520, + 520, 507, 337, 337, 337, 337, 337, 337, 337, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 506, 505, + 517, 504, 502, 520, 416, 416, 416, 416, 416, 521, + 521, 522, 522, 522, 522, 522, 501, 500, 416, 416, + 416, 416, 416, 416, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 521, 499, 497, 522, 559, 559, 483, + 483, 483, 483, 483, 527, 527, 527, 527, 561, 561, + 564, 564, 496, 483, 483, 483, 483, 483, 483, 568, + + 568, 559, 563, 563, 563, 563, 494, 493, 490, 527, + 591, 591, 561, 489, 564, 565, 565, 565, 565, 567, + 567, 567, 567, 568, 488, 486, 485, 563, 484, 589, + 589, 589, 589, 482, 591, 481, 572, 593, 593, 480, + 565, 595, 595, 479, 567, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 589, 594, 594, 594, 594, 597, + 597, 593, 598, 598, 478, 595, 607, 607, 607, 607, + 608, 608, 610, 610, 612, 612, 613, 613, 618, 618, + 594, 620, 620, 597, 476, 475, 598, 616, 616, 616, + 616, 607, 467, 466, 608, 465, 610, 461, 612, 460, + + 613, 458, 618, 457, 455, 620, 452, 451, 450, 448, + 446, 445, 616, 623, 623, 623, 623, 623, 623, 623, + 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, + 624, 624, 444, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 624, 624, 625, 625, 625, + 443, 440, 625, 626, 626, 438, 626, 626, 626, 626, + 626, 626, 627, 627, 437, 436, 627, 434, 627, 432, + 431, 430, 627, 627, 628, 628, 428, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 629, 629, 629, 426, 425, 629, 630, 630, 630, + + 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + 630, 630, 630, 630, 631, 631, 631, 424, 423, 631, + 632, 422, 632, 632, 633, 633, 421, 633, 633, 420, + 633, 634, 634, 634, 634, 634, 634, 634, 634, 634, + 634, 634, 634, 634, 634, 634, 634, 634, 635, 635, + 418, 635, 635, 635, 635, 635, 635, 635, 635, 635, + 635, 635, 635, 635, 635, 636, 414, 413, 636, 636, + 412, 636, 636, 411, 636, 637, 637, 410, 637, 637, + 409, 637, 638, 408, 638, 638, 639, 639, 407, 405, + 639, 401, 639, 399, 398, 395, 639, 639, 639, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 641, 394, 393, 641, + 641, 392, 641, 641, 391, 641, 642, 642, 390, 642, + 642, 389, 642, 643, 643, 388, 643, 643, 387, 643, + 644, 386, 385, 644, 644, 384, 644, 644, 382, 644, + 645, 645, 645, 381, 380, 379, 377, 645, 645, 645, + 646, 376, 375, 374, 373, 371, 370, 646, 646, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 647, 647, 647, 647, 647, 647, 648, 369, 368, 648, + 648, 367, 648, 648, 365, 648, 649, 649, 649, 360, + + 359, 356, 355, 649, 649, 649, 650, 650, 650, 650, + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, + 650, 650, 650, 651, 354, 353, 651, 651, 351, 651, + 651, 350, 651, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 653, 653, 653, - 346, 344, 343, 342, 653, 653, 653, 654, 341, 339, - 338, 337, 333, 332, 654, 654, 655, 655, 655, 330, - 327, 326, 325, 655, 655, 655, 656, 656, 656, 656, - - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 657, 657, 657, 324, 320, 319, 318, - 657, 657, 657, 658, 658, 658, 658, 658, 658, 658, - 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, + 653, 653, 653, 653, 653, 653, 653, 654, 654, 654, + 349, 348, 347, 345, 654, 654, 654, 655, 344, 343, + 342, 340, 339, 338, 655, 655, 656, 656, 656, 334, + 333, 331, 328, 656, 656, 656, 657, 657, 657, 657, + + 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, + 657, 657, 657, 658, 658, 658, 327, 326, 325, 321, + 658, 658, 658, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, - 659, 659, 659, 659, 659, 659, 659, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, - 660, 660, 660, 660, 661, 661, 661, 317, 316, 314, - 313, 661, 661, 661, 662, 662, 662, 662, 662, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, - - 662, 663, 663, 663, 663, 663, 663, 663, 663, 312, - 310, 663, 308, 307, 304, 303, 302, 301, 300, 299, - 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, - 288, 287, 286, 285, 284, 283, 281, 280, 278, 277, - 276, 275, 274, 272, 271, 270, 269, 268, 267, 266, - 264, 263, 262, 261, 260, 258, 257, 254, 253, 252, - 251, 249, 243, 241, 240, 235, 229, 228, 227, 226, - 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, - 215, 214, 213, 212, 210, 209, 208, 207, 206, 205, - 204, 202, 200, 199, 198, 197, 196, 195, 194, 193, - - 192, 190, 189, 188, 187, 186, 185, 184, 183, 182, - 181, 180, 179, 178, 177, 176, 174, 173, 172, 171, - 170, 168, 167, 166, 165, 163, 159, 158, 145, 143, - 142, 136, 135, 134, 133, 132, 125, 124, 123, 122, - 121, 119, 118, 117, 116, 115, 114, 113, 111, 110, - 109, 107, 106, 105, 104, 103, 102, 101, 100, 99, - 96, 95, 94, 93, 91, 90, 89, 88, 87, 86, - 85, 84, 82, 81, 80, 79, 78, 77, 76, 75, - 74, 73, 71, 69, 51, 46, 35, 33, 31, 30, - 25, 23, 22, 20, 18, 17, 16, 15, 9, 3, - - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621 + 660, 660, 660, 660, 660, 660, 660, 661, 661, 661, + 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 661, 661, 662, 662, 662, 320, 319, 318, + 317, 662, 662, 662, 663, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, + + 663, 664, 664, 664, 664, 664, 664, 664, 664, 315, + 314, 664, 313, 311, 309, 308, 305, 304, 303, 302, + 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, + 291, 290, 289, 288, 287, 286, 285, 284, 282, 281, + 279, 278, 277, 276, 275, 273, 272, 271, 270, 269, + 268, 267, 265, 264, 263, 262, 261, 259, 258, 255, + 254, 253, 252, 250, 244, 242, 241, 236, 230, 229, + 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, + 218, 217, 216, 215, 214, 213, 211, 210, 209, 208, + 207, 206, 205, 203, 201, 200, 199, 198, 197, 196, + + 194, 193, 192, 190, 189, 188, 187, 186, 185, 184, + 183, 182, 181, 180, 179, 178, 177, 176, 174, 173, + 172, 171, 170, 168, 167, 166, 165, 163, 159, 158, + 145, 143, 142, 136, 135, 134, 133, 132, 125, 124, + 123, 122, 121, 119, 118, 117, 116, 115, 114, 113, + 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, + 100, 96, 95, 94, 93, 91, 90, 89, 88, 87, + 86, 85, 84, 82, 81, 80, 79, 78, 77, 76, + 75, 74, 73, 71, 69, 51, 46, 35, 33, 31, + 30, 25, 23, 22, 20, 18, 17, 16, 15, 9, + + 3, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622 } ; extern int yy_flex_debug; @@ -1708,14 +1708,14 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 621 ); + while ( yy_current_state != 622 ); yy_find_action: yy_current_state = *--(yy_state_ptr); @@ -1827,96 +1827,101 @@ return IDL_SEQUENCE; case 17: YY_RULE_SETUP #line 141 "fe/idl.ll" -return IDL_UNION; +return IDL_MAP; YY_BREAK case 18: YY_RULE_SETUP #line 142 "fe/idl.ll" -return IDL_FIXED; +return IDL_UNION; YY_BREAK case 19: YY_RULE_SETUP #line 143 "fe/idl.ll" -return IDL_SWITCH; +return IDL_FIXED; YY_BREAK case 20: YY_RULE_SETUP #line 144 "fe/idl.ll" -return IDL_CASE; +return IDL_SWITCH; YY_BREAK case 21: YY_RULE_SETUP #line 145 "fe/idl.ll" -return IDL_DEFAULT; +return IDL_CASE; YY_BREAK case 22: YY_RULE_SETUP #line 146 "fe/idl.ll" -return IDL_FLOAT; +return IDL_DEFAULT; YY_BREAK case 23: YY_RULE_SETUP #line 147 "fe/idl.ll" -return IDL_DOUBLE; +return IDL_FLOAT; YY_BREAK case 24: YY_RULE_SETUP #line 148 "fe/idl.ll" -return IDL_LONG; +return IDL_DOUBLE; YY_BREAK case 25: YY_RULE_SETUP #line 149 "fe/idl.ll" -return IDL_SHORT; +return IDL_LONG; YY_BREAK case 26: YY_RULE_SETUP #line 150 "fe/idl.ll" -return IDL_UNSIGNED; +return IDL_SHORT; YY_BREAK case 27: YY_RULE_SETUP #line 151 "fe/idl.ll" -return IDL_CHAR; +return IDL_UNSIGNED; YY_BREAK case 28: YY_RULE_SETUP #line 152 "fe/idl.ll" -return IDL_WCHAR; +return IDL_CHAR; YY_BREAK case 29: YY_RULE_SETUP #line 153 "fe/idl.ll" -return IDL_BOOLEAN; +return IDL_WCHAR; YY_BREAK case 30: YY_RULE_SETUP #line 154 "fe/idl.ll" -return IDL_OCTET; +return IDL_BOOLEAN; YY_BREAK case 31: YY_RULE_SETUP #line 155 "fe/idl.ll" -return IDL_VOID; +return IDL_OCTET; YY_BREAK case 32: YY_RULE_SETUP #line 156 "fe/idl.ll" -return IDL_NATIVE; +return IDL_VOID; YY_BREAK case 33: YY_RULE_SETUP #line 157 "fe/idl.ll" -return IDL_LOCAL; +return IDL_NATIVE; YY_BREAK case 34: YY_RULE_SETUP #line 158 "fe/idl.ll" -return IDL_ABSTRACT; +return IDL_LOCAL; YY_BREAK case 35: YY_RULE_SETUP -#line 160 "fe/idl.ll" +#line 159 "fe/idl.ll" +return IDL_ABSTRACT; + YY_BREAK +case 36: +YY_RULE_SETUP +#line 161 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT8; @@ -1926,9 +1931,9 @@ YY_RULE_SETUP } } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 168 "fe/idl.ll" +#line 169 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT8; @@ -1938,9 +1943,9 @@ YY_RULE_SETUP } } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 176 "fe/idl.ll" +#line 177 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT16; @@ -1950,9 +1955,9 @@ YY_RULE_SETUP } } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 184 "fe/idl.ll" +#line 185 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT16; @@ -1962,9 +1967,9 @@ YY_RULE_SETUP } } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 192 "fe/idl.ll" +#line 193 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT32; @@ -1974,9 +1979,9 @@ YY_RULE_SETUP } } YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 200 "fe/idl.ll" +#line 201 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT32; @@ -1986,9 +1991,9 @@ YY_RULE_SETUP } } YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 208 "fe/idl.ll" +#line 209 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT64; @@ -1998,9 +2003,9 @@ YY_RULE_SETUP } } YY_BREAK -case 42: +case 43: YY_RULE_SETUP -#line 216 "fe/idl.ll" +#line 217 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT64; @@ -2010,218 +2015,230 @@ YY_RULE_SETUP } } YY_BREAK -case 43: +case 44: YY_RULE_SETUP #line 225 "fe/idl.ll" +{ + if (idl_global->idl_version_ >= IDL_VERSION_4) + return IDL_MAP; + else + { + REJECT; + } +} + YY_BREAK +case 45: +YY_RULE_SETUP +#line 234 "fe/idl.ll" return IDL_CUSTOM; YY_BREAK -case 44: +case 46: YY_RULE_SETUP -#line 226 "fe/idl.ll" +#line 235 "fe/idl.ll" return IDL_FACTORY; YY_BREAK -case 45: +case 47: YY_RULE_SETUP -#line 227 "fe/idl.ll" +#line 236 "fe/idl.ll" return IDL_PRIVATE; YY_BREAK -case 46: +case 48: YY_RULE_SETUP -#line 228 "fe/idl.ll" +#line 237 "fe/idl.ll" return IDL_PUBLIC; YY_BREAK -case 47: +case 49: YY_RULE_SETUP -#line 229 "fe/idl.ll" +#line 238 "fe/idl.ll" return IDL_SUPPORTS; YY_BREAK -case 48: +case 50: YY_RULE_SETUP -#line 230 "fe/idl.ll" +#line 239 "fe/idl.ll" return IDL_TRUNCATABLE; YY_BREAK -case 49: +case 51: YY_RULE_SETUP -#line 231 "fe/idl.ll" +#line 240 "fe/idl.ll" return IDL_VALUETYPE; YY_BREAK -case 50: +case 52: YY_RULE_SETUP -#line 233 "fe/idl.ll" +#line 242 "fe/idl.ll" return IDL_COMPONENT; YY_BREAK -case 51: +case 53: YY_RULE_SETUP -#line 234 "fe/idl.ll" +#line 243 "fe/idl.ll" return IDL_CONSUMES; YY_BREAK -case 52: +case 54: YY_RULE_SETUP -#line 235 "fe/idl.ll" +#line 244 "fe/idl.ll" return IDL_EMITS; YY_BREAK -case 53: +case 55: YY_RULE_SETUP -#line 236 "fe/idl.ll" +#line 245 "fe/idl.ll" return IDL_EVENTTYPE; YY_BREAK -case 54: +case 56: YY_RULE_SETUP -#line 237 "fe/idl.ll" +#line 246 "fe/idl.ll" return IDL_FINDER; YY_BREAK -case 55: +case 57: YY_RULE_SETUP -#line 238 "fe/idl.ll" +#line 247 "fe/idl.ll" return IDL_GETRAISES; YY_BREAK -case 56: +case 58: YY_RULE_SETUP -#line 239 "fe/idl.ll" +#line 248 "fe/idl.ll" return IDL_HOME; YY_BREAK -case 57: +case 59: YY_RULE_SETUP -#line 240 "fe/idl.ll" +#line 249 "fe/idl.ll" return IDL_IMPORT; YY_BREAK -case 58: +case 60: YY_RULE_SETUP -#line 241 "fe/idl.ll" +#line 250 "fe/idl.ll" return IDL_MULTIPLE; YY_BREAK -case 59: +case 61: YY_RULE_SETUP -#line 242 "fe/idl.ll" +#line 251 "fe/idl.ll" return IDL_PRIMARYKEY; YY_BREAK -case 60: +case 62: YY_RULE_SETUP -#line 243 "fe/idl.ll" +#line 252 "fe/idl.ll" return IDL_PROVIDES; YY_BREAK -case 61: +case 63: YY_RULE_SETUP -#line 244 "fe/idl.ll" +#line 253 "fe/idl.ll" return IDL_PUBLISHES; YY_BREAK -case 62: +case 64: YY_RULE_SETUP -#line 245 "fe/idl.ll" +#line 254 "fe/idl.ll" return IDL_SETRAISES; YY_BREAK -case 63: +case 65: YY_RULE_SETUP -#line 246 "fe/idl.ll" +#line 255 "fe/idl.ll" return IDL_TYPEID; YY_BREAK -case 64: +case 66: YY_RULE_SETUP -#line 247 "fe/idl.ll" +#line 256 "fe/idl.ll" return IDL_TYPEPREFIX; YY_BREAK -case 65: +case 67: YY_RULE_SETUP -#line 248 "fe/idl.ll" +#line 257 "fe/idl.ll" return IDL_USES; YY_BREAK -case 66: +case 68: YY_RULE_SETUP -#line 249 "fe/idl.ll" +#line 258 "fe/idl.ll" return IDL_MANAGES; YY_BREAK -case 67: +case 69: YY_RULE_SETUP -#line 251 "fe/idl.ll" +#line 260 "fe/idl.ll" return IDL_TYPENAME; YY_BREAK -case 68: +case 70: YY_RULE_SETUP -#line 252 "fe/idl.ll" +#line 261 "fe/idl.ll" return IDL_PORT; YY_BREAK -case 69: +case 71: YY_RULE_SETUP -#line 253 "fe/idl.ll" +#line 262 "fe/idl.ll" return IDL_MIRRORPORT; YY_BREAK -case 70: +case 72: YY_RULE_SETUP -#line 254 "fe/idl.ll" +#line 263 "fe/idl.ll" return IDL_PORTTYPE; YY_BREAK -case 71: +case 73: YY_RULE_SETUP -#line 255 "fe/idl.ll" +#line 264 "fe/idl.ll" return IDL_CONNECTOR; YY_BREAK -case 72: +case 74: YY_RULE_SETUP -#line 256 "fe/idl.ll" +#line 265 "fe/idl.ll" return IDL_ALIAS; YY_BREAK -case 73: +case 75: YY_RULE_SETUP -#line 258 "fe/idl.ll" +#line 267 "fe/idl.ll" return IDL_TRUETOK; YY_BREAK -case 74: +case 76: YY_RULE_SETUP -#line 259 "fe/idl.ll" +#line 268 "fe/idl.ll" return IDL_FALSETOK; YY_BREAK -case 75: +case 77: YY_RULE_SETUP -#line 261 "fe/idl.ll" +#line 270 "fe/idl.ll" return IDL_INOUT; YY_BREAK -case 76: +case 78: YY_RULE_SETUP -#line 262 "fe/idl.ll" +#line 271 "fe/idl.ll" return IDL_IN; YY_BREAK -case 77: +case 79: YY_RULE_SETUP -#line 263 "fe/idl.ll" +#line 272 "fe/idl.ll" return IDL_OUT; YY_BREAK -case 78: +case 80: YY_RULE_SETUP -#line 264 "fe/idl.ll" +#line 273 "fe/idl.ll" return IDL_ONEWAY; YY_BREAK -case 79: +case 81: YY_RULE_SETUP -#line 266 "fe/idl.ll" +#line 275 "fe/idl.ll" return IDL_LEFT_SHIFT; YY_BREAK -case 80: +case 82: YY_RULE_SETUP -#line 267 "fe/idl.ll" +#line 276 "fe/idl.ll" return IDL_RIGHT_SHIFT; YY_BREAK -case 81: +case 83: YY_RULE_SETUP -#line 268 "fe/idl.ll" +#line 277 "fe/idl.ll" { tao_yylval.strval = ACE::strnew ("::"); return IDL_SCOPE_DELIMITOR; } YY_BREAK -case 82: -/* rule 82 can match eol */ +case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 273 "fe/idl.ll" +#line 282 "fe/idl.ll" return IDL_ANNOTATION_DECL; // Allow annotation names that start with "annotation" YY_BREAK -case 83: +case 85: YY_RULE_SETUP -#line 274 "fe/idl.ll" +#line 283 "fe/idl.ll" return IDL_ANNOTATION_SYMBOL; YY_BREAK -case 84: +case 86: YY_RULE_SETUP -#line 276 "fe/idl.ll" +#line 285 "fe/idl.ll" { // Make sure that this identifier is not a C++ keyword. If it is, // prepend it with a _cxx_. Lookup in the perfect hash table for C++ @@ -2255,82 +2272,82 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 85: +case 87: YY_RULE_SETUP -#line 309 "fe/idl.ll" +#line 318 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 86: +case 88: YY_RULE_SETUP -#line 313 "fe/idl.ll" +#line 322 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 87: +case 89: YY_RULE_SETUP -#line 318 "fe/idl.ll" +#line 327 "fe/idl.ll" { tao_yylval.fixval = ACE_CDR::Fixed::from_string (ace_yytext); return IDL_FIXED_PT_LITERAL; } YY_BREAK -case 88: +case 90: YY_RULE_SETUP -#line 323 "fe/idl.ll" +#line 332 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 10); return IDL_INTEGER_LITERAL; } YY_BREAK -case 89: +case 91: YY_RULE_SETUP -#line 327 "fe/idl.ll" +#line 336 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 10); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 90: +case 92: YY_RULE_SETUP -#line 331 "fe/idl.ll" +#line 340 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 16); return IDL_INTEGER_LITERAL; } YY_BREAK -case 91: +case 93: YY_RULE_SETUP -#line 335 "fe/idl.ll" +#line 344 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 16); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 92: +case 94: YY_RULE_SETUP -#line 339 "fe/idl.ll" +#line 348 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 8); return IDL_INTEGER_LITERAL; } YY_BREAK -case 93: +case 95: YY_RULE_SETUP -#line 343 "fe/idl.ll" +#line 352 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 8); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 94: -/* rule 94 can match eol */ +case 96: +/* rule 96 can match eol */ YY_RULE_SETUP -#line 348 "fe/idl.ll" +#line 357 "fe/idl.ll" { /* Skip the quotes */ char * const tmp = ace_yytext; @@ -2352,10 +2369,10 @@ YY_RULE_SETUP return IDL_STRING_LITERAL; } YY_BREAK -case 95: -/* rule 95 can match eol */ +case 97: +/* rule 97 can match eol */ YY_RULE_SETUP -#line 368 "fe/idl.ll" +#line 377 "fe/idl.ll" { /* Skip the bookends */ char * const tmp = ACE_OS::strdup (ace_yytext); @@ -2376,102 +2393,90 @@ YY_RULE_SETUP return IDL_WSTRING_LITERAL; } YY_BREAK -case 96: +case 98: YY_RULE_SETUP -#line 387 "fe/idl.ll" +#line 396 "fe/idl.ll" { tao_yylval.cval = ace_yytext[1]; return IDL_CHARACTER_LITERAL; } YY_BREAK -case 97: +case 99: YY_RULE_SETUP -#line 391 "fe/idl.ll" +#line 400 "fe/idl.ll" { // octal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 98: +case 100: YY_RULE_SETUP -#line 396 "fe/idl.ll" +#line 405 "fe/idl.ll" { // hexadecimal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 401 "fe/idl.ll" +#line 410 "fe/idl.ll" { tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 100: +case 102: YY_RULE_SETUP -#line 405 "fe/idl.ll" +#line 414 "fe/idl.ll" { // wide character constant tao_yylval.wcval = ace_yytext[2]; return IDL_WCHAR_LITERAL; } YY_BREAK -case 101: +case 103: YY_RULE_SETUP -#line 410 "fe/idl.ll" +#line 419 "fe/idl.ll" { // hexadecimal wide character constant tao_yylval.wcval = idl_wchar_escape_reader (ace_yytext + 2); return IDL_WCHAR_LITERAL; } YY_BREAK -case 102: -/* rule 102 can match eol */ -#line 416 "fe/idl.ll" -case 103: -/* rule 103 can match eol */ -YY_RULE_SETUP -#line 416 "fe/idl.ll" -{/* remember pragma */ - idl_global->set_lineno (idl_global->lineno () + 1); - idl_store_pragma (ace_yytext); - break; - } - YY_BREAK case 104: /* rule 104 can match eol */ -#line 422 "fe/idl.ll" +#line 425 "fe/idl.ll" case 105: /* rule 105 can match eol */ YY_RULE_SETUP -#line 422 "fe/idl.ll" -{/* ignore file */ - idl_global->set_lineno(idl_global->lineno () + 1); +#line 425 "fe/idl.ll" +{/* remember pragma */ + idl_global->set_lineno (idl_global->lineno () + 1); + idl_store_pragma (ace_yytext); break; } YY_BREAK case 106: /* rule 106 can match eol */ -#line 427 "fe/idl.ll" +#line 431 "fe/idl.ll" case 107: /* rule 107 can match eol */ YY_RULE_SETUP -#line 427 "fe/idl.ll" -{ - idl_parse_line_and_file (ace_yytext); +#line 431 "fe/idl.ll" +{/* ignore file */ + idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK case 108: /* rule 108 can match eol */ -#line 432 "fe/idl.ll" +#line 436 "fe/idl.ll" case 109: /* rule 109 can match eol */ YY_RULE_SETUP -#line 432 "fe/idl.ll" +#line 436 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2479,11 +2484,11 @@ YY_RULE_SETUP YY_BREAK case 110: /* rule 110 can match eol */ -#line 437 "fe/idl.ll" +#line 441 "fe/idl.ll" case 111: /* rule 111 can match eol */ YY_RULE_SETUP -#line 437 "fe/idl.ll" +#line 441 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2491,11 +2496,11 @@ YY_RULE_SETUP YY_BREAK case 112: /* rule 112 can match eol */ -#line 442 "fe/idl.ll" +#line 446 "fe/idl.ll" case 113: /* rule 113 can match eol */ YY_RULE_SETUP -#line 442 "fe/idl.ll" +#line 446 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2503,30 +2508,42 @@ YY_RULE_SETUP YY_BREAK case 114: /* rule 114 can match eol */ -#line 447 "fe/idl.ll" +#line 451 "fe/idl.ll" case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 447 "fe/idl.ll" +#line 451 "fe/idl.ll" { - /* ignore cpp ident */ - idl_global->set_lineno (idl_global->lineno () + 1); + idl_parse_line_and_file (ace_yytext); break; } YY_BREAK case 116: /* rule 116 can match eol */ +#line 456 "fe/idl.ll" +case 117: +/* rule 117 can match eol */ +YY_RULE_SETUP +#line 456 "fe/idl.ll" +{ + /* ignore cpp ident */ + idl_global->set_lineno (idl_global->lineno () + 1); + break; + } + YY_BREAK +case 118: +/* rule 118 can match eol */ YY_RULE_SETUP -#line 452 "fe/idl.ll" +#line 461 "fe/idl.ll" { /* ignore comments */ idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 457 "fe/idl.ll" +#line 466 "fe/idl.ll" { for (;;) { @@ -2547,31 +2564,31 @@ YY_RULE_SETUP break; } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 476 "fe/idl.ll" +#line 485 "fe/idl.ll" break; YY_BREAK -case 119: -/* rule 119 can match eol */ +case 121: +/* rule 121 can match eol */ YY_RULE_SETUP -#line 477 "fe/idl.ll" +#line 486 "fe/idl.ll" { idl_global->set_lineno (idl_global->lineno () + 1); break; } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 481 "fe/idl.ll" +#line 490 "fe/idl.ll" return ace_yytext[0]; YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 483 "fe/idl.ll" +#line 492 "fe/idl.ll" ECHO; YY_BREAK -#line 2577 "fe/idl.yy.cpp" +#line 2594 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2837,7 +2854,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2860,11 +2877,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 621); + yy_is_jam = (yy_current_state == 622); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; @@ -3552,7 +3569,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 483 "fe/idl.ll" +#line 492 "fe/idl.ll" /* subroutines */ @@ -4401,7 +4418,7 @@ idl_get_pragma_string (char *pragma) if (!end) { - idl_global->err ()->syntax_error ( IDL_GlobalData::PS_PragmaPrefixSyntax); + idl_global->err ()->syntax_error (IDL_GlobalData::PS_PragmaPrefixSyntax); return nullptr; } From f99f4601dd18911c36c816629098040ce6b7ec85 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:54:19 -0400 Subject: [PATCH 05/92] More ast --- TAO/TAO_IDL/include/ast_decl.h | 1 + TAO/TAO_IDL/include/ast_visitor.h | 2 ++ TAO/TAO_IDL/include/idl_global.h | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/TAO/TAO_IDL/include/ast_decl.h b/TAO/TAO_IDL/include/ast_decl.h index c018be50aba71..5a44ba315b2c3 100644 --- a/TAO/TAO_IDL/include/ast_decl.h +++ b/TAO/TAO_IDL/include/ast_decl.h @@ -151,6 +151,7 @@ class TAO_IDL_FE_Export AST_Decl : public virtual COMMON_Base , NT_wstring // Denotes an IDL wstring , NT_array // Denotes an IDL array , NT_sequence // Denotes an IDL sequence + , NT_map // Denotes an IDL map , NT_typedef // Denotes a typedef , NT_pre_defined // Denotes a predefined type , NT_native // Denotes a native type diff --git a/TAO/TAO_IDL/include/ast_visitor.h b/TAO/TAO_IDL/include/ast_visitor.h index 70c4fc73f7e67..e3e3beef1848d 100644 --- a/TAO/TAO_IDL/include/ast_visitor.h +++ b/TAO/TAO_IDL/include/ast_visitor.h @@ -62,6 +62,7 @@ class AST_Constant; class AST_EnumVal; class AST_Array; class AST_Sequence; +class AST_Map; class AST_String; class AST_Typedef; class AST_Root; @@ -133,6 +134,7 @@ class TAO_IDL_FE_Export ast_visitor virtual int visit_enum_val (AST_EnumVal *node) = 0; virtual int visit_array (AST_Array *node) = 0; virtual int visit_sequence (AST_Sequence *node) = 0; + virtual int visit_map (AST_Map *node) = 0; virtual int visit_string (AST_String *node) = 0; virtual int visit_typedef (AST_Typedef *node) = 0; virtual int visit_root (AST_Root *node) = 0; diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 485486a60ddba..2b6f14afda8de 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -234,6 +234,11 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_EnumQsSeen // Seen '}' for enum , PS_EnumBodySeen // Seen complete enum body , PS_EnumCommaSeen // Seen ',' in list of enumerators + , PS_MapSeen // Seen a MAP keyword + , PS_MapSqSeen // Seen a '<' for map + , PS_MapQsSeen // Seen a '>' for map + , PS_MapTypeSeen // Seen a type decl for map + , PS_MapCommaSeen // Seen comma for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence From 2686e77cd9b6d896e4bc7513c0b4d1bad6b85f3c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 23 May 2022 11:49:30 -0400 Subject: [PATCH 06/92] Added functions for ast_visitor --- TAO/TAO_IDL/ast/ast_visitor_reifying.cpp | 69 +++++++++++++++++++ .../ast/ast_visitor_tmpl_module_inst.cpp | 6 ++ TAO/TAO_IDL/include/ast_visitor_reifying.h | 1 + .../include/ast_visitor_tmpl_module_inst.h | 1 + 4 files changed, 77 insertions(+) diff --git a/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp b/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp index c3282d8947ee4..e0f41fff792f5 100644 --- a/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp @@ -19,6 +19,7 @@ #include "ast_typedef.h" #include "ast_array.h" #include "ast_sequence.h" +#include "ast_map.h" #include "ast_union.h" #include "ast_enum.h" #include "ast_predefined_type.h" @@ -488,6 +489,74 @@ ast_visitor_reifying::visit_sequence (AST_Sequence *node) return 0; } +int +ast_visitor_reifying::visit_map (AST_Map *node) +{ + AST_Type *key_bt = node->key_type (); + AST_Type *value_bt = node->value_type (); + + if (key_bt->ast_accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit of key type failed\n")), + -1); + } + + key_bt = dynamic_cast (this->reified_node_); + + if (value_bt->ast_accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit of value type failed\n")), + -1); + } + + value_bt = dynamic_cast (this->reified_node_); + + AST_Expression *v = node->max_size (); + AST_Param_Holder *ph = v->param_holder (); + + if (ph != nullptr) + { + if (this->visit_param_holder (ph) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit_param_holder() ") + ACE_TEXT ("failed\n")), + -1); + } + + AST_Constant *c = dynamic_cast (this->reified_node_); + + v = c->constant_value (); + } + + AST_Expression *bound = + idl_global->gen ()->create_expr (v, + AST_Expression::EV_ulong); + Identifier id ("map"); + UTL_ScopedName sn (&id, nullptr); + + this->reified_node_ = + idl_global->gen ()->create_map (bound, + key_bt, + value_bt, + &sn, + false, + false); + + // No need to add this new node to any scope - it's anonymous + // and owned by the node that references it. + + return 0; +} + int ast_visitor_reifying::visit_predefined_type (AST_PredefinedType *node) { diff --git a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp index 759370f41a392..94efdb43bdbf3 100644 --- a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp @@ -632,6 +632,12 @@ ast_visitor_tmpl_module_inst::visit_sequence (AST_Sequence *) return 0; } +int +ast_visitor_tmpl_module_inst::visit_map (AST_Map *) +{ + return 0; +} + int ast_visitor_tmpl_module_inst::visit_string (AST_String *) { diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 6c7c5ef298157..32c5edcf42aba 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,6 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index 1a0dafdd24109..1c3ce2b35ba30 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,6 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From fc6f206a73db335d21f32ddae377b66677743425 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 23 May 2022 12:07:47 -0400 Subject: [PATCH 07/92] Removed blank lines --- TAO/tests/IDLv4/maps/main.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 06aa027835551..11ee11669cfe6 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -3,8 +3,6 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" - - int ACE_TMAIN(int, ACE_TCHAR *[]) { return EXIT_SUCCESS; From 8a7f735e2452bcbfbec015d4b87167e85e735ab6 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 24 May 2022 21:47:06 -0400 Subject: [PATCH 08/92] ifr_visitor --- .../IFR_Service/ifr_adding_visitor.cpp | 23 +++++++++++++++++++ TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h | 1 + TAO/orbsvcs/IFR_Service/ifr_visitor.cpp | 6 +++++ TAO/orbsvcs/IFR_Service/ifr_visitor.h | 1 + 4 files changed, 31 insertions(+) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 057e05a50135c..15d33a94bc29f 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2301,6 +2301,29 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) return 0; } +int +ifr_adding_visitor::visit_map (AST_Map *node) +{ + try + { + // this->element_type (node->base_type ()); + + // this->ir_current_ = + // be_global->repository ()->create_map ( + // node->max_size ()->ev ()->u.ulval, + // this->ir_current_.in () + // ); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception (ACE_TEXT ("visit_map")); + + return -1; + } + + return 0; +} + int ifr_adding_visitor::visit_string (AST_String *node) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h index 773f97a4b9d02..e21845e6dfab4 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h @@ -70,6 +70,7 @@ class ifr_adding_visitor : public ifr_visitor virtual int visit_constant (AST_Constant *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp index f7a0750d2cc09..2ed96a2f1e4ab 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp @@ -314,6 +314,12 @@ ifr_visitor::visit_sequence (AST_Sequence *) return 0; } +int +ifr_visitor::visit_map (AST_Map *) +{ + return 0; +} + int ifr_visitor::visit_string (AST_String *) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_visitor.h index 99b48ca2a9992..88d716572c617 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.h @@ -82,6 +82,7 @@ class ifr_visitor : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); From 9c6922836a9ca536b2dd180b491c31e0bb02435d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 20:48:45 -0400 Subject: [PATCH 09/92] Adding bounds to bison --- MPC | 1 + TAO/TAO_IDL/fe/idl.tab.cpp | 3888 +++++++++++++++--------------- TAO/TAO_IDL/fe/idl.tab.hpp | 6 +- TAO/TAO_IDL/fe/idl.ypp | 89 +- TAO/TAO_IDL/fe/idl.yy.cpp | 12 +- TAO/TAO_IDL/include/idl_global.h | 1 + TAO/tests/IDLv4/maps/test.idl | 1 + 7 files changed, 2043 insertions(+), 1955 deletions(-) create mode 160000 MPC diff --git a/MPC b/MPC new file mode 160000 index 0000000000000..7de9f4cebd58a --- /dev/null +++ b/MPC @@ -0,0 +1 @@ +Subproject commit 7de9f4cebd58a91f707ea936ba0cce1726cefde8 diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 056f22cb8bacc..15a9b7f9a44cf 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -46,10 +46,10 @@ USER NAME SPACE" below. */ /* Identify Bison output, and Bison version. */ -#define YYBISON 30705 +#define YYBISON 30802 /* Bison version string. */ -#define YYBISON_VERSION "3.7.5" +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -520,198 +520,197 @@ enum yysymbol_kind_t YYSYMBOL_327_91 = 327, /* $@91 */ YYSYMBOL_328_92 = 328, /* $@92 */ YYSYMBOL_329_93 = 329, /* $@93 */ - YYSYMBOL_330_94 = 330, /* $@94 */ - YYSYMBOL_331_95 = 331, /* $@95 */ - YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ - YYSYMBOL_333_96 = 333, /* $@96 */ - YYSYMBOL_334_97 = 334, /* $@97 */ - YYSYMBOL_seq_head = 335, /* seq_head */ - YYSYMBOL_336_98 = 336, /* $@98 */ - YYSYMBOL_337_99 = 337, /* $@99 */ - YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 339, /* string_type_spec */ - YYSYMBOL_340_100 = 340, /* $@100 */ - YYSYMBOL_341_101 = 341, /* $@101 */ - YYSYMBOL_string_head = 342, /* string_head */ - YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ - YYSYMBOL_344_102 = 344, /* $@102 */ - YYSYMBOL_345_103 = 345, /* $@103 */ - YYSYMBOL_wstring_head = 346, /* wstring_head */ - YYSYMBOL_array_declarator = 347, /* array_declarator */ - YYSYMBOL_348_104 = 348, /* $@104 */ - YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 350, /* array_dims */ - YYSYMBOL_array_dim = 351, /* array_dim */ - YYSYMBOL_352_105 = 352, /* $@105 */ - YYSYMBOL_353_106 = 353, /* $@106 */ - YYSYMBOL_attribute = 354, /* attribute */ - YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ - YYSYMBOL_356_107 = 356, /* $@107 */ - YYSYMBOL_357_108 = 357, /* $@108 */ - YYSYMBOL_358_109 = 358, /* $@109 */ - YYSYMBOL_359_110 = 359, /* $@110 */ - YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ - YYSYMBOL_361_111 = 361, /* $@111 */ - YYSYMBOL_362_112 = 362, /* $@112 */ - YYSYMBOL_363_113 = 363, /* $@113 */ - YYSYMBOL_364_114 = 364, /* $@114 */ - YYSYMBOL_exception = 365, /* exception */ - YYSYMBOL_366_115 = 366, /* $@115 */ - YYSYMBOL_367_116 = 367, /* @116 */ - YYSYMBOL_368_117 = 368, /* $@117 */ - YYSYMBOL_369_118 = 369, /* $@118 */ - YYSYMBOL_operation = 370, /* operation */ - YYSYMBOL_371_119 = 371, /* $@119 */ - YYSYMBOL_372_120 = 372, /* $@120 */ - YYSYMBOL_373_121 = 373, /* $@121 */ - YYSYMBOL_374_122 = 374, /* $@122 */ - YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 376, /* op_type_spec */ - YYSYMBOL_init_decl = 377, /* init_decl */ - YYSYMBOL_378_123 = 378, /* $@123 */ - YYSYMBOL_379_124 = 379, /* @124 */ - YYSYMBOL_380_125 = 380, /* $@125 */ - YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ - YYSYMBOL_382_126 = 382, /* $@126 */ - YYSYMBOL_383_127 = 383, /* $@127 */ - YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 385, /* in_parameters */ - YYSYMBOL_386_128 = 386, /* $@128 */ - YYSYMBOL_in_parameter = 387, /* in_parameter */ - YYSYMBOL_388_129 = 388, /* $@129 */ - YYSYMBOL_389_130 = 389, /* $@130 */ - YYSYMBOL_parameter_list = 390, /* parameter_list */ - YYSYMBOL_391_131 = 391, /* $@131 */ - YYSYMBOL_392_132 = 392, /* $@132 */ - YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ - YYSYMBOL_parameters = 394, /* parameters */ - YYSYMBOL_395_133 = 395, /* $@133 */ - YYSYMBOL_parameter = 396, /* parameter */ - YYSYMBOL_397_134 = 397, /* $@134 */ - YYSYMBOL_398_135 = 398, /* $@135 */ - YYSYMBOL_param_type_spec = 399, /* param_type_spec */ - YYSYMBOL_direction = 400, /* direction */ - YYSYMBOL_opt_raises = 401, /* opt_raises */ - YYSYMBOL_402_136 = 402, /* $@136 */ - YYSYMBOL_403_137 = 403, /* $@137 */ - YYSYMBOL_opt_getraises = 404, /* opt_getraises */ - YYSYMBOL_405_138 = 405, /* $@138 */ - YYSYMBOL_406_139 = 406, /* $@139 */ - YYSYMBOL_opt_setraises = 407, /* opt_setraises */ - YYSYMBOL_408_140 = 408, /* $@140 */ - YYSYMBOL_409_141 = 409, /* $@141 */ - YYSYMBOL_opt_context = 410, /* opt_context */ - YYSYMBOL_411_142 = 411, /* $@142 */ - YYSYMBOL_412_143 = 412, /* $@143 */ - YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 414, /* string_literals */ - YYSYMBOL_415_144 = 415, /* $@144 */ - YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ - YYSYMBOL_component = 418, /* component */ - YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ - YYSYMBOL_component_decl = 420, /* component_decl */ - YYSYMBOL_421_145 = 421, /* @145 */ - YYSYMBOL_422_146 = 422, /* $@146 */ - YYSYMBOL_423_147 = 423, /* $@147 */ - YYSYMBOL_component_header = 424, /* component_header */ - YYSYMBOL_425_148 = 425, /* $@148 */ - YYSYMBOL_426_149 = 426, /* $@149 */ - YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ - YYSYMBOL_428_150 = 428, /* $@150 */ - YYSYMBOL_component_exports = 429, /* component_exports */ - YYSYMBOL_component_export = 430, /* component_export */ - YYSYMBOL_431_151 = 431, /* $@151 */ - YYSYMBOL_432_152 = 432, /* $@152 */ - YYSYMBOL_433_153 = 433, /* $@153 */ - YYSYMBOL_434_154 = 434, /* $@154 */ - YYSYMBOL_435_155 = 435, /* $@155 */ - YYSYMBOL_436_156 = 436, /* $@156 */ - YYSYMBOL_437_157 = 437, /* $@157 */ - YYSYMBOL_provides_decl = 438, /* provides_decl */ - YYSYMBOL_interface_type = 439, /* interface_type */ - YYSYMBOL_uses_decl = 440, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 442, /* opt_multiple */ - YYSYMBOL_emits_decl = 443, /* emits_decl */ - YYSYMBOL_publishes_decl = 444, /* publishes_decl */ - YYSYMBOL_consumes_decl = 445, /* consumes_decl */ - YYSYMBOL_home_decl = 446, /* home_decl */ - YYSYMBOL_447_158 = 447, /* $@158 */ - YYSYMBOL_home_header = 448, /* home_header */ - YYSYMBOL_449_159 = 449, /* $@159 */ - YYSYMBOL_450_160 = 450, /* $@160 */ - YYSYMBOL_451_161 = 451, /* $@161 */ - YYSYMBOL_452_162 = 452, /* $@162 */ - YYSYMBOL_453_163 = 453, /* $@163 */ - YYSYMBOL_454_164 = 454, /* $@164 */ - YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ - YYSYMBOL_456_165 = 456, /* $@165 */ - YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ - YYSYMBOL_home_body = 458, /* home_body */ - YYSYMBOL_459_166 = 459, /* $@166 */ - YYSYMBOL_460_167 = 460, /* $@167 */ - YYSYMBOL_home_exports = 461, /* home_exports */ - YYSYMBOL_home_export = 462, /* home_export */ - YYSYMBOL_463_168 = 463, /* $@168 */ - YYSYMBOL_464_169 = 464, /* $@169 */ - YYSYMBOL_factory_decl = 465, /* factory_decl */ - YYSYMBOL_466_170 = 466, /* $@170 */ - YYSYMBOL_467_171 = 467, /* $@171 */ - YYSYMBOL_finder_decl = 468, /* finder_decl */ - YYSYMBOL_469_172 = 469, /* $@172 */ - YYSYMBOL_470_173 = 470, /* $@173 */ - YYSYMBOL_event = 471, /* event */ - YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ - YYSYMBOL_476_174 = 476, /* $@174 */ - YYSYMBOL_477_175 = 477, /* $@175 */ - YYSYMBOL_478_176 = 478, /* $@176 */ - YYSYMBOL_event_abs_header = 479, /* event_abs_header */ - YYSYMBOL_event_custom_header = 480, /* event_custom_header */ - YYSYMBOL_event_plain_header = 481, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ - YYSYMBOL_483_177 = 483, /* $@177 */ - YYSYMBOL_event_decl = 484, /* event_decl */ - YYSYMBOL_485_178 = 485, /* @178 */ - YYSYMBOL_486_179 = 486, /* $@179 */ - YYSYMBOL_487_180 = 487, /* $@180 */ - YYSYMBOL_event_header = 488, /* event_header */ - YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 491, /* formal_parameters */ - YYSYMBOL_formal_parameter = 492, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 496, /* porttype_decl */ - YYSYMBOL_497_181 = 497, /* $@181 */ - YYSYMBOL_498_182 = 498, /* @182 */ - YYSYMBOL_499_183 = 499, /* $@183 */ - YYSYMBOL_500_184 = 500, /* $@184 */ - YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 502, /* port_exports */ - YYSYMBOL_port_export = 503, /* port_export */ - YYSYMBOL_504_185 = 504, /* $@185 */ - YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 507, /* actual_parameters */ - YYSYMBOL_actual_parameter = 508, /* actual_parameter */ - YYSYMBOL_connector_decl = 509, /* connector_decl */ - YYSYMBOL_connector_header = 510, /* connector_header */ - YYSYMBOL_511_186 = 511, /* $@186 */ - YYSYMBOL_512_187 = 512, /* $@187 */ - YYSYMBOL_connector_body = 513, /* connector_body */ - YYSYMBOL_514_188 = 514, /* $@188 */ - YYSYMBOL_515_189 = 515, /* $@189 */ - YYSYMBOL_connector_exports = 516, /* connector_exports */ - YYSYMBOL_connector_export = 517, /* connector_export */ - YYSYMBOL_518_190 = 518, /* $@190 */ - YYSYMBOL_519_191 = 519, /* $@191 */ - YYSYMBOL_520_192 = 520, /* $@192 */ - YYSYMBOL_521_193 = 521 /* $@193 */ + YYSYMBOL_map_type = 330, /* map_type */ + YYSYMBOL_sequence_type_spec = 331, /* sequence_type_spec */ + YYSYMBOL_332_94 = 332, /* $@94 */ + YYSYMBOL_333_95 = 333, /* $@95 */ + YYSYMBOL_seq_head = 334, /* seq_head */ + YYSYMBOL_335_96 = 335, /* $@96 */ + YYSYMBOL_336_97 = 336, /* $@97 */ + YYSYMBOL_fixed_type_spec = 337, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 338, /* string_type_spec */ + YYSYMBOL_339_98 = 339, /* $@98 */ + YYSYMBOL_340_99 = 340, /* $@99 */ + YYSYMBOL_string_head = 341, /* string_head */ + YYSYMBOL_wstring_type_spec = 342, /* wstring_type_spec */ + YYSYMBOL_343_100 = 343, /* $@100 */ + YYSYMBOL_344_101 = 344, /* $@101 */ + YYSYMBOL_wstring_head = 345, /* wstring_head */ + YYSYMBOL_array_declarator = 346, /* array_declarator */ + YYSYMBOL_347_102 = 347, /* $@102 */ + YYSYMBOL_at_least_one_array_dim = 348, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 349, /* array_dims */ + YYSYMBOL_array_dim = 350, /* array_dim */ + YYSYMBOL_351_103 = 351, /* $@103 */ + YYSYMBOL_352_104 = 352, /* $@104 */ + YYSYMBOL_attribute = 353, /* attribute */ + YYSYMBOL_attribute_readonly = 354, /* attribute_readonly */ + YYSYMBOL_355_105 = 355, /* $@105 */ + YYSYMBOL_356_106 = 356, /* $@106 */ + YYSYMBOL_357_107 = 357, /* $@107 */ + YYSYMBOL_358_108 = 358, /* $@108 */ + YYSYMBOL_attribute_readwrite = 359, /* attribute_readwrite */ + YYSYMBOL_360_109 = 360, /* $@109 */ + YYSYMBOL_361_110 = 361, /* $@110 */ + YYSYMBOL_362_111 = 362, /* $@111 */ + YYSYMBOL_363_112 = 363, /* $@112 */ + YYSYMBOL_exception = 364, /* exception */ + YYSYMBOL_365_113 = 365, /* $@113 */ + YYSYMBOL_366_114 = 366, /* @114 */ + YYSYMBOL_367_115 = 367, /* $@115 */ + YYSYMBOL_368_116 = 368, /* $@116 */ + YYSYMBOL_operation = 369, /* operation */ + YYSYMBOL_370_117 = 370, /* $@117 */ + YYSYMBOL_371_118 = 371, /* $@118 */ + YYSYMBOL_372_119 = 372, /* $@119 */ + YYSYMBOL_373_120 = 373, /* $@120 */ + YYSYMBOL_opt_op_attribute = 374, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 375, /* op_type_spec */ + YYSYMBOL_init_decl = 376, /* init_decl */ + YYSYMBOL_377_121 = 377, /* $@121 */ + YYSYMBOL_378_122 = 378, /* @122 */ + YYSYMBOL_379_123 = 379, /* $@123 */ + YYSYMBOL_init_parameter_list = 380, /* init_parameter_list */ + YYSYMBOL_381_124 = 381, /* $@124 */ + YYSYMBOL_382_125 = 382, /* $@125 */ + YYSYMBOL_at_least_one_in_parameter = 383, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 384, /* in_parameters */ + YYSYMBOL_385_126 = 385, /* $@126 */ + YYSYMBOL_in_parameter = 386, /* in_parameter */ + YYSYMBOL_387_127 = 387, /* $@127 */ + YYSYMBOL_388_128 = 388, /* $@128 */ + YYSYMBOL_parameter_list = 389, /* parameter_list */ + YYSYMBOL_390_129 = 390, /* $@129 */ + YYSYMBOL_391_130 = 391, /* $@130 */ + YYSYMBOL_at_least_one_parameter = 392, /* at_least_one_parameter */ + YYSYMBOL_parameters = 393, /* parameters */ + YYSYMBOL_394_131 = 394, /* $@131 */ + YYSYMBOL_parameter = 395, /* parameter */ + YYSYMBOL_396_132 = 396, /* $@132 */ + YYSYMBOL_397_133 = 397, /* $@133 */ + YYSYMBOL_param_type_spec = 398, /* param_type_spec */ + YYSYMBOL_direction = 399, /* direction */ + YYSYMBOL_opt_raises = 400, /* opt_raises */ + YYSYMBOL_401_134 = 401, /* $@134 */ + YYSYMBOL_402_135 = 402, /* $@135 */ + YYSYMBOL_opt_getraises = 403, /* opt_getraises */ + YYSYMBOL_404_136 = 404, /* $@136 */ + YYSYMBOL_405_137 = 405, /* $@137 */ + YYSYMBOL_opt_setraises = 406, /* opt_setraises */ + YYSYMBOL_407_138 = 407, /* $@138 */ + YYSYMBOL_408_139 = 408, /* $@139 */ + YYSYMBOL_opt_context = 409, /* opt_context */ + YYSYMBOL_410_140 = 410, /* $@140 */ + YYSYMBOL_411_141 = 411, /* $@141 */ + YYSYMBOL_at_least_one_string_literal = 412, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 413, /* string_literals */ + YYSYMBOL_414_142 = 414, /* $@142 */ + YYSYMBOL_typeid_dcl = 415, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 416, /* typeprefix_dcl */ + YYSYMBOL_component = 417, /* component */ + YYSYMBOL_component_forward_decl = 418, /* component_forward_decl */ + YYSYMBOL_component_decl = 419, /* component_decl */ + YYSYMBOL_420_143 = 420, /* @143 */ + YYSYMBOL_421_144 = 421, /* $@144 */ + YYSYMBOL_422_145 = 422, /* $@145 */ + YYSYMBOL_component_header = 423, /* component_header */ + YYSYMBOL_424_146 = 424, /* $@146 */ + YYSYMBOL_425_147 = 425, /* $@147 */ + YYSYMBOL_component_inheritance_spec = 426, /* component_inheritance_spec */ + YYSYMBOL_427_148 = 427, /* $@148 */ + YYSYMBOL_component_exports = 428, /* component_exports */ + YYSYMBOL_component_export = 429, /* component_export */ + YYSYMBOL_430_149 = 430, /* $@149 */ + YYSYMBOL_431_150 = 431, /* $@150 */ + YYSYMBOL_432_151 = 432, /* $@151 */ + YYSYMBOL_433_152 = 433, /* $@152 */ + YYSYMBOL_434_153 = 434, /* $@153 */ + YYSYMBOL_435_154 = 435, /* $@154 */ + YYSYMBOL_436_155 = 436, /* $@155 */ + YYSYMBOL_provides_decl = 437, /* provides_decl */ + YYSYMBOL_interface_type = 438, /* interface_type */ + YYSYMBOL_uses_decl = 439, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 440, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 441, /* opt_multiple */ + YYSYMBOL_emits_decl = 442, /* emits_decl */ + YYSYMBOL_publishes_decl = 443, /* publishes_decl */ + YYSYMBOL_consumes_decl = 444, /* consumes_decl */ + YYSYMBOL_home_decl = 445, /* home_decl */ + YYSYMBOL_446_156 = 446, /* $@156 */ + YYSYMBOL_home_header = 447, /* home_header */ + YYSYMBOL_448_157 = 448, /* $@157 */ + YYSYMBOL_449_158 = 449, /* $@158 */ + YYSYMBOL_450_159 = 450, /* $@159 */ + YYSYMBOL_451_160 = 451, /* $@160 */ + YYSYMBOL_452_161 = 452, /* $@161 */ + YYSYMBOL_453_162 = 453, /* $@162 */ + YYSYMBOL_home_inheritance_spec = 454, /* home_inheritance_spec */ + YYSYMBOL_455_163 = 455, /* $@163 */ + YYSYMBOL_primary_key_spec = 456, /* primary_key_spec */ + YYSYMBOL_home_body = 457, /* home_body */ + YYSYMBOL_458_164 = 458, /* $@164 */ + YYSYMBOL_459_165 = 459, /* $@165 */ + YYSYMBOL_home_exports = 460, /* home_exports */ + YYSYMBOL_home_export = 461, /* home_export */ + YYSYMBOL_462_166 = 462, /* $@166 */ + YYSYMBOL_463_167 = 463, /* $@167 */ + YYSYMBOL_factory_decl = 464, /* factory_decl */ + YYSYMBOL_465_168 = 465, /* $@168 */ + YYSYMBOL_466_169 = 466, /* $@169 */ + YYSYMBOL_finder_decl = 467, /* finder_decl */ + YYSYMBOL_468_170 = 468, /* $@170 */ + YYSYMBOL_469_171 = 469, /* $@171 */ + YYSYMBOL_event = 470, /* event */ + YYSYMBOL_event_forward_decl = 471, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 472, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 473, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 474, /* event_abs_decl */ + YYSYMBOL_475_172 = 475, /* $@172 */ + YYSYMBOL_476_173 = 476, /* $@173 */ + YYSYMBOL_477_174 = 477, /* $@174 */ + YYSYMBOL_event_abs_header = 478, /* event_abs_header */ + YYSYMBOL_event_custom_header = 479, /* event_custom_header */ + YYSYMBOL_event_plain_header = 480, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 481, /* event_rest_of_header */ + YYSYMBOL_482_175 = 482, /* $@175 */ + YYSYMBOL_event_decl = 483, /* event_decl */ + YYSYMBOL_484_176 = 484, /* @176 */ + YYSYMBOL_485_177 = 485, /* $@177 */ + YYSYMBOL_486_178 = 486, /* $@178 */ + YYSYMBOL_event_header = 487, /* event_header */ + YYSYMBOL_formal_parameter_type = 488, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 489, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 490, /* formal_parameters */ + YYSYMBOL_formal_parameter = 491, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 492, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 493, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 494, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 495, /* porttype_decl */ + YYSYMBOL_496_179 = 496, /* $@179 */ + YYSYMBOL_497_180 = 497, /* @180 */ + YYSYMBOL_498_181 = 498, /* $@181 */ + YYSYMBOL_499_182 = 499, /* $@182 */ + YYSYMBOL_at_least_one_port_export = 500, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 501, /* port_exports */ + YYSYMBOL_port_export = 502, /* port_export */ + YYSYMBOL_503_183 = 503, /* $@183 */ + YYSYMBOL_extended_port_decl = 504, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 505, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 506, /* actual_parameters */ + YYSYMBOL_actual_parameter = 507, /* actual_parameter */ + YYSYMBOL_connector_decl = 508, /* connector_decl */ + YYSYMBOL_connector_header = 509, /* connector_header */ + YYSYMBOL_510_184 = 510, /* $@184 */ + YYSYMBOL_511_185 = 511, /* $@185 */ + YYSYMBOL_connector_body = 512, /* connector_body */ + YYSYMBOL_513_186 = 513, /* $@186 */ + YYSYMBOL_514_187 = 514, /* $@187 */ + YYSYMBOL_connector_exports = 515, /* connector_exports */ + YYSYMBOL_connector_export = 516, /* connector_export */ + YYSYMBOL_517_188 = 517, /* $@188 */ + YYSYMBOL_518_189 = 518, /* $@189 */ + YYSYMBOL_519_190 = 519, /* $@190 */ + YYSYMBOL_520_191 = 520 /* $@191 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -869,12 +868,18 @@ typedef int yy_state_fast_t; # define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# endif # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else @@ -1033,16 +1038,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2150 +#define YYLAST 2105 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 404 +#define YYNNTS 403 /* YYNRULES -- Number of rules. */ #define YYNRULES 614 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 900 +#define YYNSTATES 907 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1098,7 +1103,7 @@ static const yytype_int8 yytranslate[] = }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, @@ -1136,33 +1141,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3902, 3906, 3910, 3914, 3896, - 3980, 3984, 3978, 4068, 4135, 4144, 4134, 4158, 4168, 4172, - 4166, 4214, 4240, 4249, 4253, 4247, 4295, 4321, 4329, 4328, - 4371, 4381, 4399, 4407, 4411, 4406, 4471, 4472, 4477, 4481, - 4485, 4489, 4476, 4548, 4552, 4556, 4560, 4547, 4628, 4632, - 4664, 4668, 4627, 4685, 4689, 4750, 4754, 4684, 4791, 4796, - 4801, 4808, 4809, 4820, 4825, 4868, 4819, 4890, 4889, 4898, - 4897, 4908, 4913, 4911, 4917, 4922, 4926, 4921, 4965, 4964, - 4973, 4972, 4983, 4988, 4986, 4992, 4997, 5001, 4996, 5046, - 5053, 5054, 5055, 5162, 5166, 5170, 5178, 5182, 5177, 5191, - 5199, 5203, 5198, 5212, 5220, 5224, 5219, 5233, 5241, 5245, - 5240, 5254, 5261, 5273, 5271, 5294, 5301, 5331, 5370, 5371, - 5375, 5406, 5448, 5452, 5405, 5471, 5475, 5469, 5516, 5515, - 5523, 5530, 5545, 5546, 5551, 5550, 5560, 5559, 5569, 5568, - 5578, 5577, 5587, 5586, 5596, 5595, 5605, 5604, 5615, 5708, - 5714, 5739, 5846, 5855, 5859, 5866, 5941, 6013, 6089, 6088, - 6138, 6142, 6146, 6150, 6154, 6158, 6137, 6211, 6210, 6218, - 6225, 6230, 6238, 6242, 6237, 6252, 6253, 6257, 6259, 6258, - 6267, 6266, 6279, 6302, 6277, 6328, 6355, 6326, 6379, 6380, - 6381, 6385, 6386, 6390, 6419, 6451, 6495, 6499, 6449, 6516, - 6525, 6543, 6554, 6553, 6591, 6642, 6646, 6589, 6663, 6667, - 6674, 6678, 6682, 6686, 6690, 6694, 6698, 6702, 6706, 6710, - 6718, 6749, 6762, 6769, 6794, 6812, 6819, 6834, 6841, 6851, - 6855, 6874, 6882, 6850, 6897, 6912, 6916, 6917, 6921, 6922, - 6924, 6923, 6934, 7001, 7049, 7065, 7078, 7085, 7144, 7152, - 7156, 7151, 7217, 7221, 7216, 7234, 7235, 7240, 7239, 7248, - 7247, 7256, 7255, 7264, 7263 + 3850, 3848, 3854, 3858, 3897, 3902, 3907, 3896, 3967, 4028, + 4041, 4045, 4039, 4129, 4196, 4205, 4195, 4219, 4229, 4233, + 4227, 4275, 4301, 4310, 4314, 4308, 4356, 4382, 4390, 4389, + 4432, 4442, 4460, 4468, 4472, 4467, 4532, 4533, 4538, 4542, + 4546, 4550, 4537, 4609, 4613, 4617, 4621, 4608, 4689, 4693, + 4725, 4729, 4688, 4746, 4750, 4811, 4815, 4745, 4852, 4857, + 4862, 4869, 4870, 4881, 4886, 4929, 4880, 4951, 4950, 4959, + 4958, 4969, 4974, 4972, 4978, 4983, 4987, 4982, 5026, 5025, + 5034, 5033, 5044, 5049, 5047, 5053, 5058, 5062, 5057, 5107, + 5114, 5115, 5116, 5223, 5227, 5231, 5239, 5243, 5238, 5252, + 5260, 5264, 5259, 5273, 5281, 5285, 5280, 5294, 5302, 5306, + 5301, 5315, 5322, 5334, 5332, 5355, 5362, 5392, 5431, 5432, + 5436, 5467, 5509, 5513, 5466, 5532, 5536, 5530, 5577, 5576, + 5584, 5591, 5606, 5607, 5612, 5611, 5621, 5620, 5630, 5629, + 5639, 5638, 5648, 5647, 5657, 5656, 5666, 5665, 5676, 5769, + 5775, 5800, 5907, 5916, 5920, 5927, 6002, 6074, 6150, 6149, + 6199, 6203, 6207, 6211, 6215, 6219, 6198, 6272, 6271, 6279, + 6286, 6291, 6299, 6303, 6298, 6313, 6314, 6318, 6320, 6319, + 6328, 6327, 6340, 6363, 6338, 6389, 6416, 6387, 6440, 6441, + 6442, 6446, 6447, 6451, 6480, 6512, 6556, 6560, 6510, 6577, + 6586, 6604, 6615, 6614, 6652, 6703, 6707, 6650, 6724, 6728, + 6735, 6739, 6743, 6747, 6751, 6755, 6759, 6763, 6767, 6771, + 6779, 6810, 6823, 6830, 6855, 6873, 6880, 6895, 6902, 6912, + 6916, 6935, 6943, 6911, 6958, 6973, 6977, 6978, 6982, 6983, + 6985, 6984, 6995, 7062, 7110, 7126, 7139, 7146, 7205, 7213, + 7217, 7212, 7278, 7282, 7277, 7295, 7296, 7301, 7300, 7309, + 7308, 7317, 7316, 7325, 7324 }; #endif @@ -1246,48 +1251,48 @@ static const char *const yytname[] = "$@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", - "map_type_spec", "$@91", "$@92", "$@93", "$@94", "$@95", - "sequence_type_spec", "$@96", "$@97", "seq_head", "$@98", "$@99", - "fixed_type_spec", "string_type_spec", "$@100", "$@101", "string_head", - "wstring_type_spec", "$@102", "$@103", "wstring_head", - "array_declarator", "$@104", "at_least_one_array_dim", "array_dims", - "array_dim", "$@105", "$@106", "attribute", "attribute_readonly", - "$@107", "$@108", "$@109", "$@110", "attribute_readwrite", "$@111", - "$@112", "$@113", "$@114", "exception", "$@115", "@116", "$@117", - "$@118", "operation", "$@119", "$@120", "$@121", "$@122", - "opt_op_attribute", "op_type_spec", "init_decl", "$@123", "@124", - "$@125", "init_parameter_list", "$@126", "$@127", - "at_least_one_in_parameter", "in_parameters", "$@128", "in_parameter", - "$@129", "$@130", "parameter_list", "$@131", "$@132", - "at_least_one_parameter", "parameters", "$@133", "parameter", "$@134", - "$@135", "param_type_spec", "direction", "opt_raises", "$@136", "$@137", - "opt_getraises", "$@138", "$@139", "opt_setraises", "$@140", "$@141", - "opt_context", "$@142", "$@143", "at_least_one_string_literal", - "string_literals", "$@144", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@145", "$@146", "$@147", - "component_header", "$@148", "$@149", "component_inheritance_spec", - "$@150", "component_exports", "component_export", "$@151", "$@152", - "$@153", "$@154", "$@155", "$@156", "$@157", "provides_decl", + "map_type_spec", "$@91", "$@92", "$@93", "map_type", + "sequence_type_spec", "$@94", "$@95", "seq_head", "$@96", "$@97", + "fixed_type_spec", "string_type_spec", "$@98", "$@99", "string_head", + "wstring_type_spec", "$@100", "$@101", "wstring_head", + "array_declarator", "$@102", "at_least_one_array_dim", "array_dims", + "array_dim", "$@103", "$@104", "attribute", "attribute_readonly", + "$@105", "$@106", "$@107", "$@108", "attribute_readwrite", "$@109", + "$@110", "$@111", "$@112", "exception", "$@113", "@114", "$@115", + "$@116", "operation", "$@117", "$@118", "$@119", "$@120", + "opt_op_attribute", "op_type_spec", "init_decl", "$@121", "@122", + "$@123", "init_parameter_list", "$@124", "$@125", + "at_least_one_in_parameter", "in_parameters", "$@126", "in_parameter", + "$@127", "$@128", "parameter_list", "$@129", "$@130", + "at_least_one_parameter", "parameters", "$@131", "parameter", "$@132", + "$@133", "param_type_spec", "direction", "opt_raises", "$@134", "$@135", + "opt_getraises", "$@136", "$@137", "opt_setraises", "$@138", "$@139", + "opt_context", "$@140", "$@141", "at_least_one_string_literal", + "string_literals", "$@142", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@143", "$@144", "$@145", + "component_header", "$@146", "$@147", "component_inheritance_spec", + "$@148", "component_exports", "component_export", "$@149", "$@150", + "$@151", "$@152", "$@153", "$@154", "$@155", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@158", - "home_header", "$@159", "$@160", "$@161", "$@162", "$@163", "$@164", - "home_inheritance_spec", "$@165", "primary_key_spec", "home_body", - "$@166", "$@167", "home_exports", "home_export", "$@168", "$@169", - "factory_decl", "$@170", "$@171", "finder_decl", "$@172", "$@173", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@156", + "home_header", "$@157", "$@158", "$@159", "$@160", "$@161", "$@162", + "home_inheritance_spec", "$@163", "primary_key_spec", "home_body", + "$@164", "$@165", "home_exports", "home_export", "$@166", "$@167", + "factory_decl", "$@168", "$@169", "finder_decl", "$@170", "$@171", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@174", "$@175", "$@176", + "event_abs_forward_decl", "event_abs_decl", "$@172", "$@173", "$@174", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@177", "event_decl", "@178", "$@179", "$@180", + "event_rest_of_header", "$@175", "event_decl", "@176", "$@177", "$@178", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@181", "@182", "$@183", - "$@184", "at_least_one_port_export", "port_exports", "port_export", - "$@185", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@179", "@180", "$@181", + "$@182", "at_least_one_port_export", "port_exports", "port_export", + "$@183", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@186", "$@187", "connector_body", "$@188", "$@189", - "connector_exports", "connector_export", "$@190", "$@191", "$@192", - "$@193", YY_NULLPTR + "connector_header", "$@184", "$@185", "connector_body", "$@186", "$@187", + "connector_exports", "connector_export", "$@188", "$@189", "$@190", + "$@191", YY_NULLPTR }; static const char * @@ -1297,27 +1302,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_int16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 59, 123, 125, - 60, 62, 58, 44, 61, 124, 94, 38, 43, 45, - 42, 47, 37, 126, 40, 41, 91, 93 -}; -#endif - -#define YYPACT_NINF (-668) +#define YYPACT_NINF (-687) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -1327,105 +1312,106 @@ static const yytype_int16 yytoknum[] = #define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { - -668, 76, 739, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 94, 120, 51, 97, -668, 94, - 94, -668, 48, 48, -668, -668, 94, -668, -668, 54, - -668, 630, 39, 67, -668, -668, 2, -668, -668, -668, - -668, -668, -668, 577, -668, -668, -668, -668, -668, 1613, - 64, -668, -668, 70, -668, 154, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 80, -668, -668, -668, 80, -668, - -668, 86, 92, 2060, 48, 94, 1884, 94, 94, 94, - 94, -668, -668, -668, 32, 94, 68, -668, 78, 94, - -668, 80, 94, 104, 113, 94, -668, -668, 10, -668, - 26, 196, -668, 106, -668, 146, 151, 698, -668, -668, - -668, 166, 202, -668, 179, 181, 182, 107, -668, 98, - -668, -668, -668, -668, -668, -668, 176, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, 189, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - 154, -668, -668, -668, -668, 16, -668, -668, 184, -668, - 188, 185, 193, -668, 48, 197, 201, 183, -668, 206, - 207, 208, 209, 199, 211, 212, 214, -668, -668, -668, - 217, 218, -668, -668, -668, -668, 189, -668, -668, -668, - -668, -668, -668, -668, -668, -668, 189, -668, -668, -668, - -668, -668, -668, -668, -668, 219, -668, 220, -668, -668, - 221, -668, 316, -668, -668, -668, -668, 52, -668, -668, - -668, 2060, -668, -668, -668, -668, 222, -668, -668, -668, - -668, 317, -668, -668, 65, 224, -668, -668, -668, -668, - -668, -668, -668, -668, 323, -668, 178, 233, 235, 288, - -668, -668, -668, -668, -668, -668, 189, -668, -668, 223, - -668, -668, -668, -668, -668, -668, -668, -668, -668, 288, - 241, 246, -668, -668, -668, 94, 94, 247, 249, -668, - -668, -668, 240, -668, 316, 250, -668, -668, -668, -668, - -668, 347, -668, 254, 253, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, 153, 153, 153, 178, 189, - -668, -668, 252, 255, 256, 101, 87, 102, -668, -668, - -668, -668, -668, 48, -668, -668, -668, -668, 261, -668, - -668, 48, -668, 178, 178, 178, 245, -668, -668, -668, - -668, -668, -668, -668, 137, -668, -13, -668, -668, -668, - -668, -668, -668, -668, -668, 48, 288, -668, -668, -668, - -668, 221, 1427, 1526, 266, 265, -668, 698, -668, -668, - -668, 268, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 264, 94, -668, 189, 1118, -668, 837, 178, - -668, 1919, -668, -668, -668, -668, 178, -668, 1455, -668, - -668, -668, 576, 1025, -668, -668, -668, -668, 41, 326, - 48, 48, -668, -668, -668, -668, -668, 41, -668, 291, - -668, 287, -668, 289, -668, -668, 1212, 189, -668, 48, - 288, -668, -668, -668, -668, 297, -668, -668, 94, -668, - -668, 300, 303, 396, 312, -668, -668, 255, 256, 101, - 87, 87, 102, 102, -668, -668, -668, -668, -668, 308, - -668, -668, -668, 313, -668, -668, 1796, -668, -668, -668, - -668, 2007, -668, -668, -668, -668, -668, 314, -668, 1831, - -668, -668, 1706, -668, 318, 478, -668, 319, 324, 327, - 310, -668, 302, -668, 315, -668, -668, -668, 325, 330, - 286, 48, 48, 48, 156, -668, 335, -668, -668, -668, - -668, -668, -668, -668, 94, 94, -668, 336, -668, -668, - -668, 1306, 931, 404, 1972, -668, 189, 316, -668, -668, - 60, 62, 341, 342, 343, 316, 344, -668, -668, -3, - -668, 53, -668, -668, 345, 348, 189, -668, 350, 59, - 1884, -668, 412, -668, -668, -668, -668, 65, -668, 346, - -668, 349, -668, 353, 355, 356, 357, -668, 189, -668, - -668, -668, -668, -668, 358, 359, 454, -668, -668, -668, - 363, -668, -668, 360, -668, -668, -668, 178, -668, 316, - -668, 369, 94, -668, -668, 464, 189, -668, -668, -668, - -668, -668, -668, 63, 63, 63, -668, 376, -668, 379, - 381, 383, 385, 387, 388, -668, -668, -668, 409, 410, - 411, 413, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, 178, -668, -668, -668, 94, -668, 414, 405, - 417, -668, 442, 418, 59, -668, 421, 422, -668, 423, - 178, 424, 1588, -668, 48, -668, -668, -668, -668, -668, - -668, 508, -668, -668, -668, -668, -668, -668, 310, 315, - -668, -668, 408, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, 420, 420, -668, -668, -668, -668, 1972, - 94, -668, 178, 415, -668, -668, -668, -668, -668, -668, - -668, 429, -668, -668, -668, -668, -668, 48, -668, -668, - -668, -668, 430, 189, -668, 420, 1919, -668, 431, -668, - 499, -668, -668, -668, -668, -668, -668, -668, -668, 48, - -668, 189, 437, 1356, -668, 425, -668, -668, -668, 439, - 426, 504, 503, 503, 94, 487, 441, 432, -668, 189, - 446, -668, -668, 435, -668, 503, 450, -668, -668, -668, - 438, -668, -668, -668, -668, -668, -668, -668, -668, -668, - 492, 544, 440, 200, 503, -668, -668, 93, 1972, -668, - 451, 444, 503, 445, 493, 94, 48, -668, -668, 468, - -668, -668, -668, -668, -668, 455, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 189, -668, 469, -668, 470, 1972, - 531, 479, 178, 473, 480, 58, -668, 186, 94, 504, - 48, 48, 463, 94, 544, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 1678, -668, -668, -668, 466, 467, - -668, -668, -668, 200, 94, 485, 476, -668, -668, -668, - -668, 48, -668, -668, -668, -668, 94, 486, 490, 530, - -668, -668, -668, -668, 494, 507, -668, -668, 535, -668 + -687, 100, 1332, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, 57, 118, 64, 76, -687, 57, + 57, -687, 52, 52, -687, -687, 57, -687, -687, 33, + -687, 201, 84, 92, -687, -687, -1, -687, -687, -687, + -687, -687, -687, 663, -687, -687, -687, -687, -687, 1534, + 55, -687, -687, 96, -687, 133, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, 121, -687, -687, -687, 121, -687, + -687, 122, 150, 2015, 52, 57, 1892, 57, 57, 57, + 57, -687, -687, -687, 0, 57, 7, -687, 90, 57, + -687, 121, 57, 152, 155, 57, -687, -687, 37, -687, + 87, 253, -687, 172, -687, 186, 185, 1648, -687, -687, + -687, 188, 238, -687, 190, 192, 193, 97, -687, 98, + -687, -687, -687, -687, -687, -687, 194, -687, -687, -687, + 197, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, 200, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + 133, -687, -687, -687, -687, 69, -687, -687, 198, -687, + 199, 196, 205, -687, 52, 207, 208, 206, -687, 209, + 210, 211, 212, 213, 215, 216, 219, -687, -687, -687, + 221, 223, -687, -687, -687, -687, 200, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 200, -687, -687, -687, + -687, -687, -687, -687, -687, 224, -687, 227, -687, -687, + 229, -687, 310, -687, -687, -687, -687, 49, -687, -687, + -687, 2015, -687, -687, -687, -687, 234, -687, -687, -687, + -687, 320, -687, -687, 60, 240, -687, -687, -687, -687, + -687, -687, -687, -687, 337, -687, 187, 246, -687, 248, + 301, -687, -687, -687, -687, -687, -687, 200, -687, -687, + 236, -687, -687, -687, -687, -687, -687, -687, -687, -687, + 301, 254, 255, -687, -687, -687, 57, 57, 256, 259, + -687, -687, -687, 249, -687, 310, 261, -687, -687, -687, + -687, -687, 352, -687, 260, 263, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 419, 419, 419, 187, + 200, -687, -687, 262, 258, 264, 111, 109, 99, -687, + -687, -687, -687, -687, 52, -687, -687, -687, -687, 265, + -687, 1624, 266, -687, 52, -687, 187, 187, 187, 267, + -687, -687, -687, -687, -687, -687, -687, 169, -687, -13, + -687, -687, -687, -687, -687, -687, -687, -687, 52, 301, + -687, -687, -687, -687, 229, 711, 1447, 271, 273, -687, + 1648, -687, -687, -687, 247, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 269, 57, -687, 200, 1032, + -687, 844, 187, -687, -687, -687, -687, -687, -687, -687, + -687, 187, -687, 1397, -687, -687, -687, 59, 566, -687, + -687, -687, -687, 54, 316, 52, 52, -687, -687, -687, + -687, -687, 54, -687, 277, -687, 275, -687, 281, -687, + -687, 1126, 200, -687, 52, 301, -687, -687, -687, -687, + 283, -687, -687, 57, -687, -687, 290, 289, 386, 292, + -687, -687, 258, 264, 111, 109, 109, 99, 99, -687, + -687, -687, -687, -687, 294, -687, -687, -687, 296, -687, + -687, 1804, -687, -687, -687, -687, 1927, -687, -687, -687, + -687, -687, 299, -687, 1839, -687, -687, 1714, -687, 304, + 1624, 297, 307, 306, 311, 314, 312, -687, 302, -687, + 315, -687, -687, -687, 326, 328, 996, 52, 52, 52, + 184, -687, 330, -687, -687, -687, -687, -687, -687, -687, + 57, 57, -687, 331, -687, -687, -687, 1220, 938, 387, + 1980, -687, 200, 310, -687, -687, 53, 62, 334, 336, + 338, 310, 340, -687, -687, 3, -687, 50, -687, -687, + 335, 339, 200, -687, 346, 117, 1892, -687, 409, -687, + -687, -687, -687, 60, -687, 349, -687, 350, -687, 351, + 353, 354, 355, -687, 200, -687, -687, -687, -687, -687, + 357, 358, 446, -687, -687, -687, 359, -687, -687, 187, + -687, -687, -687, -687, 187, -687, 310, -687, 360, 57, + -687, -687, 450, 200, -687, -687, -687, -687, -687, -687, + 71, 71, 71, -687, 362, -687, 364, 365, 368, 371, + 373, 380, -687, -687, -687, 381, 382, 384, 385, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, 187, + -687, -687, -687, 57, -687, 388, 383, 390, -687, 423, + 392, 117, -687, 395, 404, -687, 405, 187, 406, 1509, + -687, 52, -687, -687, -687, -687, -687, -687, 505, -687, + -687, -687, -687, 410, -687, -687, 312, 315, -687, -687, + 399, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 396, 396, -687, -687, -687, -687, 1980, 57, -687, + 187, 400, -687, -687, -687, -687, -687, -687, -687, 418, + -687, -687, -687, -687, -687, 52, -687, -687, -687, -687, + 422, 200, -687, 396, -687, 420, -687, 425, -687, 484, + -687, -687, -687, -687, -687, -687, -687, -687, 52, -687, + 200, 424, 1270, -687, 411, -687, -687, -687, 426, 412, + 490, 493, 493, 57, 473, 431, 428, -687, 200, 437, + -687, -687, 427, -687, 493, -687, -687, -687, 432, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 480, 538, + 434, 176, 493, -687, 166, 1980, -687, 440, 436, 493, + 438, 483, 57, 52, -687, -687, 452, -687, -687, -687, + -687, -687, 441, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 200, -687, 448, -687, 454, 1980, 515, 461, 187, + 457, 463, 58, -687, 202, 57, 490, 52, 52, 449, + 57, 538, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 1599, -687, -687, -687, 445, 451, -687, -687, -687, + 176, 57, 458, 462, -687, -687, -687, -687, 52, -687, + -687, -687, -687, 57, 468, 453, 495, -687, -687, -687, + -687, 475, 488, -687, -687, 519, -687 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, @@ -1442,7 +1428,7 @@ static const yytype_int16 yydefact[] = 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, - 354, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 0, 372, 377, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, @@ -1454,517 +1440,495 @@ static const yytype_int16 yydefact[] = 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 0, 99, - 363, 360, 368, 373, 19, 11, 214, 13, 297, 0, - 21, 15, 17, 29, 472, 31, 522, 509, 33, 99, - 0, 0, 35, 37, 606, 0, 0, 0, 0, 89, - 478, 476, 519, 139, 0, 0, 600, 212, 200, 4, - 569, 0, 573, 0, 570, 186, 187, 188, 190, 193, - 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, - 597, 161, 162, 163, 165, 167, 169, 172, 175, 179, - 184, 596, 62, 0, 114, 105, 278, 196, 0, 365, - 355, 0, 93, 0, 0, 0, 217, 213, 312, 483, - 526, 553, 546, 555, 603, 149, 266, 232, 259, 260, - 261, 267, 346, 400, 114, 0, 99, 517, 512, 141, - 581, 480, 0, 0, 3, 0, 49, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 594, 0, 76, 136, 0, 113, 0, 0, - 213, 0, 98, 361, 369, 374, 0, 215, 0, 298, - 302, 213, 213, 0, 114, 105, 388, 393, 0, 504, - 0, 0, 611, 386, 387, 607, 609, 0, 613, 0, - 605, 0, 213, 256, 213, 302, 0, 479, 477, 0, - 99, 587, 601, 204, 198, 0, 206, 199, 0, 201, - 207, 0, 0, 0, 0, 571, 185, 164, 166, 168, - 170, 171, 173, 174, 176, 177, 178, 213, 63, 133, - 131, 408, 409, 0, 116, 123, 0, 117, 127, 125, - 129, 0, 119, 121, 413, 111, 110, 0, 104, 0, - 106, 107, 0, 108, 0, 0, 356, 0, 0, 0, - 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, - 0, 0, 0, 0, 0, 494, 0, 482, 484, 486, - 488, 490, 492, 496, 0, 0, 527, 0, 525, 528, - 530, 0, 0, 0, 0, 500, 499, 0, 503, 502, - 0, 0, 0, 0, 0, 0, 0, 604, 150, 0, - 257, 0, 347, 352, 213, 0, 518, 513, 586, 213, - 0, 202, 210, 203, 45, 574, 50, 0, 134, 0, - 69, 0, 115, 0, 0, 0, 0, 412, 442, 439, - 440, 441, 403, 411, 0, 0, 0, 87, 112, 103, - 0, 367, 366, 0, 362, 370, 375, 0, 216, 0, - 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, - 321, 313, 322, 0, 0, 0, 481, 0, 474, 0, - 0, 0, 0, 0, 0, 532, 535, 524, 0, 0, - 0, 0, 389, 394, 498, 592, 593, 612, 608, 610, - 501, 614, 0, 383, 379, 382, 0, 353, 0, 349, - 0, 91, 0, 0, 0, 590, 0, 0, 585, 0, - 0, 0, 0, 595, 0, 132, 124, 118, 128, 126, - 130, 0, 120, 122, 414, 109, 357, 223, 0, 222, - 308, 305, 0, 507, 505, 506, 495, 485, 487, 489, - 491, 493, 497, 0, 0, 529, 531, 548, 557, 0, - 0, 151, 0, 380, 258, 348, 350, 402, 514, 583, - 584, 0, 588, 589, 205, 209, 208, 0, 56, 42, - 51, 55, 0, 135, 404, 0, 0, 221, 0, 314, - 417, 533, 536, 390, 395, 265, 384, 381, 213, 0, - 591, 58, 0, 0, 57, 0, 415, 358, 306, 0, - 0, 0, 449, 449, 0, 453, 262, 0, 351, 515, - 0, 52, 54, 430, 405, 449, 0, 315, 418, 425, - 0, 424, 446, 534, 537, 391, 450, 396, 263, 385, - 521, 0, 0, 0, 449, 416, 359, 0, 0, 420, - 421, 0, 449, 0, 457, 0, 0, 516, 578, 0, - 577, 429, 443, 444, 445, 0, 435, 436, 406, 330, - 337, 335, 316, 326, 327, 334, 426, 422, 447, 392, - 451, 454, 397, 264, 520, 59, 575, 431, 432, 0, - 461, 0, 0, 0, 0, 0, 213, 332, 0, 0, - 0, 0, 0, 0, 0, 433, 437, 458, 407, 331, - 338, 336, 317, 325, 0, 333, 427, 423, 0, 0, - 455, 60, 576, 0, 0, 0, 0, 340, 328, 448, - 452, 0, 434, 438, 459, 339, 0, 0, 0, 0, - 341, 329, 456, 465, 0, 462, 460, 463, 0, 464 + 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, + 99, 363, 360, 368, 373, 19, 11, 214, 13, 297, + 0, 21, 15, 17, 29, 472, 31, 522, 509, 33, + 99, 0, 0, 35, 37, 606, 0, 0, 0, 0, + 89, 478, 476, 519, 139, 0, 0, 600, 212, 200, + 4, 569, 0, 573, 0, 570, 186, 187, 188, 190, + 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, + 183, 597, 161, 162, 163, 165, 167, 169, 172, 175, + 179, 184, 596, 62, 0, 114, 105, 278, 196, 0, + 365, 0, 0, 355, 0, 93, 0, 0, 0, 217, + 213, 312, 483, 526, 553, 546, 555, 603, 149, 266, + 232, 259, 260, 261, 267, 346, 400, 114, 0, 99, + 517, 512, 141, 581, 480, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 594, 0, 76, 136, 0, + 113, 0, 0, 213, 359, 213, 213, 98, 361, 369, + 374, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 388, 393, 0, 504, 0, 0, 611, 386, 387, + 607, 609, 0, 613, 0, 605, 0, 213, 256, 213, + 302, 0, 479, 477, 0, 99, 587, 601, 204, 198, + 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, + 571, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 408, 409, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 413, + 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, + 0, 0, 0, 0, 0, 0, 137, 218, 0, 219, + 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, + 0, 494, 0, 482, 484, 486, 488, 490, 492, 496, + 0, 0, 527, 0, 525, 528, 530, 0, 0, 0, + 0, 500, 499, 0, 503, 502, 0, 0, 0, 0, + 0, 0, 0, 604, 150, 0, 257, 0, 347, 352, + 213, 0, 518, 513, 586, 213, 0, 202, 210, 203, + 45, 574, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 412, 442, 439, 440, 441, 403, 411, + 0, 0, 0, 87, 112, 103, 0, 367, 366, 0, + 356, 362, 370, 375, 0, 216, 0, 220, 0, 0, + 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, + 0, 0, 0, 481, 0, 474, 0, 0, 0, 0, + 0, 0, 532, 535, 524, 0, 0, 0, 0, 389, + 394, 498, 592, 593, 612, 608, 610, 501, 614, 0, + 383, 379, 382, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 590, 0, 0, 585, 0, 0, 0, 0, + 595, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 414, 109, 0, 213, 223, 0, 222, 308, 305, + 0, 507, 505, 506, 495, 485, 487, 489, 491, 493, + 497, 0, 0, 529, 531, 548, 557, 0, 0, 151, + 0, 380, 258, 348, 350, 402, 514, 583, 584, 0, + 588, 589, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 404, 0, 358, 0, 221, 0, 314, 417, + 533, 536, 390, 395, 265, 384, 381, 213, 0, 591, + 58, 0, 0, 57, 0, 415, 357, 306, 0, 0, + 0, 449, 449, 0, 453, 262, 0, 351, 515, 0, + 52, 54, 430, 405, 449, 315, 418, 425, 0, 424, + 446, 534, 537, 391, 450, 396, 263, 385, 521, 0, + 0, 0, 449, 416, 0, 0, 420, 421, 0, 449, + 0, 457, 0, 0, 516, 578, 0, 577, 429, 443, + 444, 445, 0, 435, 436, 406, 330, 337, 335, 316, + 326, 327, 334, 426, 422, 447, 392, 451, 454, 397, + 264, 520, 59, 575, 431, 432, 0, 461, 0, 0, + 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, + 0, 0, 433, 437, 458, 407, 331, 338, 336, 317, + 325, 0, 333, 427, 423, 0, 0, 455, 60, 576, + 0, 0, 0, 0, 340, 328, 448, 452, 0, 434, + 438, 459, 339, 0, 0, 0, 0, 341, 329, 456, + 465, 0, 462, 460, 463, 0, 464 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -668, -668, 304, 305, 563, -620, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -590, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -138, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, 205, -668, - -668, 36, -668, -668, -668, 599, -668, -668, -668, -668, - -668, -668, -668, 601, -668, 244, -668, -668, -248, -668, - -668, 194, 116, -668, -668, -668, -300, -668, -365, -668, - -668, -668, -668, -668, -668, -668, -668, -336, -668, -668, - -22, -668, -668, -193, -10, -668, 18, -668, -668, -668, - -668, -199, -28, -219, -668, 228, 229, 227, -130, -128, - -159, -52, -668, -317, -668, -668, -668, -668, -668, -668, - -668, -668, 15, -93, 575, -668, -668, -668, -668, -63, - 23, 20, -668, 57, -668, -31, -393, -460, -668, -668, - -668, 19, -668, -668, -624, -134, -668, -668, -7, -668, - -75, -668, -668, -36, -30, -56, -55, -50, 251, -668, - -40, -668, -38, -668, -668, -668, -668, 190, 284, 144, - -668, -668, -668, -37, -668, -32, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -201, -668, -668, -668, -668, - -668, -200, -668, -668, -668, -668, -668, -668, -668, -41, - -668, -668, -668, -668, -668, -668, -668, -100, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -70, -668, -668, -668, -69, -668, -668, -668, -668, - -668, -668, -668, -64, -668, -668, -324, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, 21, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -654, -668, -668, -668, -668, -668, -192, - -668, -668, -668, -668, -668, -668, -668, -668, -217, -668, - -668, -515, -668, -667, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, 22, 24, - -668, -668, -668, -668, -668, -668, -668, -668, -668, 290, - -668, -668, 145, -668, -668, -668, -668, -668, -668, -668, - -334, 231, -330, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 592, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 285, -668, -668, -181, -668, -668, - -668, -668, -668, -668, -668, 12, -668, 321, -668, -668, - 100, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668 + -687, -687, 286, 293, 553, -603, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -597, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -158, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 225, -687, + -687, 86, -687, -687, -687, 589, -687, -687, -687, -687, + -687, -687, -687, 592, -687, 257, -687, -687, -247, -687, + -687, 179, 103, -687, -687, -687, -319, -687, -360, -687, + -687, -687, -687, -687, -687, -687, -687, -340, -687, -687, + -22, -687, -687, -188, -10, -687, 17, -687, -687, -687, + -687, -191, -47, -236, -687, 220, 218, 222, -123, -122, + -176, -69, -687, -326, -687, -687, -687, -687, -687, -687, + -687, -687, 13, -89, 567, -687, -687, -687, -687, -81, + 2, 18, -687, 44, -687, -31, -304, -469, -687, -687, + -687, 4, -687, -687, -621, -151, -687, -687, -7, -687, + -66, -687, -687, -43, -42, -57, -55, -50, 239, -687, + -40, -687, -38, -687, -687, -687, -687, 175, 268, 123, + -687, -687, -687, -37, -687, -32, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -226, -687, -687, -687, -687, + -687, -225, -687, -687, -687, -687, -687, -687, -687, -41, + -687, -687, -687, -687, -687, -687, -687, -125, -687, -687, + -687, -687, -377, -687, -687, -687, -687, -687, -687, -687, + -75, -687, -687, -687, -70, -687, -687, -687, -687, -687, + -687, -687, -88, -687, -687, -333, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 20, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -628, -687, -687, -687, -687, -687, -222, -687, + -687, -687, -687, -687, -687, -687, -687, -245, -687, -687, + -513, -687, -686, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, 22, 23, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 252, -687, + -687, 107, -687, -687, -687, -687, -687, -687, -687, -332, + 203, -331, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, 560, -687, -687, -687, -687, -687, -687, + -687, -687, -687, 250, -687, -687, -220, -687, -687, -687, + -687, -687, -687, -687, -28, -687, 272, -687, -687, 61, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 309, 462, 31, 32, 117, - 313, 464, 672, 752, 730, 753, 731, 732, 770, 853, - 33, 118, 403, 34, 35, 124, 344, 483, 36, 85, - 37, 151, 343, 38, 39, 40, 126, 345, 497, 41, - 227, 374, 565, 42, 269, 43, 102, 258, 352, 44, - 45, 408, 498, 600, 499, 500, 406, 407, 484, 583, - 594, 595, 581, 585, 584, 586, 579, 404, 479, 674, - 329, 232, 304, 109, 366, 46, 485, 83, 295, 441, - 652, 207, 330, 347, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 348, 48, 308, 382, 457, 570, 458, - 459, 671, 486, 50, 307, 356, 417, 512, 513, 610, - 514, 487, 86, 218, 296, 219, 154, 155, 156, 157, - 52, 367, 443, 656, 368, 744, 766, 805, 369, 370, + 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, + 314, 469, 679, 761, 738, 762, 739, 740, 779, 860, + 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, + 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, + 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, + 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, + 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, + 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, + 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, + 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, + 52, 370, 448, 663, 371, 753, 775, 812, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 357, 518, 419, 519, 614, 517, - 612, 738, 611, 55, 88, 56, 279, 421, 692, 759, - 797, 844, 621, 822, 845, 823, 846, 887, 841, 824, - 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, - 89, 297, 444, 658, 562, 659, 748, 563, 173, 268, - 411, 603, 736, 776, 174, 353, 507, 175, 267, 410, - 176, 177, 354, 508, 178, 179, 355, 509, 180, 371, - 442, 654, 713, 655, 712, 767, 488, 433, 543, 709, - 764, 802, 434, 544, 710, 765, 804, 489, 90, 298, - 445, 660, 490, 681, 755, 794, 840, 491, 592, 503, - 596, 735, 775, 741, 760, 761, 780, 800, 849, 781, - 798, 848, 774, 792, 793, 815, 838, 873, 816, 839, - 874, 593, 817, 783, 801, 850, 787, 803, 851, 832, - 852, 881, 858, 875, 889, 894, 895, 898, 492, 493, - 63, 64, 65, 193, 359, 526, 66, 230, 376, 301, - 375, 422, 527, 629, 630, 631, 632, 633, 627, 634, - 528, 547, 529, 437, 549, 530, 531, 532, 67, 195, - 68, 105, 302, 450, 662, 749, 790, 378, 449, 807, - 287, 360, 537, 423, 538, 638, 639, 539, 703, 762, - 540, 704, 763, 69, 70, 71, 72, 73, 290, 424, - 640, 74, 75, 76, 198, 289, 77, 291, 425, 641, - 78, 251, 252, 314, 253, 809, 836, 810, 79, 111, - 305, 451, 663, 568, 569, 668, 721, 533, 255, 402, - 341, 80, 81, 112, 381, 203, 294, 439, 364, 440, - 553, 554, 552, 556 + 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, + 619, 747, 618, 55, 88, 56, 280, 426, 700, 768, + 804, 851, 628, 829, 852, 830, 853, 894, 848, 831, + 854, 832, 850, 849, 883, 885, 893, 57, 58, 59, + 89, 298, 449, 665, 568, 666, 757, 569, 173, 269, + 416, 694, 352, 174, 356, 513, 175, 267, 413, 176, + 177, 357, 514, 178, 179, 358, 515, 180, 374, 447, + 661, 721, 662, 720, 776, 493, 438, 549, 717, 773, + 809, 439, 550, 718, 774, 811, 494, 90, 299, 450, + 667, 495, 688, 764, 802, 847, 496, 598, 508, 602, + 743, 784, 750, 769, 770, 788, 807, 856, 789, 805, + 855, 783, 800, 801, 822, 845, 880, 823, 846, 881, + 599, 824, 791, 808, 857, 795, 810, 858, 839, 859, + 888, 865, 882, 896, 901, 902, 905, 497, 498, 63, + 64, 65, 193, 362, 532, 66, 230, 379, 302, 378, + 427, 533, 636, 637, 638, 639, 640, 634, 641, 534, + 553, 535, 442, 555, 536, 537, 538, 67, 195, 68, + 105, 303, 455, 669, 758, 798, 381, 454, 814, 288, + 363, 543, 428, 544, 645, 646, 545, 711, 771, 546, + 712, 772, 69, 70, 71, 72, 73, 291, 429, 647, + 74, 75, 76, 198, 290, 77, 292, 430, 648, 78, + 251, 252, 315, 253, 816, 843, 817, 79, 111, 306, + 456, 670, 574, 575, 675, 729, 539, 255, 405, 342, + 80, 81, 112, 384, 203, 295, 444, 367, 445, 559, + 560, 558, 562 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 208, 103, - 104, 171, 153, 214, 215, 412, 113, 49, 506, 237, - 47, 152, 51, 60, 61, 254, 62, 211, 212, 643, - 435, 589, 714, 213, 436, 331, 413, 414, 415, 303, - 432, 361, 310, 501, 106, 172, 168, 209, 169, 170, - 742, 106, 728, 210, 171, 306, 657, 8, 536, 819, - 545, 206, 216, 645, 152, 646, 106, 47, 106, 51, - 60, 61, 123, 62, 446, 217, 4, 220, 221, 222, - 223, 756, 729, -378, 589, 225, 233, 820, 821, 228, - 426, 427, 229, 184, 819, 231, 784, 91, 525, -144, - 234, 18, 235, -378, 122, 95, 264, 265, 795, 391, - 197, 379, 602, 653, 197, 262, 234, 270, 263, 271, - 428, 582, 820, 821, 541, 429, 8, 818, 448, -145, - 224, 107, 226, 728, 122, 829, 119, 501, 107, 315, - 316, 317, 318, 319, 320, 321, 322, 18, 184, 184, - 234, 99, 234, 234, 114, 107, 106, -324, 323, 324, - 184, 184, 276, 729, 120, -146, 208, -342, 426, 427, - 122, 214, 215, 325, 326, -100, 188, 501, 327, 328, - 122, 106, 122, 456, 202, 211, 212, 426, 427, 204, - 504, 213, 395, 396, 743, 397, 398, 511, 428, 236, - 525, -470, 567, 429, 238, 209, 430, 431, 521, 522, - -543, 210, 399, 400, 401, 820, 821, 428, 523, 206, - 94, 96, 429, 510, 866, 430, 431, 315, 316, 317, - 318, 319, 320, 321, 322, 666, 812, 813, 814, 667, - 474, 475, 476, 107, 239, 665, 323, 324, 240, 589, - 883, 257, 315, 316, 317, 318, 319, 320, 321, 322, - 98, 101, 890, 256, 418, 470, 471, 328, 107, 472, - 473, 323, 324, 388, 389, 390, 266, 259, 260, 234, - 261, 278, 274, 826, 272, 365, 325, 326, 273, 106, - 275, 327, 328, -212, 615, 128, 129, 284, 277, 132, - 133, 134, 135, 280, 281, 282, 283, 208, 285, 12, - 286, 288, 214, 215, 292, 293, -544, 505, 299, 106, - 312, 405, 311, 300, 856, 342, 211, 212, 520, 405, - 666, 346, 213, 349, 667, 350, 351, 358, 589, 362, - 665, 461, 377, 757, 363, 372, 209, 373, 380, 559, - 385, 561, 210, 447, 644, 386, 387, 392, 331, 416, - 206, 393, 650, 394, 409, -44, 463, 477, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 172, 168, 589, - 169, 170, 184, 466, 577, 548, 171, 516, 687, 152, - 557, 558, 560, 478, 571, 746, 152, 573, 49, 575, - 455, 47, 574, 51, 60, 61, 546, 62, 550, 551, - 576, 578, 580, 597, 607, 546, 688, 608, 609, 601, - 604, 590, 591, 502, 613, 605, 418, 566, 606, -300, - 693, 694, 695, 331, 628, 637, 642, 524, 647, 648, - 649, 651, 670, 675, -401, 617, 676, 661, 572, -582, - 677, 725, 678, 679, 680, 682, 683, 684, 172, 168, - 685, 169, 170, 686, 618, 619, 690, 171, 516, 588, - 620, 418, 262, 696, 590, 591, 697, 152, 698, 622, - 699, 106, 700, 152, 701, 702, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 616, 623, - 624, 625, 139, 140, 141, 142, 705, 706, 716, 718, - 707, 734, 708, 715, 868, 869, 717, 719, 722, 723, - 724, 726, 588, 739, 635, 636, 750, 754, 758, 172, - 168, 653, 169, 170, 740, -419, 771, 777, 171, 773, - 779, 778, 782, 786, 788, 888, 791, 808, 152, 789, - -428, 796, 806, 799, 827, 811, 831, 502, 828, 830, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 835, - 837, 857, 854, 855, 184, 861, 859, 870, 885, 862, - 106, 879, 880, 891, 664, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 884, - 12, 139, 140, 141, 142, 892, 893, 426, 427, 896, - 897, 899, 183, 383, 384, 772, 100, 97, 599, 542, - 467, 469, 468, 860, 711, 185, 737, 669, 521, 522, - 785, 691, 689, 460, -47, 564, -47, 428, 523, 590, - 591, 420, 429, 598, 863, 430, 431, 865, 768, 747, - -47, -47, 733, -47, -47, 561, 882, 867, -47, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 555, 626, - 199, 452, 465, 872, -101, -473, 720, 673, 0, 122, - -47, 0, 0, 0, -47, 438, 0, 588, 0, 0, - 47, 0, 51, 60, 61, 0, 62, 0, -47, 0, - 92, 0, 241, 745, 242, 751, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 0, 0, 0, 243, 244, - 0, 245, 246, 0, 0, 0, 247, 769, 590, 591, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 5, 0, 0, 6, 7, 8, 9, 0, 248, 0, - 0, 0, 249, 864, 92, 0, 0, 745, 0, 10, - 11, 0, 12, 0, 0, 0, 250, 13, 0, 590, - 591, 47, 0, 51, 60, 61, 588, 62, 0, 0, - 14, 15, 16, 17, 834, 0, 0, 0, 0, 18, - 19, 0, 0, 20, 0, 92, 21, 0, 833, 0, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, - 24, 25, 0, 0, 0, 0, 0, 588, 0, 0, - 0, 0, 0, 172, 168, 0, 169, 170, 405, 405, - 0, 0, 171, 877, 26, -213, 0, 0, 480, 0, - -410, 6, 152, 871, 9, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 10, 11, 405, - 12, 0, 0, -410, -410, 13, 0, 0, 426, 427, - 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, + 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, + 51, 152, 60, 237, 61, 62, 211, 595, 212, 254, + 418, 419, 420, 213, 437, 440, 441, 650, 511, 512, + 209, 210, 722, 364, 304, 172, 168, 414, 169, 170, + 311, 506, 307, 664, 171, 106, 652, 106, 451, 826, + 91, 206, 216, 106, 152, 653, 47, 51, 542, 60, + 8, 61, 62, 551, 106, 217, 736, 220, 221, 222, + 223, 595, 737, -378, 751, 225, 792, 827, 828, 228, + 431, 432, 229, 394, 531, 231, -144, -145, 803, 184, + 4, 122, 122, -378, -146, 262, 264, 265, 263, 122, + 547, 527, 528, 233, 18, 765, 825, 382, 95, 660, + 433, 529, 123, 836, 8, 434, 18, 234, 435, 436, + 99, 588, 453, 114, 316, 317, 318, 319, 320, 321, + 322, 323, 107, 234, 107, 184, 184, 506, 431, 432, + 107, 184, 234, 324, 325, 188, 184, -324, -473, 736, + 197, 234, 277, 235, 197, 737, 214, 826, 326, 327, + 271, 215, 272, 328, 329, 208, 509, 234, 433, 351, + 224, 119, 226, 434, 211, 517, 212, -100, 506, 120, + 106, 213, 122, -342, 461, 827, 828, 531, 209, 210, + 431, 432, 398, 399, 752, -47, 608, -47, 573, 402, + 403, 404, 819, 820, 821, 431, 432, 400, 401, 206, + 202, -47, -47, 122, -47, -47, 479, 480, 481, -47, + 433, 827, 828, 516, 873, 434, 527, 528, 435, 436, + 94, 96, 672, 673, 674, 433, 529, 204, 595, -470, + 434, -47, -543, 435, 436, -47, 236, 391, 392, 393, + 890, 316, 317, 318, 319, 320, 321, 322, 323, -47, + 238, 423, 897, 98, 101, 475, 476, 107, 477, 478, + 324, 325, 240, 693, 239, 256, 368, 257, 259, 260, + 234, 261, 833, 275, 266, 326, 327, 268, 273, 274, + 328, 329, 276, -212, 279, 278, 281, 282, 283, 284, + 214, 285, 286, 106, 287, 215, 289, 745, 293, 208, + 294, -544, 408, 313, 510, 300, 351, 351, 211, 152, + 212, 301, 408, 863, 312, 213, 595, 526, 672, 673, + 674, 343, 209, 210, 466, 347, 350, 332, 353, 354, + 361, 380, 365, 366, 375, 388, 452, 376, 565, 383, + 567, 389, 471, 206, 396, 651, 390, 395, 412, 415, + -44, 397, 482, 657, 468, 554, 563, 595, 695, 564, + 577, 421, 172, 168, 566, 169, 170, 579, 580, 581, + 582, 171, 522, 583, 755, 586, 483, 584, 603, 49, + 609, 152, 460, 47, 51, 607, 60, 611, 61, 62, + 610, 552, 612, 556, 557, 613, 614, 615, 616, 649, + 552, 596, 106, 332, 507, 620, 597, -300, 696, 635, + 644, 654, 572, 655, -401, 656, 423, 658, 668, 677, + 530, 733, 701, 702, 703, -582, 682, 683, 684, 691, + 685, 686, 687, 578, 689, 690, 692, 698, 262, 704, + 624, 705, 706, 172, 168, 707, 169, 170, 708, 625, + 709, 626, 171, 522, 594, 596, 627, 710, 713, 714, + 597, 423, 152, 715, 716, 629, 724, 723, 152, 725, + 726, 727, 730, 316, 317, 318, 319, 320, 321, 322, + 323, 731, 732, 734, 623, 630, 631, 632, 742, 107, + 749, 744, 324, 325, 748, 759, 660, 875, 876, 763, + -419, 766, 767, 780, 785, 782, 787, 786, 594, 794, + 642, 643, 790, 329, 796, 172, 168, 799, 169, 170, + 813, 815, -428, 834, 171, 797, 838, 806, 895, 818, + 835, 861, 837, 842, 152, 864, 844, 862, 866, 868, + 886, 507, 869, 877, 892, 898, 887, 485, 899, -410, + 6, 900, 891, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 671, 12, + 903, 904, -410, -410, 13, 906, 386, 431, 432, 486, + 487, -410, 183, 387, 781, 351, 100, 14, 97, 548, + 605, 540, 719, 867, 473, 472, 746, 185, 697, 474, + 676, 541, 793, 699, 465, 570, 870, 604, 425, 872, + 22, 23, 777, 756, 874, 889, 457, 633, 199, 443, + 470, 879, 596, 728, 680, 561, 0, 597, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 0, 0, 741, + 0, 0, 0, 0, 0, -523, 106, 0, 567, 0, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 0, 0, 0, 594, 47, 51, 0, 60, + 0, 61, 62, 0, 0, 0, 0, 0, 92, 0, + 0, 754, 0, 760, 106, 6, 0, 0, 458, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 596, 0, 0, 0, 12, 597, 778, 141, 142, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, + -101, 0, 0, 92, 871, 122, 754, 0, 0, 0, + 0, 596, 0, 0, 0, 0, 597, 0, 0, 47, + 51, 0, 60, 594, 61, 62, 0, 0, 0, 0, + 0, 841, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 92, 0, 0, 840, 0, 0, 0, 0, + 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, + 172, 168, 0, 169, 170, 408, 408, 0, 0, 171, + 884, 0, 0, 0, 0, 485, 0, -410, 6, 152, + 878, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 408, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, + 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, - -410, -410, -410, -410, -410, -410, -410, -410, 0, 0, - 0, 0, 480, -213, -410, 6, -86, 0, 9, -410, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - -410, 10, 11, 0, 12, 0, 0, -410, -410, 13, - 0, 0, 426, 427, 481, 482, -410, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 494, 495, 496, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -410, -410, -410, -410, -410, -410, -410, - -410, -410, 0, 0, 0, 0, 480, -213, -410, 6, - -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, - 0, -410, -410, 13, 0, 0, 426, 427, 481, 482, - -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 535, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 0, 0, 0, 480, - 0, -410, 6, 0, -523, 9, -410, -410, -410, -410, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 0, 0, 0, 0, 485, + -213, -410, 6, -86, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, - 0, 12, 0, 0, -410, -410, 13, 0, 0, 426, - 427, 481, 482, -410, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, -410, -410, 13, 0, 0, 431, + 432, 486, 487, -410, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, + 0, 0, 22, 23, 622, 128, 129, 0, 0, 132, + 133, 134, 135, 0, 0, 0, 0, 0, 0, 12, -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, - 0, 0, 0, 480, -213, -410, 6, -68, 0, 9, + 0, 0, 0, 485, -213, -410, 6, -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, - 13, 0, 0, 426, 427, 481, 482, -410, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 13, 0, 0, 431, 432, 486, 487, -410, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, + 0, 0, 184, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, - -410, -410, -410, 0, 0, 0, 0, 480, -213, -410, - 6, -90, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, 0, 0, 0, 0, 485, -213, -410, + 6, -68, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, - 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, - 0, 0, 0, 0, 13, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 14, 15, 16, - 17, 0, -213, 0, 0, -547, 18, 19, 0, 0, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 24, 25, 727, - 106, 6, 0, 0, 453, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 0, 0, 0, 0, - 12, 26, 0, 141, 142, -53, 515, 0, 106, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, - 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -410, -410, 13, 0, 0, 431, 432, 486, + 487, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 454, 5, 0, 0, - 6, 7, 8, 9, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 10, 11, 0, 12, - 0, 184, 0, 0, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, - 17, 0, 0, 0, 0, 0, 18, 19, 0, 0, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 5, - 22, 23, 6, 7, 8, 9, 0, 24, 25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 5, 0, 13, 6, 7, 8, - 9, 26, -213, 0, 0, 0, 0, 0, 0, 14, - 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, - 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 14, 15, 16, 17, 0, 24, - 25, 727, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, - 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 480, 26, -410, - 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, - 22, 23, 0, 0, 184, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 480, 0, -410, - 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 515, 0, 106, 0, 0, 14, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 106, 0, 0, + -410, -410, -410, -410, -410, -410, -410, 0, 0, 0, + 0, 485, -213, -410, 6, -90, 0, 9, -410, -410, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + 10, 11, 0, 12, 0, 0, -410, -410, 13, 0, + 0, 431, 432, 486, 487, -410, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, + 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, + 0, 0, -410, -410, -410, -410, -410, -410, -410, -410, + -410, 14, 15, 16, 17, 0, -213, 0, 0, -547, + 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, + 0, 0, -2, 5, 22, 23, 6, 7, 8, 9, + 0, 24, 25, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 26, 0, 0, 0, -53, + 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 22, 23, 521, 0, + 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, + 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, + 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 14, 15, + 16, 17, 0, 184, 0, 0, 0, 18, 19, 0, + 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, + 5, 22, 23, 6, 7, 8, 9, 0, 24, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 11, 0, 12, 0, 0, 5, 0, 13, 6, 7, + 8, 9, 26, -213, 0, 0, 0, 0, 0, 0, + 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, + 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 22, 23, 14, 15, 16, 17, 0, + 24, 25, 735, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, + 135, 136, 137, 138, 0, 0, 0, 0, 139, 140, + 141, 142, 241, 0, 242, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 243, 244, + 0, 245, 246, 0, 0, 0, 247, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 0, 0, 0, 0, 0, 184, 0, 0, 248, 0, + 0, 0, 249, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 485, 250, -410, 6, 0, + 184, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, + 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 485, 0, -410, 6, 0, + 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 521, 0, 106, 0, 0, 14, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, - 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 205, 0, 0, + 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 205, 0, 0, 0, 0, 0, 0, 0, + 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107 + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 83, 351, 26, 2, 411, 112, - 2, 43, 2, 2, 2, 118, 2, 83, 83, 544, - 364, 491, 656, 83, 364, 254, 353, 354, 355, 232, - 364, 289, 241, 408, 3, 86, 86, 83, 86, 86, - 704, 3, 672, 83, 86, 3, 3, 6, 423, 1, - 19, 83, 84, 3, 86, 3, 3, 49, 3, 49, - 49, 49, 36, 49, 374, 85, 0, 87, 88, 89, - 90, 735, 672, 96, 544, 95, 76, 29, 30, 99, - 31, 32, 102, 96, 1, 105, 763, 3, 422, 97, - 90, 50, 76, 116, 102, 54, 8, 9, 775, 328, - 74, 304, 505, 116, 78, 8, 90, 101, 11, 103, - 61, 486, 29, 30, 424, 66, 6, 794, 376, 97, - 94, 90, 96, 753, 102, 802, 97, 502, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 50, 96, 96, - 90, 54, 90, 90, 100, 90, 3, 99, 93, 94, - 96, 96, 184, 753, 97, 97, 241, 97, 31, 32, - 102, 241, 241, 108, 109, 97, 22, 542, 113, 114, - 102, 3, 102, 382, 98, 241, 241, 31, 32, 97, - 409, 241, 91, 92, 709, 108, 109, 416, 61, 3, - 524, 97, 450, 66, 98, 241, 69, 70, 52, 53, - 97, 241, 110, 111, 112, 29, 30, 61, 62, 241, - 15, 16, 66, 416, 848, 69, 70, 74, 75, 76, - 77, 78, 79, 80, 81, 569, 36, 37, 38, 569, - 399, 400, 401, 90, 98, 569, 93, 94, 97, 709, - 874, 49, 74, 75, 76, 77, 78, 79, 80, 81, - 16, 17, 886, 97, 357, 395, 396, 114, 90, 397, - 398, 93, 94, 325, 326, 327, 100, 98, 97, 90, - 98, 98, 97, 798, 100, 295, 108, 109, 100, 3, - 97, 113, 114, 96, 8, 9, 10, 98, 97, 13, - 14, 15, 16, 97, 97, 97, 97, 382, 97, 23, - 98, 97, 382, 382, 97, 97, 97, 410, 98, 3, - 3, 343, 100, 102, 839, 101, 382, 382, 421, 351, - 664, 8, 382, 100, 664, 100, 48, 114, 798, 98, - 664, 382, 102, 736, 98, 98, 382, 98, 98, 442, - 3, 444, 382, 375, 547, 101, 103, 105, 577, 114, - 382, 106, 555, 107, 103, 99, 101, 103, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 418, 418, 839, - 418, 418, 96, 115, 477, 59, 418, 418, 607, 411, - 99, 104, 103, 403, 97, 712, 418, 97, 383, 3, - 382, 383, 99, 383, 383, 383, 428, 383, 430, 431, - 98, 103, 99, 99, 104, 437, 609, 115, 103, 101, - 101, 491, 491, 408, 99, 101, 519, 449, 101, 99, - 623, 624, 625, 652, 99, 99, 32, 422, 97, 97, - 97, 97, 30, 97, 99, 520, 97, 99, 458, 99, - 97, 670, 97, 97, 97, 97, 97, 3, 499, 499, - 97, 499, 499, 103, 520, 520, 97, 499, 499, 491, - 520, 564, 8, 97, 544, 544, 97, 499, 97, 520, - 97, 3, 97, 505, 97, 97, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 520, 521, - 522, 523, 24, 25, 26, 27, 97, 97, 103, 67, - 99, 3, 99, 99, 850, 851, 99, 99, 97, 97, - 97, 97, 544, 115, 534, 535, 97, 97, 97, 570, - 570, 116, 570, 570, 114, 36, 99, 98, 570, 114, - 36, 115, 39, 56, 103, 881, 100, 3, 570, 117, - 115, 101, 60, 115, 103, 115, 63, 542, 114, 114, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 101, - 115, 40, 103, 103, 96, 102, 97, 114, 102, 99, - 3, 115, 115, 97, 569, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 114, - 23, 24, 25, 26, 27, 115, 76, 31, 32, 115, - 103, 76, 49, 309, 309, 753, 17, 16, 502, 425, - 392, 394, 393, 842, 652, 50, 689, 570, 52, 53, - 764, 612, 609, 382, 4, 445, 6, 61, 62, 709, - 709, 357, 66, 499, 845, 69, 70, 847, 748, 713, - 20, 21, 674, 23, 24, 748, 873, 849, 28, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 437, 524, - 78, 381, 387, 854, 97, 99, 664, 577, -1, 102, - 50, -1, -1, -1, 54, 364, -1, 709, -1, -1, - 672, -1, 672, 672, 672, -1, 672, -1, 68, -1, - 710, -1, 4, 710, 6, 727, -1, -1, -1, -1, - -1, -1, -1, -1, 736, -1, -1, -1, 20, 21, - -1, 23, 24, -1, -1, -1, 28, 749, 798, 798, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, - 1, -1, -1, 4, 5, 6, 7, -1, 50, -1, - -1, -1, 54, 846, 764, -1, -1, 764, -1, 20, - 21, -1, 23, -1, -1, -1, 68, 28, -1, 839, - 839, 753, -1, 753, 753, 753, 798, 753, -1, -1, - 41, 42, 43, 44, 806, -1, -1, -1, -1, 50, - 51, -1, -1, 54, -1, 805, 57, -1, 805, -1, - -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, - 71, 72, -1, -1, -1, -1, -1, 839, -1, -1, - -1, -1, -1, 864, 864, -1, 864, 864, 850, 851, - -1, -1, 864, 864, 95, 96, -1, -1, 1, -1, - 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, - 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, - 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, + 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, + 2, 43, 2, 112, 2, 2, 83, 496, 83, 118, + 356, 357, 358, 83, 367, 367, 367, 550, 415, 416, + 83, 83, 663, 290, 232, 86, 86, 351, 86, 86, + 241, 411, 3, 3, 86, 3, 3, 3, 377, 1, + 3, 83, 84, 3, 86, 3, 49, 49, 428, 49, + 6, 49, 49, 19, 3, 85, 679, 87, 88, 89, + 90, 550, 679, 96, 712, 95, 772, 29, 30, 99, + 31, 32, 102, 329, 427, 105, 97, 97, 784, 96, + 0, 102, 102, 116, 97, 8, 8, 9, 11, 102, + 429, 52, 53, 76, 50, 743, 802, 305, 54, 116, + 61, 62, 36, 809, 6, 66, 50, 90, 69, 70, + 54, 491, 379, 100, 74, 75, 76, 77, 78, 79, + 80, 81, 90, 90, 90, 96, 96, 507, 31, 32, + 90, 96, 90, 93, 94, 22, 96, 99, 99, 762, + 74, 90, 184, 76, 78, 762, 241, 1, 108, 109, + 101, 241, 103, 113, 114, 241, 412, 90, 61, 268, + 94, 97, 96, 66, 241, 421, 241, 97, 548, 97, + 3, 241, 102, 97, 385, 29, 30, 530, 241, 241, + 31, 32, 91, 92, 717, 4, 510, 6, 455, 110, + 111, 112, 36, 37, 38, 31, 32, 108, 109, 241, + 98, 20, 21, 102, 23, 24, 402, 403, 404, 28, + 61, 29, 30, 421, 855, 66, 52, 53, 69, 70, + 15, 16, 575, 575, 575, 61, 62, 97, 717, 97, + 66, 50, 97, 69, 70, 54, 3, 326, 327, 328, + 881, 74, 75, 76, 77, 78, 79, 80, 81, 68, + 98, 360, 893, 16, 17, 398, 399, 90, 400, 401, + 93, 94, 97, 609, 98, 97, 296, 49, 98, 97, + 90, 98, 805, 97, 100, 108, 109, 100, 100, 100, + 113, 114, 97, 96, 98, 97, 97, 97, 97, 97, + 385, 98, 97, 3, 98, 385, 97, 694, 97, 385, + 97, 97, 344, 3, 413, 98, 415, 416, 385, 351, + 385, 102, 354, 846, 100, 385, 805, 426, 671, 671, + 671, 101, 385, 385, 385, 8, 100, 583, 100, 48, + 114, 102, 98, 98, 98, 3, 378, 98, 447, 98, + 449, 101, 115, 385, 106, 553, 103, 105, 103, 103, + 99, 107, 103, 561, 101, 59, 99, 846, 614, 104, + 97, 114, 423, 423, 103, 423, 423, 97, 99, 3, + 98, 423, 423, 482, 720, 99, 406, 103, 99, 386, + 103, 423, 385, 386, 386, 101, 386, 101, 386, 386, + 103, 433, 101, 435, 436, 101, 104, 115, 103, 32, + 442, 496, 3, 659, 411, 99, 496, 99, 616, 99, + 99, 97, 454, 97, 99, 97, 525, 97, 99, 30, + 427, 677, 630, 631, 632, 99, 97, 97, 97, 3, + 97, 97, 97, 463, 97, 97, 97, 97, 8, 97, + 526, 97, 97, 504, 504, 97, 504, 504, 97, 526, + 97, 526, 504, 504, 496, 550, 526, 97, 97, 97, + 550, 570, 504, 99, 99, 526, 103, 99, 510, 99, + 67, 99, 97, 74, 75, 76, 77, 78, 79, 80, + 81, 97, 97, 97, 526, 527, 528, 529, 3, 90, + 114, 101, 93, 94, 115, 97, 116, 857, 858, 97, + 36, 101, 97, 99, 98, 114, 36, 115, 550, 56, + 540, 541, 39, 114, 103, 576, 576, 100, 576, 576, + 60, 3, 115, 103, 576, 117, 63, 115, 888, 115, + 114, 103, 114, 101, 576, 40, 115, 103, 97, 102, + 115, 548, 99, 114, 102, 97, 115, 1, 115, 3, + 4, 76, 114, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, + 115, 103, 26, 27, 28, 76, 310, 31, 32, 33, + 34, 35, 49, 310, 762, 694, 17, 41, 16, 430, + 507, 45, 659, 849, 396, 395, 697, 50, 616, 397, + 576, 55, 773, 619, 385, 450, 852, 504, 360, 854, + 64, 65, 757, 721, 856, 880, 384, 530, 78, 367, + 390, 861, 717, 671, 583, 442, -1, 717, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, 681, + -1, -1, -1, -1, -1, 99, 3, -1, 757, -1, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, -1, -1, -1, 717, 679, 679, -1, 679, + -1, 679, 679, -1, -1, -1, -1, -1, 718, -1, + -1, 718, -1, 735, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + 805, -1, -1, -1, 23, 805, 758, 26, 27, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, + 97, -1, -1, 773, 853, 102, 773, -1, -1, -1, + -1, 846, -1, -1, -1, -1, 846, -1, -1, 762, + 762, -1, 762, 805, 762, 762, -1, -1, -1, -1, + -1, 813, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 812, -1, -1, 812, -1, -1, -1, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 846, -1, -1, -1, -1, -1, + 871, 871, -1, 871, 871, 857, 858, -1, -1, 871, + 871, -1, -1, -1, -1, 1, -1, 3, 4, 871, + 860, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 888, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, - 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, - -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + -1, -1, 64, 65, 8, 9, 10, -1, -1, 13, + 14, 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, @@ -1972,71 +1936,81 @@ static const yytype_int16 yycheck[] = 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, 20, 21, -1, 23, - -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, - 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, - 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, 71, 72, 73, - 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, - 23, 95, -1, 26, 27, 99, 1, -1, 3, -1, - -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, - 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, -1, -1, -1, -1, 99, 1, -1, -1, - 4, 5, 6, 7, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 20, 21, -1, 23, - -1, 96, -1, -1, 28, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - 44, -1, -1, -1, -1, -1, 50, 51, -1, -1, - 54, -1, -1, 57, -1, -1, -1, -1, -1, 1, - 64, 65, 4, 5, 6, 7, -1, 71, 72, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, 1, -1, 28, 4, 5, 6, - 7, 95, 96, -1, -1, -1, -1, -1, -1, 41, - 42, 43, 44, 20, 21, -1, 23, -1, 50, 51, - -1, 28, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, 64, 65, 41, 42, 43, 44, -1, 71, - 72, 73, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, - -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, 1, 95, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, + -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, + -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, + -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, + 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, + -1, -1, 0, 1, 64, 65, 4, 5, 6, 7, + -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, -1, 95, -1, -1, -1, 99, + -1, -1, -1, 41, 42, 43, 44, -1, -1, -1, + -1, -1, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, + 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, + 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, + 43, 44, -1, 96, -1, -1, -1, 50, 51, -1, + -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, + 1, 64, 65, 4, 5, 6, 7, -1, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + 21, -1, 23, -1, -1, 1, -1, 28, 4, 5, + 6, 7, 95, 96, -1, -1, -1, -1, -1, -1, + 41, 42, 43, 44, 20, 21, -1, 23, -1, 50, + 51, -1, 28, 54, -1, -1, 57, -1, -1, -1, + -1, -1, -1, 64, 65, 41, 42, 43, 44, -1, + 71, 72, 73, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, 24, 25, 26, 27, -1, -1, -1, + 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, + 26, 27, 4, -1, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, 24, -1, -1, -1, 28, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + -1, -1, -1, -1, -1, 96, -1, -1, 50, -1, + -1, -1, 54, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 1, 68, 3, 4, -1, + 96, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 1, -1, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + 1, -1, 3, -1, -1, 41, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, @@ -2044,19 +2018,22 @@ static const yytype_int16 yycheck[] = -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, + -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90 + 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 119, 120, 121, 0, 1, 4, 5, 6, 7, @@ -2065,93 +2042,94 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, - 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, - 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, - 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, - 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 364, 415, 416, 417, 418, 419, 423, 445, 447, 470, + 471, 472, 473, 474, 478, 479, 480, 483, 487, 495, + 508, 509, 138, 215, 140, 167, 250, 279, 292, 318, + 365, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 448, 3, 90, 208, 211, + 208, 496, 510, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 332, 335, 338, 339, 342, 343, - 346, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 421, 134, 447, 135, 169, 482, 482, - 136, 137, 98, 513, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, + 291, 293, 317, 326, 331, 334, 337, 338, 341, 342, + 345, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 420, 134, 446, 135, 169, 481, 481, + 136, 137, 98, 512, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 338, 342, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 425, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 424, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 489, 490, 492, 241, 506, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 336, 327, 182, - 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, - 97, 97, 97, 97, 98, 97, 98, 458, 97, 483, - 476, 485, 97, 97, 514, 216, 252, 319, 367, 98, - 102, 427, 450, 211, 210, 498, 3, 242, 233, 143, - 219, 100, 3, 148, 491, 74, 75, 76, 77, 78, - 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 508, 101, 170, 164, 175, 8, 221, 231, 100, - 100, 48, 186, 333, 340, 344, 243, 282, 114, 422, - 459, 186, 98, 98, 516, 212, 212, 259, 262, 266, - 267, 347, 98, 98, 179, 428, 426, 102, 455, 211, - 98, 512, 234, 120, 121, 3, 101, 103, 229, 229, - 229, 221, 105, 106, 107, 91, 92, 108, 109, 110, - 111, 112, 507, 160, 205, 208, 194, 195, 189, 103, - 337, 328, 205, 231, 231, 231, 114, 244, 241, 284, - 286, 295, 429, 461, 477, 486, 31, 32, 61, 66, - 69, 70, 354, 355, 360, 438, 440, 441, 505, 515, - 517, 217, 348, 260, 320, 368, 194, 208, 186, 456, - 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, - 276, 317, 144, 101, 149, 492, 115, 223, 224, 225, - 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, - 1, 33, 34, 165, 196, 214, 240, 249, 354, 365, - 370, 375, 416, 417, 45, 46, 47, 176, 190, 192, - 193, 196, 240, 377, 221, 241, 254, 334, 341, 345, - 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, - 241, 52, 53, 62, 240, 354, 423, 430, 438, 440, - 443, 444, 445, 505, 45, 55, 196, 460, 462, 465, - 468, 194, 189, 356, 361, 19, 208, 439, 59, 442, - 208, 208, 520, 518, 519, 439, 521, 99, 104, 241, - 103, 241, 322, 325, 285, 180, 208, 186, 501, 502, - 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, - 99, 200, 196, 197, 202, 201, 203, 35, 208, 255, - 339, 343, 376, 399, 198, 199, 378, 99, 287, 190, - 191, 101, 254, 329, 101, 101, 101, 104, 115, 103, - 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, - 275, 300, 317, 208, 208, 208, 430, 436, 99, 431, - 432, 433, 434, 435, 437, 212, 212, 99, 463, 464, - 478, 487, 32, 399, 211, 3, 3, 97, 97, 97, - 211, 97, 218, 116, 349, 351, 261, 3, 321, 323, - 369, 99, 452, 500, 240, 354, 438, 440, 503, 251, - 30, 239, 150, 508, 207, 97, 97, 97, 97, 97, - 97, 371, 97, 97, 3, 97, 103, 221, 211, 248, - 97, 259, 296, 211, 211, 211, 97, 97, 97, 97, - 97, 97, 97, 466, 469, 97, 97, 99, 99, 357, - 362, 220, 352, 350, 262, 99, 103, 99, 67, 99, - 503, 504, 97, 97, 97, 221, 97, 73, 123, 139, - 152, 154, 155, 208, 3, 379, 330, 247, 289, 115, - 114, 381, 381, 399, 263, 266, 231, 351, 324, 453, - 97, 208, 151, 153, 97, 372, 381, 254, 97, 297, - 382, 383, 467, 470, 358, 363, 264, 353, 325, 208, - 156, 99, 154, 114, 390, 380, 331, 98, 115, 36, - 384, 387, 39, 401, 401, 263, 56, 404, 103, 117, - 454, 100, 391, 392, 373, 401, 101, 298, 388, 115, - 385, 402, 359, 405, 364, 265, 60, 457, 3, 493, - 495, 115, 36, 37, 38, 393, 396, 400, 401, 1, - 29, 30, 301, 303, 307, 309, 399, 103, 114, 401, - 114, 63, 407, 266, 208, 101, 494, 115, 394, 397, - 374, 306, 311, 310, 299, 302, 304, 308, 389, 386, - 403, 406, 408, 157, 103, 103, 399, 40, 410, 97, - 221, 102, 99, 303, 241, 309, 262, 387, 205, 205, - 114, 212, 495, 395, 398, 411, 312, 253, 313, 115, - 115, 409, 396, 262, 114, 102, 314, 305, 205, 412, - 262, 97, 115, 76, 413, 414, 115, 103, 415, 76 + 68, 488, 489, 491, 241, 505, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 335, 100, 327, + 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, + 294, 97, 97, 97, 97, 98, 97, 98, 457, 97, + 482, 475, 484, 97, 97, 513, 216, 252, 319, 366, + 98, 102, 426, 449, 211, 210, 497, 3, 242, 233, + 143, 219, 100, 3, 148, 490, 74, 75, 76, 77, + 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, + 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 507, 101, 170, 164, 175, 8, 221, 231, + 100, 241, 330, 100, 48, 186, 332, 339, 343, 243, + 282, 114, 421, 458, 186, 98, 98, 515, 212, 212, + 259, 262, 266, 267, 346, 98, 98, 179, 427, 425, + 102, 454, 211, 98, 511, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 506, 160, 205, 208, 194, + 195, 189, 103, 336, 254, 103, 328, 205, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 428, 460, 476, + 485, 31, 32, 61, 66, 69, 70, 353, 354, 359, + 437, 439, 440, 504, 514, 516, 217, 347, 260, 320, + 367, 194, 208, 186, 455, 450, 498, 426, 7, 99, + 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, + 491, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, + 214, 240, 249, 353, 364, 369, 374, 415, 416, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 376, 221, + 241, 330, 330, 333, 340, 344, 211, 221, 245, 246, + 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, + 240, 353, 422, 429, 437, 439, 442, 443, 444, 504, + 45, 55, 196, 459, 461, 464, 467, 194, 189, 355, + 360, 19, 208, 438, 59, 441, 208, 208, 519, 517, + 518, 438, 520, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 500, 501, 236, 97, 212, 97, + 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, + 202, 201, 203, 35, 208, 255, 338, 342, 375, 398, + 198, 199, 377, 99, 287, 190, 191, 101, 254, 103, + 103, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, + 208, 208, 208, 429, 435, 99, 430, 431, 432, 433, + 434, 436, 212, 212, 99, 462, 463, 477, 486, 32, + 398, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 348, 350, 261, 3, 321, 323, 368, 99, 451, + 499, 240, 353, 437, 439, 502, 251, 30, 239, 150, + 507, 207, 97, 97, 97, 97, 97, 97, 370, 97, + 97, 3, 97, 231, 329, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 465, 468, 97, 97, 99, 99, 356, 361, 220, + 351, 349, 262, 99, 103, 99, 67, 99, 502, 503, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 378, 101, 330, 247, 289, 115, 114, + 380, 380, 398, 263, 266, 231, 350, 324, 452, 97, + 208, 151, 153, 97, 371, 380, 101, 97, 297, 381, + 382, 466, 469, 357, 362, 264, 352, 325, 208, 156, + 99, 154, 114, 389, 379, 98, 115, 36, 383, 386, + 39, 400, 400, 263, 56, 403, 103, 117, 453, 100, + 390, 391, 372, 400, 298, 387, 115, 384, 401, 358, + 404, 363, 265, 60, 456, 3, 492, 494, 115, 36, + 37, 38, 392, 395, 399, 400, 1, 29, 30, 301, + 303, 307, 309, 398, 103, 114, 400, 114, 63, 406, + 266, 208, 101, 493, 115, 393, 396, 373, 306, 311, + 310, 299, 302, 304, 308, 388, 385, 402, 405, 407, + 157, 103, 103, 398, 40, 409, 97, 221, 102, 99, + 303, 241, 309, 262, 386, 205, 205, 114, 212, 494, + 394, 397, 410, 312, 253, 313, 115, 115, 408, 395, + 262, 114, 102, 314, 305, 205, 411, 262, 97, 115, + 76, 412, 413, 115, 103, 414, 76 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 118, 119, 120, 120, 121, 121, 122, 122, 122, @@ -2189,36 +2167,36 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 329, 330, 331, 326, - 333, 334, 332, 332, 336, 337, 335, 338, 340, 341, - 339, 339, 342, 344, 345, 343, 343, 346, 348, 347, - 349, 350, 350, 352, 353, 351, 354, 354, 356, 357, - 358, 359, 355, 361, 362, 363, 364, 360, 366, 367, - 368, 369, 365, 371, 372, 373, 374, 370, 375, 375, - 375, 376, 376, 378, 379, 380, 377, 382, 381, 383, - 381, 384, 386, 385, 385, 388, 389, 387, 391, 390, - 392, 390, 393, 395, 394, 394, 397, 398, 396, 399, - 399, 399, 399, 400, 400, 400, 402, 403, 401, 401, - 405, 406, 404, 404, 408, 409, 407, 407, 411, 412, - 410, 410, 413, 415, 414, 414, 416, 417, 418, 418, - 419, 421, 422, 423, 420, 425, 426, 424, 428, 427, - 427, 429, 429, 429, 431, 430, 432, 430, 433, 430, - 434, 430, 435, 430, 436, 430, 437, 430, 438, 439, - 439, 440, 441, 442, 442, 443, 444, 445, 447, 446, - 449, 450, 451, 452, 453, 454, 448, 456, 455, 455, - 457, 457, 459, 460, 458, 461, 461, 462, 463, 462, - 464, 462, 466, 467, 465, 469, 470, 468, 471, 471, - 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, - 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, - 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 490, 491, 491, 492, 492, 493, 494, 494, 495, 497, - 498, 499, 500, 496, 501, 501, 502, 502, 503, 503, - 504, 503, 505, 505, 506, 507, 507, 508, 509, 511, - 512, 510, 514, 515, 513, 516, 516, 518, 517, 519, - 517, 520, 517, 521, 517 + 324, 323, 323, 325, 327, 328, 329, 326, 326, 330, + 332, 333, 331, 331, 335, 336, 334, 337, 339, 340, + 338, 338, 341, 343, 344, 342, 342, 345, 347, 346, + 348, 349, 349, 351, 352, 350, 353, 353, 355, 356, + 357, 358, 354, 360, 361, 362, 363, 359, 365, 366, + 367, 368, 364, 370, 371, 372, 373, 369, 374, 374, + 374, 375, 375, 377, 378, 379, 376, 381, 380, 382, + 380, 383, 385, 384, 384, 387, 388, 386, 390, 389, + 391, 389, 392, 394, 393, 393, 396, 397, 395, 398, + 398, 398, 398, 399, 399, 399, 401, 402, 400, 400, + 404, 405, 403, 403, 407, 408, 406, 406, 410, 411, + 409, 409, 412, 414, 413, 413, 415, 416, 417, 417, + 418, 420, 421, 422, 419, 424, 425, 423, 427, 426, + 426, 428, 428, 428, 430, 429, 431, 429, 432, 429, + 433, 429, 434, 429, 435, 429, 436, 429, 437, 438, + 438, 439, 440, 441, 441, 442, 443, 444, 446, 445, + 448, 449, 450, 451, 452, 453, 447, 455, 454, 454, + 456, 456, 458, 459, 457, 460, 460, 461, 462, 461, + 463, 461, 465, 466, 464, 468, 469, 467, 470, 470, + 470, 471, 471, 472, 473, 475, 476, 477, 474, 478, + 479, 480, 482, 481, 484, 485, 486, 483, 487, 487, + 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, + 489, 490, 490, 491, 491, 492, 493, 493, 494, 496, + 497, 498, 499, 495, 500, 500, 501, 501, 502, 502, + 503, 502, 504, 504, 505, 506, 506, 507, 508, 510, + 511, 509, 513, 514, 512, 515, 515, 517, 516, 518, + 516, 519, 516, 520, 516 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 1, 1, 0, 3, 2, 1, 2, 2, @@ -2256,7 +2234,7 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 0, 0, 0, 11, + 0, 4, 0, 2, 0, 0, 0, 9, 8, 2, 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, 0, 0, 0, 5, 1, 1, 0, 0, @@ -2294,6 +2272,7 @@ enum { YYENOMEM = -2 }; #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) @@ -2334,10 +2313,7 @@ do { \ YYFPRINTF Args; \ } while (0) -/* This macro is provided for backward compatibility. */ -# ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif + # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ @@ -2364,10 +2340,6 @@ yy_symbol_value_print (FILE *yyo, YY_USE (yyoutput); if (!yyvaluep) return; -# ifdef YYPRINT - if (yykind < YYNTOKENS) - YYPRINT (yyo, yytoknum[yykind], *yyvaluep); -# endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END @@ -2552,6 +2524,7 @@ yyparse (void) YYDPRINTF ((stderr, "Starting parse\n")); yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; @@ -2577,7 +2550,7 @@ yyparse (void) if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE - goto yyexhaustedlab; + YYNOMEM; #else { /* Get the current used size of the three stacks, in elements. */ @@ -2605,7 +2578,7 @@ yyparse (void) # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; @@ -2616,7 +2589,7 @@ yyparse (void) YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE @@ -2638,6 +2611,7 @@ yyparse (void) } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + if (yystate == YYFINAL) YYACCEPT; @@ -2765,7 +2739,7 @@ yyparse (void) } delete annotations; } -#line 2769 "fe/idl.tab.cpp" +#line 2743 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2773,7 +2747,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2777 "fe/idl.tab.cpp" +#line 2751 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2781,7 +2755,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2785 "fe/idl.tab.cpp" +#line 2759 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2789,7 +2763,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2793 "fe/idl.tab.cpp" +#line 2767 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2797,7 +2771,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2801 "fe/idl.tab.cpp" +#line 2775 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2805,7 +2779,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2809 "fe/idl.tab.cpp" +#line 2783 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2813,7 +2787,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2817 "fe/idl.tab.cpp" +#line 2791 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2821,7 +2795,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2825 "fe/idl.tab.cpp" +#line 2799 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2829,7 +2803,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2833 "fe/idl.tab.cpp" +#line 2807 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2837,7 +2811,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2841 "fe/idl.tab.cpp" +#line 2815 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2845,7 +2819,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2849 "fe/idl.tab.cpp" +#line 2823 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2853,7 +2827,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2857 "fe/idl.tab.cpp" +#line 2831 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2861,7 +2835,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2865 "fe/idl.tab.cpp" +#line 2839 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2869,7 +2843,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2873 "fe/idl.tab.cpp" +#line 2847 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2877,7 +2851,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2881 "fe/idl.tab.cpp" +#line 2855 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2885,7 +2859,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2889 "fe/idl.tab.cpp" +#line 2863 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2893,7 +2867,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2897 "fe/idl.tab.cpp" +#line 2871 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2901,7 +2875,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2905 "fe/idl.tab.cpp" +#line 2879 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2909,7 +2883,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2913 "fe/idl.tab.cpp" +#line 2887 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2917,7 +2891,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2921 "fe/idl.tab.cpp" +#line 2895 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2925,7 +2899,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2929 "fe/idl.tab.cpp" +#line 2903 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2933,7 +2907,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2937 "fe/idl.tab.cpp" +#line 2911 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2941,7 +2915,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2945 "fe/idl.tab.cpp" +#line 2919 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2949,7 +2923,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2953 "fe/idl.tab.cpp" +#line 2927 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2957,7 +2931,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2961 "fe/idl.tab.cpp" +#line 2935 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2965,7 +2939,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2969 "fe/idl.tab.cpp" +#line 2943 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2973,7 +2947,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2977 "fe/idl.tab.cpp" +#line 2951 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2981,7 +2955,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2985 "fe/idl.tab.cpp" +#line 2959 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2989,7 +2963,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2993 "fe/idl.tab.cpp" +#line 2967 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2997,7 +2971,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 3001 "fe/idl.tab.cpp" +#line 2975 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -3007,7 +2981,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 3011 "fe/idl.tab.cpp" +#line 2985 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -3015,7 +2989,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3019 "fe/idl.tab.cpp" +#line 2993 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -3023,7 +2997,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3027 "fe/idl.tab.cpp" +#line 3001 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3066,7 +3040,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3070 "fe/idl.tab.cpp" +#line 3044 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3074,7 +3048,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3078 "fe/idl.tab.cpp" +#line 3052 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3082,7 +3056,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3086 "fe/idl.tab.cpp" +#line 3060 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3096,7 +3070,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3100 "fe/idl.tab.cpp" +#line 3074 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3104,7 +3078,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3108 "fe/idl.tab.cpp" +#line 3082 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3122,7 +3096,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3126 "fe/idl.tab.cpp" +#line 3100 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3136,7 +3110,7 @@ yyparse (void) return 1; } } -#line 3140 "fe/idl.tab.cpp" +#line 3114 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3170,7 +3144,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3174 "fe/idl.tab.cpp" +#line 3148 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3178,7 +3152,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3182 "fe/idl.tab.cpp" +#line 3156 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3186,7 +3160,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3190 "fe/idl.tab.cpp" +#line 3164 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3209,7 +3183,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3213 "fe/idl.tab.cpp" +#line 3187 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3218,7 +3192,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3222 "fe/idl.tab.cpp" +#line 3196 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3227,7 +3201,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3231 "fe/idl.tab.cpp" +#line 3205 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3309,7 +3283,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3313 "fe/idl.tab.cpp" +#line 3287 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3318,7 +3292,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3322 "fe/idl.tab.cpp" +#line 3296 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3327,7 +3301,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3331 "fe/idl.tab.cpp" +#line 3305 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3395,7 +3369,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3399 "fe/idl.tab.cpp" +#line 3373 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3437,7 +3411,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3441 "fe/idl.tab.cpp" +#line 3415 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3445,7 +3419,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3449 "fe/idl.tab.cpp" +#line 3423 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3453,7 +3427,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3457 "fe/idl.tab.cpp" +#line 3431 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3467,7 +3441,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3471 "fe/idl.tab.cpp" +#line 3445 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3475,7 +3449,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3479 "fe/idl.tab.cpp" +#line 3453 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3484,7 +3458,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3488 "fe/idl.tab.cpp" +#line 3462 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3524,7 +3498,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3528 "fe/idl.tab.cpp" +#line 3502 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3557,7 +3531,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3561 "fe/idl.tab.cpp" +#line 3535 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3590,7 +3564,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3594 "fe/idl.tab.cpp" +#line 3568 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3598,7 +3572,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3602 "fe/idl.tab.cpp" +#line 3576 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3607,7 +3581,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3611 "fe/idl.tab.cpp" +#line 3585 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3615,7 +3589,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3619 "fe/idl.tab.cpp" +#line 3593 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3624,7 +3598,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3628 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3675,7 +3649,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3679 "fe/idl.tab.cpp" +#line 3653 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3683,7 +3657,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3687 "fe/idl.tab.cpp" +#line 3661 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3691,7 +3665,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3695 "fe/idl.tab.cpp" +#line 3669 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3716,7 +3690,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3720 "fe/idl.tab.cpp" +#line 3694 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3763,7 +3737,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3767 "fe/idl.tab.cpp" +#line 3741 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3771,7 +3745,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3775 "fe/idl.tab.cpp" +#line 3749 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3779,7 +3753,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3783 "fe/idl.tab.cpp" +#line 3757 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3794,7 +3768,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3798 "fe/idl.tab.cpp" +#line 3772 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3802,7 +3776,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3806 "fe/idl.tab.cpp" +#line 3780 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3837,7 +3811,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3841 "fe/idl.tab.cpp" +#line 3815 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3845,7 +3819,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3849 "fe/idl.tab.cpp" +#line 3823 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3854,7 +3828,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3858 "fe/idl.tab.cpp" +#line 3832 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3862,7 +3836,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3866 "fe/idl.tab.cpp" +#line 3840 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3870,7 +3844,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3874 "fe/idl.tab.cpp" +#line 3848 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3878,7 +3852,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3882 "fe/idl.tab.cpp" +#line 3856 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3886,7 +3860,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3890 "fe/idl.tab.cpp" +#line 3864 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3913,7 +3887,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3917 "fe/idl.tab.cpp" +#line 3891 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3942,7 +3916,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3946 "fe/idl.tab.cpp" +#line 3920 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -4009,7 +3983,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4013 "fe/idl.tab.cpp" +#line 3987 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4032,7 +4006,7 @@ yyparse (void) delete annotations; delete decls; } -#line 4036 "fe/idl.tab.cpp" +#line 4010 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4040,7 +4014,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4044 "fe/idl.tab.cpp" +#line 4018 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4055,7 +4029,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4059 "fe/idl.tab.cpp" +#line 4033 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4070,7 +4044,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4074 "fe/idl.tab.cpp" +#line 4048 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4078,7 +4052,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4082 "fe/idl.tab.cpp" +#line 4056 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4086,7 +4060,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4090 "fe/idl.tab.cpp" +#line 4064 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4094,7 +4068,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4098 "fe/idl.tab.cpp" +#line 4072 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4116,7 +4090,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4120 "fe/idl.tab.cpp" +#line 4094 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4135,7 +4109,7 @@ yyparse (void) } delete annotations; } -#line 4139 "fe/idl.tab.cpp" +#line 4113 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4143,7 +4117,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4147 "fe/idl.tab.cpp" +#line 4121 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4151,7 +4125,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4155 "fe/idl.tab.cpp" +#line 4129 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4159,7 +4133,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4163 "fe/idl.tab.cpp" +#line 4137 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4167,7 +4141,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4171 "fe/idl.tab.cpp" +#line 4145 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4175,7 +4149,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4179 "fe/idl.tab.cpp" +#line 4153 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4183,7 +4157,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4187 "fe/idl.tab.cpp" +#line 4161 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4191,7 +4165,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4195 "fe/idl.tab.cpp" +#line 4169 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4199,7 +4173,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4203 "fe/idl.tab.cpp" +#line 4177 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4207,7 +4181,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4211 "fe/idl.tab.cpp" +#line 4185 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4215,7 +4189,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4219 "fe/idl.tab.cpp" +#line 4193 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4223,7 +4197,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4227 "fe/idl.tab.cpp" +#line 4201 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4231,7 +4205,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4235 "fe/idl.tab.cpp" +#line 4209 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4239,7 +4213,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4243 "fe/idl.tab.cpp" +#line 4217 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4247,7 +4221,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4251 "fe/idl.tab.cpp" +#line 4225 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4255,7 +4229,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4259 "fe/idl.tab.cpp" +#line 4233 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4265,7 +4239,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4269 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4276,7 +4250,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4280 "fe/idl.tab.cpp" +#line 4254 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4284,7 +4258,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4288 "fe/idl.tab.cpp" +#line 4262 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4308,7 +4282,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4312 "fe/idl.tab.cpp" +#line 4286 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4316,7 +4290,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4320 "fe/idl.tab.cpp" +#line 4294 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4329,7 +4303,7 @@ yyparse (void) 0), 1); } -#line 4333 "fe/idl.tab.cpp" +#line 4307 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4337,7 +4311,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4341 "fe/idl.tab.cpp" +#line 4315 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4361,7 +4335,7 @@ yyparse (void) sn), 1); } -#line 4365 "fe/idl.tab.cpp" +#line 4339 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4375,7 +4349,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4379 "fe/idl.tab.cpp" +#line 4353 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4391,7 +4365,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4395 "fe/idl.tab.cpp" +#line 4369 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4403,7 +4377,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4407 "fe/idl.tab.cpp" +#line 4381 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4415,7 +4389,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4419 "fe/idl.tab.cpp" +#line 4393 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4462,7 +4436,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4466 "fe/idl.tab.cpp" +#line 4440 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4492,7 +4466,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4496 "fe/idl.tab.cpp" +#line 4470 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4524,7 +4498,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4528 "fe/idl.tab.cpp" +#line 4502 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4532,7 +4506,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4536 "fe/idl.tab.cpp" +#line 4510 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4540,7 +4514,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4544 "fe/idl.tab.cpp" +#line 4518 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4548,7 +4522,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4552 "fe/idl.tab.cpp" +#line 4526 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4556,7 +4530,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4560 "fe/idl.tab.cpp" +#line 4534 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4616,7 +4590,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4620 "fe/idl.tab.cpp" +#line 4594 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4624,7 +4598,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4628 "fe/idl.tab.cpp" +#line 4602 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4632,7 +4606,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4636 "fe/idl.tab.cpp" +#line 4610 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4702,7 +4676,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4706 "fe/idl.tab.cpp" +#line 4680 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4715,7 +4689,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4719 "fe/idl.tab.cpp" +#line 4693 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4728,7 +4702,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4732 "fe/idl.tab.cpp" +#line 4706 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4741,7 +4715,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4745 "fe/idl.tab.cpp" +#line 4719 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4754,7 +4728,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4758 "fe/idl.tab.cpp" +#line 4732 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4767,7 +4741,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4771 "fe/idl.tab.cpp" +#line 4745 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4780,7 +4754,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4784 "fe/idl.tab.cpp" +#line 4758 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4793,7 +4767,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4797 "fe/idl.tab.cpp" +#line 4771 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4806,7 +4780,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4810 "fe/idl.tab.cpp" +#line 4784 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4819,7 +4793,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4823 "fe/idl.tab.cpp" +#line 4797 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4832,7 +4806,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4836 "fe/idl.tab.cpp" +#line 4810 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4845,7 +4819,7 @@ yyparse (void) 0 ); } -#line 4849 "fe/idl.tab.cpp" +#line 4823 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4858,7 +4832,7 @@ yyparse (void) 0 ); } -#line 4862 "fe/idl.tab.cpp" +#line 4836 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4871,7 +4845,7 @@ yyparse (void) 0 ); } -#line 4875 "fe/idl.tab.cpp" +#line 4849 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4932,7 +4906,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4936 "fe/idl.tab.cpp" +#line 4910 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4940,7 +4914,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4944 "fe/idl.tab.cpp" +#line 4918 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4948,7 +4922,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4952 "fe/idl.tab.cpp" +#line 4926 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4957,7 +4931,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4961 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4968,7 +4942,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4972 "fe/idl.tab.cpp" +#line 4946 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4979,7 +4953,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4983 "fe/idl.tab.cpp" +#line 4957 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4987,7 +4961,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4991 "fe/idl.tab.cpp" +#line 4965 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4996,7 +4970,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 5000 "fe/idl.tab.cpp" +#line 4974 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -5004,7 +4978,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5008 "fe/idl.tab.cpp" +#line 4982 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -5012,7 +4986,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5016 "fe/idl.tab.cpp" +#line 4990 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -5020,7 +4994,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5024 "fe/idl.tab.cpp" +#line 4998 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5028,7 +5002,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5032 "fe/idl.tab.cpp" +#line 5006 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5097,7 +5071,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5101 "fe/idl.tab.cpp" +#line 5075 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5118,7 +5092,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5122 "fe/idl.tab.cpp" +#line 5096 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5131,7 +5105,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5135 "fe/idl.tab.cpp" +#line 5109 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5140,7 +5114,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5144 "fe/idl.tab.cpp" +#line 5118 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5197,7 +5171,7 @@ yyparse (void) delete result; } } -#line 5201 "fe/idl.tab.cpp" +#line 5175 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5205,7 +5179,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5209 "fe/idl.tab.cpp" +#line 5183 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5213,7 +5187,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5217 "fe/idl.tab.cpp" +#line 5191 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5227,7 +5201,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5231 "fe/idl.tab.cpp" +#line 5205 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5241,7 +5215,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5245 "fe/idl.tab.cpp" +#line 5219 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5249,7 +5223,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5253 "fe/idl.tab.cpp" +#line 5227 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5310,7 +5284,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5314 "fe/idl.tab.cpp" +#line 5288 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5342,7 +5316,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5346 "fe/idl.tab.cpp" +#line 5320 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5350,7 +5324,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5354 "fe/idl.tab.cpp" +#line 5328 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5358,7 +5332,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5362 "fe/idl.tab.cpp" +#line 5336 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5371,7 +5345,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5375 "fe/idl.tab.cpp" +#line 5349 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5379,7 +5353,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5383 "fe/idl.tab.cpp" +#line 5357 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5389,7 +5363,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5393 "fe/idl.tab.cpp" +#line 5367 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5399,7 +5373,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5403 "fe/idl.tab.cpp" +#line 5377 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5407,7 +5381,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5411 "fe/idl.tab.cpp" +#line 5385 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5420,7 +5394,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5424 "fe/idl.tab.cpp" +#line 5398 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5429,7 +5403,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5433 "fe/idl.tab.cpp" +#line 5407 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5437,7 +5411,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5441 "fe/idl.tab.cpp" +#line 5415 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5445,7 +5419,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5449 "fe/idl.tab.cpp" +#line 5423 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5453,7 +5427,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5457 "fe/idl.tab.cpp" +#line 5431 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5461,7 +5435,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5465 "fe/idl.tab.cpp" +#line 5439 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5493,7 +5467,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5497 "fe/idl.tab.cpp" +#line 5471 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5501,7 +5475,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5505 "fe/idl.tab.cpp" +#line 5479 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5509,7 +5483,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5513 "fe/idl.tab.cpp" +#line 5487 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5577,7 +5551,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5581 "fe/idl.tab.cpp" +#line 5555 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5588,7 +5562,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5592 "fe/idl.tab.cpp" +#line 5566 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5615,7 +5589,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5619 "fe/idl.tab.cpp" +#line 5593 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5626,7 +5600,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5630 "fe/idl.tab.cpp" +#line 5604 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5634,7 +5608,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5638 "fe/idl.tab.cpp" +#line 5612 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5658,7 +5632,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5662 "fe/idl.tab.cpp" +#line 5636 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5666,7 +5640,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5670 "fe/idl.tab.cpp" +#line 5644 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5677,7 +5651,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5681 "fe/idl.tab.cpp" +#line 5655 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5685,7 +5659,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5689 "fe/idl.tab.cpp" +#line 5663 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5709,7 +5683,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5713 "fe/idl.tab.cpp" +#line 5687 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5717,7 +5691,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5721 "fe/idl.tab.cpp" +#line 5695 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5734,7 +5708,7 @@ yyparse (void) 0), 1); } -#line 5738 "fe/idl.tab.cpp" +#line 5712 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5753,7 +5727,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5757 "fe/idl.tab.cpp" +#line 5731 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5761,7 +5735,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5765 "fe/idl.tab.cpp" +#line 5739 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5769,7 +5743,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5773 "fe/idl.tab.cpp" +#line 5747 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5777,7 +5751,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5781 "fe/idl.tab.cpp" +#line 5755 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5785,7 +5759,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5789 "fe/idl.tab.cpp" +#line 5763 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5793,7 +5767,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5797 "fe/idl.tab.cpp" +#line 5771 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5801,7 +5775,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5805 "fe/idl.tab.cpp" +#line 5779 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5809,7 +5783,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5813 "fe/idl.tab.cpp" +#line 5787 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5817,7 +5791,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5821 "fe/idl.tab.cpp" +#line 5795 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5825,7 +5799,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5829 "fe/idl.tab.cpp" +#line 5803 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5833,7 +5807,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5837 "fe/idl.tab.cpp" +#line 5811 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5841,7 +5815,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5845 "fe/idl.tab.cpp" +#line 5819 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5849,7 +5823,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5853 "fe/idl.tab.cpp" +#line 5827 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5857,7 +5831,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5861 "fe/idl.tab.cpp" +#line 5835 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5865,7 +5839,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5869 "fe/idl.tab.cpp" +#line 5843 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5873,7 +5847,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5877 "fe/idl.tab.cpp" +#line 5851 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5881,7 +5855,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5885 "fe/idl.tab.cpp" +#line 5859 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5889,7 +5863,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5893 "fe/idl.tab.cpp" +#line 5867 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5897,7 +5871,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5901 "fe/idl.tab.cpp" +#line 5875 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5905,7 +5879,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5909 "fe/idl.tab.cpp" +#line 5883 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5913,7 +5887,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5917 "fe/idl.tab.cpp" +#line 5891 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5921,7 +5895,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5925 "fe/idl.tab.cpp" +#line 5899 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5929,7 +5903,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5933 "fe/idl.tab.cpp" +#line 5907 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5937,7 +5911,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5941 "fe/idl.tab.cpp" +#line 5915 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5945,7 +5919,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5949 "fe/idl.tab.cpp" +#line 5923 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5953,7 +5927,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5957 "fe/idl.tab.cpp" +#line 5931 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5962,7 +5936,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5966 "fe/idl.tab.cpp" +#line 5940 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5997,7 +5971,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6001 "fe/idl.tab.cpp" +#line 5975 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -6005,7 +5979,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6009 "fe/idl.tab.cpp" +#line 5983 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -6013,7 +5987,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6017 "fe/idl.tab.cpp" +#line 5991 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6029,7 +6003,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6033 "fe/idl.tab.cpp" +#line 6007 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6047,7 +6021,7 @@ yyparse (void) delete annotations; delete members; } -#line 6051 "fe/idl.tab.cpp" +#line 6025 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6055,7 +6029,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6059 "fe/idl.tab.cpp" +#line 6033 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6063,7 +6037,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6067 "fe/idl.tab.cpp" +#line 6041 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6121,7 +6095,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6125 "fe/idl.tab.cpp" +#line 6099 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6129,7 +6103,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6133 "fe/idl.tab.cpp" +#line 6107 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6138,7 +6112,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6142 "fe/idl.tab.cpp" +#line 6116 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6146,7 +6120,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6150 "fe/idl.tab.cpp" +#line 6124 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6155,7 +6129,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6159 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6163,7 +6137,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6167 "fe/idl.tab.cpp" +#line 6141 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6200,7 +6174,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6204 "fe/idl.tab.cpp" +#line 6178 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6208,7 +6182,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6212 "fe/idl.tab.cpp" +#line 6186 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6271,7 +6245,7 @@ yyparse (void) delete disc_annotations; } -#line 6275 "fe/idl.tab.cpp" +#line 6249 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6279,7 +6253,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6283 "fe/idl.tab.cpp" +#line 6257 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6287,7 +6261,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6291 "fe/idl.tab.cpp" +#line 6265 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6307,7 +6281,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6311 "fe/idl.tab.cpp" +#line 6285 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6318,7 +6292,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6322 "fe/idl.tab.cpp" +#line 6296 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6335,7 +6309,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6339 "fe/idl.tab.cpp" +#line 6313 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6348,7 +6322,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6352 "fe/idl.tab.cpp" +#line 6326 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6359,7 +6333,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6363 "fe/idl.tab.cpp" +#line 6337 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6470,7 +6444,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6474 "fe/idl.tab.cpp" +#line 6448 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6478,7 +6452,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6482 "fe/idl.tab.cpp" +#line 6456 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6486,7 +6460,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6490 "fe/idl.tab.cpp" +#line 6464 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6522,7 +6496,7 @@ yyparse (void) delete annotations; } -#line 6526 "fe/idl.tab.cpp" +#line 6500 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6530,7 +6504,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6534 "fe/idl.tab.cpp" +#line 6508 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6539,7 +6513,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6543 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6550,7 +6524,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6554 "fe/idl.tab.cpp" +#line 6528 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6572,7 +6546,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6576 "fe/idl.tab.cpp" +#line 6550 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6580,7 +6554,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6584 "fe/idl.tab.cpp" +#line 6558 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6588,7 +6562,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6592 "fe/idl.tab.cpp" +#line 6566 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6601,7 +6575,7 @@ yyparse (void) 0 ); } -#line 6605 "fe/idl.tab.cpp" +#line 6579 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6609,7 +6583,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6613 "fe/idl.tab.cpp" +#line 6587 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6617,7 +6591,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6621 "fe/idl.tab.cpp" +#line 6595 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6630,7 +6604,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6634 "fe/idl.tab.cpp" +#line 6608 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6638,7 +6612,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6642 "fe/idl.tab.cpp" +#line 6616 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6685,7 +6659,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6689 "fe/idl.tab.cpp" +#line 6663 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6711,7 +6685,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6715 "fe/idl.tab.cpp" +#line 6689 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6735,7 +6709,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6739 "fe/idl.tab.cpp" +#line 6713 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6743,7 +6717,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6747 "fe/idl.tab.cpp" +#line 6721 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6778,7 +6752,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6782 "fe/idl.tab.cpp" +#line 6756 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6786,7 +6760,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6790 "fe/idl.tab.cpp" +#line 6764 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6794,7 +6768,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6798 "fe/idl.tab.cpp" +#line 6772 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6817,7 +6791,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6821 "fe/idl.tab.cpp" +#line 6795 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6825,7 +6799,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6829 "fe/idl.tab.cpp" +#line 6803 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6864,7 +6838,7 @@ yyparse (void) delete annotations; } -#line 6868 "fe/idl.tab.cpp" +#line 6842 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ @@ -6873,7 +6847,7 @@ yyparse (void) idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); idl_global->scopes().push(0); } -#line 6877 "fe/idl.tab.cpp" +#line 6851 "fe/idl.tab.cpp" break; case 355: /* $@92: %empty */ @@ -6881,41 +6855,25 @@ yyparse (void) { idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); } -#line 6885 "fe/idl.tab.cpp" +#line 6859 "fe/idl.tab.cpp" break; case 356: /* $@93: %empty */ -#line 3906 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } -#line 6893 "fe/idl.tab.cpp" - break; - - case 357: /* $@94: %empty */ -#line 3910 "fe/idl.ypp" +#line 3907 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); } -#line 6901 "fe/idl.tab.cpp" +#line 6867 "fe/idl.tab.cpp" break; - case 358: /* $@95: %empty */ -#line 3914 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } -#line 6909 "fe/idl.tab.cpp" - break; - - case 359: /* map_type_spec: IDL_MAP $@91 '<' $@92 simple_type_spec $@93 ',' $@94 simple_type_spec $@95 '>' */ -#line 3918 "fe/idl.ypp" + case 357: /* map_type_spec: IDL_MAP $@91 '<' $@92 map_type ',' $@93 map_type '>' */ +#line 3912 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - AST_Decl *key_type = (yyvsp[-6].dcval); - AST_Decl *val_type = (yyvsp[-2].dcval); + Decl_Annotations_Pair *key_type = (yyvsp[-4].decl_annotations_pair_val); + Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); /* * Remove sequence marker from scopes stack. @@ -6932,8 +6890,8 @@ yyparse (void) */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type); - AST_Type *vtp = dynamic_cast (val_type); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -6963,31 +6921,96 @@ yyparse (void) } } - // delete type_annotations; + (yyval.dcval) = map; + } +#line 6927 "fe/idl.tab.cpp" + break; + + case 358: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3975 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + Decl_Annotations_Pair *key_type = (yyvsp[-5].decl_annotations_pair_val); + Decl_Annotations_Pair *val_type = (yyvsp[-3].decl_annotations_pair_val); + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + + map = + idl_global->gen ()->create_map ( + (yyvsp[-1].exval), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + idl_global->err ()->anonymous_type_diagnostic (); + } + } (yyval.dcval) = map; } -#line 6971 "fe/idl.tab.cpp" +#line 6982 "fe/idl.tab.cpp" break; - case 360: /* $@96: %empty */ -#line 3980 "fe/idl.ypp" + case 359: /* map_type: annotations_maybe simple_type_spec */ +#line 4029 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; + pair->decl = (yyvsp[0].dcval); + pair->annotations = (yyvsp[-1].annotations_val); + (yyval.decl_annotations_pair_val) = pair; + } +#line 6994 "fe/idl.tab.cpp" + break; + + case 360: /* $@94: %empty */ +#line 4041 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6979 "fe/idl.tab.cpp" +#line 7002 "fe/idl.tab.cpp" break; - case 361: /* $@97: %empty */ -#line 3984 "fe/idl.ypp" + case 361: /* $@95: %empty */ +#line 4045 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6987 "fe/idl.tab.cpp" +#line 7010 "fe/idl.tab.cpp" break; - case 362: /* sequence_type_spec: seq_head ',' $@96 positive_int_expr $@97 '>' */ -#line 3988 "fe/idl.ypp" + case 362: /* sequence_type_spec: seq_head ',' $@94 positive_int_expr $@95 '>' */ +#line 4049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7068,11 +7091,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7072 "fe/idl.tab.cpp" +#line 7095 "fe/idl.tab.cpp" break; case 363: /* sequence_type_spec: seq_head '>' */ -#line 4070 "fe/idl.ypp" +#line 4131 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7134,11 +7157,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7138 "fe/idl.tab.cpp" +#line 7161 "fe/idl.tab.cpp" break; - case 364: /* $@98: %empty */ -#line 4135 "fe/idl.ypp" + case 364: /* $@96: %empty */ +#line 4196 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7147,19 +7170,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7151 "fe/idl.tab.cpp" +#line 7174 "fe/idl.tab.cpp" break; - case 365: /* $@99: %empty */ -#line 4144 "fe/idl.ypp" + case 365: /* $@97: %empty */ +#line 4205 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7159 "fe/idl.tab.cpp" +#line 7182 "fe/idl.tab.cpp" break; - case 366: /* seq_head: IDL_SEQUENCE $@98 '<' $@99 annotations_maybe simple_type_spec */ -#line 4148 "fe/idl.ypp" + case 366: /* seq_head: IDL_SEQUENCE $@96 '<' $@97 annotations_maybe simple_type_spec */ +#line 4209 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7167,36 +7190,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7171 "fe/idl.tab.cpp" +#line 7194 "fe/idl.tab.cpp" break; case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4159 "fe/idl.ypp" +#line 4220 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7180 "fe/idl.tab.cpp" +#line 7203 "fe/idl.tab.cpp" break; - case 368: /* $@100: %empty */ -#line 4168 "fe/idl.ypp" + case 368: /* $@98: %empty */ +#line 4229 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7188 "fe/idl.tab.cpp" +#line 7211 "fe/idl.tab.cpp" break; - case 369: /* $@101: %empty */ -#line 4172 "fe/idl.ypp" + case 369: /* $@99: %empty */ +#line 4233 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7196 "fe/idl.tab.cpp" +#line 7219 "fe/idl.tab.cpp" break; - case 370: /* string_type_spec: string_head '<' $@100 positive_int_expr $@101 '>' */ -#line 4176 "fe/idl.ypp" + case 370: /* string_type_spec: string_head '<' $@98 positive_int_expr $@99 '>' */ +#line 4237 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7235,11 +7258,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7239 "fe/idl.tab.cpp" +#line 7262 "fe/idl.tab.cpp" break; case 371: /* string_type_spec: string_head */ -#line 4215 "fe/idl.ypp" +#line 4276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7262,35 +7285,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7266 "fe/idl.tab.cpp" +#line 7289 "fe/idl.tab.cpp" break; case 372: /* string_head: IDL_STRING */ -#line 4241 "fe/idl.ypp" +#line 4302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7274 "fe/idl.tab.cpp" +#line 7297 "fe/idl.tab.cpp" break; - case 373: /* $@102: %empty */ -#line 4249 "fe/idl.ypp" + case 373: /* $@100: %empty */ +#line 4310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7282 "fe/idl.tab.cpp" +#line 7305 "fe/idl.tab.cpp" break; - case 374: /* $@103: %empty */ -#line 4253 "fe/idl.ypp" + case 374: /* $@101: %empty */ +#line 4314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7290 "fe/idl.tab.cpp" +#line 7313 "fe/idl.tab.cpp" break; - case 375: /* wstring_type_spec: wstring_head '<' $@102 positive_int_expr $@103 '>' */ -#line 4257 "fe/idl.ypp" + case 375: /* wstring_type_spec: wstring_head '<' $@100 positive_int_expr $@101 '>' */ +#line 4318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7329,11 +7352,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7333 "fe/idl.tab.cpp" +#line 7356 "fe/idl.tab.cpp" break; case 376: /* wstring_type_spec: wstring_head */ -#line 4296 "fe/idl.ypp" +#line 4357 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7356,27 +7379,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7360 "fe/idl.tab.cpp" +#line 7383 "fe/idl.tab.cpp" break; case 377: /* wstring_head: IDL_WSTRING */ -#line 4322 "fe/idl.ypp" +#line 4383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7368 "fe/idl.tab.cpp" +#line 7391 "fe/idl.tab.cpp" break; - case 378: /* $@104: %empty */ -#line 4329 "fe/idl.ypp" + case 378: /* $@102: %empty */ +#line 4390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7376 "fe/idl.tab.cpp" +#line 7399 "fe/idl.tab.cpp" break; - case 379: /* array_declarator: defining_id $@104 annotations_maybe at_least_one_array_dim */ -#line 4333 "fe/idl.ypp" + case 379: /* array_declarator: defining_id $@102 annotations_maybe at_least_one_array_dim */ +#line 4394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7412,22 +7435,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7416 "fe/idl.tab.cpp" +#line 7439 "fe/idl.tab.cpp" break; case 380: /* at_least_one_array_dim: array_dim array_dims */ -#line 4372 "fe/idl.ypp" +#line 4433 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7427 "fe/idl.tab.cpp" +#line 7450 "fe/idl.tab.cpp" break; case 381: /* array_dims: array_dims array_dim */ -#line 4382 "fe/idl.ypp" +#line 4443 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7445,35 +7468,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7449 "fe/idl.tab.cpp" +#line 7472 "fe/idl.tab.cpp" break; case 382: /* array_dims: %empty */ -#line 4400 "fe/idl.ypp" +#line 4461 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7457 "fe/idl.tab.cpp" +#line 7480 "fe/idl.tab.cpp" break; - case 383: /* $@105: %empty */ -#line 4407 "fe/idl.ypp" + case 383: /* $@103: %empty */ +#line 4468 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7465 "fe/idl.tab.cpp" +#line 7488 "fe/idl.tab.cpp" break; - case 384: /* $@106: %empty */ -#line 4411 "fe/idl.ypp" + case 384: /* $@104: %empty */ +#line 4472 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7473 "fe/idl.tab.cpp" +#line 7496 "fe/idl.tab.cpp" break; - case 385: /* array_dim: '[' $@105 positive_int_expr $@106 ']' */ -#line 4415 "fe/idl.ypp" + case 385: /* array_dim: '[' $@103 positive_int_expr $@104 ']' */ +#line 4476 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7527,43 +7550,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7531 "fe/idl.tab.cpp" +#line 7554 "fe/idl.tab.cpp" break; - case 388: /* $@107: %empty */ -#line 4477 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4538 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7539 "fe/idl.tab.cpp" +#line 7562 "fe/idl.tab.cpp" break; - case 389: /* $@108: %empty */ -#line 4481 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4542 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7547 "fe/idl.tab.cpp" +#line 7570 "fe/idl.tab.cpp" break; - case 390: /* $@109: %empty */ -#line 4485 "fe/idl.ypp" + case 390: /* $@107: %empty */ +#line 4546 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7555 "fe/idl.tab.cpp" +#line 7578 "fe/idl.tab.cpp" break; - case 391: /* $@110: %empty */ -#line 4489 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4550 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7563 "fe/idl.tab.cpp" +#line 7586 "fe/idl.tab.cpp" break; - case 392: /* attribute_readonly: IDL_READONLY $@107 IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_raises */ -#line 4493 "fe/idl.ypp" + case 392: /* attribute_readonly: IDL_READONLY $@105 IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_raises */ +#line 4554 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7615,43 +7638,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7619 "fe/idl.tab.cpp" +#line 7642 "fe/idl.tab.cpp" break; - case 393: /* $@111: %empty */ -#line 4548 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7627 "fe/idl.tab.cpp" +#line 7650 "fe/idl.tab.cpp" break; - case 394: /* $@112: %empty */ -#line 4552 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7635 "fe/idl.tab.cpp" +#line 7658 "fe/idl.tab.cpp" break; - case 395: /* $@113: %empty */ -#line 4556 "fe/idl.ypp" + case 395: /* $@111: %empty */ +#line 4617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7643 "fe/idl.tab.cpp" +#line 7666 "fe/idl.tab.cpp" break; - case 396: /* $@114: %empty */ -#line 4560 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7651 "fe/idl.tab.cpp" +#line 7674 "fe/idl.tab.cpp" break; - case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@111 param_type_spec $@112 at_least_one_simple_declarator $@113 opt_getraises $@114 opt_setraises */ -#line 4564 "fe/idl.ypp" + case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@109 param_type_spec $@110 at_least_one_simple_declarator $@111 opt_getraises $@112 opt_setraises */ +#line 4625 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7712,19 +7735,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7716 "fe/idl.tab.cpp" +#line 7739 "fe/idl.tab.cpp" break; - case 398: /* $@115: %empty */ -#line 4628 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7724 "fe/idl.tab.cpp" +#line 7747 "fe/idl.tab.cpp" break; - case 399: /* @116: %empty */ -#line 4632 "fe/idl.ypp" + case 399: /* @114: %empty */ +#line 4693 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7756,27 +7779,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7760 "fe/idl.tab.cpp" +#line 7783 "fe/idl.tab.cpp" break; - case 400: /* $@117: %empty */ -#line 4664 "fe/idl.ypp" + case 400: /* $@115: %empty */ +#line 4725 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7768 "fe/idl.tab.cpp" +#line 7791 "fe/idl.tab.cpp" break; - case 401: /* $@118: %empty */ -#line 4668 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4729 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7776 "fe/idl.tab.cpp" +#line 7799 "fe/idl.tab.cpp" break; - case 402: /* exception: IDL_EXCEPTION $@115 defining_id @116 '{' $@117 members $@118 '}' */ -#line 4672 "fe/idl.ypp" + case 402: /* exception: IDL_EXCEPTION $@113 defining_id @114 '{' $@115 members $@116 '}' */ +#line 4733 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7786,19 +7809,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7790 "fe/idl.tab.cpp" +#line 7813 "fe/idl.tab.cpp" break; - case 403: /* $@119: %empty */ -#line 4685 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4746 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7798 "fe/idl.tab.cpp" +#line 7821 "fe/idl.tab.cpp" break; - case 404: /* $@120: %empty */ -#line 4689 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4750 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7859,27 +7882,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7863 "fe/idl.tab.cpp" +#line 7886 "fe/idl.tab.cpp" break; - case 405: /* $@121: %empty */ -#line 4750 "fe/idl.ypp" + case 405: /* $@119: %empty */ +#line 4811 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7871 "fe/idl.tab.cpp" +#line 7894 "fe/idl.tab.cpp" break; - case 406: /* $@122: %empty */ -#line 4754 "fe/idl.ypp" + case 406: /* $@120: %empty */ +#line 4815 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7879 "fe/idl.tab.cpp" +#line 7902 "fe/idl.tab.cpp" break; - case 407: /* operation: opt_op_attribute op_type_spec $@119 IDENTIFIER $@120 parameter_list $@121 opt_raises $@122 opt_context */ -#line 4758 "fe/idl.ypp" + case 407: /* operation: opt_op_attribute op_type_spec $@117 IDENTIFIER $@118 parameter_list $@119 opt_raises $@120 opt_context */ +#line 4819 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7910,57 +7933,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7914 "fe/idl.tab.cpp" +#line 7937 "fe/idl.tab.cpp" break; case 408: /* opt_op_attribute: IDL_ONEWAY */ -#line 4792 "fe/idl.ypp" +#line 4853 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7923 "fe/idl.tab.cpp" +#line 7946 "fe/idl.tab.cpp" break; case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4797 "fe/idl.ypp" +#line 4858 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7932 "fe/idl.tab.cpp" +#line 7955 "fe/idl.tab.cpp" break; case 410: /* opt_op_attribute: %empty */ -#line 4802 "fe/idl.ypp" +#line 4863 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7940 "fe/idl.tab.cpp" +#line 7963 "fe/idl.tab.cpp" break; case 412: /* op_type_spec: IDL_VOID */ -#line 4810 "fe/idl.ypp" +#line 4871 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7951 "fe/idl.tab.cpp" +#line 7974 "fe/idl.tab.cpp" break; - case 413: /* $@123: %empty */ -#line 4820 "fe/idl.ypp" + case 413: /* $@121: %empty */ +#line 4881 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7960 "fe/idl.tab.cpp" +#line 7983 "fe/idl.tab.cpp" break; - case 414: /* @124: %empty */ -#line 4825 "fe/idl.ypp" + case 414: /* @122: %empty */ +#line 4886 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8003,19 +8026,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8007 "fe/idl.tab.cpp" +#line 8030 "fe/idl.tab.cpp" break; - case 415: /* $@125: %empty */ -#line 4868 "fe/idl.ypp" + case 415: /* $@123: %empty */ +#line 4929 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8015 "fe/idl.tab.cpp" +#line 8038 "fe/idl.tab.cpp" break; - case 416: /* init_decl: IDL_FACTORY $@123 IDENTIFIER @124 init_parameter_list $@125 opt_raises */ -#line 4872 "fe/idl.ypp" + case 416: /* init_decl: IDL_FACTORY $@121 IDENTIFIER @122 init_parameter_list $@123 opt_raises */ +#line 4933 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8030,67 +8053,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8034 "fe/idl.tab.cpp" +#line 8057 "fe/idl.tab.cpp" break; - case 417: /* $@126: %empty */ -#line 4890 "fe/idl.ypp" + case 417: /* $@124: %empty */ +#line 4951 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8042 "fe/idl.tab.cpp" +#line 8065 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@126 ')' */ -#line 4894 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@124 ')' */ +#line 4955 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8050 "fe/idl.tab.cpp" +#line 8073 "fe/idl.tab.cpp" break; - case 419: /* $@127: %empty */ -#line 4898 "fe/idl.ypp" + case 419: /* $@125: %empty */ +#line 4959 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8058 "fe/idl.tab.cpp" +#line 8081 "fe/idl.tab.cpp" break; - case 420: /* init_parameter_list: '(' $@127 at_least_one_in_parameter ')' */ -#line 4903 "fe/idl.ypp" + case 420: /* init_parameter_list: '(' $@125 at_least_one_in_parameter ')' */ +#line 4964 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8066 "fe/idl.tab.cpp" +#line 8089 "fe/idl.tab.cpp" break; - case 422: /* $@128: %empty */ -#line 4913 "fe/idl.ypp" + case 422: /* $@126: %empty */ +#line 4974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8074 "fe/idl.tab.cpp" +#line 8097 "fe/idl.tab.cpp" break; - case 425: /* $@129: %empty */ -#line 4922 "fe/idl.ypp" + case 425: /* $@127: %empty */ +#line 4983 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8082 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 426: /* $@130: %empty */ -#line 4926 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8090 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 427: /* in_parameter: IDL_IN $@129 param_type_spec $@130 declarator */ -#line 4930 "fe/idl.ypp" + case 427: /* in_parameter: IDL_IN $@127 param_type_spec $@128 declarator */ +#line 4991 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8122,67 +8145,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8126 "fe/idl.tab.cpp" +#line 8149 "fe/idl.tab.cpp" break; - case 428: /* $@131: %empty */ -#line 4965 "fe/idl.ypp" + case 428: /* $@129: %empty */ +#line 5026 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8134 "fe/idl.tab.cpp" +#line 8157 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@131 ')' */ -#line 4969 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@129 ')' */ +#line 5030 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8142 "fe/idl.tab.cpp" +#line 8165 "fe/idl.tab.cpp" break; - case 430: /* $@132: %empty */ -#line 4973 "fe/idl.ypp" + case 430: /* $@130: %empty */ +#line 5034 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8150 "fe/idl.tab.cpp" +#line 8173 "fe/idl.tab.cpp" break; - case 431: /* parameter_list: '(' $@132 at_least_one_parameter ')' */ -#line 4978 "fe/idl.ypp" + case 431: /* parameter_list: '(' $@130 at_least_one_parameter ')' */ +#line 5039 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8158 "fe/idl.tab.cpp" +#line 8181 "fe/idl.tab.cpp" break; - case 433: /* $@133: %empty */ -#line 4988 "fe/idl.ypp" + case 433: /* $@131: %empty */ +#line 5049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8166 "fe/idl.tab.cpp" +#line 8189 "fe/idl.tab.cpp" break; - case 436: /* $@134: %empty */ -#line 4997 "fe/idl.ypp" + case 436: /* $@132: %empty */ +#line 5058 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8174 "fe/idl.tab.cpp" +#line 8197 "fe/idl.tab.cpp" break; - case 437: /* $@135: %empty */ -#line 5001 "fe/idl.ypp" + case 437: /* $@133: %empty */ +#line 5062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8182 "fe/idl.tab.cpp" +#line 8205 "fe/idl.tab.cpp" break; - case 438: /* parameter: direction $@134 param_type_spec $@135 declarator */ -#line 5005 "fe/idl.ypp" + case 438: /* parameter: direction $@132 param_type_spec $@133 declarator */ +#line 5066 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8221,22 +8244,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8225 "fe/idl.tab.cpp" +#line 8248 "fe/idl.tab.cpp" break; case 439: /* param_type_spec: base_type_spec */ -#line 5047 "fe/idl.ypp" +#line 5108 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8236 "fe/idl.tab.cpp" +#line 8259 "fe/idl.tab.cpp" break; case 442: /* param_type_spec: scoped_name */ -#line 5056 "fe/idl.ypp" +#line 5117 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8340,186 +8363,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8344 "fe/idl.tab.cpp" +#line 8367 "fe/idl.tab.cpp" break; case 443: /* direction: IDL_IN */ -#line 5163 "fe/idl.ypp" +#line 5224 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8352 "fe/idl.tab.cpp" +#line 8375 "fe/idl.tab.cpp" break; case 444: /* direction: IDL_OUT */ -#line 5167 "fe/idl.ypp" +#line 5228 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8360 "fe/idl.tab.cpp" +#line 8383 "fe/idl.tab.cpp" break; case 445: /* direction: IDL_INOUT */ -#line 5171 "fe/idl.ypp" +#line 5232 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8368 "fe/idl.tab.cpp" +#line 8391 "fe/idl.tab.cpp" break; - case 446: /* $@136: %empty */ -#line 5178 "fe/idl.ypp" + case 446: /* $@134: %empty */ +#line 5239 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8376 "fe/idl.tab.cpp" +#line 8399 "fe/idl.tab.cpp" break; - case 447: /* $@137: %empty */ -#line 5182 "fe/idl.ypp" + case 447: /* $@135: %empty */ +#line 5243 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8384 "fe/idl.tab.cpp" +#line 8407 "fe/idl.tab.cpp" break; - case 448: /* opt_raises: IDL_RAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5187 "fe/idl.ypp" + case 448: /* opt_raises: IDL_RAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ +#line 5248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8393 "fe/idl.tab.cpp" +#line 8416 "fe/idl.tab.cpp" break; case 449: /* opt_raises: %empty */ -#line 5192 "fe/idl.ypp" +#line 5253 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8401 "fe/idl.tab.cpp" +#line 8424 "fe/idl.tab.cpp" break; - case 450: /* $@138: %empty */ -#line 5199 "fe/idl.ypp" + case 450: /* $@136: %empty */ +#line 5260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8409 "fe/idl.tab.cpp" +#line 8432 "fe/idl.tab.cpp" break; - case 451: /* $@139: %empty */ -#line 5203 "fe/idl.ypp" + case 451: /* $@137: %empty */ +#line 5264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8417 "fe/idl.tab.cpp" +#line 8440 "fe/idl.tab.cpp" break; - case 452: /* opt_getraises: IDL_GETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ -#line 5208 "fe/idl.ypp" + case 452: /* opt_getraises: IDL_GETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5269 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8426 "fe/idl.tab.cpp" +#line 8449 "fe/idl.tab.cpp" break; case 453: /* opt_getraises: %empty */ -#line 5213 "fe/idl.ypp" +#line 5274 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8434 "fe/idl.tab.cpp" +#line 8457 "fe/idl.tab.cpp" break; - case 454: /* $@140: %empty */ -#line 5220 "fe/idl.ypp" + case 454: /* $@138: %empty */ +#line 5281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8442 "fe/idl.tab.cpp" +#line 8465 "fe/idl.tab.cpp" break; - case 455: /* $@141: %empty */ -#line 5224 "fe/idl.ypp" + case 455: /* $@139: %empty */ +#line 5285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8450 "fe/idl.tab.cpp" +#line 8473 "fe/idl.tab.cpp" break; - case 456: /* opt_setraises: IDL_SETRAISES $@140 '(' $@141 at_least_one_scoped_name ')' */ -#line 5229 "fe/idl.ypp" + case 456: /* opt_setraises: IDL_SETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ +#line 5290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8459 "fe/idl.tab.cpp" +#line 8482 "fe/idl.tab.cpp" break; case 457: /* opt_setraises: %empty */ -#line 5234 "fe/idl.ypp" +#line 5295 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8467 "fe/idl.tab.cpp" +#line 8490 "fe/idl.tab.cpp" break; - case 458: /* $@142: %empty */ -#line 5241 "fe/idl.ypp" + case 458: /* $@140: %empty */ +#line 5302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8475 "fe/idl.tab.cpp" +#line 8498 "fe/idl.tab.cpp" break; - case 459: /* $@143: %empty */ -#line 5245 "fe/idl.ypp" + case 459: /* $@141: %empty */ +#line 5306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8483 "fe/idl.tab.cpp" +#line 8506 "fe/idl.tab.cpp" break; - case 460: /* opt_context: IDL_CONTEXT $@142 '(' $@143 at_least_one_string_literal ')' */ -#line 5250 "fe/idl.ypp" + case 460: /* opt_context: IDL_CONTEXT $@140 '(' $@141 at_least_one_string_literal ')' */ +#line 5311 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8492 "fe/idl.tab.cpp" +#line 8515 "fe/idl.tab.cpp" break; case 461: /* opt_context: %empty */ -#line 5255 "fe/idl.ypp" +#line 5316 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8500 "fe/idl.tab.cpp" +#line 8523 "fe/idl.tab.cpp" break; case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5262 "fe/idl.ypp" +#line 5323 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8511 "fe/idl.tab.cpp" +#line 8534 "fe/idl.tab.cpp" break; - case 463: /* $@144: %empty */ -#line 5273 "fe/idl.ypp" + case 463: /* $@142: %empty */ +#line 5334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8519 "fe/idl.tab.cpp" +#line 8542 "fe/idl.tab.cpp" break; - case 464: /* string_literals: string_literals ',' $@144 IDL_STRING_LITERAL */ -#line 5277 "fe/idl.ypp" + case 464: /* string_literals: string_literals ',' $@142 IDL_STRING_LITERAL */ +#line 5338 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8537,19 +8560,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8541 "fe/idl.tab.cpp" +#line 8564 "fe/idl.tab.cpp" break; case 465: /* string_literals: %empty */ -#line 5295 "fe/idl.ypp" +#line 5356 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8549 "fe/idl.tab.cpp" +#line 8572 "fe/idl.tab.cpp" break; case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5302 "fe/idl.ypp" +#line 5363 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8576,11 +8599,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8580 "fe/idl.tab.cpp" +#line 8603 "fe/idl.tab.cpp" break; case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5332 "fe/idl.ypp" +#line 5393 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8616,11 +8639,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8620 "fe/idl.tab.cpp" +#line 8643 "fe/idl.tab.cpp" break; case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5377 "fe/idl.ypp" +#line 5438 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8646,11 +8669,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8650 "fe/idl.tab.cpp" +#line 8673 "fe/idl.tab.cpp" break; - case 471: /* @145: %empty */ -#line 5406 "fe/idl.ypp" + case 471: /* @143: %empty */ +#line 5467 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8692,27 +8715,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8696 "fe/idl.tab.cpp" +#line 8719 "fe/idl.tab.cpp" break; - case 472: /* $@146: %empty */ -#line 5448 "fe/idl.ypp" + case 472: /* $@144: %empty */ +#line 5509 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8704 "fe/idl.tab.cpp" +#line 8727 "fe/idl.tab.cpp" break; - case 473: /* $@147: %empty */ -#line 5452 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5513 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8712 "fe/idl.tab.cpp" +#line 8735 "fe/idl.tab.cpp" break; - case 474: /* component_decl: component_header @145 '{' $@146 component_exports $@147 '}' */ -#line 5456 "fe/idl.ypp" + case 474: /* component_decl: component_header @143 '{' $@144 component_exports $@145 '}' */ +#line 5517 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8723,27 +8746,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8727 "fe/idl.tab.cpp" +#line 8750 "fe/idl.tab.cpp" break; - case 475: /* $@148: %empty */ -#line 5471 "fe/idl.ypp" + case 475: /* $@146: %empty */ +#line 5532 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8758 "fe/idl.tab.cpp" break; - case 476: /* $@149: %empty */ -#line 5475 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5536 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8743 "fe/idl.tab.cpp" +#line 8766 "fe/idl.tab.cpp" break; - case 477: /* component_header: IDL_COMPONENT defining_id $@148 component_inheritance_spec $@149 supports_spec */ -#line 5479 "fe/idl.ypp" + case 477: /* component_header: IDL_COMPONENT defining_id $@146 component_inheritance_spec $@147 supports_spec */ +#line 5540 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8777,35 +8800,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8781 "fe/idl.tab.cpp" +#line 8804 "fe/idl.tab.cpp" break; - case 478: /* $@150: %empty */ -#line 5516 "fe/idl.ypp" + case 478: /* $@148: %empty */ +#line 5577 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8789 "fe/idl.tab.cpp" +#line 8812 "fe/idl.tab.cpp" break; - case 479: /* component_inheritance_spec: ':' $@150 scoped_name */ -#line 5520 "fe/idl.ypp" + case 479: /* component_inheritance_spec: ':' $@148 scoped_name */ +#line 5581 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8797 "fe/idl.tab.cpp" +#line 8820 "fe/idl.tab.cpp" break; case 480: /* component_inheritance_spec: %empty */ -#line 5524 "fe/idl.ypp" +#line 5585 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8805 "fe/idl.tab.cpp" +#line 8828 "fe/idl.tab.cpp" break; case 481: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5531 "fe/idl.ypp" +#line 5592 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8820,130 +8843,130 @@ yyparse (void) } delete annotations; } -#line 8824 "fe/idl.tab.cpp" +#line 8847 "fe/idl.tab.cpp" break; - case 484: /* $@151: %empty */ -#line 5551 "fe/idl.ypp" + case 484: /* $@149: %empty */ +#line 5612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8832 "fe/idl.tab.cpp" +#line 8855 "fe/idl.tab.cpp" break; - case 485: /* component_export: provides_decl $@151 ';' */ -#line 5555 "fe/idl.ypp" + case 485: /* component_export: provides_decl $@149 ';' */ +#line 5616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8841 "fe/idl.tab.cpp" +#line 8864 "fe/idl.tab.cpp" break; - case 486: /* $@152: %empty */ -#line 5560 "fe/idl.ypp" + case 486: /* $@150: %empty */ +#line 5621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8849 "fe/idl.tab.cpp" +#line 8872 "fe/idl.tab.cpp" break; - case 487: /* component_export: uses_decl $@152 ';' */ -#line 5564 "fe/idl.ypp" + case 487: /* component_export: uses_decl $@150 ';' */ +#line 5625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8858 "fe/idl.tab.cpp" +#line 8881 "fe/idl.tab.cpp" break; - case 488: /* $@153: %empty */ -#line 5569 "fe/idl.ypp" + case 488: /* $@151: %empty */ +#line 5630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8866 "fe/idl.tab.cpp" +#line 8889 "fe/idl.tab.cpp" break; - case 489: /* component_export: emits_decl $@153 ';' */ -#line 5573 "fe/idl.ypp" + case 489: /* component_export: emits_decl $@151 ';' */ +#line 5634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8875 "fe/idl.tab.cpp" +#line 8898 "fe/idl.tab.cpp" break; - case 490: /* $@154: %empty */ -#line 5578 "fe/idl.ypp" + case 490: /* $@152: %empty */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8883 "fe/idl.tab.cpp" +#line 8906 "fe/idl.tab.cpp" break; - case 491: /* component_export: publishes_decl $@154 ';' */ -#line 5582 "fe/idl.ypp" + case 491: /* component_export: publishes_decl $@152 ';' */ +#line 5643 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8892 "fe/idl.tab.cpp" +#line 8915 "fe/idl.tab.cpp" break; - case 492: /* $@155: %empty */ -#line 5587 "fe/idl.ypp" + case 492: /* $@153: %empty */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8900 "fe/idl.tab.cpp" +#line 8923 "fe/idl.tab.cpp" break; - case 493: /* component_export: consumes_decl $@155 ';' */ -#line 5591 "fe/idl.ypp" + case 493: /* component_export: consumes_decl $@153 ';' */ +#line 5652 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8909 "fe/idl.tab.cpp" +#line 8932 "fe/idl.tab.cpp" break; - case 494: /* $@156: %empty */ -#line 5596 "fe/idl.ypp" + case 494: /* $@154: %empty */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8917 "fe/idl.tab.cpp" +#line 8940 "fe/idl.tab.cpp" break; - case 495: /* component_export: attribute $@156 ';' */ -#line 5600 "fe/idl.ypp" + case 495: /* component_export: attribute $@154 ';' */ +#line 5661 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8926 "fe/idl.tab.cpp" +#line 8949 "fe/idl.tab.cpp" break; - case 496: /* $@157: %empty */ -#line 5605 "fe/idl.ypp" + case 496: /* $@155: %empty */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8934 "fe/idl.tab.cpp" +#line 8957 "fe/idl.tab.cpp" break; - case 497: /* component_export: extended_port_decl $@157 ';' */ -#line 5609 "fe/idl.ypp" + case 497: /* component_export: extended_port_decl $@155 ';' */ +#line 5670 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8943 "fe/idl.tab.cpp" +#line 8966 "fe/idl.tab.cpp" break; case 498: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5616 "fe/idl.ypp" +#line 5677 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9033,21 +9056,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9037 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; case 499: /* interface_type: scoped_name */ -#line 5709 "fe/idl.ypp" +#line 5770 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9047 "fe/idl.tab.cpp" +#line 9070 "fe/idl.tab.cpp" break; case 500: /* interface_type: IDL_OBJECT */ -#line 5715 "fe/idl.ypp" +#line 5776 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9070,11 +9093,11 @@ yyparse (void) conc_name), 1); } -#line 9074 "fe/idl.tab.cpp" +#line 9097 "fe/idl.tab.cpp" break; case 501: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5740 "fe/idl.ypp" +#line 5801 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9178,37 +9201,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9182 "fe/idl.tab.cpp" +#line 9205 "fe/idl.tab.cpp" break; case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5847 "fe/idl.ypp" +#line 5908 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9192 "fe/idl.tab.cpp" +#line 9215 "fe/idl.tab.cpp" break; case 503: /* opt_multiple: IDL_MULTIPLE */ -#line 5856 "fe/idl.ypp" +#line 5917 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9200 "fe/idl.tab.cpp" +#line 9223 "fe/idl.tab.cpp" break; case 504: /* opt_multiple: %empty */ -#line 5860 "fe/idl.ypp" +#line 5921 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9208 "fe/idl.tab.cpp" +#line 9231 "fe/idl.tab.cpp" break; case 505: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5867 "fe/idl.ypp" +#line 5928 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9280,11 +9303,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9284 "fe/idl.tab.cpp" +#line 9307 "fe/idl.tab.cpp" break; case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5942 "fe/idl.ypp" +#line 6003 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9353,11 +9376,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9357 "fe/idl.tab.cpp" +#line 9380 "fe/idl.tab.cpp" break; case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6014 "fe/idl.ypp" +#line 6075 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9429,11 +9452,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9433 "fe/idl.tab.cpp" +#line 9456 "fe/idl.tab.cpp" break; - case 508: /* $@158: %empty */ -#line 6089 "fe/idl.ypp" + case 508: /* $@156: %empty */ +#line 6150 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9470,11 +9493,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9474 "fe/idl.tab.cpp" +#line 9497 "fe/idl.tab.cpp" break; - case 509: /* home_decl: home_header $@158 home_body */ -#line 6126 "fe/idl.ypp" + case 509: /* home_decl: home_header $@156 home_body */ +#line 6187 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9483,59 +9506,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9487 "fe/idl.tab.cpp" +#line 9510 "fe/idl.tab.cpp" break; - case 510: /* $@159: %empty */ -#line 6138 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9495 "fe/idl.tab.cpp" +#line 9518 "fe/idl.tab.cpp" break; - case 511: /* $@160: %empty */ -#line 6142 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6203 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9503 "fe/idl.tab.cpp" +#line 9526 "fe/idl.tab.cpp" break; - case 512: /* $@161: %empty */ -#line 6146 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6207 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9511 "fe/idl.tab.cpp" +#line 9534 "fe/idl.tab.cpp" break; - case 513: /* $@162: %empty */ -#line 6150 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6211 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9519 "fe/idl.tab.cpp" +#line 9542 "fe/idl.tab.cpp" break; - case 514: /* $@163: %empty */ -#line 6154 "fe/idl.ypp" + case 514: /* $@161: %empty */ +#line 6215 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9527 "fe/idl.tab.cpp" +#line 9550 "fe/idl.tab.cpp" break; - case 515: /* $@164: %empty */ -#line 6158 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9535 "fe/idl.tab.cpp" +#line 9558 "fe/idl.tab.cpp" break; - case 516: /* home_header: IDL_HOME $@159 defining_id $@160 home_inheritance_spec $@161 supports_spec $@162 IDL_MANAGES $@163 scoped_name $@164 primary_key_spec */ -#line 6162 "fe/idl.ypp" + case 516: /* home_header: IDL_HOME $@157 defining_id $@158 home_inheritance_spec $@159 supports_spec $@160 IDL_MANAGES $@161 scoped_name $@162 primary_key_spec */ +#line 6223 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9581,107 +9604,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9585 "fe/idl.tab.cpp" +#line 9608 "fe/idl.tab.cpp" break; - case 517: /* $@165: %empty */ -#line 6211 "fe/idl.ypp" + case 517: /* $@163: %empty */ +#line 6272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9593 "fe/idl.tab.cpp" +#line 9616 "fe/idl.tab.cpp" break; - case 518: /* home_inheritance_spec: ':' $@165 scoped_name */ -#line 6215 "fe/idl.ypp" + case 518: /* home_inheritance_spec: ':' $@163 scoped_name */ +#line 6276 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9601 "fe/idl.tab.cpp" +#line 9624 "fe/idl.tab.cpp" break; case 519: /* home_inheritance_spec: %empty */ -#line 6219 "fe/idl.ypp" +#line 6280 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9609 "fe/idl.tab.cpp" +#line 9632 "fe/idl.tab.cpp" break; case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6227 "fe/idl.ypp" +#line 6288 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9617 "fe/idl.tab.cpp" +#line 9640 "fe/idl.tab.cpp" break; case 521: /* primary_key_spec: %empty */ -#line 6231 "fe/idl.ypp" +#line 6292 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9625 "fe/idl.tab.cpp" +#line 9648 "fe/idl.tab.cpp" break; - case 522: /* $@166: %empty */ -#line 6238 "fe/idl.ypp" + case 522: /* $@164: %empty */ +#line 6299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9633 "fe/idl.tab.cpp" +#line 9656 "fe/idl.tab.cpp" break; - case 523: /* $@167: %empty */ -#line 6242 "fe/idl.ypp" + case 523: /* $@165: %empty */ +#line 6303 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9641 "fe/idl.tab.cpp" +#line 9664 "fe/idl.tab.cpp" break; - case 524: /* home_body: '{' $@166 home_exports $@167 '}' */ -#line 6246 "fe/idl.ypp" + case 524: /* home_body: '{' $@164 home_exports $@165 '}' */ +#line 6307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9649 "fe/idl.tab.cpp" +#line 9672 "fe/idl.tab.cpp" break; - case 528: /* $@168: %empty */ -#line 6259 "fe/idl.ypp" + case 528: /* $@166: %empty */ +#line 6320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9657 "fe/idl.tab.cpp" +#line 9680 "fe/idl.tab.cpp" break; - case 529: /* home_export: factory_decl $@168 ';' */ -#line 6263 "fe/idl.ypp" + case 529: /* home_export: factory_decl $@166 ';' */ +#line 6324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9665 "fe/idl.tab.cpp" +#line 9688 "fe/idl.tab.cpp" break; - case 530: /* $@169: %empty */ -#line 6267 "fe/idl.ypp" + case 530: /* $@167: %empty */ +#line 6328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9673 "fe/idl.tab.cpp" +#line 9696 "fe/idl.tab.cpp" break; - case 531: /* home_export: finder_decl $@169 ';' */ -#line 6271 "fe/idl.ypp" + case 531: /* home_export: finder_decl $@167 ';' */ +#line 6332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9681 "fe/idl.tab.cpp" +#line 9704 "fe/idl.tab.cpp" break; - case 532: /* $@170: %empty */ -#line 6279 "fe/idl.ypp" + case 532: /* $@168: %empty */ +#line 6340 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9704,19 +9727,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9708 "fe/idl.tab.cpp" +#line 9731 "fe/idl.tab.cpp" break; - case 533: /* $@171: %empty */ -#line 6302 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6363 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9716 "fe/idl.tab.cpp" +#line 9739 "fe/idl.tab.cpp" break; - case 534: /* factory_decl: IDL_FACTORY defining_id $@170 init_parameter_list $@171 opt_raises */ -#line 6306 "fe/idl.ypp" + case 534: /* factory_decl: IDL_FACTORY defining_id $@168 init_parameter_list $@169 opt_raises */ +#line 6367 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9734,11 +9757,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9738 "fe/idl.tab.cpp" +#line 9761 "fe/idl.tab.cpp" break; - case 535: /* $@172: %empty */ -#line 6328 "fe/idl.ypp" + case 535: /* $@170: %empty */ +#line 6389 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9765,19 +9788,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9769 "fe/idl.tab.cpp" +#line 9792 "fe/idl.tab.cpp" break; - case 536: /* $@173: %empty */ -#line 6355 "fe/idl.ypp" + case 536: /* $@171: %empty */ +#line 6416 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9777 "fe/idl.tab.cpp" +#line 9800 "fe/idl.tab.cpp" break; - case 537: /* finder_decl: IDL_FINDER defining_id $@172 init_parameter_list $@173 opt_raises */ -#line 6359 "fe/idl.ypp" + case 537: /* finder_decl: IDL_FINDER defining_id $@170 init_parameter_list $@171 opt_raises */ +#line 6420 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9795,11 +9818,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9799 "fe/idl.tab.cpp" +#line 9822 "fe/idl.tab.cpp" break; case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6392 "fe/idl.ypp" +#line 6453 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9824,11 +9847,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9828 "fe/idl.tab.cpp" +#line 9851 "fe/idl.tab.cpp" break; case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6422 "fe/idl.ypp" +#line 6483 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9853,11 +9876,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9857 "fe/idl.tab.cpp" +#line 9880 "fe/idl.tab.cpp" break; - case 545: /* $@174: %empty */ -#line 6451 "fe/idl.ypp" + case 545: /* $@172: %empty */ +#line 6512 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9901,27 +9924,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9905 "fe/idl.tab.cpp" +#line 9928 "fe/idl.tab.cpp" break; - case 546: /* $@175: %empty */ -#line 6495 "fe/idl.ypp" + case 546: /* $@173: %empty */ +#line 6556 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9913 "fe/idl.tab.cpp" +#line 9936 "fe/idl.tab.cpp" break; - case 547: /* $@176: %empty */ -#line 6499 "fe/idl.ypp" + case 547: /* $@174: %empty */ +#line 6560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9921 "fe/idl.tab.cpp" +#line 9944 "fe/idl.tab.cpp" break; - case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@174 '{' $@175 exports $@176 '}' */ -#line 6503 "fe/idl.ypp" + case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@172 '{' $@173 exports $@174 '}' */ +#line 6564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9932,19 +9955,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9936 "fe/idl.tab.cpp" +#line 9959 "fe/idl.tab.cpp" break; case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6519 "fe/idl.ypp" +#line 6580 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9944 "fe/idl.tab.cpp" +#line 9967 "fe/idl.tab.cpp" break; case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6528 "fe/idl.ypp" +#line 6589 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9957,29 +9980,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9961 "fe/idl.tab.cpp" +#line 9984 "fe/idl.tab.cpp" break; case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6545 "fe/idl.ypp" +#line 6606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9971 "fe/idl.tab.cpp" +#line 9994 "fe/idl.tab.cpp" break; - case 552: /* $@177: %empty */ -#line 6554 "fe/idl.ypp" + case 552: /* $@175: %empty */ +#line 6615 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9979 "fe/idl.tab.cpp" +#line 10002 "fe/idl.tab.cpp" break; - case 553: /* event_rest_of_header: inheritance_spec $@177 supports_spec */ -#line 6558 "fe/idl.ypp" + case 553: /* event_rest_of_header: inheritance_spec $@175 supports_spec */ +#line 6619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10008,11 +10031,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10012 "fe/idl.tab.cpp" +#line 10035 "fe/idl.tab.cpp" break; - case 554: /* @178: %empty */ -#line 6591 "fe/idl.ypp" + case 554: /* @176: %empty */ +#line 6652 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10063,27 +10086,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10067 "fe/idl.tab.cpp" +#line 10090 "fe/idl.tab.cpp" break; - case 555: /* $@179: %empty */ -#line 6642 "fe/idl.ypp" + case 555: /* $@177: %empty */ +#line 6703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10075 "fe/idl.tab.cpp" +#line 10098 "fe/idl.tab.cpp" break; - case 556: /* $@180: %empty */ -#line 6646 "fe/idl.ypp" + case 556: /* $@178: %empty */ +#line 6707 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10083 "fe/idl.tab.cpp" +#line 10106 "fe/idl.tab.cpp" break; - case 557: /* event_decl: event_header event_rest_of_header @178 '{' $@179 value_elements $@180 '}' */ -#line 6650 "fe/idl.ypp" + case 557: /* event_decl: event_header event_rest_of_header @176 '{' $@177 value_elements $@178 '}' */ +#line 6711 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10094,108 +10117,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10098 "fe/idl.tab.cpp" +#line 10121 "fe/idl.tab.cpp" break; case 558: /* event_header: event_custom_header */ -#line 6664 "fe/idl.ypp" +#line 6725 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10106 "fe/idl.tab.cpp" +#line 10129 "fe/idl.tab.cpp" break; case 559: /* event_header: event_plain_header */ -#line 6668 "fe/idl.ypp" +#line 6729 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10114 "fe/idl.tab.cpp" +#line 10137 "fe/idl.tab.cpp" break; case 560: /* formal_parameter_type: IDL_TYPENAME */ -#line 6675 "fe/idl.ypp" +#line 6736 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10122 "fe/idl.tab.cpp" +#line 10145 "fe/idl.tab.cpp" break; case 561: /* formal_parameter_type: IDL_STRUCT */ -#line 6679 "fe/idl.ypp" +#line 6740 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10130 "fe/idl.tab.cpp" +#line 10153 "fe/idl.tab.cpp" break; case 562: /* formal_parameter_type: IDL_UNION */ -#line 6683 "fe/idl.ypp" +#line 6744 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10138 "fe/idl.tab.cpp" +#line 10161 "fe/idl.tab.cpp" break; case 563: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6687 "fe/idl.ypp" +#line 6748 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10146 "fe/idl.tab.cpp" +#line 10169 "fe/idl.tab.cpp" break; case 564: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6691 "fe/idl.ypp" +#line 6752 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10154 "fe/idl.tab.cpp" +#line 10177 "fe/idl.tab.cpp" break; case 565: /* formal_parameter_type: IDL_INTERFACE */ -#line 6695 "fe/idl.ypp" +#line 6756 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10162 "fe/idl.tab.cpp" +#line 10185 "fe/idl.tab.cpp" break; case 566: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6699 "fe/idl.ypp" +#line 6760 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10170 "fe/idl.tab.cpp" +#line 10193 "fe/idl.tab.cpp" break; case 567: /* formal_parameter_type: IDL_ENUM */ -#line 6703 "fe/idl.ypp" +#line 6764 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10178 "fe/idl.tab.cpp" +#line 10201 "fe/idl.tab.cpp" break; case 568: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6707 "fe/idl.ypp" +#line 6768 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10186 "fe/idl.tab.cpp" +#line 10209 "fe/idl.tab.cpp" break; case 569: /* formal_parameter_type: IDL_CONST const_type */ -#line 6711 "fe/idl.ypp" +#line 6772 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10195 "fe/idl.tab.cpp" +#line 10218 "fe/idl.tab.cpp" break; case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6719 "fe/idl.ypp" +#line 6780 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10223,11 +10246,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10227 "fe/idl.tab.cpp" +#line 10250 "fe/idl.tab.cpp" break; case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6750 "fe/idl.ypp" +#line 6811 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10240,19 +10263,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10244 "fe/idl.tab.cpp" +#line 10267 "fe/idl.tab.cpp" break; case 572: /* formal_parameters: %empty */ -#line 6763 "fe/idl.ypp" +#line 6824 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10252 "fe/idl.tab.cpp" +#line 10275 "fe/idl.tab.cpp" break; case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6770 "fe/idl.ypp" +#line 6831 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10277,11 +10300,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10281 "fe/idl.tab.cpp" +#line 10304 "fe/idl.tab.cpp" break; case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6795 "fe/idl.ypp" +#line 6856 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10296,19 +10319,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10300 "fe/idl.tab.cpp" +#line 10323 "fe/idl.tab.cpp" break; case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6813 "fe/idl.ypp" +#line 6874 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10308 "fe/idl.tab.cpp" +#line 10331 "fe/idl.tab.cpp" break; case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6820 "fe/idl.ypp" +#line 6881 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10323,37 +10346,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10327 "fe/idl.tab.cpp" +#line 10350 "fe/idl.tab.cpp" break; case 577: /* formal_parameter_names: %empty */ -#line 6835 "fe/idl.ypp" +#line 6896 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10335 "fe/idl.tab.cpp" +#line 10358 "fe/idl.tab.cpp" break; case 578: /* formal_parameter_name: IDENTIFIER */ -#line 6842 "fe/idl.ypp" +#line 6903 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10345 "fe/idl.tab.cpp" +#line 10368 "fe/idl.tab.cpp" break; - case 579: /* $@181: %empty */ -#line 6851 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6912 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10353 "fe/idl.tab.cpp" +#line 10376 "fe/idl.tab.cpp" break; - case 580: /* @182: %empty */ -#line 6855 "fe/idl.ypp" + case 580: /* @180: %empty */ +#line 6916 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10372,27 +10395,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10376 "fe/idl.tab.cpp" +#line 10399 "fe/idl.tab.cpp" break; - case 581: /* $@183: %empty */ -#line 6874 "fe/idl.ypp" + case 581: /* $@181: %empty */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10384 "fe/idl.tab.cpp" +#line 10407 "fe/idl.tab.cpp" break; - case 582: /* $@184: %empty */ -#line 6882 "fe/idl.ypp" + case 582: /* $@182: %empty */ +#line 6943 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10392 "fe/idl.tab.cpp" +#line 10415 "fe/idl.tab.cpp" break; - case 583: /* porttype_decl: IDL_PORTTYPE $@181 IDENTIFIER @182 '{' $@183 at_least_one_port_export $@184 '}' */ -#line 6886 "fe/idl.ypp" + case 583: /* porttype_decl: IDL_PORTTYPE $@179 IDENTIFIER @180 '{' $@181 at_least_one_port_export $@182 '}' */ +#line 6947 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10401,11 +10424,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10405 "fe/idl.tab.cpp" +#line 10428 "fe/idl.tab.cpp" break; case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6898 "fe/idl.ypp" +#line 6959 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10420,27 +10443,27 @@ yyparse (void) } delete annotations; } -#line 10424 "fe/idl.tab.cpp" +#line 10447 "fe/idl.tab.cpp" break; - case 590: /* $@185: %empty */ -#line 6924 "fe/idl.ypp" + case 590: /* $@183: %empty */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10432 "fe/idl.tab.cpp" +#line 10455 "fe/idl.tab.cpp" break; - case 591: /* port_export: attribute $@185 ';' */ -#line 6928 "fe/idl.ypp" + case 591: /* port_export: attribute $@183 ';' */ +#line 6989 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10440 "fe/idl.tab.cpp" +#line 10463 "fe/idl.tab.cpp" break; case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6935 "fe/idl.ypp" +#line 6996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10507,11 +10530,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10511 "fe/idl.tab.cpp" +#line 10534 "fe/idl.tab.cpp" break; case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7002 "fe/idl.ypp" +#line 7063 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10556,11 +10579,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10560 "fe/idl.tab.cpp" +#line 10583 "fe/idl.tab.cpp" break; case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7050 "fe/idl.ypp" +#line 7111 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10573,11 +10596,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10577 "fe/idl.tab.cpp" +#line 10600 "fe/idl.tab.cpp" break; case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7066 "fe/idl.ypp" +#line 7127 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10590,19 +10613,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10594 "fe/idl.tab.cpp" +#line 10617 "fe/idl.tab.cpp" break; case 596: /* actual_parameters: %empty */ -#line 7079 "fe/idl.ypp" +#line 7140 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10602 "fe/idl.tab.cpp" +#line 10625 "fe/idl.tab.cpp" break; case 597: /* actual_parameter: expression */ -#line 7086 "fe/idl.ypp" +#line 7147 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10658,35 +10681,35 @@ yyparse (void) 0); } } -#line 10662 "fe/idl.tab.cpp" +#line 10685 "fe/idl.tab.cpp" break; case 598: /* connector_decl: connector_header connector_body */ -#line 7145 "fe/idl.ypp" +#line 7206 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10670 "fe/idl.tab.cpp" +#line 10693 "fe/idl.tab.cpp" break; - case 599: /* $@186: %empty */ -#line 7152 "fe/idl.ypp" + case 599: /* $@184: %empty */ +#line 7213 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10678 "fe/idl.tab.cpp" +#line 10701 "fe/idl.tab.cpp" break; - case 600: /* $@187: %empty */ -#line 7156 "fe/idl.ypp" + case 600: /* $@185: %empty */ +#line 7217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10686 "fe/idl.tab.cpp" +#line 10709 "fe/idl.tab.cpp" break; - case 601: /* connector_header: IDL_CONNECTOR $@186 annotations_maybe IDENTIFIER $@187 component_inheritance_spec */ -#line 7160 "fe/idl.ypp" + case 601: /* connector_header: IDL_CONNECTOR $@184 annotations_maybe IDENTIFIER $@185 component_inheritance_spec */ +#line 7221 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10740,102 +10763,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10744 "fe/idl.tab.cpp" +#line 10767 "fe/idl.tab.cpp" break; - case 602: /* $@188: %empty */ -#line 7217 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7278 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10752 "fe/idl.tab.cpp" +#line 10775 "fe/idl.tab.cpp" break; - case 603: /* $@189: %empty */ -#line 7221 "fe/idl.ypp" + case 603: /* $@187: %empty */ +#line 7282 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10760 "fe/idl.tab.cpp" +#line 10783 "fe/idl.tab.cpp" break; - case 604: /* connector_body: '{' $@188 connector_exports $@189 '}' */ -#line 7225 "fe/idl.ypp" + case 604: /* connector_body: '{' $@186 connector_exports $@187 '}' */ +#line 7286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10771 "fe/idl.tab.cpp" +#line 10794 "fe/idl.tab.cpp" break; - case 607: /* $@190: %empty */ -#line 7240 "fe/idl.ypp" + case 607: /* $@188: %empty */ +#line 7301 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10779 "fe/idl.tab.cpp" +#line 10802 "fe/idl.tab.cpp" break; - case 608: /* connector_export: provides_decl $@190 ';' */ -#line 7244 "fe/idl.ypp" + case 608: /* connector_export: provides_decl $@188 ';' */ +#line 7305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10787 "fe/idl.tab.cpp" +#line 10810 "fe/idl.tab.cpp" break; - case 609: /* $@191: %empty */ -#line 7248 "fe/idl.ypp" + case 609: /* $@189: %empty */ +#line 7309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10795 "fe/idl.tab.cpp" +#line 10818 "fe/idl.tab.cpp" break; - case 610: /* connector_export: uses_decl $@191 ';' */ -#line 7252 "fe/idl.ypp" + case 610: /* connector_export: uses_decl $@189 ';' */ +#line 7313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10803 "fe/idl.tab.cpp" +#line 10826 "fe/idl.tab.cpp" break; - case 611: /* $@192: %empty */ -#line 7256 "fe/idl.ypp" + case 611: /* $@190: %empty */ +#line 7317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10811 "fe/idl.tab.cpp" +#line 10834 "fe/idl.tab.cpp" break; - case 612: /* connector_export: attribute $@192 ';' */ -#line 7260 "fe/idl.ypp" + case 612: /* connector_export: attribute $@190 ';' */ +#line 7321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10819 "fe/idl.tab.cpp" +#line 10842 "fe/idl.tab.cpp" break; - case 613: /* $@193: %empty */ -#line 7264 "fe/idl.ypp" + case 613: /* $@191: %empty */ +#line 7325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10827 "fe/idl.tab.cpp" +#line 10850 "fe/idl.tab.cpp" break; - case 614: /* connector_export: extended_port_decl $@193 ';' */ -#line 7268 "fe/idl.ypp" + case 614: /* connector_export: extended_port_decl $@191 ';' */ +#line 7329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10835 "fe/idl.tab.cpp" +#line 10858 "fe/idl.tab.cpp" break; -#line 10839 "fe/idl.tab.cpp" +#line 10862 "fe/idl.tab.cpp" default: break; } @@ -10917,6 +10940,7 @@ yyparse (void) label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -10977,7 +11001,7 @@ yyparse (void) `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; /*-----------------------------------. @@ -10985,24 +11009,22 @@ yyparse (void) `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; - goto yyreturn; -#endif + goto yyreturnlab; -/*-------------------------------------------------------. -| yyreturn -- parsing is finished, clean up and return. | -`-------------------------------------------------------*/ -yyreturn: +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -11029,7 +11051,7 @@ yyparse (void) return yyresult; } -#line 7273 "fe/idl.ypp" +#line 7334 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 9c683c1c6c4ec..9d9321ae5a8a5 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison interface for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -212,6 +212,8 @@ typedef union YYSTYPE YYSTYPE; extern YYSTYPE tao_yylval; + int tao_yyparse (void); + #endif /* !YY_TAO_YY_FE_IDL_TAB_HPP_INCLUDED */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 68499e8932768..7b69968977be7 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -404,7 +404,7 @@ bool stack_based_lookup_for_primary_expr = false; %type annotation_appl_params_maybe annotation_appl_params %type named_annotation_appl_params more_named_annotation_appl_params %type named_annotation_appl_param -%type seq_head +%type seq_head map_type %type member_i state_member value_element %type visibility @@ -3902,25 +3902,19 @@ map_type_spec : { idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); } - simple_type_spec - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } + map_type ',' { idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); } - simple_type_spec - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } + map_type '>' { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - AST_Decl *key_type = $5; - AST_Decl *val_type = $9; + Decl_Annotations_Pair *key_type = $5; + Decl_Annotations_Pair *val_type = $8; /* * Remove sequence marker from scopes stack. @@ -3937,8 +3931,8 @@ map_type_spec : */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type); - AST_Type *vtp = dynamic_cast (val_type); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -3968,12 +3962,79 @@ map_type_spec : } } - // delete type_annotations; + $$ = map; + } + | IDL_MAP + '<' + map_type + ',' + map_type + ',' + positive_int_expr + '>' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + Decl_Annotations_Pair *key_type = $3; + Decl_Annotations_Pair *val_type = $5; + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + + map = + idl_global->gen ()->create_map ( + $7, + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + idl_global->err ()->anonymous_type_diagnostic (); + } + } $$ = map; } ; +map_type : + annotations_maybe simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; + pair->decl = $2; + pair->annotations = $1; + $$ = pair; + } + ; + sequence_type_spec : seq_head ',' diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 7b90a5d1f1155..cc314f7deb11c 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -1,6 +1,6 @@ -#line 2 "fe/idl.yy.cpp" +#line 1 "fe/idl.yy.cpp" -#line 4 "fe/idl.yy.cpp" +#line 3 "fe/idl.yy.cpp" #define YY_INT_ALIGNED short int @@ -1450,9 +1450,9 @@ static AST_Decl * idl_find_node (const char *); #undef ECHO #endif -#line 1456 "fe/idl.yy.cpp" +#line 1455 "fe/idl.yy.cpp" /* SO we don't choke on files that use \r\n */ -#line 1458 "fe/idl.yy.cpp" +#line 1457 "fe/idl.yy.cpp" #define INITIAL 0 @@ -1681,7 +1681,7 @@ YY_DECL #line 123 "fe/idl.ll" -#line 1687 "fe/idl.yy.cpp" +#line 1686 "fe/idl.yy.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2588,7 +2588,7 @@ YY_RULE_SETUP #line 492 "fe/idl.ll" ECHO; YY_BREAK -#line 2594 "fe/idl.yy.cpp" +#line 2593 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 2b6f14afda8de..bf594fd6a92e7 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -239,6 +239,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapQsSeen // Seen a '>' for map , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence + , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index c30fe0f6d0de5..dc10d6cd29940 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,4 +1,5 @@ struct DataStruct { sequence seqData; map mapData; + map mapData; }; From 8a9729e0f28e5b8ead9cb0f4fae9c26481b981be Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:31:16 -0400 Subject: [PATCH 10/92] Simplified bison --- TAO/TAO_IDL/fe/idl.tab.cpp | 3955 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.ypp | 17 +- 2 files changed, 1962 insertions(+), 2010 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 15a9b7f9a44cf..db6afe1bfd833 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -517,200 +517,197 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_328_92 = 328, /* $@92 */ - YYSYMBOL_329_93 = 329, /* $@93 */ - YYSYMBOL_map_type = 330, /* map_type */ - YYSYMBOL_sequence_type_spec = 331, /* sequence_type_spec */ - YYSYMBOL_332_94 = 332, /* $@94 */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_seq_head = 334, /* seq_head */ - YYSYMBOL_335_96 = 335, /* $@96 */ - YYSYMBOL_336_97 = 336, /* $@97 */ - YYSYMBOL_fixed_type_spec = 337, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 338, /* string_type_spec */ - YYSYMBOL_339_98 = 339, /* $@98 */ - YYSYMBOL_340_99 = 340, /* $@99 */ - YYSYMBOL_string_head = 341, /* string_head */ - YYSYMBOL_wstring_type_spec = 342, /* wstring_type_spec */ - YYSYMBOL_343_100 = 343, /* $@100 */ - YYSYMBOL_344_101 = 344, /* $@101 */ - YYSYMBOL_wstring_head = 345, /* wstring_head */ - YYSYMBOL_array_declarator = 346, /* array_declarator */ - YYSYMBOL_347_102 = 347, /* $@102 */ - YYSYMBOL_at_least_one_array_dim = 348, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 349, /* array_dims */ - YYSYMBOL_array_dim = 350, /* array_dim */ - YYSYMBOL_351_103 = 351, /* $@103 */ - YYSYMBOL_352_104 = 352, /* $@104 */ - YYSYMBOL_attribute = 353, /* attribute */ - YYSYMBOL_attribute_readonly = 354, /* attribute_readonly */ + YYSYMBOL_map_type = 327, /* map_type */ + YYSYMBOL_sequence_type_spec = 328, /* sequence_type_spec */ + YYSYMBOL_329_91 = 329, /* $@91 */ + YYSYMBOL_330_92 = 330, /* $@92 */ + YYSYMBOL_seq_head = 331, /* seq_head */ + YYSYMBOL_332_93 = 332, /* $@93 */ + YYSYMBOL_333_94 = 333, /* $@94 */ + YYSYMBOL_fixed_type_spec = 334, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 335, /* string_type_spec */ + YYSYMBOL_336_95 = 336, /* $@95 */ + YYSYMBOL_337_96 = 337, /* $@96 */ + YYSYMBOL_string_head = 338, /* string_head */ + YYSYMBOL_wstring_type_spec = 339, /* wstring_type_spec */ + YYSYMBOL_340_97 = 340, /* $@97 */ + YYSYMBOL_341_98 = 341, /* $@98 */ + YYSYMBOL_wstring_head = 342, /* wstring_head */ + YYSYMBOL_array_declarator = 343, /* array_declarator */ + YYSYMBOL_344_99 = 344, /* $@99 */ + YYSYMBOL_at_least_one_array_dim = 345, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 346, /* array_dims */ + YYSYMBOL_array_dim = 347, /* array_dim */ + YYSYMBOL_348_100 = 348, /* $@100 */ + YYSYMBOL_349_101 = 349, /* $@101 */ + YYSYMBOL_attribute = 350, /* attribute */ + YYSYMBOL_attribute_readonly = 351, /* attribute_readonly */ + YYSYMBOL_352_102 = 352, /* $@102 */ + YYSYMBOL_353_103 = 353, /* $@103 */ + YYSYMBOL_354_104 = 354, /* $@104 */ YYSYMBOL_355_105 = 355, /* $@105 */ - YYSYMBOL_356_106 = 356, /* $@106 */ - YYSYMBOL_357_107 = 357, /* $@107 */ - YYSYMBOL_358_108 = 358, /* $@108 */ - YYSYMBOL_attribute_readwrite = 359, /* attribute_readwrite */ + YYSYMBOL_attribute_readwrite = 356, /* attribute_readwrite */ + YYSYMBOL_357_106 = 357, /* $@106 */ + YYSYMBOL_358_107 = 358, /* $@107 */ + YYSYMBOL_359_108 = 359, /* $@108 */ YYSYMBOL_360_109 = 360, /* $@109 */ - YYSYMBOL_361_110 = 361, /* $@110 */ - YYSYMBOL_362_111 = 362, /* $@111 */ - YYSYMBOL_363_112 = 363, /* $@112 */ - YYSYMBOL_exception = 364, /* exception */ + YYSYMBOL_exception = 361, /* exception */ + YYSYMBOL_362_110 = 362, /* $@110 */ + YYSYMBOL_363_111 = 363, /* @111 */ + YYSYMBOL_364_112 = 364, /* $@112 */ YYSYMBOL_365_113 = 365, /* $@113 */ - YYSYMBOL_366_114 = 366, /* @114 */ - YYSYMBOL_367_115 = 367, /* $@115 */ - YYSYMBOL_368_116 = 368, /* $@116 */ - YYSYMBOL_operation = 369, /* operation */ + YYSYMBOL_operation = 366, /* operation */ + YYSYMBOL_367_114 = 367, /* $@114 */ + YYSYMBOL_368_115 = 368, /* $@115 */ + YYSYMBOL_369_116 = 369, /* $@116 */ YYSYMBOL_370_117 = 370, /* $@117 */ - YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_372_119 = 372, /* $@119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_opt_op_attribute = 374, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 375, /* op_type_spec */ - YYSYMBOL_init_decl = 376, /* init_decl */ - YYSYMBOL_377_121 = 377, /* $@121 */ - YYSYMBOL_378_122 = 378, /* @122 */ - YYSYMBOL_379_123 = 379, /* $@123 */ - YYSYMBOL_init_parameter_list = 380, /* init_parameter_list */ - YYSYMBOL_381_124 = 381, /* $@124 */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_at_least_one_in_parameter = 383, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 384, /* in_parameters */ - YYSYMBOL_385_126 = 385, /* $@126 */ - YYSYMBOL_in_parameter = 386, /* in_parameter */ - YYSYMBOL_387_127 = 387, /* $@127 */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_parameter_list = 389, /* parameter_list */ - YYSYMBOL_390_129 = 390, /* $@129 */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_at_least_one_parameter = 392, /* at_least_one_parameter */ - YYSYMBOL_parameters = 393, /* parameters */ - YYSYMBOL_394_131 = 394, /* $@131 */ - YYSYMBOL_parameter = 395, /* parameter */ - YYSYMBOL_396_132 = 396, /* $@132 */ - YYSYMBOL_397_133 = 397, /* $@133 */ - YYSYMBOL_param_type_spec = 398, /* param_type_spec */ - YYSYMBOL_direction = 399, /* direction */ - YYSYMBOL_opt_raises = 400, /* opt_raises */ - YYSYMBOL_401_134 = 401, /* $@134 */ - YYSYMBOL_402_135 = 402, /* $@135 */ - YYSYMBOL_opt_getraises = 403, /* opt_getraises */ - YYSYMBOL_404_136 = 404, /* $@136 */ - YYSYMBOL_405_137 = 405, /* $@137 */ - YYSYMBOL_opt_setraises = 406, /* opt_setraises */ - YYSYMBOL_407_138 = 407, /* $@138 */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_opt_context = 409, /* opt_context */ - YYSYMBOL_410_140 = 410, /* $@140 */ - YYSYMBOL_411_141 = 411, /* $@141 */ - YYSYMBOL_at_least_one_string_literal = 412, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 413, /* string_literals */ - YYSYMBOL_414_142 = 414, /* $@142 */ - YYSYMBOL_typeid_dcl = 415, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 416, /* typeprefix_dcl */ - YYSYMBOL_component = 417, /* component */ - YYSYMBOL_component_forward_decl = 418, /* component_forward_decl */ - YYSYMBOL_component_decl = 419, /* component_decl */ - YYSYMBOL_420_143 = 420, /* @143 */ - YYSYMBOL_421_144 = 421, /* $@144 */ - YYSYMBOL_422_145 = 422, /* $@145 */ - YYSYMBOL_component_header = 423, /* component_header */ - YYSYMBOL_424_146 = 424, /* $@146 */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_component_inheritance_spec = 426, /* component_inheritance_spec */ - YYSYMBOL_427_148 = 427, /* $@148 */ - YYSYMBOL_component_exports = 428, /* component_exports */ - YYSYMBOL_component_export = 429, /* component_export */ + YYSYMBOL_opt_op_attribute = 371, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 372, /* op_type_spec */ + YYSYMBOL_init_decl = 373, /* init_decl */ + YYSYMBOL_374_118 = 374, /* $@118 */ + YYSYMBOL_375_119 = 375, /* @119 */ + YYSYMBOL_376_120 = 376, /* $@120 */ + YYSYMBOL_init_parameter_list = 377, /* init_parameter_list */ + YYSYMBOL_378_121 = 378, /* $@121 */ + YYSYMBOL_379_122 = 379, /* $@122 */ + YYSYMBOL_at_least_one_in_parameter = 380, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 381, /* in_parameters */ + YYSYMBOL_382_123 = 382, /* $@123 */ + YYSYMBOL_in_parameter = 383, /* in_parameter */ + YYSYMBOL_384_124 = 384, /* $@124 */ + YYSYMBOL_385_125 = 385, /* $@125 */ + YYSYMBOL_parameter_list = 386, /* parameter_list */ + YYSYMBOL_387_126 = 387, /* $@126 */ + YYSYMBOL_388_127 = 388, /* $@127 */ + YYSYMBOL_at_least_one_parameter = 389, /* at_least_one_parameter */ + YYSYMBOL_parameters = 390, /* parameters */ + YYSYMBOL_391_128 = 391, /* $@128 */ + YYSYMBOL_parameter = 392, /* parameter */ + YYSYMBOL_393_129 = 393, /* $@129 */ + YYSYMBOL_394_130 = 394, /* $@130 */ + YYSYMBOL_param_type_spec = 395, /* param_type_spec */ + YYSYMBOL_direction = 396, /* direction */ + YYSYMBOL_opt_raises = 397, /* opt_raises */ + YYSYMBOL_398_131 = 398, /* $@131 */ + YYSYMBOL_399_132 = 399, /* $@132 */ + YYSYMBOL_opt_getraises = 400, /* opt_getraises */ + YYSYMBOL_401_133 = 401, /* $@133 */ + YYSYMBOL_402_134 = 402, /* $@134 */ + YYSYMBOL_opt_setraises = 403, /* opt_setraises */ + YYSYMBOL_404_135 = 404, /* $@135 */ + YYSYMBOL_405_136 = 405, /* $@136 */ + YYSYMBOL_opt_context = 406, /* opt_context */ + YYSYMBOL_407_137 = 407, /* $@137 */ + YYSYMBOL_408_138 = 408, /* $@138 */ + YYSYMBOL_at_least_one_string_literal = 409, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 410, /* string_literals */ + YYSYMBOL_411_139 = 411, /* $@139 */ + YYSYMBOL_typeid_dcl = 412, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 413, /* typeprefix_dcl */ + YYSYMBOL_component = 414, /* component */ + YYSYMBOL_component_forward_decl = 415, /* component_forward_decl */ + YYSYMBOL_component_decl = 416, /* component_decl */ + YYSYMBOL_417_140 = 417, /* @140 */ + YYSYMBOL_418_141 = 418, /* $@141 */ + YYSYMBOL_419_142 = 419, /* $@142 */ + YYSYMBOL_component_header = 420, /* component_header */ + YYSYMBOL_421_143 = 421, /* $@143 */ + YYSYMBOL_422_144 = 422, /* $@144 */ + YYSYMBOL_component_inheritance_spec = 423, /* component_inheritance_spec */ + YYSYMBOL_424_145 = 424, /* $@145 */ + YYSYMBOL_component_exports = 425, /* component_exports */ + YYSYMBOL_component_export = 426, /* component_export */ + YYSYMBOL_427_146 = 427, /* $@146 */ + YYSYMBOL_428_147 = 428, /* $@147 */ + YYSYMBOL_429_148 = 429, /* $@148 */ YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ - YYSYMBOL_434_153 = 434, /* $@153 */ - YYSYMBOL_435_154 = 435, /* $@154 */ - YYSYMBOL_436_155 = 436, /* $@155 */ - YYSYMBOL_provides_decl = 437, /* provides_decl */ - YYSYMBOL_interface_type = 438, /* interface_type */ - YYSYMBOL_uses_decl = 439, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 440, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 441, /* opt_multiple */ - YYSYMBOL_emits_decl = 442, /* emits_decl */ - YYSYMBOL_publishes_decl = 443, /* publishes_decl */ - YYSYMBOL_consumes_decl = 444, /* consumes_decl */ - YYSYMBOL_home_decl = 445, /* home_decl */ - YYSYMBOL_446_156 = 446, /* $@156 */ - YYSYMBOL_home_header = 447, /* home_header */ + YYSYMBOL_provides_decl = 434, /* provides_decl */ + YYSYMBOL_interface_type = 435, /* interface_type */ + YYSYMBOL_uses_decl = 436, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 437, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 438, /* opt_multiple */ + YYSYMBOL_emits_decl = 439, /* emits_decl */ + YYSYMBOL_publishes_decl = 440, /* publishes_decl */ + YYSYMBOL_consumes_decl = 441, /* consumes_decl */ + YYSYMBOL_home_decl = 442, /* home_decl */ + YYSYMBOL_443_153 = 443, /* $@153 */ + YYSYMBOL_home_header = 444, /* home_header */ + YYSYMBOL_445_154 = 445, /* $@154 */ + YYSYMBOL_446_155 = 446, /* $@155 */ + YYSYMBOL_447_156 = 447, /* $@156 */ YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ - YYSYMBOL_451_160 = 451, /* $@160 */ - YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_home_inheritance_spec = 454, /* home_inheritance_spec */ - YYSYMBOL_455_163 = 455, /* $@163 */ - YYSYMBOL_primary_key_spec = 456, /* primary_key_spec */ - YYSYMBOL_home_body = 457, /* home_body */ - YYSYMBOL_458_164 = 458, /* $@164 */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_home_exports = 460, /* home_exports */ - YYSYMBOL_home_export = 461, /* home_export */ - YYSYMBOL_462_166 = 462, /* $@166 */ - YYSYMBOL_463_167 = 463, /* $@167 */ - YYSYMBOL_factory_decl = 464, /* factory_decl */ - YYSYMBOL_465_168 = 465, /* $@168 */ - YYSYMBOL_466_169 = 466, /* $@169 */ - YYSYMBOL_finder_decl = 467, /* finder_decl */ - YYSYMBOL_468_170 = 468, /* $@170 */ - YYSYMBOL_469_171 = 469, /* $@171 */ - YYSYMBOL_event = 470, /* event */ - YYSYMBOL_event_forward_decl = 471, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 472, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 473, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 474, /* event_abs_decl */ - YYSYMBOL_475_172 = 475, /* $@172 */ - YYSYMBOL_476_173 = 476, /* $@173 */ - YYSYMBOL_477_174 = 477, /* $@174 */ - YYSYMBOL_event_abs_header = 478, /* event_abs_header */ - YYSYMBOL_event_custom_header = 479, /* event_custom_header */ - YYSYMBOL_event_plain_header = 480, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 481, /* event_rest_of_header */ - YYSYMBOL_482_175 = 482, /* $@175 */ - YYSYMBOL_event_decl = 483, /* event_decl */ - YYSYMBOL_484_176 = 484, /* @176 */ - YYSYMBOL_485_177 = 485, /* $@177 */ - YYSYMBOL_486_178 = 486, /* $@178 */ - YYSYMBOL_event_header = 487, /* event_header */ - YYSYMBOL_formal_parameter_type = 488, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 489, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 490, /* formal_parameters */ - YYSYMBOL_formal_parameter = 491, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 492, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 493, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 494, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 495, /* porttype_decl */ + YYSYMBOL_home_inheritance_spec = 451, /* home_inheritance_spec */ + YYSYMBOL_452_160 = 452, /* $@160 */ + YYSYMBOL_primary_key_spec = 453, /* primary_key_spec */ + YYSYMBOL_home_body = 454, /* home_body */ + YYSYMBOL_455_161 = 455, /* $@161 */ + YYSYMBOL_456_162 = 456, /* $@162 */ + YYSYMBOL_home_exports = 457, /* home_exports */ + YYSYMBOL_home_export = 458, /* home_export */ + YYSYMBOL_459_163 = 459, /* $@163 */ + YYSYMBOL_460_164 = 460, /* $@164 */ + YYSYMBOL_factory_decl = 461, /* factory_decl */ + YYSYMBOL_462_165 = 462, /* $@165 */ + YYSYMBOL_463_166 = 463, /* $@166 */ + YYSYMBOL_finder_decl = 464, /* finder_decl */ + YYSYMBOL_465_167 = 465, /* $@167 */ + YYSYMBOL_466_168 = 466, /* $@168 */ + YYSYMBOL_event = 467, /* event */ + YYSYMBOL_event_forward_decl = 468, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 469, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 470, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 471, /* event_abs_decl */ + YYSYMBOL_472_169 = 472, /* $@169 */ + YYSYMBOL_473_170 = 473, /* $@170 */ + YYSYMBOL_474_171 = 474, /* $@171 */ + YYSYMBOL_event_abs_header = 475, /* event_abs_header */ + YYSYMBOL_event_custom_header = 476, /* event_custom_header */ + YYSYMBOL_event_plain_header = 477, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 478, /* event_rest_of_header */ + YYSYMBOL_479_172 = 479, /* $@172 */ + YYSYMBOL_event_decl = 480, /* event_decl */ + YYSYMBOL_481_173 = 481, /* @173 */ + YYSYMBOL_482_174 = 482, /* $@174 */ + YYSYMBOL_483_175 = 483, /* $@175 */ + YYSYMBOL_event_header = 484, /* event_header */ + YYSYMBOL_formal_parameter_type = 485, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 486, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 487, /* formal_parameters */ + YYSYMBOL_formal_parameter = 488, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 489, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 490, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 491, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 492, /* porttype_decl */ + YYSYMBOL_493_176 = 493, /* $@176 */ + YYSYMBOL_494_177 = 494, /* @177 */ + YYSYMBOL_495_178 = 495, /* $@178 */ YYSYMBOL_496_179 = 496, /* $@179 */ - YYSYMBOL_497_180 = 497, /* @180 */ - YYSYMBOL_498_181 = 498, /* $@181 */ - YYSYMBOL_499_182 = 499, /* $@182 */ - YYSYMBOL_at_least_one_port_export = 500, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 501, /* port_exports */ - YYSYMBOL_port_export = 502, /* port_export */ - YYSYMBOL_503_183 = 503, /* $@183 */ - YYSYMBOL_extended_port_decl = 504, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 505, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 506, /* actual_parameters */ - YYSYMBOL_actual_parameter = 507, /* actual_parameter */ - YYSYMBOL_connector_decl = 508, /* connector_decl */ - YYSYMBOL_connector_header = 509, /* connector_header */ - YYSYMBOL_510_184 = 510, /* $@184 */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_connector_body = 512, /* connector_body */ - YYSYMBOL_513_186 = 513, /* $@186 */ - YYSYMBOL_514_187 = 514, /* $@187 */ - YYSYMBOL_connector_exports = 515, /* connector_exports */ - YYSYMBOL_connector_export = 516, /* connector_export */ - YYSYMBOL_517_188 = 517, /* $@188 */ - YYSYMBOL_518_189 = 518, /* $@189 */ - YYSYMBOL_519_190 = 519, /* $@190 */ - YYSYMBOL_520_191 = 520 /* $@191 */ + YYSYMBOL_at_least_one_port_export = 497, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 498, /* port_exports */ + YYSYMBOL_port_export = 499, /* port_export */ + YYSYMBOL_500_180 = 500, /* $@180 */ + YYSYMBOL_extended_port_decl = 501, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 502, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 503, /* actual_parameters */ + YYSYMBOL_actual_parameter = 504, /* actual_parameter */ + YYSYMBOL_connector_decl = 505, /* connector_decl */ + YYSYMBOL_connector_header = 506, /* connector_header */ + YYSYMBOL_507_181 = 507, /* $@181 */ + YYSYMBOL_508_182 = 508, /* $@182 */ + YYSYMBOL_connector_body = 509, /* connector_body */ + YYSYMBOL_510_183 = 510, /* $@183 */ + YYSYMBOL_511_184 = 511, /* $@184 */ + YYSYMBOL_connector_exports = 512, /* connector_exports */ + YYSYMBOL_connector_export = 513, /* connector_export */ + YYSYMBOL_514_185 = 514, /* $@185 */ + YYSYMBOL_515_186 = 515, /* $@186 */ + YYSYMBOL_516_187 = 516, /* $@187 */ + YYSYMBOL_517_188 = 517 /* $@188 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1038,16 +1035,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2105 +#define YYLAST 2099 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 403 +#define YYNNTS 400 /* YYNRULES -- Number of rules. */ -#define YYNRULES 614 +#define YYNRULES 611 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 907 +#define YYNSTATES 900 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1141,33 +1138,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3902, 3907, 3896, 3967, 4028, - 4041, 4045, 4039, 4129, 4196, 4205, 4195, 4219, 4229, 4233, - 4227, 4275, 4301, 4310, 4314, 4308, 4356, 4382, 4390, 4389, - 4432, 4442, 4460, 4468, 4472, 4467, 4532, 4533, 4538, 4542, - 4546, 4550, 4537, 4609, 4613, 4617, 4621, 4608, 4689, 4693, - 4725, 4729, 4688, 4746, 4750, 4811, 4815, 4745, 4852, 4857, - 4862, 4869, 4870, 4881, 4886, 4929, 4880, 4951, 4950, 4959, - 4958, 4969, 4974, 4972, 4978, 4983, 4987, 4982, 5026, 5025, - 5034, 5033, 5044, 5049, 5047, 5053, 5058, 5062, 5057, 5107, - 5114, 5115, 5116, 5223, 5227, 5231, 5239, 5243, 5238, 5252, - 5260, 5264, 5259, 5273, 5281, 5285, 5280, 5294, 5302, 5306, - 5301, 5315, 5322, 5334, 5332, 5355, 5362, 5392, 5431, 5432, - 5436, 5467, 5509, 5513, 5466, 5532, 5536, 5530, 5577, 5576, - 5584, 5591, 5606, 5607, 5612, 5611, 5621, 5620, 5630, 5629, - 5639, 5638, 5648, 5647, 5657, 5656, 5666, 5665, 5676, 5769, - 5775, 5800, 5907, 5916, 5920, 5927, 6002, 6074, 6150, 6149, - 6199, 6203, 6207, 6211, 6215, 6219, 6198, 6272, 6271, 6279, - 6286, 6291, 6299, 6303, 6298, 6313, 6314, 6318, 6320, 6319, - 6328, 6327, 6340, 6363, 6338, 6389, 6416, 6387, 6440, 6441, - 6442, 6446, 6447, 6451, 6480, 6512, 6556, 6560, 6510, 6577, - 6586, 6604, 6615, 6614, 6652, 6703, 6707, 6650, 6724, 6728, - 6735, 6739, 6743, 6747, 6751, 6755, 6759, 6763, 6767, 6771, - 6779, 6810, 6823, 6830, 6855, 6873, 6880, 6895, 6902, 6912, - 6916, 6935, 6943, 6911, 6958, 6973, 6977, 6978, 6982, 6983, - 6985, 6984, 6995, 7062, 7110, 7126, 7139, 7146, 7205, 7213, - 7217, 7212, 7278, 7282, 7277, 7295, 7296, 7301, 7300, 7309, - 7308, 7317, 7316, 7325, 7324 + 3850, 3848, 3854, 3858, 3896, 3956, 4017, 4030, 4034, 4028, + 4118, 4185, 4194, 4184, 4208, 4218, 4222, 4216, 4264, 4290, + 4299, 4303, 4297, 4345, 4371, 4379, 4378, 4421, 4431, 4449, + 4457, 4461, 4456, 4521, 4522, 4527, 4531, 4535, 4539, 4526, + 4598, 4602, 4606, 4610, 4597, 4678, 4682, 4714, 4718, 4677, + 4735, 4739, 4800, 4804, 4734, 4841, 4846, 4851, 4858, 4859, + 4870, 4875, 4918, 4869, 4940, 4939, 4948, 4947, 4958, 4963, + 4961, 4967, 4972, 4976, 4971, 5015, 5014, 5023, 5022, 5033, + 5038, 5036, 5042, 5047, 5051, 5046, 5096, 5103, 5104, 5105, + 5212, 5216, 5220, 5228, 5232, 5227, 5241, 5249, 5253, 5248, + 5262, 5270, 5274, 5269, 5283, 5291, 5295, 5290, 5304, 5311, + 5323, 5321, 5344, 5351, 5381, 5420, 5421, 5425, 5456, 5498, + 5502, 5455, 5521, 5525, 5519, 5566, 5565, 5573, 5580, 5595, + 5596, 5601, 5600, 5610, 5609, 5619, 5618, 5628, 5627, 5637, + 5636, 5646, 5645, 5655, 5654, 5665, 5758, 5764, 5789, 5896, + 5905, 5909, 5916, 5991, 6063, 6139, 6138, 6188, 6192, 6196, + 6200, 6204, 6208, 6187, 6261, 6260, 6268, 6275, 6280, 6288, + 6292, 6287, 6302, 6303, 6307, 6309, 6308, 6317, 6316, 6329, + 6352, 6327, 6378, 6405, 6376, 6429, 6430, 6431, 6435, 6436, + 6440, 6469, 6501, 6545, 6549, 6499, 6566, 6575, 6593, 6604, + 6603, 6641, 6692, 6696, 6639, 6713, 6717, 6724, 6728, 6732, + 6736, 6740, 6744, 6748, 6752, 6756, 6760, 6768, 6799, 6812, + 6819, 6844, 6862, 6869, 6884, 6891, 6901, 6905, 6924, 6932, + 6900, 6947, 6962, 6966, 6967, 6971, 6972, 6974, 6973, 6984, + 7051, 7099, 7115, 7128, 7135, 7194, 7202, 7206, 7201, 7267, + 7271, 7266, 7284, 7285, 7290, 7289, 7298, 7297, 7306, 7305, + 7314, 7313 }; #endif @@ -1251,48 +1248,47 @@ static const char *const yytname[] = "$@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", - "map_type_spec", "$@91", "$@92", "$@93", "map_type", - "sequence_type_spec", "$@94", "$@95", "seq_head", "$@96", "$@97", - "fixed_type_spec", "string_type_spec", "$@98", "$@99", "string_head", - "wstring_type_spec", "$@100", "$@101", "wstring_head", - "array_declarator", "$@102", "at_least_one_array_dim", "array_dims", - "array_dim", "$@103", "$@104", "attribute", "attribute_readonly", - "$@105", "$@106", "$@107", "$@108", "attribute_readwrite", "$@109", - "$@110", "$@111", "$@112", "exception", "$@113", "@114", "$@115", - "$@116", "operation", "$@117", "$@118", "$@119", "$@120", - "opt_op_attribute", "op_type_spec", "init_decl", "$@121", "@122", - "$@123", "init_parameter_list", "$@124", "$@125", - "at_least_one_in_parameter", "in_parameters", "$@126", "in_parameter", - "$@127", "$@128", "parameter_list", "$@129", "$@130", - "at_least_one_parameter", "parameters", "$@131", "parameter", "$@132", - "$@133", "param_type_spec", "direction", "opt_raises", "$@134", "$@135", - "opt_getraises", "$@136", "$@137", "opt_setraises", "$@138", "$@139", - "opt_context", "$@140", "$@141", "at_least_one_string_literal", - "string_literals", "$@142", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@143", "$@144", "$@145", - "component_header", "$@146", "$@147", "component_inheritance_spec", - "$@148", "component_exports", "component_export", "$@149", "$@150", - "$@151", "$@152", "$@153", "$@154", "$@155", "provides_decl", + "map_type_spec", "map_type", "sequence_type_spec", "$@91", "$@92", + "seq_head", "$@93", "$@94", "fixed_type_spec", "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", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@156", - "home_header", "$@157", "$@158", "$@159", "$@160", "$@161", "$@162", - "home_inheritance_spec", "$@163", "primary_key_spec", "home_body", - "$@164", "$@165", "home_exports", "home_export", "$@166", "$@167", - "factory_decl", "$@168", "$@169", "finder_decl", "$@170", "$@171", + "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", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@172", "$@173", "$@174", + "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@175", "event_decl", "@176", "$@177", "$@178", + "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@179", "@180", "$@181", - "$@182", "at_least_one_port_export", "port_exports", "port_export", - "$@183", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@176", "@177", "$@178", + "$@179", "at_least_one_port_export", "port_exports", "port_export", + "$@180", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@184", "$@185", "connector_body", "$@186", "$@187", - "connector_exports", "connector_export", "$@188", "$@189", "$@190", - "$@191", YY_NULLPTR + "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", + "connector_exports", "connector_export", "$@185", "$@186", "$@187", + "$@188", YY_NULLPTR }; static const char * @@ -1302,12 +1298,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-687) +#define YYPACT_NINF (-673) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-583) +#define YYTABLE_NINF (-580) #define yytable_value_is_error(Yyn) \ 0 @@ -1316,97 +1312,96 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -687, 100, 1332, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, 57, 118, 64, 76, -687, 57, - 57, -687, 52, 52, -687, -687, 57, -687, -687, 33, - -687, 201, 84, 92, -687, -687, -1, -687, -687, -687, - -687, -687, -687, 663, -687, -687, -687, -687, -687, 1534, - 55, -687, -687, 96, -687, 133, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, 121, -687, -687, -687, 121, -687, - -687, 122, 150, 2015, 52, 57, 1892, 57, 57, 57, - 57, -687, -687, -687, 0, 57, 7, -687, 90, 57, - -687, 121, 57, 152, 155, 57, -687, -687, 37, -687, - 87, 253, -687, 172, -687, 186, 185, 1648, -687, -687, - -687, 188, 238, -687, 190, 192, 193, 97, -687, 98, - -687, -687, -687, -687, -687, -687, 194, -687, -687, -687, - 197, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, 200, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - 133, -687, -687, -687, -687, 69, -687, -687, 198, -687, - 199, 196, 205, -687, 52, 207, 208, 206, -687, 209, - 210, 211, 212, 213, 215, 216, 219, -687, -687, -687, - 221, 223, -687, -687, -687, -687, 200, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 200, -687, -687, -687, - -687, -687, -687, -687, -687, 224, -687, 227, -687, -687, - 229, -687, 310, -687, -687, -687, -687, 49, -687, -687, - -687, 2015, -687, -687, -687, -687, 234, -687, -687, -687, - -687, 320, -687, -687, 60, 240, -687, -687, -687, -687, - -687, -687, -687, -687, 337, -687, 187, 246, -687, 248, - 301, -687, -687, -687, -687, -687, -687, 200, -687, -687, - 236, -687, -687, -687, -687, -687, -687, -687, -687, -687, - 301, 254, 255, -687, -687, -687, 57, 57, 256, 259, - -687, -687, -687, 249, -687, 310, 261, -687, -687, -687, - -687, -687, 352, -687, 260, 263, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 419, 419, 419, 187, - 200, -687, -687, 262, 258, 264, 111, 109, 99, -687, - -687, -687, -687, -687, 52, -687, -687, -687, -687, 265, - -687, 1624, 266, -687, 52, -687, 187, 187, 187, 267, - -687, -687, -687, -687, -687, -687, -687, 169, -687, -13, - -687, -687, -687, -687, -687, -687, -687, -687, 52, 301, - -687, -687, -687, -687, 229, 711, 1447, 271, 273, -687, - 1648, -687, -687, -687, 247, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 269, 57, -687, 200, 1032, - -687, 844, 187, -687, -687, -687, -687, -687, -687, -687, - -687, 187, -687, 1397, -687, -687, -687, 59, 566, -687, - -687, -687, -687, 54, 316, 52, 52, -687, -687, -687, - -687, -687, 54, -687, 277, -687, 275, -687, 281, -687, - -687, 1126, 200, -687, 52, 301, -687, -687, -687, -687, - 283, -687, -687, 57, -687, -687, 290, 289, 386, 292, - -687, -687, 258, 264, 111, 109, 109, 99, 99, -687, - -687, -687, -687, -687, 294, -687, -687, -687, 296, -687, - -687, 1804, -687, -687, -687, -687, 1927, -687, -687, -687, - -687, -687, 299, -687, 1839, -687, -687, 1714, -687, 304, - 1624, 297, 307, 306, 311, 314, 312, -687, 302, -687, - 315, -687, -687, -687, 326, 328, 996, 52, 52, 52, - 184, -687, 330, -687, -687, -687, -687, -687, -687, -687, - 57, 57, -687, 331, -687, -687, -687, 1220, 938, 387, - 1980, -687, 200, 310, -687, -687, 53, 62, 334, 336, - 338, 310, 340, -687, -687, 3, -687, 50, -687, -687, - 335, 339, 200, -687, 346, 117, 1892, -687, 409, -687, - -687, -687, -687, 60, -687, 349, -687, 350, -687, 351, - 353, 354, 355, -687, 200, -687, -687, -687, -687, -687, - 357, 358, 446, -687, -687, -687, 359, -687, -687, 187, - -687, -687, -687, -687, 187, -687, 310, -687, 360, 57, - -687, -687, 450, 200, -687, -687, -687, -687, -687, -687, - 71, 71, 71, -687, 362, -687, 364, 365, 368, 371, - 373, 380, -687, -687, -687, 381, 382, 384, 385, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, 187, - -687, -687, -687, 57, -687, 388, 383, 390, -687, 423, - 392, 117, -687, 395, 404, -687, 405, 187, 406, 1509, - -687, 52, -687, -687, -687, -687, -687, -687, 505, -687, - -687, -687, -687, 410, -687, -687, 312, 315, -687, -687, - 399, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 396, 396, -687, -687, -687, -687, 1980, 57, -687, - 187, 400, -687, -687, -687, -687, -687, -687, -687, 418, - -687, -687, -687, -687, -687, 52, -687, -687, -687, -687, - 422, 200, -687, 396, -687, 420, -687, 425, -687, 484, - -687, -687, -687, -687, -687, -687, -687, -687, 52, -687, - 200, 424, 1270, -687, 411, -687, -687, -687, 426, 412, - 490, 493, 493, 57, 473, 431, 428, -687, 200, 437, - -687, -687, 427, -687, 493, -687, -687, -687, 432, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 480, 538, - 434, 176, 493, -687, 166, 1980, -687, 440, 436, 493, - 438, 483, 57, 52, -687, -687, 452, -687, -687, -687, - -687, -687, 441, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 200, -687, 448, -687, 454, 1980, 515, 461, 187, - 457, 463, 58, -687, 202, 57, 490, 52, 52, 449, - 57, 538, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 1599, -687, -687, -687, 445, 451, -687, -687, -687, - 176, 57, 458, 462, -687, -687, -687, -687, 52, -687, - -687, -687, -687, 57, 468, 453, 495, -687, -687, -687, - -687, 475, 488, -687, -687, 519, -687 + -673, 74, 1413, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 54, 92, 46, 52, -673, 54, + 54, -673, 56, 56, -673, -673, 54, -673, -673, 8, + -673, 97, 25, 60, -673, -673, 12, -673, -673, -673, + -673, -673, -673, 723, -673, -673, -673, -673, -673, 1615, + 19, -673, -673, 72, -673, 123, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 51, -673, -673, -673, 51, -673, + -673, 88, 82, 2009, 56, 54, 1886, 54, 54, 54, + 54, -673, -673, -673, 22, 54, 64, -673, 71, 54, + -673, 51, 54, 103, 107, 54, -673, -673, 0, -673, + 7, 164, -673, 96, -673, 118, 128, 469, -673, -673, + -673, 130, 173, -673, 122, 133, 141, 105, -673, 166, + -673, -673, -673, -673, -673, -673, 142, -673, -673, -673, + 151, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, 168, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 123, -673, -673, -673, -673, 89, -673, -673, 180, -673, + 184, 174, 192, -673, 56, 194, 195, 199, -673, 211, + 212, 213, 214, 217, 215, 219, 221, -673, -673, -673, + 225, 234, -673, -673, -673, -673, 168, -673, -673, -673, + -673, -673, -673, -673, -673, -673, 168, -673, -673, -673, + -673, -673, -673, -673, -673, 240, -673, 245, -673, -673, + 242, -673, 342, -673, -673, -673, -673, 47, -673, -673, + -673, 2009, -673, -673, -673, -673, 246, -673, -673, -673, + -673, 344, -673, -673, 185, 247, -673, -673, -673, -673, + -673, -673, -673, -673, 341, -673, 484, 251, -673, 304, + -673, -673, -673, -673, -673, -673, 168, -673, -673, 239, + -673, -673, -673, -673, -673, -673, -673, -673, -673, 304, + 257, 262, -673, -673, -673, 54, 54, 264, 265, -673, + -673, -673, 267, -673, 342, 268, -673, -673, -673, -673, + -673, 356, -673, 263, 269, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 226, 226, 226, 484, 168, + -673, -673, 270, 272, 260, 157, 145, 66, -673, -673, + -673, -673, -673, 56, -673, -673, -673, -673, 271, -673, + 1434, 273, 56, -673, 484, 484, 484, 254, -673, -673, + -673, -673, -673, -673, -673, 186, -673, 11, -673, -673, + -673, -673, -673, -673, -673, -673, 56, 304, -673, -673, + -673, -673, 242, 1341, 1528, 274, 283, -673, 469, -673, + -673, -673, 255, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 282, 54, -673, 168, 1118, -673, 837, + 484, -673, -673, -673, -673, -673, -673, -673, 484, -673, + 1478, -673, -673, -673, 387, 1025, -673, -673, -673, -673, + 69, 312, 56, 56, -673, -673, -673, -673, -673, 69, + -673, 287, -673, 288, -673, 284, -673, -673, 1212, 168, + -673, 56, 304, -673, -673, -673, -673, 296, -673, -673, + 54, -673, -673, 299, 305, 400, 308, -673, -673, 272, + 260, 157, 145, 145, 66, 66, -673, -673, -673, -673, + -673, 306, -673, -673, -673, 313, -673, -673, 1798, -673, + -673, -673, -673, 1921, -673, -673, -673, -673, -673, 314, + -673, 1833, -673, -673, 1708, -673, 315, 1434, 94, 320, + 324, 326, 303, -673, 300, -673, 311, -673, -673, -673, + 329, 331, 125, 56, 56, 56, 171, -673, 332, -673, + -673, -673, -673, -673, -673, -673, 54, 54, -673, 333, + -673, -673, -673, 1306, 931, 406, 1974, -673, 168, 342, + -673, -673, 65, 68, 345, 346, 348, 342, 349, -673, + -673, 33, -673, 48, -673, -673, 352, 353, 168, -673, + 355, 132, 1886, -673, 411, -673, -673, -673, -673, 185, + -673, 350, -673, 358, -673, 361, 362, 365, 370, -673, + 168, -673, -673, -673, -673, -673, 377, 383, 479, -673, + -673, -673, 386, -673, -673, -673, 484, -673, -673, -673, + 484, -673, 342, -673, 391, 54, -673, -673, 476, 168, + -673, -673, -673, -673, -673, -673, 70, 70, 70, -673, + 394, -673, 397, 398, 399, 401, 402, 407, -673, -673, + -673, 408, 409, 410, 412, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 484, -673, -673, -673, 54, + -673, 413, 404, 414, -673, 441, 415, 132, -673, 420, + 421, -673, 423, 484, 424, 1590, -673, 56, -673, -673, + -673, -673, -673, -673, 507, -673, -673, -673, -673, 427, + -673, 303, 311, -673, -673, 418, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, 416, 416, -673, -673, + -673, -673, 1974, 54, -673, 484, 422, -673, -673, -673, + -673, -673, -673, -673, 425, -673, -673, -673, -673, -673, + 56, -673, -673, -673, -673, 428, 168, -673, 416, -673, + -673, 432, -673, 500, -673, -673, -673, -673, -673, -673, + -673, -673, 56, -673, 168, 440, 566, -673, 429, -673, + -673, 443, 430, 506, 505, 505, 54, 491, 445, 434, + -673, 168, 449, -673, -673, 437, -673, 505, -673, -673, + -673, 438, -673, -673, -673, -673, -673, -673, -673, -673, + -673, 494, 552, 451, 198, 505, -673, 81, 1974, -673, + 453, 454, 505, 455, 512, 54, 56, -673, -673, 475, + -673, -673, -673, -673, -673, 464, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 168, -673, 477, -673, 478, 1974, + 542, 486, 484, 483, 489, 57, -673, 238, 54, 506, + 56, 56, 481, 54, 552, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 1680, -673, -673, -673, 485, 487, + -673, -673, -673, 198, 54, 482, 488, -673, -673, -673, + -673, 56, -673, -673, -673, -673, 54, 502, 490, 515, + -673, -673, -673, -673, 496, 498, -673, -673, 527, -673 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1415,142 +1410,140 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 398, 0, 0, 0, 0, 94, 0, - 0, 510, 0, 0, 579, 599, 0, 6, 7, 42, + 294, 309, 344, 395, 0, 0, 0, 0, 94, 0, + 0, 507, 0, 0, 576, 596, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 469, 468, 471, 30, 508, 32, - 540, 542, 541, 539, 77, 558, 559, 538, 77, 34, + 20, 14, 16, 28, 466, 465, 468, 30, 505, 32, + 537, 539, 538, 536, 77, 555, 556, 535, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 475, 551, 0, 142, 138, 0, 137, + 82, 77, 0, 472, 548, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, - 0, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 361, + 0, 369, 374, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, - 376, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 545, 554, - 0, 0, 602, 598, 39, 287, 160, 148, 152, 156, + 0, 252, 253, 250, 246, 0, 249, 247, 368, 248, + 373, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 549, 542, 551, + 0, 0, 599, 595, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 399, 73, 549, 74, 0, 550, 95, - 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, - 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, - 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, - 99, 363, 360, 368, 373, 19, 11, 214, 13, 297, - 0, 21, 15, 17, 29, 472, 31, 522, 509, 33, - 99, 0, 0, 35, 37, 606, 0, 0, 0, 0, - 89, 478, 476, 519, 139, 0, 0, 600, 212, 200, - 4, 569, 0, 573, 0, 570, 186, 187, 188, 190, - 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, - 183, 597, 161, 162, 163, 165, 167, 169, 172, 175, - 179, 184, 596, 62, 0, 114, 105, 278, 196, 0, - 365, 0, 0, 355, 0, 93, 0, 0, 0, 217, - 213, 312, 483, 526, 553, 546, 555, 603, 149, 266, - 232, 259, 260, 261, 267, 346, 400, 114, 0, 99, - 517, 512, 141, 581, 480, 0, 0, 3, 0, 49, - 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 594, 0, 76, 136, 0, - 113, 0, 0, 213, 359, 213, 213, 98, 361, 369, - 374, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 388, 393, 0, 504, 0, 0, 611, 386, 387, - 607, 609, 0, 613, 0, 605, 0, 213, 256, 213, - 302, 0, 479, 477, 0, 99, 587, 601, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 571, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 408, 409, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 413, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 0, 0, 0, 0, 137, 218, 0, 219, - 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 494, 0, 482, 484, 486, 488, 490, 492, 496, - 0, 0, 527, 0, 525, 528, 530, 0, 0, 0, - 0, 500, 499, 0, 503, 502, 0, 0, 0, 0, - 0, 0, 0, 604, 150, 0, 257, 0, 347, 352, - 213, 0, 518, 513, 586, 213, 0, 202, 210, 203, - 45, 574, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 412, 442, 439, 440, 441, 403, 411, - 0, 0, 0, 87, 112, 103, 0, 367, 366, 0, - 356, 362, 370, 375, 0, 216, 0, 220, 0, 0, - 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 481, 0, 474, 0, 0, 0, 0, - 0, 0, 532, 535, 524, 0, 0, 0, 0, 389, - 394, 498, 592, 593, 612, 608, 610, 501, 614, 0, - 383, 379, 382, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 590, 0, 0, 585, 0, 0, 0, 0, - 595, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 414, 109, 0, 213, 223, 0, 222, 308, 305, - 0, 507, 505, 506, 495, 485, 487, 489, 491, 493, - 497, 0, 0, 529, 531, 548, 557, 0, 0, 151, - 0, 380, 258, 348, 350, 402, 514, 583, 584, 0, - 588, 589, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 404, 0, 358, 0, 221, 0, 314, 417, - 533, 536, 390, 395, 265, 384, 381, 213, 0, 591, - 58, 0, 0, 57, 0, 415, 357, 306, 0, 0, - 0, 449, 449, 0, 453, 262, 0, 351, 515, 0, - 52, 54, 430, 405, 449, 315, 418, 425, 0, 424, - 446, 534, 537, 391, 450, 396, 263, 385, 521, 0, - 0, 0, 449, 416, 0, 0, 420, 421, 0, 449, - 0, 457, 0, 0, 516, 578, 0, 577, 429, 443, - 444, 445, 0, 435, 436, 406, 330, 337, 335, 316, - 326, 327, 334, 426, 422, 447, 392, 451, 454, 397, - 264, 520, 59, 575, 431, 432, 0, 461, 0, 0, - 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, - 0, 0, 433, 437, 458, 407, 331, 338, 336, 317, - 325, 0, 333, 427, 423, 0, 0, 455, 60, 576, - 0, 0, 0, 0, 340, 328, 448, 452, 0, 434, - 438, 459, 339, 0, 0, 0, 0, 341, 329, 456, - 465, 0, 462, 460, 463, 0, 464 + 295, 310, 345, 396, 73, 546, 74, 0, 547, 95, + 477, 508, 0, 463, 140, 464, 577, 0, 197, 43, + 25, 0, 562, 558, 559, 564, 561, 565, 563, 560, + 557, 0, 48, 569, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 213, 99, + 360, 357, 365, 370, 19, 11, 214, 13, 297, 0, + 21, 15, 17, 29, 469, 31, 519, 506, 33, 99, + 0, 0, 35, 37, 603, 0, 0, 0, 0, 89, + 475, 473, 516, 139, 0, 0, 597, 212, 200, 4, + 566, 0, 570, 0, 567, 186, 187, 188, 190, 193, + 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, + 594, 161, 162, 163, 165, 167, 169, 172, 175, 179, + 184, 593, 62, 0, 114, 105, 278, 196, 0, 362, + 0, 0, 0, 93, 0, 0, 0, 217, 213, 312, + 480, 523, 550, 543, 552, 600, 149, 266, 232, 259, + 260, 261, 267, 346, 397, 114, 0, 99, 514, 509, + 141, 578, 477, 0, 0, 3, 0, 49, 0, 180, + 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 591, 0, 76, 136, 0, 113, 0, + 0, 213, 356, 213, 98, 358, 366, 371, 0, 215, + 0, 298, 302, 213, 213, 0, 114, 105, 385, 390, + 0, 501, 0, 0, 608, 383, 384, 604, 606, 0, + 610, 0, 602, 0, 213, 256, 213, 302, 0, 476, + 474, 0, 99, 584, 598, 204, 198, 0, 206, 199, + 0, 201, 207, 0, 0, 0, 0, 568, 185, 164, + 166, 168, 170, 171, 173, 174, 176, 177, 178, 213, + 63, 133, 131, 405, 406, 0, 116, 123, 0, 117, + 127, 125, 129, 0, 119, 121, 410, 111, 110, 0, + 104, 0, 106, 107, 0, 108, 0, 0, 0, 0, + 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, + 0, 213, 0, 0, 0, 0, 0, 491, 0, 479, + 481, 483, 485, 487, 489, 493, 0, 0, 524, 0, + 522, 525, 527, 0, 0, 0, 0, 497, 496, 0, + 500, 499, 0, 0, 0, 0, 0, 0, 0, 601, + 150, 0, 257, 0, 347, 352, 213, 0, 515, 510, + 583, 213, 0, 202, 210, 203, 45, 571, 50, 0, + 134, 0, 69, 0, 115, 0, 0, 0, 0, 409, + 439, 436, 437, 438, 400, 408, 0, 0, 0, 87, + 112, 103, 0, 364, 363, 354, 0, 359, 367, 372, + 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, + 318, 319, 320, 321, 313, 322, 0, 0, 0, 478, + 0, 471, 0, 0, 0, 0, 0, 0, 529, 532, + 521, 0, 0, 0, 0, 386, 391, 495, 589, 590, + 609, 605, 607, 498, 611, 0, 380, 376, 379, 0, + 353, 0, 349, 0, 91, 0, 0, 0, 587, 0, + 0, 582, 0, 0, 0, 0, 592, 0, 132, 124, + 118, 128, 126, 130, 0, 120, 122, 411, 109, 0, + 223, 0, 222, 308, 305, 0, 504, 502, 503, 492, + 482, 484, 486, 488, 490, 494, 0, 0, 526, 528, + 545, 554, 0, 0, 151, 0, 377, 258, 348, 350, + 399, 511, 580, 581, 0, 585, 586, 205, 209, 208, + 0, 56, 42, 51, 55, 0, 135, 401, 0, 355, + 221, 0, 314, 414, 530, 533, 387, 392, 265, 381, + 378, 213, 0, 588, 58, 0, 0, 57, 0, 412, + 306, 0, 0, 0, 446, 446, 0, 450, 262, 0, + 351, 512, 0, 52, 54, 427, 402, 446, 315, 415, + 422, 0, 421, 443, 531, 534, 388, 447, 393, 263, + 382, 518, 0, 0, 0, 446, 413, 0, 0, 417, + 418, 0, 446, 0, 454, 0, 0, 513, 575, 0, + 574, 426, 440, 441, 442, 0, 432, 433, 403, 330, + 337, 335, 316, 326, 327, 334, 423, 419, 444, 389, + 448, 451, 394, 264, 517, 59, 572, 428, 429, 0, + 458, 0, 0, 0, 0, 0, 213, 332, 0, 0, + 0, 0, 0, 0, 0, 430, 434, 455, 404, 331, + 338, 336, 317, 325, 0, 333, 424, 420, 0, 0, + 452, 60, 573, 0, 0, 0, 0, 340, 328, 445, + 449, 0, 431, 435, 456, 339, 0, 0, 0, 0, + 341, 329, 453, 462, 0, 459, 457, 460, 0, 461 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -687, -687, 286, 293, 553, -603, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -597, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -158, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 225, -687, - -687, 86, -687, -687, -687, 589, -687, -687, -687, -687, - -687, -687, -687, 592, -687, 257, -687, -687, -247, -687, - -687, 179, 103, -687, -687, -687, -319, -687, -360, -687, - -687, -687, -687, -687, -687, -687, -687, -340, -687, -687, - -22, -687, -687, -188, -10, -687, 17, -687, -687, -687, - -687, -191, -47, -236, -687, 220, 218, 222, -123, -122, - -176, -69, -687, -326, -687, -687, -687, -687, -687, -687, - -687, -687, 13, -89, 567, -687, -687, -687, -687, -81, - 2, 18, -687, 44, -687, -31, -304, -469, -687, -687, - -687, 4, -687, -687, -621, -151, -687, -687, -7, -687, - -66, -687, -687, -43, -42, -57, -55, -50, 239, -687, - -40, -687, -38, -687, -687, -687, -687, 175, 268, 123, - -687, -687, -687, -37, -687, -32, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -226, -687, -687, -687, -687, - -687, -225, -687, -687, -687, -687, -687, -687, -687, -41, - -687, -687, -687, -687, -687, -687, -687, -125, -687, -687, - -687, -687, -377, -687, -687, -687, -687, -687, -687, -687, - -75, -687, -687, -687, -70, -687, -687, -687, -687, -687, - -687, -687, -88, -687, -687, -333, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 20, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -628, -687, -687, -687, -687, -687, -222, -687, - -687, -687, -687, -687, -687, -687, -687, -245, -687, -687, - -513, -687, -686, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, 22, 23, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 252, -687, - -687, 107, -687, -687, -687, -687, -687, -687, -687, -332, - 203, -331, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, 560, -687, -687, -687, -687, -687, -687, - -687, -687, -687, 250, -687, -687, -220, -687, -687, -687, - -687, -687, -687, -687, -28, -687, 272, -687, -687, 61, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687 + -673, -673, 295, 297, 563, -619, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -606, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -142, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, 261, -673, + -673, 58, -673, -673, -673, 598, -673, -673, -673, -673, + -673, -673, -673, 602, -673, 266, -673, -673, -246, -673, + -673, 197, 115, -673, -673, -673, -322, -673, -362, -673, + -673, -673, -673, -673, -673, -673, -673, -335, -673, -673, + -22, -673, -673, -192, -10, -673, 16, -673, -673, -673, + -673, -213, -34, -229, -673, 229, 231, 232, -109, -103, + -156, -53, -673, -320, -673, -673, -673, -673, -673, -673, + -673, -673, 13, -88, 576, -673, -673, -673, -673, -64, + 20, 6, -673, 61, -673, -31, -306, -462, -673, -673, + -673, 14, -673, -673, -617, -132, -673, -673, -7, -673, + -57, -673, -673, -45, -42, -56, -54, -50, 252, -673, + -40, -673, -38, -673, -673, -673, -673, 189, 286, 139, + -673, -673, -673, -37, -673, -32, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -204, -673, -673, -673, -673, + -673, -202, -673, -673, -673, -673, -673, -673, -673, -41, + -673, -673, -673, -673, -673, -673, -673, -105, -673, 235, + -673, -673, -673, -673, -673, -673, -673, -70, -673, -673, + -673, -69, -673, -673, -673, -673, -673, -673, -673, -67, + -673, -673, -343, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, 17, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -647, + -673, -673, -673, -673, -673, -199, -673, -673, -673, -673, + -673, -673, -673, -673, -226, -673, -673, -507, -673, -672, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 18, 21, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 275, -673, -673, 126, -673, + -673, -673, -673, -673, -673, -673, -333, 220, -328, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 573, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 276, -673, -673, -201, -673, -673, -673, -673, -673, -673, + -673, -13, -673, 291, -673, -673, 79, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1558,45 +1551,44 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, - 314, 469, 679, 761, 738, 762, 739, 740, 779, 860, - 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, - 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, - 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, - 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, - 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, - 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, - 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, - 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, - 52, 370, 448, 663, 371, 753, 775, 812, 372, 373, + 82, 29, 84, 30, 115, 309, 464, 31, 32, 117, + 313, 466, 675, 755, 733, 756, 734, 735, 772, 853, + 33, 118, 404, 34, 35, 124, 344, 485, 36, 85, + 37, 151, 343, 38, 39, 40, 126, 345, 499, 41, + 227, 375, 567, 42, 269, 43, 102, 258, 353, 44, + 45, 409, 500, 602, 501, 502, 407, 408, 486, 585, + 596, 597, 583, 587, 586, 588, 581, 405, 481, 677, + 329, 232, 304, 109, 367, 46, 487, 83, 295, 443, + 655, 207, 330, 347, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 348, 48, 308, 383, 459, 572, 460, + 461, 674, 488, 50, 307, 357, 419, 514, 515, 613, + 516, 489, 86, 218, 296, 219, 154, 155, 156, 157, + 52, 368, 445, 659, 369, 747, 768, 805, 370, 371, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, - 619, 747, 618, 55, 88, 56, 280, 426, 700, 768, - 804, 851, 628, 829, 852, 830, 853, 894, 848, 831, - 854, 832, 850, 849, 883, 885, 893, 57, 58, 59, - 89, 298, 449, 665, 568, 666, 757, 569, 173, 269, - 416, 694, 352, 174, 356, 513, 175, 267, 413, 176, - 177, 357, 514, 178, 179, 358, 515, 180, 374, 447, - 661, 721, 662, 720, 776, 493, 438, 549, 717, 773, - 809, 439, 550, 718, 774, 811, 494, 90, 299, 450, - 667, 495, 688, 764, 802, 847, 496, 598, 508, 602, - 743, 784, 750, 769, 770, 788, 807, 856, 789, 805, - 855, 783, 800, 801, 822, 845, 880, 823, 846, 881, - 599, 824, 791, 808, 857, 795, 810, 858, 839, 859, - 888, 865, 882, 896, 901, 902, 905, 497, 498, 63, - 64, 65, 193, 362, 532, 66, 230, 379, 302, 378, - 427, 533, 636, 637, 638, 639, 640, 634, 641, 534, - 553, 535, 442, 555, 536, 537, 538, 67, 195, 68, - 105, 303, 455, 669, 758, 798, 381, 454, 814, 288, - 363, 543, 428, 544, 645, 646, 545, 711, 771, 546, - 712, 772, 69, 70, 71, 72, 73, 291, 429, 647, - 74, 75, 76, 198, 290, 77, 292, 430, 648, 78, - 251, 252, 315, 253, 816, 843, 817, 79, 111, 306, - 456, 670, 574, 575, 675, 729, 539, 255, 405, 342, - 80, 81, 112, 384, 203, 295, 444, 367, 445, 559, - 560, 558, 562 + 53, 87, 54, 187, 358, 520, 421, 521, 617, 519, + 615, 741, 614, 55, 88, 56, 279, 423, 695, 761, + 797, 844, 624, 822, 845, 823, 846, 887, 841, 824, + 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, + 89, 297, 446, 661, 564, 662, 751, 565, 173, 351, + 174, 354, 509, 175, 267, 411, 176, 177, 355, 510, + 178, 179, 356, 511, 180, 372, 444, 657, 716, 658, + 715, 769, 490, 435, 545, 712, 766, 802, 436, 546, + 713, 767, 804, 491, 90, 298, 447, 663, 492, 684, + 758, 795, 840, 493, 594, 505, 598, 738, 777, 744, + 762, 763, 781, 800, 849, 782, 798, 848, 776, 793, + 794, 815, 838, 873, 816, 839, 874, 595, 817, 784, + 801, 850, 788, 803, 851, 832, 852, 881, 858, 875, + 889, 894, 895, 898, 494, 495, 63, 64, 65, 193, + 360, 528, 66, 230, 377, 301, 376, 424, 529, 632, + 633, 634, 635, 636, 630, 637, 530, 549, 531, 439, + 551, 532, 533, 534, 67, 195, 68, 105, 302, 452, + 665, 752, 791, 379, 451, 807, 287, 361, 539, 425, + 540, 641, 642, 541, 706, 764, 542, 707, 765, 69, + 70, 71, 72, 73, 290, 426, 643, 74, 75, 76, + 198, 289, 77, 291, 427, 644, 78, 251, 252, 314, + 253, 809, 836, 810, 79, 111, 305, 453, 666, 570, + 571, 671, 724, 535, 255, 403, 341, 80, 81, 112, + 382, 203, 294, 441, 365, 442, 555, 556, 554, 558 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1604,432 +1596,430 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, - 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, - 51, 152, 60, 237, 61, 62, 211, 595, 212, 254, - 418, 419, 420, 213, 437, 440, 441, 650, 511, 512, - 209, 210, 722, 364, 304, 172, 168, 414, 169, 170, - 311, 506, 307, 664, 171, 106, 652, 106, 451, 826, - 91, 206, 216, 106, 152, 653, 47, 51, 542, 60, - 8, 61, 62, 551, 106, 217, 736, 220, 221, 222, - 223, 595, 737, -378, 751, 225, 792, 827, 828, 228, - 431, 432, 229, 394, 531, 231, -144, -145, 803, 184, - 4, 122, 122, -378, -146, 262, 264, 265, 263, 122, - 547, 527, 528, 233, 18, 765, 825, 382, 95, 660, - 433, 529, 123, 836, 8, 434, 18, 234, 435, 436, - 99, 588, 453, 114, 316, 317, 318, 319, 320, 321, - 322, 323, 107, 234, 107, 184, 184, 506, 431, 432, - 107, 184, 234, 324, 325, 188, 184, -324, -473, 736, - 197, 234, 277, 235, 197, 737, 214, 826, 326, 327, - 271, 215, 272, 328, 329, 208, 509, 234, 433, 351, - 224, 119, 226, 434, 211, 517, 212, -100, 506, 120, - 106, 213, 122, -342, 461, 827, 828, 531, 209, 210, - 431, 432, 398, 399, 752, -47, 608, -47, 573, 402, - 403, 404, 819, 820, 821, 431, 432, 400, 401, 206, - 202, -47, -47, 122, -47, -47, 479, 480, 481, -47, - 433, 827, 828, 516, 873, 434, 527, 528, 435, 436, - 94, 96, 672, 673, 674, 433, 529, 204, 595, -470, - 434, -47, -543, 435, 436, -47, 236, 391, 392, 393, - 890, 316, 317, 318, 319, 320, 321, 322, 323, -47, - 238, 423, 897, 98, 101, 475, 476, 107, 477, 478, - 324, 325, 240, 693, 239, 256, 368, 257, 259, 260, - 234, 261, 833, 275, 266, 326, 327, 268, 273, 274, - 328, 329, 276, -212, 279, 278, 281, 282, 283, 284, - 214, 285, 286, 106, 287, 215, 289, 745, 293, 208, - 294, -544, 408, 313, 510, 300, 351, 351, 211, 152, - 212, 301, 408, 863, 312, 213, 595, 526, 672, 673, - 674, 343, 209, 210, 466, 347, 350, 332, 353, 354, - 361, 380, 365, 366, 375, 388, 452, 376, 565, 383, - 567, 389, 471, 206, 396, 651, 390, 395, 412, 415, - -44, 397, 482, 657, 468, 554, 563, 595, 695, 564, - 577, 421, 172, 168, 566, 169, 170, 579, 580, 581, - 582, 171, 522, 583, 755, 586, 483, 584, 603, 49, - 609, 152, 460, 47, 51, 607, 60, 611, 61, 62, - 610, 552, 612, 556, 557, 613, 614, 615, 616, 649, - 552, 596, 106, 332, 507, 620, 597, -300, 696, 635, - 644, 654, 572, 655, -401, 656, 423, 658, 668, 677, - 530, 733, 701, 702, 703, -582, 682, 683, 684, 691, - 685, 686, 687, 578, 689, 690, 692, 698, 262, 704, - 624, 705, 706, 172, 168, 707, 169, 170, 708, 625, - 709, 626, 171, 522, 594, 596, 627, 710, 713, 714, - 597, 423, 152, 715, 716, 629, 724, 723, 152, 725, - 726, 727, 730, 316, 317, 318, 319, 320, 321, 322, - 323, 731, 732, 734, 623, 630, 631, 632, 742, 107, - 749, 744, 324, 325, 748, 759, 660, 875, 876, 763, - -419, 766, 767, 780, 785, 782, 787, 786, 594, 794, - 642, 643, 790, 329, 796, 172, 168, 799, 169, 170, - 813, 815, -428, 834, 171, 797, 838, 806, 895, 818, - 835, 861, 837, 842, 152, 864, 844, 862, 866, 868, - 886, 507, 869, 877, 892, 898, 887, 485, 899, -410, - 6, 900, 891, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 671, 12, - 903, 904, -410, -410, 13, 906, 386, 431, 432, 486, - 487, -410, 183, 387, 781, 351, 100, 14, 97, 548, - 605, 540, 719, 867, 473, 472, 746, 185, 697, 474, - 676, 541, 793, 699, 465, 570, 870, 604, 425, 872, - 22, 23, 777, 756, 874, 889, 457, 633, 199, 443, - 470, 879, 596, 728, 680, 561, 0, 597, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 0, 0, 741, - 0, 0, 0, 0, 0, -523, 106, 0, 567, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 108, 110, 172, 168, 92, 169, 170, 93, 51, 103, + 104, 171, 153, 214, 215, 49, 113, 414, 47, 60, + 61, 152, 434, 62, 237, 331, 208, 211, 310, 212, + 254, 591, 437, 213, 415, 416, 417, 438, 209, 646, + 303, 210, 717, 362, 412, 172, 168, 503, 169, 170, + 306, 660, 8, 448, 171, 51, 731, 91, 819, 106, + 745, 206, 216, 538, 152, 47, 60, 61, 648, 732, + 62, 649, 106, 106, 4, 217, 233, 220, 221, 222, + 223, 527, 819, 235, 591, 225, 820, 821, 547, 228, + 234, 759, 229, 785, 123, 231, 18, 234, 8, 392, + 95, -47, 18, -47, 543, 796, 99, -375, 114, -144, + 820, 821, 380, 262, 122, 184, 263, -47, -47, -145, + -47, -47, 119, 818, 122, -47, 584, -375, 106, 184, + 829, 450, 197, 618, 128, 129, 197, 731, 132, 133, + 134, 135, 503, 184, 184, 188, 107, -47, 12, 656, + 732, -47, 224, 122, 226, 234, -324, 120, 234, 107, + 234, -146, 276, 428, 429, -47, 122, 236, -100, -342, + 458, 214, 215, 122, 264, 265, 400, 401, 402, 204, + 350, 506, 503, 527, 208, 211, 202, 212, 106, 513, + 270, 213, 271, 430, 238, 605, 209, 606, 431, 210, + -467, 604, 428, 429, -540, 746, 569, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 239, 428, 429, 206, + 259, 184, 257, 523, 524, 240, 512, 256, 668, 106, + 260, 866, 430, 525, 812, 813, 814, 431, 669, 261, + 432, 433, 266, 670, 476, 477, 478, 430, 396, 397, + 591, 268, 431, 398, 399, 432, 433, 883, 234, 315, + 316, 317, 318, 319, 320, 321, 322, 820, 821, 890, + 420, 274, 389, 390, 391, 107, 94, 96, 323, 324, + 272, 184, 98, 101, 273, 366, 689, 472, 473, 275, + -212, 826, 277, 325, 326, 474, 475, 278, 327, 328, + 315, 316, 317, 318, 319, 320, 321, 322, 280, 281, + 282, 283, 285, 214, 215, 284, 107, 286, 288, 323, + 324, 406, 292, 507, 668, 350, 208, 211, 152, 212, + 406, 293, 856, 213, 669, 522, 591, -541, 209, 670, + 328, 210, 463, 299, 300, 106, 311, 312, 342, 346, + 331, 349, 352, 359, 449, 363, 561, 647, 563, 386, + 364, 206, 373, 374, 387, 653, 381, 395, 418, 378, + 468, 550, 388, -44, 410, 393, 413, 591, 394, 172, + 168, 690, 169, 170, 465, 479, 559, 562, 171, 518, + 51, 579, 560, 573, 480, 749, 575, 49, 152, 457, + 47, 60, 61, 577, 576, 62, 578, 610, 548, 580, + 552, 553, 582, 599, 612, 611, 603, 548, 428, 429, + 691, 607, 504, 592, 593, 608, 331, 609, 616, 568, + -300, 631, 640, 420, 696, 697, 698, 526, 645, 523, + 524, 673, 650, 651, 728, 652, 654, 678, 430, 525, + 574, -398, 664, 431, -579, 679, 432, 433, 680, 681, + 172, 168, 682, 169, 170, 620, 621, 683, 622, 171, + 518, 590, 623, 241, 685, 242, 592, 593, 420, 152, + 686, 625, 687, 688, 262, 152, -470, 106, 693, 243, + 244, 699, 245, 246, 700, 701, 702, 247, 703, 704, + 619, 626, 627, 628, 705, 708, 709, 719, 721, 710, + 737, 711, 718, 720, 722, 868, 869, 725, 726, 248, + 727, 729, 753, 249, 590, 757, 638, 639, 739, 760, + 743, 172, 168, 742, 169, 170, -416, 250, 656, 773, + 171, 778, 780, 775, 783, 779, 888, 787, 789, 792, + 152, 790, -425, 799, 806, 808, 827, 504, 315, 316, + 317, 318, 319, 320, 321, 322, 811, 5, 828, 830, + 6, 7, 8, 9, 107, 831, 835, 323, 324, 837, + 854, 855, 857, 859, 667, 861, 10, 11, 862, 12, + 885, 893, 325, 326, 13, 870, 884, 327, 328, 891, + 879, 897, 880, 899, 384, 892, 385, 14, 15, 16, + 17, 896, 183, 860, 774, 100, 18, 19, 97, 601, + 20, 714, 469, 21, 544, 470, 185, 471, 740, 694, + 22, 23, 692, 672, 786, 462, 566, 24, 25, 730, + 600, 863, 592, 593, 422, 865, 770, 882, 508, 750, + 867, 199, 629, 872, 723, 736, 440, 454, 676, 557, + 0, 26, 0, 563, 467, -53, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 590, 47, 60, 61, 0, 0, 62, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 748, 0, 754, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 106, 0, 592, 593, + 771, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 0, 0, 0, 594, 47, 51, 0, 60, - 0, 61, 62, 0, 0, 0, 0, 0, 92, 0, - 0, 754, 0, 760, 106, 6, 0, 0, 458, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 596, 0, 0, 0, 12, 597, 778, 141, 142, 0, + 142, 0, 0, 0, 0, 0, 92, 0, 864, 748, + 0, 0, 51, 0, 0, 0, 0, 0, 0, 592, + 593, 0, 47, 60, 61, 0, 590, 62, 0, 0, + 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 833, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, - -101, 0, 0, 92, 871, 122, 754, 0, 0, 0, - 0, 596, 0, 0, 0, 0, 597, 0, 0, 47, - 51, 0, 60, 594, 61, 62, 0, 0, 0, 0, - 0, 841, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 92, 0, 0, 840, 0, 0, 0, 0, - 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 172, 168, 0, 169, 170, 408, 408, 0, 0, 171, - 884, 0, 0, 0, 0, 485, 0, -410, 6, 152, - 878, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 408, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, - 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 148, 149, 150, 107, 0, 0, 0, 590, 0, 0, + -101, 0, 0, 172, 168, 122, 169, 170, 406, 406, + 0, 0, 171, 877, 0, 0, 0, 0, 482, 0, + -407, 6, 152, 871, 9, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, 10, 11, 406, + 12, 0, 0, -407, -407, 13, 0, 0, 428, 429, + 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 0, 0, 0, 0, 485, - -213, -410, 6, -86, 0, 9, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, - 0, 12, 0, 0, -410, -410, 13, 0, 0, 431, - 432, 486, 487, -410, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, - 0, 0, 22, 23, 622, 128, 129, 0, 0, 132, - 133, 134, 135, 0, 0, 0, 0, 0, 0, 12, - -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, - 0, 0, 0, 485, -213, -410, 6, -556, 0, 9, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, - 13, 0, 0, 431, 432, 486, 487, -410, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, - 0, 0, 184, 0, 0, 0, 22, 23, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 0, 0, + 0, 0, 482, -213, -407, 6, -86, 0, 9, -407, + -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, + -407, 10, 11, 0, 12, 0, 0, -407, -407, 13, + 0, 0, 428, 429, 483, 484, -407, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, - -410, -410, -410, 0, 0, 0, 0, 485, -213, -410, - 6, -68, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 431, 432, 486, - 487, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -407, -407, -407, -407, -407, -407, -407, + -407, -407, 0, 0, 0, 0, 482, -213, -407, 6, + -553, 0, 9, -407, -407, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, 10, 11, 0, 12, 0, + 0, -407, -407, 13, 0, 0, 428, 429, 483, 484, + -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -407, -407, -407, + -407, -407, -407, -407, -407, -407, 0, 0, 0, 482, + 0, -407, 6, 0, -520, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 0, 0, 0, - 0, 485, -213, -410, 6, -90, 0, 9, -410, -410, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - 10, 11, 0, 12, 0, 0, -410, -410, 13, 0, - 0, 431, 432, 486, 487, -410, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, - 0, 0, -410, -410, -410, -410, -410, -410, -410, -410, - -410, 14, 15, 16, 17, 0, -213, 0, 0, -547, - 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, - 0, 0, -2, 5, 22, 23, 6, 7, 8, 9, - 0, 24, 25, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 26, 0, 0, 0, -53, - 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 0, 22, 23, 521, 0, - 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, - 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, - 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 14, 15, - 16, 17, 0, 184, 0, 0, 0, 18, 19, 0, - 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, - 5, 22, 23, 6, 7, 8, 9, 0, 24, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 11, 0, 12, 0, 0, 5, 0, 13, 6, 7, - 8, 9, 26, -213, 0, 0, 0, 0, 0, 0, - 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, - 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, - 0, 0, 0, 22, 23, 14, 15, 16, 17, 0, - 24, 25, 735, 0, 18, 19, 0, 0, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, - 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 106, 0, 26, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 0, 0, 139, 140, - 141, 142, 241, 0, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 243, 244, - 0, 245, 246, 0, 0, 0, 247, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 0, 0, 0, 0, 0, 184, 0, 0, 248, 0, - 0, 0, 249, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 485, 250, -410, 6, 0, - 184, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, - 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 485, 0, -410, 6, 0, - 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 521, 0, 106, 0, 0, 14, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, + 0, 0, 0, 482, -213, -407, 6, -68, 0, 9, + -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, + -407, -407, 10, 11, 0, 12, 0, 0, -407, -407, + 13, 0, 0, 428, 429, 483, 484, -407, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, - 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, - 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 205, 0, 0, 0, 0, 0, 0, 0, - 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -407, -407, -407, -407, -407, -407, + -407, -407, -407, 0, 0, 0, 0, 482, -213, -407, + 6, -90, 0, 9, -407, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, 10, 11, 0, 12, + 0, 0, -407, -407, 13, 0, 0, 428, 429, 483, + 484, -407, 0, 0, 106, 6, 0, 14, 455, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 0, 0, 0, 0, 12, 0, 0, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -407, -407, + -407, -407, -407, -407, -407, -407, -407, 0, 0, 0, + 0, 0, -213, 0, 0, -544, 0, 0, 0, 0, + 0, 0, 0, -2, 5, 0, 0, 6, 7, 8, + 9, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 0, 10, 11, 0, 12, 106, 0, 0, + 456, 13, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 14, 15, 16, 17, 139, 140, + 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 517, + 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 0, 0, 0, 0, 5, + 184, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, + 15, 16, 17, 0, 184, 0, 0, 0, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, + 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, + 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, + 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, + 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, + 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 0, 482, + 26, -407, 6, 0, 0, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 0, 22, 23, 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 482, + 0, -407, 6, 0, 0, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 517, 0, 106, 0, 0, 14, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 106, + 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, + 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 205, 0, 0, 0, + 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, - 2, 43, 2, 112, 2, 2, 83, 496, 83, 118, - 356, 357, 358, 83, 367, 367, 367, 550, 415, 416, - 83, 83, 663, 290, 232, 86, 86, 351, 86, 86, - 241, 411, 3, 3, 86, 3, 3, 3, 377, 1, - 3, 83, 84, 3, 86, 3, 49, 49, 428, 49, - 6, 49, 49, 19, 3, 85, 679, 87, 88, 89, - 90, 550, 679, 96, 712, 95, 772, 29, 30, 99, - 31, 32, 102, 329, 427, 105, 97, 97, 784, 96, - 0, 102, 102, 116, 97, 8, 8, 9, 11, 102, - 429, 52, 53, 76, 50, 743, 802, 305, 54, 116, - 61, 62, 36, 809, 6, 66, 50, 90, 69, 70, - 54, 491, 379, 100, 74, 75, 76, 77, 78, 79, - 80, 81, 90, 90, 90, 96, 96, 507, 31, 32, - 90, 96, 90, 93, 94, 22, 96, 99, 99, 762, - 74, 90, 184, 76, 78, 762, 241, 1, 108, 109, - 101, 241, 103, 113, 114, 241, 412, 90, 61, 268, - 94, 97, 96, 66, 241, 421, 241, 97, 548, 97, - 3, 241, 102, 97, 385, 29, 30, 530, 241, 241, - 31, 32, 91, 92, 717, 4, 510, 6, 455, 110, - 111, 112, 36, 37, 38, 31, 32, 108, 109, 241, - 98, 20, 21, 102, 23, 24, 402, 403, 404, 28, - 61, 29, 30, 421, 855, 66, 52, 53, 69, 70, - 15, 16, 575, 575, 575, 61, 62, 97, 717, 97, - 66, 50, 97, 69, 70, 54, 3, 326, 327, 328, - 881, 74, 75, 76, 77, 78, 79, 80, 81, 68, - 98, 360, 893, 16, 17, 398, 399, 90, 400, 401, - 93, 94, 97, 609, 98, 97, 296, 49, 98, 97, - 90, 98, 805, 97, 100, 108, 109, 100, 100, 100, - 113, 114, 97, 96, 98, 97, 97, 97, 97, 97, - 385, 98, 97, 3, 98, 385, 97, 694, 97, 385, - 97, 97, 344, 3, 413, 98, 415, 416, 385, 351, - 385, 102, 354, 846, 100, 385, 805, 426, 671, 671, - 671, 101, 385, 385, 385, 8, 100, 583, 100, 48, - 114, 102, 98, 98, 98, 3, 378, 98, 447, 98, - 449, 101, 115, 385, 106, 553, 103, 105, 103, 103, - 99, 107, 103, 561, 101, 59, 99, 846, 614, 104, - 97, 114, 423, 423, 103, 423, 423, 97, 99, 3, - 98, 423, 423, 482, 720, 99, 406, 103, 99, 386, - 103, 423, 385, 386, 386, 101, 386, 101, 386, 386, - 103, 433, 101, 435, 436, 101, 104, 115, 103, 32, - 442, 496, 3, 659, 411, 99, 496, 99, 616, 99, - 99, 97, 454, 97, 99, 97, 525, 97, 99, 30, - 427, 677, 630, 631, 632, 99, 97, 97, 97, 3, - 97, 97, 97, 463, 97, 97, 97, 97, 8, 97, - 526, 97, 97, 504, 504, 97, 504, 504, 97, 526, - 97, 526, 504, 504, 496, 550, 526, 97, 97, 97, - 550, 570, 504, 99, 99, 526, 103, 99, 510, 99, - 67, 99, 97, 74, 75, 76, 77, 78, 79, 80, - 81, 97, 97, 97, 526, 527, 528, 529, 3, 90, - 114, 101, 93, 94, 115, 97, 116, 857, 858, 97, - 36, 101, 97, 99, 98, 114, 36, 115, 550, 56, - 540, 541, 39, 114, 103, 576, 576, 100, 576, 576, - 60, 3, 115, 103, 576, 117, 63, 115, 888, 115, - 114, 103, 114, 101, 576, 40, 115, 103, 97, 102, - 115, 548, 99, 114, 102, 97, 115, 1, 115, 3, - 4, 76, 114, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 115, 103, 26, 27, 28, 76, 310, 31, 32, 33, - 34, 35, 49, 310, 762, 694, 17, 41, 16, 430, - 507, 45, 659, 849, 396, 395, 697, 50, 616, 397, - 576, 55, 773, 619, 385, 450, 852, 504, 360, 854, - 64, 65, 757, 721, 856, 880, 384, 530, 78, 367, - 390, 861, 717, 671, 583, 442, -1, 717, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, 681, - -1, -1, -1, -1, -1, 99, 3, -1, 757, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, + 20, 43, 43, 83, 83, 2, 26, 352, 2, 2, + 2, 43, 365, 2, 112, 254, 83, 83, 241, 83, + 118, 493, 365, 83, 354, 355, 356, 365, 83, 546, + 232, 83, 659, 289, 350, 86, 86, 409, 86, 86, + 3, 3, 6, 375, 86, 49, 675, 3, 1, 3, + 707, 83, 84, 425, 86, 49, 49, 49, 3, 675, + 49, 3, 3, 3, 0, 85, 76, 87, 88, 89, + 90, 424, 1, 76, 546, 95, 29, 30, 19, 99, + 90, 738, 102, 765, 36, 105, 50, 90, 6, 328, + 54, 4, 50, 6, 426, 777, 54, 96, 100, 97, + 29, 30, 304, 8, 102, 96, 11, 20, 21, 97, + 23, 24, 97, 795, 102, 28, 488, 116, 3, 96, + 802, 377, 74, 8, 9, 10, 78, 756, 13, 14, + 15, 16, 504, 96, 96, 22, 90, 50, 23, 116, + 756, 54, 94, 102, 96, 90, 99, 97, 90, 90, + 90, 97, 184, 31, 32, 68, 102, 3, 97, 97, + 383, 241, 241, 102, 8, 9, 110, 111, 112, 97, + 268, 410, 544, 526, 241, 241, 98, 241, 3, 418, + 101, 241, 103, 61, 98, 101, 241, 103, 66, 241, + 97, 507, 31, 32, 97, 712, 452, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 98, 31, 32, 241, + 98, 96, 49, 52, 53, 97, 418, 97, 571, 3, + 97, 848, 61, 62, 36, 37, 38, 66, 571, 98, + 69, 70, 100, 571, 400, 401, 402, 61, 91, 92, + 712, 100, 66, 108, 109, 69, 70, 874, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 29, 30, 886, + 358, 97, 325, 326, 327, 90, 15, 16, 93, 94, + 100, 96, 16, 17, 100, 295, 606, 396, 397, 97, + 96, 798, 97, 108, 109, 398, 399, 98, 113, 114, + 74, 75, 76, 77, 78, 79, 80, 81, 97, 97, + 97, 97, 97, 383, 383, 98, 90, 98, 97, 93, + 94, 343, 97, 411, 667, 413, 383, 383, 350, 383, + 352, 97, 839, 383, 667, 423, 798, 97, 383, 667, + 114, 383, 383, 98, 102, 3, 100, 3, 101, 8, + 579, 100, 48, 114, 376, 98, 444, 549, 446, 3, + 98, 383, 98, 98, 101, 557, 98, 107, 114, 102, + 115, 59, 103, 99, 103, 105, 103, 839, 106, 420, + 420, 610, 420, 420, 101, 103, 99, 103, 420, 420, + 384, 479, 104, 97, 404, 715, 97, 384, 420, 383, + 384, 384, 384, 3, 99, 384, 98, 104, 430, 103, + 432, 433, 99, 99, 103, 115, 101, 439, 31, 32, + 612, 101, 409, 493, 493, 101, 655, 101, 99, 451, + 99, 99, 99, 521, 626, 627, 628, 424, 32, 52, + 53, 30, 97, 97, 673, 97, 97, 97, 61, 62, + 460, 99, 99, 66, 99, 97, 69, 70, 97, 97, + 501, 501, 97, 501, 501, 522, 522, 97, 522, 501, + 501, 493, 522, 4, 97, 6, 546, 546, 566, 501, + 97, 522, 3, 97, 8, 507, 99, 3, 97, 20, + 21, 97, 23, 24, 97, 97, 97, 28, 97, 97, + 522, 523, 524, 525, 97, 97, 97, 103, 67, 99, + 3, 99, 99, 99, 99, 850, 851, 97, 97, 50, + 97, 97, 97, 54, 546, 97, 536, 537, 101, 97, + 114, 572, 572, 115, 572, 572, 36, 68, 116, 99, + 572, 98, 36, 114, 39, 115, 881, 56, 103, 100, + 572, 117, 115, 115, 60, 3, 103, 544, 74, 75, + 76, 77, 78, 79, 80, 81, 115, 1, 114, 114, + 4, 5, 6, 7, 90, 63, 101, 93, 94, 115, + 103, 103, 40, 97, 571, 102, 20, 21, 99, 23, + 102, 76, 108, 109, 28, 114, 114, 113, 114, 97, + 115, 103, 115, 76, 309, 115, 309, 41, 42, 43, + 44, 115, 49, 842, 756, 17, 50, 51, 16, 504, + 54, 655, 393, 57, 427, 394, 50, 395, 692, 615, + 64, 65, 612, 572, 766, 383, 447, 71, 72, 73, + 501, 845, 712, 712, 358, 847, 751, 873, 413, 716, + 849, 78, 526, 854, 667, 677, 365, 382, 579, 439, + -1, 95, -1, 751, 388, 99, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 675, -1, -1, -1, -1, -1, -1, -1, -1, + 712, 675, 675, 675, -1, -1, 675, -1, -1, -1, + -1, -1, -1, 713, -1, -1, 713, -1, 730, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, 798, 798, + 752, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, -1, -1, -1, 717, 679, 679, -1, 679, - -1, 679, 679, -1, -1, -1, -1, -1, 718, -1, - -1, 718, -1, 735, 3, 4, -1, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 805, -1, -1, -1, 23, 805, 758, 26, 27, -1, + 27, -1, -1, -1, -1, -1, 766, -1, 846, 766, + -1, -1, 756, -1, -1, -1, -1, -1, -1, 839, + 839, -1, 756, 756, 756, -1, 798, 756, -1, -1, + -1, -1, -1, -1, 806, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 805, -1, -1, 805, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, - 97, -1, -1, 773, 853, 102, 773, -1, -1, -1, - -1, 846, -1, -1, -1, -1, 846, -1, -1, 762, - 762, -1, 762, 805, 762, 762, -1, -1, -1, -1, - -1, 813, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 812, -1, -1, 812, -1, -1, -1, -1, - 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 846, -1, -1, -1, -1, -1, - 871, 871, -1, 871, 871, 857, 858, -1, -1, 871, - 871, -1, -1, -1, -1, 1, -1, 3, 4, 871, - 860, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 888, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + 87, 88, 89, 90, -1, -1, -1, 839, -1, -1, + 97, -1, -1, 864, 864, 102, 864, 864, 850, 851, + -1, -1, 864, 864, -1, -1, -1, -1, 1, -1, + 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, + 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, + -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, - -1, -1, 64, 65, 8, 9, 10, -1, -1, 13, - 14, 15, 16, -1, -1, -1, -1, -1, -1, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + -1, -1, -1, -1, 23, -1, -1, 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + -1, -1, 96, -1, -1, 99, -1, -1, -1, -1, + -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, + 7, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, 20, 21, -1, 23, 3, -1, -1, + 99, 28, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 41, 42, 43, 44, 24, 25, + 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, + -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, + 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, + -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, + 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, + 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, + 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, + -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, + -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, + -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, - -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, - -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, + 20, 21, -1, 23, 24, 25, 26, 27, -1, 1, + 95, 3, 4, -1, -1, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, - 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, - -1, -1, 0, 1, 64, 65, 4, 5, 6, 7, - -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, -1, 95, -1, -1, -1, 99, - -1, -1, -1, 41, 42, 43, 44, -1, -1, -1, - -1, -1, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, - 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, + 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, - 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, - 43, 44, -1, 96, -1, -1, -1, 50, 51, -1, - -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, - 1, 64, 65, 4, 5, 6, 7, -1, 71, 72, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, - 21, -1, 23, -1, -1, 1, -1, 28, 4, 5, - 6, 7, 95, 96, -1, -1, -1, -1, -1, -1, - 41, 42, 43, 44, 20, 21, -1, 23, -1, 50, - 51, -1, 28, 54, -1, -1, 57, -1, -1, -1, - -1, -1, -1, 64, 65, 41, 42, 43, 44, -1, - 71, 72, 73, -1, 50, 51, -1, -1, 54, -1, - -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, - -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, 3, -1, 95, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, - 26, 27, 4, -1, 6, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, 24, -1, -1, -1, 28, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - -1, -1, -1, -1, -1, 96, -1, -1, 50, -1, - -1, -1, 54, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 1, 68, 3, 4, -1, - 96, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 1, + -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, 1, -1, 3, -1, -1, 41, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 1, -1, 3, 4, -1, - -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - 1, -1, 3, -1, -1, 41, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, -1, 64, 65, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, + -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, + -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, + -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, - -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, - -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, - -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90 + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2042,91 +2032,90 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 364, 415, 416, 417, 418, 419, 423, 445, 447, 470, - 471, 472, 473, 474, 478, 479, 480, 483, 487, 495, - 508, 509, 138, 215, 140, 167, 250, 279, 292, 318, - 365, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 448, 3, 90, 208, 211, - 208, 496, 510, 212, 100, 142, 131, 147, 159, 97, + 361, 412, 413, 414, 415, 416, 420, 442, 444, 467, + 468, 469, 470, 471, 475, 476, 477, 480, 484, 492, + 505, 506, 138, 215, 140, 167, 250, 279, 292, 318, + 362, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 445, 3, 90, 208, 211, + 208, 493, 507, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 331, 334, 337, 338, 341, 342, - 345, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 420, 134, 446, 135, 169, 481, 481, - 136, 137, 98, 512, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 338, 342, 208, 212, 251, 253, + 291, 293, 317, 326, 328, 331, 334, 335, 338, 339, + 342, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 417, 134, 443, 135, 169, 478, 478, + 136, 137, 98, 509, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 335, 339, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 424, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 421, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 488, 489, 491, 241, 505, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 335, 100, 327, - 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, - 294, 97, 97, 97, 97, 98, 97, 98, 457, 97, - 482, 475, 484, 97, 97, 513, 216, 252, 319, 366, - 98, 102, 426, 449, 211, 210, 497, 3, 242, 233, - 143, 219, 100, 3, 148, 490, 74, 75, 76, 77, - 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, - 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 507, 101, 170, 164, 175, 8, 221, 231, - 100, 241, 330, 100, 48, 186, 332, 339, 343, 243, - 282, 114, 421, 458, 186, 98, 98, 515, 212, 212, - 259, 262, 266, 267, 346, 98, 98, 179, 427, 425, - 102, 454, 211, 98, 511, 234, 120, 121, 3, 101, - 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, - 108, 109, 110, 111, 112, 506, 160, 205, 208, 194, - 195, 189, 103, 336, 254, 103, 328, 205, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 428, 460, 476, - 485, 31, 32, 61, 66, 69, 70, 353, 354, 359, - 437, 439, 440, 504, 514, 516, 217, 347, 260, 320, - 367, 194, 208, 186, 455, 450, 498, 426, 7, 99, - 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 491, 115, 223, 224, 225, 226, 226, 227, 227, 228, - 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 353, 364, 369, 374, 415, 416, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 376, 221, - 241, 330, 330, 333, 340, 344, 211, 221, 245, 246, - 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 353, 422, 429, 437, 439, 442, 443, 444, 504, - 45, 55, 196, 459, 461, 464, 467, 194, 189, 355, - 360, 19, 208, 438, 59, 441, 208, 208, 519, 517, - 518, 438, 520, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 500, 501, 236, 97, 212, 97, - 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 338, 342, 375, 398, - 198, 199, 377, 99, 287, 190, 191, 101, 254, 103, - 103, 101, 101, 101, 104, 115, 103, 247, 290, 288, - 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 429, 435, 99, 430, 431, 432, 433, - 434, 436, 212, 212, 99, 462, 463, 477, 486, 32, - 398, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 348, 350, 261, 3, 321, 323, 368, 99, 451, - 499, 240, 353, 437, 439, 502, 251, 30, 239, 150, - 507, 207, 97, 97, 97, 97, 97, 97, 370, 97, - 97, 3, 97, 231, 329, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 465, 468, 97, 97, 99, 99, 356, 361, 220, - 351, 349, 262, 99, 103, 99, 67, 99, 502, 503, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 378, 101, 330, 247, 289, 115, 114, - 380, 380, 398, 263, 266, 231, 350, 324, 452, 97, - 208, 151, 153, 97, 371, 380, 101, 97, 297, 381, - 382, 466, 469, 357, 362, 264, 352, 325, 208, 156, - 99, 154, 114, 389, 379, 98, 115, 36, 383, 386, - 39, 400, 400, 263, 56, 403, 103, 117, 453, 100, - 390, 391, 372, 400, 298, 387, 115, 384, 401, 358, - 404, 363, 265, 60, 456, 3, 492, 494, 115, 36, - 37, 38, 392, 395, 399, 400, 1, 29, 30, 301, - 303, 307, 309, 398, 103, 114, 400, 114, 63, 406, - 266, 208, 101, 493, 115, 393, 396, 373, 306, 311, - 310, 299, 302, 304, 308, 388, 385, 402, 405, 407, - 157, 103, 103, 398, 40, 409, 97, 221, 102, 99, - 303, 241, 309, 262, 386, 205, 205, 114, 212, 494, - 394, 397, 410, 312, 253, 313, 115, 115, 408, 395, - 262, 114, 102, 314, 305, 205, 411, 262, 97, 115, - 76, 412, 413, 115, 103, 414, 76 + 68, 485, 486, 488, 241, 502, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 332, 100, 182, + 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, + 97, 97, 97, 97, 98, 97, 98, 454, 97, 479, + 472, 481, 97, 97, 510, 216, 252, 319, 363, 98, + 102, 423, 446, 211, 210, 494, 3, 242, 233, 143, + 219, 100, 3, 148, 487, 74, 75, 76, 77, 78, + 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 504, 101, 170, 164, 175, 8, 221, 231, 100, + 241, 327, 48, 186, 329, 336, 340, 243, 282, 114, + 418, 455, 186, 98, 98, 512, 212, 212, 259, 262, + 266, 267, 343, 98, 98, 179, 424, 422, 102, 451, + 211, 98, 508, 234, 120, 121, 3, 101, 103, 229, + 229, 229, 221, 105, 106, 107, 91, 92, 108, 109, + 110, 111, 112, 503, 160, 205, 208, 194, 195, 189, + 103, 333, 254, 103, 205, 231, 231, 231, 114, 244, + 241, 284, 286, 295, 425, 457, 473, 482, 31, 32, + 61, 66, 69, 70, 350, 351, 356, 434, 436, 437, + 501, 511, 513, 217, 344, 260, 320, 364, 194, 208, + 186, 452, 447, 495, 423, 7, 99, 214, 219, 235, + 237, 238, 276, 317, 144, 101, 149, 488, 115, 223, + 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, + 212, 206, 1, 33, 34, 165, 196, 214, 240, 249, + 350, 361, 366, 371, 412, 413, 45, 46, 47, 176, + 190, 192, 193, 196, 240, 373, 221, 241, 327, 330, + 337, 341, 211, 221, 245, 246, 248, 1, 253, 287, + 283, 285, 241, 52, 53, 62, 240, 350, 419, 426, + 434, 436, 439, 440, 441, 501, 45, 55, 196, 456, + 458, 461, 464, 194, 189, 352, 357, 19, 208, 435, + 59, 438, 208, 208, 516, 514, 515, 435, 517, 99, + 104, 241, 103, 241, 322, 325, 285, 180, 208, 186, + 497, 498, 236, 97, 212, 97, 99, 3, 98, 241, + 103, 204, 99, 200, 196, 197, 202, 201, 203, 35, + 208, 255, 335, 339, 372, 395, 198, 199, 374, 99, + 287, 190, 191, 101, 254, 101, 103, 101, 101, 101, + 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, + 268, 273, 274, 275, 300, 317, 208, 208, 208, 426, + 432, 99, 427, 428, 429, 430, 431, 433, 212, 212, + 99, 459, 460, 474, 483, 32, 395, 211, 3, 3, + 97, 97, 97, 211, 97, 218, 116, 345, 347, 261, + 3, 321, 323, 365, 99, 448, 496, 240, 350, 434, + 436, 499, 251, 30, 239, 150, 504, 207, 97, 97, + 97, 97, 97, 97, 367, 97, 97, 3, 97, 231, + 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, + 97, 97, 97, 97, 97, 97, 462, 465, 97, 97, + 99, 99, 353, 358, 220, 348, 346, 262, 99, 103, + 99, 67, 99, 499, 500, 97, 97, 97, 221, 97, + 73, 123, 139, 152, 154, 155, 208, 3, 375, 101, + 247, 289, 115, 114, 377, 377, 395, 263, 266, 231, + 347, 324, 449, 97, 208, 151, 153, 97, 368, 377, + 97, 297, 378, 379, 463, 466, 354, 359, 264, 349, + 325, 208, 156, 99, 154, 114, 386, 376, 98, 115, + 36, 380, 383, 39, 397, 397, 263, 56, 400, 103, + 117, 450, 100, 387, 388, 369, 397, 298, 384, 115, + 381, 398, 355, 401, 360, 265, 60, 453, 3, 489, + 491, 115, 36, 37, 38, 389, 392, 396, 397, 1, + 29, 30, 301, 303, 307, 309, 395, 103, 114, 397, + 114, 63, 403, 266, 208, 101, 490, 115, 390, 393, + 370, 306, 311, 310, 299, 302, 304, 308, 385, 382, + 399, 402, 404, 157, 103, 103, 395, 40, 406, 97, + 221, 102, 99, 303, 241, 309, 262, 383, 205, 205, + 114, 212, 491, 391, 394, 407, 312, 253, 313, 115, + 115, 405, 392, 262, 114, 102, 314, 305, 205, 408, + 262, 97, 115, 76, 409, 410, 115, 103, 411, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2167,33 +2156,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 329, 326, 326, 330, - 332, 333, 331, 331, 335, 336, 334, 337, 339, 340, - 338, 338, 341, 343, 344, 342, 342, 345, 347, 346, - 348, 349, 349, 351, 352, 350, 353, 353, 355, 356, - 357, 358, 354, 360, 361, 362, 363, 359, 365, 366, - 367, 368, 364, 370, 371, 372, 373, 369, 374, 374, - 374, 375, 375, 377, 378, 379, 376, 381, 380, 382, - 380, 383, 385, 384, 384, 387, 388, 386, 390, 389, - 391, 389, 392, 394, 393, 393, 396, 397, 395, 398, - 398, 398, 398, 399, 399, 399, 401, 402, 400, 400, - 404, 405, 403, 403, 407, 408, 406, 406, 410, 411, - 409, 409, 412, 414, 413, 413, 415, 416, 417, 417, - 418, 420, 421, 422, 419, 424, 425, 423, 427, 426, - 426, 428, 428, 428, 430, 429, 431, 429, 432, 429, - 433, 429, 434, 429, 435, 429, 436, 429, 437, 438, - 438, 439, 440, 441, 441, 442, 443, 444, 446, 445, - 448, 449, 450, 451, 452, 453, 447, 455, 454, 454, - 456, 456, 458, 459, 457, 460, 460, 461, 462, 461, - 463, 461, 465, 466, 464, 468, 469, 467, 470, 470, - 470, 471, 471, 472, 473, 475, 476, 477, 474, 478, - 479, 480, 482, 481, 484, 485, 486, 483, 487, 487, - 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, - 489, 490, 490, 491, 491, 492, 493, 493, 494, 496, - 497, 498, 499, 495, 500, 500, 501, 501, 502, 502, - 503, 502, 504, 504, 505, 506, 506, 507, 508, 510, - 511, 509, 513, 514, 512, 515, 515, 517, 516, 518, - 516, 519, 516, 520, 516 + 324, 323, 323, 325, 326, 326, 327, 329, 330, 328, + 328, 332, 333, 331, 334, 336, 337, 335, 335, 338, + 340, 341, 339, 339, 342, 344, 343, 345, 346, 346, + 348, 349, 347, 350, 350, 352, 353, 354, 355, 351, + 357, 358, 359, 360, 356, 362, 363, 364, 365, 361, + 367, 368, 369, 370, 366, 371, 371, 371, 372, 372, + 374, 375, 376, 373, 378, 377, 379, 377, 380, 382, + 381, 381, 384, 385, 383, 387, 386, 388, 386, 389, + 391, 390, 390, 393, 394, 392, 395, 395, 395, 395, + 396, 396, 396, 398, 399, 397, 397, 401, 402, 400, + 400, 404, 405, 403, 403, 407, 408, 406, 406, 409, + 411, 410, 410, 412, 413, 414, 414, 415, 417, 418, + 419, 416, 421, 422, 420, 424, 423, 423, 425, 425, + 425, 427, 426, 428, 426, 429, 426, 430, 426, 431, + 426, 432, 426, 433, 426, 434, 435, 435, 436, 437, + 438, 438, 439, 440, 441, 443, 442, 445, 446, 447, + 448, 449, 450, 444, 452, 451, 451, 453, 453, 455, + 456, 454, 457, 457, 458, 459, 458, 460, 458, 462, + 463, 461, 465, 466, 464, 467, 467, 467, 468, 468, + 469, 470, 472, 473, 474, 471, 475, 476, 477, 479, + 478, 481, 482, 483, 480, 484, 484, 485, 485, 485, + 485, 485, 485, 485, 485, 485, 485, 486, 487, 487, + 488, 488, 489, 490, 490, 491, 493, 494, 495, 496, + 492, 497, 497, 498, 498, 499, 499, 500, 499, 501, + 501, 502, 503, 503, 504, 505, 507, 508, 506, 510, + 511, 509, 512, 512, 514, 513, 515, 513, 516, 513, + 517, 513 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2234,33 +2223,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 0, 9, 8, 2, - 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, - 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, - 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, 3, 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, 1, 2, - 2, 3, 0, 2, 5, 2, 3, 0, 1, 0, - 0, 0, 0, 9, 3, 2, 1, 0, 2, 2, - 0, 3, 3, 3, 3, 4, 0, 1, 2, 0, - 0, 6, 0, 0, 5, 2, 0, 0, 3, 0, - 3, 0, 3, 0, 3 + 0, 4, 0, 2, 6, 8, 2, 0, 0, 6, + 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, + 0, 0, 6, 1, 1, 0, 4, 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, 3, 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, 1, 2, 2, 3, 0, + 2, 5, 2, 3, 0, 1, 0, 0, 0, 0, + 9, 3, 2, 1, 0, 2, 2, 0, 3, 3, + 3, 3, 4, 0, 1, 2, 0, 0, 6, 0, + 0, 5, 2, 0, 0, 3, 0, 3, 0, 3, + 0, 3 }; @@ -2739,7 +2728,7 @@ yyparse (void) } delete annotations; } -#line 2743 "fe/idl.tab.cpp" +#line 2732 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2747,7 +2736,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2751 "fe/idl.tab.cpp" +#line 2740 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2755,7 +2744,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2759 "fe/idl.tab.cpp" +#line 2748 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2763,7 +2752,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2767 "fe/idl.tab.cpp" +#line 2756 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2771,7 +2760,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2775 "fe/idl.tab.cpp" +#line 2764 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2779,7 +2768,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2783 "fe/idl.tab.cpp" +#line 2772 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2787,7 +2776,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2791 "fe/idl.tab.cpp" +#line 2780 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2795,7 +2784,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2799 "fe/idl.tab.cpp" +#line 2788 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2803,7 +2792,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2807 "fe/idl.tab.cpp" +#line 2796 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2811,7 +2800,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2815 "fe/idl.tab.cpp" +#line 2804 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2819,7 +2808,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2823 "fe/idl.tab.cpp" +#line 2812 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2827,7 +2816,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2831 "fe/idl.tab.cpp" +#line 2820 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2835,7 +2824,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2839 "fe/idl.tab.cpp" +#line 2828 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2843,7 +2832,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2847 "fe/idl.tab.cpp" +#line 2836 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2851,7 +2840,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2855 "fe/idl.tab.cpp" +#line 2844 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2859,7 +2848,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2863 "fe/idl.tab.cpp" +#line 2852 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2867,7 +2856,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2871 "fe/idl.tab.cpp" +#line 2860 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2875,7 +2864,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2879 "fe/idl.tab.cpp" +#line 2868 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2883,7 +2872,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2887 "fe/idl.tab.cpp" +#line 2876 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2891,7 +2880,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2895 "fe/idl.tab.cpp" +#line 2884 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2899,7 +2888,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2903 "fe/idl.tab.cpp" +#line 2892 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2907,7 +2896,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2911 "fe/idl.tab.cpp" +#line 2900 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2915,7 +2904,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2919 "fe/idl.tab.cpp" +#line 2908 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2923,7 +2912,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2927 "fe/idl.tab.cpp" +#line 2916 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2931,7 +2920,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2935 "fe/idl.tab.cpp" +#line 2924 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2939,7 +2928,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2943 "fe/idl.tab.cpp" +#line 2932 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2947,7 +2936,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2951 "fe/idl.tab.cpp" +#line 2940 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2955,7 +2944,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2959 "fe/idl.tab.cpp" +#line 2948 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2963,7 +2952,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2967 "fe/idl.tab.cpp" +#line 2956 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2971,7 +2960,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2975 "fe/idl.tab.cpp" +#line 2964 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2981,7 +2970,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 2985 "fe/idl.tab.cpp" +#line 2974 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -2989,7 +2978,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2993 "fe/idl.tab.cpp" +#line 2982 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -2997,7 +2986,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3001 "fe/idl.tab.cpp" +#line 2990 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3040,7 +3029,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3044 "fe/idl.tab.cpp" +#line 3033 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3048,7 +3037,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3052 "fe/idl.tab.cpp" +#line 3041 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3056,7 +3045,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3060 "fe/idl.tab.cpp" +#line 3049 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3070,7 +3059,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3074 "fe/idl.tab.cpp" +#line 3063 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3078,7 +3067,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3082 "fe/idl.tab.cpp" +#line 3071 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3096,7 +3085,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3100 "fe/idl.tab.cpp" +#line 3089 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3110,7 +3099,7 @@ yyparse (void) return 1; } } -#line 3114 "fe/idl.tab.cpp" +#line 3103 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3144,7 +3133,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3148 "fe/idl.tab.cpp" +#line 3137 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3152,7 +3141,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3156 "fe/idl.tab.cpp" +#line 3145 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3160,7 +3149,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3164 "fe/idl.tab.cpp" +#line 3153 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3183,7 +3172,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3187 "fe/idl.tab.cpp" +#line 3176 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3192,7 +3181,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3196 "fe/idl.tab.cpp" +#line 3185 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3201,7 +3190,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3205 "fe/idl.tab.cpp" +#line 3194 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3283,7 +3272,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3287 "fe/idl.tab.cpp" +#line 3276 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3292,7 +3281,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3296 "fe/idl.tab.cpp" +#line 3285 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3301,7 +3290,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3305 "fe/idl.tab.cpp" +#line 3294 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3369,7 +3358,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3373 "fe/idl.tab.cpp" +#line 3362 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3411,7 +3400,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3415 "fe/idl.tab.cpp" +#line 3404 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3419,7 +3408,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3423 "fe/idl.tab.cpp" +#line 3412 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3427,7 +3416,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3431 "fe/idl.tab.cpp" +#line 3420 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3441,7 +3430,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3445 "fe/idl.tab.cpp" +#line 3434 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3449,7 +3438,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3453 "fe/idl.tab.cpp" +#line 3442 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3458,7 +3447,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3462 "fe/idl.tab.cpp" +#line 3451 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3498,7 +3487,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3502 "fe/idl.tab.cpp" +#line 3491 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3531,7 +3520,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3535 "fe/idl.tab.cpp" +#line 3524 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3564,7 +3553,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3568 "fe/idl.tab.cpp" +#line 3557 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3572,7 +3561,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3576 "fe/idl.tab.cpp" +#line 3565 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3581,7 +3570,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3585 "fe/idl.tab.cpp" +#line 3574 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3589,7 +3578,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3593 "fe/idl.tab.cpp" +#line 3582 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3598,7 +3587,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3602 "fe/idl.tab.cpp" +#line 3591 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3649,7 +3638,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3653 "fe/idl.tab.cpp" +#line 3642 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3657,7 +3646,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3661 "fe/idl.tab.cpp" +#line 3650 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3665,7 +3654,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3669 "fe/idl.tab.cpp" +#line 3658 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3690,7 +3679,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3694 "fe/idl.tab.cpp" +#line 3683 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3737,7 +3726,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3741 "fe/idl.tab.cpp" +#line 3730 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3745,7 +3734,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3749 "fe/idl.tab.cpp" +#line 3738 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3753,7 +3742,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3757 "fe/idl.tab.cpp" +#line 3746 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3768,7 +3757,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3772 "fe/idl.tab.cpp" +#line 3761 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3776,7 +3765,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3780 "fe/idl.tab.cpp" +#line 3769 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3811,7 +3800,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3815 "fe/idl.tab.cpp" +#line 3804 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3819,7 +3808,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3823 "fe/idl.tab.cpp" +#line 3812 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3828,7 +3817,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3832 "fe/idl.tab.cpp" +#line 3821 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3836,7 +3825,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3840 "fe/idl.tab.cpp" +#line 3829 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3844,7 +3833,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3848 "fe/idl.tab.cpp" +#line 3837 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3852,7 +3841,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3856 "fe/idl.tab.cpp" +#line 3845 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3860,7 +3849,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3864 "fe/idl.tab.cpp" +#line 3853 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3887,7 +3876,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3891 "fe/idl.tab.cpp" +#line 3880 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3916,7 +3905,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3920 "fe/idl.tab.cpp" +#line 3909 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3983,7 +3972,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3987 "fe/idl.tab.cpp" +#line 3976 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4006,7 +3995,7 @@ yyparse (void) delete annotations; delete decls; } -#line 4010 "fe/idl.tab.cpp" +#line 3999 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4014,7 +4003,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4018 "fe/idl.tab.cpp" +#line 4007 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4029,7 +4018,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4033 "fe/idl.tab.cpp" +#line 4022 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4044,7 +4033,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4048 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4052,7 +4041,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4056 "fe/idl.tab.cpp" +#line 4045 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4060,7 +4049,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4064 "fe/idl.tab.cpp" +#line 4053 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4068,7 +4057,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4072 "fe/idl.tab.cpp" +#line 4061 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4090,7 +4079,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4094 "fe/idl.tab.cpp" +#line 4083 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4109,7 +4098,7 @@ yyparse (void) } delete annotations; } -#line 4113 "fe/idl.tab.cpp" +#line 4102 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4117,7 +4106,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4121 "fe/idl.tab.cpp" +#line 4110 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4125,7 +4114,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4129 "fe/idl.tab.cpp" +#line 4118 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4133,7 +4122,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4137 "fe/idl.tab.cpp" +#line 4126 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4141,7 +4130,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4145 "fe/idl.tab.cpp" +#line 4134 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4149,7 +4138,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4153 "fe/idl.tab.cpp" +#line 4142 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4157,7 +4146,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4161 "fe/idl.tab.cpp" +#line 4150 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4165,7 +4154,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4169 "fe/idl.tab.cpp" +#line 4158 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4173,7 +4162,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4177 "fe/idl.tab.cpp" +#line 4166 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4181,7 +4170,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4185 "fe/idl.tab.cpp" +#line 4174 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4189,7 +4178,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4193 "fe/idl.tab.cpp" +#line 4182 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4197,7 +4186,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4201 "fe/idl.tab.cpp" +#line 4190 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4205,7 +4194,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4209 "fe/idl.tab.cpp" +#line 4198 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4213,7 +4202,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4217 "fe/idl.tab.cpp" +#line 4206 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4221,7 +4210,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4225 "fe/idl.tab.cpp" +#line 4214 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4229,7 +4218,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4233 "fe/idl.tab.cpp" +#line 4222 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4239,7 +4228,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4243 "fe/idl.tab.cpp" +#line 4232 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4250,7 +4239,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4254 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4258,7 +4247,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4262 "fe/idl.tab.cpp" +#line 4251 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4282,7 +4271,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4286 "fe/idl.tab.cpp" +#line 4275 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4290,7 +4279,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4294 "fe/idl.tab.cpp" +#line 4283 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4303,7 +4292,7 @@ yyparse (void) 0), 1); } -#line 4307 "fe/idl.tab.cpp" +#line 4296 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4311,7 +4300,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4315 "fe/idl.tab.cpp" +#line 4304 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4335,7 +4324,7 @@ yyparse (void) sn), 1); } -#line 4339 "fe/idl.tab.cpp" +#line 4328 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4349,7 +4338,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4353 "fe/idl.tab.cpp" +#line 4342 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4365,7 +4354,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4369 "fe/idl.tab.cpp" +#line 4358 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4377,7 +4366,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4381 "fe/idl.tab.cpp" +#line 4370 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4389,7 +4378,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4393 "fe/idl.tab.cpp" +#line 4382 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4436,7 +4425,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4440 "fe/idl.tab.cpp" +#line 4429 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4466,7 +4455,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4470 "fe/idl.tab.cpp" +#line 4459 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4498,7 +4487,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4502 "fe/idl.tab.cpp" +#line 4491 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4506,7 +4495,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4510 "fe/idl.tab.cpp" +#line 4499 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4514,7 +4503,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4518 "fe/idl.tab.cpp" +#line 4507 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4522,7 +4511,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4526 "fe/idl.tab.cpp" +#line 4515 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4530,7 +4519,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4534 "fe/idl.tab.cpp" +#line 4523 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4590,7 +4579,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4594 "fe/idl.tab.cpp" +#line 4583 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4598,7 +4587,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4602 "fe/idl.tab.cpp" +#line 4591 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4606,7 +4595,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4610 "fe/idl.tab.cpp" +#line 4599 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4676,7 +4665,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4680 "fe/idl.tab.cpp" +#line 4669 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4689,7 +4678,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4693 "fe/idl.tab.cpp" +#line 4682 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4702,7 +4691,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4706 "fe/idl.tab.cpp" +#line 4695 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4715,7 +4704,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4719 "fe/idl.tab.cpp" +#line 4708 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4728,7 +4717,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4732 "fe/idl.tab.cpp" +#line 4721 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4741,7 +4730,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4745 "fe/idl.tab.cpp" +#line 4734 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4754,7 +4743,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4758 "fe/idl.tab.cpp" +#line 4747 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4767,7 +4756,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4771 "fe/idl.tab.cpp" +#line 4760 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4780,7 +4769,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4784 "fe/idl.tab.cpp" +#line 4773 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4793,7 +4782,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4797 "fe/idl.tab.cpp" +#line 4786 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4806,7 +4795,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4810 "fe/idl.tab.cpp" +#line 4799 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4819,7 +4808,7 @@ yyparse (void) 0 ); } -#line 4823 "fe/idl.tab.cpp" +#line 4812 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4832,7 +4821,7 @@ yyparse (void) 0 ); } -#line 4836 "fe/idl.tab.cpp" +#line 4825 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4845,7 +4834,7 @@ yyparse (void) 0 ); } -#line 4849 "fe/idl.tab.cpp" +#line 4838 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4906,7 +4895,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4910 "fe/idl.tab.cpp" +#line 4899 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4914,7 +4903,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4918 "fe/idl.tab.cpp" +#line 4907 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4922,7 +4911,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4926 "fe/idl.tab.cpp" +#line 4915 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4931,7 +4920,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4935 "fe/idl.tab.cpp" +#line 4924 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4942,7 +4931,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4946 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4953,7 +4942,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4957 "fe/idl.tab.cpp" +#line 4946 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4961,7 +4950,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4965 "fe/idl.tab.cpp" +#line 4954 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4970,7 +4959,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4974 "fe/idl.tab.cpp" +#line 4963 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4978,7 +4967,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4982 "fe/idl.tab.cpp" +#line 4971 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -4986,7 +4975,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4990 "fe/idl.tab.cpp" +#line 4979 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -4994,7 +4983,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4998 "fe/idl.tab.cpp" +#line 4987 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5002,7 +4991,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5006 "fe/idl.tab.cpp" +#line 4995 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5071,7 +5060,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5075 "fe/idl.tab.cpp" +#line 5064 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5092,7 +5081,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5096 "fe/idl.tab.cpp" +#line 5085 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5105,7 +5094,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5109 "fe/idl.tab.cpp" +#line 5098 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5114,7 +5103,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5118 "fe/idl.tab.cpp" +#line 5107 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5171,7 +5160,7 @@ yyparse (void) delete result; } } -#line 5175 "fe/idl.tab.cpp" +#line 5164 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5179,7 +5168,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5183 "fe/idl.tab.cpp" +#line 5172 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5187,7 +5176,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5191 "fe/idl.tab.cpp" +#line 5180 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5201,7 +5190,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5205 "fe/idl.tab.cpp" +#line 5194 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5215,7 +5204,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5219 "fe/idl.tab.cpp" +#line 5208 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5223,7 +5212,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5227 "fe/idl.tab.cpp" +#line 5216 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5284,7 +5273,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5288 "fe/idl.tab.cpp" +#line 5277 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5316,7 +5305,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5320 "fe/idl.tab.cpp" +#line 5309 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5324,7 +5313,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5328 "fe/idl.tab.cpp" +#line 5317 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5332,7 +5321,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5336 "fe/idl.tab.cpp" +#line 5325 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5345,7 +5334,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5349 "fe/idl.tab.cpp" +#line 5338 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5353,7 +5342,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5357 "fe/idl.tab.cpp" +#line 5346 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5363,7 +5352,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5367 "fe/idl.tab.cpp" +#line 5356 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5373,7 +5362,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5377 "fe/idl.tab.cpp" +#line 5366 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5381,7 +5370,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5385 "fe/idl.tab.cpp" +#line 5374 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5394,7 +5383,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5398 "fe/idl.tab.cpp" +#line 5387 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5403,7 +5392,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5407 "fe/idl.tab.cpp" +#line 5396 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5411,7 +5400,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5415 "fe/idl.tab.cpp" +#line 5404 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5419,7 +5408,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5423 "fe/idl.tab.cpp" +#line 5412 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5427,7 +5416,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5431 "fe/idl.tab.cpp" +#line 5420 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5435,7 +5424,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5439 "fe/idl.tab.cpp" +#line 5428 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5467,7 +5456,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5471 "fe/idl.tab.cpp" +#line 5460 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5475,7 +5464,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5479 "fe/idl.tab.cpp" +#line 5468 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5483,7 +5472,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5487 "fe/idl.tab.cpp" +#line 5476 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5551,7 +5540,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5555 "fe/idl.tab.cpp" +#line 5544 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5562,7 +5551,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5566 "fe/idl.tab.cpp" +#line 5555 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5589,7 +5578,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5593 "fe/idl.tab.cpp" +#line 5582 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5600,7 +5589,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5604 "fe/idl.tab.cpp" +#line 5593 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5608,7 +5597,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5612 "fe/idl.tab.cpp" +#line 5601 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5632,7 +5621,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5636 "fe/idl.tab.cpp" +#line 5625 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5640,7 +5629,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5644 "fe/idl.tab.cpp" +#line 5633 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5651,7 +5640,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5655 "fe/idl.tab.cpp" +#line 5644 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5659,7 +5648,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5663 "fe/idl.tab.cpp" +#line 5652 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5683,7 +5672,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5687 "fe/idl.tab.cpp" +#line 5676 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5691,7 +5680,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5695 "fe/idl.tab.cpp" +#line 5684 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5708,7 +5697,7 @@ yyparse (void) 0), 1); } -#line 5712 "fe/idl.tab.cpp" +#line 5701 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5727,7 +5716,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5731 "fe/idl.tab.cpp" +#line 5720 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5735,7 +5724,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5739 "fe/idl.tab.cpp" +#line 5728 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5743,7 +5732,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5747 "fe/idl.tab.cpp" +#line 5736 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5751,7 +5740,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5755 "fe/idl.tab.cpp" +#line 5744 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5759,7 +5748,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5763 "fe/idl.tab.cpp" +#line 5752 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5767,7 +5756,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5771 "fe/idl.tab.cpp" +#line 5760 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5775,7 +5764,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5779 "fe/idl.tab.cpp" +#line 5768 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5783,7 +5772,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5787 "fe/idl.tab.cpp" +#line 5776 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5791,7 +5780,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5795 "fe/idl.tab.cpp" +#line 5784 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5799,7 +5788,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5803 "fe/idl.tab.cpp" +#line 5792 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5807,7 +5796,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5811 "fe/idl.tab.cpp" +#line 5800 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5815,7 +5804,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5819 "fe/idl.tab.cpp" +#line 5808 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5823,7 +5812,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5827 "fe/idl.tab.cpp" +#line 5816 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5831,7 +5820,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5835 "fe/idl.tab.cpp" +#line 5824 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5839,7 +5828,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5843 "fe/idl.tab.cpp" +#line 5832 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5847,7 +5836,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5851 "fe/idl.tab.cpp" +#line 5840 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5855,7 +5844,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5859 "fe/idl.tab.cpp" +#line 5848 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5863,7 +5852,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5867 "fe/idl.tab.cpp" +#line 5856 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5871,7 +5860,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5875 "fe/idl.tab.cpp" +#line 5864 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5879,7 +5868,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5883 "fe/idl.tab.cpp" +#line 5872 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5887,7 +5876,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5891 "fe/idl.tab.cpp" +#line 5880 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5895,7 +5884,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5899 "fe/idl.tab.cpp" +#line 5888 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5903,7 +5892,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5907 "fe/idl.tab.cpp" +#line 5896 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5911,7 +5900,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5915 "fe/idl.tab.cpp" +#line 5904 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5919,7 +5908,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5923 "fe/idl.tab.cpp" +#line 5912 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5927,7 +5916,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5931 "fe/idl.tab.cpp" +#line 5920 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5936,7 +5925,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5940 "fe/idl.tab.cpp" +#line 5929 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5971,7 +5960,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5975 "fe/idl.tab.cpp" +#line 5964 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5979,7 +5968,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5983 "fe/idl.tab.cpp" +#line 5972 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -5987,7 +5976,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5991 "fe/idl.tab.cpp" +#line 5980 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6003,7 +5992,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6007 "fe/idl.tab.cpp" +#line 5996 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6021,7 +6010,7 @@ yyparse (void) delete annotations; delete members; } -#line 6025 "fe/idl.tab.cpp" +#line 6014 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6029,7 +6018,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6033 "fe/idl.tab.cpp" +#line 6022 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6037,7 +6026,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6041 "fe/idl.tab.cpp" +#line 6030 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6095,7 +6084,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6099 "fe/idl.tab.cpp" +#line 6088 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6103,7 +6092,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6107 "fe/idl.tab.cpp" +#line 6096 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6112,7 +6101,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6116 "fe/idl.tab.cpp" +#line 6105 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6120,7 +6109,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6124 "fe/idl.tab.cpp" +#line 6113 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6129,7 +6118,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6133 "fe/idl.tab.cpp" +#line 6122 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6137,7 +6126,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6141 "fe/idl.tab.cpp" +#line 6130 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6174,7 +6163,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6178 "fe/idl.tab.cpp" +#line 6167 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6182,7 +6171,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6186 "fe/idl.tab.cpp" +#line 6175 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6245,7 +6234,7 @@ yyparse (void) delete disc_annotations; } -#line 6249 "fe/idl.tab.cpp" +#line 6238 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6253,7 +6242,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6257 "fe/idl.tab.cpp" +#line 6246 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6261,7 +6250,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6265 "fe/idl.tab.cpp" +#line 6254 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6281,7 +6270,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6285 "fe/idl.tab.cpp" +#line 6274 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6292,7 +6281,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6296 "fe/idl.tab.cpp" +#line 6285 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6309,7 +6298,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6313 "fe/idl.tab.cpp" +#line 6302 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6322,7 +6311,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6326 "fe/idl.tab.cpp" +#line 6315 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6333,7 +6322,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6337 "fe/idl.tab.cpp" +#line 6326 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6444,7 +6433,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6448 "fe/idl.tab.cpp" +#line 6437 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6452,7 +6441,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6456 "fe/idl.tab.cpp" +#line 6445 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6460,7 +6449,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6464 "fe/idl.tab.cpp" +#line 6453 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6496,7 +6485,7 @@ yyparse (void) delete annotations; } -#line 6500 "fe/idl.tab.cpp" +#line 6489 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6504,7 +6493,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6508 "fe/idl.tab.cpp" +#line 6497 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6513,7 +6502,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6517 "fe/idl.tab.cpp" +#line 6506 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6524,7 +6513,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6528 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6546,7 +6535,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6550 "fe/idl.tab.cpp" +#line 6539 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6554,7 +6543,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6558 "fe/idl.tab.cpp" +#line 6547 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6562,7 +6551,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6566 "fe/idl.tab.cpp" +#line 6555 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6575,7 +6564,7 @@ yyparse (void) 0 ); } -#line 6579 "fe/idl.tab.cpp" +#line 6568 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6583,7 +6572,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6587 "fe/idl.tab.cpp" +#line 6576 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6591,7 +6580,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6595 "fe/idl.tab.cpp" +#line 6584 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6604,7 +6593,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6608 "fe/idl.tab.cpp" +#line 6597 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6612,7 +6601,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6616 "fe/idl.tab.cpp" +#line 6605 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6659,7 +6648,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6663 "fe/idl.tab.cpp" +#line 6652 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6685,7 +6674,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6689 "fe/idl.tab.cpp" +#line 6678 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6709,7 +6698,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6713 "fe/idl.tab.cpp" +#line 6702 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6717,7 +6706,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6721 "fe/idl.tab.cpp" +#line 6710 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6752,7 +6741,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6756 "fe/idl.tab.cpp" +#line 6745 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6760,7 +6749,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6764 "fe/idl.tab.cpp" +#line 6753 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6768,7 +6757,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6772 "fe/idl.tab.cpp" +#line 6761 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6791,7 +6780,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6795 "fe/idl.tab.cpp" +#line 6784 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6799,7 +6788,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6803 "fe/idl.tab.cpp" +#line 6792 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6838,43 +6827,17 @@ yyparse (void) delete annotations; } -#line 6842 "fe/idl.tab.cpp" +#line 6831 "fe/idl.tab.cpp" break; - case 354: /* $@91: %empty */ -#line 3897 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); - idl_global->scopes().push(0); - } -#line 6851 "fe/idl.tab.cpp" - break; - - case 355: /* $@92: %empty */ + case 354: /* map_type_spec: IDL_MAP '<' map_type ',' map_type '>' */ #line 3902 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); - } -#line 6859 "fe/idl.tab.cpp" - break; - - case 356: /* $@93: %empty */ -#line 3907 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); - } -#line 6867 "fe/idl.tab.cpp" - break; - - case 357: /* map_type_spec: IDL_MAP $@91 '<' $@92 map_type ',' $@93 map_type '>' */ -#line 3912 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-4].decl_annotations_pair_val); + Decl_Annotations_Pair *key_type = (yyvsp[-3].decl_annotations_pair_val); Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); - + /* * Remove sequence marker from scopes stack. */ @@ -6923,11 +6886,11 @@ yyparse (void) (yyval.dcval) = map; } -#line 6927 "fe/idl.tab.cpp" +#line 6890 "fe/idl.tab.cpp" break; - case 358: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3975 "fe/idl.ypp" + case 355: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3964 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); @@ -6978,11 +6941,11 @@ yyparse (void) } (yyval.dcval) = map; } -#line 6982 "fe/idl.tab.cpp" +#line 6945 "fe/idl.tab.cpp" break; - case 359: /* map_type: annotations_maybe simple_type_spec */ -#line 4029 "fe/idl.ypp" + case 356: /* map_type: annotations_maybe simple_type_spec */ +#line 4018 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; @@ -6990,27 +6953,27 @@ yyparse (void) pair->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = pair; } -#line 6994 "fe/idl.tab.cpp" +#line 6957 "fe/idl.tab.cpp" break; - case 360: /* $@94: %empty */ -#line 4041 "fe/idl.ypp" + case 357: /* $@91: %empty */ +#line 4030 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7002 "fe/idl.tab.cpp" +#line 6965 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4045 "fe/idl.ypp" + case 358: /* $@92: %empty */ +#line 4034 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7010 "fe/idl.tab.cpp" +#line 6973 "fe/idl.tab.cpp" break; - case 362: /* sequence_type_spec: seq_head ',' $@94 positive_int_expr $@95 '>' */ -#line 4049 "fe/idl.ypp" + case 359: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ +#line 4038 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7091,11 +7054,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7095 "fe/idl.tab.cpp" +#line 7058 "fe/idl.tab.cpp" break; - case 363: /* sequence_type_spec: seq_head '>' */ -#line 4131 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head '>' */ +#line 4120 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7157,11 +7120,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7161 "fe/idl.tab.cpp" +#line 7124 "fe/idl.tab.cpp" break; - case 364: /* $@96: %empty */ -#line 4196 "fe/idl.ypp" + case 361: /* $@93: %empty */ +#line 4185 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7170,19 +7133,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7174 "fe/idl.tab.cpp" +#line 7137 "fe/idl.tab.cpp" break; - case 365: /* $@97: %empty */ -#line 4205 "fe/idl.ypp" + case 362: /* $@94: %empty */ +#line 4194 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7182 "fe/idl.tab.cpp" +#line 7145 "fe/idl.tab.cpp" break; - case 366: /* seq_head: IDL_SEQUENCE $@96 '<' $@97 annotations_maybe simple_type_spec */ -#line 4209 "fe/idl.ypp" + case 363: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ +#line 4198 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7190,36 +7153,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7194 "fe/idl.tab.cpp" +#line 7157 "fe/idl.tab.cpp" break; - case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4220 "fe/idl.ypp" + case 364: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4209 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7203 "fe/idl.tab.cpp" +#line 7166 "fe/idl.tab.cpp" break; - case 368: /* $@98: %empty */ -#line 4229 "fe/idl.ypp" + case 365: /* $@95: %empty */ +#line 4218 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7211 "fe/idl.tab.cpp" +#line 7174 "fe/idl.tab.cpp" break; - case 369: /* $@99: %empty */ -#line 4233 "fe/idl.ypp" + case 366: /* $@96: %empty */ +#line 4222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7219 "fe/idl.tab.cpp" +#line 7182 "fe/idl.tab.cpp" break; - case 370: /* string_type_spec: string_head '<' $@98 positive_int_expr $@99 '>' */ -#line 4237 "fe/idl.ypp" + case 367: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ +#line 4226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7258,11 +7221,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7262 "fe/idl.tab.cpp" +#line 7225 "fe/idl.tab.cpp" break; - case 371: /* string_type_spec: string_head */ -#line 4276 "fe/idl.ypp" + case 368: /* string_type_spec: string_head */ +#line 4265 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7285,35 +7248,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7289 "fe/idl.tab.cpp" +#line 7252 "fe/idl.tab.cpp" break; - case 372: /* string_head: IDL_STRING */ -#line 4302 "fe/idl.ypp" + case 369: /* string_head: IDL_STRING */ +#line 4291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7297 "fe/idl.tab.cpp" +#line 7260 "fe/idl.tab.cpp" break; - case 373: /* $@100: %empty */ -#line 4310 "fe/idl.ypp" + case 370: /* $@97: %empty */ +#line 4299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7305 "fe/idl.tab.cpp" +#line 7268 "fe/idl.tab.cpp" break; - case 374: /* $@101: %empty */ -#line 4314 "fe/idl.ypp" + case 371: /* $@98: %empty */ +#line 4303 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7313 "fe/idl.tab.cpp" +#line 7276 "fe/idl.tab.cpp" break; - case 375: /* wstring_type_spec: wstring_head '<' $@100 positive_int_expr $@101 '>' */ -#line 4318 "fe/idl.ypp" + case 372: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ +#line 4307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7352,11 +7315,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7356 "fe/idl.tab.cpp" +#line 7319 "fe/idl.tab.cpp" break; - case 376: /* wstring_type_spec: wstring_head */ -#line 4357 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head */ +#line 4346 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7379,27 +7342,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7383 "fe/idl.tab.cpp" +#line 7346 "fe/idl.tab.cpp" break; - case 377: /* wstring_head: IDL_WSTRING */ -#line 4383 "fe/idl.ypp" + case 374: /* wstring_head: IDL_WSTRING */ +#line 4372 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7391 "fe/idl.tab.cpp" +#line 7354 "fe/idl.tab.cpp" break; - case 378: /* $@102: %empty */ -#line 4390 "fe/idl.ypp" + case 375: /* $@99: %empty */ +#line 4379 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7399 "fe/idl.tab.cpp" +#line 7362 "fe/idl.tab.cpp" break; - case 379: /* array_declarator: defining_id $@102 annotations_maybe at_least_one_array_dim */ -#line 4394 "fe/idl.ypp" + case 376: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ +#line 4383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7435,22 +7398,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7439 "fe/idl.tab.cpp" +#line 7402 "fe/idl.tab.cpp" break; - case 380: /* at_least_one_array_dim: array_dim array_dims */ -#line 4433 "fe/idl.ypp" + case 377: /* at_least_one_array_dim: array_dim array_dims */ +#line 4422 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7450 "fe/idl.tab.cpp" +#line 7413 "fe/idl.tab.cpp" break; - case 381: /* array_dims: array_dims array_dim */ -#line 4443 "fe/idl.ypp" + case 378: /* array_dims: array_dims array_dim */ +#line 4432 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7468,35 +7431,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7472 "fe/idl.tab.cpp" +#line 7435 "fe/idl.tab.cpp" break; - case 382: /* array_dims: %empty */ -#line 4461 "fe/idl.ypp" + case 379: /* array_dims: %empty */ +#line 4450 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7480 "fe/idl.tab.cpp" +#line 7443 "fe/idl.tab.cpp" break; - case 383: /* $@103: %empty */ -#line 4468 "fe/idl.ypp" + case 380: /* $@100: %empty */ +#line 4457 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7488 "fe/idl.tab.cpp" +#line 7451 "fe/idl.tab.cpp" break; - case 384: /* $@104: %empty */ -#line 4472 "fe/idl.ypp" + case 381: /* $@101: %empty */ +#line 4461 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7496 "fe/idl.tab.cpp" +#line 7459 "fe/idl.tab.cpp" break; - case 385: /* array_dim: '[' $@103 positive_int_expr $@104 ']' */ -#line 4476 "fe/idl.ypp" + case 382: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ +#line 4465 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7550,43 +7513,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7554 "fe/idl.tab.cpp" +#line 7517 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4538 "fe/idl.ypp" + case 385: /* $@102: %empty */ +#line 4527 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7562 "fe/idl.tab.cpp" +#line 7525 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4542 "fe/idl.ypp" + case 386: /* $@103: %empty */ +#line 4531 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7570 "fe/idl.tab.cpp" +#line 7533 "fe/idl.tab.cpp" break; - case 390: /* $@107: %empty */ -#line 4546 "fe/idl.ypp" + case 387: /* $@104: %empty */ +#line 4535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7578 "fe/idl.tab.cpp" +#line 7541 "fe/idl.tab.cpp" break; - case 391: /* $@108: %empty */ -#line 4550 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7586 "fe/idl.tab.cpp" +#line 7549 "fe/idl.tab.cpp" break; - case 392: /* attribute_readonly: IDL_READONLY $@105 IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_raises */ -#line 4554 "fe/idl.ypp" + case 389: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ +#line 4543 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7638,43 +7601,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7642 "fe/idl.tab.cpp" +#line 7605 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4609 "fe/idl.ypp" + case 390: /* $@106: %empty */ +#line 4598 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7650 "fe/idl.tab.cpp" +#line 7613 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4613 "fe/idl.ypp" + case 391: /* $@107: %empty */ +#line 4602 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7658 "fe/idl.tab.cpp" +#line 7621 "fe/idl.tab.cpp" break; - case 395: /* $@111: %empty */ -#line 4617 "fe/idl.ypp" + case 392: /* $@108: %empty */ +#line 4606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7666 "fe/idl.tab.cpp" +#line 7629 "fe/idl.tab.cpp" break; - case 396: /* $@112: %empty */ -#line 4621 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7674 "fe/idl.tab.cpp" +#line 7637 "fe/idl.tab.cpp" break; - case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@109 param_type_spec $@110 at_least_one_simple_declarator $@111 opt_getraises $@112 opt_setraises */ -#line 4625 "fe/idl.ypp" + case 394: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ +#line 4614 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7735,19 +7698,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7739 "fe/idl.tab.cpp" +#line 7702 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4689 "fe/idl.ypp" + case 395: /* $@110: %empty */ +#line 4678 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7747 "fe/idl.tab.cpp" +#line 7710 "fe/idl.tab.cpp" break; - case 399: /* @114: %empty */ -#line 4693 "fe/idl.ypp" + case 396: /* @111: %empty */ +#line 4682 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7779,27 +7742,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7783 "fe/idl.tab.cpp" +#line 7746 "fe/idl.tab.cpp" break; - case 400: /* $@115: %empty */ -#line 4725 "fe/idl.ypp" + case 397: /* $@112: %empty */ +#line 4714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7791 "fe/idl.tab.cpp" +#line 7754 "fe/idl.tab.cpp" break; - case 401: /* $@116: %empty */ -#line 4729 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7799 "fe/idl.tab.cpp" +#line 7762 "fe/idl.tab.cpp" break; - case 402: /* exception: IDL_EXCEPTION $@113 defining_id @114 '{' $@115 members $@116 '}' */ -#line 4733 "fe/idl.ypp" + case 399: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ +#line 4722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7809,19 +7772,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7813 "fe/idl.tab.cpp" +#line 7776 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4746 "fe/idl.ypp" + case 400: /* $@114: %empty */ +#line 4735 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7821 "fe/idl.tab.cpp" +#line 7784 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4750 "fe/idl.ypp" + case 401: /* $@115: %empty */ +#line 4739 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7882,27 +7845,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7886 "fe/idl.tab.cpp" +#line 7849 "fe/idl.tab.cpp" break; - case 405: /* $@119: %empty */ -#line 4811 "fe/idl.ypp" + case 402: /* $@116: %empty */ +#line 4800 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7894 "fe/idl.tab.cpp" +#line 7857 "fe/idl.tab.cpp" break; - case 406: /* $@120: %empty */ -#line 4815 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4804 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7902 "fe/idl.tab.cpp" +#line 7865 "fe/idl.tab.cpp" break; - case 407: /* operation: opt_op_attribute op_type_spec $@117 IDENTIFIER $@118 parameter_list $@119 opt_raises $@120 opt_context */ -#line 4819 "fe/idl.ypp" + case 404: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ +#line 4808 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7933,57 +7896,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7937 "fe/idl.tab.cpp" +#line 7900 "fe/idl.tab.cpp" break; - case 408: /* opt_op_attribute: IDL_ONEWAY */ -#line 4853 "fe/idl.ypp" + case 405: /* opt_op_attribute: IDL_ONEWAY */ +#line 4842 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7946 "fe/idl.tab.cpp" +#line 7909 "fe/idl.tab.cpp" break; - case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4858 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4847 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7955 "fe/idl.tab.cpp" +#line 7918 "fe/idl.tab.cpp" break; - case 410: /* opt_op_attribute: %empty */ -#line 4863 "fe/idl.ypp" + case 407: /* opt_op_attribute: %empty */ +#line 4852 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7963 "fe/idl.tab.cpp" +#line 7926 "fe/idl.tab.cpp" break; - case 412: /* op_type_spec: IDL_VOID */ -#line 4871 "fe/idl.ypp" + case 409: /* op_type_spec: IDL_VOID */ +#line 4860 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7974 "fe/idl.tab.cpp" +#line 7937 "fe/idl.tab.cpp" break; - case 413: /* $@121: %empty */ -#line 4881 "fe/idl.ypp" + case 410: /* $@118: %empty */ +#line 4870 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7983 "fe/idl.tab.cpp" +#line 7946 "fe/idl.tab.cpp" break; - case 414: /* @122: %empty */ -#line 4886 "fe/idl.ypp" + case 411: /* @119: %empty */ +#line 4875 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8026,19 +7989,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8030 "fe/idl.tab.cpp" +#line 7993 "fe/idl.tab.cpp" break; - case 415: /* $@123: %empty */ -#line 4929 "fe/idl.ypp" + case 412: /* $@120: %empty */ +#line 4918 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8038 "fe/idl.tab.cpp" +#line 8001 "fe/idl.tab.cpp" break; - case 416: /* init_decl: IDL_FACTORY $@121 IDENTIFIER @122 init_parameter_list $@123 opt_raises */ -#line 4933 "fe/idl.ypp" + case 413: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ +#line 4922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8053,67 +8016,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8057 "fe/idl.tab.cpp" +#line 8020 "fe/idl.tab.cpp" break; - case 417: /* $@124: %empty */ -#line 4951 "fe/idl.ypp" + case 414: /* $@121: %empty */ +#line 4940 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8065 "fe/idl.tab.cpp" +#line 8028 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@124 ')' */ -#line 4955 "fe/idl.ypp" + case 415: /* init_parameter_list: '(' $@121 ')' */ +#line 4944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8073 "fe/idl.tab.cpp" +#line 8036 "fe/idl.tab.cpp" break; - case 419: /* $@125: %empty */ -#line 4959 "fe/idl.ypp" + case 416: /* $@122: %empty */ +#line 4948 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8081 "fe/idl.tab.cpp" +#line 8044 "fe/idl.tab.cpp" break; - case 420: /* init_parameter_list: '(' $@125 at_least_one_in_parameter ')' */ -#line 4964 "fe/idl.ypp" + case 417: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ +#line 4953 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8089 "fe/idl.tab.cpp" +#line 8052 "fe/idl.tab.cpp" break; - case 422: /* $@126: %empty */ -#line 4974 "fe/idl.ypp" + case 419: /* $@123: %empty */ +#line 4963 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8097 "fe/idl.tab.cpp" +#line 8060 "fe/idl.tab.cpp" break; - case 425: /* $@127: %empty */ -#line 4983 "fe/idl.ypp" + case 422: /* $@124: %empty */ +#line 4972 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8105 "fe/idl.tab.cpp" +#line 8068 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 4987 "fe/idl.ypp" + case 423: /* $@125: %empty */ +#line 4976 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8113 "fe/idl.tab.cpp" +#line 8076 "fe/idl.tab.cpp" break; - case 427: /* in_parameter: IDL_IN $@127 param_type_spec $@128 declarator */ -#line 4991 "fe/idl.ypp" + case 424: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ +#line 4980 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8145,67 +8108,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8149 "fe/idl.tab.cpp" +#line 8112 "fe/idl.tab.cpp" break; - case 428: /* $@129: %empty */ -#line 5026 "fe/idl.ypp" + case 425: /* $@126: %empty */ +#line 5015 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8157 "fe/idl.tab.cpp" +#line 8120 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@129 ')' */ -#line 5030 "fe/idl.ypp" + case 426: /* parameter_list: '(' $@126 ')' */ +#line 5019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8165 "fe/idl.tab.cpp" +#line 8128 "fe/idl.tab.cpp" break; - case 430: /* $@130: %empty */ -#line 5034 "fe/idl.ypp" + case 427: /* $@127: %empty */ +#line 5023 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8173 "fe/idl.tab.cpp" +#line 8136 "fe/idl.tab.cpp" break; - case 431: /* parameter_list: '(' $@130 at_least_one_parameter ')' */ -#line 5039 "fe/idl.ypp" + case 428: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ +#line 5028 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8181 "fe/idl.tab.cpp" +#line 8144 "fe/idl.tab.cpp" break; - case 433: /* $@131: %empty */ -#line 5049 "fe/idl.ypp" + case 430: /* $@128: %empty */ +#line 5038 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8189 "fe/idl.tab.cpp" +#line 8152 "fe/idl.tab.cpp" break; - case 436: /* $@132: %empty */ -#line 5058 "fe/idl.ypp" + case 433: /* $@129: %empty */ +#line 5047 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8197 "fe/idl.tab.cpp" +#line 8160 "fe/idl.tab.cpp" break; - case 437: /* $@133: %empty */ -#line 5062 "fe/idl.ypp" + case 434: /* $@130: %empty */ +#line 5051 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8205 "fe/idl.tab.cpp" +#line 8168 "fe/idl.tab.cpp" break; - case 438: /* parameter: direction $@132 param_type_spec $@133 declarator */ -#line 5066 "fe/idl.ypp" + case 435: /* parameter: direction $@129 param_type_spec $@130 declarator */ +#line 5055 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8244,22 +8207,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8248 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; - case 439: /* param_type_spec: base_type_spec */ -#line 5108 "fe/idl.ypp" + case 436: /* param_type_spec: base_type_spec */ +#line 5097 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8259 "fe/idl.tab.cpp" +#line 8222 "fe/idl.tab.cpp" break; - case 442: /* param_type_spec: scoped_name */ -#line 5117 "fe/idl.ypp" + case 439: /* param_type_spec: scoped_name */ +#line 5106 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8363,186 +8326,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8367 "fe/idl.tab.cpp" +#line 8330 "fe/idl.tab.cpp" break; - case 443: /* direction: IDL_IN */ -#line 5224 "fe/idl.ypp" + case 440: /* direction: IDL_IN */ +#line 5213 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8375 "fe/idl.tab.cpp" +#line 8338 "fe/idl.tab.cpp" break; - case 444: /* direction: IDL_OUT */ -#line 5228 "fe/idl.ypp" + case 441: /* direction: IDL_OUT */ +#line 5217 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8383 "fe/idl.tab.cpp" +#line 8346 "fe/idl.tab.cpp" break; - case 445: /* direction: IDL_INOUT */ -#line 5232 "fe/idl.ypp" + case 442: /* direction: IDL_INOUT */ +#line 5221 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8391 "fe/idl.tab.cpp" +#line 8354 "fe/idl.tab.cpp" break; - case 446: /* $@134: %empty */ -#line 5239 "fe/idl.ypp" + case 443: /* $@131: %empty */ +#line 5228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8399 "fe/idl.tab.cpp" +#line 8362 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5243 "fe/idl.ypp" + case 444: /* $@132: %empty */ +#line 5232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8407 "fe/idl.tab.cpp" +#line 8370 "fe/idl.tab.cpp" break; - case 448: /* opt_raises: IDL_RAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ -#line 5248 "fe/idl.ypp" + case 445: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ +#line 5237 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8416 "fe/idl.tab.cpp" +#line 8379 "fe/idl.tab.cpp" break; - case 449: /* opt_raises: %empty */ -#line 5253 "fe/idl.ypp" + case 446: /* opt_raises: %empty */ +#line 5242 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8424 "fe/idl.tab.cpp" +#line 8387 "fe/idl.tab.cpp" break; - case 450: /* $@136: %empty */ -#line 5260 "fe/idl.ypp" + case 447: /* $@133: %empty */ +#line 5249 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8432 "fe/idl.tab.cpp" +#line 8395 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5264 "fe/idl.ypp" + case 448: /* $@134: %empty */ +#line 5253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8440 "fe/idl.tab.cpp" +#line 8403 "fe/idl.tab.cpp" break; - case 452: /* opt_getraises: IDL_GETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5269 "fe/idl.ypp" + case 449: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ +#line 5258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8449 "fe/idl.tab.cpp" +#line 8412 "fe/idl.tab.cpp" break; - case 453: /* opt_getraises: %empty */ -#line 5274 "fe/idl.ypp" + case 450: /* opt_getraises: %empty */ +#line 5263 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8457 "fe/idl.tab.cpp" +#line 8420 "fe/idl.tab.cpp" break; - case 454: /* $@138: %empty */ -#line 5281 "fe/idl.ypp" + case 451: /* $@135: %empty */ +#line 5270 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8465 "fe/idl.tab.cpp" +#line 8428 "fe/idl.tab.cpp" break; - case 455: /* $@139: %empty */ -#line 5285 "fe/idl.ypp" + case 452: /* $@136: %empty */ +#line 5274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8473 "fe/idl.tab.cpp" +#line 8436 "fe/idl.tab.cpp" break; - case 456: /* opt_setraises: IDL_SETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ -#line 5290 "fe/idl.ypp" + case 453: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8482 "fe/idl.tab.cpp" +#line 8445 "fe/idl.tab.cpp" break; - case 457: /* opt_setraises: %empty */ -#line 5295 "fe/idl.ypp" + case 454: /* opt_setraises: %empty */ +#line 5284 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8490 "fe/idl.tab.cpp" +#line 8453 "fe/idl.tab.cpp" break; - case 458: /* $@140: %empty */ -#line 5302 "fe/idl.ypp" + case 455: /* $@137: %empty */ +#line 5291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8498 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; - case 459: /* $@141: %empty */ -#line 5306 "fe/idl.ypp" + case 456: /* $@138: %empty */ +#line 5295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8506 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; - case 460: /* opt_context: IDL_CONTEXT $@140 '(' $@141 at_least_one_string_literal ')' */ -#line 5311 "fe/idl.ypp" + case 457: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ +#line 5300 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8515 "fe/idl.tab.cpp" +#line 8478 "fe/idl.tab.cpp" break; - case 461: /* opt_context: %empty */ -#line 5316 "fe/idl.ypp" + case 458: /* opt_context: %empty */ +#line 5305 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8523 "fe/idl.tab.cpp" +#line 8486 "fe/idl.tab.cpp" break; - case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5323 "fe/idl.ypp" + case 459: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5312 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8534 "fe/idl.tab.cpp" +#line 8497 "fe/idl.tab.cpp" break; - case 463: /* $@142: %empty */ -#line 5334 "fe/idl.ypp" + case 460: /* $@139: %empty */ +#line 5323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8542 "fe/idl.tab.cpp" +#line 8505 "fe/idl.tab.cpp" break; - case 464: /* string_literals: string_literals ',' $@142 IDL_STRING_LITERAL */ -#line 5338 "fe/idl.ypp" + case 461: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ +#line 5327 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8560,19 +8523,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8564 "fe/idl.tab.cpp" +#line 8527 "fe/idl.tab.cpp" break; - case 465: /* string_literals: %empty */ -#line 5356 "fe/idl.ypp" + case 462: /* string_literals: %empty */ +#line 5345 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8572 "fe/idl.tab.cpp" +#line 8535 "fe/idl.tab.cpp" break; - case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5363 "fe/idl.ypp" + case 463: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5352 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8599,11 +8562,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8603 "fe/idl.tab.cpp" +#line 8566 "fe/idl.tab.cpp" break; - case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5393 "fe/idl.ypp" + case 464: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5382 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8639,11 +8602,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8643 "fe/idl.tab.cpp" +#line 8606 "fe/idl.tab.cpp" break; - case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5438 "fe/idl.ypp" + case 467: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5427 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8669,11 +8632,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8673 "fe/idl.tab.cpp" +#line 8636 "fe/idl.tab.cpp" break; - case 471: /* @143: %empty */ -#line 5467 "fe/idl.ypp" + case 468: /* @140: %empty */ +#line 5456 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8715,27 +8678,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8719 "fe/idl.tab.cpp" +#line 8682 "fe/idl.tab.cpp" break; - case 472: /* $@144: %empty */ -#line 5509 "fe/idl.ypp" + case 469: /* $@141: %empty */ +#line 5498 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8727 "fe/idl.tab.cpp" +#line 8690 "fe/idl.tab.cpp" break; - case 473: /* $@145: %empty */ -#line 5513 "fe/idl.ypp" + case 470: /* $@142: %empty */ +#line 5502 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8698 "fe/idl.tab.cpp" break; - case 474: /* component_decl: component_header @143 '{' $@144 component_exports $@145 '}' */ -#line 5517 "fe/idl.ypp" + case 471: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ +#line 5506 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8746,27 +8709,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8750 "fe/idl.tab.cpp" +#line 8713 "fe/idl.tab.cpp" break; - case 475: /* $@146: %empty */ -#line 5532 "fe/idl.ypp" + case 472: /* $@143: %empty */ +#line 5521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8758 "fe/idl.tab.cpp" +#line 8721 "fe/idl.tab.cpp" break; - case 476: /* $@147: %empty */ -#line 5536 "fe/idl.ypp" + case 473: /* $@144: %empty */ +#line 5525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8766 "fe/idl.tab.cpp" +#line 8729 "fe/idl.tab.cpp" break; - case 477: /* component_header: IDL_COMPONENT defining_id $@146 component_inheritance_spec $@147 supports_spec */ -#line 5540 "fe/idl.ypp" + case 474: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ +#line 5529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8800,35 +8763,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8804 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; - case 478: /* $@148: %empty */ -#line 5577 "fe/idl.ypp" + case 475: /* $@145: %empty */ +#line 5566 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8812 "fe/idl.tab.cpp" +#line 8775 "fe/idl.tab.cpp" break; - case 479: /* component_inheritance_spec: ':' $@148 scoped_name */ -#line 5581 "fe/idl.ypp" + case 476: /* component_inheritance_spec: ':' $@145 scoped_name */ +#line 5570 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8820 "fe/idl.tab.cpp" +#line 8783 "fe/idl.tab.cpp" break; - case 480: /* component_inheritance_spec: %empty */ -#line 5585 "fe/idl.ypp" + case 477: /* component_inheritance_spec: %empty */ +#line 5574 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8828 "fe/idl.tab.cpp" +#line 8791 "fe/idl.tab.cpp" break; - case 481: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5592 "fe/idl.ypp" + case 478: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5581 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8843,130 +8806,130 @@ yyparse (void) } delete annotations; } -#line 8847 "fe/idl.tab.cpp" +#line 8810 "fe/idl.tab.cpp" break; - case 484: /* $@149: %empty */ -#line 5612 "fe/idl.ypp" + case 481: /* $@146: %empty */ +#line 5601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8855 "fe/idl.tab.cpp" +#line 8818 "fe/idl.tab.cpp" break; - case 485: /* component_export: provides_decl $@149 ';' */ -#line 5616 "fe/idl.ypp" + case 482: /* component_export: provides_decl $@146 ';' */ +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8864 "fe/idl.tab.cpp" +#line 8827 "fe/idl.tab.cpp" break; - case 486: /* $@150: %empty */ -#line 5621 "fe/idl.ypp" + case 483: /* $@147: %empty */ +#line 5610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8872 "fe/idl.tab.cpp" +#line 8835 "fe/idl.tab.cpp" break; - case 487: /* component_export: uses_decl $@150 ';' */ -#line 5625 "fe/idl.ypp" + case 484: /* component_export: uses_decl $@147 ';' */ +#line 5614 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8881 "fe/idl.tab.cpp" +#line 8844 "fe/idl.tab.cpp" break; - case 488: /* $@151: %empty */ -#line 5630 "fe/idl.ypp" + case 485: /* $@148: %empty */ +#line 5619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8889 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; - case 489: /* component_export: emits_decl $@151 ';' */ -#line 5634 "fe/idl.ypp" + case 486: /* component_export: emits_decl $@148 ';' */ +#line 5623 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8898 "fe/idl.tab.cpp" +#line 8861 "fe/idl.tab.cpp" break; - case 490: /* $@152: %empty */ -#line 5639 "fe/idl.ypp" + case 487: /* $@149: %empty */ +#line 5628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8906 "fe/idl.tab.cpp" +#line 8869 "fe/idl.tab.cpp" break; - case 491: /* component_export: publishes_decl $@152 ';' */ -#line 5643 "fe/idl.ypp" + case 488: /* component_export: publishes_decl $@149 ';' */ +#line 5632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8915 "fe/idl.tab.cpp" +#line 8878 "fe/idl.tab.cpp" break; - case 492: /* $@153: %empty */ -#line 5648 "fe/idl.ypp" + case 489: /* $@150: %empty */ +#line 5637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8923 "fe/idl.tab.cpp" +#line 8886 "fe/idl.tab.cpp" break; - case 493: /* component_export: consumes_decl $@153 ';' */ -#line 5652 "fe/idl.ypp" + case 490: /* component_export: consumes_decl $@150 ';' */ +#line 5641 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8932 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 494: /* $@154: %empty */ -#line 5657 "fe/idl.ypp" + case 491: /* $@151: %empty */ +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8940 "fe/idl.tab.cpp" +#line 8903 "fe/idl.tab.cpp" break; - case 495: /* component_export: attribute $@154 ';' */ -#line 5661 "fe/idl.ypp" + case 492: /* component_export: attribute $@151 ';' */ +#line 5650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8949 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 496: /* $@155: %empty */ -#line 5666 "fe/idl.ypp" + case 493: /* $@152: %empty */ +#line 5655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8957 "fe/idl.tab.cpp" +#line 8920 "fe/idl.tab.cpp" break; - case 497: /* component_export: extended_port_decl $@155 ';' */ -#line 5670 "fe/idl.ypp" + case 494: /* component_export: extended_port_decl $@152 ';' */ +#line 5659 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8966 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 498: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5677 "fe/idl.ypp" + case 495: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5666 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9056,21 +9019,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9060 "fe/idl.tab.cpp" +#line 9023 "fe/idl.tab.cpp" break; - case 499: /* interface_type: scoped_name */ -#line 5770 "fe/idl.ypp" + case 496: /* interface_type: scoped_name */ +#line 5759 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9070 "fe/idl.tab.cpp" +#line 9033 "fe/idl.tab.cpp" break; - case 500: /* interface_type: IDL_OBJECT */ -#line 5776 "fe/idl.ypp" + case 497: /* interface_type: IDL_OBJECT */ +#line 5765 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9093,11 +9056,11 @@ yyparse (void) conc_name), 1); } -#line 9097 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; - case 501: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5801 "fe/idl.ypp" + case 498: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5790 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9201,37 +9164,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9205 "fe/idl.tab.cpp" +#line 9168 "fe/idl.tab.cpp" break; - case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5908 "fe/idl.ypp" + case 499: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5897 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9215 "fe/idl.tab.cpp" +#line 9178 "fe/idl.tab.cpp" break; - case 503: /* opt_multiple: IDL_MULTIPLE */ -#line 5917 "fe/idl.ypp" + case 500: /* opt_multiple: IDL_MULTIPLE */ +#line 5906 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9223 "fe/idl.tab.cpp" +#line 9186 "fe/idl.tab.cpp" break; - case 504: /* opt_multiple: %empty */ -#line 5921 "fe/idl.ypp" + case 501: /* opt_multiple: %empty */ +#line 5910 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9231 "fe/idl.tab.cpp" +#line 9194 "fe/idl.tab.cpp" break; - case 505: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5928 "fe/idl.ypp" + case 502: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5917 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9303,11 +9266,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9307 "fe/idl.tab.cpp" +#line 9270 "fe/idl.tab.cpp" break; - case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6003 "fe/idl.ypp" + case 503: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 5992 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9376,11 +9339,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9380 "fe/idl.tab.cpp" +#line 9343 "fe/idl.tab.cpp" break; - case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6075 "fe/idl.ypp" + case 504: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6064 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9452,11 +9415,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9456 "fe/idl.tab.cpp" +#line 9419 "fe/idl.tab.cpp" break; - case 508: /* $@156: %empty */ -#line 6150 "fe/idl.ypp" + case 505: /* $@153: %empty */ +#line 6139 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9493,11 +9456,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9497 "fe/idl.tab.cpp" +#line 9460 "fe/idl.tab.cpp" break; - case 509: /* home_decl: home_header $@156 home_body */ -#line 6187 "fe/idl.ypp" + case 506: /* home_decl: home_header $@153 home_body */ +#line 6176 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9506,59 +9469,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9510 "fe/idl.tab.cpp" +#line 9473 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6199 "fe/idl.ypp" + case 507: /* $@154: %empty */ +#line 6188 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9518 "fe/idl.tab.cpp" +#line 9481 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6203 "fe/idl.ypp" + case 508: /* $@155: %empty */ +#line 6192 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9526 "fe/idl.tab.cpp" +#line 9489 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6207 "fe/idl.ypp" + case 509: /* $@156: %empty */ +#line 6196 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9534 "fe/idl.tab.cpp" +#line 9497 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6211 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6200 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9542 "fe/idl.tab.cpp" +#line 9505 "fe/idl.tab.cpp" break; - case 514: /* $@161: %empty */ -#line 6215 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9550 "fe/idl.tab.cpp" +#line 9513 "fe/idl.tab.cpp" break; - case 515: /* $@162: %empty */ -#line 6219 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9558 "fe/idl.tab.cpp" +#line 9521 "fe/idl.tab.cpp" break; - case 516: /* home_header: IDL_HOME $@157 defining_id $@158 home_inheritance_spec $@159 supports_spec $@160 IDL_MANAGES $@161 scoped_name $@162 primary_key_spec */ -#line 6223 "fe/idl.ypp" + case 513: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ +#line 6212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9604,107 +9567,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9608 "fe/idl.tab.cpp" +#line 9571 "fe/idl.tab.cpp" break; - case 517: /* $@163: %empty */ -#line 6272 "fe/idl.ypp" + case 514: /* $@160: %empty */ +#line 6261 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9616 "fe/idl.tab.cpp" +#line 9579 "fe/idl.tab.cpp" break; - case 518: /* home_inheritance_spec: ':' $@163 scoped_name */ -#line 6276 "fe/idl.ypp" + case 515: /* home_inheritance_spec: ':' $@160 scoped_name */ +#line 6265 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9624 "fe/idl.tab.cpp" +#line 9587 "fe/idl.tab.cpp" break; - case 519: /* home_inheritance_spec: %empty */ -#line 6280 "fe/idl.ypp" + case 516: /* home_inheritance_spec: %empty */ +#line 6269 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9632 "fe/idl.tab.cpp" +#line 9595 "fe/idl.tab.cpp" break; - case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6288 "fe/idl.ypp" + case 517: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6277 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9640 "fe/idl.tab.cpp" +#line 9603 "fe/idl.tab.cpp" break; - case 521: /* primary_key_spec: %empty */ -#line 6292 "fe/idl.ypp" + case 518: /* primary_key_spec: %empty */ +#line 6281 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9648 "fe/idl.tab.cpp" +#line 9611 "fe/idl.tab.cpp" break; - case 522: /* $@164: %empty */ -#line 6299 "fe/idl.ypp" + case 519: /* $@161: %empty */ +#line 6288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9656 "fe/idl.tab.cpp" +#line 9619 "fe/idl.tab.cpp" break; - case 523: /* $@165: %empty */ -#line 6303 "fe/idl.ypp" + case 520: /* $@162: %empty */ +#line 6292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9664 "fe/idl.tab.cpp" +#line 9627 "fe/idl.tab.cpp" break; - case 524: /* home_body: '{' $@164 home_exports $@165 '}' */ -#line 6307 "fe/idl.ypp" + case 521: /* home_body: '{' $@161 home_exports $@162 '}' */ +#line 6296 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9672 "fe/idl.tab.cpp" +#line 9635 "fe/idl.tab.cpp" break; - case 528: /* $@166: %empty */ -#line 6320 "fe/idl.ypp" + case 525: /* $@163: %empty */ +#line 6309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9680 "fe/idl.tab.cpp" +#line 9643 "fe/idl.tab.cpp" break; - case 529: /* home_export: factory_decl $@166 ';' */ -#line 6324 "fe/idl.ypp" + case 526: /* home_export: factory_decl $@163 ';' */ +#line 6313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9688 "fe/idl.tab.cpp" +#line 9651 "fe/idl.tab.cpp" break; - case 530: /* $@167: %empty */ -#line 6328 "fe/idl.ypp" + case 527: /* $@164: %empty */ +#line 6317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9696 "fe/idl.tab.cpp" +#line 9659 "fe/idl.tab.cpp" break; - case 531: /* home_export: finder_decl $@167 ';' */ -#line 6332 "fe/idl.ypp" + case 528: /* home_export: finder_decl $@164 ';' */ +#line 6321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9704 "fe/idl.tab.cpp" +#line 9667 "fe/idl.tab.cpp" break; - case 532: /* $@168: %empty */ -#line 6340 "fe/idl.ypp" + case 529: /* $@165: %empty */ +#line 6329 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9727,19 +9690,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9731 "fe/idl.tab.cpp" +#line 9694 "fe/idl.tab.cpp" break; - case 533: /* $@169: %empty */ -#line 6363 "fe/idl.ypp" + case 530: /* $@166: %empty */ +#line 6352 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9739 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; - case 534: /* factory_decl: IDL_FACTORY defining_id $@168 init_parameter_list $@169 opt_raises */ -#line 6367 "fe/idl.ypp" + case 531: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ +#line 6356 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9757,11 +9720,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9761 "fe/idl.tab.cpp" +#line 9724 "fe/idl.tab.cpp" break; - case 535: /* $@170: %empty */ -#line 6389 "fe/idl.ypp" + case 532: /* $@167: %empty */ +#line 6378 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9788,19 +9751,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9792 "fe/idl.tab.cpp" +#line 9755 "fe/idl.tab.cpp" break; - case 536: /* $@171: %empty */ -#line 6416 "fe/idl.ypp" + case 533: /* $@168: %empty */ +#line 6405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9800 "fe/idl.tab.cpp" +#line 9763 "fe/idl.tab.cpp" break; - case 537: /* finder_decl: IDL_FINDER defining_id $@170 init_parameter_list $@171 opt_raises */ -#line 6420 "fe/idl.ypp" + case 534: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ +#line 6409 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9818,11 +9781,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9822 "fe/idl.tab.cpp" +#line 9785 "fe/idl.tab.cpp" break; - case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6453 "fe/idl.ypp" + case 540: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6442 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9847,11 +9810,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9851 "fe/idl.tab.cpp" +#line 9814 "fe/idl.tab.cpp" break; - case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6483 "fe/idl.ypp" + case 541: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6472 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9876,11 +9839,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9880 "fe/idl.tab.cpp" +#line 9843 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6512 "fe/idl.ypp" + case 542: /* $@169: %empty */ +#line 6501 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9924,27 +9887,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9928 "fe/idl.tab.cpp" +#line 9891 "fe/idl.tab.cpp" break; - case 546: /* $@173: %empty */ -#line 6556 "fe/idl.ypp" + case 543: /* $@170: %empty */ +#line 6545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9936 "fe/idl.tab.cpp" +#line 9899 "fe/idl.tab.cpp" break; - case 547: /* $@174: %empty */ -#line 6560 "fe/idl.ypp" + case 544: /* $@171: %empty */ +#line 6549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9944 "fe/idl.tab.cpp" +#line 9907 "fe/idl.tab.cpp" break; - case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@172 '{' $@173 exports $@174 '}' */ -#line 6564 "fe/idl.ypp" + case 545: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ +#line 6553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9955,19 +9918,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9959 "fe/idl.tab.cpp" +#line 9922 "fe/idl.tab.cpp" break; - case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6580 "fe/idl.ypp" + case 546: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6569 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9967 "fe/idl.tab.cpp" +#line 9930 "fe/idl.tab.cpp" break; - case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6589 "fe/idl.ypp" + case 547: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9980,29 +9943,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9984 "fe/idl.tab.cpp" +#line 9947 "fe/idl.tab.cpp" break; - case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6606 "fe/idl.ypp" + case 548: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6595 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9994 "fe/idl.tab.cpp" +#line 9957 "fe/idl.tab.cpp" break; - case 552: /* $@175: %empty */ -#line 6615 "fe/idl.ypp" + case 549: /* $@172: %empty */ +#line 6604 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10002 "fe/idl.tab.cpp" +#line 9965 "fe/idl.tab.cpp" break; - case 553: /* event_rest_of_header: inheritance_spec $@175 supports_spec */ -#line 6619 "fe/idl.ypp" + case 550: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ +#line 6608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10031,11 +9994,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10035 "fe/idl.tab.cpp" +#line 9998 "fe/idl.tab.cpp" break; - case 554: /* @176: %empty */ -#line 6652 "fe/idl.ypp" + case 551: /* @173: %empty */ +#line 6641 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10086,27 +10049,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10090 "fe/idl.tab.cpp" +#line 10053 "fe/idl.tab.cpp" break; - case 555: /* $@177: %empty */ -#line 6703 "fe/idl.ypp" + case 552: /* $@174: %empty */ +#line 6692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10098 "fe/idl.tab.cpp" +#line 10061 "fe/idl.tab.cpp" break; - case 556: /* $@178: %empty */ -#line 6707 "fe/idl.ypp" + case 553: /* $@175: %empty */ +#line 6696 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10106 "fe/idl.tab.cpp" +#line 10069 "fe/idl.tab.cpp" break; - case 557: /* event_decl: event_header event_rest_of_header @176 '{' $@177 value_elements $@178 '}' */ -#line 6711 "fe/idl.ypp" + case 554: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ +#line 6700 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10117,108 +10080,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10121 "fe/idl.tab.cpp" +#line 10084 "fe/idl.tab.cpp" break; - case 558: /* event_header: event_custom_header */ -#line 6725 "fe/idl.ypp" + case 555: /* event_header: event_custom_header */ +#line 6714 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10129 "fe/idl.tab.cpp" +#line 10092 "fe/idl.tab.cpp" break; - case 559: /* event_header: event_plain_header */ -#line 6729 "fe/idl.ypp" + case 556: /* event_header: event_plain_header */ +#line 6718 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10137 "fe/idl.tab.cpp" +#line 10100 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_TYPENAME */ -#line 6736 "fe/idl.ypp" + case 557: /* formal_parameter_type: IDL_TYPENAME */ +#line 6725 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10145 "fe/idl.tab.cpp" +#line 10108 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_STRUCT */ -#line 6740 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_STRUCT */ +#line 6729 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10153 "fe/idl.tab.cpp" +#line 10116 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_UNION */ -#line 6744 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_UNION */ +#line 6733 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10161 "fe/idl.tab.cpp" +#line 10124 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6748 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6737 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10169 "fe/idl.tab.cpp" +#line 10132 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6752 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6741 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10177 "fe/idl.tab.cpp" +#line 10140 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_INTERFACE */ -#line 6756 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_INTERFACE */ +#line 6745 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10185 "fe/idl.tab.cpp" +#line 10148 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6760 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6749 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10193 "fe/idl.tab.cpp" +#line 10156 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_ENUM */ -#line 6764 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_ENUM */ +#line 6753 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10201 "fe/idl.tab.cpp" +#line 10164 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6768 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6757 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10209 "fe/idl.tab.cpp" +#line 10172 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_CONST const_type */ -#line 6772 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_CONST const_type */ +#line 6761 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10218 "fe/idl.tab.cpp" +#line 10181 "fe/idl.tab.cpp" break; - case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6780 "fe/idl.ypp" + case 567: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6769 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10246,11 +10209,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10250 "fe/idl.tab.cpp" +#line 10213 "fe/idl.tab.cpp" break; - case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6811 "fe/idl.ypp" + case 568: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6800 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10263,19 +10226,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10267 "fe/idl.tab.cpp" +#line 10230 "fe/idl.tab.cpp" break; - case 572: /* formal_parameters: %empty */ -#line 6824 "fe/idl.ypp" + case 569: /* formal_parameters: %empty */ +#line 6813 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10275 "fe/idl.tab.cpp" +#line 10238 "fe/idl.tab.cpp" break; - case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6831 "fe/idl.ypp" + case 570: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6820 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10300,11 +10263,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10304 "fe/idl.tab.cpp" +#line 10267 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6856 "fe/idl.ypp" + case 571: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6845 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10319,19 +10282,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10323 "fe/idl.tab.cpp" +#line 10286 "fe/idl.tab.cpp" break; - case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6874 "fe/idl.ypp" + case 572: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6863 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10331 "fe/idl.tab.cpp" +#line 10294 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6881 "fe/idl.ypp" + case 573: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6870 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10346,37 +10309,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10350 "fe/idl.tab.cpp" +#line 10313 "fe/idl.tab.cpp" break; - case 577: /* formal_parameter_names: %empty */ -#line 6896 "fe/idl.ypp" + case 574: /* formal_parameter_names: %empty */ +#line 6885 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10358 "fe/idl.tab.cpp" +#line 10321 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_name: IDENTIFIER */ -#line 6903 "fe/idl.ypp" + case 575: /* formal_parameter_name: IDENTIFIER */ +#line 6892 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10368 "fe/idl.tab.cpp" +#line 10331 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6912 "fe/idl.ypp" + case 576: /* $@176: %empty */ +#line 6901 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10376 "fe/idl.tab.cpp" +#line 10339 "fe/idl.tab.cpp" break; - case 580: /* @180: %empty */ -#line 6916 "fe/idl.ypp" + case 577: /* @177: %empty */ +#line 6905 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10395,27 +10358,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10399 "fe/idl.tab.cpp" +#line 10362 "fe/idl.tab.cpp" break; - case 581: /* $@181: %empty */ -#line 6935 "fe/idl.ypp" + case 578: /* $@178: %empty */ +#line 6924 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10407 "fe/idl.tab.cpp" +#line 10370 "fe/idl.tab.cpp" break; - case 582: /* $@182: %empty */ -#line 6943 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6932 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10415 "fe/idl.tab.cpp" +#line 10378 "fe/idl.tab.cpp" break; - case 583: /* porttype_decl: IDL_PORTTYPE $@179 IDENTIFIER @180 '{' $@181 at_least_one_port_export $@182 '}' */ -#line 6947 "fe/idl.ypp" + case 580: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ +#line 6936 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10424,11 +10387,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10428 "fe/idl.tab.cpp" +#line 10391 "fe/idl.tab.cpp" break; - case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6959 "fe/idl.ypp" + case 581: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6948 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10443,27 +10406,27 @@ yyparse (void) } delete annotations; } -#line 10447 "fe/idl.tab.cpp" +#line 10410 "fe/idl.tab.cpp" break; - case 590: /* $@183: %empty */ -#line 6985 "fe/idl.ypp" + case 587: /* $@180: %empty */ +#line 6974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10455 "fe/idl.tab.cpp" +#line 10418 "fe/idl.tab.cpp" break; - case 591: /* port_export: attribute $@183 ';' */ -#line 6989 "fe/idl.ypp" + case 588: /* port_export: attribute $@180 ';' */ +#line 6978 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10463 "fe/idl.tab.cpp" +#line 10426 "fe/idl.tab.cpp" break; - case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6996 "fe/idl.ypp" + case 589: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10530,11 +10493,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10534 "fe/idl.tab.cpp" +#line 10497 "fe/idl.tab.cpp" break; - case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7063 "fe/idl.ypp" + case 590: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10579,11 +10542,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10583 "fe/idl.tab.cpp" +#line 10546 "fe/idl.tab.cpp" break; - case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7111 "fe/idl.ypp" + case 591: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7100 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10596,11 +10559,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10600 "fe/idl.tab.cpp" +#line 10563 "fe/idl.tab.cpp" break; - case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7127 "fe/idl.ypp" + case 592: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7116 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10613,19 +10576,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10617 "fe/idl.tab.cpp" +#line 10580 "fe/idl.tab.cpp" break; - case 596: /* actual_parameters: %empty */ -#line 7140 "fe/idl.ypp" + case 593: /* actual_parameters: %empty */ +#line 7129 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10625 "fe/idl.tab.cpp" +#line 10588 "fe/idl.tab.cpp" break; - case 597: /* actual_parameter: expression */ -#line 7147 "fe/idl.ypp" + case 594: /* actual_parameter: expression */ +#line 7136 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10681,35 +10644,35 @@ yyparse (void) 0); } } -#line 10685 "fe/idl.tab.cpp" +#line 10648 "fe/idl.tab.cpp" break; - case 598: /* connector_decl: connector_header connector_body */ -#line 7206 "fe/idl.ypp" + case 595: /* connector_decl: connector_header connector_body */ +#line 7195 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10693 "fe/idl.tab.cpp" +#line 10656 "fe/idl.tab.cpp" break; - case 599: /* $@184: %empty */ -#line 7213 "fe/idl.ypp" + case 596: /* $@181: %empty */ +#line 7202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10701 "fe/idl.tab.cpp" +#line 10664 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7217 "fe/idl.ypp" + case 597: /* $@182: %empty */ +#line 7206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10709 "fe/idl.tab.cpp" +#line 10672 "fe/idl.tab.cpp" break; - case 601: /* connector_header: IDL_CONNECTOR $@184 annotations_maybe IDENTIFIER $@185 component_inheritance_spec */ -#line 7221 "fe/idl.ypp" + case 598: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ +#line 7210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10763,102 +10726,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10767 "fe/idl.tab.cpp" +#line 10730 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7278 "fe/idl.ypp" + case 599: /* $@183: %empty */ +#line 7267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10775 "fe/idl.tab.cpp" +#line 10738 "fe/idl.tab.cpp" break; - case 603: /* $@187: %empty */ -#line 7282 "fe/idl.ypp" + case 600: /* $@184: %empty */ +#line 7271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10783 "fe/idl.tab.cpp" +#line 10746 "fe/idl.tab.cpp" break; - case 604: /* connector_body: '{' $@186 connector_exports $@187 '}' */ -#line 7286 "fe/idl.ypp" + case 601: /* connector_body: '{' $@183 connector_exports $@184 '}' */ +#line 7275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10794 "fe/idl.tab.cpp" +#line 10757 "fe/idl.tab.cpp" break; - case 607: /* $@188: %empty */ -#line 7301 "fe/idl.ypp" + case 604: /* $@185: %empty */ +#line 7290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10802 "fe/idl.tab.cpp" +#line 10765 "fe/idl.tab.cpp" break; - case 608: /* connector_export: provides_decl $@188 ';' */ -#line 7305 "fe/idl.ypp" + case 605: /* connector_export: provides_decl $@185 ';' */ +#line 7294 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10810 "fe/idl.tab.cpp" +#line 10773 "fe/idl.tab.cpp" break; - case 609: /* $@189: %empty */ -#line 7309 "fe/idl.ypp" + case 606: /* $@186: %empty */ +#line 7298 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10818 "fe/idl.tab.cpp" +#line 10781 "fe/idl.tab.cpp" break; - case 610: /* connector_export: uses_decl $@189 ';' */ -#line 7313 "fe/idl.ypp" + case 607: /* connector_export: uses_decl $@186 ';' */ +#line 7302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10826 "fe/idl.tab.cpp" +#line 10789 "fe/idl.tab.cpp" break; - case 611: /* $@190: %empty */ -#line 7317 "fe/idl.ypp" + case 608: /* $@187: %empty */ +#line 7306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10834 "fe/idl.tab.cpp" +#line 10797 "fe/idl.tab.cpp" break; - case 612: /* connector_export: attribute $@190 ';' */ -#line 7321 "fe/idl.ypp" + case 609: /* connector_export: attribute $@187 ';' */ +#line 7310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10842 "fe/idl.tab.cpp" +#line 10805 "fe/idl.tab.cpp" break; - case 613: /* $@191: %empty */ -#line 7325 "fe/idl.ypp" + case 610: /* $@188: %empty */ +#line 7314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10850 "fe/idl.tab.cpp" +#line 10813 "fe/idl.tab.cpp" break; - case 614: /* connector_export: extended_port_decl $@191 ';' */ -#line 7329 "fe/idl.ypp" + case 611: /* connector_export: extended_port_decl $@188 ';' */ +#line 7318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10858 "fe/idl.tab.cpp" +#line 10821 "fe/idl.tab.cpp" break; -#line 10862 "fe/idl.tab.cpp" +#line 10825 "fe/idl.tab.cpp" default: break; } @@ -11051,7 +11014,7 @@ yyparse (void) return yyresult; } -#line 7334 "fe/idl.ypp" +#line 7323 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 7b69968977be7..df13d081dad0e 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3894,28 +3894,17 @@ enumerator : map_type_spec : IDL_MAP - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); - idl_global->scopes().push(0); - } '<' - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); - } map_type ',' - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); - } map_type '>' { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $5; - Decl_Annotations_Pair *val_type = $8; - + Decl_Annotations_Pair *key_type = $3; + Decl_Annotations_Pair *val_type = $5; + /* * Remove sequence marker from scopes stack. */ From f154d189c948af51e9089e9e7cb69cca62d19bc0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:32:15 -0400 Subject: [PATCH 11/92] removed whitespace --- TAO/tests/IDLv4/maps/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 11ee11669cfe6..a75730911af7b 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -4,6 +4,5 @@ #include "ace/OS_main.h" int ACE_TMAIN(int, ACE_TCHAR *[]) { - return EXIT_SUCCESS; } From 78a6345eb1a1a6d553322f804a481fb81d0a5172 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:35:42 -0400 Subject: [PATCH 12/92] trailing whitespace --- TAO/TAO_IDL/include/ast_generator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index fef79fe1d65ad..ea333341f8bac 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -330,7 +330,7 @@ class TAO_IDL_FE_Export AST_Generator bool is_abstract); // Create a node representing a map type. - virtual AST_Map *create_map(AST_Expression *v, + virtual AST_Map *create_map(AST_Expression *v, AST_Type *key_bt, AST_Type *val_bt, UTL_ScopedName *n, From d6d2babde4b3ad5e1f94de008e7c778c8dfc07c8 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 1 Jun 2022 21:21:08 -0400 Subject: [PATCH 13/92] cleaned up --- TAO/TAO_IDL/ast/ast_map.cpp | 16 ++++++++++++++-- TAO/TAO_IDL/include/ast_map.h | 19 +++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index f516e0dd6ee98..64f757502803a 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -94,7 +94,7 @@ AST_Map::AST_Map (AST_Expression *ms, UTL_ScopedName *n, bool local, bool abstract) - : COMMON_Base (key_bt->is_local () || local, + : COMMON_Base (key_bt->is_local () || val_bt->is_local() || local, abstract), AST_Decl (AST_Decl::NT_map, n, @@ -256,7 +256,7 @@ AST_Map::value_type () const } AST_Type * -AST_Map::primitive_base_type () const +AST_Map::primitive_key_type () const { AST_Type *type_node = key_type (); if (type_node && type_node->node_type () == AST_Decl::NT_typedef) @@ -268,6 +268,18 @@ AST_Map::primitive_base_type () const return type_node; } +AST_Type * +AST_Map::primitive_value_type () const { + AST_Type *type_node = value_type(); + if (type_node && type_node->node_type() == AST_Decl::NT_typedef) + { + AST_Typedef * const typedef_node = dynamic_cast(type_node); + if(!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type(); + } + return type_node; +} + bool AST_Map::unbounded () const { diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 05e7332f9e098..5c0dbaf8cfae3 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -94,9 +94,15 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType /** * Returns the fully dealiased base type if it's a typedef. If it's not a - * typedef, the it returns the same value as as base_type(). + * typedef, the it returns the same value as as key_type(). */ - AST_Type *primitive_base_type () const; + AST_Type *primitive_key_type () const; + + /** + * Returns the fully dealiased base type if it's a typedef. If it's not a + * typedef, the it returns the same value as as value_type(). + */ + AST_Type *primitive_value_type () const; virtual bool unbounded () const; // Is this map bounded or not. @@ -147,9 +153,14 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType // responsible for destroying it. /** - * Annotations on the base type + * Annotations on the key type + */ + AST_Annotation_Appls key_type_annotations_; + + /** + * Annotations on the value type */ - AST_Annotation_Appls base_type_annotations_; + AST_Annotation_Appls value_type_annotations_; }; #endif // _AST_MAP_AST_MAP_HH From 06a095923fa6d722738eba9a5e721aff3b7c544d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 2 Jun 2022 20:33:17 -0400 Subject: [PATCH 14/92] fixes based on the code review --- TAO/TAO_IDL/ast/ast_generator.cpp | 10 ++++----- TAO/TAO_IDL/ast/ast_map.cpp | 37 ++++++++++++++++++++++++------- TAO/TAO_IDL/include/ast_map.h | 27 ++++++++++++++-------- TAO/tests/IDLv4/maps/.gitignore | 2 +- TAO/tests/IDLv4/maps/main.cpp | 3 ++- TAO/tests/IDLv4/maps/test.idl | 22 ++++++++++++++++-- 6 files changed, 75 insertions(+), 26 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_generator.cpp b/TAO/TAO_IDL/ast/ast_generator.cpp index 4a9f25bfd9b84..f7870d57fd424 100644 --- a/TAO/TAO_IDL/ast/ast_generator.cpp +++ b/TAO/TAO_IDL/ast/ast_generator.cpp @@ -870,11 +870,11 @@ AST_Generator::create_sequence (AST_Expression *ms, AST_Map * AST_Generator::create_map (AST_Expression *ms, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool is_local, - bool is_abstract) + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) { AST_Map *retval = nullptr; ACE_NEW_RETURN (retval, diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 64f757502803a..1f56fa1d9d761 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -214,8 +214,8 @@ AST_Map::dump (ACE_OSTREAM_TYPE &o) { this->dump_i (o, "map <"); AST_Annotation_Appls::iterator i, - finished = base_type_annotations ().end (); - for (i = base_type_annotations ().begin (); i != finished; ++i) + finished = key_type_annotations ().end (); + for (i = key_type_annotations ().begin (); i != finished; ++i) { AST_Annotation_Appl *a = i->get (); a->dump (o); @@ -223,6 +223,14 @@ AST_Map::dump (ACE_OSTREAM_TYPE &o) } this->key_pd_type->dump (o); this->dump_i (o, ", "); + + finished = value_type_annotations ().end (); + for (i = value_type_annotations ().begin (); i != finished; ++i) + { + AST_Annotation_Appl *a = i->get (); + a->dump (o); + dump_i (o, " "); + } this->value_pd_type->dump (o); this->dump_i (o, ", "); this->pd_max_size->dump (o); @@ -269,12 +277,13 @@ AST_Map::primitive_key_type () const } AST_Type * -AST_Map::primitive_value_type () const { +AST_Map::primitive_value_type () const +{ AST_Type *type_node = value_type(); if (type_node && type_node->node_type() == AST_Decl::NT_typedef) { AST_Typedef * const typedef_node = dynamic_cast(type_node); - if(!typedef_node) return nullptr; + if (!typedef_node) return nullptr; type_node = typedef_node->primitive_base_type(); } return type_node; @@ -316,13 +325,25 @@ AST_Map::destroy () } AST_Annotation_Appls & -AST_Map::base_type_annotations () +AST_Map::key_type_annotations () { - return base_type_annotations_; + return value_type_annotations_; } void -AST_Map::base_type_annotations (const AST_Annotation_Appls &annotations) +AST_Map::key_type_annotations (const AST_Annotation_Appls &annotations) { - base_type_annotations_ = annotations; + key_type_annotations_ = annotations; } + +AST_Annotation_Appls & +AST_Map::value_type_annotations () +{ + return value_type_annotations_; +} + +void +AST_Map::value_type_annotations (const AST_Annotation_Appls &annotations) +{ + value_type_annotations_ = annotations; +} \ No newline at end of file diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 5c0dbaf8cfae3..5a051bd102e6d 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -75,11 +75,11 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType { public: AST_Map (AST_Expression *max_size, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool local, - bool abstract); + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract); virtual ~AST_Map (); @@ -90,7 +90,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType AST_Expression *max_size (); AST_Type *key_type () const; - AST_Type *value_type() const; + AST_Type *value_type () const; /** * Returns the fully dealiased base type if it's a typedef. If it's not a @@ -128,11 +128,20 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType static AST_Decl::NodeType const NT; /** - * Get and Set Annotations on the base type + * Get and Set Annotations on the key type */ ///{ - AST_Annotation_Appls &base_type_annotations (); - void base_type_annotations (const AST_Annotation_Appls &annotations); + AST_Annotation_Appls &key_type_annotations (); + void key_type_annotations (const AST_Annotation_Appls &annotations); + ///} + + + /** + * Get and Set Annotations on the value type + */ + ///{ + AST_Annotation_Appls &value_type_annotations (); + void value_type_annotations (const AST_Annotation_Appls &annotations); ///} private: diff --git a/TAO/tests/IDLv4/maps/.gitignore b/TAO/tests/IDLv4/maps/.gitignore index 2d381ab3d39cb..3091aa5100dcb 100644 --- a/TAO/tests/IDLv4/maps/.gitignore +++ b/TAO/tests/IDLv4/maps/.gitignore @@ -3,4 +3,4 @@ /testC.inl /testS.cpp /testS.h -/explicit_ints +/maps diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index a75730911af7b..6de0976948d36 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -3,6 +3,7 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" -int ACE_TMAIN(int, ACE_TCHAR *[]) { +int ACE_TMAIN(int, ACE_TCHAR *[]) +{ return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index dc10d6cd29940..c777654e4238e 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,5 +1,23 @@ +struct TestStruct { + int32 id; + string msg; +}; + +typedef sequence TestStructSeq; + +// This fails +// typedef map TestStructMap; + struct DataStruct { - sequence seqData; map mapData; - map mapData; + map mapDataBounded; + + map mapStructs; + map mapStructsBounded; + + map stringSequenceMap; + map stringSequenceMapBounded; + + // map stringMapMap; + // map stringMapMapBounded; }; From ed7e91bf7781fddd89c8601ed316d19ae4d91c21 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 2 Jun 2022 20:34:41 -0400 Subject: [PATCH 15/92] Removed MPC submodule --- MPC | 1 - 1 file changed, 1 deletion(-) delete mode 160000 MPC diff --git a/MPC b/MPC deleted file mode 160000 index 7de9f4cebd58a..0000000000000 --- a/MPC +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7de9f4cebd58a91f707ea936ba0cce1726cefde8 From 17a670ad1d51f425f82dd3fbb4b9dafdb4437b32 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 20:13:34 -0400 Subject: [PATCH 16/92] key_type + value_type code, and cleanup --- TAO/TAO_IDL/ast/ast_map.cpp | 59 ++++++++++++++++++++++++++--------- TAO/TAO_IDL/include/ast_map.h | 9 ++++-- TAO/tests/IDLv4/maps/test.idl | 2 +- 3 files changed, 51 insertions(+), 19 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 1f56fa1d9d761..4f017c2a66e29 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -89,11 +89,11 @@ AST_Decl::NodeType const AST_Map::NT = AST_Decl::NT_map; AST_Map::AST_Map (AST_Expression *ms, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool local, - bool abstract) + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract) : COMMON_Base (key_bt->is_local () || val_bt->is_local() || local, abstract), AST_Decl (AST_Decl::NT_map, @@ -107,13 +107,14 @@ AST_Map::AST_Map (AST_Expression *ms, key_pd_type (key_bt), value_pd_type (val_bt), unbounded_ (true), - owns_base_type_ (false) + owns_key_type_ (false), + owns_value_type_ (false) { FE_Utils::tmpl_mod_ref_check (this, key_bt); - AST_Decl::NodeType bnt = key_bt->node_type (); + AST_Decl::NodeType knt = key_bt->node_type (); - if (bnt == AST_Decl::NT_param_holder) + if (knt == AST_Decl::NT_param_holder) { AST_Param_Holder *ph = dynamic_cast (key_bt); @@ -127,6 +128,24 @@ AST_Map::AST_Map (AST_Expression *ms, } } + FE_Utils::tmpl_mod_ref_check (this, val_bt); + + AST_Decl::NodeType vnt = val_bt->node_type (); + + if (vnt == AST_Decl::NT_param_holder) + { + AST_Param_Holder *ph = dynamic_cast (val_bt); + + if (ph->info ()->type_ == AST_Decl::NT_const) + { + idl_global->err ()->not_a_type (val_bt); + val_bt->destroy (); + delete val_bt; + val_bt = nullptr; + throw Bailout (); + } + } + // Check if we are bounded or unbounded. An expression value of 0 means // unbounded. If our bound is a template parameter, skip the // check altogether, this node will trigger no code generation. @@ -138,12 +157,15 @@ AST_Map::AST_Map (AST_Expression *ms, // A map data type is always VARIABLE. this->size_type (AST_Type::VARIABLE); - AST_Decl::NodeType nt = key_bt->node_type (); + this->owns_key_type_ = + knt == AST_Decl::NT_array + || knt == AST_Decl::NT_map + || knt == AST_Decl::NT_param_holder; - this->owns_base_type_ = - nt == AST_Decl::NT_array - || nt == AST_Decl::NT_map - || nt == AST_Decl::NT_param_holder; + this->owns_value_type_ = + vnt == AST_Decl::NT_array + || vnt == AST_Decl::NT_map + || vnt == AST_Decl::NT_param_holder; } AST_Map::~AST_Map () @@ -310,12 +332,19 @@ AST_Map::is_defined () void AST_Map::destroy () { - if (this->owns_base_type_) + if (this->owns_key_type_) { this->key_pd_type->destroy (); delete this->key_pd_type; this->key_pd_type = nullptr; } + + if (this->owns_value_type_) + { + this->value_pd_type->destroy(); + delete this->value_pd_type; + this->value_pd_type = nullptr; + } this->pd_max_size->destroy (); delete this->pd_max_size; @@ -346,4 +375,4 @@ void AST_Map::value_type_annotations (const AST_Annotation_Appls &annotations) { value_type_annotations_ = annotations; -} \ No newline at end of file +} diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 5a051bd102e6d..a83e437ac68c2 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -157,15 +157,18 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType bool unbounded_; // Whether we are bounded or unbounded. - bool owns_base_type_; - // If our base type is anonymous array or map, we're + bool owns_key_type_; + // If our key type is anonymous array or map, we're + // responsible for destroying it. + bool owns_value_type_; + // If our value type is anonymous array or map, we're // responsible for destroying it. /** * Annotations on the key type */ AST_Annotation_Appls key_type_annotations_; - + /** * Annotations on the value type */ diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index c777654e4238e..bf1f1024a1eda 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -14,7 +14,7 @@ struct DataStruct { map mapStructs; map mapStructsBounded; - + map stringSequenceMap; map stringSequenceMapBounded; From 42c8ff76ccda538223e0664f65de4cd5fa42f287 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 20:14:48 -0400 Subject: [PATCH 17/92] Updated bison, pushing null scope --- TAO/TAO_IDL/fe/idl.ypp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index df13d081dad0e..2428deef0b98f 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3894,6 +3894,11 @@ enumerator : map_type_spec : IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); + + idl_global->scopes ().push (0); + } '<' map_type ',' @@ -3945,15 +3950,23 @@ map_type_spec : s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + delete key_type->annotation; + delete val_type->annotation; $$ = map; } | IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); + + idl_global->scopes ().push (0); + } '<' map_type ',' @@ -4004,11 +4017,15 @@ map_type_spec : s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + + delete key_type->annotation; + delete val_type->annotation; $$ = map; } ; From 00099e694c5d415386a105afd98311a6d5387adc Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:04:24 -0400 Subject: [PATCH 18/92] Updated idl for null scope --- TAO/TAO_IDL/fe/idl.tab.cpp | 3871 +++++++++++++++--------------- TAO/TAO_IDL/fe/idl.ypp | 13 +- TAO/TAO_IDL/include/idl_global.h | 2 +- 3 files changed, 1963 insertions(+), 1923 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index db6afe1bfd833..ef50491e5c07e 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -517,197 +517,198 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_map_type = 327, /* map_type */ - YYSYMBOL_sequence_type_spec = 328, /* sequence_type_spec */ - YYSYMBOL_329_91 = 329, /* $@91 */ + YYSYMBOL_327_91 = 327, /* $@91 */ + YYSYMBOL_map_type = 328, /* map_type */ + YYSYMBOL_sequence_type_spec = 329, /* sequence_type_spec */ YYSYMBOL_330_92 = 330, /* $@92 */ - YYSYMBOL_seq_head = 331, /* seq_head */ - YYSYMBOL_332_93 = 332, /* $@93 */ + YYSYMBOL_331_93 = 331, /* $@93 */ + YYSYMBOL_seq_head = 332, /* seq_head */ YYSYMBOL_333_94 = 333, /* $@94 */ - YYSYMBOL_fixed_type_spec = 334, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 335, /* string_type_spec */ - YYSYMBOL_336_95 = 336, /* $@95 */ + YYSYMBOL_334_95 = 334, /* $@95 */ + YYSYMBOL_fixed_type_spec = 335, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 336, /* string_type_spec */ YYSYMBOL_337_96 = 337, /* $@96 */ - YYSYMBOL_string_head = 338, /* string_head */ - YYSYMBOL_wstring_type_spec = 339, /* wstring_type_spec */ - YYSYMBOL_340_97 = 340, /* $@97 */ + YYSYMBOL_338_97 = 338, /* $@97 */ + YYSYMBOL_string_head = 339, /* string_head */ + YYSYMBOL_wstring_type_spec = 340, /* wstring_type_spec */ YYSYMBOL_341_98 = 341, /* $@98 */ - YYSYMBOL_wstring_head = 342, /* wstring_head */ - YYSYMBOL_array_declarator = 343, /* array_declarator */ - YYSYMBOL_344_99 = 344, /* $@99 */ - YYSYMBOL_at_least_one_array_dim = 345, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 346, /* array_dims */ - YYSYMBOL_array_dim = 347, /* array_dim */ - YYSYMBOL_348_100 = 348, /* $@100 */ + YYSYMBOL_342_99 = 342, /* $@99 */ + YYSYMBOL_wstring_head = 343, /* wstring_head */ + YYSYMBOL_array_declarator = 344, /* array_declarator */ + YYSYMBOL_345_100 = 345, /* $@100 */ + YYSYMBOL_at_least_one_array_dim = 346, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 347, /* array_dims */ + YYSYMBOL_array_dim = 348, /* array_dim */ YYSYMBOL_349_101 = 349, /* $@101 */ - YYSYMBOL_attribute = 350, /* attribute */ - YYSYMBOL_attribute_readonly = 351, /* attribute_readonly */ - YYSYMBOL_352_102 = 352, /* $@102 */ + YYSYMBOL_350_102 = 350, /* $@102 */ + YYSYMBOL_attribute = 351, /* attribute */ + YYSYMBOL_attribute_readonly = 352, /* attribute_readonly */ YYSYMBOL_353_103 = 353, /* $@103 */ YYSYMBOL_354_104 = 354, /* $@104 */ YYSYMBOL_355_105 = 355, /* $@105 */ - YYSYMBOL_attribute_readwrite = 356, /* attribute_readwrite */ - YYSYMBOL_357_106 = 357, /* $@106 */ + YYSYMBOL_356_106 = 356, /* $@106 */ + YYSYMBOL_attribute_readwrite = 357, /* attribute_readwrite */ YYSYMBOL_358_107 = 358, /* $@107 */ YYSYMBOL_359_108 = 359, /* $@108 */ YYSYMBOL_360_109 = 360, /* $@109 */ - YYSYMBOL_exception = 361, /* exception */ - YYSYMBOL_362_110 = 362, /* $@110 */ - YYSYMBOL_363_111 = 363, /* @111 */ - YYSYMBOL_364_112 = 364, /* $@112 */ + YYSYMBOL_361_110 = 361, /* $@110 */ + YYSYMBOL_exception = 362, /* exception */ + YYSYMBOL_363_111 = 363, /* $@111 */ + YYSYMBOL_364_112 = 364, /* @112 */ YYSYMBOL_365_113 = 365, /* $@113 */ - YYSYMBOL_operation = 366, /* operation */ - YYSYMBOL_367_114 = 367, /* $@114 */ + YYSYMBOL_366_114 = 366, /* $@114 */ + YYSYMBOL_operation = 367, /* operation */ YYSYMBOL_368_115 = 368, /* $@115 */ YYSYMBOL_369_116 = 369, /* $@116 */ YYSYMBOL_370_117 = 370, /* $@117 */ - YYSYMBOL_opt_op_attribute = 371, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 372, /* op_type_spec */ - YYSYMBOL_init_decl = 373, /* init_decl */ - YYSYMBOL_374_118 = 374, /* $@118 */ - YYSYMBOL_375_119 = 375, /* @119 */ - YYSYMBOL_376_120 = 376, /* $@120 */ - YYSYMBOL_init_parameter_list = 377, /* init_parameter_list */ - YYSYMBOL_378_121 = 378, /* $@121 */ + YYSYMBOL_371_118 = 371, /* $@118 */ + YYSYMBOL_opt_op_attribute = 372, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 373, /* op_type_spec */ + YYSYMBOL_init_decl = 374, /* init_decl */ + YYSYMBOL_375_119 = 375, /* $@119 */ + YYSYMBOL_376_120 = 376, /* @120 */ + YYSYMBOL_377_121 = 377, /* $@121 */ + YYSYMBOL_init_parameter_list = 378, /* init_parameter_list */ YYSYMBOL_379_122 = 379, /* $@122 */ - YYSYMBOL_at_least_one_in_parameter = 380, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 381, /* in_parameters */ - YYSYMBOL_382_123 = 382, /* $@123 */ - YYSYMBOL_in_parameter = 383, /* in_parameter */ - YYSYMBOL_384_124 = 384, /* $@124 */ + YYSYMBOL_380_123 = 380, /* $@123 */ + YYSYMBOL_at_least_one_in_parameter = 381, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 382, /* in_parameters */ + YYSYMBOL_383_124 = 383, /* $@124 */ + YYSYMBOL_in_parameter = 384, /* in_parameter */ YYSYMBOL_385_125 = 385, /* $@125 */ - YYSYMBOL_parameter_list = 386, /* parameter_list */ - YYSYMBOL_387_126 = 387, /* $@126 */ + YYSYMBOL_386_126 = 386, /* $@126 */ + YYSYMBOL_parameter_list = 387, /* parameter_list */ YYSYMBOL_388_127 = 388, /* $@127 */ - YYSYMBOL_at_least_one_parameter = 389, /* at_least_one_parameter */ - YYSYMBOL_parameters = 390, /* parameters */ - YYSYMBOL_391_128 = 391, /* $@128 */ - YYSYMBOL_parameter = 392, /* parameter */ - YYSYMBOL_393_129 = 393, /* $@129 */ + YYSYMBOL_389_128 = 389, /* $@128 */ + YYSYMBOL_at_least_one_parameter = 390, /* at_least_one_parameter */ + YYSYMBOL_parameters = 391, /* parameters */ + YYSYMBOL_392_129 = 392, /* $@129 */ + YYSYMBOL_parameter = 393, /* parameter */ YYSYMBOL_394_130 = 394, /* $@130 */ - YYSYMBOL_param_type_spec = 395, /* param_type_spec */ - YYSYMBOL_direction = 396, /* direction */ - YYSYMBOL_opt_raises = 397, /* opt_raises */ - YYSYMBOL_398_131 = 398, /* $@131 */ + YYSYMBOL_395_131 = 395, /* $@131 */ + YYSYMBOL_param_type_spec = 396, /* param_type_spec */ + YYSYMBOL_direction = 397, /* direction */ + YYSYMBOL_opt_raises = 398, /* opt_raises */ YYSYMBOL_399_132 = 399, /* $@132 */ - YYSYMBOL_opt_getraises = 400, /* opt_getraises */ - YYSYMBOL_401_133 = 401, /* $@133 */ + YYSYMBOL_400_133 = 400, /* $@133 */ + YYSYMBOL_opt_getraises = 401, /* opt_getraises */ YYSYMBOL_402_134 = 402, /* $@134 */ - YYSYMBOL_opt_setraises = 403, /* opt_setraises */ - YYSYMBOL_404_135 = 404, /* $@135 */ + YYSYMBOL_403_135 = 403, /* $@135 */ + YYSYMBOL_opt_setraises = 404, /* opt_setraises */ YYSYMBOL_405_136 = 405, /* $@136 */ - YYSYMBOL_opt_context = 406, /* opt_context */ - YYSYMBOL_407_137 = 407, /* $@137 */ + YYSYMBOL_406_137 = 406, /* $@137 */ + YYSYMBOL_opt_context = 407, /* opt_context */ YYSYMBOL_408_138 = 408, /* $@138 */ - YYSYMBOL_at_least_one_string_literal = 409, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 410, /* string_literals */ - YYSYMBOL_411_139 = 411, /* $@139 */ - YYSYMBOL_typeid_dcl = 412, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 413, /* typeprefix_dcl */ - YYSYMBOL_component = 414, /* component */ - YYSYMBOL_component_forward_decl = 415, /* component_forward_decl */ - YYSYMBOL_component_decl = 416, /* component_decl */ - YYSYMBOL_417_140 = 417, /* @140 */ - YYSYMBOL_418_141 = 418, /* $@141 */ + YYSYMBOL_409_139 = 409, /* $@139 */ + YYSYMBOL_at_least_one_string_literal = 410, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 411, /* string_literals */ + YYSYMBOL_412_140 = 412, /* $@140 */ + YYSYMBOL_typeid_dcl = 413, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 414, /* typeprefix_dcl */ + YYSYMBOL_component = 415, /* component */ + YYSYMBOL_component_forward_decl = 416, /* component_forward_decl */ + YYSYMBOL_component_decl = 417, /* component_decl */ + YYSYMBOL_418_141 = 418, /* @141 */ YYSYMBOL_419_142 = 419, /* $@142 */ - YYSYMBOL_component_header = 420, /* component_header */ - YYSYMBOL_421_143 = 421, /* $@143 */ + YYSYMBOL_420_143 = 420, /* $@143 */ + YYSYMBOL_component_header = 421, /* component_header */ YYSYMBOL_422_144 = 422, /* $@144 */ - YYSYMBOL_component_inheritance_spec = 423, /* component_inheritance_spec */ - YYSYMBOL_424_145 = 424, /* $@145 */ - YYSYMBOL_component_exports = 425, /* component_exports */ - YYSYMBOL_component_export = 426, /* component_export */ - YYSYMBOL_427_146 = 427, /* $@146 */ + YYSYMBOL_423_145 = 423, /* $@145 */ + YYSYMBOL_component_inheritance_spec = 424, /* component_inheritance_spec */ + YYSYMBOL_425_146 = 425, /* $@146 */ + YYSYMBOL_component_exports = 426, /* component_exports */ + YYSYMBOL_component_export = 427, /* component_export */ YYSYMBOL_428_147 = 428, /* $@147 */ YYSYMBOL_429_148 = 429, /* $@148 */ YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ - YYSYMBOL_provides_decl = 434, /* provides_decl */ - YYSYMBOL_interface_type = 435, /* interface_type */ - YYSYMBOL_uses_decl = 436, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 437, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 438, /* opt_multiple */ - YYSYMBOL_emits_decl = 439, /* emits_decl */ - YYSYMBOL_publishes_decl = 440, /* publishes_decl */ - YYSYMBOL_consumes_decl = 441, /* consumes_decl */ - YYSYMBOL_home_decl = 442, /* home_decl */ - YYSYMBOL_443_153 = 443, /* $@153 */ - YYSYMBOL_home_header = 444, /* home_header */ - YYSYMBOL_445_154 = 445, /* $@154 */ + YYSYMBOL_434_153 = 434, /* $@153 */ + YYSYMBOL_provides_decl = 435, /* provides_decl */ + YYSYMBOL_interface_type = 436, /* interface_type */ + YYSYMBOL_uses_decl = 437, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 438, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 439, /* opt_multiple */ + YYSYMBOL_emits_decl = 440, /* emits_decl */ + YYSYMBOL_publishes_decl = 441, /* publishes_decl */ + YYSYMBOL_consumes_decl = 442, /* consumes_decl */ + YYSYMBOL_home_decl = 443, /* home_decl */ + YYSYMBOL_444_154 = 444, /* $@154 */ + YYSYMBOL_home_header = 445, /* home_header */ YYSYMBOL_446_155 = 446, /* $@155 */ YYSYMBOL_447_156 = 447, /* $@156 */ YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ - YYSYMBOL_home_inheritance_spec = 451, /* home_inheritance_spec */ - YYSYMBOL_452_160 = 452, /* $@160 */ - YYSYMBOL_primary_key_spec = 453, /* primary_key_spec */ - YYSYMBOL_home_body = 454, /* home_body */ - YYSYMBOL_455_161 = 455, /* $@161 */ + YYSYMBOL_451_160 = 451, /* $@160 */ + YYSYMBOL_home_inheritance_spec = 452, /* home_inheritance_spec */ + YYSYMBOL_453_161 = 453, /* $@161 */ + YYSYMBOL_primary_key_spec = 454, /* primary_key_spec */ + YYSYMBOL_home_body = 455, /* home_body */ YYSYMBOL_456_162 = 456, /* $@162 */ - YYSYMBOL_home_exports = 457, /* home_exports */ - YYSYMBOL_home_export = 458, /* home_export */ - YYSYMBOL_459_163 = 459, /* $@163 */ + YYSYMBOL_457_163 = 457, /* $@163 */ + YYSYMBOL_home_exports = 458, /* home_exports */ + YYSYMBOL_home_export = 459, /* home_export */ YYSYMBOL_460_164 = 460, /* $@164 */ - YYSYMBOL_factory_decl = 461, /* factory_decl */ - YYSYMBOL_462_165 = 462, /* $@165 */ + YYSYMBOL_461_165 = 461, /* $@165 */ + YYSYMBOL_factory_decl = 462, /* factory_decl */ YYSYMBOL_463_166 = 463, /* $@166 */ - YYSYMBOL_finder_decl = 464, /* finder_decl */ - YYSYMBOL_465_167 = 465, /* $@167 */ + YYSYMBOL_464_167 = 464, /* $@167 */ + YYSYMBOL_finder_decl = 465, /* finder_decl */ YYSYMBOL_466_168 = 466, /* $@168 */ - YYSYMBOL_event = 467, /* event */ - YYSYMBOL_event_forward_decl = 468, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 469, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 470, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 471, /* event_abs_decl */ - YYSYMBOL_472_169 = 472, /* $@169 */ + YYSYMBOL_467_169 = 467, /* $@169 */ + YYSYMBOL_event = 468, /* event */ + YYSYMBOL_event_forward_decl = 469, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 470, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 471, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 472, /* event_abs_decl */ YYSYMBOL_473_170 = 473, /* $@170 */ YYSYMBOL_474_171 = 474, /* $@171 */ - YYSYMBOL_event_abs_header = 475, /* event_abs_header */ - YYSYMBOL_event_custom_header = 476, /* event_custom_header */ - YYSYMBOL_event_plain_header = 477, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 478, /* event_rest_of_header */ - YYSYMBOL_479_172 = 479, /* $@172 */ - YYSYMBOL_event_decl = 480, /* event_decl */ - YYSYMBOL_481_173 = 481, /* @173 */ - YYSYMBOL_482_174 = 482, /* $@174 */ + YYSYMBOL_475_172 = 475, /* $@172 */ + YYSYMBOL_event_abs_header = 476, /* event_abs_header */ + YYSYMBOL_event_custom_header = 477, /* event_custom_header */ + YYSYMBOL_event_plain_header = 478, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 479, /* event_rest_of_header */ + YYSYMBOL_480_173 = 480, /* $@173 */ + YYSYMBOL_event_decl = 481, /* event_decl */ + YYSYMBOL_482_174 = 482, /* @174 */ YYSYMBOL_483_175 = 483, /* $@175 */ - YYSYMBOL_event_header = 484, /* event_header */ - YYSYMBOL_formal_parameter_type = 485, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 486, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 487, /* formal_parameters */ - YYSYMBOL_formal_parameter = 488, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 489, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 490, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 491, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 492, /* porttype_decl */ - YYSYMBOL_493_176 = 493, /* $@176 */ - YYSYMBOL_494_177 = 494, /* @177 */ - YYSYMBOL_495_178 = 495, /* $@178 */ + YYSYMBOL_484_176 = 484, /* $@176 */ + YYSYMBOL_event_header = 485, /* event_header */ + YYSYMBOL_formal_parameter_type = 486, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 487, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 488, /* formal_parameters */ + YYSYMBOL_formal_parameter = 489, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 490, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 491, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 492, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 493, /* porttype_decl */ + YYSYMBOL_494_177 = 494, /* $@177 */ + YYSYMBOL_495_178 = 495, /* @178 */ YYSYMBOL_496_179 = 496, /* $@179 */ - YYSYMBOL_at_least_one_port_export = 497, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 498, /* port_exports */ - YYSYMBOL_port_export = 499, /* port_export */ - YYSYMBOL_500_180 = 500, /* $@180 */ - YYSYMBOL_extended_port_decl = 501, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 502, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 503, /* actual_parameters */ - YYSYMBOL_actual_parameter = 504, /* actual_parameter */ - YYSYMBOL_connector_decl = 505, /* connector_decl */ - YYSYMBOL_connector_header = 506, /* connector_header */ - YYSYMBOL_507_181 = 507, /* $@181 */ + YYSYMBOL_497_180 = 497, /* $@180 */ + YYSYMBOL_at_least_one_port_export = 498, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 499, /* port_exports */ + YYSYMBOL_port_export = 500, /* port_export */ + YYSYMBOL_501_181 = 501, /* $@181 */ + YYSYMBOL_extended_port_decl = 502, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 503, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 504, /* actual_parameters */ + YYSYMBOL_actual_parameter = 505, /* actual_parameter */ + YYSYMBOL_connector_decl = 506, /* connector_decl */ + YYSYMBOL_connector_header = 507, /* connector_header */ YYSYMBOL_508_182 = 508, /* $@182 */ - YYSYMBOL_connector_body = 509, /* connector_body */ - YYSYMBOL_510_183 = 510, /* $@183 */ + YYSYMBOL_509_183 = 509, /* $@183 */ + YYSYMBOL_connector_body = 510, /* connector_body */ YYSYMBOL_511_184 = 511, /* $@184 */ - YYSYMBOL_connector_exports = 512, /* connector_exports */ - YYSYMBOL_connector_export = 513, /* connector_export */ - YYSYMBOL_514_185 = 514, /* $@185 */ + YYSYMBOL_512_185 = 512, /* $@185 */ + YYSYMBOL_connector_exports = 513, /* connector_exports */ + YYSYMBOL_connector_export = 514, /* connector_export */ YYSYMBOL_515_186 = 515, /* $@186 */ YYSYMBOL_516_187 = 516, /* $@187 */ - YYSYMBOL_517_188 = 517 /* $@188 */ + YYSYMBOL_517_188 = 517, /* $@188 */ + YYSYMBOL_518_189 = 518 /* $@189 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1035,16 +1036,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2099 +#define YYLAST 2202 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 400 +#define YYNNTS 401 /* YYNRULES -- Number of rules. */ -#define YYNRULES 611 +#define YYNRULES 612 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 900 +#define YYNSTATES 905 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1138,33 +1139,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3896, 3956, 4017, 4030, 4034, 4028, - 4118, 4185, 4194, 4184, 4208, 4218, 4222, 4216, 4264, 4290, - 4299, 4303, 4297, 4345, 4371, 4379, 4378, 4421, 4431, 4449, - 4457, 4461, 4456, 4521, 4522, 4527, 4531, 4535, 4539, 4526, - 4598, 4602, 4606, 4610, 4597, 4678, 4682, 4714, 4718, 4677, - 4735, 4739, 4800, 4804, 4734, 4841, 4846, 4851, 4858, 4859, - 4870, 4875, 4918, 4869, 4940, 4939, 4948, 4947, 4958, 4963, - 4961, 4967, 4972, 4976, 4971, 5015, 5014, 5023, 5022, 5033, - 5038, 5036, 5042, 5047, 5051, 5046, 5096, 5103, 5104, 5105, - 5212, 5216, 5220, 5228, 5232, 5227, 5241, 5249, 5253, 5248, - 5262, 5270, 5274, 5269, 5283, 5291, 5295, 5290, 5304, 5311, - 5323, 5321, 5344, 5351, 5381, 5420, 5421, 5425, 5456, 5498, - 5502, 5455, 5521, 5525, 5519, 5566, 5565, 5573, 5580, 5595, - 5596, 5601, 5600, 5610, 5609, 5619, 5618, 5628, 5627, 5637, - 5636, 5646, 5645, 5655, 5654, 5665, 5758, 5764, 5789, 5896, - 5905, 5909, 5916, 5991, 6063, 6139, 6138, 6188, 6192, 6196, - 6200, 6204, 6208, 6187, 6261, 6260, 6268, 6275, 6280, 6288, - 6292, 6287, 6302, 6303, 6307, 6309, 6308, 6317, 6316, 6329, - 6352, 6327, 6378, 6405, 6376, 6429, 6430, 6431, 6435, 6436, - 6440, 6469, 6501, 6545, 6549, 6499, 6566, 6575, 6593, 6604, - 6603, 6641, 6692, 6696, 6639, 6713, 6717, 6724, 6728, 6732, - 6736, 6740, 6744, 6748, 6752, 6756, 6760, 6768, 6799, 6812, - 6819, 6844, 6862, 6869, 6884, 6891, 6901, 6905, 6924, 6932, - 6900, 6947, 6962, 6966, 6967, 6971, 6972, 6974, 6973, 6984, - 7051, 7099, 7115, 7128, 7135, 7194, 7202, 7206, 7201, 7267, - 7271, 7266, 7284, 7285, 7290, 7289, 7298, 7297, 7306, 7305, - 7314, 7313 + 3850, 3848, 3854, 3858, 3897, 3896, 3962, 4031, 4044, 4048, + 4042, 4132, 4199, 4208, 4198, 4222, 4232, 4236, 4230, 4278, + 4304, 4313, 4317, 4311, 4359, 4385, 4393, 4392, 4435, 4445, + 4463, 4471, 4475, 4470, 4535, 4536, 4541, 4545, 4549, 4553, + 4540, 4612, 4616, 4620, 4624, 4611, 4692, 4696, 4728, 4732, + 4691, 4749, 4753, 4814, 4818, 4748, 4855, 4860, 4865, 4872, + 4873, 4884, 4889, 4932, 4883, 4954, 4953, 4962, 4961, 4972, + 4977, 4975, 4981, 4986, 4990, 4985, 5029, 5028, 5037, 5036, + 5047, 5052, 5050, 5056, 5061, 5065, 5060, 5110, 5117, 5118, + 5119, 5226, 5230, 5234, 5242, 5246, 5241, 5255, 5263, 5267, + 5262, 5276, 5284, 5288, 5283, 5297, 5305, 5309, 5304, 5318, + 5325, 5337, 5335, 5358, 5365, 5395, 5434, 5435, 5439, 5470, + 5512, 5516, 5469, 5535, 5539, 5533, 5580, 5579, 5587, 5594, + 5609, 5610, 5615, 5614, 5624, 5623, 5633, 5632, 5642, 5641, + 5651, 5650, 5660, 5659, 5669, 5668, 5679, 5772, 5778, 5803, + 5910, 5919, 5923, 5930, 6005, 6077, 6153, 6152, 6202, 6206, + 6210, 6214, 6218, 6222, 6201, 6275, 6274, 6282, 6289, 6294, + 6302, 6306, 6301, 6316, 6317, 6321, 6323, 6322, 6331, 6330, + 6343, 6366, 6341, 6392, 6419, 6390, 6443, 6444, 6445, 6449, + 6450, 6454, 6483, 6515, 6559, 6563, 6513, 6580, 6589, 6607, + 6618, 6617, 6655, 6706, 6710, 6653, 6727, 6731, 6738, 6742, + 6746, 6750, 6754, 6758, 6762, 6766, 6770, 6774, 6782, 6813, + 6826, 6833, 6858, 6876, 6883, 6898, 6905, 6915, 6919, 6938, + 6946, 6914, 6961, 6976, 6980, 6981, 6985, 6986, 6988, 6987, + 6998, 7065, 7113, 7129, 7142, 7149, 7208, 7216, 7220, 7215, + 7281, 7285, 7280, 7298, 7299, 7304, 7303, 7312, 7311, 7320, + 7319, 7328, 7327 }; #endif @@ -1248,47 +1249,47 @@ static const char *const yytname[] = "$@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", - "map_type_spec", "map_type", "sequence_type_spec", "$@91", "$@92", - "seq_head", "$@93", "$@94", "fixed_type_spec", "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", + "map_type_spec", "$@91", "map_type", "sequence_type_spec", "$@92", + "$@93", "seq_head", "$@94", "$@95", "fixed_type_spec", + "string_type_spec", "$@96", "$@97", "string_head", "wstring_type_spec", + "$@98", "$@99", "wstring_head", "array_declarator", "$@100", + "at_least_one_array_dim", "array_dims", "array_dim", "$@101", "$@102", + "attribute", "attribute_readonly", "$@103", "$@104", "$@105", "$@106", + "attribute_readwrite", "$@107", "$@108", "$@109", "$@110", "exception", + "$@111", "@112", "$@113", "$@114", "operation", "$@115", "$@116", + "$@117", "$@118", "opt_op_attribute", "op_type_spec", "init_decl", + "$@119", "@120", "$@121", "init_parameter_list", "$@122", "$@123", + "at_least_one_in_parameter", "in_parameters", "$@124", "in_parameter", + "$@125", "$@126", "parameter_list", "$@127", "$@128", + "at_least_one_parameter", "parameters", "$@129", "parameter", "$@130", + "$@131", "param_type_spec", "direction", "opt_raises", "$@132", "$@133", + "opt_getraises", "$@134", "$@135", "opt_setraises", "$@136", "$@137", + "opt_context", "$@138", "$@139", "at_least_one_string_literal", + "string_literals", "$@140", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@141", "$@142", "$@143", + "component_header", "$@144", "$@145", "component_inheritance_spec", + "$@146", "component_exports", "component_export", "$@147", "$@148", + "$@149", "$@150", "$@151", "$@152", "$@153", "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", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@154", + "home_header", "$@155", "$@156", "$@157", "$@158", "$@159", "$@160", + "home_inheritance_spec", "$@161", "primary_key_spec", "home_body", + "$@162", "$@163", "home_exports", "home_export", "$@164", "$@165", + "factory_decl", "$@166", "$@167", "finder_decl", "$@168", "$@169", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", + "event_abs_forward_decl", "event_abs_decl", "$@170", "$@171", "$@172", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", + "event_rest_of_header", "$@173", "event_decl", "@174", "$@175", "$@176", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "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", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@177", "@178", "$@179", + "$@180", "at_least_one_port_export", "port_exports", "port_export", + "$@181", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", - "connector_exports", "connector_export", "$@185", "$@186", "$@187", - "$@188", YY_NULLPTR + "connector_header", "$@182", "$@183", "connector_body", "$@184", "$@185", + "connector_exports", "connector_export", "$@186", "$@187", "$@188", + "$@189", YY_NULLPTR }; static const char * @@ -1298,12 +1299,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-673) +#define YYPACT_NINF (-685) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-580) +#define YYTABLE_NINF (-581) #define yytable_value_is_error(Yyn) \ 0 @@ -1312,96 +1313,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -673, 74, 1413, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 54, 92, 46, 52, -673, 54, - 54, -673, 56, 56, -673, -673, 54, -673, -673, 8, - -673, 97, 25, 60, -673, -673, 12, -673, -673, -673, - -673, -673, -673, 723, -673, -673, -673, -673, -673, 1615, - 19, -673, -673, 72, -673, 123, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 51, -673, -673, -673, 51, -673, - -673, 88, 82, 2009, 56, 54, 1886, 54, 54, 54, - 54, -673, -673, -673, 22, 54, 64, -673, 71, 54, - -673, 51, 54, 103, 107, 54, -673, -673, 0, -673, - 7, 164, -673, 96, -673, 118, 128, 469, -673, -673, - -673, 130, 173, -673, 122, 133, 141, 105, -673, 166, - -673, -673, -673, -673, -673, -673, 142, -673, -673, -673, - 151, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, 168, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 123, -673, -673, -673, -673, 89, -673, -673, 180, -673, - 184, 174, 192, -673, 56, 194, 195, 199, -673, 211, - 212, 213, 214, 217, 215, 219, 221, -673, -673, -673, - 225, 234, -673, -673, -673, -673, 168, -673, -673, -673, - -673, -673, -673, -673, -673, -673, 168, -673, -673, -673, - -673, -673, -673, -673, -673, 240, -673, 245, -673, -673, - 242, -673, 342, -673, -673, -673, -673, 47, -673, -673, - -673, 2009, -673, -673, -673, -673, 246, -673, -673, -673, - -673, 344, -673, -673, 185, 247, -673, -673, -673, -673, - -673, -673, -673, -673, 341, -673, 484, 251, -673, 304, - -673, -673, -673, -673, -673, -673, 168, -673, -673, 239, - -673, -673, -673, -673, -673, -673, -673, -673, -673, 304, - 257, 262, -673, -673, -673, 54, 54, 264, 265, -673, - -673, -673, 267, -673, 342, 268, -673, -673, -673, -673, - -673, 356, -673, 263, 269, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 226, 226, 226, 484, 168, - -673, -673, 270, 272, 260, 157, 145, 66, -673, -673, - -673, -673, -673, 56, -673, -673, -673, -673, 271, -673, - 1434, 273, 56, -673, 484, 484, 484, 254, -673, -673, - -673, -673, -673, -673, -673, 186, -673, 11, -673, -673, - -673, -673, -673, -673, -673, -673, 56, 304, -673, -673, - -673, -673, 242, 1341, 1528, 274, 283, -673, 469, -673, - -673, -673, 255, 484, 484, 484, 484, 484, 484, 484, - 484, 484, 484, 282, 54, -673, 168, 1118, -673, 837, - 484, -673, -673, -673, -673, -673, -673, -673, 484, -673, - 1478, -673, -673, -673, 387, 1025, -673, -673, -673, -673, - 69, 312, 56, 56, -673, -673, -673, -673, -673, 69, - -673, 287, -673, 288, -673, 284, -673, -673, 1212, 168, - -673, 56, 304, -673, -673, -673, -673, 296, -673, -673, - 54, -673, -673, 299, 305, 400, 308, -673, -673, 272, - 260, 157, 145, 145, 66, 66, -673, -673, -673, -673, - -673, 306, -673, -673, -673, 313, -673, -673, 1798, -673, - -673, -673, -673, 1921, -673, -673, -673, -673, -673, 314, - -673, 1833, -673, -673, 1708, -673, 315, 1434, 94, 320, - 324, 326, 303, -673, 300, -673, 311, -673, -673, -673, - 329, 331, 125, 56, 56, 56, 171, -673, 332, -673, - -673, -673, -673, -673, -673, -673, 54, 54, -673, 333, - -673, -673, -673, 1306, 931, 406, 1974, -673, 168, 342, - -673, -673, 65, 68, 345, 346, 348, 342, 349, -673, - -673, 33, -673, 48, -673, -673, 352, 353, 168, -673, - 355, 132, 1886, -673, 411, -673, -673, -673, -673, 185, - -673, 350, -673, 358, -673, 361, 362, 365, 370, -673, - 168, -673, -673, -673, -673, -673, 377, 383, 479, -673, - -673, -673, 386, -673, -673, -673, 484, -673, -673, -673, - 484, -673, 342, -673, 391, 54, -673, -673, 476, 168, - -673, -673, -673, -673, -673, -673, 70, 70, 70, -673, - 394, -673, 397, 398, 399, 401, 402, 407, -673, -673, - -673, 408, 409, 410, 412, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 484, -673, -673, -673, 54, - -673, 413, 404, 414, -673, 441, 415, 132, -673, 420, - 421, -673, 423, 484, 424, 1590, -673, 56, -673, -673, - -673, -673, -673, -673, 507, -673, -673, -673, -673, 427, - -673, 303, 311, -673, -673, 418, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, 416, 416, -673, -673, - -673, -673, 1974, 54, -673, 484, 422, -673, -673, -673, - -673, -673, -673, -673, 425, -673, -673, -673, -673, -673, - 56, -673, -673, -673, -673, 428, 168, -673, 416, -673, - -673, 432, -673, 500, -673, -673, -673, -673, -673, -673, - -673, -673, 56, -673, 168, 440, 566, -673, 429, -673, - -673, 443, 430, 506, 505, 505, 54, 491, 445, 434, - -673, 168, 449, -673, -673, 437, -673, 505, -673, -673, - -673, 438, -673, -673, -673, -673, -673, -673, -673, -673, - -673, 494, 552, 451, 198, 505, -673, 81, 1974, -673, - 453, 454, 505, 455, 512, 54, 56, -673, -673, 475, - -673, -673, -673, -673, -673, 464, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 168, -673, 477, -673, 478, 1974, - 542, 486, 484, 483, 489, 57, -673, 238, 54, 506, - 56, 56, 481, 54, 552, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 1680, -673, -673, -673, 485, 487, - -673, -673, -673, 198, 54, 482, 488, -673, -673, -673, - -673, 56, -673, -673, -673, -673, 54, 502, 490, 515, - -673, -673, -673, -673, 496, 498, -673, -673, 527, -673 + -685, 90, 1482, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 41, 67, 68, 52, -685, 41, + 41, -685, 48, 48, -685, -685, 41, -685, -685, 33, + -685, 472, 71, 106, -685, -685, 6, -685, -685, -685, + -685, -685, -685, 566, -685, -685, -685, -685, -685, 1631, + 19, -685, -685, 121, -685, 132, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 122, -685, -685, -685, 122, -685, + -685, 72, 130, 2112, 48, 41, 1989, 41, 41, 41, + 41, -685, -685, -685, 77, 41, 80, -685, 86, 41, + -685, 122, 41, 139, 144, 41, -685, -685, 15, -685, + 59, 240, -685, 148, -685, 149, 170, 616, -685, -685, + -685, 172, 221, -685, 175, 179, 180, 88, -685, 133, + -685, -685, -685, -685, -685, -685, 181, -685, -685, -685, + 182, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, 189, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 132, -685, -685, -685, -685, 47, -685, -685, 183, -685, + 185, 191, 194, -685, 48, 184, 196, 199, -685, 201, + 202, 203, 204, 205, 209, 213, 210, -685, -685, -685, + 217, 219, -685, -685, -685, -685, 189, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 189, -685, -685, -685, + -685, -685, -685, -685, -685, 220, -685, 222, -685, -685, + 187, -685, 284, -685, -685, -685, -685, 49, -685, -685, + -685, 2112, -685, -685, -685, -685, 218, -685, -685, -685, + -685, 291, -685, -685, 50, 224, -685, -685, -685, -685, + -685, -685, -685, -685, 294, -685, 136, 223, -685, 226, + 273, -685, -685, -685, -685, -685, -685, 189, -685, -685, + 227, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 273, 229, 245, -685, -685, -685, 41, 41, 247, 248, + -685, -685, -685, 246, -685, 284, 251, -685, -685, -685, + -685, -685, 348, -685, 252, 254, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 178, 178, 178, 136, + 189, -685, -685, 249, 253, 255, 69, 92, 2, -685, + -685, -685, -685, -685, 48, -685, -685, -685, -685, 258, + -685, 1721, 261, -685, 48, -685, 136, 136, 136, 241, + -685, -685, -685, -685, -685, -685, -685, 162, -685, 1, + -685, -685, -685, -685, -685, -685, -685, -685, 48, 273, + -685, -685, -685, -685, 187, 1432, 1544, 259, 264, -685, + 616, -685, -685, -685, 257, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 263, 41, -685, 189, 1123, + -685, 842, 136, -685, -685, -685, 265, -685, -685, -685, + -685, 136, -685, 728, -685, -685, -685, 243, 1030, -685, + -685, -685, -685, 44, 308, 48, 48, -685, -685, -685, + -685, -685, 44, -685, 270, -685, 266, -685, 271, -685, + -685, 1217, 189, -685, 48, 273, -685, -685, -685, -685, + 279, -685, -685, 41, -685, -685, 280, 281, 376, 283, + -685, -685, 253, 255, 69, 92, 92, 2, 2, -685, + -685, -685, -685, -685, 285, -685, -685, -685, 288, -685, + -685, 1901, -685, -685, -685, -685, 2024, -685, -685, -685, + -685, -685, 290, -685, 1936, -685, -685, 1811, -685, 289, + 1721, 292, -685, 293, 296, 297, 301, -685, 269, -685, + 307, -685, -685, -685, 313, 319, 542, 48, 48, 48, + 385, -685, 323, -685, -685, -685, -685, -685, -685, -685, + 41, 41, -685, 326, -685, -685, -685, 1311, 936, 361, + 2077, -685, 189, 284, -685, -685, 62, 65, 303, 330, + 331, 284, 336, -685, -685, 4, -685, 57, -685, -685, + 335, 340, 189, -685, 343, 141, 1989, -685, 405, -685, + -685, -685, -685, 50, -685, 346, -685, 347, -685, 351, + 353, 355, 359, -685, 189, -685, -685, -685, -685, -685, + 360, 362, 442, -685, -685, -685, 364, -685, -685, 136, + 357, -685, -685, -685, 136, -685, 284, -685, 365, 41, + -685, -685, 460, 189, -685, -685, -685, -685, -685, -685, + 66, 66, 66, -685, 373, -685, 380, 382, 384, 386, + 387, 389, -685, -685, -685, 390, 392, 391, 398, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 136, + -685, -685, -685, 41, -685, 399, 388, 400, -685, 434, + 403, 141, -685, 406, 411, -685, 412, 136, 413, 1606, + -685, 48, -685, -685, -685, -685, -685, -685, 508, -685, + -685, -685, -685, 416, -685, -685, 301, 307, -685, -685, + 397, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 404, 404, -685, -685, -685, -685, 2077, 41, -685, + 136, 407, -685, -685, -685, -685, -685, -685, -685, 417, + -685, -685, -685, -685, -685, 48, -685, -685, -685, -685, + 422, 189, -685, 404, -685, -685, 423, -685, 477, -685, + -685, -685, -685, -685, -685, -685, -685, 48, -685, 189, + 425, 1361, -685, 415, -685, -685, 427, 418, 485, 488, + 488, 41, 476, 431, 420, -685, 189, 441, -685, -685, + 428, -685, 488, -685, -685, -685, 432, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 482, 545, 438, 197, + 488, -685, 81, 2077, -685, 446, 445, 488, 448, 497, + 41, 48, -685, -685, 462, -685, -685, -685, -685, -685, + 449, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 189, + -685, 463, -685, 464, 2077, 528, 473, 136, 469, 474, + 58, -685, 160, 41, 485, 48, 48, 458, 41, 545, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 1696, + -685, -685, -685, 479, 480, -685, -685, -685, 197, 41, + 483, 494, -685, -685, -685, -685, 48, -685, -685, -685, + -685, 41, 501, 484, 524, -685, -685, -685, -685, 486, + 499, -685, -685, 527, -685 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1410,140 +1412,142 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 395, 0, 0, 0, 0, 94, 0, - 0, 507, 0, 0, 576, 596, 0, 6, 7, 42, + 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, + 0, 508, 0, 0, 577, 597, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 466, 465, 468, 30, 505, 32, - 537, 539, 538, 536, 77, 555, 556, 535, 77, 34, + 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, + 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 472, 548, 0, 142, 138, 0, 137, + 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 361, - 0, 369, 374, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, + 0, 370, 375, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 368, 248, - 373, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 549, 542, 551, - 0, 0, 599, 595, 39, 287, 160, 148, 152, 156, + 0, 252, 253, 250, 246, 0, 249, 247, 369, 248, + 374, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 550, 543, 552, + 0, 0, 600, 596, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 396, 73, 546, 74, 0, 547, 95, - 477, 508, 0, 463, 140, 464, 577, 0, 197, 43, - 25, 0, 562, 558, 559, 564, 561, 565, 563, 560, - 557, 0, 48, 569, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 99, - 360, 357, 365, 370, 19, 11, 214, 13, 297, 0, - 21, 15, 17, 29, 469, 31, 519, 506, 33, 99, - 0, 0, 35, 37, 603, 0, 0, 0, 0, 89, - 475, 473, 516, 139, 0, 0, 597, 212, 200, 4, - 566, 0, 570, 0, 567, 186, 187, 188, 190, 193, - 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, - 594, 161, 162, 163, 165, 167, 169, 172, 175, 179, - 184, 593, 62, 0, 114, 105, 278, 196, 0, 362, - 0, 0, 0, 93, 0, 0, 0, 217, 213, 312, - 480, 523, 550, 543, 552, 600, 149, 266, 232, 259, - 260, 261, 267, 346, 397, 114, 0, 99, 514, 509, - 141, 578, 477, 0, 0, 3, 0, 49, 0, 180, - 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 591, 0, 76, 136, 0, 113, 0, - 0, 213, 356, 213, 98, 358, 366, 371, 0, 215, - 0, 298, 302, 213, 213, 0, 114, 105, 385, 390, - 0, 501, 0, 0, 608, 383, 384, 604, 606, 0, - 610, 0, 602, 0, 213, 256, 213, 302, 0, 476, - 474, 0, 99, 584, 598, 204, 198, 0, 206, 199, - 0, 201, 207, 0, 0, 0, 0, 568, 185, 164, - 166, 168, 170, 171, 173, 174, 176, 177, 178, 213, - 63, 133, 131, 405, 406, 0, 116, 123, 0, 117, - 127, 125, 129, 0, 119, 121, 410, 111, 110, 0, - 104, 0, 106, 107, 0, 108, 0, 0, 0, 0, - 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, - 0, 213, 0, 0, 0, 0, 0, 491, 0, 479, - 481, 483, 485, 487, 489, 493, 0, 0, 524, 0, - 522, 525, 527, 0, 0, 0, 0, 497, 496, 0, - 500, 499, 0, 0, 0, 0, 0, 0, 0, 601, - 150, 0, 257, 0, 347, 352, 213, 0, 515, 510, - 583, 213, 0, 202, 210, 203, 45, 571, 50, 0, - 134, 0, 69, 0, 115, 0, 0, 0, 0, 409, - 439, 436, 437, 438, 400, 408, 0, 0, 0, 87, - 112, 103, 0, 364, 363, 354, 0, 359, 367, 372, - 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, - 318, 319, 320, 321, 313, 322, 0, 0, 0, 478, - 0, 471, 0, 0, 0, 0, 0, 0, 529, 532, - 521, 0, 0, 0, 0, 386, 391, 495, 589, 590, - 609, 605, 607, 498, 611, 0, 380, 376, 379, 0, - 353, 0, 349, 0, 91, 0, 0, 0, 587, 0, - 0, 582, 0, 0, 0, 0, 592, 0, 132, 124, - 118, 128, 126, 130, 0, 120, 122, 411, 109, 0, - 223, 0, 222, 308, 305, 0, 504, 502, 503, 492, - 482, 484, 486, 488, 490, 494, 0, 0, 526, 528, - 545, 554, 0, 0, 151, 0, 377, 258, 348, 350, - 399, 511, 580, 581, 0, 585, 586, 205, 209, 208, - 0, 56, 42, 51, 55, 0, 135, 401, 0, 355, - 221, 0, 314, 414, 530, 533, 387, 392, 265, 381, - 378, 213, 0, 588, 58, 0, 0, 57, 0, 412, - 306, 0, 0, 0, 446, 446, 0, 450, 262, 0, - 351, 512, 0, 52, 54, 427, 402, 446, 315, 415, - 422, 0, 421, 443, 531, 534, 388, 447, 393, 263, - 382, 518, 0, 0, 0, 446, 413, 0, 0, 417, - 418, 0, 446, 0, 454, 0, 0, 513, 575, 0, - 574, 426, 440, 441, 442, 0, 432, 433, 403, 330, - 337, 335, 316, 326, 327, 334, 423, 419, 444, 389, - 448, 451, 394, 264, 517, 59, 572, 428, 429, 0, - 458, 0, 0, 0, 0, 0, 213, 332, 0, 0, - 0, 0, 0, 0, 0, 430, 434, 455, 404, 331, - 338, 336, 317, 325, 0, 333, 424, 420, 0, 0, - 452, 60, 573, 0, 0, 0, 0, 340, 328, 445, - 449, 0, 431, 435, 456, 339, 0, 0, 0, 0, - 341, 329, 453, 462, 0, 459, 457, 460, 0, 461 + 295, 310, 345, 397, 73, 547, 74, 0, 548, 95, + 478, 509, 0, 464, 140, 465, 578, 0, 197, 43, + 25, 0, 563, 559, 560, 565, 562, 566, 564, 561, + 558, 0, 48, 570, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, + 99, 361, 358, 366, 371, 19, 11, 214, 13, 297, + 0, 21, 15, 17, 29, 470, 31, 520, 507, 33, + 99, 0, 0, 35, 37, 604, 0, 0, 0, 0, + 89, 476, 474, 517, 139, 0, 0, 598, 212, 200, + 4, 567, 0, 571, 0, 568, 186, 187, 188, 190, + 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, + 183, 595, 161, 162, 163, 165, 167, 169, 172, 175, + 179, 184, 594, 62, 0, 114, 105, 278, 196, 0, + 363, 0, 0, 213, 0, 93, 0, 0, 0, 217, + 213, 312, 481, 524, 551, 544, 553, 601, 149, 266, + 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, + 515, 510, 141, 579, 478, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 592, 0, 76, 136, 0, + 113, 0, 0, 213, 357, 213, 0, 98, 359, 367, + 372, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 386, 391, 0, 502, 0, 0, 609, 384, 385, + 605, 607, 0, 611, 0, 603, 0, 213, 256, 213, + 302, 0, 477, 475, 0, 99, 585, 599, 204, 198, + 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, + 569, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 406, 407, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 411, + 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, + 0, 0, 213, 0, 0, 0, 137, 218, 0, 219, + 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, + 0, 492, 0, 480, 482, 484, 486, 488, 490, 494, + 0, 0, 525, 0, 523, 526, 528, 0, 0, 0, + 0, 498, 497, 0, 501, 500, 0, 0, 0, 0, + 0, 0, 0, 602, 150, 0, 257, 0, 347, 352, + 213, 0, 516, 511, 584, 213, 0, 202, 210, 203, + 45, 572, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 410, 440, 437, 438, 439, 401, 409, + 0, 0, 0, 87, 112, 103, 0, 365, 364, 0, + 0, 360, 368, 373, 0, 216, 0, 220, 0, 0, + 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, + 0, 0, 0, 479, 0, 472, 0, 0, 0, 0, + 0, 0, 530, 533, 522, 0, 0, 0, 0, 387, + 392, 496, 590, 591, 610, 606, 608, 499, 612, 0, + 381, 377, 380, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 588, 0, 0, 583, 0, 0, 0, 0, + 593, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 412, 109, 0, 355, 223, 0, 222, 308, 305, + 0, 505, 503, 504, 493, 483, 485, 487, 489, 491, + 495, 0, 0, 527, 529, 546, 555, 0, 0, 151, + 0, 378, 258, 348, 350, 400, 512, 581, 582, 0, + 586, 587, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 402, 0, 356, 221, 0, 314, 415, 531, + 534, 388, 393, 265, 382, 379, 213, 0, 589, 58, + 0, 0, 57, 0, 413, 306, 0, 0, 0, 447, + 447, 0, 451, 262, 0, 351, 513, 0, 52, 54, + 428, 403, 447, 315, 416, 423, 0, 422, 444, 532, + 535, 389, 448, 394, 263, 383, 519, 0, 0, 0, + 447, 414, 0, 0, 418, 419, 0, 447, 0, 455, + 0, 0, 514, 576, 0, 575, 427, 441, 442, 443, + 0, 433, 434, 404, 330, 337, 335, 316, 326, 327, + 334, 424, 420, 445, 390, 449, 452, 395, 264, 518, + 59, 573, 429, 430, 0, 459, 0, 0, 0, 0, + 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, + 431, 435, 456, 405, 331, 338, 336, 317, 325, 0, + 333, 425, 421, 0, 0, 453, 60, 574, 0, 0, + 0, 0, 340, 328, 446, 450, 0, 432, 436, 457, + 339, 0, 0, 0, 0, 341, 329, 454, 463, 0, + 460, 458, 461, 0, 462 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -673, -673, 295, 297, 563, -619, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -606, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -142, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, 261, -673, - -673, 58, -673, -673, -673, 598, -673, -673, -673, -673, - -673, -673, -673, 602, -673, 266, -673, -673, -246, -673, - -673, 197, 115, -673, -673, -673, -322, -673, -362, -673, - -673, -673, -673, -673, -673, -673, -673, -335, -673, -673, - -22, -673, -673, -192, -10, -673, 16, -673, -673, -673, - -673, -213, -34, -229, -673, 229, 231, 232, -109, -103, - -156, -53, -673, -320, -673, -673, -673, -673, -673, -673, - -673, -673, 13, -88, 576, -673, -673, -673, -673, -64, - 20, 6, -673, 61, -673, -31, -306, -462, -673, -673, - -673, 14, -673, -673, -617, -132, -673, -673, -7, -673, - -57, -673, -673, -45, -42, -56, -54, -50, 252, -673, - -40, -673, -38, -673, -673, -673, -673, 189, 286, 139, - -673, -673, -673, -37, -673, -32, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -204, -673, -673, -673, -673, - -673, -202, -673, -673, -673, -673, -673, -673, -673, -41, - -673, -673, -673, -673, -673, -673, -673, -105, -673, 235, - -673, -673, -673, -673, -673, -673, -673, -70, -673, -673, - -673, -69, -673, -673, -673, -673, -673, -673, -673, -67, - -673, -673, -343, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, 17, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -647, - -673, -673, -673, -673, -673, -199, -673, -673, -673, -673, - -673, -673, -673, -673, -226, -673, -673, -507, -673, -672, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 18, 21, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 275, -673, -673, 126, -673, - -673, -673, -673, -673, -673, -673, -333, 220, -328, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 573, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 276, -673, -673, -201, -673, -673, -673, -673, -673, -673, - -673, -13, -673, 291, -673, -673, 79, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673 + -685, -685, 295, 298, 555, -629, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -596, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -155, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, 190, -685, + -685, 73, -685, -685, -685, 590, -685, -685, -685, -685, + -685, -685, -685, 593, -685, 192, -685, -685, -260, -685, + -685, 186, 103, -685, -685, -685, -293, -685, -370, -685, + -685, -685, -685, -685, -685, -685, -685, -340, -685, -685, + -22, -685, -685, -201, -10, -685, 17, -685, -685, -685, + -685, -198, -47, -236, -685, 228, 225, 216, -177, -162, + -142, -62, -685, -301, -685, -685, -685, -685, -685, -685, + -685, -685, 13, -76, 564, -685, -685, -685, -685, -82, + 3, 18, -685, 42, -685, -31, -311, -469, -685, -685, + -685, -2, -685, -685, -628, -138, -685, -685, -7, -685, + -66, -685, -685, -50, -45, -61, -57, -55, 250, -685, + -40, -685, -38, -685, -685, -685, -685, 193, 274, 137, + -685, -685, -685, -37, -685, -32, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -205, -685, -685, -685, -685, + -685, -206, -685, -685, -685, -685, -685, -685, -685, -41, + -685, -685, -685, -685, -685, -685, -685, -99, -685, -685, + -314, -685, -685, -685, -685, -685, -685, -685, -75, -685, + -685, -685, -70, -685, -685, -685, -685, -685, -685, -685, + -63, -685, -685, -333, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 21, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -636, -685, -685, -685, -685, -685, -194, -685, -685, -685, + -685, -685, -685, -685, -685, -217, -685, -685, -513, -685, + -684, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, 22, 23, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 278, -685, -685, 134, + -685, -685, -685, -685, -685, -685, -685, -338, 230, -335, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 587, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 277, -685, -685, -190, -685, -685, -685, -685, -685, + -685, -685, 0, -685, 306, -685, -685, 91, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1551,44 +1555,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 309, 464, 31, 32, 117, - 313, 466, 675, 755, 733, 756, 734, 735, 772, 853, - 33, 118, 404, 34, 35, 124, 344, 485, 36, 85, - 37, 151, 343, 38, 39, 40, 126, 345, 499, 41, - 227, 375, 567, 42, 269, 43, 102, 258, 353, 44, - 45, 409, 500, 602, 501, 502, 407, 408, 486, 585, - 596, 597, 583, 587, 586, 588, 581, 405, 481, 677, - 329, 232, 304, 109, 367, 46, 487, 83, 295, 443, - 655, 207, 330, 347, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 348, 48, 308, 383, 459, 572, 460, - 461, 674, 488, 50, 307, 357, 419, 514, 515, 613, - 516, 489, 86, 218, 296, 219, 154, 155, 156, 157, - 52, 368, 445, 659, 369, 747, 768, 805, 370, 371, + 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, + 314, 469, 679, 760, 738, 761, 739, 740, 777, 858, + 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, + 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, + 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, + 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, + 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, + 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, + 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, + 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, + 52, 370, 448, 663, 371, 752, 773, 810, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 358, 520, 421, 521, 617, 519, - 615, 741, 614, 55, 88, 56, 279, 423, 695, 761, - 797, 844, 624, 822, 845, 823, 846, 887, 841, 824, - 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, - 89, 297, 446, 661, 564, 662, 751, 565, 173, 351, - 174, 354, 509, 175, 267, 411, 176, 177, 355, 510, - 178, 179, 356, 511, 180, 372, 444, 657, 716, 658, - 715, 769, 490, 435, 545, 712, 766, 802, 436, 546, - 713, 767, 804, 491, 90, 298, 447, 663, 492, 684, - 758, 795, 840, 493, 594, 505, 598, 738, 777, 744, - 762, 763, 781, 800, 849, 782, 798, 848, 776, 793, - 794, 815, 838, 873, 816, 839, 874, 595, 817, 784, - 801, 850, 788, 803, 851, 832, 852, 881, 858, 875, - 889, 894, 895, 898, 494, 495, 63, 64, 65, 193, - 360, 528, 66, 230, 377, 301, 376, 424, 529, 632, - 633, 634, 635, 636, 630, 637, 530, 549, 531, 439, - 551, 532, 533, 534, 67, 195, 68, 105, 302, 452, - 665, 752, 791, 379, 451, 807, 287, 361, 539, 425, - 540, 641, 642, 541, 706, 764, 542, 707, 765, 69, - 70, 71, 72, 73, 290, 426, 643, 74, 75, 76, - 198, 289, 77, 291, 427, 644, 78, 251, 252, 314, - 253, 809, 836, 810, 79, 111, 305, 453, 666, 570, - 571, 671, 724, 535, 255, 403, 341, 80, 81, 112, - 382, 203, 294, 441, 365, 442, 555, 556, 554, 558 + 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, + 619, 746, 618, 55, 88, 56, 280, 426, 700, 766, + 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, + 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, + 89, 298, 449, 665, 568, 666, 756, 569, 173, 269, + 352, 174, 356, 513, 175, 267, 413, 176, 177, 357, + 514, 178, 179, 358, 515, 180, 374, 447, 661, 721, + 662, 720, 774, 493, 438, 549, 717, 771, 807, 439, + 550, 718, 772, 809, 494, 90, 299, 450, 667, 495, + 688, 763, 800, 845, 496, 598, 508, 602, 743, 782, + 749, 767, 768, 786, 805, 854, 787, 803, 853, 781, + 798, 799, 820, 843, 878, 821, 844, 879, 599, 822, + 789, 806, 855, 793, 808, 856, 837, 857, 886, 863, + 880, 894, 899, 900, 903, 497, 498, 63, 64, 65, + 193, 362, 532, 66, 230, 379, 302, 378, 427, 533, + 636, 637, 638, 639, 640, 634, 641, 534, 553, 535, + 442, 555, 536, 537, 538, 67, 195, 68, 105, 303, + 455, 669, 757, 796, 381, 454, 812, 288, 363, 543, + 428, 544, 645, 646, 545, 711, 769, 546, 712, 770, + 69, 70, 71, 72, 73, 291, 429, 647, 74, 75, + 76, 198, 290, 77, 292, 430, 648, 78, 251, 252, + 315, 253, 814, 841, 815, 79, 111, 306, 456, 670, + 574, 575, 675, 729, 539, 255, 405, 342, 80, 81, + 112, 384, 203, 295, 444, 367, 445, 559, 560, 558, + 562 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1596,309 +1601,358 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 51, 103, - 104, 171, 153, 214, 215, 49, 113, 414, 47, 60, - 61, 152, 434, 62, 237, 331, 208, 211, 310, 212, - 254, 591, 437, 213, 415, 416, 417, 438, 209, 646, - 303, 210, 717, 362, 412, 172, 168, 503, 169, 170, - 306, 660, 8, 448, 171, 51, 731, 91, 819, 106, - 745, 206, 216, 538, 152, 47, 60, 61, 648, 732, - 62, 649, 106, 106, 4, 217, 233, 220, 221, 222, - 223, 527, 819, 235, 591, 225, 820, 821, 547, 228, - 234, 759, 229, 785, 123, 231, 18, 234, 8, 392, - 95, -47, 18, -47, 543, 796, 99, -375, 114, -144, - 820, 821, 380, 262, 122, 184, 263, -47, -47, -145, - -47, -47, 119, 818, 122, -47, 584, -375, 106, 184, - 829, 450, 197, 618, 128, 129, 197, 731, 132, 133, - 134, 135, 503, 184, 184, 188, 107, -47, 12, 656, - 732, -47, 224, 122, 226, 234, -324, 120, 234, 107, - 234, -146, 276, 428, 429, -47, 122, 236, -100, -342, - 458, 214, 215, 122, 264, 265, 400, 401, 402, 204, - 350, 506, 503, 527, 208, 211, 202, 212, 106, 513, - 270, 213, 271, 430, 238, 605, 209, 606, 431, 210, - -467, 604, 428, 429, -540, 746, 569, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 239, 428, 429, 206, - 259, 184, 257, 523, 524, 240, 512, 256, 668, 106, - 260, 866, 430, 525, 812, 813, 814, 431, 669, 261, - 432, 433, 266, 670, 476, 477, 478, 430, 396, 397, - 591, 268, 431, 398, 399, 432, 433, 883, 234, 315, - 316, 317, 318, 319, 320, 321, 322, 820, 821, 890, - 420, 274, 389, 390, 391, 107, 94, 96, 323, 324, - 272, 184, 98, 101, 273, 366, 689, 472, 473, 275, - -212, 826, 277, 325, 326, 474, 475, 278, 327, 328, - 315, 316, 317, 318, 319, 320, 321, 322, 280, 281, - 282, 283, 285, 214, 215, 284, 107, 286, 288, 323, - 324, 406, 292, 507, 668, 350, 208, 211, 152, 212, - 406, 293, 856, 213, 669, 522, 591, -541, 209, 670, - 328, 210, 463, 299, 300, 106, 311, 312, 342, 346, - 331, 349, 352, 359, 449, 363, 561, 647, 563, 386, - 364, 206, 373, 374, 387, 653, 381, 395, 418, 378, - 468, 550, 388, -44, 410, 393, 413, 591, 394, 172, - 168, 690, 169, 170, 465, 479, 559, 562, 171, 518, - 51, 579, 560, 573, 480, 749, 575, 49, 152, 457, - 47, 60, 61, 577, 576, 62, 578, 610, 548, 580, - 552, 553, 582, 599, 612, 611, 603, 548, 428, 429, - 691, 607, 504, 592, 593, 608, 331, 609, 616, 568, - -300, 631, 640, 420, 696, 697, 698, 526, 645, 523, - 524, 673, 650, 651, 728, 652, 654, 678, 430, 525, - 574, -398, 664, 431, -579, 679, 432, 433, 680, 681, - 172, 168, 682, 169, 170, 620, 621, 683, 622, 171, - 518, 590, 623, 241, 685, 242, 592, 593, 420, 152, - 686, 625, 687, 688, 262, 152, -470, 106, 693, 243, - 244, 699, 245, 246, 700, 701, 702, 247, 703, 704, - 619, 626, 627, 628, 705, 708, 709, 719, 721, 710, - 737, 711, 718, 720, 722, 868, 869, 725, 726, 248, - 727, 729, 753, 249, 590, 757, 638, 639, 739, 760, - 743, 172, 168, 742, 169, 170, -416, 250, 656, 773, - 171, 778, 780, 775, 783, 779, 888, 787, 789, 792, - 152, 790, -425, 799, 806, 808, 827, 504, 315, 316, - 317, 318, 319, 320, 321, 322, 811, 5, 828, 830, - 6, 7, 8, 9, 107, 831, 835, 323, 324, 837, - 854, 855, 857, 859, 667, 861, 10, 11, 862, 12, - 885, 893, 325, 326, 13, 870, 884, 327, 328, 891, - 879, 897, 880, 899, 384, 892, 385, 14, 15, 16, - 17, 896, 183, 860, 774, 100, 18, 19, 97, 601, - 20, 714, 469, 21, 544, 470, 185, 471, 740, 694, - 22, 23, 692, 672, 786, 462, 566, 24, 25, 730, - 600, 863, 592, 593, 422, 865, 770, 882, 508, 750, - 867, 199, 629, 872, 723, 736, 440, 454, 676, 557, - 0, 26, 0, 563, 467, -53, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 590, 47, 60, 61, 0, 0, 62, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 748, 0, 754, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, + 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, + 51, 152, 211, 60, 61, 62, 212, 595, 213, 440, + 364, 304, 441, 209, 437, 722, 237, 650, 210, 416, + 414, 506, 254, 311, 91, 172, 168, 106, 169, 170, + 736, 106, 307, 106, 171, 418, 419, 420, 542, 824, + 664, 206, 216, 551, 152, 652, 47, 51, 653, 106, + 60, 61, 62, 8, 8, 217, 750, 220, 221, 222, + 223, 595, 824, 737, 451, 225, 790, 825, 826, 228, + 4, 233, 229, 394, 531, 231, 262, -376, 801, 263, + 184, 511, 18, -144, 382, 234, 99, 764, 122, 123, + 825, 826, 402, 403, 404, 184, 823, -376, 18, 453, + 660, 588, 95, 834, 316, 317, 318, 319, 320, 321, + 322, 323, 736, 114, 107, 235, 547, 506, 107, 106, + 107, 264, 265, 324, 325, 184, 184, 197, 271, 234, + 272, 197, 234, 184, 188, 234, 234, -324, 326, 327, + 398, 399, 277, 328, 329, 737, 214, 224, 119, 226, + 202, 215, 431, 432, -145, 208, 509, -146, 506, 122, + 211, 106, 122, -100, 212, 517, 213, 461, 122, 825, + 826, 209, 351, 431, 432, 573, 210, 531, 610, 608, + 400, 401, 433, 120, 751, 94, 96, 434, 98, 101, + 316, 317, 318, 319, 320, 321, 322, 323, -342, 206, + 516, 475, 476, 433, 122, 871, 107, 204, 434, 324, + 325, 435, 436, 817, 818, 819, -468, 673, 477, 478, + 674, -541, 672, 236, 326, 327, 238, 239, 595, 328, + 329, 888, 316, 317, 318, 319, 320, 321, 322, 323, + 479, 480, 481, 895, 391, 392, 393, 240, 107, 256, + 257, 324, 325, 259, 431, 432, 260, 351, 261, 234, + -212, 266, 268, 273, 423, 274, 368, 106, 275, 301, + 831, 276, 329, 278, 313, 527, 528, 279, 281, 282, + 283, 284, 347, 285, 433, 529, 286, 289, 693, 434, + 214, 287, 435, 436, 293, 215, 294, -542, 312, 208, + 300, 354, 408, 350, 211, 343, 353, 365, 212, 152, + 213, 861, 408, 673, 595, 209, 674, 510, 672, 351, + 210, 361, -471, 366, 466, 375, 376, 332, 380, 383, + 526, 388, 651, 389, 395, 421, 452, 390, -44, 396, + 657, 412, 397, 206, 415, 468, 482, 554, 512, 563, + 564, 565, 471, 567, 566, 595, 577, 579, 695, 581, + 580, 582, 172, 168, 615, 169, 170, 586, 584, 603, + 607, 171, 522, 649, 611, 609, 483, 612, 613, 49, + 654, 152, 460, 47, 51, 614, 583, 60, 61, 62, + 616, 552, 620, 556, 557, 696, 431, 432, -300, 754, + 552, 596, 635, 332, 507, 644, 597, 655, 656, 701, + 702, 703, 572, 658, -399, 677, 351, 527, 528, 668, + 530, 733, -580, 682, 683, 691, 433, 529, 684, 423, + 685, 434, 686, 578, 435, 436, 687, 689, 694, 690, + 624, 692, 698, 172, 168, 625, 169, 170, 262, 626, + 704, 627, 171, 522, 594, 596, -47, 705, -47, 706, + 597, 707, 152, 708, 709, 629, 710, 713, 152, 714, + 715, 724, -47, -47, 423, -47, -47, 716, 723, 725, + -47, 726, 727, 730, 623, 630, 631, 632, 731, 732, + 734, 742, 747, -417, 758, 873, 874, 744, 748, 762, + 765, 785, -47, 660, 778, 783, -47, 788, 594, 780, + 642, 643, 792, 784, 794, 172, 168, 795, 169, 170, + -47, 797, 811, -426, 171, 106, 893, 804, 813, 832, + 622, 128, 129, 816, 152, 132, 133, 134, 135, 833, + 836, 507, 835, 840, 842, 12, 859, 860, 862, 106, + 864, 866, 875, 867, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, + 139, 140, 141, 142, 884, 885, 890, 889, 896, 897, + 898, 901, 902, 904, 183, 386, 779, 100, 387, 97, + 605, 865, 719, 474, 185, 745, 548, 699, 676, 697, + 241, 473, 242, 472, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 791, 425, 465, 243, 244, 184, 245, + 246, 604, 596, 570, 247, 868, 870, 597, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 775, 755, 741, + 872, 887, 457, -101, 633, 199, 248, 470, 122, 877, + 249, 728, 561, 443, 680, 0, 0, 0, 0, 0, + 567, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 594, 47, 51, 0, 0, + 60, 61, 62, 0, 0, 0, 0, 0, 92, 0, + 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 596, 521, + 0, 106, 0, 597, 0, 776, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 0, 0, + 0, 92, 0, 0, 753, 0, 0, 0, 0, 596, + 0, 0, 0, 0, 597, 869, 0, 0, 47, 51, + 0, 594, 60, 61, 62, 0, 0, 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 106, 0, 592, 593, - 771, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 0, 0, 0, 0, 92, 0, 864, 748, - 0, 0, 51, 0, 0, 0, 0, 0, 0, 592, - 593, 0, 47, 60, 61, 0, 590, 62, 0, 0, - 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 833, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 590, 0, 0, - -101, 0, 0, 172, 168, 122, 169, 170, 406, 406, - 0, 0, 171, 877, 0, 0, 0, 0, 482, 0, - -407, 6, 152, 871, 9, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, 10, 11, 406, - 12, 0, 0, -407, -407, 13, 0, 0, 428, 429, - 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, + 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, + 0, 0, 594, 0, 184, 0, 0, 0, 172, 168, + 0, 169, 170, 408, 408, 0, 0, 171, 882, 0, + 0, 0, 0, 485, 0, -408, 6, 152, 876, 9, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 10, 11, 408, 12, 0, 0, -408, -408, + 13, 0, 0, 431, 432, 486, 487, -408, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 0, 0, - 0, 0, 482, -213, -407, 6, -86, 0, 9, -407, - -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, - -407, 10, 11, 0, 12, 0, 0, -407, -407, 13, - 0, 0, 428, 429, 483, 484, -407, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 496, 497, 498, 0, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 0, 0, 0, 0, 485, -213, -408, + 6, -86, 0, 9, -408, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, + 0, 0, -408, -408, 13, 0, 0, 431, 432, 486, + 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -407, -407, -407, -407, -407, -407, -407, - -407, -407, 0, 0, 0, 0, 482, -213, -407, 6, - -553, 0, 9, -407, -407, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, 10, 11, 0, 12, 0, - 0, -407, -407, 13, 0, 0, 428, 429, 483, 484, - -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 537, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -407, -407, -407, - -407, -407, -407, -407, -407, -407, 0, 0, 0, 482, - 0, -407, 6, 0, -520, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, + 0, 485, -213, -408, 6, -554, 0, 9, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 10, 11, 0, 12, 0, 0, -408, -408, 13, 0, + 0, 431, 432, 486, 487, -408, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, + 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 0, 0, 0, 485, 0, -408, 6, 0, -521, + 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, + -408, 13, 0, 0, 431, 432, 486, 487, -408, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, - 0, 0, 0, 482, -213, -407, 6, -68, 0, 9, - -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, - -407, -407, 10, 11, 0, 12, 0, 0, -407, -407, - 13, 0, 0, 428, 429, 483, 484, -407, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, + -408, -408, -408, -408, 0, 0, 0, 0, 485, -213, + -408, 6, -68, 0, 9, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, + 12, 0, 0, -408, -408, 13, 0, 0, 431, 432, + 486, 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -407, -407, -407, -407, -407, -407, - -407, -407, -407, 0, 0, 0, 0, 482, -213, -407, - 6, -90, 0, 9, -407, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, 10, 11, 0, 12, - 0, 0, -407, -407, 13, 0, 0, 428, 429, 483, - 484, -407, 0, 0, 106, 6, 0, 14, 455, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 0, 0, 0, 0, 12, 0, 0, 141, 142, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -407, -407, - -407, -407, -407, -407, -407, -407, -407, 0, 0, 0, - 0, 0, -213, 0, 0, -544, 0, 0, 0, 0, - 0, 0, 0, -2, 5, 0, 0, 6, 7, 8, - 9, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 10, 11, 0, 12, 106, 0, 0, - 456, 13, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 14, 15, 16, 17, 139, 140, - 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 517, - 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 0, 0, 0, 0, 5, - 184, 0, 6, 7, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, - 15, 16, 17, 0, 184, 0, 0, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, - 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, - 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, - 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, - 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 0, 482, - 26, -407, 6, 0, 0, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, - 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 22, 23, 0, 0, 184, 0, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, + 0, 0, 485, -213, -408, 6, -90, 0, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 14, 15, 16, 17, 0, -213, 0, 0, + -545, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 24, 25, 735, 106, 6, 0, 0, 458, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 137, 0, 0, 0, 0, 12, 26, 0, 141, 142, + -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 482, - 0, -407, 6, 0, 0, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 517, 0, 106, 0, 0, 14, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 14, 15, 16, 17, 0, 0, 0, + 0, 459, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, + 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, + 0, 0, 13, 0, 0, 0, 0, 26, -213, 0, + 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 5, 22, 23, + 6, 7, 8, 9, 0, 24, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, + 0, 0, 5, 0, 13, 6, 7, 8, 9, 26, + -213, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 14, 15, 16, 17, 0, 24, 25, 735, + 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, + 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, - 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, + 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 0, 0, 139, 140, 141, 142, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, + 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 485, 0, -408, 6, 0, 184, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 485, 0, -408, 6, 0, 0, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 521, 0, 106, + 0, 0, 14, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 205, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 141, 142, 0, 0, 0, 0, 0, 0, 0, 593, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107 + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, - 20, 43, 43, 83, 83, 2, 26, 352, 2, 2, - 2, 43, 365, 2, 112, 254, 83, 83, 241, 83, - 118, 493, 365, 83, 354, 355, 356, 365, 83, 546, - 232, 83, 659, 289, 350, 86, 86, 409, 86, 86, - 3, 3, 6, 375, 86, 49, 675, 3, 1, 3, - 707, 83, 84, 425, 86, 49, 49, 49, 3, 675, - 49, 3, 3, 3, 0, 85, 76, 87, 88, 89, - 90, 424, 1, 76, 546, 95, 29, 30, 19, 99, - 90, 738, 102, 765, 36, 105, 50, 90, 6, 328, - 54, 4, 50, 6, 426, 777, 54, 96, 100, 97, - 29, 30, 304, 8, 102, 96, 11, 20, 21, 97, - 23, 24, 97, 795, 102, 28, 488, 116, 3, 96, - 802, 377, 74, 8, 9, 10, 78, 756, 13, 14, - 15, 16, 504, 96, 96, 22, 90, 50, 23, 116, - 756, 54, 94, 102, 96, 90, 99, 97, 90, 90, - 90, 97, 184, 31, 32, 68, 102, 3, 97, 97, - 383, 241, 241, 102, 8, 9, 110, 111, 112, 97, - 268, 410, 544, 526, 241, 241, 98, 241, 3, 418, - 101, 241, 103, 61, 98, 101, 241, 103, 66, 241, - 97, 507, 31, 32, 97, 712, 452, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 98, 31, 32, 241, - 98, 96, 49, 52, 53, 97, 418, 97, 571, 3, - 97, 848, 61, 62, 36, 37, 38, 66, 571, 98, - 69, 70, 100, 571, 400, 401, 402, 61, 91, 92, - 712, 100, 66, 108, 109, 69, 70, 874, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 29, 30, 886, - 358, 97, 325, 326, 327, 90, 15, 16, 93, 94, - 100, 96, 16, 17, 100, 295, 606, 396, 397, 97, - 96, 798, 97, 108, 109, 398, 399, 98, 113, 114, - 74, 75, 76, 77, 78, 79, 80, 81, 97, 97, - 97, 97, 97, 383, 383, 98, 90, 98, 97, 93, - 94, 343, 97, 411, 667, 413, 383, 383, 350, 383, - 352, 97, 839, 383, 667, 423, 798, 97, 383, 667, - 114, 383, 383, 98, 102, 3, 100, 3, 101, 8, - 579, 100, 48, 114, 376, 98, 444, 549, 446, 3, - 98, 383, 98, 98, 101, 557, 98, 107, 114, 102, - 115, 59, 103, 99, 103, 105, 103, 839, 106, 420, - 420, 610, 420, 420, 101, 103, 99, 103, 420, 420, - 384, 479, 104, 97, 404, 715, 97, 384, 420, 383, - 384, 384, 384, 3, 99, 384, 98, 104, 430, 103, - 432, 433, 99, 99, 103, 115, 101, 439, 31, 32, - 612, 101, 409, 493, 493, 101, 655, 101, 99, 451, - 99, 99, 99, 521, 626, 627, 628, 424, 32, 52, - 53, 30, 97, 97, 673, 97, 97, 97, 61, 62, - 460, 99, 99, 66, 99, 97, 69, 70, 97, 97, - 501, 501, 97, 501, 501, 522, 522, 97, 522, 501, - 501, 493, 522, 4, 97, 6, 546, 546, 566, 501, - 97, 522, 3, 97, 8, 507, 99, 3, 97, 20, - 21, 97, 23, 24, 97, 97, 97, 28, 97, 97, - 522, 523, 524, 525, 97, 97, 97, 103, 67, 99, - 3, 99, 99, 99, 99, 850, 851, 97, 97, 50, - 97, 97, 97, 54, 546, 97, 536, 537, 101, 97, - 114, 572, 572, 115, 572, 572, 36, 68, 116, 99, - 572, 98, 36, 114, 39, 115, 881, 56, 103, 100, - 572, 117, 115, 115, 60, 3, 103, 544, 74, 75, - 76, 77, 78, 79, 80, 81, 115, 1, 114, 114, - 4, 5, 6, 7, 90, 63, 101, 93, 94, 115, - 103, 103, 40, 97, 571, 102, 20, 21, 99, 23, - 102, 76, 108, 109, 28, 114, 114, 113, 114, 97, - 115, 103, 115, 76, 309, 115, 309, 41, 42, 43, - 44, 115, 49, 842, 756, 17, 50, 51, 16, 504, - 54, 655, 393, 57, 427, 394, 50, 395, 692, 615, - 64, 65, 612, 572, 766, 383, 447, 71, 72, 73, - 501, 845, 712, 712, 358, 847, 751, 873, 413, 716, - 849, 78, 526, 854, 667, 677, 365, 382, 579, 439, - -1, 95, -1, 751, 388, 99, -1, -1, -1, -1, + 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, + 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, + 2, 43, 83, 2, 2, 2, 83, 496, 83, 367, + 290, 232, 367, 83, 367, 663, 112, 550, 83, 353, + 351, 411, 118, 241, 3, 86, 86, 3, 86, 86, + 679, 3, 3, 3, 86, 356, 357, 358, 428, 1, + 3, 83, 84, 19, 86, 3, 49, 49, 3, 3, + 49, 49, 49, 6, 6, 85, 712, 87, 88, 89, + 90, 550, 1, 679, 377, 95, 770, 29, 30, 99, + 0, 76, 102, 329, 427, 105, 8, 96, 782, 11, + 96, 415, 50, 97, 305, 90, 54, 743, 102, 36, + 29, 30, 110, 111, 112, 96, 800, 116, 50, 379, + 116, 491, 54, 807, 74, 75, 76, 77, 78, 79, + 80, 81, 761, 100, 90, 76, 429, 507, 90, 3, + 90, 8, 9, 93, 94, 96, 96, 74, 101, 90, + 103, 78, 90, 96, 22, 90, 90, 99, 108, 109, + 91, 92, 184, 113, 114, 761, 241, 94, 97, 96, + 98, 241, 31, 32, 97, 241, 412, 97, 548, 102, + 241, 3, 102, 97, 241, 421, 241, 385, 102, 29, + 30, 241, 268, 31, 32, 455, 241, 530, 512, 510, + 108, 109, 61, 97, 717, 15, 16, 66, 16, 17, + 74, 75, 76, 77, 78, 79, 80, 81, 97, 241, + 421, 398, 399, 61, 102, 853, 90, 97, 66, 93, + 94, 69, 70, 36, 37, 38, 97, 575, 400, 401, + 575, 97, 575, 3, 108, 109, 98, 98, 717, 113, + 114, 879, 74, 75, 76, 77, 78, 79, 80, 81, + 402, 403, 404, 891, 326, 327, 328, 97, 90, 97, + 49, 93, 94, 98, 31, 32, 97, 353, 98, 90, + 96, 100, 100, 100, 360, 100, 296, 3, 97, 102, + 803, 97, 114, 97, 3, 52, 53, 98, 97, 97, + 97, 97, 8, 98, 61, 62, 97, 97, 609, 66, + 385, 98, 69, 70, 97, 385, 97, 97, 100, 385, + 98, 48, 344, 100, 385, 101, 100, 98, 385, 351, + 385, 844, 354, 671, 803, 385, 671, 413, 671, 415, + 385, 114, 99, 98, 385, 98, 98, 583, 102, 98, + 426, 3, 553, 101, 105, 114, 378, 103, 99, 106, + 561, 103, 107, 385, 103, 101, 103, 59, 103, 99, + 104, 447, 115, 449, 103, 844, 97, 97, 614, 3, + 99, 98, 423, 423, 115, 423, 423, 99, 103, 99, + 101, 423, 423, 32, 101, 103, 406, 101, 101, 386, + 97, 423, 385, 386, 386, 104, 482, 386, 386, 386, + 103, 433, 99, 435, 436, 616, 31, 32, 99, 720, + 442, 496, 99, 659, 411, 99, 496, 97, 97, 630, + 631, 632, 454, 97, 99, 30, 512, 52, 53, 99, + 427, 677, 99, 97, 97, 3, 61, 62, 97, 525, + 97, 66, 97, 463, 69, 70, 97, 97, 101, 97, + 526, 97, 97, 504, 504, 526, 504, 504, 8, 526, + 97, 526, 504, 504, 496, 550, 4, 97, 6, 97, + 550, 97, 504, 97, 97, 526, 97, 97, 510, 97, + 99, 103, 20, 21, 570, 23, 24, 99, 99, 99, + 28, 67, 99, 97, 526, 527, 528, 529, 97, 97, + 97, 3, 115, 36, 97, 855, 856, 101, 114, 97, + 97, 36, 50, 116, 99, 98, 54, 39, 550, 114, + 540, 541, 56, 115, 103, 576, 576, 117, 576, 576, + 68, 100, 60, 115, 576, 3, 886, 115, 3, 103, + 8, 9, 10, 115, 576, 13, 14, 15, 16, 114, + 63, 548, 114, 101, 115, 23, 103, 103, 40, 3, + 97, 102, 114, 99, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, + 24, 25, 26, 27, 115, 115, 102, 114, 97, 115, + 76, 115, 103, 76, 49, 310, 761, 17, 310, 16, + 507, 847, 659, 397, 50, 697, 430, 619, 576, 616, + 4, 396, 6, 395, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 771, 360, 385, 20, 21, 96, 23, + 24, 504, 717, 450, 28, 850, 852, 717, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 756, 721, 681, + 854, 878, 384, 97, 530, 78, 50, 390, 102, 859, + 54, 671, 442, 367, 583, -1, -1, -1, -1, -1, + 756, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 717, 679, 679, -1, -1, + 679, 679, 679, -1, -1, -1, -1, -1, 718, -1, + -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 803, 1, + -1, 3, -1, 803, -1, 757, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, -1, -1, + -1, 771, -1, -1, 771, -1, -1, -1, -1, 844, + -1, -1, -1, -1, 844, 851, -1, -1, 761, 761, + -1, 803, 761, 761, 761, -1, -1, -1, -1, 811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 675, -1, -1, -1, -1, -1, -1, -1, -1, - 712, 675, 675, 675, -1, -1, 675, -1, -1, -1, - -1, -1, -1, 713, -1, -1, 713, -1, 730, -1, + 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, 844, -1, 96, -1, -1, -1, 869, 869, + -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, + -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 886, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, + -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, + -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, 1, -1, 3, 4, -1, 99, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, + 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, -1, 798, 798, - 752, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, -1, -1, -1, -1, 766, -1, 846, 766, - -1, -1, 756, -1, -1, -1, -1, -1, -1, 839, - 839, -1, 756, 756, 756, -1, 798, 756, -1, -1, - -1, -1, -1, -1, 806, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 805, -1, -1, 805, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, 839, -1, -1, - 97, -1, -1, 864, 864, 102, 864, 864, 850, 851, - -1, -1, 864, 864, -1, -1, -1, -1, 1, -1, - 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, + 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, @@ -1907,119 +1961,92 @@ static const yytype_int16 yycheck[] = 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, - 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, - -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, + 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, 71, 72, 73, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + 18, -1, -1, -1, -1, 23, 95, -1, 26, 27, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, 0, 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, - 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 41, 42, 43, 44, -1, -1, -1, + -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, -1, 1, 64, 65, 4, 5, + 6, 7, -1, 71, 72, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, + -1, -1, 28, -1, -1, -1, -1, 95, 96, -1, + -1, -1, -1, -1, -1, 41, 42, 43, 44, -1, + -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, 1, 64, 65, + 4, 5, 6, 7, -1, 71, 72, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, + -1, -1, 1, -1, 28, 4, 5, 6, 7, 95, + 96, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, 20, 21, -1, 23, -1, 50, 51, -1, 28, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, 41, 42, 43, 44, -1, 71, 72, 73, + -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, + -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, + 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - -1, -1, -1, -1, 23, -1, -1, 26, 27, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + 19, -1, -1, -1, -1, 24, 25, 26, 27, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, 99, -1, -1, -1, -1, - -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, - 7, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, 20, 21, -1, 23, 3, -1, -1, - 99, 28, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 41, 42, 43, 44, 24, 25, - 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, - -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, - 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, - -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, - -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, - 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, - 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, - -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, - 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, - -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, - -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, -1, 1, - 95, 3, 4, -1, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, + -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 1, -1, 3, 4, -1, 96, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 1, - -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, 1, -1, 3, -1, -1, 41, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 1, -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, - -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, 1, -1, 3, + -1, -1, 41, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, - -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, + 26, 27, -1, -1, -1, -1, -1, -1, -1, 35, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, + -1, -1, -1, 26, 27, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90 + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2032,90 +2059,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 361, 412, 413, 414, 415, 416, 420, 442, 444, 467, - 468, 469, 470, 471, 475, 476, 477, 480, 484, 492, - 505, 506, 138, 215, 140, 167, 250, 279, 292, 318, - 362, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 445, 3, 90, 208, 211, - 208, 493, 507, 212, 100, 142, 131, 147, 159, 97, + 362, 413, 414, 415, 416, 417, 421, 443, 445, 468, + 469, 470, 471, 472, 476, 477, 478, 481, 485, 493, + 506, 507, 138, 215, 140, 167, 250, 279, 292, 318, + 363, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 446, 3, 90, 208, 211, + 208, 494, 508, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 328, 331, 334, 335, 338, 339, - 342, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 417, 134, 443, 135, 169, 478, 478, - 136, 137, 98, 509, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 335, 339, 208, 212, 251, 253, + 291, 293, 317, 326, 329, 332, 335, 336, 339, 340, + 343, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 418, 134, 444, 135, 169, 479, 479, + 136, 137, 98, 510, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 336, 340, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 421, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 422, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 485, 486, 488, 241, 502, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 332, 100, 182, - 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, - 97, 97, 97, 97, 98, 97, 98, 454, 97, 479, - 472, 481, 97, 97, 510, 216, 252, 319, 363, 98, - 102, 423, 446, 211, 210, 494, 3, 242, 233, 143, - 219, 100, 3, 148, 487, 74, 75, 76, 77, 78, - 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 504, 101, 170, 164, 175, 8, 221, 231, 100, - 241, 327, 48, 186, 329, 336, 340, 243, 282, 114, - 418, 455, 186, 98, 98, 512, 212, 212, 259, 262, - 266, 267, 343, 98, 98, 179, 424, 422, 102, 451, - 211, 98, 508, 234, 120, 121, 3, 101, 103, 229, - 229, 229, 221, 105, 106, 107, 91, 92, 108, 109, - 110, 111, 112, 503, 160, 205, 208, 194, 195, 189, - 103, 333, 254, 103, 205, 231, 231, 231, 114, 244, - 241, 284, 286, 295, 425, 457, 473, 482, 31, 32, - 61, 66, 69, 70, 350, 351, 356, 434, 436, 437, - 501, 511, 513, 217, 344, 260, 320, 364, 194, 208, - 186, 452, 447, 495, 423, 7, 99, 214, 219, 235, - 237, 238, 276, 317, 144, 101, 149, 488, 115, 223, - 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, - 212, 206, 1, 33, 34, 165, 196, 214, 240, 249, - 350, 361, 366, 371, 412, 413, 45, 46, 47, 176, - 190, 192, 193, 196, 240, 373, 221, 241, 327, 330, - 337, 341, 211, 221, 245, 246, 248, 1, 253, 287, - 283, 285, 241, 52, 53, 62, 240, 350, 419, 426, - 434, 436, 439, 440, 441, 501, 45, 55, 196, 456, - 458, 461, 464, 194, 189, 352, 357, 19, 208, 435, - 59, 438, 208, 208, 516, 514, 515, 435, 517, 99, - 104, 241, 103, 241, 322, 325, 285, 180, 208, 186, - 497, 498, 236, 97, 212, 97, 99, 3, 98, 241, - 103, 204, 99, 200, 196, 197, 202, 201, 203, 35, - 208, 255, 335, 339, 372, 395, 198, 199, 374, 99, - 287, 190, 191, 101, 254, 101, 103, 101, 101, 101, - 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, - 268, 273, 274, 275, 300, 317, 208, 208, 208, 426, - 432, 99, 427, 428, 429, 430, 431, 433, 212, 212, - 99, 459, 460, 474, 483, 32, 395, 211, 3, 3, - 97, 97, 97, 211, 97, 218, 116, 345, 347, 261, - 3, 321, 323, 365, 99, 448, 496, 240, 350, 434, - 436, 499, 251, 30, 239, 150, 504, 207, 97, 97, - 97, 97, 97, 97, 367, 97, 97, 3, 97, 231, - 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, - 97, 97, 97, 97, 97, 97, 462, 465, 97, 97, - 99, 99, 353, 358, 220, 348, 346, 262, 99, 103, - 99, 67, 99, 499, 500, 97, 97, 97, 221, 97, - 73, 123, 139, 152, 154, 155, 208, 3, 375, 101, - 247, 289, 115, 114, 377, 377, 395, 263, 266, 231, - 347, 324, 449, 97, 208, 151, 153, 97, 368, 377, - 97, 297, 378, 379, 463, 466, 354, 359, 264, 349, - 325, 208, 156, 99, 154, 114, 386, 376, 98, 115, - 36, 380, 383, 39, 397, 397, 263, 56, 400, 103, - 117, 450, 100, 387, 388, 369, 397, 298, 384, 115, - 381, 398, 355, 401, 360, 265, 60, 453, 3, 489, - 491, 115, 36, 37, 38, 389, 392, 396, 397, 1, - 29, 30, 301, 303, 307, 309, 395, 103, 114, 397, - 114, 63, 403, 266, 208, 101, 490, 115, 390, 393, - 370, 306, 311, 310, 299, 302, 304, 308, 385, 382, - 399, 402, 404, 157, 103, 103, 395, 40, 406, 97, - 221, 102, 99, 303, 241, 309, 262, 383, 205, 205, - 114, 212, 491, 391, 394, 407, 312, 253, 313, 115, - 115, 405, 392, 262, 114, 102, 314, 305, 205, 408, - 262, 97, 115, 76, 409, 410, 115, 103, 411, 76 + 68, 486, 487, 489, 241, 503, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 333, 100, 327, + 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, + 294, 97, 97, 97, 97, 98, 97, 98, 455, 97, + 480, 473, 482, 97, 97, 511, 216, 252, 319, 364, + 98, 102, 424, 447, 211, 210, 495, 3, 242, 233, + 143, 219, 100, 3, 148, 488, 74, 75, 76, 77, + 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, + 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 505, 101, 170, 164, 175, 8, 221, 231, + 100, 241, 328, 100, 48, 186, 330, 337, 341, 243, + 282, 114, 419, 456, 186, 98, 98, 513, 212, 212, + 259, 262, 266, 267, 344, 98, 98, 179, 425, 423, + 102, 452, 211, 98, 509, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 504, 160, 205, 208, 194, + 195, 189, 103, 334, 254, 103, 328, 205, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 426, 458, 474, + 483, 31, 32, 61, 66, 69, 70, 351, 352, 357, + 435, 437, 438, 502, 512, 514, 217, 345, 260, 320, + 365, 194, 208, 186, 453, 448, 496, 424, 7, 99, + 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, + 489, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, + 214, 240, 249, 351, 362, 367, 372, 413, 414, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 374, 221, + 241, 328, 103, 331, 338, 342, 211, 221, 245, 246, + 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, + 240, 351, 420, 427, 435, 437, 440, 441, 442, 502, + 45, 55, 196, 457, 459, 462, 465, 194, 189, 353, + 358, 19, 208, 436, 59, 439, 208, 208, 517, 515, + 516, 436, 518, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 498, 499, 236, 97, 212, 97, + 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, + 202, 201, 203, 35, 208, 255, 336, 340, 373, 396, + 198, 199, 375, 99, 287, 190, 191, 101, 254, 103, + 328, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, + 208, 208, 208, 427, 433, 99, 428, 429, 430, 431, + 432, 434, 212, 212, 99, 460, 461, 475, 484, 32, + 396, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 346, 348, 261, 3, 321, 323, 366, 99, 449, + 497, 240, 351, 435, 437, 500, 251, 30, 239, 150, + 505, 207, 97, 97, 97, 97, 97, 97, 368, 97, + 97, 3, 97, 231, 101, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 463, 466, 97, 97, 99, 99, 354, 359, 220, + 349, 347, 262, 99, 103, 99, 67, 99, 500, 501, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 376, 101, 247, 289, 115, 114, 378, + 378, 396, 263, 266, 231, 348, 324, 450, 97, 208, + 151, 153, 97, 369, 378, 97, 297, 379, 380, 464, + 467, 355, 360, 264, 350, 325, 208, 156, 99, 154, + 114, 387, 377, 98, 115, 36, 381, 384, 39, 398, + 398, 263, 56, 401, 103, 117, 451, 100, 388, 389, + 370, 398, 298, 385, 115, 382, 399, 356, 402, 361, + 265, 60, 454, 3, 490, 492, 115, 36, 37, 38, + 390, 393, 397, 398, 1, 29, 30, 301, 303, 307, + 309, 396, 103, 114, 398, 114, 63, 404, 266, 208, + 101, 491, 115, 391, 394, 371, 306, 311, 310, 299, + 302, 304, 308, 386, 383, 400, 403, 405, 157, 103, + 103, 396, 40, 407, 97, 221, 102, 99, 303, 241, + 309, 262, 384, 205, 205, 114, 212, 492, 392, 395, + 408, 312, 253, 313, 115, 115, 406, 393, 262, 114, + 102, 314, 305, 205, 409, 262, 97, 115, 76, 410, + 411, 115, 103, 412, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2156,33 +2184,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 326, 326, 327, 329, 330, 328, - 328, 332, 333, 331, 334, 336, 337, 335, 335, 338, - 340, 341, 339, 339, 342, 344, 343, 345, 346, 346, - 348, 349, 347, 350, 350, 352, 353, 354, 355, 351, - 357, 358, 359, 360, 356, 362, 363, 364, 365, 361, - 367, 368, 369, 370, 366, 371, 371, 371, 372, 372, - 374, 375, 376, 373, 378, 377, 379, 377, 380, 382, - 381, 381, 384, 385, 383, 387, 386, 388, 386, 389, - 391, 390, 390, 393, 394, 392, 395, 395, 395, 395, - 396, 396, 396, 398, 399, 397, 397, 401, 402, 400, - 400, 404, 405, 403, 403, 407, 408, 406, 406, 409, - 411, 410, 410, 412, 413, 414, 414, 415, 417, 418, - 419, 416, 421, 422, 420, 424, 423, 423, 425, 425, - 425, 427, 426, 428, 426, 429, 426, 430, 426, 431, - 426, 432, 426, 433, 426, 434, 435, 435, 436, 437, - 438, 438, 439, 440, 441, 443, 442, 445, 446, 447, - 448, 449, 450, 444, 452, 451, 451, 453, 453, 455, - 456, 454, 457, 457, 458, 459, 458, 460, 458, 462, - 463, 461, 465, 466, 464, 467, 467, 467, 468, 468, - 469, 470, 472, 473, 474, 471, 475, 476, 477, 479, - 478, 481, 482, 483, 480, 484, 484, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 486, 487, 487, - 488, 488, 489, 490, 490, 491, 493, 494, 495, 496, - 492, 497, 497, 498, 498, 499, 499, 500, 499, 501, - 501, 502, 503, 503, 504, 505, 507, 508, 506, 510, - 511, 509, 512, 512, 514, 513, 515, 513, 516, 513, - 517, 513 + 324, 323, 323, 325, 327, 326, 326, 328, 330, 331, + 329, 329, 333, 334, 332, 335, 337, 338, 336, 336, + 339, 341, 342, 340, 340, 343, 345, 344, 346, 347, + 347, 349, 350, 348, 351, 351, 353, 354, 355, 356, + 352, 358, 359, 360, 361, 357, 363, 364, 365, 366, + 362, 368, 369, 370, 371, 367, 372, 372, 372, 373, + 373, 375, 376, 377, 374, 379, 378, 380, 378, 381, + 383, 382, 382, 385, 386, 384, 388, 387, 389, 387, + 390, 392, 391, 391, 394, 395, 393, 396, 396, 396, + 396, 397, 397, 397, 399, 400, 398, 398, 402, 403, + 401, 401, 405, 406, 404, 404, 408, 409, 407, 407, + 410, 412, 411, 411, 413, 414, 415, 415, 416, 418, + 419, 420, 417, 422, 423, 421, 425, 424, 424, 426, + 426, 426, 428, 427, 429, 427, 430, 427, 431, 427, + 432, 427, 433, 427, 434, 427, 435, 436, 436, 437, + 438, 439, 439, 440, 441, 442, 444, 443, 446, 447, + 448, 449, 450, 451, 445, 453, 452, 452, 454, 454, + 456, 457, 455, 458, 458, 459, 460, 459, 461, 459, + 463, 464, 462, 466, 467, 465, 468, 468, 468, 469, + 469, 470, 471, 473, 474, 475, 472, 476, 477, 478, + 480, 479, 482, 483, 484, 481, 485, 485, 486, 486, + 486, 486, 486, 486, 486, 486, 486, 486, 487, 488, + 488, 489, 489, 490, 491, 491, 492, 494, 495, 496, + 497, 493, 498, 498, 499, 499, 500, 500, 501, 500, + 502, 502, 503, 504, 504, 505, 506, 508, 509, 507, + 511, 512, 510, 513, 513, 515, 514, 516, 514, 517, + 514, 518, 514 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2223,33 +2251,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 6, 8, 2, 0, 0, 6, - 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, - 0, 0, 6, 1, 1, 0, 4, 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, 3, 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, 1, 2, 2, 3, 0, - 2, 5, 2, 3, 0, 1, 0, 0, 0, 0, - 9, 3, 2, 1, 0, 2, 2, 0, 3, 3, - 3, 3, 4, 0, 1, 2, 0, 0, 6, 0, - 0, 5, 2, 0, 0, 3, 0, 3, 0, 3, - 0, 3 + 0, 4, 0, 2, 0, 7, 8, 2, 0, 0, + 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, + 1, 0, 0, 6, 1, 1, 0, 4, 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, 3, + 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, 1, 2, 2, 3, + 0, 2, 5, 2, 3, 0, 1, 0, 0, 0, + 0, 9, 3, 2, 1, 0, 2, 2, 0, 3, + 3, 3, 3, 4, 0, 1, 2, 0, 0, 6, + 0, 0, 5, 2, 0, 0, 3, 0, 3, 0, + 3, 0, 3 }; @@ -2728,7 +2756,7 @@ yyparse (void) } delete annotations; } -#line 2732 "fe/idl.tab.cpp" +#line 2760 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2736,7 +2764,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2740 "fe/idl.tab.cpp" +#line 2768 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2744,7 +2772,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2748 "fe/idl.tab.cpp" +#line 2776 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2752,7 +2780,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2756 "fe/idl.tab.cpp" +#line 2784 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2760,7 +2788,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2764 "fe/idl.tab.cpp" +#line 2792 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2768,7 +2796,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2772 "fe/idl.tab.cpp" +#line 2800 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2776,7 +2804,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2780 "fe/idl.tab.cpp" +#line 2808 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2784,7 +2812,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2788 "fe/idl.tab.cpp" +#line 2816 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2792,7 +2820,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2796 "fe/idl.tab.cpp" +#line 2824 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2800,7 +2828,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2804 "fe/idl.tab.cpp" +#line 2832 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2808,7 +2836,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2812 "fe/idl.tab.cpp" +#line 2840 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2816,7 +2844,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2820 "fe/idl.tab.cpp" +#line 2848 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2824,7 +2852,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2828 "fe/idl.tab.cpp" +#line 2856 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2832,7 +2860,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2836 "fe/idl.tab.cpp" +#line 2864 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2840,7 +2868,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2844 "fe/idl.tab.cpp" +#line 2872 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2848,7 +2876,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2852 "fe/idl.tab.cpp" +#line 2880 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2856,7 +2884,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2860 "fe/idl.tab.cpp" +#line 2888 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2864,7 +2892,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2868 "fe/idl.tab.cpp" +#line 2896 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2872,7 +2900,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2876 "fe/idl.tab.cpp" +#line 2904 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2880,7 +2908,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2884 "fe/idl.tab.cpp" +#line 2912 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2888,7 +2916,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2892 "fe/idl.tab.cpp" +#line 2920 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2896,7 +2924,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2900 "fe/idl.tab.cpp" +#line 2928 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2904,7 +2932,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2908 "fe/idl.tab.cpp" +#line 2936 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2912,7 +2940,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2916 "fe/idl.tab.cpp" +#line 2944 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2920,7 +2948,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2924 "fe/idl.tab.cpp" +#line 2952 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2928,7 +2956,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2932 "fe/idl.tab.cpp" +#line 2960 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2936,7 +2964,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2940 "fe/idl.tab.cpp" +#line 2968 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2944,7 +2972,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2948 "fe/idl.tab.cpp" +#line 2976 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2952,7 +2980,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2956 "fe/idl.tab.cpp" +#line 2984 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2960,7 +2988,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2964 "fe/idl.tab.cpp" +#line 2992 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2970,7 +2998,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 2974 "fe/idl.tab.cpp" +#line 3002 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -2978,7 +3006,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2982 "fe/idl.tab.cpp" +#line 3010 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -2986,7 +3014,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 2990 "fe/idl.tab.cpp" +#line 3018 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3029,7 +3057,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3033 "fe/idl.tab.cpp" +#line 3061 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3037,7 +3065,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3041 "fe/idl.tab.cpp" +#line 3069 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3045,7 +3073,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3049 "fe/idl.tab.cpp" +#line 3077 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3059,7 +3087,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3063 "fe/idl.tab.cpp" +#line 3091 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3067,7 +3095,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3071 "fe/idl.tab.cpp" +#line 3099 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3085,7 +3113,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3089 "fe/idl.tab.cpp" +#line 3117 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3099,7 +3127,7 @@ yyparse (void) return 1; } } -#line 3103 "fe/idl.tab.cpp" +#line 3131 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3133,7 +3161,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3137 "fe/idl.tab.cpp" +#line 3165 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3141,7 +3169,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3145 "fe/idl.tab.cpp" +#line 3173 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3149,7 +3177,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3153 "fe/idl.tab.cpp" +#line 3181 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3172,7 +3200,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3176 "fe/idl.tab.cpp" +#line 3204 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3181,7 +3209,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3185 "fe/idl.tab.cpp" +#line 3213 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3190,7 +3218,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3194 "fe/idl.tab.cpp" +#line 3222 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3272,7 +3300,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3276 "fe/idl.tab.cpp" +#line 3304 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3281,7 +3309,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3285 "fe/idl.tab.cpp" +#line 3313 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3290,7 +3318,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3294 "fe/idl.tab.cpp" +#line 3322 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3358,7 +3386,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3362 "fe/idl.tab.cpp" +#line 3390 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3400,7 +3428,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3404 "fe/idl.tab.cpp" +#line 3432 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3408,7 +3436,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3412 "fe/idl.tab.cpp" +#line 3440 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3416,7 +3444,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3420 "fe/idl.tab.cpp" +#line 3448 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3430,7 +3458,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3434 "fe/idl.tab.cpp" +#line 3462 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3438,7 +3466,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3442 "fe/idl.tab.cpp" +#line 3470 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3447,7 +3475,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3451 "fe/idl.tab.cpp" +#line 3479 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3487,7 +3515,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3491 "fe/idl.tab.cpp" +#line 3519 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3520,7 +3548,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3524 "fe/idl.tab.cpp" +#line 3552 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3553,7 +3581,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3557 "fe/idl.tab.cpp" +#line 3585 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3561,7 +3589,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3565 "fe/idl.tab.cpp" +#line 3593 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3570,7 +3598,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3574 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3578,7 +3606,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3582 "fe/idl.tab.cpp" +#line 3610 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3587,7 +3615,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3591 "fe/idl.tab.cpp" +#line 3619 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3638,7 +3666,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3642 "fe/idl.tab.cpp" +#line 3670 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3646,7 +3674,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3650 "fe/idl.tab.cpp" +#line 3678 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3654,7 +3682,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3658 "fe/idl.tab.cpp" +#line 3686 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3679,7 +3707,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3683 "fe/idl.tab.cpp" +#line 3711 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3726,7 +3754,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3730 "fe/idl.tab.cpp" +#line 3758 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3734,7 +3762,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3738 "fe/idl.tab.cpp" +#line 3766 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3742,7 +3770,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3746 "fe/idl.tab.cpp" +#line 3774 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3757,7 +3785,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3761 "fe/idl.tab.cpp" +#line 3789 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3765,7 +3793,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3769 "fe/idl.tab.cpp" +#line 3797 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3800,7 +3828,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3804 "fe/idl.tab.cpp" +#line 3832 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3808,7 +3836,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3812 "fe/idl.tab.cpp" +#line 3840 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3817,7 +3845,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3821 "fe/idl.tab.cpp" +#line 3849 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3825,7 +3853,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3829 "fe/idl.tab.cpp" +#line 3857 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3833,7 +3861,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3837 "fe/idl.tab.cpp" +#line 3865 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3841,7 +3869,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3845 "fe/idl.tab.cpp" +#line 3873 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3849,7 +3877,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3853 "fe/idl.tab.cpp" +#line 3881 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3876,7 +3904,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3880 "fe/idl.tab.cpp" +#line 3908 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3905,7 +3933,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3909 "fe/idl.tab.cpp" +#line 3937 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3972,7 +4000,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3976 "fe/idl.tab.cpp" +#line 4004 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -3995,7 +4023,7 @@ yyparse (void) delete annotations; delete decls; } -#line 3999 "fe/idl.tab.cpp" +#line 4027 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4003,7 +4031,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4007 "fe/idl.tab.cpp" +#line 4035 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4018,7 +4046,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4022 "fe/idl.tab.cpp" +#line 4050 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4033,7 +4061,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4037 "fe/idl.tab.cpp" +#line 4065 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4041,7 +4069,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4045 "fe/idl.tab.cpp" +#line 4073 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4049,7 +4077,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4053 "fe/idl.tab.cpp" +#line 4081 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4057,7 +4085,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4061 "fe/idl.tab.cpp" +#line 4089 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4079,7 +4107,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4083 "fe/idl.tab.cpp" +#line 4111 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4098,7 +4126,7 @@ yyparse (void) } delete annotations; } -#line 4102 "fe/idl.tab.cpp" +#line 4130 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4106,7 +4134,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4110 "fe/idl.tab.cpp" +#line 4138 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4114,7 +4142,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4118 "fe/idl.tab.cpp" +#line 4146 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4122,7 +4150,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4126 "fe/idl.tab.cpp" +#line 4154 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4130,7 +4158,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4134 "fe/idl.tab.cpp" +#line 4162 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4138,7 +4166,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4142 "fe/idl.tab.cpp" +#line 4170 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4146,7 +4174,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4150 "fe/idl.tab.cpp" +#line 4178 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4154,7 +4182,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4158 "fe/idl.tab.cpp" +#line 4186 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4162,7 +4190,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4166 "fe/idl.tab.cpp" +#line 4194 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4170,7 +4198,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4174 "fe/idl.tab.cpp" +#line 4202 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4178,7 +4206,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4182 "fe/idl.tab.cpp" +#line 4210 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4186,7 +4214,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4190 "fe/idl.tab.cpp" +#line 4218 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4194,7 +4222,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4198 "fe/idl.tab.cpp" +#line 4226 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4202,7 +4230,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4206 "fe/idl.tab.cpp" +#line 4234 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4210,7 +4238,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4214 "fe/idl.tab.cpp" +#line 4242 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4218,7 +4246,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4222 "fe/idl.tab.cpp" +#line 4250 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4228,7 +4256,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4232 "fe/idl.tab.cpp" +#line 4260 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4239,7 +4267,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4243 "fe/idl.tab.cpp" +#line 4271 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4247,7 +4275,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4251 "fe/idl.tab.cpp" +#line 4279 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4271,7 +4299,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4275 "fe/idl.tab.cpp" +#line 4303 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4279,7 +4307,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4283 "fe/idl.tab.cpp" +#line 4311 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4292,7 +4320,7 @@ yyparse (void) 0), 1); } -#line 4296 "fe/idl.tab.cpp" +#line 4324 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4300,7 +4328,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4304 "fe/idl.tab.cpp" +#line 4332 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4324,7 +4352,7 @@ yyparse (void) sn), 1); } -#line 4328 "fe/idl.tab.cpp" +#line 4356 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4338,7 +4366,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4342 "fe/idl.tab.cpp" +#line 4370 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4354,7 +4382,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4358 "fe/idl.tab.cpp" +#line 4386 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4366,7 +4394,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4370 "fe/idl.tab.cpp" +#line 4398 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4378,7 +4406,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4382 "fe/idl.tab.cpp" +#line 4410 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4425,7 +4453,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4429 "fe/idl.tab.cpp" +#line 4457 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4455,7 +4483,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4459 "fe/idl.tab.cpp" +#line 4487 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4487,7 +4515,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4491 "fe/idl.tab.cpp" +#line 4519 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4495,7 +4523,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4499 "fe/idl.tab.cpp" +#line 4527 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4503,7 +4531,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4507 "fe/idl.tab.cpp" +#line 4535 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4511,7 +4539,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4515 "fe/idl.tab.cpp" +#line 4543 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4519,7 +4547,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4523 "fe/idl.tab.cpp" +#line 4551 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4579,7 +4607,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4583 "fe/idl.tab.cpp" +#line 4611 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4587,7 +4615,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4591 "fe/idl.tab.cpp" +#line 4619 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4595,7 +4623,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4599 "fe/idl.tab.cpp" +#line 4627 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4665,7 +4693,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4669 "fe/idl.tab.cpp" +#line 4697 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4678,7 +4706,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4682 "fe/idl.tab.cpp" +#line 4710 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4691,7 +4719,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4695 "fe/idl.tab.cpp" +#line 4723 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4704,7 +4732,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4708 "fe/idl.tab.cpp" +#line 4736 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4717,7 +4745,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4721 "fe/idl.tab.cpp" +#line 4749 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4730,7 +4758,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4734 "fe/idl.tab.cpp" +#line 4762 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4743,7 +4771,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4747 "fe/idl.tab.cpp" +#line 4775 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4756,7 +4784,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4760 "fe/idl.tab.cpp" +#line 4788 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4769,7 +4797,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4773 "fe/idl.tab.cpp" +#line 4801 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4782,7 +4810,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4786 "fe/idl.tab.cpp" +#line 4814 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4795,7 +4823,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4799 "fe/idl.tab.cpp" +#line 4827 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4808,7 +4836,7 @@ yyparse (void) 0 ); } -#line 4812 "fe/idl.tab.cpp" +#line 4840 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4821,7 +4849,7 @@ yyparse (void) 0 ); } -#line 4825 "fe/idl.tab.cpp" +#line 4853 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4834,7 +4862,7 @@ yyparse (void) 0 ); } -#line 4838 "fe/idl.tab.cpp" +#line 4866 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4895,7 +4923,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4899 "fe/idl.tab.cpp" +#line 4927 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4903,7 +4931,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4907 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4911,7 +4939,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4915 "fe/idl.tab.cpp" +#line 4943 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4920,7 +4948,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4924 "fe/idl.tab.cpp" +#line 4952 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4931,7 +4959,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4935 "fe/idl.tab.cpp" +#line 4963 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4942,7 +4970,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4946 "fe/idl.tab.cpp" +#line 4974 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4950,7 +4978,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4954 "fe/idl.tab.cpp" +#line 4982 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4959,7 +4987,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4963 "fe/idl.tab.cpp" +#line 4991 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4967,7 +4995,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4971 "fe/idl.tab.cpp" +#line 4999 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -4975,7 +5003,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4979 "fe/idl.tab.cpp" +#line 5007 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -4983,7 +5011,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4987 "fe/idl.tab.cpp" +#line 5015 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -4991,7 +5019,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 4995 "fe/idl.tab.cpp" +#line 5023 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5060,7 +5088,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5064 "fe/idl.tab.cpp" +#line 5092 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5081,7 +5109,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5085 "fe/idl.tab.cpp" +#line 5113 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5094,7 +5122,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5098 "fe/idl.tab.cpp" +#line 5126 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5103,7 +5131,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5107 "fe/idl.tab.cpp" +#line 5135 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5160,7 +5188,7 @@ yyparse (void) delete result; } } -#line 5164 "fe/idl.tab.cpp" +#line 5192 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5168,7 +5196,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5172 "fe/idl.tab.cpp" +#line 5200 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5176,7 +5204,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5180 "fe/idl.tab.cpp" +#line 5208 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5190,7 +5218,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5194 "fe/idl.tab.cpp" +#line 5222 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5204,7 +5232,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5208 "fe/idl.tab.cpp" +#line 5236 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5212,7 +5240,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5216 "fe/idl.tab.cpp" +#line 5244 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5273,7 +5301,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5277 "fe/idl.tab.cpp" +#line 5305 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5305,7 +5333,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5309 "fe/idl.tab.cpp" +#line 5337 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5313,7 +5341,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5317 "fe/idl.tab.cpp" +#line 5345 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5321,7 +5349,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5325 "fe/idl.tab.cpp" +#line 5353 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5334,7 +5362,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5338 "fe/idl.tab.cpp" +#line 5366 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5342,7 +5370,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5346 "fe/idl.tab.cpp" +#line 5374 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5352,7 +5380,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5356 "fe/idl.tab.cpp" +#line 5384 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5362,7 +5390,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5366 "fe/idl.tab.cpp" +#line 5394 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5370,7 +5398,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5374 "fe/idl.tab.cpp" +#line 5402 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5383,7 +5411,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5387 "fe/idl.tab.cpp" +#line 5415 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5392,7 +5420,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5396 "fe/idl.tab.cpp" +#line 5424 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5400,7 +5428,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5404 "fe/idl.tab.cpp" +#line 5432 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5408,7 +5436,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5412 "fe/idl.tab.cpp" +#line 5440 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5416,7 +5444,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5420 "fe/idl.tab.cpp" +#line 5448 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5424,7 +5452,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5428 "fe/idl.tab.cpp" +#line 5456 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5456,7 +5484,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5460 "fe/idl.tab.cpp" +#line 5488 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5464,7 +5492,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5468 "fe/idl.tab.cpp" +#line 5496 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5472,7 +5500,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5476 "fe/idl.tab.cpp" +#line 5504 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5540,7 +5568,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5544 "fe/idl.tab.cpp" +#line 5572 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5551,7 +5579,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5555 "fe/idl.tab.cpp" +#line 5583 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5578,7 +5606,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5582 "fe/idl.tab.cpp" +#line 5610 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5589,7 +5617,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5593 "fe/idl.tab.cpp" +#line 5621 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5597,7 +5625,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5601 "fe/idl.tab.cpp" +#line 5629 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5621,7 +5649,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5625 "fe/idl.tab.cpp" +#line 5653 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5629,7 +5657,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5633 "fe/idl.tab.cpp" +#line 5661 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5640,7 +5668,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5644 "fe/idl.tab.cpp" +#line 5672 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5648,7 +5676,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5652 "fe/idl.tab.cpp" +#line 5680 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5672,7 +5700,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5676 "fe/idl.tab.cpp" +#line 5704 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5680,7 +5708,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5684 "fe/idl.tab.cpp" +#line 5712 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5697,7 +5725,7 @@ yyparse (void) 0), 1); } -#line 5701 "fe/idl.tab.cpp" +#line 5729 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5716,7 +5744,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5720 "fe/idl.tab.cpp" +#line 5748 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5724,7 +5752,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5728 "fe/idl.tab.cpp" +#line 5756 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5732,7 +5760,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5736 "fe/idl.tab.cpp" +#line 5764 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5740,7 +5768,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5744 "fe/idl.tab.cpp" +#line 5772 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5748,7 +5776,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5752 "fe/idl.tab.cpp" +#line 5780 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5756,7 +5784,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5760 "fe/idl.tab.cpp" +#line 5788 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5764,7 +5792,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5768 "fe/idl.tab.cpp" +#line 5796 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5772,7 +5800,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5776 "fe/idl.tab.cpp" +#line 5804 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5780,7 +5808,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5784 "fe/idl.tab.cpp" +#line 5812 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5788,7 +5816,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5792 "fe/idl.tab.cpp" +#line 5820 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5796,7 +5824,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5800 "fe/idl.tab.cpp" +#line 5828 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5804,7 +5832,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5808 "fe/idl.tab.cpp" +#line 5836 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5812,7 +5840,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5816 "fe/idl.tab.cpp" +#line 5844 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5820,7 +5848,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5824 "fe/idl.tab.cpp" +#line 5852 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5828,7 +5856,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5832 "fe/idl.tab.cpp" +#line 5860 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5836,7 +5864,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5840 "fe/idl.tab.cpp" +#line 5868 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5844,7 +5872,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5848 "fe/idl.tab.cpp" +#line 5876 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5852,7 +5880,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5856 "fe/idl.tab.cpp" +#line 5884 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5860,7 +5888,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5864 "fe/idl.tab.cpp" +#line 5892 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5868,7 +5896,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5872 "fe/idl.tab.cpp" +#line 5900 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5876,7 +5904,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5880 "fe/idl.tab.cpp" +#line 5908 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5884,7 +5912,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5888 "fe/idl.tab.cpp" +#line 5916 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5892,7 +5920,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5896 "fe/idl.tab.cpp" +#line 5924 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5900,7 +5928,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5904 "fe/idl.tab.cpp" +#line 5932 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5908,7 +5936,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5912 "fe/idl.tab.cpp" +#line 5940 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5916,7 +5944,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5920 "fe/idl.tab.cpp" +#line 5948 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5925,7 +5953,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5929 "fe/idl.tab.cpp" +#line 5957 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5960,7 +5988,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5964 "fe/idl.tab.cpp" +#line 5992 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5968,7 +5996,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5972 "fe/idl.tab.cpp" +#line 6000 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -5976,7 +6004,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5980 "fe/idl.tab.cpp" +#line 6008 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -5992,7 +6020,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 5996 "fe/idl.tab.cpp" +#line 6024 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6010,7 +6038,7 @@ yyparse (void) delete annotations; delete members; } -#line 6014 "fe/idl.tab.cpp" +#line 6042 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6018,7 +6046,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6022 "fe/idl.tab.cpp" +#line 6050 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6026,7 +6054,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6030 "fe/idl.tab.cpp" +#line 6058 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6084,7 +6112,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6088 "fe/idl.tab.cpp" +#line 6116 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6092,7 +6120,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6096 "fe/idl.tab.cpp" +#line 6124 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6101,7 +6129,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6105 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6109,7 +6137,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6113 "fe/idl.tab.cpp" +#line 6141 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6118,7 +6146,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6122 "fe/idl.tab.cpp" +#line 6150 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6126,7 +6154,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6130 "fe/idl.tab.cpp" +#line 6158 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6163,7 +6191,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6167 "fe/idl.tab.cpp" +#line 6195 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6171,7 +6199,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6175 "fe/idl.tab.cpp" +#line 6203 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6234,7 +6262,7 @@ yyparse (void) delete disc_annotations; } -#line 6238 "fe/idl.tab.cpp" +#line 6266 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6242,7 +6270,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6246 "fe/idl.tab.cpp" +#line 6274 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6250,7 +6278,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6254 "fe/idl.tab.cpp" +#line 6282 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6270,7 +6298,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6274 "fe/idl.tab.cpp" +#line 6302 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6281,7 +6309,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6285 "fe/idl.tab.cpp" +#line 6313 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6298,7 +6326,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6302 "fe/idl.tab.cpp" +#line 6330 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6311,7 +6339,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6315 "fe/idl.tab.cpp" +#line 6343 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6322,7 +6350,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6326 "fe/idl.tab.cpp" +#line 6354 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6433,7 +6461,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6437 "fe/idl.tab.cpp" +#line 6465 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6441,7 +6469,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6445 "fe/idl.tab.cpp" +#line 6473 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6449,7 +6477,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6453 "fe/idl.tab.cpp" +#line 6481 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6485,7 +6513,7 @@ yyparse (void) delete annotations; } -#line 6489 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6493,7 +6521,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6497 "fe/idl.tab.cpp" +#line 6525 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6502,7 +6530,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6506 "fe/idl.tab.cpp" +#line 6534 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6513,7 +6541,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6517 "fe/idl.tab.cpp" +#line 6545 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6535,7 +6563,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6539 "fe/idl.tab.cpp" +#line 6567 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6543,7 +6571,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6547 "fe/idl.tab.cpp" +#line 6575 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6551,7 +6579,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6555 "fe/idl.tab.cpp" +#line 6583 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6564,7 +6592,7 @@ yyparse (void) 0 ); } -#line 6568 "fe/idl.tab.cpp" +#line 6596 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6572,7 +6600,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6576 "fe/idl.tab.cpp" +#line 6604 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6580,7 +6608,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6584 "fe/idl.tab.cpp" +#line 6612 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6593,7 +6621,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6597 "fe/idl.tab.cpp" +#line 6625 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6601,7 +6629,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6605 "fe/idl.tab.cpp" +#line 6633 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6648,7 +6676,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6652 "fe/idl.tab.cpp" +#line 6680 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6674,7 +6702,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6678 "fe/idl.tab.cpp" +#line 6706 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6698,7 +6726,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6702 "fe/idl.tab.cpp" +#line 6730 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6706,7 +6734,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6710 "fe/idl.tab.cpp" +#line 6738 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6741,7 +6769,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6745 "fe/idl.tab.cpp" +#line 6773 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6749,7 +6777,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6753 "fe/idl.tab.cpp" +#line 6781 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6757,7 +6785,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6761 "fe/idl.tab.cpp" +#line 6789 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6780,7 +6808,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6784 "fe/idl.tab.cpp" +#line 6812 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6788,7 +6816,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6792 "fe/idl.tab.cpp" +#line 6820 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6827,11 +6855,19 @@ yyparse (void) delete annotations; } -#line 6831 "fe/idl.tab.cpp" +#line 6859 "fe/idl.tab.cpp" + break; + + case 354: /* $@91: %empty */ +#line 3897 "fe/idl.ypp" + { + idl_global->scopes ().push (0); + } +#line 6867 "fe/idl.tab.cpp" break; - case 354: /* map_type_spec: IDL_MAP '<' map_type ',' map_type '>' */ -#line 3902 "fe/idl.ypp" + case 355: /* map_type_spec: IDL_MAP $@91 '<' map_type ',' map_type '>' */ +#line 3905 "fe/idl.ypp" { AST_Map *map = 0; @@ -6878,19 +6914,22 @@ yyparse (void) s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + delete key_type->annotation; + delete val_type->annotation; (yyval.dcval) = map; } -#line 6890 "fe/idl.tab.cpp" +#line 6929 "fe/idl.tab.cpp" break; - case 355: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3964 "fe/idl.ypp" + case 356: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3974 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); @@ -6934,18 +6973,22 @@ yyparse (void) s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + + delete key_type->annotation; + delete val_type->annotation; (yyval.dcval) = map; } -#line 6945 "fe/idl.tab.cpp" +#line 6988 "fe/idl.tab.cpp" break; - case 356: /* map_type: annotations_maybe simple_type_spec */ -#line 4018 "fe/idl.ypp" + case 357: /* map_type: annotations_maybe simple_type_spec */ +#line 4032 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; @@ -6953,27 +6996,27 @@ yyparse (void) pair->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = pair; } -#line 6957 "fe/idl.tab.cpp" +#line 7000 "fe/idl.tab.cpp" break; - case 357: /* $@91: %empty */ -#line 4030 "fe/idl.ypp" + case 358: /* $@92: %empty */ +#line 4044 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6965 "fe/idl.tab.cpp" +#line 7008 "fe/idl.tab.cpp" break; - case 358: /* $@92: %empty */ -#line 4034 "fe/idl.ypp" + case 359: /* $@93: %empty */ +#line 4048 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6973 "fe/idl.tab.cpp" +#line 7016 "fe/idl.tab.cpp" break; - case 359: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ -#line 4038 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head ',' $@92 positive_int_expr $@93 '>' */ +#line 4052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7054,11 +7097,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7058 "fe/idl.tab.cpp" +#line 7101 "fe/idl.tab.cpp" break; - case 360: /* sequence_type_spec: seq_head '>' */ -#line 4120 "fe/idl.ypp" + case 361: /* sequence_type_spec: seq_head '>' */ +#line 4134 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7120,11 +7163,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7124 "fe/idl.tab.cpp" +#line 7167 "fe/idl.tab.cpp" break; - case 361: /* $@93: %empty */ -#line 4185 "fe/idl.ypp" + case 362: /* $@94: %empty */ +#line 4199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7133,19 +7176,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7137 "fe/idl.tab.cpp" +#line 7180 "fe/idl.tab.cpp" break; - case 362: /* $@94: %empty */ -#line 4194 "fe/idl.ypp" + case 363: /* $@95: %empty */ +#line 4208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7145 "fe/idl.tab.cpp" +#line 7188 "fe/idl.tab.cpp" break; - case 363: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ -#line 4198 "fe/idl.ypp" + case 364: /* seq_head: IDL_SEQUENCE $@94 '<' $@95 annotations_maybe simple_type_spec */ +#line 4212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7153,36 +7196,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7157 "fe/idl.tab.cpp" +#line 7200 "fe/idl.tab.cpp" break; - case 364: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4209 "fe/idl.ypp" + case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4223 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7166 "fe/idl.tab.cpp" +#line 7209 "fe/idl.tab.cpp" break; - case 365: /* $@95: %empty */ -#line 4218 "fe/idl.ypp" + case 366: /* $@96: %empty */ +#line 4232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7174 "fe/idl.tab.cpp" +#line 7217 "fe/idl.tab.cpp" break; - case 366: /* $@96: %empty */ -#line 4222 "fe/idl.ypp" + case 367: /* $@97: %empty */ +#line 4236 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7182 "fe/idl.tab.cpp" +#line 7225 "fe/idl.tab.cpp" break; - case 367: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ -#line 4226 "fe/idl.ypp" + case 368: /* string_type_spec: string_head '<' $@96 positive_int_expr $@97 '>' */ +#line 4240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7221,11 +7264,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7225 "fe/idl.tab.cpp" +#line 7268 "fe/idl.tab.cpp" break; - case 368: /* string_type_spec: string_head */ -#line 4265 "fe/idl.ypp" + case 369: /* string_type_spec: string_head */ +#line 4279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7248,35 +7291,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7252 "fe/idl.tab.cpp" +#line 7295 "fe/idl.tab.cpp" break; - case 369: /* string_head: IDL_STRING */ -#line 4291 "fe/idl.ypp" + case 370: /* string_head: IDL_STRING */ +#line 4305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7260 "fe/idl.tab.cpp" +#line 7303 "fe/idl.tab.cpp" break; - case 370: /* $@97: %empty */ -#line 4299 "fe/idl.ypp" + case 371: /* $@98: %empty */ +#line 4313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7268 "fe/idl.tab.cpp" +#line 7311 "fe/idl.tab.cpp" break; - case 371: /* $@98: %empty */ -#line 4303 "fe/idl.ypp" + case 372: /* $@99: %empty */ +#line 4317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7276 "fe/idl.tab.cpp" +#line 7319 "fe/idl.tab.cpp" break; - case 372: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ -#line 4307 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head '<' $@98 positive_int_expr $@99 '>' */ +#line 4321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7315,11 +7358,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7319 "fe/idl.tab.cpp" +#line 7362 "fe/idl.tab.cpp" break; - case 373: /* wstring_type_spec: wstring_head */ -#line 4346 "fe/idl.ypp" + case 374: /* wstring_type_spec: wstring_head */ +#line 4360 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7342,27 +7385,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7346 "fe/idl.tab.cpp" +#line 7389 "fe/idl.tab.cpp" break; - case 374: /* wstring_head: IDL_WSTRING */ -#line 4372 "fe/idl.ypp" + case 375: /* wstring_head: IDL_WSTRING */ +#line 4386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7354 "fe/idl.tab.cpp" +#line 7397 "fe/idl.tab.cpp" break; - case 375: /* $@99: %empty */ -#line 4379 "fe/idl.ypp" + case 376: /* $@100: %empty */ +#line 4393 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7362 "fe/idl.tab.cpp" +#line 7405 "fe/idl.tab.cpp" break; - case 376: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ -#line 4383 "fe/idl.ypp" + case 377: /* array_declarator: defining_id $@100 annotations_maybe at_least_one_array_dim */ +#line 4397 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7398,22 +7441,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7402 "fe/idl.tab.cpp" +#line 7445 "fe/idl.tab.cpp" break; - case 377: /* at_least_one_array_dim: array_dim array_dims */ -#line 4422 "fe/idl.ypp" + case 378: /* at_least_one_array_dim: array_dim array_dims */ +#line 4436 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7413 "fe/idl.tab.cpp" +#line 7456 "fe/idl.tab.cpp" break; - case 378: /* array_dims: array_dims array_dim */ -#line 4432 "fe/idl.ypp" + case 379: /* array_dims: array_dims array_dim */ +#line 4446 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7431,35 +7474,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7435 "fe/idl.tab.cpp" +#line 7478 "fe/idl.tab.cpp" break; - case 379: /* array_dims: %empty */ -#line 4450 "fe/idl.ypp" + case 380: /* array_dims: %empty */ +#line 4464 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7443 "fe/idl.tab.cpp" +#line 7486 "fe/idl.tab.cpp" break; - case 380: /* $@100: %empty */ -#line 4457 "fe/idl.ypp" + case 381: /* $@101: %empty */ +#line 4471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7451 "fe/idl.tab.cpp" +#line 7494 "fe/idl.tab.cpp" break; - case 381: /* $@101: %empty */ -#line 4461 "fe/idl.ypp" + case 382: /* $@102: %empty */ +#line 4475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7459 "fe/idl.tab.cpp" +#line 7502 "fe/idl.tab.cpp" break; - case 382: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ -#line 4465 "fe/idl.ypp" + case 383: /* array_dim: '[' $@101 positive_int_expr $@102 ']' */ +#line 4479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7513,43 +7556,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7517 "fe/idl.tab.cpp" +#line 7560 "fe/idl.tab.cpp" break; - case 385: /* $@102: %empty */ -#line 4527 "fe/idl.ypp" + case 386: /* $@103: %empty */ +#line 4541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7525 "fe/idl.tab.cpp" +#line 7568 "fe/idl.tab.cpp" break; - case 386: /* $@103: %empty */ -#line 4531 "fe/idl.ypp" + case 387: /* $@104: %empty */ +#line 4545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7533 "fe/idl.tab.cpp" +#line 7576 "fe/idl.tab.cpp" break; - case 387: /* $@104: %empty */ -#line 4535 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7541 "fe/idl.tab.cpp" +#line 7584 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4539 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7549 "fe/idl.tab.cpp" +#line 7592 "fe/idl.tab.cpp" break; - case 389: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ -#line 4543 "fe/idl.ypp" + case 390: /* attribute_readonly: IDL_READONLY $@103 IDL_ATTRIBUTE $@104 param_type_spec $@105 at_least_one_simple_declarator $@106 opt_raises */ +#line 4557 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7601,43 +7644,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7605 "fe/idl.tab.cpp" +#line 7648 "fe/idl.tab.cpp" break; - case 390: /* $@106: %empty */ -#line 4598 "fe/idl.ypp" + case 391: /* $@107: %empty */ +#line 4612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7613 "fe/idl.tab.cpp" +#line 7656 "fe/idl.tab.cpp" break; - case 391: /* $@107: %empty */ -#line 4602 "fe/idl.ypp" + case 392: /* $@108: %empty */ +#line 4616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7621 "fe/idl.tab.cpp" +#line 7664 "fe/idl.tab.cpp" break; - case 392: /* $@108: %empty */ -#line 4606 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7629 "fe/idl.tab.cpp" +#line 7672 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4610 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7637 "fe/idl.tab.cpp" +#line 7680 "fe/idl.tab.cpp" break; - case 394: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ -#line 4614 "fe/idl.ypp" + case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_getraises $@110 opt_setraises */ +#line 4628 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7698,19 +7741,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7702 "fe/idl.tab.cpp" +#line 7745 "fe/idl.tab.cpp" break; - case 395: /* $@110: %empty */ -#line 4678 "fe/idl.ypp" + case 396: /* $@111: %empty */ +#line 4692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7710 "fe/idl.tab.cpp" +#line 7753 "fe/idl.tab.cpp" break; - case 396: /* @111: %empty */ -#line 4682 "fe/idl.ypp" + case 397: /* @112: %empty */ +#line 4696 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7742,27 +7785,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7746 "fe/idl.tab.cpp" +#line 7789 "fe/idl.tab.cpp" break; - case 397: /* $@112: %empty */ -#line 4714 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4728 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7754 "fe/idl.tab.cpp" +#line 7797 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4718 "fe/idl.ypp" + case 399: /* $@114: %empty */ +#line 4732 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7762 "fe/idl.tab.cpp" +#line 7805 "fe/idl.tab.cpp" break; - case 399: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ -#line 4722 "fe/idl.ypp" + case 400: /* exception: IDL_EXCEPTION $@111 defining_id @112 '{' $@113 members $@114 '}' */ +#line 4736 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7772,19 +7815,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7776 "fe/idl.tab.cpp" +#line 7819 "fe/idl.tab.cpp" break; - case 400: /* $@114: %empty */ -#line 4735 "fe/idl.ypp" + case 401: /* $@115: %empty */ +#line 4749 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7784 "fe/idl.tab.cpp" +#line 7827 "fe/idl.tab.cpp" break; - case 401: /* $@115: %empty */ -#line 4739 "fe/idl.ypp" + case 402: /* $@116: %empty */ +#line 4753 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7845,27 +7888,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7849 "fe/idl.tab.cpp" +#line 7892 "fe/idl.tab.cpp" break; - case 402: /* $@116: %empty */ -#line 4800 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4814 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7857 "fe/idl.tab.cpp" +#line 7900 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4804 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4818 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7865 "fe/idl.tab.cpp" +#line 7908 "fe/idl.tab.cpp" break; - case 404: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ -#line 4808 "fe/idl.ypp" + case 405: /* operation: opt_op_attribute op_type_spec $@115 IDENTIFIER $@116 parameter_list $@117 opt_raises $@118 opt_context */ +#line 4822 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7896,57 +7939,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7900 "fe/idl.tab.cpp" +#line 7943 "fe/idl.tab.cpp" break; - case 405: /* opt_op_attribute: IDL_ONEWAY */ -#line 4842 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_ONEWAY */ +#line 4856 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7909 "fe/idl.tab.cpp" +#line 7952 "fe/idl.tab.cpp" break; - case 406: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4847 "fe/idl.ypp" + case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4861 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7918 "fe/idl.tab.cpp" +#line 7961 "fe/idl.tab.cpp" break; - case 407: /* opt_op_attribute: %empty */ -#line 4852 "fe/idl.ypp" + case 408: /* opt_op_attribute: %empty */ +#line 4866 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7926 "fe/idl.tab.cpp" +#line 7969 "fe/idl.tab.cpp" break; - case 409: /* op_type_spec: IDL_VOID */ -#line 4860 "fe/idl.ypp" + case 410: /* op_type_spec: IDL_VOID */ +#line 4874 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7937 "fe/idl.tab.cpp" +#line 7980 "fe/idl.tab.cpp" break; - case 410: /* $@118: %empty */ -#line 4870 "fe/idl.ypp" + case 411: /* $@119: %empty */ +#line 4884 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7946 "fe/idl.tab.cpp" +#line 7989 "fe/idl.tab.cpp" break; - case 411: /* @119: %empty */ -#line 4875 "fe/idl.ypp" + case 412: /* @120: %empty */ +#line 4889 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7989,19 +8032,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 7993 "fe/idl.tab.cpp" +#line 8036 "fe/idl.tab.cpp" break; - case 412: /* $@120: %empty */ -#line 4918 "fe/idl.ypp" + case 413: /* $@121: %empty */ +#line 4932 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8001 "fe/idl.tab.cpp" +#line 8044 "fe/idl.tab.cpp" break; - case 413: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ -#line 4922 "fe/idl.ypp" + case 414: /* init_decl: IDL_FACTORY $@119 IDENTIFIER @120 init_parameter_list $@121 opt_raises */ +#line 4936 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8016,67 +8059,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8020 "fe/idl.tab.cpp" +#line 8063 "fe/idl.tab.cpp" break; - case 414: /* $@121: %empty */ -#line 4940 "fe/idl.ypp" + case 415: /* $@122: %empty */ +#line 4954 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8028 "fe/idl.tab.cpp" +#line 8071 "fe/idl.tab.cpp" break; - case 415: /* init_parameter_list: '(' $@121 ')' */ -#line 4944 "fe/idl.ypp" + case 416: /* init_parameter_list: '(' $@122 ')' */ +#line 4958 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8036 "fe/idl.tab.cpp" +#line 8079 "fe/idl.tab.cpp" break; - case 416: /* $@122: %empty */ -#line 4948 "fe/idl.ypp" + case 417: /* $@123: %empty */ +#line 4962 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8044 "fe/idl.tab.cpp" +#line 8087 "fe/idl.tab.cpp" break; - case 417: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ -#line 4953 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@123 at_least_one_in_parameter ')' */ +#line 4967 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8052 "fe/idl.tab.cpp" +#line 8095 "fe/idl.tab.cpp" break; - case 419: /* $@123: %empty */ -#line 4963 "fe/idl.ypp" + case 420: /* $@124: %empty */ +#line 4977 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8060 "fe/idl.tab.cpp" +#line 8103 "fe/idl.tab.cpp" break; - case 422: /* $@124: %empty */ -#line 4972 "fe/idl.ypp" + case 423: /* $@125: %empty */ +#line 4986 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8068 "fe/idl.tab.cpp" +#line 8111 "fe/idl.tab.cpp" break; - case 423: /* $@125: %empty */ -#line 4976 "fe/idl.ypp" + case 424: /* $@126: %empty */ +#line 4990 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8076 "fe/idl.tab.cpp" +#line 8119 "fe/idl.tab.cpp" break; - case 424: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ -#line 4980 "fe/idl.ypp" + case 425: /* in_parameter: IDL_IN $@125 param_type_spec $@126 declarator */ +#line 4994 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8108,67 +8151,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8112 "fe/idl.tab.cpp" +#line 8155 "fe/idl.tab.cpp" break; - case 425: /* $@126: %empty */ -#line 5015 "fe/idl.ypp" + case 426: /* $@127: %empty */ +#line 5029 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8120 "fe/idl.tab.cpp" +#line 8163 "fe/idl.tab.cpp" break; - case 426: /* parameter_list: '(' $@126 ')' */ -#line 5019 "fe/idl.ypp" + case 427: /* parameter_list: '(' $@127 ')' */ +#line 5033 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8128 "fe/idl.tab.cpp" +#line 8171 "fe/idl.tab.cpp" break; - case 427: /* $@127: %empty */ -#line 5023 "fe/idl.ypp" + case 428: /* $@128: %empty */ +#line 5037 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8136 "fe/idl.tab.cpp" +#line 8179 "fe/idl.tab.cpp" break; - case 428: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ -#line 5028 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@128 at_least_one_parameter ')' */ +#line 5042 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8144 "fe/idl.tab.cpp" +#line 8187 "fe/idl.tab.cpp" break; - case 430: /* $@128: %empty */ -#line 5038 "fe/idl.ypp" + case 431: /* $@129: %empty */ +#line 5052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8152 "fe/idl.tab.cpp" +#line 8195 "fe/idl.tab.cpp" break; - case 433: /* $@129: %empty */ -#line 5047 "fe/idl.ypp" + case 434: /* $@130: %empty */ +#line 5061 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8160 "fe/idl.tab.cpp" +#line 8203 "fe/idl.tab.cpp" break; - case 434: /* $@130: %empty */ -#line 5051 "fe/idl.ypp" + case 435: /* $@131: %empty */ +#line 5065 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8168 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; - case 435: /* parameter: direction $@129 param_type_spec $@130 declarator */ -#line 5055 "fe/idl.ypp" + case 436: /* parameter: direction $@130 param_type_spec $@131 declarator */ +#line 5069 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8207,22 +8250,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8211 "fe/idl.tab.cpp" +#line 8254 "fe/idl.tab.cpp" break; - case 436: /* param_type_spec: base_type_spec */ -#line 5097 "fe/idl.ypp" + case 437: /* param_type_spec: base_type_spec */ +#line 5111 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8222 "fe/idl.tab.cpp" +#line 8265 "fe/idl.tab.cpp" break; - case 439: /* param_type_spec: scoped_name */ -#line 5106 "fe/idl.ypp" + case 440: /* param_type_spec: scoped_name */ +#line 5120 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8326,186 +8369,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8330 "fe/idl.tab.cpp" +#line 8373 "fe/idl.tab.cpp" break; - case 440: /* direction: IDL_IN */ -#line 5213 "fe/idl.ypp" + case 441: /* direction: IDL_IN */ +#line 5227 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8338 "fe/idl.tab.cpp" +#line 8381 "fe/idl.tab.cpp" break; - case 441: /* direction: IDL_OUT */ -#line 5217 "fe/idl.ypp" + case 442: /* direction: IDL_OUT */ +#line 5231 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8346 "fe/idl.tab.cpp" +#line 8389 "fe/idl.tab.cpp" break; - case 442: /* direction: IDL_INOUT */ -#line 5221 "fe/idl.ypp" + case 443: /* direction: IDL_INOUT */ +#line 5235 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8354 "fe/idl.tab.cpp" +#line 8397 "fe/idl.tab.cpp" break; - case 443: /* $@131: %empty */ -#line 5228 "fe/idl.ypp" + case 444: /* $@132: %empty */ +#line 5242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8362 "fe/idl.tab.cpp" +#line 8405 "fe/idl.tab.cpp" break; - case 444: /* $@132: %empty */ -#line 5232 "fe/idl.ypp" + case 445: /* $@133: %empty */ +#line 5246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8370 "fe/idl.tab.cpp" +#line 8413 "fe/idl.tab.cpp" break; - case 445: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ -#line 5237 "fe/idl.ypp" + case 446: /* opt_raises: IDL_RAISES $@132 '(' $@133 at_least_one_scoped_name ')' */ +#line 5251 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8379 "fe/idl.tab.cpp" +#line 8422 "fe/idl.tab.cpp" break; - case 446: /* opt_raises: %empty */ -#line 5242 "fe/idl.ypp" + case 447: /* opt_raises: %empty */ +#line 5256 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8387 "fe/idl.tab.cpp" +#line 8430 "fe/idl.tab.cpp" break; - case 447: /* $@133: %empty */ -#line 5249 "fe/idl.ypp" + case 448: /* $@134: %empty */ +#line 5263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8395 "fe/idl.tab.cpp" +#line 8438 "fe/idl.tab.cpp" break; - case 448: /* $@134: %empty */ -#line 5253 "fe/idl.ypp" + case 449: /* $@135: %empty */ +#line 5267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8403 "fe/idl.tab.cpp" +#line 8446 "fe/idl.tab.cpp" break; - case 449: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ -#line 5258 "fe/idl.ypp" + case 450: /* opt_getraises: IDL_GETRAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ +#line 5272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8412 "fe/idl.tab.cpp" +#line 8455 "fe/idl.tab.cpp" break; - case 450: /* opt_getraises: %empty */ -#line 5263 "fe/idl.ypp" + case 451: /* opt_getraises: %empty */ +#line 5277 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8420 "fe/idl.tab.cpp" +#line 8463 "fe/idl.tab.cpp" break; - case 451: /* $@135: %empty */ -#line 5270 "fe/idl.ypp" + case 452: /* $@136: %empty */ +#line 5284 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8428 "fe/idl.tab.cpp" +#line 8471 "fe/idl.tab.cpp" break; - case 452: /* $@136: %empty */ -#line 5274 "fe/idl.ypp" + case 453: /* $@137: %empty */ +#line 5288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8436 "fe/idl.tab.cpp" +#line 8479 "fe/idl.tab.cpp" break; - case 453: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5279 "fe/idl.ypp" + case 454: /* opt_setraises: IDL_SETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5293 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8445 "fe/idl.tab.cpp" +#line 8488 "fe/idl.tab.cpp" break; - case 454: /* opt_setraises: %empty */ -#line 5284 "fe/idl.ypp" + case 455: /* opt_setraises: %empty */ +#line 5298 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8453 "fe/idl.tab.cpp" +#line 8496 "fe/idl.tab.cpp" break; - case 455: /* $@137: %empty */ -#line 5291 "fe/idl.ypp" + case 456: /* $@138: %empty */ +#line 5305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8461 "fe/idl.tab.cpp" +#line 8504 "fe/idl.tab.cpp" break; - case 456: /* $@138: %empty */ -#line 5295 "fe/idl.ypp" + case 457: /* $@139: %empty */ +#line 5309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8469 "fe/idl.tab.cpp" +#line 8512 "fe/idl.tab.cpp" break; - case 457: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ -#line 5300 "fe/idl.ypp" + case 458: /* opt_context: IDL_CONTEXT $@138 '(' $@139 at_least_one_string_literal ')' */ +#line 5314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8478 "fe/idl.tab.cpp" +#line 8521 "fe/idl.tab.cpp" break; - case 458: /* opt_context: %empty */ -#line 5305 "fe/idl.ypp" + case 459: /* opt_context: %empty */ +#line 5319 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8486 "fe/idl.tab.cpp" +#line 8529 "fe/idl.tab.cpp" break; - case 459: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5312 "fe/idl.ypp" + case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5326 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8497 "fe/idl.tab.cpp" +#line 8540 "fe/idl.tab.cpp" break; - case 460: /* $@139: %empty */ -#line 5323 "fe/idl.ypp" + case 461: /* $@140: %empty */ +#line 5337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8505 "fe/idl.tab.cpp" +#line 8548 "fe/idl.tab.cpp" break; - case 461: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ -#line 5327 "fe/idl.ypp" + case 462: /* string_literals: string_literals ',' $@140 IDL_STRING_LITERAL */ +#line 5341 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8523,19 +8566,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8527 "fe/idl.tab.cpp" +#line 8570 "fe/idl.tab.cpp" break; - case 462: /* string_literals: %empty */ -#line 5345 "fe/idl.ypp" + case 463: /* string_literals: %empty */ +#line 5359 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8535 "fe/idl.tab.cpp" +#line 8578 "fe/idl.tab.cpp" break; - case 463: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5352 "fe/idl.ypp" + case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5366 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8562,11 +8605,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8566 "fe/idl.tab.cpp" +#line 8609 "fe/idl.tab.cpp" break; - case 464: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5382 "fe/idl.ypp" + case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5396 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8602,11 +8645,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8606 "fe/idl.tab.cpp" +#line 8649 "fe/idl.tab.cpp" break; - case 467: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5427 "fe/idl.ypp" + case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5441 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8632,11 +8675,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8636 "fe/idl.tab.cpp" +#line 8679 "fe/idl.tab.cpp" break; - case 468: /* @140: %empty */ -#line 5456 "fe/idl.ypp" + case 469: /* @141: %empty */ +#line 5470 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8678,27 +8721,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8682 "fe/idl.tab.cpp" +#line 8725 "fe/idl.tab.cpp" break; - case 469: /* $@141: %empty */ -#line 5498 "fe/idl.ypp" + case 470: /* $@142: %empty */ +#line 5512 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8690 "fe/idl.tab.cpp" +#line 8733 "fe/idl.tab.cpp" break; - case 470: /* $@142: %empty */ -#line 5502 "fe/idl.ypp" + case 471: /* $@143: %empty */ +#line 5516 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8698 "fe/idl.tab.cpp" +#line 8741 "fe/idl.tab.cpp" break; - case 471: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ -#line 5506 "fe/idl.ypp" + case 472: /* component_decl: component_header @141 '{' $@142 component_exports $@143 '}' */ +#line 5520 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8709,27 +8752,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8713 "fe/idl.tab.cpp" +#line 8756 "fe/idl.tab.cpp" break; - case 472: /* $@143: %empty */ -#line 5521 "fe/idl.ypp" + case 473: /* $@144: %empty */ +#line 5535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8721 "fe/idl.tab.cpp" +#line 8764 "fe/idl.tab.cpp" break; - case 473: /* $@144: %empty */ -#line 5525 "fe/idl.ypp" + case 474: /* $@145: %empty */ +#line 5539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8729 "fe/idl.tab.cpp" +#line 8772 "fe/idl.tab.cpp" break; - case 474: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ -#line 5529 "fe/idl.ypp" + case 475: /* component_header: IDL_COMPONENT defining_id $@144 component_inheritance_spec $@145 supports_spec */ +#line 5543 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8763,35 +8806,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8767 "fe/idl.tab.cpp" +#line 8810 "fe/idl.tab.cpp" break; - case 475: /* $@145: %empty */ -#line 5566 "fe/idl.ypp" + case 476: /* $@146: %empty */ +#line 5580 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8775 "fe/idl.tab.cpp" +#line 8818 "fe/idl.tab.cpp" break; - case 476: /* component_inheritance_spec: ':' $@145 scoped_name */ -#line 5570 "fe/idl.ypp" + case 477: /* component_inheritance_spec: ':' $@146 scoped_name */ +#line 5584 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8783 "fe/idl.tab.cpp" +#line 8826 "fe/idl.tab.cpp" break; - case 477: /* component_inheritance_spec: %empty */ -#line 5574 "fe/idl.ypp" + case 478: /* component_inheritance_spec: %empty */ +#line 5588 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8791 "fe/idl.tab.cpp" +#line 8834 "fe/idl.tab.cpp" break; - case 478: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5581 "fe/idl.ypp" + case 479: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5595 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8806,130 +8849,130 @@ yyparse (void) } delete annotations; } -#line 8810 "fe/idl.tab.cpp" +#line 8853 "fe/idl.tab.cpp" break; - case 481: /* $@146: %empty */ -#line 5601 "fe/idl.ypp" + case 482: /* $@147: %empty */ +#line 5615 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8818 "fe/idl.tab.cpp" +#line 8861 "fe/idl.tab.cpp" break; - case 482: /* component_export: provides_decl $@146 ';' */ -#line 5605 "fe/idl.ypp" + case 483: /* component_export: provides_decl $@147 ';' */ +#line 5619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8827 "fe/idl.tab.cpp" +#line 8870 "fe/idl.tab.cpp" break; - case 483: /* $@147: %empty */ -#line 5610 "fe/idl.ypp" + case 484: /* $@148: %empty */ +#line 5624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8835 "fe/idl.tab.cpp" +#line 8878 "fe/idl.tab.cpp" break; - case 484: /* component_export: uses_decl $@147 ';' */ -#line 5614 "fe/idl.ypp" + case 485: /* component_export: uses_decl $@148 ';' */ +#line 5628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8844 "fe/idl.tab.cpp" +#line 8887 "fe/idl.tab.cpp" break; - case 485: /* $@148: %empty */ -#line 5619 "fe/idl.ypp" + case 486: /* $@149: %empty */ +#line 5633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8852 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 486: /* component_export: emits_decl $@148 ';' */ -#line 5623 "fe/idl.ypp" + case 487: /* component_export: emits_decl $@149 ';' */ +#line 5637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8861 "fe/idl.tab.cpp" +#line 8904 "fe/idl.tab.cpp" break; - case 487: /* $@149: %empty */ -#line 5628 "fe/idl.ypp" + case 488: /* $@150: %empty */ +#line 5642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8869 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 488: /* component_export: publishes_decl $@149 ';' */ -#line 5632 "fe/idl.ypp" + case 489: /* component_export: publishes_decl $@150 ';' */ +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8878 "fe/idl.tab.cpp" +#line 8921 "fe/idl.tab.cpp" break; - case 489: /* $@150: %empty */ -#line 5637 "fe/idl.ypp" + case 490: /* $@151: %empty */ +#line 5651 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8886 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 490: /* component_export: consumes_decl $@150 ';' */ -#line 5641 "fe/idl.ypp" + case 491: /* component_export: consumes_decl $@151 ';' */ +#line 5655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8895 "fe/idl.tab.cpp" +#line 8938 "fe/idl.tab.cpp" break; - case 491: /* $@151: %empty */ -#line 5646 "fe/idl.ypp" + case 492: /* $@152: %empty */ +#line 5660 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8903 "fe/idl.tab.cpp" +#line 8946 "fe/idl.tab.cpp" break; - case 492: /* component_export: attribute $@151 ';' */ -#line 5650 "fe/idl.ypp" + case 493: /* component_export: attribute $@152 ';' */ +#line 5664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8912 "fe/idl.tab.cpp" +#line 8955 "fe/idl.tab.cpp" break; - case 493: /* $@152: %empty */ -#line 5655 "fe/idl.ypp" + case 494: /* $@153: %empty */ +#line 5669 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8920 "fe/idl.tab.cpp" +#line 8963 "fe/idl.tab.cpp" break; - case 494: /* component_export: extended_port_decl $@152 ';' */ -#line 5659 "fe/idl.ypp" + case 495: /* component_export: extended_port_decl $@153 ';' */ +#line 5673 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8929 "fe/idl.tab.cpp" +#line 8972 "fe/idl.tab.cpp" break; - case 495: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5666 "fe/idl.ypp" + case 496: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5680 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9019,21 +9062,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9023 "fe/idl.tab.cpp" +#line 9066 "fe/idl.tab.cpp" break; - case 496: /* interface_type: scoped_name */ -#line 5759 "fe/idl.ypp" + case 497: /* interface_type: scoped_name */ +#line 5773 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9033 "fe/idl.tab.cpp" +#line 9076 "fe/idl.tab.cpp" break; - case 497: /* interface_type: IDL_OBJECT */ -#line 5765 "fe/idl.ypp" + case 498: /* interface_type: IDL_OBJECT */ +#line 5779 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9056,11 +9099,11 @@ yyparse (void) conc_name), 1); } -#line 9060 "fe/idl.tab.cpp" +#line 9103 "fe/idl.tab.cpp" break; - case 498: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5790 "fe/idl.ypp" + case 499: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5804 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9164,37 +9207,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9168 "fe/idl.tab.cpp" +#line 9211 "fe/idl.tab.cpp" break; - case 499: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5897 "fe/idl.ypp" + case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5911 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9178 "fe/idl.tab.cpp" +#line 9221 "fe/idl.tab.cpp" break; - case 500: /* opt_multiple: IDL_MULTIPLE */ -#line 5906 "fe/idl.ypp" + case 501: /* opt_multiple: IDL_MULTIPLE */ +#line 5920 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9186 "fe/idl.tab.cpp" +#line 9229 "fe/idl.tab.cpp" break; - case 501: /* opt_multiple: %empty */ -#line 5910 "fe/idl.ypp" + case 502: /* opt_multiple: %empty */ +#line 5924 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9194 "fe/idl.tab.cpp" +#line 9237 "fe/idl.tab.cpp" break; - case 502: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5917 "fe/idl.ypp" + case 503: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5931 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9266,11 +9309,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9270 "fe/idl.tab.cpp" +#line 9313 "fe/idl.tab.cpp" break; - case 503: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5992 "fe/idl.ypp" + case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6006 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9339,11 +9382,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9343 "fe/idl.tab.cpp" +#line 9386 "fe/idl.tab.cpp" break; - case 504: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6064 "fe/idl.ypp" + case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6078 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9415,11 +9458,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9419 "fe/idl.tab.cpp" +#line 9462 "fe/idl.tab.cpp" break; - case 505: /* $@153: %empty */ -#line 6139 "fe/idl.ypp" + case 506: /* $@154: %empty */ +#line 6153 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9456,11 +9499,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9460 "fe/idl.tab.cpp" +#line 9503 "fe/idl.tab.cpp" break; - case 506: /* home_decl: home_header $@153 home_body */ -#line 6176 "fe/idl.ypp" + case 507: /* home_decl: home_header $@154 home_body */ +#line 6190 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9469,59 +9512,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9473 "fe/idl.tab.cpp" +#line 9516 "fe/idl.tab.cpp" break; - case 507: /* $@154: %empty */ -#line 6188 "fe/idl.ypp" + case 508: /* $@155: %empty */ +#line 6202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9481 "fe/idl.tab.cpp" +#line 9524 "fe/idl.tab.cpp" break; - case 508: /* $@155: %empty */ -#line 6192 "fe/idl.ypp" + case 509: /* $@156: %empty */ +#line 6206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9489 "fe/idl.tab.cpp" +#line 9532 "fe/idl.tab.cpp" break; - case 509: /* $@156: %empty */ -#line 6196 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6210 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9497 "fe/idl.tab.cpp" +#line 9540 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6200 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6214 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9505 "fe/idl.tab.cpp" +#line 9548 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6204 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6218 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9513 "fe/idl.tab.cpp" +#line 9556 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6208 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9521 "fe/idl.tab.cpp" +#line 9564 "fe/idl.tab.cpp" break; - case 513: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ -#line 6212 "fe/idl.ypp" + case 514: /* home_header: IDL_HOME $@155 defining_id $@156 home_inheritance_spec $@157 supports_spec $@158 IDL_MANAGES $@159 scoped_name $@160 primary_key_spec */ +#line 6226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9567,107 +9610,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9571 "fe/idl.tab.cpp" +#line 9614 "fe/idl.tab.cpp" break; - case 514: /* $@160: %empty */ -#line 6261 "fe/idl.ypp" + case 515: /* $@161: %empty */ +#line 6275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9579 "fe/idl.tab.cpp" +#line 9622 "fe/idl.tab.cpp" break; - case 515: /* home_inheritance_spec: ':' $@160 scoped_name */ -#line 6265 "fe/idl.ypp" + case 516: /* home_inheritance_spec: ':' $@161 scoped_name */ +#line 6279 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9587 "fe/idl.tab.cpp" +#line 9630 "fe/idl.tab.cpp" break; - case 516: /* home_inheritance_spec: %empty */ -#line 6269 "fe/idl.ypp" + case 517: /* home_inheritance_spec: %empty */ +#line 6283 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9595 "fe/idl.tab.cpp" +#line 9638 "fe/idl.tab.cpp" break; - case 517: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6277 "fe/idl.ypp" + case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6291 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9603 "fe/idl.tab.cpp" +#line 9646 "fe/idl.tab.cpp" break; - case 518: /* primary_key_spec: %empty */ -#line 6281 "fe/idl.ypp" + case 519: /* primary_key_spec: %empty */ +#line 6295 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9611 "fe/idl.tab.cpp" +#line 9654 "fe/idl.tab.cpp" break; - case 519: /* $@161: %empty */ -#line 6288 "fe/idl.ypp" + case 520: /* $@162: %empty */ +#line 6302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9619 "fe/idl.tab.cpp" +#line 9662 "fe/idl.tab.cpp" break; - case 520: /* $@162: %empty */ -#line 6292 "fe/idl.ypp" + case 521: /* $@163: %empty */ +#line 6306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9627 "fe/idl.tab.cpp" +#line 9670 "fe/idl.tab.cpp" break; - case 521: /* home_body: '{' $@161 home_exports $@162 '}' */ -#line 6296 "fe/idl.ypp" + case 522: /* home_body: '{' $@162 home_exports $@163 '}' */ +#line 6310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9635 "fe/idl.tab.cpp" +#line 9678 "fe/idl.tab.cpp" break; - case 525: /* $@163: %empty */ -#line 6309 "fe/idl.ypp" + case 526: /* $@164: %empty */ +#line 6323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9643 "fe/idl.tab.cpp" +#line 9686 "fe/idl.tab.cpp" break; - case 526: /* home_export: factory_decl $@163 ';' */ -#line 6313 "fe/idl.ypp" + case 527: /* home_export: factory_decl $@164 ';' */ +#line 6327 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9651 "fe/idl.tab.cpp" +#line 9694 "fe/idl.tab.cpp" break; - case 527: /* $@164: %empty */ -#line 6317 "fe/idl.ypp" + case 528: /* $@165: %empty */ +#line 6331 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9659 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; - case 528: /* home_export: finder_decl $@164 ';' */ -#line 6321 "fe/idl.ypp" + case 529: /* home_export: finder_decl $@165 ';' */ +#line 6335 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9667 "fe/idl.tab.cpp" +#line 9710 "fe/idl.tab.cpp" break; - case 529: /* $@165: %empty */ -#line 6329 "fe/idl.ypp" + case 530: /* $@166: %empty */ +#line 6343 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9690,19 +9733,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9694 "fe/idl.tab.cpp" +#line 9737 "fe/idl.tab.cpp" break; - case 530: /* $@166: %empty */ -#line 6352 "fe/idl.ypp" + case 531: /* $@167: %empty */ +#line 6366 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9702 "fe/idl.tab.cpp" +#line 9745 "fe/idl.tab.cpp" break; - case 531: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ -#line 6356 "fe/idl.ypp" + case 532: /* factory_decl: IDL_FACTORY defining_id $@166 init_parameter_list $@167 opt_raises */ +#line 6370 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9720,11 +9763,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9724 "fe/idl.tab.cpp" +#line 9767 "fe/idl.tab.cpp" break; - case 532: /* $@167: %empty */ -#line 6378 "fe/idl.ypp" + case 533: /* $@168: %empty */ +#line 6392 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9751,19 +9794,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9755 "fe/idl.tab.cpp" +#line 9798 "fe/idl.tab.cpp" break; - case 533: /* $@168: %empty */ -#line 6405 "fe/idl.ypp" + case 534: /* $@169: %empty */ +#line 6419 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9763 "fe/idl.tab.cpp" +#line 9806 "fe/idl.tab.cpp" break; - case 534: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ -#line 6409 "fe/idl.ypp" + case 535: /* finder_decl: IDL_FINDER defining_id $@168 init_parameter_list $@169 opt_raises */ +#line 6423 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9781,11 +9824,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9785 "fe/idl.tab.cpp" +#line 9828 "fe/idl.tab.cpp" break; - case 540: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6442 "fe/idl.ypp" + case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6456 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9810,11 +9853,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9814 "fe/idl.tab.cpp" +#line 9857 "fe/idl.tab.cpp" break; - case 541: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6472 "fe/idl.ypp" + case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6486 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9839,11 +9882,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9843 "fe/idl.tab.cpp" +#line 9886 "fe/idl.tab.cpp" break; - case 542: /* $@169: %empty */ -#line 6501 "fe/idl.ypp" + case 543: /* $@170: %empty */ +#line 6515 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9887,27 +9930,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9891 "fe/idl.tab.cpp" +#line 9934 "fe/idl.tab.cpp" break; - case 543: /* $@170: %empty */ -#line 6545 "fe/idl.ypp" + case 544: /* $@171: %empty */ +#line 6559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9899 "fe/idl.tab.cpp" +#line 9942 "fe/idl.tab.cpp" break; - case 544: /* $@171: %empty */ -#line 6549 "fe/idl.ypp" + case 545: /* $@172: %empty */ +#line 6563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9907 "fe/idl.tab.cpp" +#line 9950 "fe/idl.tab.cpp" break; - case 545: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ -#line 6553 "fe/idl.ypp" + case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@170 '{' $@171 exports $@172 '}' */ +#line 6567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9918,19 +9961,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9922 "fe/idl.tab.cpp" +#line 9965 "fe/idl.tab.cpp" break; - case 546: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6569 "fe/idl.ypp" + case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6583 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9930 "fe/idl.tab.cpp" +#line 9973 "fe/idl.tab.cpp" break; - case 547: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6578 "fe/idl.ypp" + case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6592 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9943,29 +9986,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9947 "fe/idl.tab.cpp" +#line 9990 "fe/idl.tab.cpp" break; - case 548: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6595 "fe/idl.ypp" + case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9957 "fe/idl.tab.cpp" +#line 10000 "fe/idl.tab.cpp" break; - case 549: /* $@172: %empty */ -#line 6604 "fe/idl.ypp" + case 550: /* $@173: %empty */ +#line 6618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9965 "fe/idl.tab.cpp" +#line 10008 "fe/idl.tab.cpp" break; - case 550: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ -#line 6608 "fe/idl.ypp" + case 551: /* event_rest_of_header: inheritance_spec $@173 supports_spec */ +#line 6622 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -9994,11 +10037,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 9998 "fe/idl.tab.cpp" +#line 10041 "fe/idl.tab.cpp" break; - case 551: /* @173: %empty */ -#line 6641 "fe/idl.ypp" + case 552: /* @174: %empty */ +#line 6655 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10049,27 +10092,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10053 "fe/idl.tab.cpp" +#line 10096 "fe/idl.tab.cpp" break; - case 552: /* $@174: %empty */ -#line 6692 "fe/idl.ypp" + case 553: /* $@175: %empty */ +#line 6706 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10061 "fe/idl.tab.cpp" +#line 10104 "fe/idl.tab.cpp" break; - case 553: /* $@175: %empty */ -#line 6696 "fe/idl.ypp" + case 554: /* $@176: %empty */ +#line 6710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10069 "fe/idl.tab.cpp" +#line 10112 "fe/idl.tab.cpp" break; - case 554: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ -#line 6700 "fe/idl.ypp" + case 555: /* event_decl: event_header event_rest_of_header @174 '{' $@175 value_elements $@176 '}' */ +#line 6714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10080,108 +10123,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10084 "fe/idl.tab.cpp" +#line 10127 "fe/idl.tab.cpp" break; - case 555: /* event_header: event_custom_header */ -#line 6714 "fe/idl.ypp" + case 556: /* event_header: event_custom_header */ +#line 6728 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10092 "fe/idl.tab.cpp" +#line 10135 "fe/idl.tab.cpp" break; - case 556: /* event_header: event_plain_header */ -#line 6718 "fe/idl.ypp" + case 557: /* event_header: event_plain_header */ +#line 6732 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10100 "fe/idl.tab.cpp" +#line 10143 "fe/idl.tab.cpp" break; - case 557: /* formal_parameter_type: IDL_TYPENAME */ -#line 6725 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_TYPENAME */ +#line 6739 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10108 "fe/idl.tab.cpp" +#line 10151 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_STRUCT */ -#line 6729 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_STRUCT */ +#line 6743 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10116 "fe/idl.tab.cpp" +#line 10159 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_UNION */ -#line 6733 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_UNION */ +#line 6747 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10124 "fe/idl.tab.cpp" +#line 10167 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6737 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6751 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10132 "fe/idl.tab.cpp" +#line 10175 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6741 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6755 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10140 "fe/idl.tab.cpp" +#line 10183 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_INTERFACE */ -#line 6745 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_INTERFACE */ +#line 6759 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10148 "fe/idl.tab.cpp" +#line 10191 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6749 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6763 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10156 "fe/idl.tab.cpp" +#line 10199 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_ENUM */ -#line 6753 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_ENUM */ +#line 6767 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10164 "fe/idl.tab.cpp" +#line 10207 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6757 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6771 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10172 "fe/idl.tab.cpp" +#line 10215 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_CONST const_type */ -#line 6761 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_CONST const_type */ +#line 6775 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10181 "fe/idl.tab.cpp" +#line 10224 "fe/idl.tab.cpp" break; - case 567: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6769 "fe/idl.ypp" + case 568: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6783 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10209,11 +10252,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10213 "fe/idl.tab.cpp" +#line 10256 "fe/idl.tab.cpp" break; - case 568: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6800 "fe/idl.ypp" + case 569: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6814 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10226,19 +10269,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10230 "fe/idl.tab.cpp" +#line 10273 "fe/idl.tab.cpp" break; - case 569: /* formal_parameters: %empty */ -#line 6813 "fe/idl.ypp" + case 570: /* formal_parameters: %empty */ +#line 6827 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10238 "fe/idl.tab.cpp" +#line 10281 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6820 "fe/idl.ypp" + case 571: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6834 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10263,11 +10306,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10267 "fe/idl.tab.cpp" +#line 10310 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6845 "fe/idl.ypp" + case 572: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6859 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10282,19 +10325,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10286 "fe/idl.tab.cpp" +#line 10329 "fe/idl.tab.cpp" break; - case 572: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6863 "fe/idl.ypp" + case 573: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6877 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10294 "fe/idl.tab.cpp" +#line 10337 "fe/idl.tab.cpp" break; - case 573: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6870 "fe/idl.ypp" + case 574: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6884 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10309,37 +10352,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10313 "fe/idl.tab.cpp" +#line 10356 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter_names: %empty */ -#line 6885 "fe/idl.ypp" + case 575: /* formal_parameter_names: %empty */ +#line 6899 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10321 "fe/idl.tab.cpp" +#line 10364 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter_name: IDENTIFIER */ -#line 6892 "fe/idl.ypp" + case 576: /* formal_parameter_name: IDENTIFIER */ +#line 6906 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10331 "fe/idl.tab.cpp" +#line 10374 "fe/idl.tab.cpp" break; - case 576: /* $@176: %empty */ -#line 6901 "fe/idl.ypp" + case 577: /* $@177: %empty */ +#line 6915 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10339 "fe/idl.tab.cpp" +#line 10382 "fe/idl.tab.cpp" break; - case 577: /* @177: %empty */ -#line 6905 "fe/idl.ypp" + case 578: /* @178: %empty */ +#line 6919 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10358,27 +10401,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10362 "fe/idl.tab.cpp" +#line 10405 "fe/idl.tab.cpp" break; - case 578: /* $@178: %empty */ -#line 6924 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6938 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10370 "fe/idl.tab.cpp" +#line 10413 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6932 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6946 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10378 "fe/idl.tab.cpp" +#line 10421 "fe/idl.tab.cpp" break; - case 580: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ -#line 6936 "fe/idl.ypp" + case 581: /* porttype_decl: IDL_PORTTYPE $@177 IDENTIFIER @178 '{' $@179 at_least_one_port_export $@180 '}' */ +#line 6950 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10387,11 +10430,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10391 "fe/idl.tab.cpp" +#line 10434 "fe/idl.tab.cpp" break; - case 581: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6948 "fe/idl.ypp" + case 582: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6962 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10406,27 +10449,27 @@ yyparse (void) } delete annotations; } -#line 10410 "fe/idl.tab.cpp" +#line 10453 "fe/idl.tab.cpp" break; - case 587: /* $@180: %empty */ -#line 6974 "fe/idl.ypp" + case 588: /* $@181: %empty */ +#line 6988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10418 "fe/idl.tab.cpp" +#line 10461 "fe/idl.tab.cpp" break; - case 588: /* port_export: attribute $@180 ';' */ -#line 6978 "fe/idl.ypp" + case 589: /* port_export: attribute $@181 ';' */ +#line 6992 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10426 "fe/idl.tab.cpp" +#line 10469 "fe/idl.tab.cpp" break; - case 589: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6985 "fe/idl.ypp" + case 590: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6999 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10493,11 +10536,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10497 "fe/idl.tab.cpp" +#line 10540 "fe/idl.tab.cpp" break; - case 590: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7052 "fe/idl.ypp" + case 591: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10542,11 +10585,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10546 "fe/idl.tab.cpp" +#line 10589 "fe/idl.tab.cpp" break; - case 591: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7100 "fe/idl.ypp" + case 592: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7114 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10559,11 +10602,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10563 "fe/idl.tab.cpp" +#line 10606 "fe/idl.tab.cpp" break; - case 592: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7116 "fe/idl.ypp" + case 593: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7130 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10576,19 +10619,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10580 "fe/idl.tab.cpp" +#line 10623 "fe/idl.tab.cpp" break; - case 593: /* actual_parameters: %empty */ -#line 7129 "fe/idl.ypp" + case 594: /* actual_parameters: %empty */ +#line 7143 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10588 "fe/idl.tab.cpp" +#line 10631 "fe/idl.tab.cpp" break; - case 594: /* actual_parameter: expression */ -#line 7136 "fe/idl.ypp" + case 595: /* actual_parameter: expression */ +#line 7150 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10644,35 +10687,35 @@ yyparse (void) 0); } } -#line 10648 "fe/idl.tab.cpp" +#line 10691 "fe/idl.tab.cpp" break; - case 595: /* connector_decl: connector_header connector_body */ -#line 7195 "fe/idl.ypp" + case 596: /* connector_decl: connector_header connector_body */ +#line 7209 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10656 "fe/idl.tab.cpp" +#line 10699 "fe/idl.tab.cpp" break; - case 596: /* $@181: %empty */ -#line 7202 "fe/idl.ypp" + case 597: /* $@182: %empty */ +#line 7216 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10664 "fe/idl.tab.cpp" +#line 10707 "fe/idl.tab.cpp" break; - case 597: /* $@182: %empty */ -#line 7206 "fe/idl.ypp" + case 598: /* $@183: %empty */ +#line 7220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10672 "fe/idl.tab.cpp" +#line 10715 "fe/idl.tab.cpp" break; - case 598: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ -#line 7210 "fe/idl.ypp" + case 599: /* connector_header: IDL_CONNECTOR $@182 annotations_maybe IDENTIFIER $@183 component_inheritance_spec */ +#line 7224 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10726,102 +10769,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10730 "fe/idl.tab.cpp" +#line 10773 "fe/idl.tab.cpp" break; - case 599: /* $@183: %empty */ -#line 7267 "fe/idl.ypp" + case 600: /* $@184: %empty */ +#line 7281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10738 "fe/idl.tab.cpp" +#line 10781 "fe/idl.tab.cpp" break; - case 600: /* $@184: %empty */ -#line 7271 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10746 "fe/idl.tab.cpp" +#line 10789 "fe/idl.tab.cpp" break; - case 601: /* connector_body: '{' $@183 connector_exports $@184 '}' */ -#line 7275 "fe/idl.ypp" + case 602: /* connector_body: '{' $@184 connector_exports $@185 '}' */ +#line 7289 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10757 "fe/idl.tab.cpp" +#line 10800 "fe/idl.tab.cpp" break; - case 604: /* $@185: %empty */ -#line 7290 "fe/idl.ypp" + case 605: /* $@186: %empty */ +#line 7304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10765 "fe/idl.tab.cpp" +#line 10808 "fe/idl.tab.cpp" break; - case 605: /* connector_export: provides_decl $@185 ';' */ -#line 7294 "fe/idl.ypp" + case 606: /* connector_export: provides_decl $@186 ';' */ +#line 7308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10773 "fe/idl.tab.cpp" +#line 10816 "fe/idl.tab.cpp" break; - case 606: /* $@186: %empty */ -#line 7298 "fe/idl.ypp" + case 607: /* $@187: %empty */ +#line 7312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10781 "fe/idl.tab.cpp" +#line 10824 "fe/idl.tab.cpp" break; - case 607: /* connector_export: uses_decl $@186 ';' */ -#line 7302 "fe/idl.ypp" + case 608: /* connector_export: uses_decl $@187 ';' */ +#line 7316 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10789 "fe/idl.tab.cpp" +#line 10832 "fe/idl.tab.cpp" break; - case 608: /* $@187: %empty */ -#line 7306 "fe/idl.ypp" + case 609: /* $@188: %empty */ +#line 7320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10797 "fe/idl.tab.cpp" +#line 10840 "fe/idl.tab.cpp" break; - case 609: /* connector_export: attribute $@187 ';' */ -#line 7310 "fe/idl.ypp" + case 610: /* connector_export: attribute $@188 ';' */ +#line 7324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10805 "fe/idl.tab.cpp" +#line 10848 "fe/idl.tab.cpp" break; - case 610: /* $@188: %empty */ -#line 7314 "fe/idl.ypp" + case 611: /* $@189: %empty */ +#line 7328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10813 "fe/idl.tab.cpp" +#line 10856 "fe/idl.tab.cpp" break; - case 611: /* connector_export: extended_port_decl $@188 ';' */ -#line 7318 "fe/idl.ypp" + case 612: /* connector_export: extended_port_decl $@189 ';' */ +#line 7332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10821 "fe/idl.tab.cpp" +#line 10864 "fe/idl.tab.cpp" break; -#line 10825 "fe/idl.tab.cpp" +#line 10868 "fe/idl.tab.cpp" default: break; } @@ -11014,7 +11057,7 @@ yyparse (void) return yyresult; } -#line 7323 "fe/idl.ypp" +#line 7337 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 2428deef0b98f..6c03587d97de6 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3895,8 +3895,6 @@ enumerator : map_type_spec : IDL_MAP { - idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); - idl_global->scopes ().push (0); } '<' @@ -3907,8 +3905,8 @@ map_type_spec : { AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $3; - Decl_Annotations_Pair *val_type = $5; + Decl_Annotations_Pair *key_type = $4; + Decl_Annotations_Pair *val_type = $6; /* * Remove sequence marker from scopes stack. @@ -3962,11 +3960,10 @@ map_type_spec : $$ = map; } | IDL_MAP - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); - + /* { + Adding this causes error: 1 reduce/reduce conflict [-Werror=conflicts-rr] idl_global->scopes ().push (0); - } + } */ '<' map_type ',' diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index bf594fd6a92e7..61c0104539543 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From aa6f53e100ae532f37d67a70d493bd1e0209c08c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:08:24 -0400 Subject: [PATCH 19/92] removed whitespace --- TAO/TAO_IDL/ast/ast_map.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 4f017c2a66e29..02e2e1a919b0c 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -307,7 +307,7 @@ AST_Map::primitive_value_type () const AST_Typedef * const typedef_node = dynamic_cast(type_node); if (!typedef_node) return nullptr; type_node = typedef_node->primitive_base_type(); - } + } return type_node; } @@ -338,7 +338,7 @@ AST_Map::destroy () delete this->key_pd_type; this->key_pd_type = nullptr; } - + if (this->owns_value_type_) { this->value_pd_type->destroy(); From 3cbb2c83862d48161883a11d34ea806fb98c0045 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:09:56 -0400 Subject: [PATCH 20/92] fixed whitespace --- TAO/TAO_IDL/include/idl_global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 61c0104539543..bf594fd6a92e7 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From b4e0d4bfbde941b6cd663e9bd3ba4422a0670962 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:18:35 -0400 Subject: [PATCH 21/92] Fixed typo --- TAO/TAO_IDL/fe/idl.tab.cpp | 8 ++++---- TAO/TAO_IDL/fe/idl.ypp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index ef50491e5c07e..f0d7ae1b3e9ba 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -6921,8 +6921,8 @@ yyparse (void) } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; (yyval.dcval) = map; } #line 6929 "fe/idl.tab.cpp" @@ -6980,8 +6980,8 @@ yyparse (void) } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; (yyval.dcval) = map; } #line 6988 "fe/idl.tab.cpp" diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 6c03587d97de6..b83ec04e4e084 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3955,8 +3955,8 @@ map_type_spec : } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; $$ = map; } | IDL_MAP @@ -4021,8 +4021,8 @@ map_type_spec : } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; $$ = map; } ; From e677ed0398342e04b5f493d5a9559ef8bc36df1a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 8 Jun 2022 18:30:26 -0400 Subject: [PATCH 22/92] added map_head rules to parser, for proper null scope --- TAO/TAO_IDL/fe/idl.tab.cpp | 4522 +++++++++++---------- TAO/TAO_IDL/fe/idl.tab.hpp | 5 +- TAO/TAO_IDL/fe/idl.ypp | 96 +- TAO/TAO_IDL/include/ast_annotation_appl.h | 5 + TAO/TAO_IDL/include/idl_global.h | 3 +- 5 files changed, 2349 insertions(+), 2282 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index f0d7ae1b3e9ba..33f516fefce8e 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -146,6 +146,8 @@ #include #include +#include + void tao_yyerror (const char *); int tao_yylex (void); extern "C" int tao_yywrap (void); @@ -162,7 +164,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 166 "fe/idl.tab.cpp" +#line 168 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -518,197 +520,200 @@ enum yysymbol_kind_t YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_map_type = 328, /* map_type */ - YYSYMBOL_sequence_type_spec = 329, /* sequence_type_spec */ - YYSYMBOL_330_92 = 330, /* $@92 */ - YYSYMBOL_331_93 = 331, /* $@93 */ - YYSYMBOL_seq_head = 332, /* seq_head */ - YYSYMBOL_333_94 = 333, /* $@94 */ - YYSYMBOL_334_95 = 334, /* $@95 */ - YYSYMBOL_fixed_type_spec = 335, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 336, /* string_type_spec */ - YYSYMBOL_337_96 = 337, /* $@96 */ - YYSYMBOL_338_97 = 338, /* $@97 */ - YYSYMBOL_string_head = 339, /* string_head */ - YYSYMBOL_wstring_type_spec = 340, /* wstring_type_spec */ - YYSYMBOL_341_98 = 341, /* $@98 */ - YYSYMBOL_342_99 = 342, /* $@99 */ - YYSYMBOL_wstring_head = 343, /* wstring_head */ - YYSYMBOL_array_declarator = 344, /* array_declarator */ - YYSYMBOL_345_100 = 345, /* $@100 */ - YYSYMBOL_at_least_one_array_dim = 346, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 347, /* array_dims */ - YYSYMBOL_array_dim = 348, /* array_dim */ - YYSYMBOL_349_101 = 349, /* $@101 */ - YYSYMBOL_350_102 = 350, /* $@102 */ - YYSYMBOL_attribute = 351, /* attribute */ - YYSYMBOL_attribute_readonly = 352, /* attribute_readonly */ - YYSYMBOL_353_103 = 353, /* $@103 */ - YYSYMBOL_354_104 = 354, /* $@104 */ - YYSYMBOL_355_105 = 355, /* $@105 */ + YYSYMBOL_328_92 = 328, /* $@92 */ + YYSYMBOL_map_head = 329, /* map_head */ + YYSYMBOL_330_93 = 330, /* $@93 */ + YYSYMBOL_331_94 = 331, /* $@94 */ + YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ + YYSYMBOL_333_95 = 333, /* $@95 */ + YYSYMBOL_334_96 = 334, /* $@96 */ + YYSYMBOL_seq_head = 335, /* seq_head */ + YYSYMBOL_336_97 = 336, /* $@97 */ + YYSYMBOL_337_98 = 337, /* $@98 */ + YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 339, /* string_type_spec */ + YYSYMBOL_340_99 = 340, /* $@99 */ + YYSYMBOL_341_100 = 341, /* $@100 */ + YYSYMBOL_string_head = 342, /* string_head */ + YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ + YYSYMBOL_344_101 = 344, /* $@101 */ + YYSYMBOL_345_102 = 345, /* $@102 */ + YYSYMBOL_wstring_head = 346, /* wstring_head */ + YYSYMBOL_array_declarator = 347, /* array_declarator */ + YYSYMBOL_348_103 = 348, /* $@103 */ + YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 350, /* array_dims */ + YYSYMBOL_array_dim = 351, /* array_dim */ + YYSYMBOL_352_104 = 352, /* $@104 */ + YYSYMBOL_353_105 = 353, /* $@105 */ + YYSYMBOL_attribute = 354, /* attribute */ + YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ YYSYMBOL_356_106 = 356, /* $@106 */ - YYSYMBOL_attribute_readwrite = 357, /* attribute_readwrite */ - YYSYMBOL_358_107 = 358, /* $@107 */ - YYSYMBOL_359_108 = 359, /* $@108 */ - YYSYMBOL_360_109 = 360, /* $@109 */ + YYSYMBOL_357_107 = 357, /* $@107 */ + YYSYMBOL_358_108 = 358, /* $@108 */ + YYSYMBOL_359_109 = 359, /* $@109 */ + YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ YYSYMBOL_361_110 = 361, /* $@110 */ - YYSYMBOL_exception = 362, /* exception */ - YYSYMBOL_363_111 = 363, /* $@111 */ - YYSYMBOL_364_112 = 364, /* @112 */ - YYSYMBOL_365_113 = 365, /* $@113 */ + YYSYMBOL_362_111 = 362, /* $@111 */ + YYSYMBOL_363_112 = 363, /* $@112 */ + YYSYMBOL_364_113 = 364, /* $@113 */ + YYSYMBOL_exception = 365, /* exception */ YYSYMBOL_366_114 = 366, /* $@114 */ - YYSYMBOL_operation = 367, /* operation */ - YYSYMBOL_368_115 = 368, /* $@115 */ - YYSYMBOL_369_116 = 369, /* $@116 */ - YYSYMBOL_370_117 = 370, /* $@117 */ + YYSYMBOL_367_115 = 367, /* @115 */ + YYSYMBOL_368_116 = 368, /* $@116 */ + YYSYMBOL_369_117 = 369, /* $@117 */ + YYSYMBOL_operation = 370, /* operation */ YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_opt_op_attribute = 372, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 373, /* op_type_spec */ - YYSYMBOL_init_decl = 374, /* init_decl */ - YYSYMBOL_375_119 = 375, /* $@119 */ - YYSYMBOL_376_120 = 376, /* @120 */ - YYSYMBOL_377_121 = 377, /* $@121 */ - YYSYMBOL_init_parameter_list = 378, /* init_parameter_list */ - YYSYMBOL_379_122 = 379, /* $@122 */ - YYSYMBOL_380_123 = 380, /* $@123 */ - YYSYMBOL_at_least_one_in_parameter = 381, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 382, /* in_parameters */ - YYSYMBOL_383_124 = 383, /* $@124 */ - YYSYMBOL_in_parameter = 384, /* in_parameter */ - YYSYMBOL_385_125 = 385, /* $@125 */ - YYSYMBOL_386_126 = 386, /* $@126 */ - YYSYMBOL_parameter_list = 387, /* parameter_list */ - YYSYMBOL_388_127 = 388, /* $@127 */ - YYSYMBOL_389_128 = 389, /* $@128 */ - YYSYMBOL_at_least_one_parameter = 390, /* at_least_one_parameter */ - YYSYMBOL_parameters = 391, /* parameters */ - YYSYMBOL_392_129 = 392, /* $@129 */ - YYSYMBOL_parameter = 393, /* parameter */ - YYSYMBOL_394_130 = 394, /* $@130 */ - YYSYMBOL_395_131 = 395, /* $@131 */ - YYSYMBOL_param_type_spec = 396, /* param_type_spec */ - YYSYMBOL_direction = 397, /* direction */ - YYSYMBOL_opt_raises = 398, /* opt_raises */ - YYSYMBOL_399_132 = 399, /* $@132 */ - YYSYMBOL_400_133 = 400, /* $@133 */ - YYSYMBOL_opt_getraises = 401, /* opt_getraises */ - YYSYMBOL_402_134 = 402, /* $@134 */ - YYSYMBOL_403_135 = 403, /* $@135 */ - YYSYMBOL_opt_setraises = 404, /* opt_setraises */ - YYSYMBOL_405_136 = 405, /* $@136 */ - YYSYMBOL_406_137 = 406, /* $@137 */ - YYSYMBOL_opt_context = 407, /* opt_context */ - YYSYMBOL_408_138 = 408, /* $@138 */ - YYSYMBOL_409_139 = 409, /* $@139 */ - YYSYMBOL_at_least_one_string_literal = 410, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 411, /* string_literals */ - YYSYMBOL_412_140 = 412, /* $@140 */ - YYSYMBOL_typeid_dcl = 413, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 414, /* typeprefix_dcl */ - YYSYMBOL_component = 415, /* component */ - YYSYMBOL_component_forward_decl = 416, /* component_forward_decl */ - YYSYMBOL_component_decl = 417, /* component_decl */ - YYSYMBOL_418_141 = 418, /* @141 */ - YYSYMBOL_419_142 = 419, /* $@142 */ - YYSYMBOL_420_143 = 420, /* $@143 */ - YYSYMBOL_component_header = 421, /* component_header */ - YYSYMBOL_422_144 = 422, /* $@144 */ - YYSYMBOL_423_145 = 423, /* $@145 */ - YYSYMBOL_component_inheritance_spec = 424, /* component_inheritance_spec */ - YYSYMBOL_425_146 = 425, /* $@146 */ - YYSYMBOL_component_exports = 426, /* component_exports */ - YYSYMBOL_component_export = 427, /* component_export */ - YYSYMBOL_428_147 = 428, /* $@147 */ - YYSYMBOL_429_148 = 429, /* $@148 */ - YYSYMBOL_430_149 = 430, /* $@149 */ + YYSYMBOL_372_119 = 372, /* $@119 */ + YYSYMBOL_373_120 = 373, /* $@120 */ + YYSYMBOL_374_121 = 374, /* $@121 */ + YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 376, /* op_type_spec */ + YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_378_122 = 378, /* $@122 */ + YYSYMBOL_379_123 = 379, /* @123 */ + YYSYMBOL_380_124 = 380, /* $@124 */ + YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ + YYSYMBOL_382_125 = 382, /* $@125 */ + YYSYMBOL_383_126 = 383, /* $@126 */ + YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 385, /* in_parameters */ + YYSYMBOL_386_127 = 386, /* $@127 */ + YYSYMBOL_in_parameter = 387, /* in_parameter */ + YYSYMBOL_388_128 = 388, /* $@128 */ + YYSYMBOL_389_129 = 389, /* $@129 */ + YYSYMBOL_parameter_list = 390, /* parameter_list */ + YYSYMBOL_391_130 = 391, /* $@130 */ + YYSYMBOL_392_131 = 392, /* $@131 */ + YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ + YYSYMBOL_parameters = 394, /* parameters */ + YYSYMBOL_395_132 = 395, /* $@132 */ + YYSYMBOL_parameter = 396, /* parameter */ + YYSYMBOL_397_133 = 397, /* $@133 */ + YYSYMBOL_398_134 = 398, /* $@134 */ + YYSYMBOL_param_type_spec = 399, /* param_type_spec */ + YYSYMBOL_direction = 400, /* direction */ + YYSYMBOL_opt_raises = 401, /* opt_raises */ + YYSYMBOL_402_135 = 402, /* $@135 */ + YYSYMBOL_403_136 = 403, /* $@136 */ + YYSYMBOL_opt_getraises = 404, /* opt_getraises */ + YYSYMBOL_405_137 = 405, /* $@137 */ + YYSYMBOL_406_138 = 406, /* $@138 */ + YYSYMBOL_opt_setraises = 407, /* opt_setraises */ + YYSYMBOL_408_139 = 408, /* $@139 */ + YYSYMBOL_409_140 = 409, /* $@140 */ + YYSYMBOL_opt_context = 410, /* opt_context */ + YYSYMBOL_411_141 = 411, /* $@141 */ + YYSYMBOL_412_142 = 412, /* $@142 */ + YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 414, /* string_literals */ + YYSYMBOL_415_143 = 415, /* $@143 */ + YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ + YYSYMBOL_component = 418, /* component */ + YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ + YYSYMBOL_component_decl = 420, /* component_decl */ + YYSYMBOL_421_144 = 421, /* @144 */ + YYSYMBOL_422_145 = 422, /* $@145 */ + YYSYMBOL_423_146 = 423, /* $@146 */ + YYSYMBOL_component_header = 424, /* component_header */ + YYSYMBOL_425_147 = 425, /* $@147 */ + YYSYMBOL_426_148 = 426, /* $@148 */ + YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ + YYSYMBOL_428_149 = 428, /* $@149 */ + YYSYMBOL_component_exports = 429, /* component_exports */ + YYSYMBOL_component_export = 430, /* component_export */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ YYSYMBOL_434_153 = 434, /* $@153 */ - YYSYMBOL_provides_decl = 435, /* provides_decl */ - YYSYMBOL_interface_type = 436, /* interface_type */ - YYSYMBOL_uses_decl = 437, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 438, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 439, /* opt_multiple */ - YYSYMBOL_emits_decl = 440, /* emits_decl */ - YYSYMBOL_publishes_decl = 441, /* publishes_decl */ - YYSYMBOL_consumes_decl = 442, /* consumes_decl */ - YYSYMBOL_home_decl = 443, /* home_decl */ - YYSYMBOL_444_154 = 444, /* $@154 */ - YYSYMBOL_home_header = 445, /* home_header */ - YYSYMBOL_446_155 = 446, /* $@155 */ - YYSYMBOL_447_156 = 447, /* $@156 */ - YYSYMBOL_448_157 = 448, /* $@157 */ + YYSYMBOL_435_154 = 435, /* $@154 */ + YYSYMBOL_436_155 = 436, /* $@155 */ + YYSYMBOL_437_156 = 437, /* $@156 */ + YYSYMBOL_provides_decl = 438, /* provides_decl */ + YYSYMBOL_interface_type = 439, /* interface_type */ + YYSYMBOL_uses_decl = 440, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 442, /* opt_multiple */ + YYSYMBOL_emits_decl = 443, /* emits_decl */ + YYSYMBOL_publishes_decl = 444, /* publishes_decl */ + YYSYMBOL_consumes_decl = 445, /* consumes_decl */ + YYSYMBOL_home_decl = 446, /* home_decl */ + YYSYMBOL_447_157 = 447, /* $@157 */ + YYSYMBOL_home_header = 448, /* home_header */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ YYSYMBOL_451_160 = 451, /* $@160 */ - YYSYMBOL_home_inheritance_spec = 452, /* home_inheritance_spec */ - YYSYMBOL_453_161 = 453, /* $@161 */ - YYSYMBOL_primary_key_spec = 454, /* primary_key_spec */ - YYSYMBOL_home_body = 455, /* home_body */ - YYSYMBOL_456_162 = 456, /* $@162 */ - YYSYMBOL_457_163 = 457, /* $@163 */ - YYSYMBOL_home_exports = 458, /* home_exports */ - YYSYMBOL_home_export = 459, /* home_export */ - YYSYMBOL_460_164 = 460, /* $@164 */ - YYSYMBOL_461_165 = 461, /* $@165 */ - YYSYMBOL_factory_decl = 462, /* factory_decl */ - YYSYMBOL_463_166 = 463, /* $@166 */ - YYSYMBOL_464_167 = 464, /* $@167 */ - YYSYMBOL_finder_decl = 465, /* finder_decl */ - YYSYMBOL_466_168 = 466, /* $@168 */ - YYSYMBOL_467_169 = 467, /* $@169 */ - YYSYMBOL_event = 468, /* event */ - YYSYMBOL_event_forward_decl = 469, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 470, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 471, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 472, /* event_abs_decl */ - YYSYMBOL_473_170 = 473, /* $@170 */ - YYSYMBOL_474_171 = 474, /* $@171 */ - YYSYMBOL_475_172 = 475, /* $@172 */ - YYSYMBOL_event_abs_header = 476, /* event_abs_header */ - YYSYMBOL_event_custom_header = 477, /* event_custom_header */ - YYSYMBOL_event_plain_header = 478, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 479, /* event_rest_of_header */ - YYSYMBOL_480_173 = 480, /* $@173 */ - YYSYMBOL_event_decl = 481, /* event_decl */ - YYSYMBOL_482_174 = 482, /* @174 */ - YYSYMBOL_483_175 = 483, /* $@175 */ - YYSYMBOL_484_176 = 484, /* $@176 */ - YYSYMBOL_event_header = 485, /* event_header */ - YYSYMBOL_formal_parameter_type = 486, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 487, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 488, /* formal_parameters */ - YYSYMBOL_formal_parameter = 489, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 490, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 491, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 492, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 493, /* porttype_decl */ - YYSYMBOL_494_177 = 494, /* $@177 */ - YYSYMBOL_495_178 = 495, /* @178 */ - YYSYMBOL_496_179 = 496, /* $@179 */ + YYSYMBOL_452_161 = 452, /* $@161 */ + YYSYMBOL_453_162 = 453, /* $@162 */ + YYSYMBOL_454_163 = 454, /* $@163 */ + YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ + YYSYMBOL_456_164 = 456, /* $@164 */ + YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ + YYSYMBOL_home_body = 458, /* home_body */ + YYSYMBOL_459_165 = 459, /* $@165 */ + YYSYMBOL_460_166 = 460, /* $@166 */ + YYSYMBOL_home_exports = 461, /* home_exports */ + YYSYMBOL_home_export = 462, /* home_export */ + YYSYMBOL_463_167 = 463, /* $@167 */ + YYSYMBOL_464_168 = 464, /* $@168 */ + YYSYMBOL_factory_decl = 465, /* factory_decl */ + YYSYMBOL_466_169 = 466, /* $@169 */ + YYSYMBOL_467_170 = 467, /* $@170 */ + YYSYMBOL_finder_decl = 468, /* finder_decl */ + YYSYMBOL_469_171 = 469, /* $@171 */ + YYSYMBOL_470_172 = 470, /* $@172 */ + YYSYMBOL_event = 471, /* event */ + YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_476_173 = 476, /* $@173 */ + YYSYMBOL_477_174 = 477, /* $@174 */ + YYSYMBOL_478_175 = 478, /* $@175 */ + YYSYMBOL_event_abs_header = 479, /* event_abs_header */ + YYSYMBOL_event_custom_header = 480, /* event_custom_header */ + YYSYMBOL_event_plain_header = 481, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ + YYSYMBOL_483_176 = 483, /* $@176 */ + YYSYMBOL_event_decl = 484, /* event_decl */ + YYSYMBOL_485_177 = 485, /* @177 */ + YYSYMBOL_486_178 = 486, /* $@178 */ + YYSYMBOL_487_179 = 487, /* $@179 */ + YYSYMBOL_event_header = 488, /* event_header */ + YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 491, /* formal_parameters */ + YYSYMBOL_formal_parameter = 492, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 496, /* porttype_decl */ YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_at_least_one_port_export = 498, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 499, /* port_exports */ - YYSYMBOL_port_export = 500, /* port_export */ - YYSYMBOL_501_181 = 501, /* $@181 */ - YYSYMBOL_extended_port_decl = 502, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 503, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 504, /* actual_parameters */ - YYSYMBOL_actual_parameter = 505, /* actual_parameter */ - YYSYMBOL_connector_decl = 506, /* connector_decl */ - YYSYMBOL_connector_header = 507, /* connector_header */ - YYSYMBOL_508_182 = 508, /* $@182 */ - YYSYMBOL_509_183 = 509, /* $@183 */ - YYSYMBOL_connector_body = 510, /* connector_body */ - YYSYMBOL_511_184 = 511, /* $@184 */ - YYSYMBOL_512_185 = 512, /* $@185 */ - YYSYMBOL_connector_exports = 513, /* connector_exports */ - YYSYMBOL_connector_export = 514, /* connector_export */ - YYSYMBOL_515_186 = 515, /* $@186 */ - YYSYMBOL_516_187 = 516, /* $@187 */ - YYSYMBOL_517_188 = 517, /* $@188 */ - YYSYMBOL_518_189 = 518 /* $@189 */ + YYSYMBOL_498_181 = 498, /* @181 */ + YYSYMBOL_499_182 = 499, /* $@182 */ + YYSYMBOL_500_183 = 500, /* $@183 */ + YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 502, /* port_exports */ + YYSYMBOL_port_export = 503, /* port_export */ + YYSYMBOL_504_184 = 504, /* $@184 */ + YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 507, /* actual_parameters */ + YYSYMBOL_actual_parameter = 508, /* actual_parameter */ + YYSYMBOL_connector_decl = 509, /* connector_decl */ + YYSYMBOL_connector_header = 510, /* connector_header */ + YYSYMBOL_511_185 = 511, /* $@185 */ + YYSYMBOL_512_186 = 512, /* $@186 */ + YYSYMBOL_connector_body = 513, /* connector_body */ + YYSYMBOL_514_187 = 514, /* $@187 */ + YYSYMBOL_515_188 = 515, /* $@188 */ + YYSYMBOL_connector_exports = 516, /* connector_exports */ + YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_518_189 = 518, /* $@189 */ + YYSYMBOL_519_190 = 519, /* $@190 */ + YYSYMBOL_520_191 = 520, /* $@191 */ + YYSYMBOL_521_192 = 521 /* $@192 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1036,14 +1041,14 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2202 +#define YYLAST 2196 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 401 +#define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 612 +#define YYNRULES 615 /* YYNSTATES -- Number of states. */ #define YYNSTATES 905 @@ -1104,68 +1109,68 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, - 454, 453, 462, 461, 470, 469, 478, 477, 486, 485, - 494, 493, 502, 501, 510, 509, 518, 517, 526, 525, - 534, 533, 542, 541, 550, 549, 558, 557, 566, 565, - 579, 578, 590, 629, 633, 589, 649, 657, 671, 681, - 711, 715, 656, 740, 744, 745, 749, 750, 755, 760, - 754, 846, 851, 845, 922, 923, 928, 966, 970, 927, - 987, 986, 998, 1035, 1065, 1098, 1097, 1106, 1113, 1114, - 1115, 1116, 1120, 1125, 1130, 1177, 1181, 1129, 1210, 1253, - 1257, 1208, 1276, 1274, 1314, 1313, 1325, 1329, 1336, 1341, - 1348, 1373, 1401, 1467, 1486, 1490, 1494, 1495, 1507, 1506, - 1524, 1528, 1535, 1556, 1557, 1561, 1576, 1581, 1580, 1589, - 1588, 1597, 1596, 1605, 1604, 1613, 1612, 1621, 1620, 1629, - 1628, 1637, 1636, 1649, 1661, 1659, 1684, 1691, 1701, 1700, - 1726, 1724, 1749, 1759, 1770, 1814, 1841, 1873, 1877, 1881, - 1885, 1872, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1957, - 1961, 2029, 2031, 2033, 2034, 2046, 2047, 2059, 2060, 2072, - 2073, 2082, 2094, 2095, 2104, 2116, 2117, 2126, 2135, 2147, - 2148, 2157, 2166, 2178, 2235, 2236, 2243, 2247, 2252, 2259, - 2266, 2270, 2275, 2279, 2283, 2287, 2294, 2363, 2362, 2391, - 2392, 2396, 2397, 2398, 2400, 2399, 2408, 2409, 2413, 2469, - 2473, 2480, 2493, 2503, 2511, 2510, 2598, 2602, 2609, 2618, - 2625, 2633, 2639, 2646, 2659, 2658, 2667, 2671, 2675, 2679, - 2707, 2715, 2714, 2785, 2786, 2790, 2797, 2798, 2824, 2825, - 2826, 2827, 2828, 2829, 2830, 2831, 2835, 2836, 2837, 2838, - 2839, 2843, 2844, 2845, 2849, 2850, 2854, 2866, 2864, 2889, - 2896, 2897, 2901, 2913, 2911, 2936, 2943, 2959, 2977, 2978, - 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3013, 3017, 3021, - 3025, 3029, 3033, 3037, 3044, 3048, 3052, 3059, 3066, 3070, - 3077, 3084, 3091, 3098, 3106, 3105, 3119, 3150, 3154, 3118, - 3171, 3174, 3175, 3179, 3197, 3201, 3196, 3259, 3258, 3271, - 3270, 3283, 3287, 3320, 3324, 3383, 3387, 3282, 3409, 3416, - 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, - 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, - 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3896, 3962, 4031, 4044, 4048, - 4042, 4132, 4199, 4208, 4198, 4222, 4232, 4236, 4230, 4278, - 4304, 4313, 4317, 4311, 4359, 4385, 4393, 4392, 4435, 4445, - 4463, 4471, 4475, 4470, 4535, 4536, 4541, 4545, 4549, 4553, - 4540, 4612, 4616, 4620, 4624, 4611, 4692, 4696, 4728, 4732, - 4691, 4749, 4753, 4814, 4818, 4748, 4855, 4860, 4865, 4872, - 4873, 4884, 4889, 4932, 4883, 4954, 4953, 4962, 4961, 4972, - 4977, 4975, 4981, 4986, 4990, 4985, 5029, 5028, 5037, 5036, - 5047, 5052, 5050, 5056, 5061, 5065, 5060, 5110, 5117, 5118, - 5119, 5226, 5230, 5234, 5242, 5246, 5241, 5255, 5263, 5267, - 5262, 5276, 5284, 5288, 5283, 5297, 5305, 5309, 5304, 5318, - 5325, 5337, 5335, 5358, 5365, 5395, 5434, 5435, 5439, 5470, - 5512, 5516, 5469, 5535, 5539, 5533, 5580, 5579, 5587, 5594, - 5609, 5610, 5615, 5614, 5624, 5623, 5633, 5632, 5642, 5641, - 5651, 5650, 5660, 5659, 5669, 5668, 5679, 5772, 5778, 5803, - 5910, 5919, 5923, 5930, 6005, 6077, 6153, 6152, 6202, 6206, - 6210, 6214, 6218, 6222, 6201, 6275, 6274, 6282, 6289, 6294, - 6302, 6306, 6301, 6316, 6317, 6321, 6323, 6322, 6331, 6330, - 6343, 6366, 6341, 6392, 6419, 6390, 6443, 6444, 6445, 6449, - 6450, 6454, 6483, 6515, 6559, 6563, 6513, 6580, 6589, 6607, - 6618, 6617, 6655, 6706, 6710, 6653, 6727, 6731, 6738, 6742, - 6746, 6750, 6754, 6758, 6762, 6766, 6770, 6774, 6782, 6813, - 6826, 6833, 6858, 6876, 6883, 6898, 6905, 6915, 6919, 6938, - 6946, 6914, 6961, 6976, 6980, 6981, 6985, 6986, 6988, 6987, - 6998, 7065, 7113, 7129, 7142, 7149, 7208, 7216, 7220, 7215, - 7281, 7285, 7280, 7298, 7299, 7304, 7303, 7312, 7311, 7320, - 7319, 7328, 7327 + 0, 421, 421, 424, 425, 433, 448, 452, 453, 454, + 459, 458, 467, 466, 475, 474, 483, 482, 491, 490, + 499, 498, 507, 506, 515, 514, 523, 522, 531, 530, + 539, 538, 547, 546, 555, 554, 563, 562, 571, 570, + 584, 583, 595, 634, 638, 594, 654, 662, 676, 686, + 716, 720, 661, 745, 749, 750, 754, 755, 760, 765, + 759, 851, 856, 850, 927, 928, 933, 971, 975, 932, + 992, 991, 1003, 1040, 1070, 1103, 1102, 1111, 1118, 1119, + 1120, 1121, 1125, 1130, 1135, 1182, 1186, 1134, 1215, 1258, + 1262, 1213, 1281, 1279, 1319, 1318, 1330, 1334, 1341, 1346, + 1353, 1378, 1406, 1472, 1491, 1495, 1499, 1500, 1512, 1511, + 1529, 1533, 1540, 1561, 1562, 1566, 1581, 1586, 1585, 1594, + 1593, 1602, 1601, 1610, 1609, 1618, 1617, 1626, 1625, 1634, + 1633, 1642, 1641, 1654, 1666, 1664, 1689, 1696, 1706, 1705, + 1731, 1729, 1754, 1764, 1775, 1819, 1846, 1878, 1882, 1886, + 1890, 1877, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1962, + 1966, 2034, 2036, 2038, 2039, 2051, 2052, 2064, 2065, 2077, + 2078, 2087, 2099, 2100, 2109, 2121, 2122, 2131, 2140, 2152, + 2153, 2162, 2171, 2183, 2240, 2241, 2248, 2252, 2257, 2264, + 2271, 2275, 2280, 2284, 2288, 2292, 2299, 2368, 2367, 2396, + 2397, 2401, 2402, 2403, 2405, 2404, 2413, 2414, 2418, 2474, + 2478, 2485, 2498, 2508, 2516, 2515, 2603, 2607, 2614, 2623, + 2630, 2638, 2644, 2651, 2664, 2663, 2672, 2676, 2680, 2684, + 2712, 2720, 2719, 2790, 2791, 2795, 2802, 2803, 2829, 2830, + 2831, 2832, 2833, 2834, 2835, 2836, 2840, 2841, 2842, 2843, + 2844, 2848, 2849, 2850, 2854, 2855, 2859, 2871, 2869, 2894, + 2901, 2902, 2906, 2918, 2916, 2941, 2948, 2964, 2982, 2983, + 2987, 2991, 2995, 2999, 3003, 3007, 3011, 3018, 3022, 3026, + 3030, 3034, 3038, 3042, 3049, 3053, 3057, 3064, 3071, 3075, + 3082, 3089, 3096, 3103, 3111, 3110, 3124, 3155, 3159, 3123, + 3176, 3179, 3180, 3184, 3202, 3206, 3201, 3264, 3263, 3276, + 3275, 3288, 3292, 3325, 3329, 3388, 3392, 3287, 3414, 3421, + 3434, 3443, 3450, 3451, 3560, 3563, 3564, 3569, 3573, 3568, + 3609, 3608, 3620, 3630, 3648, 3656, 3655, 3669, 3673, 3668, + 3689, 3688, 3738, 3763, 3787, 3791, 3822, 3826, 3786, 3850, + 3855, 3853, 3859, 3863, 3903, 3907, 3901, 3965, 4029, 4039, + 4028, 4064, 4068, 4062, 4152, 4219, 4228, 4218, 4242, 4252, + 4256, 4250, 4298, 4324, 4333, 4337, 4331, 4379, 4405, 4413, + 4412, 4455, 4465, 4483, 4491, 4495, 4490, 4555, 4556, 4561, + 4565, 4569, 4573, 4560, 4632, 4636, 4640, 4644, 4631, 4712, + 4716, 4748, 4752, 4711, 4769, 4773, 4834, 4838, 4768, 4875, + 4880, 4885, 4892, 4893, 4904, 4909, 4952, 4903, 4974, 4973, + 4982, 4981, 4992, 4997, 4995, 5001, 5006, 5010, 5005, 5049, + 5048, 5057, 5056, 5067, 5072, 5070, 5076, 5081, 5085, 5080, + 5130, 5137, 5138, 5139, 5246, 5250, 5254, 5262, 5266, 5261, + 5275, 5283, 5287, 5282, 5296, 5304, 5308, 5303, 5317, 5325, + 5329, 5324, 5338, 5345, 5357, 5355, 5378, 5385, 5415, 5454, + 5455, 5459, 5490, 5532, 5536, 5489, 5555, 5559, 5553, 5600, + 5599, 5607, 5614, 5629, 5630, 5635, 5634, 5644, 5643, 5653, + 5652, 5662, 5661, 5671, 5670, 5680, 5679, 5689, 5688, 5699, + 5792, 5798, 5823, 5930, 5939, 5943, 5950, 6025, 6097, 6173, + 6172, 6222, 6226, 6230, 6234, 6238, 6242, 6221, 6295, 6294, + 6302, 6309, 6314, 6322, 6326, 6321, 6336, 6337, 6341, 6343, + 6342, 6351, 6350, 6363, 6386, 6361, 6412, 6439, 6410, 6463, + 6464, 6465, 6469, 6470, 6474, 6503, 6535, 6579, 6583, 6533, + 6600, 6609, 6627, 6638, 6637, 6675, 6726, 6730, 6673, 6747, + 6751, 6758, 6762, 6766, 6770, 6774, 6778, 6782, 6786, 6790, + 6794, 6802, 6833, 6846, 6853, 6878, 6896, 6903, 6918, 6925, + 6935, 6939, 6958, 6966, 6934, 6981, 6996, 7000, 7001, 7005, + 7006, 7008, 7007, 7018, 7085, 7133, 7149, 7162, 7169, 7228, + 7236, 7240, 7235, 7301, 7305, 7300, 7318, 7319, 7324, 7323, + 7332, 7331, 7340, 7339, 7348, 7347 }; #endif @@ -1249,47 +1254,48 @@ static const char *const yytname[] = "$@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", - "map_type_spec", "$@91", "map_type", "sequence_type_spec", "$@92", - "$@93", "seq_head", "$@94", "$@95", "fixed_type_spec", - "string_type_spec", "$@96", "$@97", "string_head", "wstring_type_spec", - "$@98", "$@99", "wstring_head", "array_declarator", "$@100", - "at_least_one_array_dim", "array_dims", "array_dim", "$@101", "$@102", - "attribute", "attribute_readonly", "$@103", "$@104", "$@105", "$@106", - "attribute_readwrite", "$@107", "$@108", "$@109", "$@110", "exception", - "$@111", "@112", "$@113", "$@114", "operation", "$@115", "$@116", - "$@117", "$@118", "opt_op_attribute", "op_type_spec", "init_decl", - "$@119", "@120", "$@121", "init_parameter_list", "$@122", "$@123", - "at_least_one_in_parameter", "in_parameters", "$@124", "in_parameter", - "$@125", "$@126", "parameter_list", "$@127", "$@128", - "at_least_one_parameter", "parameters", "$@129", "parameter", "$@130", - "$@131", "param_type_spec", "direction", "opt_raises", "$@132", "$@133", - "opt_getraises", "$@134", "$@135", "opt_setraises", "$@136", "$@137", - "opt_context", "$@138", "$@139", "at_least_one_string_literal", - "string_literals", "$@140", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@141", "$@142", "$@143", - "component_header", "$@144", "$@145", "component_inheritance_spec", - "$@146", "component_exports", "component_export", "$@147", "$@148", - "$@149", "$@150", "$@151", "$@152", "$@153", "provides_decl", + "map_type_spec", "$@91", "$@92", "map_head", "$@93", "$@94", + "sequence_type_spec", "$@95", "$@96", "seq_head", "$@97", "$@98", + "fixed_type_spec", "string_type_spec", "$@99", "$@100", "string_head", + "wstring_type_spec", "$@101", "$@102", "wstring_head", + "array_declarator", "$@103", "at_least_one_array_dim", "array_dims", + "array_dim", "$@104", "$@105", "attribute", "attribute_readonly", + "$@106", "$@107", "$@108", "$@109", "attribute_readwrite", "$@110", + "$@111", "$@112", "$@113", "exception", "$@114", "@115", "$@116", + "$@117", "operation", "$@118", "$@119", "$@120", "$@121", + "opt_op_attribute", "op_type_spec", "init_decl", "$@122", "@123", + "$@124", "init_parameter_list", "$@125", "$@126", + "at_least_one_in_parameter", "in_parameters", "$@127", "in_parameter", + "$@128", "$@129", "parameter_list", "$@130", "$@131", + "at_least_one_parameter", "parameters", "$@132", "parameter", "$@133", + "$@134", "param_type_spec", "direction", "opt_raises", "$@135", "$@136", + "opt_getraises", "$@137", "$@138", "opt_setraises", "$@139", "$@140", + "opt_context", "$@141", "$@142", "at_least_one_string_literal", + "string_literals", "$@143", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@144", "$@145", "$@146", + "component_header", "$@147", "$@148", "component_inheritance_spec", + "$@149", "component_exports", "component_export", "$@150", "$@151", + "$@152", "$@153", "$@154", "$@155", "$@156", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@154", - "home_header", "$@155", "$@156", "$@157", "$@158", "$@159", "$@160", - "home_inheritance_spec", "$@161", "primary_key_spec", "home_body", - "$@162", "$@163", "home_exports", "home_export", "$@164", "$@165", - "factory_decl", "$@166", "$@167", "finder_decl", "$@168", "$@169", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@157", + "home_header", "$@158", "$@159", "$@160", "$@161", "$@162", "$@163", + "home_inheritance_spec", "$@164", "primary_key_spec", "home_body", + "$@165", "$@166", "home_exports", "home_export", "$@167", "$@168", + "factory_decl", "$@169", "$@170", "finder_decl", "$@171", "$@172", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@170", "$@171", "$@172", + "event_abs_forward_decl", "event_abs_decl", "$@173", "$@174", "$@175", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@173", "event_decl", "@174", "$@175", "$@176", + "event_rest_of_header", "$@176", "event_decl", "@177", "$@178", "$@179", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@177", "@178", "$@179", - "$@180", "at_least_one_port_export", "port_exports", "port_export", - "$@181", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@180", "@181", "$@182", + "$@183", "at_least_one_port_export", "port_exports", "port_export", + "$@184", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@182", "$@183", "connector_body", "$@184", "$@185", - "connector_exports", "connector_export", "$@186", "$@187", "$@188", - "$@189", YY_NULLPTR + "connector_header", "$@185", "$@186", "connector_body", "$@187", "$@188", + "connector_exports", "connector_export", "$@189", "$@190", "$@191", + "$@192", YY_NULLPTR }; static const char * @@ -1299,12 +1305,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-685) +#define YYPACT_NINF (-689) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-581) +#define YYTABLE_NINF (-584) #define yytable_value_is_error(Yyn) \ 0 @@ -1313,97 +1319,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -685, 90, 1482, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 41, 67, 68, 52, -685, 41, - 41, -685, 48, 48, -685, -685, 41, -685, -685, 33, - -685, 472, 71, 106, -685, -685, 6, -685, -685, -685, - -685, -685, -685, 566, -685, -685, -685, -685, -685, 1631, - 19, -685, -685, 121, -685, 132, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 122, -685, -685, -685, 122, -685, - -685, 72, 130, 2112, 48, 41, 1989, 41, 41, 41, - 41, -685, -685, -685, 77, 41, 80, -685, 86, 41, - -685, 122, 41, 139, 144, 41, -685, -685, 15, -685, - 59, 240, -685, 148, -685, 149, 170, 616, -685, -685, - -685, 172, 221, -685, 175, 179, 180, 88, -685, 133, - -685, -685, -685, -685, -685, -685, 181, -685, -685, -685, - 182, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, 189, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 132, -685, -685, -685, -685, 47, -685, -685, 183, -685, - 185, 191, 194, -685, 48, 184, 196, 199, -685, 201, - 202, 203, 204, 205, 209, 213, 210, -685, -685, -685, - 217, 219, -685, -685, -685, -685, 189, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 189, -685, -685, -685, - -685, -685, -685, -685, -685, 220, -685, 222, -685, -685, - 187, -685, 284, -685, -685, -685, -685, 49, -685, -685, - -685, 2112, -685, -685, -685, -685, 218, -685, -685, -685, - -685, 291, -685, -685, 50, 224, -685, -685, -685, -685, - -685, -685, -685, -685, 294, -685, 136, 223, -685, 226, - 273, -685, -685, -685, -685, -685, -685, 189, -685, -685, - 227, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 273, 229, 245, -685, -685, -685, 41, 41, 247, 248, - -685, -685, -685, 246, -685, 284, 251, -685, -685, -685, - -685, -685, 348, -685, 252, 254, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 178, 178, 178, 136, - 189, -685, -685, 249, 253, 255, 69, 92, 2, -685, - -685, -685, -685, -685, 48, -685, -685, -685, -685, 258, - -685, 1721, 261, -685, 48, -685, 136, 136, 136, 241, - -685, -685, -685, -685, -685, -685, -685, 162, -685, 1, - -685, -685, -685, -685, -685, -685, -685, -685, 48, 273, - -685, -685, -685, -685, 187, 1432, 1544, 259, 264, -685, - 616, -685, -685, -685, 257, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 263, 41, -685, 189, 1123, - -685, 842, 136, -685, -685, -685, 265, -685, -685, -685, - -685, 136, -685, 728, -685, -685, -685, 243, 1030, -685, - -685, -685, -685, 44, 308, 48, 48, -685, -685, -685, - -685, -685, 44, -685, 270, -685, 266, -685, 271, -685, - -685, 1217, 189, -685, 48, 273, -685, -685, -685, -685, - 279, -685, -685, 41, -685, -685, 280, 281, 376, 283, - -685, -685, 253, 255, 69, 92, 92, 2, 2, -685, - -685, -685, -685, -685, 285, -685, -685, -685, 288, -685, - -685, 1901, -685, -685, -685, -685, 2024, -685, -685, -685, - -685, -685, 290, -685, 1936, -685, -685, 1811, -685, 289, - 1721, 292, -685, 293, 296, 297, 301, -685, 269, -685, - 307, -685, -685, -685, 313, 319, 542, 48, 48, 48, - 385, -685, 323, -685, -685, -685, -685, -685, -685, -685, - 41, 41, -685, 326, -685, -685, -685, 1311, 936, 361, - 2077, -685, 189, 284, -685, -685, 62, 65, 303, 330, - 331, 284, 336, -685, -685, 4, -685, 57, -685, -685, - 335, 340, 189, -685, 343, 141, 1989, -685, 405, -685, - -685, -685, -685, 50, -685, 346, -685, 347, -685, 351, - 353, 355, 359, -685, 189, -685, -685, -685, -685, -685, - 360, 362, 442, -685, -685, -685, 364, -685, -685, 136, - 357, -685, -685, -685, 136, -685, 284, -685, 365, 41, - -685, -685, 460, 189, -685, -685, -685, -685, -685, -685, - 66, 66, 66, -685, 373, -685, 380, 382, 384, 386, - 387, 389, -685, -685, -685, 390, 392, 391, 398, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 136, - -685, -685, -685, 41, -685, 399, 388, 400, -685, 434, - 403, 141, -685, 406, 411, -685, 412, 136, 413, 1606, - -685, 48, -685, -685, -685, -685, -685, -685, 508, -685, - -685, -685, -685, 416, -685, -685, 301, 307, -685, -685, - 397, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 404, 404, -685, -685, -685, -685, 2077, 41, -685, - 136, 407, -685, -685, -685, -685, -685, -685, -685, 417, - -685, -685, -685, -685, -685, 48, -685, -685, -685, -685, - 422, 189, -685, 404, -685, -685, 423, -685, 477, -685, - -685, -685, -685, -685, -685, -685, -685, 48, -685, 189, - 425, 1361, -685, 415, -685, -685, 427, 418, 485, 488, - 488, 41, 476, 431, 420, -685, 189, 441, -685, -685, - 428, -685, 488, -685, -685, -685, 432, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 482, 545, 438, 197, - 488, -685, 81, 2077, -685, 446, 445, 488, 448, 497, - 41, 48, -685, -685, 462, -685, -685, -685, -685, -685, - 449, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 189, - -685, 463, -685, 464, 2077, 528, 473, 136, 469, 474, - 58, -685, 160, 41, 485, 48, 48, 458, 41, 545, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 1696, - -685, -685, -685, 479, 480, -685, -685, -685, 197, 41, - 483, 494, -685, -685, -685, -685, 48, -685, -685, -685, - -685, 41, 501, 484, 524, -685, -685, -685, -685, 486, - 499, -685, -685, 527, -685 + -689, 97, 1423, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 105, 108, 70, 102, -689, 105, + 105, -689, 54, 54, -689, -689, 105, -689, -689, 23, + -689, 298, 28, 38, -689, -689, -4, -689, -689, -689, + -689, -689, -689, 566, -689, -689, -689, -689, -689, 1625, + 42, -689, -689, 65, -689, 133, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 72, -689, -689, -689, 72, -689, + -689, 84, 87, 2106, 54, 105, 1983, 105, 105, 105, + 105, -689, -689, -689, 56, 105, 67, -689, 71, 105, + -689, 72, 105, 99, 101, 105, -689, -689, 10, -689, + 26, 199, -689, 106, -689, 121, 129, 473, -689, -689, + -689, 140, 192, -689, 167, 163, 170, 88, -689, 162, + -689, -689, -689, -689, -689, -689, 174, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, 186, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + 133, -689, -689, -689, 14, -689, 74, -689, -689, 179, + -689, 197, 201, 203, -689, 54, 205, 206, 208, -689, + 210, 213, 216, 218, 214, 220, 227, 230, -689, -689, + -689, 236, 241, -689, -689, -689, -689, 186, -689, -689, + -689, -689, -689, -689, -689, -689, -689, 186, -689, -689, + -689, -689, -689, -689, -689, -689, 242, -689, 237, -689, + -689, 212, -689, 338, -689, -689, -689, -689, 44, -689, + -689, -689, 2106, -689, -689, -689, -689, 246, -689, -689, + -689, -689, 339, -689, -689, 52, 248, -689, -689, -689, + -689, -689, -689, -689, -689, 342, -689, 131, 255, 256, + 310, -689, -689, -689, -689, -689, -689, -689, -689, 186, + -689, -689, 251, -689, -689, -689, -689, -689, -689, -689, + -689, -689, 310, 262, 264, -689, -689, -689, 105, 105, + 270, 271, -689, -689, -689, 268, -689, 338, 273, -689, + -689, -689, -689, -689, 369, -689, 272, 274, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 215, 215, + 215, 131, 186, -689, -689, 269, 275, 280, 125, 114, + 78, -689, -689, -689, -689, -689, 54, -689, -689, -689, + -689, 276, -689, -689, 54, -689, 131, 131, 131, 131, + 261, -689, -689, -689, -689, -689, -689, -689, 217, -689, + -13, -689, -689, -689, -689, -689, -689, -689, -689, 54, + 310, -689, -689, -689, -689, 212, 663, 1538, 277, 279, + -689, 473, -689, -689, -689, 284, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 285, 105, -689, 186, + 1123, -689, 842, 131, -689, 1715, -689, -689, -689, -689, + -689, 131, -689, 1488, -689, -689, -689, 200, 1030, -689, + -689, -689, -689, 49, 330, 54, 54, -689, -689, -689, + -689, -689, 49, -689, 291, -689, 290, -689, 292, -689, + -689, 1217, 186, -689, 54, 310, -689, -689, -689, -689, + 309, -689, -689, 105, -689, -689, 311, 313, 407, 317, + -689, -689, 275, 280, 125, 114, 114, 78, 78, -689, + -689, -689, -689, -689, 314, -689, -689, -689, 319, -689, + -689, 1895, -689, -689, -689, -689, 2018, -689, -689, -689, + -689, -689, 320, -689, 1930, -689, -689, 1805, -689, 315, + 1715, -689, 322, 323, 326, 327, 329, -689, 316, -689, + 331, -689, -689, -689, 336, 343, 542, 54, 54, 54, + 211, -689, 344, -689, -689, -689, -689, -689, -689, -689, + 105, 105, -689, 345, -689, -689, -689, 1311, 936, 398, + 2071, -689, 186, 338, -689, -689, 57, 60, 348, 349, + 351, 338, 352, -689, -689, -5, -689, 53, -689, -689, + 353, 355, 186, -689, 356, 75, 1983, -689, 411, -689, + -689, -689, -689, 52, -689, 354, -689, 359, -689, 360, + 361, 362, 364, -689, 186, -689, -689, -689, -689, -689, + 365, 368, 447, -689, -689, -689, 371, -689, -689, 366, + -689, -689, -689, -689, 131, -689, 338, -689, 381, 105, + -689, -689, 475, 186, -689, -689, -689, -689, -689, -689, + 69, 69, 69, -689, 384, -689, 389, 390, 392, 393, + 394, 395, -689, -689, -689, 401, 402, 396, 403, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 131, + -689, -689, -689, 105, -689, 404, 397, 409, -689, 442, + 412, 75, -689, 413, 415, -689, 416, 131, 417, 1600, + -689, 54, -689, -689, -689, -689, -689, -689, 514, -689, + -689, -689, -689, -689, -689, 329, 331, -689, -689, 405, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + 408, 408, -689, -689, -689, -689, 2071, 105, -689, 131, + 410, -689, -689, -689, -689, -689, -689, -689, 421, -689, + -689, -689, -689, -689, 54, -689, -689, -689, -689, 422, + 186, -689, 408, 1715, -689, 424, -689, 488, -689, -689, + -689, -689, -689, -689, -689, -689, 54, -689, 186, 426, + 1361, -689, 418, -689, -689, -689, 431, 419, 497, 498, + 498, 105, 484, 439, 430, -689, 186, 443, -689, -689, + 433, -689, 498, -689, -689, -689, 434, -689, -689, -689, + -689, -689, -689, -689, -689, -689, 493, 556, 445, 177, + 498, -689, 80, 2071, -689, 459, 449, 498, 450, 503, + 105, 54, -689, -689, 466, -689, -689, -689, -689, -689, + 453, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 186, + -689, 467, -689, 468, 2071, 532, 476, 131, 492, 496, + 58, -689, 150, 105, 497, 54, 54, 482, 105, 556, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 1690, + -689, -689, -689, 483, 485, -689, -689, -689, 177, 105, + 487, 495, -689, -689, -689, -689, 54, -689, -689, -689, + -689, 105, 502, 489, 526, -689, -689, -689, -689, 490, + 500, -689, -689, 530, -689 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1412,188 +1418,188 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, - 0, 508, 0, 0, 577, 597, 0, 6, 7, 42, + 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, + 0, 511, 0, 0, 580, 600, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, - 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, + 20, 14, 16, 28, 470, 469, 472, 30, 509, 32, + 541, 543, 542, 540, 77, 559, 560, 539, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, + 82, 77, 0, 476, 552, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, - 0, 370, 375, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 365, + 358, 373, 378, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 369, 248, - 374, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 550, 543, 552, - 0, 0, 600, 596, 39, 287, 160, 148, 152, 156, - 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 397, 73, 547, 74, 0, 548, 95, - 478, 509, 0, 464, 140, 465, 578, 0, 197, 43, - 25, 0, 563, 559, 560, 565, 562, 566, 564, 561, - 558, 0, 48, 570, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, - 99, 361, 358, 366, 371, 19, 11, 214, 13, 297, - 0, 21, 15, 17, 29, 470, 31, 520, 507, 33, - 99, 0, 0, 35, 37, 604, 0, 0, 0, 0, - 89, 476, 474, 517, 139, 0, 0, 598, 212, 200, - 4, 567, 0, 571, 0, 568, 186, 187, 188, 190, - 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, - 183, 595, 161, 162, 163, 165, 167, 169, 172, 175, - 179, 184, 594, 62, 0, 114, 105, 278, 196, 0, - 363, 0, 0, 213, 0, 93, 0, 0, 0, 217, - 213, 312, 481, 524, 551, 544, 553, 601, 149, 266, - 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, - 515, 510, 141, 579, 478, 0, 0, 3, 0, 49, - 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 592, 0, 76, 136, 0, - 113, 0, 0, 213, 357, 213, 0, 98, 359, 367, - 372, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 386, 391, 0, 502, 0, 0, 609, 384, 385, - 605, 607, 0, 611, 0, 603, 0, 213, 256, 213, - 302, 0, 477, 475, 0, 99, 585, 599, 204, 198, + 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, + 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, + 555, 0, 0, 603, 599, 39, 287, 160, 148, 152, + 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, + 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, + 95, 481, 512, 0, 467, 140, 468, 581, 0, 197, + 43, 25, 0, 566, 562, 563, 568, 565, 569, 567, + 564, 561, 0, 48, 573, 0, 0, 23, 96, 75, + 67, 27, 85, 271, 286, 277, 279, 0, 0, 0, + 99, 357, 354, 364, 361, 369, 374, 19, 11, 214, + 13, 297, 0, 21, 15, 17, 29, 473, 31, 523, + 510, 33, 99, 0, 0, 35, 37, 607, 0, 0, + 0, 0, 89, 479, 477, 520, 139, 0, 0, 601, + 212, 200, 4, 570, 0, 574, 0, 571, 186, 187, + 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, + 0, 0, 183, 598, 161, 162, 163, 165, 167, 169, + 172, 175, 179, 184, 597, 62, 0, 114, 105, 278, + 196, 0, 366, 213, 0, 93, 0, 0, 0, 0, + 217, 213, 312, 484, 527, 554, 547, 556, 604, 149, + 266, 232, 259, 260, 261, 267, 346, 401, 114, 0, + 99, 518, 513, 141, 582, 481, 0, 0, 3, 0, + 49, 0, 180, 181, 182, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 0, 76, 136, + 0, 113, 0, 0, 213, 0, 98, 355, 362, 370, + 375, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 389, 394, 0, 505, 0, 0, 612, 387, 388, + 608, 610, 0, 614, 0, 606, 0, 213, 256, 213, + 302, 0, 480, 478, 0, 99, 588, 602, 204, 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 569, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 406, 407, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 411, + 572, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 409, 410, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 213, 0, 0, 0, 137, 218, 0, 219, + 0, 359, 0, 0, 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 492, 0, 480, 482, 484, 486, 488, 490, 494, - 0, 0, 525, 0, 523, 526, 528, 0, 0, 0, - 0, 498, 497, 0, 501, 500, 0, 0, 0, 0, - 0, 0, 0, 602, 150, 0, 257, 0, 347, 352, - 213, 0, 516, 511, 584, 213, 0, 202, 210, 203, - 45, 572, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 410, 440, 437, 438, 439, 401, 409, - 0, 0, 0, 87, 112, 103, 0, 365, 364, 0, - 0, 360, 368, 373, 0, 216, 0, 220, 0, 0, + 0, 495, 0, 483, 485, 487, 489, 491, 493, 497, + 0, 0, 528, 0, 526, 529, 531, 0, 0, 0, + 0, 501, 500, 0, 504, 503, 0, 0, 0, 0, + 0, 0, 0, 605, 150, 0, 257, 0, 347, 352, + 213, 0, 519, 514, 587, 213, 0, 202, 210, 203, + 45, 575, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 413, 443, 440, 441, 442, 404, 412, + 0, 0, 0, 87, 112, 103, 0, 368, 367, 0, + 356, 363, 371, 376, 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 479, 0, 472, 0, 0, 0, 0, - 0, 0, 530, 533, 522, 0, 0, 0, 0, 387, - 392, 496, 590, 591, 610, 606, 608, 499, 612, 0, - 381, 377, 380, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 588, 0, 0, 583, 0, 0, 0, 0, - 593, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 412, 109, 0, 355, 223, 0, 222, 308, 305, - 0, 505, 503, 504, 493, 483, 485, 487, 489, 491, - 495, 0, 0, 527, 529, 546, 555, 0, 0, 151, - 0, 378, 258, 348, 350, 400, 512, 581, 582, 0, - 586, 587, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 402, 0, 356, 221, 0, 314, 415, 531, - 534, 388, 393, 265, 382, 379, 213, 0, 589, 58, - 0, 0, 57, 0, 413, 306, 0, 0, 0, 447, - 447, 0, 451, 262, 0, 351, 513, 0, 52, 54, - 428, 403, 447, 315, 416, 423, 0, 422, 444, 532, - 535, 389, 448, 394, 263, 383, 519, 0, 0, 0, - 447, 414, 0, 0, 418, 419, 0, 447, 0, 455, - 0, 0, 514, 576, 0, 575, 427, 441, 442, 443, - 0, 433, 434, 404, 330, 337, 335, 316, 326, 327, - 334, 424, 420, 445, 390, 449, 452, 395, 264, 518, - 59, 573, 429, 430, 0, 459, 0, 0, 0, 0, + 0, 0, 0, 482, 0, 475, 0, 0, 0, 0, + 0, 0, 533, 536, 525, 0, 0, 0, 0, 390, + 395, 499, 593, 594, 613, 609, 611, 502, 615, 0, + 384, 380, 383, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 591, 0, 0, 586, 0, 0, 0, 0, + 596, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 415, 109, 213, 223, 0, 222, 308, 305, 0, + 508, 506, 507, 496, 486, 488, 490, 492, 494, 498, + 0, 0, 530, 532, 549, 558, 0, 0, 151, 0, + 381, 258, 348, 350, 403, 515, 584, 585, 0, 589, + 590, 205, 209, 208, 0, 56, 42, 51, 55, 0, + 135, 405, 0, 0, 221, 0, 314, 418, 534, 537, + 391, 396, 265, 385, 382, 213, 0, 592, 58, 0, + 0, 57, 0, 416, 360, 306, 0, 0, 0, 450, + 450, 0, 454, 262, 0, 351, 516, 0, 52, 54, + 431, 406, 450, 315, 419, 426, 0, 425, 447, 535, + 538, 392, 451, 397, 263, 386, 522, 0, 0, 0, + 450, 417, 0, 0, 421, 422, 0, 450, 0, 458, + 0, 0, 517, 579, 0, 578, 430, 444, 445, 446, + 0, 436, 437, 407, 330, 337, 335, 316, 326, 327, + 334, 427, 423, 448, 393, 452, 455, 398, 264, 521, + 59, 576, 432, 433, 0, 462, 0, 0, 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, - 431, 435, 456, 405, 331, 338, 336, 317, 325, 0, - 333, 425, 421, 0, 0, 453, 60, 574, 0, 0, - 0, 0, 340, 328, 446, 450, 0, 432, 436, 457, - 339, 0, 0, 0, 0, 341, 329, 454, 463, 0, - 460, 458, 461, 0, 462 + 434, 438, 459, 408, 331, 338, 336, 317, 325, 0, + 333, 428, 424, 0, 0, 456, 60, 577, 0, 0, + 0, 0, 340, 328, 449, 453, 0, 435, 439, 460, + 339, 0, 0, 0, 0, 341, 329, 457, 466, 0, + 463, 461, 464, 0, 465 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -685, -685, 295, 298, 555, -629, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -596, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -155, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, 190, -685, - -685, 73, -685, -685, -685, 590, -685, -685, -685, -685, - -685, -685, -685, 593, -685, 192, -685, -685, -260, -685, - -685, 186, 103, -685, -685, -685, -293, -685, -370, -685, - -685, -685, -685, -685, -685, -685, -685, -340, -685, -685, - -22, -685, -685, -201, -10, -685, 17, -685, -685, -685, - -685, -198, -47, -236, -685, 228, 225, 216, -177, -162, - -142, -62, -685, -301, -685, -685, -685, -685, -685, -685, - -685, -685, 13, -76, 564, -685, -685, -685, -685, -82, - 3, 18, -685, 42, -685, -31, -311, -469, -685, -685, - -685, -2, -685, -685, -628, -138, -685, -685, -7, -685, - -66, -685, -685, -50, -45, -61, -57, -55, 250, -685, - -40, -685, -38, -685, -685, -685, -685, 193, 274, 137, - -685, -685, -685, -37, -685, -32, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -205, -685, -685, -685, -685, - -685, -206, -685, -685, -685, -685, -685, -685, -685, -41, - -685, -685, -685, -685, -685, -685, -685, -99, -685, -685, - -314, -685, -685, -685, -685, -685, -685, -685, -75, -685, - -685, -685, -70, -685, -685, -685, -685, -685, -685, -685, - -63, -685, -685, -333, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 21, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -636, -685, -685, -685, -685, -685, -194, -685, -685, -685, - -685, -685, -685, -685, -685, -217, -685, -685, -513, -685, - -684, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, 22, 23, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 278, -685, -685, 134, - -685, -685, -685, -685, -685, -685, -685, -338, 230, -335, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 587, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 277, -685, -685, -190, -685, -685, -685, -685, -685, - -685, -685, 0, -685, 306, -685, -685, 91, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685 + -689, -689, 296, 297, 561, -609, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -606, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -149, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 231, -689, + -689, 107, -689, -689, -689, 595, -689, -689, -689, -689, + -689, -689, -689, 597, -689, 238, -689, -689, -258, -689, + -689, 184, 109, -689, -689, -689, -325, -689, -370, -689, + -689, -689, -689, -689, -689, -689, -689, -340, -689, -689, + -22, -689, -689, -194, -10, -689, 16, -689, -689, -689, + -689, -192, -44, -230, -689, 222, 223, 221, -143, -117, + -175, -94, -689, -321, -689, -689, -689, -689, -689, -689, + -689, -689, 13, -86, 571, -689, -689, -689, -689, -74, + 7, 17, -689, 59, -689, -31, -392, -466, -689, -689, + -689, 15, -689, -689, -620, -138, -689, -689, -7, -689, + -66, -689, -689, -43, -42, -56, -55, -50, 250, -689, + -40, -689, -38, -689, -689, -689, -689, 187, 278, 136, + -689, -689, -689, -37, -689, -32, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -208, -689, -689, -689, -689, + -689, -209, -689, -689, -689, -689, -689, -689, -689, -41, + -689, -689, -689, -689, -689, -689, -689, -111, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -75, -689, -689, -689, -70, -689, -689, -689, -689, + -689, -689, -689, -73, -689, -689, -337, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, 18, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -637, -689, -689, -689, -689, -689, -197, + -689, -689, -689, -689, -689, -689, -689, -689, -233, -689, + -689, -521, -689, -688, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 20, 22, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 299, + -689, -689, 128, -689, -689, -689, -689, -689, -689, -689, + -324, 219, -317, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 582, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 294, -689, -689, -195, -689, -689, + -689, -689, -689, -689, -689, -9, -689, 324, -689, -689, + 82, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, - 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, - 314, 469, 679, 760, 738, 761, 739, 740, 777, 858, - 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, - 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, - 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, - 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, - 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, - 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, - 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, - 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, - 52, 370, 448, 663, 371, 752, 773, 810, 372, 373, + 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, + 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, + 82, 29, 84, 30, 115, 312, 467, 31, 32, 117, + 316, 469, 679, 759, 737, 760, 738, 739, 777, 858, + 33, 118, 407, 34, 35, 124, 347, 488, 36, 85, + 37, 151, 346, 38, 39, 40, 126, 348, 502, 41, + 228, 378, 571, 42, 270, 43, 102, 259, 355, 44, + 45, 412, 503, 606, 504, 505, 410, 411, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 408, 484, 681, + 332, 233, 307, 109, 370, 46, 490, 83, 298, 446, + 659, 208, 333, 350, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 351, 48, 311, 386, 462, 576, 463, + 464, 678, 491, 50, 310, 360, 422, 518, 519, 617, + 520, 492, 86, 219, 299, 220, 154, 155, 156, 157, + 52, 371, 448, 663, 372, 751, 773, 810, 373, 374, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, - 619, 746, 618, 55, 88, 56, 280, 426, 700, 766, + 53, 87, 54, 188, 361, 524, 424, 525, 621, 523, + 619, 745, 618, 55, 88, 56, 282, 426, 699, 766, 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, - 89, 298, 449, 665, 568, 666, 756, 569, 173, 269, - 352, 174, 356, 513, 175, 267, 413, 176, 177, 357, - 514, 178, 179, 358, 515, 180, 374, 447, 661, 721, - 662, 720, 774, 493, 438, 549, 717, 771, 807, 439, - 550, 718, 772, 809, 494, 90, 299, 450, 667, 495, - 688, 763, 800, 845, 496, 598, 508, 602, 743, 782, - 749, 767, 768, 786, 805, 854, 787, 803, 853, 781, - 798, 799, 820, 843, 878, 821, 844, 879, 599, 822, - 789, 806, 855, 793, 808, 856, 837, 857, 886, 863, - 880, 894, 899, 900, 903, 497, 498, 63, 64, 65, - 193, 362, 532, 66, 230, 379, 302, 378, 427, 533, - 636, 637, 638, 639, 640, 634, 641, 534, 553, 535, - 442, 555, 536, 537, 538, 67, 195, 68, 105, 303, - 455, 669, 757, 796, 381, 454, 812, 288, 363, 543, - 428, 544, 645, 646, 545, 711, 769, 546, 712, 770, - 69, 70, 71, 72, 73, 291, 429, 647, 74, 75, - 76, 198, 290, 77, 292, 430, 648, 78, 251, 252, - 315, 253, 814, 841, 815, 79, 111, 306, 456, 670, - 574, 575, 675, 729, 539, 255, 405, 342, 80, 81, - 112, 384, 203, 295, 444, 367, 445, 559, 560, 558, - 562 + 89, 300, 449, 665, 568, 666, 755, 569, 173, 356, + 512, 174, 269, 609, 175, 357, 513, 176, 268, 414, + 177, 178, 358, 514, 179, 180, 359, 515, 181, 375, + 447, 661, 720, 662, 719, 774, 493, 438, 549, 716, + 771, 807, 439, 550, 717, 772, 809, 494, 90, 301, + 450, 667, 495, 688, 762, 800, 845, 496, 598, 508, + 602, 742, 782, 748, 767, 768, 786, 805, 854, 787, + 803, 853, 781, 798, 799, 820, 843, 878, 821, 844, + 879, 599, 822, 789, 806, 855, 793, 808, 856, 837, + 857, 886, 863, 880, 894, 899, 900, 903, 497, 498, + 63, 64, 65, 194, 363, 532, 66, 231, 380, 304, + 379, 427, 533, 636, 637, 638, 639, 640, 634, 641, + 534, 553, 535, 442, 555, 536, 537, 538, 67, 196, + 68, 105, 305, 455, 669, 756, 796, 382, 454, 812, + 290, 364, 543, 428, 544, 645, 646, 545, 710, 769, + 546, 711, 770, 69, 70, 71, 72, 73, 293, 429, + 647, 74, 75, 76, 199, 292, 77, 294, 430, 648, + 78, 252, 253, 317, 254, 814, 841, 815, 79, 111, + 308, 456, 670, 574, 575, 675, 728, 539, 256, 406, + 344, 80, 81, 112, 385, 204, 297, 444, 368, 445, + 559, 560, 558, 562 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1601,314 +1607,313 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, - 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, - 51, 152, 211, 60, 61, 62, 212, 595, 213, 440, - 364, 304, 441, 209, 437, 722, 237, 650, 210, 416, - 414, 506, 254, 311, 91, 172, 168, 106, 169, 170, - 736, 106, 307, 106, 171, 418, 419, 420, 542, 824, - 664, 206, 216, 551, 152, 652, 47, 51, 653, 106, - 60, 61, 62, 8, 8, 217, 750, 220, 221, 222, - 223, 595, 824, 737, 451, 225, 790, 825, 826, 228, - 4, 233, 229, 394, 531, 231, 262, -376, 801, 263, - 184, 511, 18, -144, 382, 234, 99, 764, 122, 123, - 825, 826, 402, 403, 404, 184, 823, -376, 18, 453, - 660, 588, 95, 834, 316, 317, 318, 319, 320, 321, - 322, 323, 736, 114, 107, 235, 547, 506, 107, 106, - 107, 264, 265, 324, 325, 184, 184, 197, 271, 234, - 272, 197, 234, 184, 188, 234, 234, -324, 326, 327, - 398, 399, 277, 328, 329, 737, 214, 224, 119, 226, - 202, 215, 431, 432, -145, 208, 509, -146, 506, 122, - 211, 106, 122, -100, 212, 517, 213, 461, 122, 825, - 826, 209, 351, 431, 432, 573, 210, 531, 610, 608, - 400, 401, 433, 120, 751, 94, 96, 434, 98, 101, - 316, 317, 318, 319, 320, 321, 322, 323, -342, 206, - 516, 475, 476, 433, 122, 871, 107, 204, 434, 324, - 325, 435, 436, 817, 818, 819, -468, 673, 477, 478, - 674, -541, 672, 236, 326, 327, 238, 239, 595, 328, - 329, 888, 316, 317, 318, 319, 320, 321, 322, 323, - 479, 480, 481, 895, 391, 392, 393, 240, 107, 256, - 257, 324, 325, 259, 431, 432, 260, 351, 261, 234, - -212, 266, 268, 273, 423, 274, 368, 106, 275, 301, - 831, 276, 329, 278, 313, 527, 528, 279, 281, 282, - 283, 284, 347, 285, 433, 529, 286, 289, 693, 434, - 214, 287, 435, 436, 293, 215, 294, -542, 312, 208, - 300, 354, 408, 350, 211, 343, 353, 365, 212, 152, - 213, 861, 408, 673, 595, 209, 674, 510, 672, 351, - 210, 361, -471, 366, 466, 375, 376, 332, 380, 383, - 526, 388, 651, 389, 395, 421, 452, 390, -44, 396, - 657, 412, 397, 206, 415, 468, 482, 554, 512, 563, - 564, 565, 471, 567, 566, 595, 577, 579, 695, 581, - 580, 582, 172, 168, 615, 169, 170, 586, 584, 603, - 607, 171, 522, 649, 611, 609, 483, 612, 613, 49, - 654, 152, 460, 47, 51, 614, 583, 60, 61, 62, - 616, 552, 620, 556, 557, 696, 431, 432, -300, 754, - 552, 596, 635, 332, 507, 644, 597, 655, 656, 701, - 702, 703, 572, 658, -399, 677, 351, 527, 528, 668, - 530, 733, -580, 682, 683, 691, 433, 529, 684, 423, - 685, 434, 686, 578, 435, 436, 687, 689, 694, 690, - 624, 692, 698, 172, 168, 625, 169, 170, 262, 626, - 704, 627, 171, 522, 594, 596, -47, 705, -47, 706, - 597, 707, 152, 708, 709, 629, 710, 713, 152, 714, - 715, 724, -47, -47, 423, -47, -47, 716, 723, 725, - -47, 726, 727, 730, 623, 630, 631, 632, 731, 732, - 734, 742, 747, -417, 758, 873, 874, 744, 748, 762, - 765, 785, -47, 660, 778, 783, -47, 788, 594, 780, - 642, 643, 792, 784, 794, 172, 168, 795, 169, 170, - -47, 797, 811, -426, 171, 106, 893, 804, 813, 832, - 622, 128, 129, 816, 152, 132, 133, 134, 135, 833, - 836, 507, 835, 840, 842, 12, 859, 860, 862, 106, - 864, 866, 875, 867, 127, 128, 129, 130, 131, 132, + 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, + 104, 171, 153, 216, 416, 49, 113, 209, 47, 51, + 60, 152, 61, 511, 62, 334, 238, 212, 213, 650, + 595, 437, 255, 214, 365, 417, 418, 419, 420, 306, + 210, 211, 506, 721, 440, 172, 168, 309, 169, 170, + 313, 441, 106, 451, 171, 106, 664, 106, 542, 824, + 652, 207, 217, 653, 152, 47, 51, 60, 551, 61, + 735, 62, 106, 736, 749, 218, 8, 221, 222, 223, + 224, 824, 790, -379, 595, 226, 234, 825, 826, 229, + 531, 185, 230, -144, 801, 232, 263, 4, 122, 264, + 235, 395, 236, -379, 547, 763, 431, 432, 91, 825, + 826, 660, 823, 383, 8, 271, 235, 272, 608, 834, + 18, 588, 453, 114, 95, 119, 318, 319, 320, 321, + 322, 323, 324, 325, 106, 120, 433, 506, 185, 107, + 185, 434, 107, 123, 107, 326, 327, 235, 185, 185, + 235, 735, 18, -145, 736, 189, 99, -324, 122, 235, + 328, 329, -342, 279, -146, 330, 331, 215, -100, 122, + 265, 266, 216, 122, 122, 273, 209, 274, 506, 825, + 826, 198, 203, 509, 205, 198, 212, 213, 403, 404, + 405, 517, 214, 531, 461, 750, -471, 573, -544, 210, + 211, 225, 237, 227, 239, 318, 319, 320, 321, 322, + 323, 324, 325, 817, 818, 819, 399, 400, 106, 240, + 207, 107, 401, 402, 326, 327, 241, 516, 479, 480, + 481, 431, 432, 871, 392, 393, 394, 257, 672, 328, + 329, 258, 431, 432, 330, 331, 94, 96, 431, 432, + 595, 673, 527, 528, 98, 101, 475, 476, 674, 888, + 261, 433, 529, 527, 528, 260, 434, 415, 262, 435, + 436, 895, 433, 529, 267, 423, 235, 434, 433, 275, + 435, 436, 831, 434, 477, 478, 435, 436, 369, 318, + 319, 320, 321, 322, 323, 324, 325, 276, 277, -474, + 278, -212, -47, 280, -47, 107, 281, 283, 326, 327, + 284, 215, 287, 285, 303, 286, 216, 288, -47, -47, + 209, -47, -47, 861, 409, 289, -47, 291, 510, 331, + 212, 213, 409, 295, 672, 302, 214, 595, 296, -545, + 526, 106, 315, 210, 211, 466, 314, 673, -47, 345, + 349, 764, -47, 334, 674, 352, 353, 452, 354, 651, + 366, 565, 367, 567, 207, 362, -47, 657, 376, 377, + 381, 384, 389, 390, 396, 421, -44, 391, 595, 413, + 468, 397, 172, 168, 694, 169, 170, 398, 482, 554, + 563, 171, 522, 152, 564, 566, 583, 483, 753, 471, + 49, 152, 460, 47, 51, 60, 577, 61, 579, 62, + 581, 552, 580, 556, 557, 582, 607, 584, 586, 603, + 552, 596, 695, 610, 611, 507, 597, 612, 613, 334, + 649, 615, 572, 614, 616, 620, 700, 701, 702, 423, + 530, 677, -300, 635, 644, 654, 655, 732, 656, 658, + 691, 682, -402, 578, 668, -583, 683, 684, 685, 686, + 624, 687, 689, 172, 168, 690, 169, 170, 692, 693, + 625, 626, 171, 522, 594, 596, 627, 242, 697, 243, + 597, 703, 152, 263, 423, 629, 704, 705, 152, 706, + 707, 708, 709, 244, 245, 714, 246, 247, 712, 713, + 723, 248, 715, 722, 623, 630, 631, 632, 724, 725, + 729, 726, 730, 731, 733, 873, 874, 741, 757, 761, + 746, 765, 747, 249, -420, 778, 660, 250, 594, 783, + 642, 643, 780, 785, 784, 172, 168, 788, 169, 170, + 792, 251, 794, 797, 171, 106, 893, 795, -429, 804, + 622, 128, 129, 811, 152, 132, 133, 134, 135, 813, + 816, 507, 832, 833, 835, 12, 836, 840, 842, 106, + 859, 860, 862, 864, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, - 139, 140, 141, 142, 884, 885, 890, 889, 896, 897, - 898, 901, 902, 904, 183, 386, 779, 100, 387, 97, - 605, 865, 719, 474, 185, 745, 548, 699, 676, 697, - 241, 473, 242, 472, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 791, 425, 465, 243, 244, 184, 245, - 246, 604, 596, 570, 247, 868, 870, 597, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 775, 755, 741, - 872, 887, 457, -101, 633, 199, 248, 470, 122, 877, - 249, 728, 561, 443, 680, 0, 0, 0, 0, 0, - 567, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 594, 47, 51, 0, 0, - 60, 61, 62, 0, 0, 0, 0, 0, 92, 0, - 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 596, 521, - 0, 106, 0, 597, 0, 776, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 0, 0, - 0, 92, 0, 0, 753, 0, 0, 0, 0, 596, - 0, 0, 0, 0, 597, 869, 0, 0, 47, 51, - 0, 594, 60, 61, 62, 0, 0, 0, 0, 839, + 139, 140, 141, 142, 866, 867, 875, 890, 884, 896, + 885, 889, 898, 902, 897, 901, 904, 743, 387, 388, + 184, 779, 100, 97, 548, 718, 605, 865, 472, 474, + 473, 186, 744, 696, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 791, 698, 676, 465, 570, 185, 425, + 604, 596, 868, 870, 775, 887, 597, 754, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 872, 633, 740, + 200, 561, 727, -101, 877, 680, 106, 6, 122, 567, + 458, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 206, 137, 0, 0, 457, 470, 12, 0, 0, 141, + 142, 0, 443, 0, 594, 47, 51, 60, 0, 61, + 0, 62, 0, 0, 0, 0, 0, 92, 0, 0, + 752, 0, 758, 0, 0, 0, 0, 0, 0, 0, + 0, 152, 0, 0, 0, 0, 0, 0, 596, 0, + 0, 0, 0, 597, 776, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, + 0, 92, 459, 0, 752, 869, 0, 0, 0, 596, + 0, 0, 0, 0, 597, 0, 47, 51, 60, 0, + 61, 594, 62, 0, 0, 0, 0, 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, - 0, 0, 594, 0, 184, 0, 0, 0, 172, 168, - 0, 169, 170, 408, 408, 0, 0, 171, 882, 0, - 0, 0, 0, 485, 0, -408, 6, 152, 876, 9, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 10, 11, 408, 12, 0, 0, -408, -408, - 13, 0, 0, 431, 432, 486, 487, -408, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 594, 0, 0, 0, 0, 0, 172, 168, + 0, 169, 170, 409, 409, 0, 0, 171, 882, 0, + 0, 0, 0, 485, 0, -411, 6, 152, 876, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 409, 12, 0, 0, -411, -411, + 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 0, 0, 0, 0, 485, -213, -408, - 6, -86, 0, 9, -408, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, - 0, 0, -408, -408, 13, 0, 0, 431, 432, 486, - 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 0, 0, 0, 0, 485, -213, -411, + 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 431, 432, 486, + 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, - 0, 485, -213, -408, 6, -554, 0, 9, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - 10, 11, 0, 12, 0, 0, -408, -408, 13, 0, - 0, 431, 432, 486, 487, -408, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 0, 0, 0, + 0, 485, -213, -411, 6, -557, 0, 9, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + 10, 11, 0, 12, 0, 0, -411, -411, 13, 0, + 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 0, 0, 0, 485, 0, -408, 6, 0, -521, - 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, - -408, 13, 0, 0, 431, 432, 486, 487, -408, 0, + 0, 0, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 0, 0, 0, 485, 0, -411, 6, 0, -524, + 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, + -411, 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, - -408, -408, -408, -408, 0, 0, 0, 0, 485, -213, - -408, 6, -68, 0, 9, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, - 12, 0, 0, -408, -408, 13, 0, 0, 431, 432, - 486, 487, -408, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 0, 0, 0, 0, 485, -213, + -411, 6, -68, 0, 9, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, + 12, 0, 0, -411, -411, 13, 0, 0, 431, 432, + 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, - -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, - 0, 0, 485, -213, -408, 6, -90, 0, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, + 0, 0, 485, -213, -411, 6, -90, 0, 9, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, + 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 14, 15, 16, 17, 0, -213, 0, 0, - -545, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 24, 25, 735, 106, 6, 0, 0, 458, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 137, 0, 0, 0, 0, 12, 26, 0, 141, 142, - -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 14, 15, 16, 17, 0, -213, 0, 0, + -548, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, -2, 5, 22, 23, 6, 7, 8, + 9, 0, 24, 25, 734, 0, 0, 0, 0, 0, + 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 26, 0, 0, 0, + -53, 0, 0, 0, 14, 15, 16, 17, 0, 0, + 0, 0, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 521, + 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 5, 0, 0, 6, 7, 8, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, + 15, 16, 17, 0, 185, 0, 0, 0, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, + 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, + 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, + 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, + 0, 24, 25, 734, 0, 18, 19, 0, 0, 20, + 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 106, 0, + 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 0, 0, 0, 0, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 14, 15, 16, 17, 0, 0, 0, - 0, 459, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 26, -213, 0, - 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 5, 22, 23, - 6, 7, 8, 9, 0, 24, 25, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, - 0, 0, 5, 0, 13, 6, 7, 8, 9, 26, - -213, 0, 0, 0, 0, 0, 0, 14, 15, 16, - 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 22, 23, 14, 15, 16, 17, 0, 24, 25, 735, - 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, - 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 0, 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 485, 0, -411, 6, + 0, 185, 9, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, + 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, + -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 485, 0, -411, 6, + 0, 0, 9, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, + 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, + -411, 521, 0, 106, 0, 0, 14, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 106, 0, 0, 0, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, + 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, + 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, + 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, + 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 206, 0, 0, 0, 0, 0, 0, + 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, - 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 485, 0, -408, 6, 0, 184, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 485, 0, -408, 6, 0, 0, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 521, 0, 106, - 0, 0, 14, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, - 141, 142, 0, 0, 0, 0, 0, 0, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, + 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107 + 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, - 2, 43, 83, 2, 2, 2, 83, 496, 83, 367, - 290, 232, 367, 83, 367, 663, 112, 550, 83, 353, - 351, 411, 118, 241, 3, 86, 86, 3, 86, 86, - 679, 3, 3, 3, 86, 356, 357, 358, 428, 1, - 3, 83, 84, 19, 86, 3, 49, 49, 3, 3, - 49, 49, 49, 6, 6, 85, 712, 87, 88, 89, - 90, 550, 1, 679, 377, 95, 770, 29, 30, 99, - 0, 76, 102, 329, 427, 105, 8, 96, 782, 11, - 96, 415, 50, 97, 305, 90, 54, 743, 102, 36, - 29, 30, 110, 111, 112, 96, 800, 116, 50, 379, - 116, 491, 54, 807, 74, 75, 76, 77, 78, 79, - 80, 81, 761, 100, 90, 76, 429, 507, 90, 3, - 90, 8, 9, 93, 94, 96, 96, 74, 101, 90, - 103, 78, 90, 96, 22, 90, 90, 99, 108, 109, - 91, 92, 184, 113, 114, 761, 241, 94, 97, 96, - 98, 241, 31, 32, 97, 241, 412, 97, 548, 102, - 241, 3, 102, 97, 241, 421, 241, 385, 102, 29, - 30, 241, 268, 31, 32, 455, 241, 530, 512, 510, - 108, 109, 61, 97, 717, 15, 16, 66, 16, 17, - 74, 75, 76, 77, 78, 79, 80, 81, 97, 241, - 421, 398, 399, 61, 102, 853, 90, 97, 66, 93, - 94, 69, 70, 36, 37, 38, 97, 575, 400, 401, - 575, 97, 575, 3, 108, 109, 98, 98, 717, 113, - 114, 879, 74, 75, 76, 77, 78, 79, 80, 81, - 402, 403, 404, 891, 326, 327, 328, 97, 90, 97, - 49, 93, 94, 98, 31, 32, 97, 353, 98, 90, - 96, 100, 100, 100, 360, 100, 296, 3, 97, 102, - 803, 97, 114, 97, 3, 52, 53, 98, 97, 97, - 97, 97, 8, 98, 61, 62, 97, 97, 609, 66, - 385, 98, 69, 70, 97, 385, 97, 97, 100, 385, - 98, 48, 344, 100, 385, 101, 100, 98, 385, 351, - 385, 844, 354, 671, 803, 385, 671, 413, 671, 415, - 385, 114, 99, 98, 385, 98, 98, 583, 102, 98, - 426, 3, 553, 101, 105, 114, 378, 103, 99, 106, - 561, 103, 107, 385, 103, 101, 103, 59, 103, 99, - 104, 447, 115, 449, 103, 844, 97, 97, 614, 3, - 99, 98, 423, 423, 115, 423, 423, 99, 103, 99, - 101, 423, 423, 32, 101, 103, 406, 101, 101, 386, - 97, 423, 385, 386, 386, 104, 482, 386, 386, 386, - 103, 433, 99, 435, 436, 616, 31, 32, 99, 720, - 442, 496, 99, 659, 411, 99, 496, 97, 97, 630, - 631, 632, 454, 97, 99, 30, 512, 52, 53, 99, - 427, 677, 99, 97, 97, 3, 61, 62, 97, 525, - 97, 66, 97, 463, 69, 70, 97, 97, 101, 97, - 526, 97, 97, 504, 504, 526, 504, 504, 8, 526, - 97, 526, 504, 504, 496, 550, 4, 97, 6, 97, - 550, 97, 504, 97, 97, 526, 97, 97, 510, 97, - 99, 103, 20, 21, 570, 23, 24, 99, 99, 99, - 28, 67, 99, 97, 526, 527, 528, 529, 97, 97, - 97, 3, 115, 36, 97, 855, 856, 101, 114, 97, - 97, 36, 50, 116, 99, 98, 54, 39, 550, 114, - 540, 541, 56, 115, 103, 576, 576, 117, 576, 576, - 68, 100, 60, 115, 576, 3, 886, 115, 3, 103, - 8, 9, 10, 115, 576, 13, 14, 15, 16, 114, - 63, 548, 114, 101, 115, 23, 103, 103, 40, 3, - 97, 102, 114, 99, 8, 9, 10, 11, 12, 13, + 20, 43, 43, 83, 354, 2, 26, 83, 2, 2, + 2, 43, 2, 415, 2, 255, 112, 83, 83, 550, + 496, 368, 118, 83, 292, 356, 357, 358, 359, 233, + 83, 83, 412, 663, 368, 86, 86, 3, 86, 86, + 242, 368, 3, 378, 86, 3, 3, 3, 428, 1, + 3, 83, 84, 3, 86, 49, 49, 49, 19, 49, + 679, 49, 3, 679, 711, 85, 6, 87, 88, 89, + 90, 1, 770, 96, 550, 95, 76, 29, 30, 99, + 427, 96, 102, 97, 782, 105, 8, 0, 102, 11, + 90, 331, 76, 116, 429, 742, 31, 32, 3, 29, + 30, 116, 800, 307, 6, 101, 90, 103, 510, 807, + 50, 491, 380, 100, 54, 97, 74, 75, 76, 77, + 78, 79, 80, 81, 3, 97, 61, 507, 96, 90, + 96, 66, 90, 36, 90, 93, 94, 90, 96, 96, + 90, 760, 50, 97, 760, 22, 54, 99, 102, 90, + 108, 109, 97, 185, 97, 113, 114, 242, 97, 102, + 8, 9, 242, 102, 102, 101, 242, 103, 548, 29, + 30, 74, 98, 413, 97, 78, 242, 242, 110, 111, + 112, 421, 242, 530, 386, 716, 97, 455, 97, 242, + 242, 94, 3, 96, 98, 74, 75, 76, 77, 78, + 79, 80, 81, 36, 37, 38, 91, 92, 3, 98, + 242, 90, 108, 109, 93, 94, 97, 421, 403, 404, + 405, 31, 32, 853, 328, 329, 330, 97, 575, 108, + 109, 49, 31, 32, 113, 114, 15, 16, 31, 32, + 716, 575, 52, 53, 16, 17, 399, 400, 575, 879, + 97, 61, 62, 52, 53, 98, 66, 353, 98, 69, + 70, 891, 61, 62, 100, 361, 90, 66, 61, 100, + 69, 70, 803, 66, 401, 402, 69, 70, 298, 74, + 75, 76, 77, 78, 79, 80, 81, 100, 97, 99, + 97, 96, 4, 97, 6, 90, 98, 97, 93, 94, + 97, 386, 98, 97, 102, 97, 386, 97, 20, 21, + 386, 23, 24, 844, 346, 98, 28, 97, 414, 114, + 386, 386, 354, 97, 671, 98, 386, 803, 97, 97, + 426, 3, 3, 386, 386, 386, 100, 671, 50, 101, + 8, 743, 54, 583, 671, 100, 100, 379, 48, 553, + 98, 447, 98, 449, 386, 114, 68, 561, 98, 98, + 102, 98, 3, 101, 105, 114, 99, 103, 844, 103, + 101, 106, 423, 423, 614, 423, 423, 107, 103, 59, + 99, 423, 423, 415, 104, 103, 482, 407, 719, 115, + 387, 423, 386, 387, 387, 387, 97, 387, 97, 387, + 3, 433, 99, 435, 436, 98, 101, 103, 99, 99, + 442, 496, 616, 101, 101, 412, 496, 101, 101, 659, + 32, 115, 454, 104, 103, 99, 630, 631, 632, 525, + 427, 30, 99, 99, 99, 97, 97, 677, 97, 97, + 3, 97, 99, 463, 99, 99, 97, 97, 97, 97, + 526, 97, 97, 504, 504, 97, 504, 504, 97, 103, + 526, 526, 504, 504, 496, 550, 526, 4, 97, 6, + 550, 97, 504, 8, 570, 526, 97, 97, 510, 97, + 97, 97, 97, 20, 21, 99, 23, 24, 97, 97, + 103, 28, 99, 99, 526, 527, 528, 529, 99, 67, + 97, 99, 97, 97, 97, 855, 856, 3, 97, 97, + 115, 97, 114, 50, 36, 99, 116, 54, 550, 98, + 540, 541, 114, 36, 115, 576, 576, 39, 576, 576, + 56, 68, 103, 100, 576, 3, 886, 117, 115, 115, + 8, 9, 10, 60, 576, 13, 14, 15, 16, 3, + 115, 548, 103, 114, 114, 23, 63, 101, 115, 3, + 103, 103, 40, 97, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 24, 25, 26, 27, 115, 115, 102, 114, 97, 115, - 76, 115, 103, 76, 49, 310, 761, 17, 310, 16, - 507, 847, 659, 397, 50, 697, 430, 619, 576, 616, - 4, 396, 6, 395, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 771, 360, 385, 20, 21, 96, 23, - 24, 504, 717, 450, 28, 850, 852, 717, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 756, 721, 681, - 854, 878, 384, 97, 530, 78, 50, 390, 102, 859, - 54, 671, 442, 367, 583, -1, -1, -1, -1, -1, - 756, -1, -1, -1, 68, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 717, 679, 679, -1, -1, - 679, 679, 679, -1, -1, -1, -1, -1, 718, -1, - -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 803, 1, - -1, 3, -1, 803, -1, 757, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, -1, -1, - -1, 771, -1, -1, 771, -1, -1, -1, -1, 844, - -1, -1, -1, -1, 844, 851, -1, -1, 761, 761, - -1, 803, 761, 761, 761, -1, -1, -1, -1, 811, + 24, 25, 26, 27, 102, 99, 114, 102, 115, 97, + 115, 114, 76, 103, 115, 115, 76, 693, 312, 312, + 49, 760, 17, 16, 430, 659, 507, 847, 396, 398, + 397, 50, 696, 616, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 771, 619, 576, 386, 450, 96, 361, + 504, 716, 850, 852, 755, 878, 716, 720, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 854, 530, 681, + 78, 442, 671, 97, 859, 583, 3, 4, 102, 755, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, -1, -1, 385, 391, 23, -1, -1, 26, + 27, -1, 368, -1, 716, 679, 679, 679, -1, 679, + -1, 679, -1, -1, -1, -1, -1, 717, -1, -1, + 717, -1, 734, -1, -1, -1, -1, -1, -1, -1, + -1, 743, -1, -1, -1, -1, -1, -1, 803, -1, + -1, -1, -1, 803, 756, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 771, 99, -1, 771, 851, -1, -1, -1, 844, + -1, -1, -1, -1, 844, -1, 760, 760, 760, -1, + 760, 803, 760, -1, -1, -1, -1, -1, -1, 811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, 844, -1, 96, -1, -1, -1, 869, 869, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 844, -1, -1, -1, -1, -1, 869, 869, -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, @@ -1968,85 +1973,84 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, 71, 72, 73, 3, 4, -1, -1, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, -1, -1, -1, -1, 23, 95, -1, 26, 27, - 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, -1, 4, 5, 6, 7, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 41, 42, 43, 44, -1, -1, -1, - -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, -1, 1, 64, 65, 4, 5, - 6, 7, -1, 71, 72, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - -1, -1, 28, -1, -1, -1, -1, 95, 96, -1, - -1, -1, -1, -1, -1, 41, 42, 43, 44, -1, - -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, - -1, 57, -1, -1, -1, -1, -1, 1, 64, 65, - 4, 5, 6, 7, -1, 71, 72, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, - -1, -1, 1, -1, 28, 4, 5, 6, 7, 95, - 96, -1, -1, -1, -1, -1, -1, 41, 42, 43, - 44, 20, 21, -1, 23, -1, 50, 51, -1, 28, - 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, - 64, 65, 41, 42, 43, 44, -1, 71, 72, 73, - -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, - -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, 26, 27, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, 1, 64, 65, 4, 5, 6, + 7, -1, 71, 72, 73, -1, -1, -1, -1, -1, + -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, + -1, 28, -1, -1, -1, -1, 95, -1, -1, -1, + 99, -1, -1, -1, 41, 42, 43, 44, -1, -1, + -1, -1, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, + -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 1, -1, 3, 4, -1, 96, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, + 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, + -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, + 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, + 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, + 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, + -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, + -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, + -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, 24, 25, 26, 27, 3, -1, + 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, -1, -1, -1, -1, 24, + 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 1, -1, 3, 4, -1, -1, 7, 8, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, -1, -1, 96, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, + -1, 96, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, + -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, 1, -1, 3, -1, -1, 41, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, 24, 25, 26, 27, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, + -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, 1, -1, 3, - -1, -1, 41, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, + 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, + -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, + -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, - 26, 27, -1, -1, -1, -1, -1, -1, -1, 35, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, -1, -1, 26, 27, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90 + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2059,91 +2063,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 362, 413, 414, 415, 416, 417, 421, 443, 445, 468, - 469, 470, 471, 472, 476, 477, 478, 481, 485, 493, - 506, 507, 138, 215, 140, 167, 250, 279, 292, 318, - 363, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 446, 3, 90, 208, 211, - 208, 494, 508, 212, 100, 142, 131, 147, 159, 97, + 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, + 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, + 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, + 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, + 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 329, 332, 335, 336, 339, 340, - 343, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 418, 134, 444, 135, 169, 479, 479, - 136, 137, 98, 510, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 336, 340, 208, 212, 251, 253, - 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 422, 212, 209, 76, 90, 76, 3, 241, 98, 98, - 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 486, 487, 489, 241, 503, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 333, 100, 327, - 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, - 294, 97, 97, 97, 97, 98, 97, 98, 455, 97, - 480, 473, 482, 97, 97, 511, 216, 252, 319, 364, - 98, 102, 424, 447, 211, 210, 495, 3, 242, 233, - 143, 219, 100, 3, 148, 488, 74, 75, 76, 77, - 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, - 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 505, 101, 170, 164, 175, 8, 221, 231, - 100, 241, 328, 100, 48, 186, 330, 337, 341, 243, - 282, 114, 419, 456, 186, 98, 98, 513, 212, 212, - 259, 262, 266, 267, 344, 98, 98, 179, 425, 423, - 102, 452, 211, 98, 509, 234, 120, 121, 3, 101, - 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, - 108, 109, 110, 111, 112, 504, 160, 205, 208, 194, - 195, 189, 103, 334, 254, 103, 328, 205, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 426, 458, 474, - 483, 31, 32, 61, 66, 69, 70, 351, 352, 357, - 435, 437, 438, 502, 512, 514, 217, 345, 260, 320, - 365, 194, 208, 186, 453, 448, 496, 424, 7, 99, + 291, 293, 317, 326, 329, 332, 335, 338, 339, 342, + 343, 346, 128, 124, 122, 96, 242, 125, 281, 22, + 129, 126, 127, 133, 421, 134, 447, 135, 169, 482, + 482, 136, 137, 98, 513, 97, 17, 208, 219, 268, + 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, + 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, + 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, + 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, + 54, 68, 489, 490, 492, 241, 506, 97, 49, 185, + 98, 97, 98, 8, 11, 8, 9, 100, 336, 330, + 182, 101, 103, 101, 103, 100, 100, 97, 97, 208, + 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, + 458, 97, 483, 476, 485, 97, 97, 514, 216, 252, + 319, 367, 98, 102, 427, 450, 211, 210, 498, 3, + 242, 233, 143, 219, 100, 3, 148, 491, 74, 75, + 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, + 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 508, 101, 170, 164, 175, 8, + 221, 231, 100, 100, 48, 186, 327, 333, 340, 344, + 243, 282, 114, 422, 459, 186, 98, 98, 516, 212, + 212, 259, 262, 266, 267, 347, 98, 98, 179, 428, + 426, 102, 455, 211, 98, 512, 234, 120, 121, 3, + 101, 103, 229, 229, 229, 221, 105, 106, 107, 91, + 92, 108, 109, 110, 111, 112, 507, 160, 205, 208, + 194, 195, 189, 103, 337, 241, 205, 231, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 429, 461, 477, + 486, 31, 32, 61, 66, 69, 70, 354, 355, 360, + 438, 440, 441, 505, 515, 517, 217, 348, 260, 320, + 368, 194, 208, 186, 456, 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 489, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 492, 115, 223, 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 351, 362, 367, 372, 413, 414, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 374, 221, - 241, 328, 103, 331, 338, 342, 211, 221, 245, 246, + 214, 240, 249, 354, 365, 370, 375, 416, 417, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 377, 221, + 241, 254, 328, 334, 341, 345, 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 351, 420, 427, 435, 437, 440, 441, 442, 502, - 45, 55, 196, 457, 459, 462, 465, 194, 189, 353, - 358, 19, 208, 436, 59, 439, 208, 208, 517, 515, - 516, 436, 518, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 498, 499, 236, 97, 212, 97, + 240, 354, 423, 430, 438, 440, 443, 444, 445, 505, + 45, 55, 196, 460, 462, 465, 468, 194, 189, 356, + 361, 19, 208, 439, 59, 442, 208, 208, 520, 518, + 519, 439, 521, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 501, 502, 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 336, 340, 373, 396, - 198, 199, 375, 99, 287, 190, 191, 101, 254, 103, - 328, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 202, 201, 203, 35, 208, 255, 339, 343, 376, 399, + 198, 199, 378, 99, 287, 190, 191, 101, 254, 331, + 101, 101, 101, 101, 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 427, 433, 99, 428, 429, 430, 431, - 432, 434, 212, 212, 99, 460, 461, 475, 484, 32, - 396, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 346, 348, 261, 3, 321, 323, 366, 99, 449, - 497, 240, 351, 435, 437, 500, 251, 30, 239, 150, - 505, 207, 97, 97, 97, 97, 97, 97, 368, 97, - 97, 3, 97, 231, 101, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 463, 466, 97, 97, 99, 99, 354, 359, 220, - 349, 347, 262, 99, 103, 99, 67, 99, 500, 501, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 376, 101, 247, 289, 115, 114, 378, - 378, 396, 263, 266, 231, 348, 324, 450, 97, 208, - 151, 153, 97, 369, 378, 97, 297, 379, 380, 464, - 467, 355, 360, 264, 350, 325, 208, 156, 99, 154, - 114, 387, 377, 98, 115, 36, 381, 384, 39, 398, - 398, 263, 56, 401, 103, 117, 451, 100, 388, 389, - 370, 398, 298, 385, 115, 382, 399, 356, 402, 361, - 265, 60, 454, 3, 490, 492, 115, 36, 37, 38, - 390, 393, 397, 398, 1, 29, 30, 301, 303, 307, - 309, 396, 103, 114, 398, 114, 63, 404, 266, 208, - 101, 491, 115, 391, 394, 371, 306, 311, 310, 299, - 302, 304, 308, 386, 383, 400, 403, 405, 157, 103, - 103, 396, 40, 407, 97, 221, 102, 99, 303, 241, - 309, 262, 384, 205, 205, 114, 212, 492, 392, 395, - 408, 312, 253, 313, 115, 115, 406, 393, 262, 114, - 102, 314, 305, 205, 409, 262, 97, 115, 76, 410, - 411, 115, 103, 412, 76 + 208, 208, 208, 430, 436, 99, 431, 432, 433, 434, + 435, 437, 212, 212, 99, 463, 464, 478, 487, 32, + 399, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 349, 351, 261, 3, 321, 323, 369, 99, 452, + 500, 240, 354, 438, 440, 503, 251, 30, 239, 150, + 508, 207, 97, 97, 97, 97, 97, 97, 371, 97, + 97, 3, 97, 103, 221, 211, 248, 97, 259, 296, + 211, 211, 211, 97, 97, 97, 97, 97, 97, 97, + 466, 469, 97, 97, 99, 99, 357, 362, 220, 352, + 350, 262, 99, 103, 99, 67, 99, 503, 504, 97, + 97, 97, 221, 97, 73, 123, 139, 152, 154, 155, + 208, 3, 379, 241, 247, 289, 115, 114, 381, 381, + 399, 263, 266, 231, 351, 324, 453, 97, 208, 151, + 153, 97, 372, 381, 254, 97, 297, 382, 383, 467, + 470, 358, 363, 264, 353, 325, 208, 156, 99, 154, + 114, 390, 380, 98, 115, 36, 384, 387, 39, 401, + 401, 263, 56, 404, 103, 117, 454, 100, 391, 392, + 373, 401, 298, 388, 115, 385, 402, 359, 405, 364, + 265, 60, 457, 3, 493, 495, 115, 36, 37, 38, + 393, 396, 400, 401, 1, 29, 30, 301, 303, 307, + 309, 399, 103, 114, 401, 114, 63, 407, 266, 208, + 101, 494, 115, 394, 397, 374, 306, 311, 310, 299, + 302, 304, 308, 389, 386, 403, 406, 408, 157, 103, + 103, 399, 40, 410, 97, 221, 102, 99, 303, 241, + 309, 262, 387, 205, 205, 114, 212, 495, 395, 398, + 411, 312, 253, 313, 115, 115, 409, 396, 262, 114, + 102, 314, 305, 205, 412, 262, 97, 115, 76, 413, + 414, 115, 103, 415, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2184,33 +2188,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 326, 326, 328, 330, 331, - 329, 329, 333, 334, 332, 335, 337, 338, 336, 336, - 339, 341, 342, 340, 340, 343, 345, 344, 346, 347, - 347, 349, 350, 348, 351, 351, 353, 354, 355, 356, - 352, 358, 359, 360, 361, 357, 363, 364, 365, 366, - 362, 368, 369, 370, 371, 367, 372, 372, 372, 373, - 373, 375, 376, 377, 374, 379, 378, 380, 378, 381, - 383, 382, 382, 385, 386, 384, 388, 387, 389, 387, - 390, 392, 391, 391, 394, 395, 393, 396, 396, 396, - 396, 397, 397, 397, 399, 400, 398, 398, 402, 403, - 401, 401, 405, 406, 404, 404, 408, 409, 407, 407, - 410, 412, 411, 411, 413, 414, 415, 415, 416, 418, - 419, 420, 417, 422, 423, 421, 425, 424, 424, 426, - 426, 426, 428, 427, 429, 427, 430, 427, 431, 427, - 432, 427, 433, 427, 434, 427, 435, 436, 436, 437, - 438, 439, 439, 440, 441, 442, 444, 443, 446, 447, - 448, 449, 450, 451, 445, 453, 452, 452, 454, 454, - 456, 457, 455, 458, 458, 459, 460, 459, 461, 459, - 463, 464, 462, 466, 467, 465, 468, 468, 468, 469, - 469, 470, 471, 473, 474, 475, 472, 476, 477, 478, - 480, 479, 482, 483, 484, 481, 485, 485, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 487, 488, - 488, 489, 489, 490, 491, 491, 492, 494, 495, 496, - 497, 493, 498, 498, 499, 499, 500, 500, 501, 500, - 502, 502, 503, 504, 504, 505, 506, 508, 509, 507, - 511, 512, 510, 513, 513, 515, 514, 516, 514, 517, - 514, 518, 514 + 324, 323, 323, 325, 327, 328, 326, 326, 330, 331, + 329, 333, 334, 332, 332, 336, 337, 335, 338, 340, + 341, 339, 339, 342, 344, 345, 343, 343, 346, 348, + 347, 349, 350, 350, 352, 353, 351, 354, 354, 356, + 357, 358, 359, 355, 361, 362, 363, 364, 360, 366, + 367, 368, 369, 365, 371, 372, 373, 374, 370, 375, + 375, 375, 376, 376, 378, 379, 380, 377, 382, 381, + 383, 381, 384, 386, 385, 385, 388, 389, 387, 391, + 390, 392, 390, 393, 395, 394, 394, 397, 398, 396, + 399, 399, 399, 399, 400, 400, 400, 402, 403, 401, + 401, 405, 406, 404, 404, 408, 409, 407, 407, 411, + 412, 410, 410, 413, 415, 414, 414, 416, 417, 418, + 418, 419, 421, 422, 423, 420, 425, 426, 424, 428, + 427, 427, 429, 429, 429, 431, 430, 432, 430, 433, + 430, 434, 430, 435, 430, 436, 430, 437, 430, 438, + 439, 439, 440, 441, 442, 442, 443, 444, 445, 447, + 446, 449, 450, 451, 452, 453, 454, 448, 456, 455, + 455, 457, 457, 459, 460, 458, 461, 461, 462, 463, + 462, 464, 462, 466, 467, 465, 469, 470, 468, 471, + 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, + 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, + 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, + 489, 490, 491, 491, 492, 492, 493, 494, 494, 495, + 497, 498, 499, 500, 496, 501, 501, 502, 502, 503, + 503, 504, 503, 505, 505, 506, 507, 507, 508, 509, + 511, 512, 510, 514, 515, 513, 516, 516, 518, 517, + 519, 517, 520, 517, 521, 517 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2251,33 +2255,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 7, 8, 2, 0, 0, - 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, - 1, 0, 0, 6, 1, 1, 0, 4, 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, 3, - 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, 1, 2, 2, 3, - 0, 2, 5, 2, 3, 0, 1, 0, 0, 0, - 0, 9, 3, 2, 1, 0, 2, 2, 0, 3, - 3, 3, 3, 4, 0, 1, 2, 0, 0, 6, - 0, 0, 5, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3 + 0, 4, 0, 2, 0, 0, 6, 2, 0, 0, + 9, 0, 0, 6, 2, 0, 0, 6, 6, 0, + 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, + 4, 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, 3, 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, 1, + 2, 2, 3, 0, 2, 5, 2, 3, 0, 1, + 0, 0, 0, 0, 9, 3, 2, 1, 0, 2, + 2, 0, 3, 3, 3, 3, 4, 0, 1, 2, + 0, 0, 6, 0, 0, 5, 2, 0, 0, 3, + 0, 3, 0, 3, 0, 3 }; @@ -2741,7 +2745,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 429 "fe/idl.ypp" +#line 434 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2756,269 +2760,269 @@ yyparse (void) } delete annotations; } -#line 2760 "fe/idl.tab.cpp" +#line 2764 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 454 "fe/idl.ypp" +#line 459 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2768 "fe/idl.tab.cpp" +#line 2772 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 458 "fe/idl.ypp" +#line 463 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2776 "fe/idl.tab.cpp" +#line 2780 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 462 "fe/idl.ypp" +#line 467 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2784 "fe/idl.tab.cpp" +#line 2788 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 466 "fe/idl.ypp" +#line 471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2792 "fe/idl.tab.cpp" +#line 2796 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 470 "fe/idl.ypp" +#line 475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2800 "fe/idl.tab.cpp" +#line 2804 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 474 "fe/idl.ypp" +#line 479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2808 "fe/idl.tab.cpp" +#line 2812 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 478 "fe/idl.ypp" +#line 483 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2816 "fe/idl.tab.cpp" +#line 2820 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 482 "fe/idl.ypp" +#line 487 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2824 "fe/idl.tab.cpp" +#line 2828 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 486 "fe/idl.ypp" +#line 491 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2832 "fe/idl.tab.cpp" +#line 2836 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 490 "fe/idl.ypp" +#line 495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2840 "fe/idl.tab.cpp" +#line 2844 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 494 "fe/idl.ypp" +#line 499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2848 "fe/idl.tab.cpp" +#line 2852 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 498 "fe/idl.ypp" +#line 503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2856 "fe/idl.tab.cpp" +#line 2860 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 502 "fe/idl.ypp" +#line 507 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2864 "fe/idl.tab.cpp" +#line 2868 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 506 "fe/idl.ypp" +#line 511 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2872 "fe/idl.tab.cpp" +#line 2876 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 510 "fe/idl.ypp" +#line 515 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2880 "fe/idl.tab.cpp" +#line 2884 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 514 "fe/idl.ypp" +#line 519 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2888 "fe/idl.tab.cpp" +#line 2892 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 518 "fe/idl.ypp" +#line 523 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2896 "fe/idl.tab.cpp" +#line 2900 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 522 "fe/idl.ypp" +#line 527 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2904 "fe/idl.tab.cpp" +#line 2908 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 526 "fe/idl.ypp" +#line 531 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2912 "fe/idl.tab.cpp" +#line 2916 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 530 "fe/idl.ypp" +#line 535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2920 "fe/idl.tab.cpp" +#line 2924 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 534 "fe/idl.ypp" +#line 539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2928 "fe/idl.tab.cpp" +#line 2932 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 538 "fe/idl.ypp" +#line 543 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2936 "fe/idl.tab.cpp" +#line 2940 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 542 "fe/idl.ypp" +#line 547 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2944 "fe/idl.tab.cpp" +#line 2948 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 546 "fe/idl.ypp" +#line 551 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2952 "fe/idl.tab.cpp" +#line 2956 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 550 "fe/idl.ypp" +#line 555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2960 "fe/idl.tab.cpp" +#line 2964 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 554 "fe/idl.ypp" +#line 559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2968 "fe/idl.tab.cpp" +#line 2972 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 558 "fe/idl.ypp" +#line 563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2976 "fe/idl.tab.cpp" +#line 2980 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 562 "fe/idl.ypp" +#line 567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2984 "fe/idl.tab.cpp" +#line 2988 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 566 "fe/idl.ypp" +#line 571 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2992 "fe/idl.tab.cpp" +#line 2996 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 570 "fe/idl.ypp" +#line 575 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 3002 "fe/idl.tab.cpp" +#line 3006 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 579 "fe/idl.ypp" +#line 584 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3010 "fe/idl.tab.cpp" +#line 3014 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 583 "fe/idl.ypp" +#line 588 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3018 "fe/idl.tab.cpp" +#line 3022 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 590 "fe/idl.ypp" +#line 595 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3057,27 +3061,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3061 "fe/idl.tab.cpp" +#line 3065 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 629 "fe/idl.ypp" +#line 634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3069 "fe/idl.tab.cpp" +#line 3073 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 633 "fe/idl.ypp" +#line 638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3077 "fe/idl.tab.cpp" +#line 3081 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 637 "fe/idl.ypp" +#line 642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3087,19 +3091,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3091 "fe/idl.tab.cpp" +#line 3095 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 650 "fe/idl.ypp" +#line 655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3099 "fe/idl.tab.cpp" +#line 3103 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 657 "fe/idl.ypp" +#line 662 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3113,11 +3117,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3117 "fe/idl.tab.cpp" +#line 3121 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 671 "fe/idl.ypp" +#line 676 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3127,11 +3131,11 @@ yyparse (void) return 1; } } -#line 3131 "fe/idl.tab.cpp" +#line 3135 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 681 "fe/idl.ypp" +#line 686 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3161,27 +3165,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3165 "fe/idl.tab.cpp" +#line 3169 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 711 "fe/idl.ypp" +#line 716 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3173 "fe/idl.tab.cpp" +#line 3177 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 715 "fe/idl.ypp" +#line 720 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3181 "fe/idl.tab.cpp" +#line 3185 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 719 "fe/idl.ypp" +#line 724 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3200,29 +3204,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3204 "fe/idl.tab.cpp" +#line 3208 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 755 "fe/idl.ypp" +#line 760 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3213 "fe/idl.tab.cpp" +#line 3217 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 760 "fe/idl.ypp" +#line 765 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3222 "fe/idl.tab.cpp" +#line 3226 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 765 "fe/idl.ypp" +#line 770 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3300,29 +3304,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3304 "fe/idl.tab.cpp" +#line 3308 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 846 "fe/idl.ypp" +#line 851 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3313 "fe/idl.tab.cpp" +#line 3317 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 851 "fe/idl.ypp" +#line 856 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3322 "fe/idl.tab.cpp" +#line 3326 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 856 "fe/idl.ypp" +#line 861 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3386,11 +3390,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3390 "fe/idl.tab.cpp" +#line 3394 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 928 "fe/idl.ypp" +#line 933 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3428,27 +3432,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3432 "fe/idl.tab.cpp" +#line 3436 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 966 "fe/idl.ypp" +#line 971 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3440 "fe/idl.tab.cpp" +#line 3444 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 970 "fe/idl.ypp" +#line 975 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3448 "fe/idl.tab.cpp" +#line 3452 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 974 "fe/idl.ypp" +#line 979 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3458,28 +3462,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3462 "fe/idl.tab.cpp" +#line 3466 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 987 "fe/idl.ypp" +#line 992 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3470 "fe/idl.tab.cpp" +#line 3474 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 991 "fe/idl.ypp" +#line 996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3479 "fe/idl.tab.cpp" +#line 3483 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 999 "fe/idl.ypp" +#line 1004 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3515,11 +3519,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3519 "fe/idl.tab.cpp" +#line 3523 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1036 "fe/idl.ypp" +#line 1041 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3548,11 +3552,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3552 "fe/idl.tab.cpp" +#line 3556 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1066 "fe/idl.ypp" +#line 1071 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3581,45 +3585,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3585 "fe/idl.tab.cpp" +#line 3589 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1098 "fe/idl.ypp" +#line 1103 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3593 "fe/idl.tab.cpp" +#line 3597 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1102 "fe/idl.ypp" +#line 1107 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3602 "fe/idl.tab.cpp" +#line 3606 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1107 "fe/idl.ypp" +#line 1112 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3610 "fe/idl.tab.cpp" +#line 3614 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1121 "fe/idl.ypp" +#line 1126 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3619 "fe/idl.tab.cpp" +#line 3623 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1130 "fe/idl.ypp" +#line 1135 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3666,27 +3670,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3670 "fe/idl.tab.cpp" +#line 3674 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1177 "fe/idl.ypp" +#line 1182 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3678 "fe/idl.tab.cpp" +#line 3682 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1181 "fe/idl.ypp" +#line 1186 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3686 "fe/idl.tab.cpp" +#line 3690 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1185 "fe/idl.ypp" +#line 1190 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3707,11 +3711,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3711 "fe/idl.tab.cpp" +#line 3715 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1210 "fe/idl.ypp" +#line 1215 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3754,27 +3758,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3758 "fe/idl.tab.cpp" +#line 3762 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1253 "fe/idl.ypp" +#line 1258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3766 "fe/idl.tab.cpp" +#line 3770 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1257 "fe/idl.ypp" +#line 1262 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3774 "fe/idl.tab.cpp" +#line 3778 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1261 "fe/idl.ypp" +#line 1266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3785,19 +3789,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3789 "fe/idl.tab.cpp" +#line 3793 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1276 "fe/idl.ypp" +#line 1281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3797 "fe/idl.tab.cpp" +#line 3801 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1280 "fe/idl.ypp" +#line 1285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3828,60 +3832,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3832 "fe/idl.tab.cpp" +#line 3836 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1314 "fe/idl.ypp" +#line 1319 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3840 "fe/idl.tab.cpp" +#line 3844 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1318 "fe/idl.ypp" +#line 1323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3849 "fe/idl.tab.cpp" +#line 3853 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1326 "fe/idl.ypp" +#line 1331 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3857 "fe/idl.tab.cpp" +#line 3861 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1330 "fe/idl.ypp" +#line 1335 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3865 "fe/idl.tab.cpp" +#line 3869 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1338 "fe/idl.ypp" +#line 1343 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3873 "fe/idl.tab.cpp" +#line 3877 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1342 "fe/idl.ypp" +#line 1347 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3881 "fe/idl.tab.cpp" +#line 3885 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1350 "fe/idl.ypp" +#line 1355 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3904,11 +3908,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3908 "fe/idl.tab.cpp" +#line 3912 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1374 "fe/idl.ypp" +#line 1379 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3933,11 +3937,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3937 "fe/idl.tab.cpp" +#line 3941 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1402 "fe/idl.ypp" +#line 1407 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -4000,11 +4004,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4004 "fe/idl.tab.cpp" +#line 4008 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1468 "fe/idl.ypp" +#line 1473 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4023,19 +4027,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4027 "fe/idl.tab.cpp" +#line 4031 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1487 "fe/idl.ypp" +#line 1492 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4035 "fe/idl.tab.cpp" +#line 4039 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1496 "fe/idl.ypp" +#line 1501 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4046,11 +4050,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4050 "fe/idl.tab.cpp" +#line 4054 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1507 "fe/idl.ypp" +#line 1512 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4061,35 +4065,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4065 "fe/idl.tab.cpp" +#line 4069 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1518 "fe/idl.ypp" +#line 1523 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4073 "fe/idl.tab.cpp" +#line 4077 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1525 "fe/idl.ypp" +#line 1530 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4081 "fe/idl.tab.cpp" +#line 4085 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1529 "fe/idl.ypp" +#line 1534 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4089 "fe/idl.tab.cpp" +#line 4093 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1536 "fe/idl.ypp" +#line 1541 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4107,11 +4111,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4111 "fe/idl.tab.cpp" +#line 4115 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1562 "fe/idl.ypp" +#line 1567 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4126,160 +4130,160 @@ yyparse (void) } delete annotations; } -#line 4130 "fe/idl.tab.cpp" +#line 4134 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1581 "fe/idl.ypp" +#line 1586 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4138 "fe/idl.tab.cpp" +#line 4142 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1585 "fe/idl.ypp" +#line 1590 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4146 "fe/idl.tab.cpp" +#line 4150 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1589 "fe/idl.ypp" +#line 1594 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4154 "fe/idl.tab.cpp" +#line 4158 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1593 "fe/idl.ypp" +#line 1598 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4162 "fe/idl.tab.cpp" +#line 4166 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1597 "fe/idl.ypp" +#line 1602 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4170 "fe/idl.tab.cpp" +#line 4174 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1601 "fe/idl.ypp" +#line 1606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4178 "fe/idl.tab.cpp" +#line 4182 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1605 "fe/idl.ypp" +#line 1610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4186 "fe/idl.tab.cpp" +#line 4190 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1609 "fe/idl.ypp" +#line 1614 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4194 "fe/idl.tab.cpp" +#line 4198 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1613 "fe/idl.ypp" +#line 1618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4202 "fe/idl.tab.cpp" +#line 4206 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1617 "fe/idl.ypp" +#line 1622 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4210 "fe/idl.tab.cpp" +#line 4214 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1621 "fe/idl.ypp" +#line 1626 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4218 "fe/idl.tab.cpp" +#line 4222 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1625 "fe/idl.ypp" +#line 1630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4226 "fe/idl.tab.cpp" +#line 4230 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1629 "fe/idl.ypp" +#line 1634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4234 "fe/idl.tab.cpp" +#line 4238 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1633 "fe/idl.ypp" +#line 1638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4242 "fe/idl.tab.cpp" +#line 4246 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1637 "fe/idl.ypp" +#line 1642 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4250 "fe/idl.tab.cpp" +#line 4254 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1641 "fe/idl.ypp" +#line 1646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4260 "fe/idl.tab.cpp" +#line 4264 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1650 "fe/idl.ypp" +#line 1655 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4271 "fe/idl.tab.cpp" +#line 4275 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1661 "fe/idl.ypp" +#line 1666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4279 "fe/idl.tab.cpp" +#line 4283 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1665 "fe/idl.ypp" +#line 1670 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4299,19 +4303,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4303 "fe/idl.tab.cpp" +#line 4307 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1685 "fe/idl.ypp" +#line 1690 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4311 "fe/idl.tab.cpp" +#line 4315 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1692 "fe/idl.ypp" +#line 1697 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4320,19 +4324,19 @@ yyparse (void) 0), 1); } -#line 4324 "fe/idl.tab.cpp" +#line 4328 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1701 "fe/idl.ypp" +#line 1706 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4332 "fe/idl.tab.cpp" +#line 4336 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1705 "fe/idl.ypp" +#line 1710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4352,11 +4356,11 @@ yyparse (void) sn), 1); } -#line 4356 "fe/idl.tab.cpp" +#line 4360 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1726 "fe/idl.ypp" +#line 1731 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4366,11 +4370,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4370 "fe/idl.tab.cpp" +#line 4374 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1736 "fe/idl.ypp" +#line 1741 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4382,11 +4386,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4386 "fe/idl.tab.cpp" +#line 4390 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1750 "fe/idl.ypp" +#line 1755 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4394,11 +4398,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4398 "fe/idl.tab.cpp" +#line 4402 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1760 "fe/idl.ypp" +#line 1765 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4406,11 +4410,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4410 "fe/idl.tab.cpp" +#line 4414 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1771 "fe/idl.ypp" +#line 1776 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4453,11 +4457,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4457 "fe/idl.tab.cpp" +#line 4461 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1815 "fe/idl.ypp" +#line 1820 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4483,11 +4487,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4487 "fe/idl.tab.cpp" +#line 4491 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1842 "fe/idl.ypp" +#line 1847 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4515,43 +4519,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4519 "fe/idl.tab.cpp" +#line 4523 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1873 "fe/idl.ypp" +#line 1878 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4527 "fe/idl.tab.cpp" +#line 4531 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1877 "fe/idl.ypp" +#line 1882 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4535 "fe/idl.tab.cpp" +#line 4539 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1881 "fe/idl.ypp" +#line 1886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4543 "fe/idl.tab.cpp" +#line 4547 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1885 "fe/idl.ypp" +#line 1890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4551 "fe/idl.tab.cpp" +#line 4555 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1889 "fe/idl.ypp" +#line 1894 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4607,27 +4611,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4611 "fe/idl.tab.cpp" +#line 4615 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1954 "fe/idl.ypp" +#line 1959 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4619 "fe/idl.tab.cpp" +#line 4623 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1958 "fe/idl.ypp" +#line 1963 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4627 "fe/idl.tab.cpp" +#line 4631 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1962 "fe/idl.ypp" +#line 1967 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4693,11 +4697,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4697 "fe/idl.tab.cpp" +#line 4701 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2035 "fe/idl.ypp" +#line 2040 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4706,11 +4710,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4710 "fe/idl.tab.cpp" +#line 4714 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2048 "fe/idl.ypp" +#line 2053 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4719,11 +4723,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4723 "fe/idl.tab.cpp" +#line 4727 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2061 "fe/idl.ypp" +#line 2066 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4732,11 +4736,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4736 "fe/idl.tab.cpp" +#line 4740 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2074 "fe/idl.ypp" +#line 2079 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4745,11 +4749,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4749 "fe/idl.tab.cpp" +#line 4753 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2083 "fe/idl.ypp" +#line 2088 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4758,11 +4762,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4762 "fe/idl.tab.cpp" +#line 4766 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2096 "fe/idl.ypp" +#line 2101 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4771,11 +4775,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4775 "fe/idl.tab.cpp" +#line 4779 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2105 "fe/idl.ypp" +#line 2110 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4784,11 +4788,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4788 "fe/idl.tab.cpp" +#line 4792 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2118 "fe/idl.ypp" +#line 2123 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4797,11 +4801,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4801 "fe/idl.tab.cpp" +#line 4805 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2127 "fe/idl.ypp" +#line 2132 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4810,11 +4814,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4814 "fe/idl.tab.cpp" +#line 4818 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2136 "fe/idl.ypp" +#line 2141 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4823,11 +4827,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4827 "fe/idl.tab.cpp" +#line 4831 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2149 "fe/idl.ypp" +#line 2154 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4836,11 +4840,11 @@ yyparse (void) 0 ); } -#line 4840 "fe/idl.tab.cpp" +#line 4844 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2158 "fe/idl.ypp" +#line 2163 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4849,11 +4853,11 @@ yyparse (void) 0 ); } -#line 4853 "fe/idl.tab.cpp" +#line 4857 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2167 "fe/idl.ypp" +#line 2172 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4862,11 +4866,11 @@ yyparse (void) 0 ); } -#line 4866 "fe/idl.tab.cpp" +#line 4870 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2179 "fe/idl.ypp" +#line 2184 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4923,107 +4927,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4927 "fe/idl.tab.cpp" +#line 4931 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2237 "fe/idl.ypp" +#line 2242 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4935 "fe/idl.tab.cpp" +#line 4939 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2244 "fe/idl.ypp" +#line 2249 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4943 "fe/idl.tab.cpp" +#line 4947 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2248 "fe/idl.ypp" +#line 2253 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4952 "fe/idl.tab.cpp" +#line 4956 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2253 "fe/idl.ypp" +#line 2258 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4963 "fe/idl.tab.cpp" +#line 4967 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2260 "fe/idl.ypp" +#line 2265 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4974 "fe/idl.tab.cpp" +#line 4978 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2267 "fe/idl.ypp" +#line 2272 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4982 "fe/idl.tab.cpp" +#line 4986 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2271 "fe/idl.ypp" +#line 2276 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4991 "fe/idl.tab.cpp" +#line 4995 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2276 "fe/idl.ypp" +#line 2281 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4999 "fe/idl.tab.cpp" +#line 5003 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2280 "fe/idl.ypp" +#line 2285 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5007 "fe/idl.tab.cpp" +#line 5011 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2284 "fe/idl.ypp" +#line 2289 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5015 "fe/idl.tab.cpp" +#line 5019 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2288 "fe/idl.ypp" +#line 2293 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5023 "fe/idl.tab.cpp" +#line 5027 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2295 "fe/idl.ypp" +#line 2300 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5088,11 +5092,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5092 "fe/idl.tab.cpp" +#line 5096 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2363 "fe/idl.ypp" +#line 2368 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5109,11 +5113,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5113 "fe/idl.tab.cpp" +#line 5117 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2380 "fe/idl.ypp" +#line 2385 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5122,20 +5126,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5126 "fe/idl.tab.cpp" +#line 5130 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2400 "fe/idl.ypp" +#line 2405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5135 "fe/idl.tab.cpp" +#line 5139 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2414 "fe/idl.ypp" +#line 2419 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5188,27 +5192,27 @@ yyparse (void) delete result; } } -#line 5192 "fe/idl.tab.cpp" +#line 5196 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2470 "fe/idl.ypp" +#line 2475 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5200 "fe/idl.tab.cpp" +#line 5204 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2474 "fe/idl.ypp" +#line 2479 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5208 "fe/idl.tab.cpp" +#line 5212 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2481 "fe/idl.ypp" +#line 2486 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5218,11 +5222,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5222 "fe/idl.tab.cpp" +#line 5226 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2494 "fe/idl.ypp" +#line 2499 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5232,19 +5236,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5236 "fe/idl.tab.cpp" +#line 5240 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2504 "fe/idl.ypp" +#line 2509 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5244 "fe/idl.tab.cpp" +#line 5248 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2511 "fe/idl.ypp" +#line 2516 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5301,11 +5305,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5305 "fe/idl.tab.cpp" +#line 5309 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2568 "fe/idl.ypp" +#line 2573 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5333,27 +5337,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5337 "fe/idl.tab.cpp" +#line 5341 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2599 "fe/idl.ypp" +#line 2604 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5345 "fe/idl.tab.cpp" +#line 5349 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2603 "fe/idl.ypp" +#line 2608 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5353 "fe/idl.tab.cpp" +#line 5357 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2610 "fe/idl.ypp" +#line 2615 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5362,47 +5366,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5366 "fe/idl.tab.cpp" +#line 5370 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2619 "fe/idl.ypp" +#line 2624 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5374 "fe/idl.tab.cpp" +#line 5378 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2626 "fe/idl.ypp" +#line 2631 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5384 "fe/idl.tab.cpp" +#line 5388 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2634 "fe/idl.ypp" +#line 2639 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5394 "fe/idl.tab.cpp" +#line 5398 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2640 "fe/idl.ypp" +#line 2645 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5402 "fe/idl.tab.cpp" +#line 5406 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2647 "fe/idl.ypp" +#line 2652 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5411,52 +5415,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5415 "fe/idl.tab.cpp" +#line 5419 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2659 "fe/idl.ypp" +#line 2664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5424 "fe/idl.tab.cpp" +#line 5428 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2664 "fe/idl.ypp" +#line 2669 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5432 "fe/idl.tab.cpp" +#line 5436 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2668 "fe/idl.ypp" +#line 2673 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5440 "fe/idl.tab.cpp" +#line 5444 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2672 "fe/idl.ypp" +#line 2677 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5448 "fe/idl.tab.cpp" +#line 5452 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2676 "fe/idl.ypp" +#line 2681 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5456 "fe/idl.tab.cpp" +#line 5460 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2680 "fe/idl.ypp" +#line 2685 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5484,27 +5488,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5488 "fe/idl.tab.cpp" +#line 5492 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2708 "fe/idl.ypp" +#line 2713 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5496 "fe/idl.tab.cpp" +#line 5500 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2715 "fe/idl.ypp" +#line 2720 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5504 "fe/idl.tab.cpp" +#line 5508 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2719 "fe/idl.ypp" +#line 2724 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5568,22 +5572,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5572 "fe/idl.tab.cpp" +#line 5576 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2791 "fe/idl.ypp" +#line 2796 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5583 "fe/idl.tab.cpp" +#line 5587 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2799 "fe/idl.ypp" +#line 2804 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5606,30 +5610,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5610 "fe/idl.tab.cpp" +#line 5614 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ -#line 2855 "fe/idl.ypp" +#line 2860 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5621 "fe/idl.tab.cpp" +#line 5625 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ -#line 2866 "fe/idl.ypp" +#line 2871 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5629 "fe/idl.tab.cpp" +#line 5633 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ -#line 2870 "fe/idl.ypp" +#line 2875 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5649,38 +5653,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5653 "fe/idl.tab.cpp" +#line 5657 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ -#line 2890 "fe/idl.ypp" +#line 2895 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5661 "fe/idl.tab.cpp" +#line 5665 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2902 "fe/idl.ypp" +#line 2907 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5672 "fe/idl.tab.cpp" +#line 5676 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ -#line 2913 "fe/idl.ypp" +#line 2918 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5680 "fe/idl.tab.cpp" +#line 5684 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2917 "fe/idl.ypp" +#line 2922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5700,19 +5704,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5704 "fe/idl.tab.cpp" +#line 5708 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ -#line 2937 "fe/idl.ypp" +#line 2942 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5712 "fe/idl.tab.cpp" +#line 5716 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ -#line 2944 "fe/idl.ypp" +#line 2949 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5725,11 +5729,11 @@ yyparse (void) 0), 1); } -#line 5729 "fe/idl.tab.cpp" +#line 5733 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ -#line 2960 "fe/idl.ypp" +#line 2965 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5744,220 +5748,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5748 "fe/idl.tab.cpp" +#line 5752 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ -#line 2983 "fe/idl.ypp" +#line 2988 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5756 "fe/idl.tab.cpp" +#line 5760 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ -#line 2987 "fe/idl.ypp" +#line 2992 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5764 "fe/idl.tab.cpp" +#line 5768 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ -#line 2991 "fe/idl.ypp" +#line 2996 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5772 "fe/idl.tab.cpp" +#line 5776 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ -#line 2995 "fe/idl.ypp" +#line 3000 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5780 "fe/idl.tab.cpp" +#line 5784 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ -#line 2999 "fe/idl.ypp" +#line 3004 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5788 "fe/idl.tab.cpp" +#line 5792 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ -#line 3003 "fe/idl.ypp" +#line 3008 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5796 "fe/idl.tab.cpp" +#line 5800 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ -#line 3007 "fe/idl.ypp" +#line 3012 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5804 "fe/idl.tab.cpp" +#line 5808 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3014 "fe/idl.ypp" +#line 3019 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5812 "fe/idl.tab.cpp" +#line 5816 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3018 "fe/idl.ypp" +#line 3023 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5820 "fe/idl.tab.cpp" +#line 5824 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3022 "fe/idl.ypp" +#line 3027 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5828 "fe/idl.tab.cpp" +#line 5832 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ -#line 3026 "fe/idl.ypp" +#line 3031 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5836 "fe/idl.tab.cpp" +#line 5840 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ -#line 3030 "fe/idl.ypp" +#line 3035 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5844 "fe/idl.tab.cpp" +#line 5848 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ -#line 3034 "fe/idl.ypp" +#line 3039 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5852 "fe/idl.tab.cpp" +#line 5856 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ -#line 3038 "fe/idl.ypp" +#line 3043 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5860 "fe/idl.tab.cpp" +#line 5864 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ -#line 3045 "fe/idl.ypp" +#line 3050 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5868 "fe/idl.tab.cpp" +#line 5872 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ -#line 3049 "fe/idl.ypp" +#line 3054 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5876 "fe/idl.tab.cpp" +#line 5880 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3053 "fe/idl.ypp" +#line 3058 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5884 "fe/idl.tab.cpp" +#line 5888 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ -#line 3060 "fe/idl.ypp" +#line 3065 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5892 "fe/idl.tab.cpp" +#line 5896 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ -#line 3067 "fe/idl.ypp" +#line 3072 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5900 "fe/idl.tab.cpp" +#line 5904 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ -#line 3071 "fe/idl.ypp" +#line 3076 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5908 "fe/idl.tab.cpp" +#line 5912 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ -#line 3078 "fe/idl.ypp" +#line 3083 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5916 "fe/idl.tab.cpp" +#line 5920 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ -#line 3085 "fe/idl.ypp" +#line 3090 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5924 "fe/idl.tab.cpp" +#line 5928 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ -#line 3092 "fe/idl.ypp" +#line 3097 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5932 "fe/idl.tab.cpp" +#line 5936 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ -#line 3099 "fe/idl.ypp" +#line 3104 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5940 "fe/idl.tab.cpp" +#line 5944 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ -#line 3106 "fe/idl.ypp" +#line 3111 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5948 "fe/idl.tab.cpp" +#line 5952 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3110 "fe/idl.ypp" +#line 3115 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5957 "fe/idl.tab.cpp" +#line 5961 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ -#line 3119 "fe/idl.ypp" +#line 3124 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5988,27 +5992,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5992 "fe/idl.tab.cpp" +#line 5996 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ -#line 3150 "fe/idl.ypp" +#line 3155 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6000 "fe/idl.tab.cpp" +#line 6004 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ -#line 3154 "fe/idl.ypp" +#line 3159 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6008 "fe/idl.tab.cpp" +#line 6012 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3158 "fe/idl.ypp" +#line 3163 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6020,11 +6024,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6024 "fe/idl.tab.cpp" +#line 6028 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ -#line 3180 "fe/idl.ypp" +#line 3185 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6038,27 +6042,27 @@ yyparse (void) delete annotations; delete members; } -#line 6042 "fe/idl.tab.cpp" +#line 6046 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ -#line 3197 "fe/idl.ypp" +#line 3202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6050 "fe/idl.tab.cpp" +#line 6054 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ -#line 3201 "fe/idl.ypp" +#line 3206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6058 "fe/idl.tab.cpp" +#line 6062 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3205 "fe/idl.ypp" +#line 3210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6112,53 +6116,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6116 "fe/idl.tab.cpp" +#line 6120 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ -#line 3259 "fe/idl.ypp" +#line 3264 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6124 "fe/idl.tab.cpp" +#line 6128 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ -#line 3263 "fe/idl.ypp" +#line 3268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6133 "fe/idl.tab.cpp" +#line 6137 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ -#line 3271 "fe/idl.ypp" +#line 3276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6141 "fe/idl.tab.cpp" +#line 6145 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3275 "fe/idl.ypp" +#line 3280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6150 "fe/idl.tab.cpp" +#line 6154 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ -#line 3283 "fe/idl.ypp" +#line 3288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6158 "fe/idl.tab.cpp" +#line 6162 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ -#line 3287 "fe/idl.ypp" +#line 3292 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6191,19 +6195,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6195 "fe/idl.tab.cpp" +#line 6199 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ -#line 3320 "fe/idl.ypp" +#line 3325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6203 "fe/idl.tab.cpp" +#line 6207 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ -#line 3324 "fe/idl.ypp" +#line 3329 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6262,27 +6266,27 @@ yyparse (void) delete disc_annotations; } -#line 6266 "fe/idl.tab.cpp" +#line 6270 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ -#line 3383 "fe/idl.ypp" +#line 3388 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6274 "fe/idl.tab.cpp" +#line 6278 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ -#line 3387 "fe/idl.ypp" +#line 3392 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6282 "fe/idl.tab.cpp" +#line 6286 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3391 "fe/idl.ypp" +#line 3396 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6298,22 +6302,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6302 "fe/idl.tab.cpp" +#line 6306 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ -#line 3410 "fe/idl.ypp" +#line 3415 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6313 "fe/idl.tab.cpp" +#line 6317 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ -#line 3417 "fe/idl.ypp" +#line 3422 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6326,11 +6330,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6330 "fe/idl.tab.cpp" +#line 6334 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ -#line 3430 "fe/idl.ypp" +#line 3435 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6339,22 +6343,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6343 "fe/idl.tab.cpp" +#line 6347 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ -#line 3439 "fe/idl.ypp" +#line 3444 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6354 "fe/idl.tab.cpp" +#line 6358 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ -#line 3447 "fe/idl.ypp" +#line 3452 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6461,27 +6465,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6465 "fe/idl.tab.cpp" +#line 6469 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ -#line 3564 "fe/idl.ypp" +#line 3569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6473 "fe/idl.tab.cpp" +#line 6477 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ -#line 3568 "fe/idl.ypp" +#line 3573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6481 "fe/idl.tab.cpp" +#line 6485 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3572 "fe/idl.ypp" +#line 3577 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6513,39 +6517,39 @@ yyparse (void) delete annotations; } -#line 6517 "fe/idl.tab.cpp" +#line 6521 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ -#line 3604 "fe/idl.ypp" +#line 3609 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6525 "fe/idl.tab.cpp" +#line 6529 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ -#line 3608 "fe/idl.ypp" +#line 3613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6534 "fe/idl.tab.cpp" +#line 6538 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ -#line 3616 "fe/idl.ypp" +#line 3621 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6545 "fe/idl.tab.cpp" +#line 6549 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ -#line 3626 "fe/idl.ypp" +#line 3631 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6563,27 +6567,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6567 "fe/idl.tab.cpp" +#line 6571 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ -#line 3644 "fe/idl.ypp" +#line 3649 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6575 "fe/idl.tab.cpp" +#line 6579 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ -#line 3651 "fe/idl.ypp" +#line 3656 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6583 "fe/idl.tab.cpp" +#line 6587 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3655 "fe/idl.ypp" +#line 3660 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6592,27 +6596,27 @@ yyparse (void) 0 ); } -#line 6596 "fe/idl.tab.cpp" +#line 6600 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ -#line 3664 "fe/idl.ypp" +#line 3669 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6604 "fe/idl.tab.cpp" +#line 6608 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ -#line 3668 "fe/idl.ypp" +#line 3673 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6612 "fe/idl.tab.cpp" +#line 6616 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3672 "fe/idl.ypp" +#line 3677 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6621,19 +6625,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6625 "fe/idl.tab.cpp" +#line 6629 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ -#line 3684 "fe/idl.ypp" +#line 3689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6633 "fe/idl.tab.cpp" +#line 6637 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ -#line 3688 "fe/idl.ypp" +#line 3693 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6676,11 +6680,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6680 "fe/idl.tab.cpp" +#line 6684 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ -#line 3734 "fe/idl.ypp" +#line 3739 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6702,11 +6706,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6706 "fe/idl.tab.cpp" +#line 6710 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ -#line 3759 "fe/idl.ypp" +#line 3764 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6726,19 +6730,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6730 "fe/idl.tab.cpp" +#line 6734 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ -#line 3782 "fe/idl.ypp" +#line 3787 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6738 "fe/idl.tab.cpp" +#line 6742 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ -#line 3786 "fe/idl.ypp" +#line 3791 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6769,27 +6773,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6773 "fe/idl.tab.cpp" +#line 6777 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ -#line 3817 "fe/idl.ypp" +#line 3822 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6781 "fe/idl.tab.cpp" +#line 6785 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ -#line 3821 "fe/idl.ypp" +#line 3826 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6789 "fe/idl.tab.cpp" +#line 6793 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3825 "fe/idl.ypp" +#line 3830 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6808,19 +6812,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6812 "fe/idl.tab.cpp" +#line 6816 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ -#line 3850 "fe/idl.ypp" +#line 3855 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6820 "fe/idl.tab.cpp" +#line 6824 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3859 "fe/idl.ypp" +#line 3864 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6855,24 +6859,32 @@ yyparse (void) delete annotations; } -#line 6859 "fe/idl.tab.cpp" +#line 6863 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ -#line 3897 "fe/idl.ypp" +#line 3903 "fe/idl.ypp" { - idl_global->scopes ().push (0); + idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); } -#line 6867 "fe/idl.tab.cpp" +#line 6871 "fe/idl.tab.cpp" break; - case 355: /* map_type_spec: IDL_MAP $@91 '<' map_type ',' map_type '>' */ -#line 3905 "fe/idl.ypp" + case 355: /* $@92: %empty */ +#line 3907 "fe/idl.ypp" { + idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); + } +#line 6879 "fe/idl.tab.cpp" + break; + case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ +#line 3911 "fe/idl.ypp" + { AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-3].decl_annotations_pair_val); - Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); + Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -6900,14 +6912,10 @@ yyparse (void) { Identifier id ("map"); UTL_ScopedName sn (&id, 0); - ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - idl_global->gen ()->create_expr ( - bound, - AST_Expression::EV_ulong - ), + (yyvsp[-2].exval), ktp, vtp, &sn, @@ -6923,19 +6931,19 @@ yyparse (void) delete key_type->annotations; delete val_type->annotations; + delete type_pair; (yyval.dcval) = map; } -#line 6929 "fe/idl.tab.cpp" +#line 6938 "fe/idl.tab.cpp" break; - case 356: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3974 "fe/idl.ypp" + case 357: /* map_type_spec: map_head '>' */ +#line 3967 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-5].decl_annotations_pair_val); - Decl_Annotations_Pair *val_type = (yyvsp[-3].decl_annotations_pair_val); + Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -6963,10 +6971,14 @@ yyparse (void) { Identifier id ("map"); UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - (yyvsp[-1].exval), + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), ktp, vtp, &sn, @@ -6982,41 +6994,71 @@ yyparse (void) delete key_type->annotations; delete val_type->annotations; + delete type_pair; (yyval.dcval) = map; } -#line 6988 "fe/idl.tab.cpp" +#line 7001 "fe/idl.tab.cpp" + break; + + case 358: /* $@93: %empty */ +#line 4029 "fe/idl.ypp" + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); + + /* + * Push a sequence marker on scopes stack. + */ + idl_global->scopes ().push (0); + } +#line 7014 "fe/idl.tab.cpp" break; - case 357: /* map_type: annotations_maybe simple_type_spec */ -#line 4032 "fe/idl.ypp" + case 359: /* $@94: %empty */ +#line 4039 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; - pair->decl = (yyvsp[0].dcval); - pair->annotations = (yyvsp[-1].annotations_val); - (yyval.decl_annotations_pair_val) = pair; + idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7000 "fe/idl.tab.cpp" +#line 7022 "fe/idl.tab.cpp" break; - case 358: /* $@92: %empty */ + case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ #line 4044 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); + Decl_Annotations_Pair *key = new Decl_Annotations_Pair; + key->decl = (yyvsp[-4].dcval); + key->annotations = (yyvsp[-5].annotations_val); + + Decl_Annotations_Pair *value = new Decl_Annotations_Pair; + value->decl = (yyvsp[0].dcval); + value->annotations = (yyvsp[-1].annotations_val); + + Decl_Annotations_Pair_Pair* pairs = new Decl_Annotations_Pair_Pair; + pairs->first = key; + pairs->second = value; + (yyval.decl_annotations_pair_val_pair) = pairs; + } +#line 7042 "fe/idl.tab.cpp" + break; + + case 361: /* $@95: %empty */ +#line 4064 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7008 "fe/idl.tab.cpp" +#line 7050 "fe/idl.tab.cpp" break; - case 359: /* $@93: %empty */ -#line 4048 "fe/idl.ypp" + case 362: /* $@96: %empty */ +#line 4068 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7016 "fe/idl.tab.cpp" +#line 7058 "fe/idl.tab.cpp" break; - case 360: /* sequence_type_spec: seq_head ',' $@92 positive_int_expr $@93 '>' */ -#line 4052 "fe/idl.ypp" + case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ +#line 4072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7097,11 +7139,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7101 "fe/idl.tab.cpp" +#line 7143 "fe/idl.tab.cpp" break; - case 361: /* sequence_type_spec: seq_head '>' */ -#line 4134 "fe/idl.ypp" + case 364: /* sequence_type_spec: seq_head '>' */ +#line 4154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7163,11 +7205,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7167 "fe/idl.tab.cpp" +#line 7209 "fe/idl.tab.cpp" break; - case 362: /* $@94: %empty */ -#line 4199 "fe/idl.ypp" + case 365: /* $@97: %empty */ +#line 4219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7176,19 +7218,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7180 "fe/idl.tab.cpp" +#line 7222 "fe/idl.tab.cpp" break; - case 363: /* $@95: %empty */ -#line 4208 "fe/idl.ypp" + case 366: /* $@98: %empty */ +#line 4228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7188 "fe/idl.tab.cpp" +#line 7230 "fe/idl.tab.cpp" break; - case 364: /* seq_head: IDL_SEQUENCE $@94 '<' $@95 annotations_maybe simple_type_spec */ -#line 4212 "fe/idl.ypp" + case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ +#line 4232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7196,36 +7238,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7200 "fe/idl.tab.cpp" +#line 7242 "fe/idl.tab.cpp" break; - case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4223 "fe/idl.ypp" + case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4243 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7209 "fe/idl.tab.cpp" +#line 7251 "fe/idl.tab.cpp" break; - case 366: /* $@96: %empty */ -#line 4232 "fe/idl.ypp" + case 369: /* $@99: %empty */ +#line 4252 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7217 "fe/idl.tab.cpp" +#line 7259 "fe/idl.tab.cpp" break; - case 367: /* $@97: %empty */ -#line 4236 "fe/idl.ypp" + case 370: /* $@100: %empty */ +#line 4256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7225 "fe/idl.tab.cpp" +#line 7267 "fe/idl.tab.cpp" break; - case 368: /* string_type_spec: string_head '<' $@96 positive_int_expr $@97 '>' */ -#line 4240 "fe/idl.ypp" + case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ +#line 4260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7264,11 +7306,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7268 "fe/idl.tab.cpp" +#line 7310 "fe/idl.tab.cpp" break; - case 369: /* string_type_spec: string_head */ -#line 4279 "fe/idl.ypp" + case 372: /* string_type_spec: string_head */ +#line 4299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7291,35 +7333,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7295 "fe/idl.tab.cpp" +#line 7337 "fe/idl.tab.cpp" break; - case 370: /* string_head: IDL_STRING */ -#line 4305 "fe/idl.ypp" + case 373: /* string_head: IDL_STRING */ +#line 4325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7303 "fe/idl.tab.cpp" +#line 7345 "fe/idl.tab.cpp" break; - case 371: /* $@98: %empty */ -#line 4313 "fe/idl.ypp" + case 374: /* $@101: %empty */ +#line 4333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7311 "fe/idl.tab.cpp" +#line 7353 "fe/idl.tab.cpp" break; - case 372: /* $@99: %empty */ -#line 4317 "fe/idl.ypp" + case 375: /* $@102: %empty */ +#line 4337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7319 "fe/idl.tab.cpp" +#line 7361 "fe/idl.tab.cpp" break; - case 373: /* wstring_type_spec: wstring_head '<' $@98 positive_int_expr $@99 '>' */ -#line 4321 "fe/idl.ypp" + case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ +#line 4341 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7358,11 +7400,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7362 "fe/idl.tab.cpp" +#line 7404 "fe/idl.tab.cpp" break; - case 374: /* wstring_type_spec: wstring_head */ -#line 4360 "fe/idl.ypp" + case 377: /* wstring_type_spec: wstring_head */ +#line 4380 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7385,27 +7427,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7389 "fe/idl.tab.cpp" +#line 7431 "fe/idl.tab.cpp" break; - case 375: /* wstring_head: IDL_WSTRING */ -#line 4386 "fe/idl.ypp" + case 378: /* wstring_head: IDL_WSTRING */ +#line 4406 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7397 "fe/idl.tab.cpp" +#line 7439 "fe/idl.tab.cpp" break; - case 376: /* $@100: %empty */ -#line 4393 "fe/idl.ypp" + case 379: /* $@103: %empty */ +#line 4413 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7405 "fe/idl.tab.cpp" +#line 7447 "fe/idl.tab.cpp" break; - case 377: /* array_declarator: defining_id $@100 annotations_maybe at_least_one_array_dim */ -#line 4397 "fe/idl.ypp" + case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ +#line 4417 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7441,22 +7483,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7445 "fe/idl.tab.cpp" +#line 7487 "fe/idl.tab.cpp" break; - case 378: /* at_least_one_array_dim: array_dim array_dims */ -#line 4436 "fe/idl.ypp" + case 381: /* at_least_one_array_dim: array_dim array_dims */ +#line 4456 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7456 "fe/idl.tab.cpp" +#line 7498 "fe/idl.tab.cpp" break; - case 379: /* array_dims: array_dims array_dim */ -#line 4446 "fe/idl.ypp" + case 382: /* array_dims: array_dims array_dim */ +#line 4466 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7474,35 +7516,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7478 "fe/idl.tab.cpp" +#line 7520 "fe/idl.tab.cpp" break; - case 380: /* array_dims: %empty */ -#line 4464 "fe/idl.ypp" + case 383: /* array_dims: %empty */ +#line 4484 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7486 "fe/idl.tab.cpp" +#line 7528 "fe/idl.tab.cpp" break; - case 381: /* $@101: %empty */ -#line 4471 "fe/idl.ypp" + case 384: /* $@104: %empty */ +#line 4491 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7494 "fe/idl.tab.cpp" +#line 7536 "fe/idl.tab.cpp" break; - case 382: /* $@102: %empty */ -#line 4475 "fe/idl.ypp" + case 385: /* $@105: %empty */ +#line 4495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7502 "fe/idl.tab.cpp" +#line 7544 "fe/idl.tab.cpp" break; - case 383: /* array_dim: '[' $@101 positive_int_expr $@102 ']' */ -#line 4479 "fe/idl.ypp" + case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ +#line 4499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7556,43 +7598,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7560 "fe/idl.tab.cpp" +#line 7602 "fe/idl.tab.cpp" break; - case 386: /* $@103: %empty */ -#line 4541 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7568 "fe/idl.tab.cpp" +#line 7610 "fe/idl.tab.cpp" break; - case 387: /* $@104: %empty */ -#line 4545 "fe/idl.ypp" + case 390: /* $@107: %empty */ +#line 4565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7576 "fe/idl.tab.cpp" +#line 7618 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4549 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7584 "fe/idl.tab.cpp" +#line 7626 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4553 "fe/idl.ypp" + case 392: /* $@109: %empty */ +#line 4573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7592 "fe/idl.tab.cpp" +#line 7634 "fe/idl.tab.cpp" break; - case 390: /* attribute_readonly: IDL_READONLY $@103 IDL_ATTRIBUTE $@104 param_type_spec $@105 at_least_one_simple_declarator $@106 opt_raises */ -#line 4557 "fe/idl.ypp" + case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ +#line 4577 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7644,43 +7686,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7648 "fe/idl.tab.cpp" +#line 7690 "fe/idl.tab.cpp" break; - case 391: /* $@107: %empty */ -#line 4612 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7656 "fe/idl.tab.cpp" +#line 7698 "fe/idl.tab.cpp" break; - case 392: /* $@108: %empty */ -#line 4616 "fe/idl.ypp" + case 395: /* $@111: %empty */ +#line 4636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7664 "fe/idl.tab.cpp" +#line 7706 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4620 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7672 "fe/idl.tab.cpp" +#line 7714 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4624 "fe/idl.ypp" + case 397: /* $@113: %empty */ +#line 4644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7680 "fe/idl.tab.cpp" +#line 7722 "fe/idl.tab.cpp" break; - case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_getraises $@110 opt_setraises */ -#line 4628 "fe/idl.ypp" + case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ +#line 4648 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7741,19 +7783,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7745 "fe/idl.tab.cpp" +#line 7787 "fe/idl.tab.cpp" break; - case 396: /* $@111: %empty */ -#line 4692 "fe/idl.ypp" + case 399: /* $@114: %empty */ +#line 4712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7753 "fe/idl.tab.cpp" +#line 7795 "fe/idl.tab.cpp" break; - case 397: /* @112: %empty */ -#line 4696 "fe/idl.ypp" + case 400: /* @115: %empty */ +#line 4716 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7785,27 +7827,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7789 "fe/idl.tab.cpp" +#line 7831 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4728 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4748 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7797 "fe/idl.tab.cpp" +#line 7839 "fe/idl.tab.cpp" break; - case 399: /* $@114: %empty */ -#line 4732 "fe/idl.ypp" + case 402: /* $@117: %empty */ +#line 4752 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7805 "fe/idl.tab.cpp" +#line 7847 "fe/idl.tab.cpp" break; - case 400: /* exception: IDL_EXCEPTION $@111 defining_id @112 '{' $@113 members $@114 '}' */ -#line 4736 "fe/idl.ypp" + case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ +#line 4756 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7815,19 +7857,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7819 "fe/idl.tab.cpp" +#line 7861 "fe/idl.tab.cpp" break; - case 401: /* $@115: %empty */ -#line 4749 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4769 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7827 "fe/idl.tab.cpp" +#line 7869 "fe/idl.tab.cpp" break; - case 402: /* $@116: %empty */ -#line 4753 "fe/idl.ypp" + case 405: /* $@119: %empty */ +#line 4773 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7888,27 +7930,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7892 "fe/idl.tab.cpp" +#line 7934 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4814 "fe/idl.ypp" + case 406: /* $@120: %empty */ +#line 4834 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7900 "fe/idl.tab.cpp" +#line 7942 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4818 "fe/idl.ypp" + case 407: /* $@121: %empty */ +#line 4838 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7908 "fe/idl.tab.cpp" +#line 7950 "fe/idl.tab.cpp" break; - case 405: /* operation: opt_op_attribute op_type_spec $@115 IDENTIFIER $@116 parameter_list $@117 opt_raises $@118 opt_context */ -#line 4822 "fe/idl.ypp" + case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ +#line 4842 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7939,57 +7981,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7943 "fe/idl.tab.cpp" +#line 7985 "fe/idl.tab.cpp" break; - case 406: /* opt_op_attribute: IDL_ONEWAY */ -#line 4856 "fe/idl.ypp" + case 409: /* opt_op_attribute: IDL_ONEWAY */ +#line 4876 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7952 "fe/idl.tab.cpp" +#line 7994 "fe/idl.tab.cpp" break; - case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4861 "fe/idl.ypp" + case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4881 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7961 "fe/idl.tab.cpp" +#line 8003 "fe/idl.tab.cpp" break; - case 408: /* opt_op_attribute: %empty */ -#line 4866 "fe/idl.ypp" + case 411: /* opt_op_attribute: %empty */ +#line 4886 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7969 "fe/idl.tab.cpp" +#line 8011 "fe/idl.tab.cpp" break; - case 410: /* op_type_spec: IDL_VOID */ -#line 4874 "fe/idl.ypp" + case 413: /* op_type_spec: IDL_VOID */ +#line 4894 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7980 "fe/idl.tab.cpp" +#line 8022 "fe/idl.tab.cpp" break; - case 411: /* $@119: %empty */ -#line 4884 "fe/idl.ypp" + case 414: /* $@122: %empty */ +#line 4904 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7989 "fe/idl.tab.cpp" +#line 8031 "fe/idl.tab.cpp" break; - case 412: /* @120: %empty */ -#line 4889 "fe/idl.ypp" + case 415: /* @123: %empty */ +#line 4909 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8032,19 +8074,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8036 "fe/idl.tab.cpp" +#line 8078 "fe/idl.tab.cpp" break; - case 413: /* $@121: %empty */ -#line 4932 "fe/idl.ypp" + case 416: /* $@124: %empty */ +#line 4952 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8044 "fe/idl.tab.cpp" +#line 8086 "fe/idl.tab.cpp" break; - case 414: /* init_decl: IDL_FACTORY $@119 IDENTIFIER @120 init_parameter_list $@121 opt_raises */ -#line 4936 "fe/idl.ypp" + case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ +#line 4956 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8059,67 +8101,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8063 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 415: /* $@122: %empty */ -#line 4954 "fe/idl.ypp" + case 418: /* $@125: %empty */ +#line 4974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8071 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 416: /* init_parameter_list: '(' $@122 ')' */ -#line 4958 "fe/idl.ypp" + case 419: /* init_parameter_list: '(' $@125 ')' */ +#line 4978 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8079 "fe/idl.tab.cpp" +#line 8121 "fe/idl.tab.cpp" break; - case 417: /* $@123: %empty */ -#line 4962 "fe/idl.ypp" + case 420: /* $@126: %empty */ +#line 4982 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8087 "fe/idl.tab.cpp" +#line 8129 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@123 at_least_one_in_parameter ')' */ -#line 4967 "fe/idl.ypp" + case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8095 "fe/idl.tab.cpp" +#line 8137 "fe/idl.tab.cpp" break; - case 420: /* $@124: %empty */ -#line 4977 "fe/idl.ypp" + case 423: /* $@127: %empty */ +#line 4997 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8103 "fe/idl.tab.cpp" +#line 8145 "fe/idl.tab.cpp" break; - case 423: /* $@125: %empty */ -#line 4986 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 5006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8111 "fe/idl.tab.cpp" +#line 8153 "fe/idl.tab.cpp" break; - case 424: /* $@126: %empty */ -#line 4990 "fe/idl.ypp" + case 427: /* $@129: %empty */ +#line 5010 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8119 "fe/idl.tab.cpp" +#line 8161 "fe/idl.tab.cpp" break; - case 425: /* in_parameter: IDL_IN $@125 param_type_spec $@126 declarator */ -#line 4994 "fe/idl.ypp" + case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ +#line 5014 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8151,67 +8193,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8155 "fe/idl.tab.cpp" +#line 8197 "fe/idl.tab.cpp" break; - case 426: /* $@127: %empty */ -#line 5029 "fe/idl.ypp" + case 429: /* $@130: %empty */ +#line 5049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8163 "fe/idl.tab.cpp" +#line 8205 "fe/idl.tab.cpp" break; - case 427: /* parameter_list: '(' $@127 ')' */ -#line 5033 "fe/idl.ypp" + case 430: /* parameter_list: '(' $@130 ')' */ +#line 5053 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8171 "fe/idl.tab.cpp" +#line 8213 "fe/idl.tab.cpp" break; - case 428: /* $@128: %empty */ -#line 5037 "fe/idl.ypp" + case 431: /* $@131: %empty */ +#line 5057 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8179 "fe/idl.tab.cpp" +#line 8221 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@128 at_least_one_parameter ')' */ -#line 5042 "fe/idl.ypp" + case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ +#line 5062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8187 "fe/idl.tab.cpp" +#line 8229 "fe/idl.tab.cpp" break; - case 431: /* $@129: %empty */ -#line 5052 "fe/idl.ypp" + case 434: /* $@132: %empty */ +#line 5072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8195 "fe/idl.tab.cpp" +#line 8237 "fe/idl.tab.cpp" break; - case 434: /* $@130: %empty */ -#line 5061 "fe/idl.ypp" + case 437: /* $@133: %empty */ +#line 5081 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8203 "fe/idl.tab.cpp" +#line 8245 "fe/idl.tab.cpp" break; - case 435: /* $@131: %empty */ -#line 5065 "fe/idl.ypp" + case 438: /* $@134: %empty */ +#line 5085 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8211 "fe/idl.tab.cpp" +#line 8253 "fe/idl.tab.cpp" break; - case 436: /* parameter: direction $@130 param_type_spec $@131 declarator */ -#line 5069 "fe/idl.ypp" + case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ +#line 5089 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8250,22 +8292,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8254 "fe/idl.tab.cpp" +#line 8296 "fe/idl.tab.cpp" break; - case 437: /* param_type_spec: base_type_spec */ -#line 5111 "fe/idl.ypp" + case 440: /* param_type_spec: base_type_spec */ +#line 5131 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8265 "fe/idl.tab.cpp" +#line 8307 "fe/idl.tab.cpp" break; - case 440: /* param_type_spec: scoped_name */ -#line 5120 "fe/idl.ypp" + case 443: /* param_type_spec: scoped_name */ +#line 5140 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8369,186 +8411,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8373 "fe/idl.tab.cpp" +#line 8415 "fe/idl.tab.cpp" break; - case 441: /* direction: IDL_IN */ -#line 5227 "fe/idl.ypp" + case 444: /* direction: IDL_IN */ +#line 5247 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8381 "fe/idl.tab.cpp" +#line 8423 "fe/idl.tab.cpp" break; - case 442: /* direction: IDL_OUT */ -#line 5231 "fe/idl.ypp" + case 445: /* direction: IDL_OUT */ +#line 5251 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8389 "fe/idl.tab.cpp" +#line 8431 "fe/idl.tab.cpp" break; - case 443: /* direction: IDL_INOUT */ -#line 5235 "fe/idl.ypp" + case 446: /* direction: IDL_INOUT */ +#line 5255 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8397 "fe/idl.tab.cpp" +#line 8439 "fe/idl.tab.cpp" break; - case 444: /* $@132: %empty */ -#line 5242 "fe/idl.ypp" + case 447: /* $@135: %empty */ +#line 5262 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8405 "fe/idl.tab.cpp" +#line 8447 "fe/idl.tab.cpp" break; - case 445: /* $@133: %empty */ -#line 5246 "fe/idl.ypp" + case 448: /* $@136: %empty */ +#line 5266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8413 "fe/idl.tab.cpp" +#line 8455 "fe/idl.tab.cpp" break; - case 446: /* opt_raises: IDL_RAISES $@132 '(' $@133 at_least_one_scoped_name ')' */ -#line 5251 "fe/idl.ypp" + case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8422 "fe/idl.tab.cpp" +#line 8464 "fe/idl.tab.cpp" break; - case 447: /* opt_raises: %empty */ -#line 5256 "fe/idl.ypp" + case 450: /* opt_raises: %empty */ +#line 5276 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8430 "fe/idl.tab.cpp" +#line 8472 "fe/idl.tab.cpp" break; - case 448: /* $@134: %empty */ -#line 5263 "fe/idl.ypp" + case 451: /* $@137: %empty */ +#line 5283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8438 "fe/idl.tab.cpp" +#line 8480 "fe/idl.tab.cpp" break; - case 449: /* $@135: %empty */ -#line 5267 "fe/idl.ypp" + case 452: /* $@138: %empty */ +#line 5287 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8446 "fe/idl.tab.cpp" +#line 8488 "fe/idl.tab.cpp" break; - case 450: /* opt_getraises: IDL_GETRAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ -#line 5272 "fe/idl.ypp" + case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ +#line 5292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8455 "fe/idl.tab.cpp" +#line 8497 "fe/idl.tab.cpp" break; - case 451: /* opt_getraises: %empty */ -#line 5277 "fe/idl.ypp" + case 454: /* opt_getraises: %empty */ +#line 5297 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8463 "fe/idl.tab.cpp" +#line 8505 "fe/idl.tab.cpp" break; - case 452: /* $@136: %empty */ -#line 5284 "fe/idl.ypp" + case 455: /* $@139: %empty */ +#line 5304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8471 "fe/idl.tab.cpp" +#line 8513 "fe/idl.tab.cpp" break; - case 453: /* $@137: %empty */ -#line 5288 "fe/idl.ypp" + case 456: /* $@140: %empty */ +#line 5308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8479 "fe/idl.tab.cpp" +#line 8521 "fe/idl.tab.cpp" break; - case 454: /* opt_setraises: IDL_SETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5293 "fe/idl.ypp" + case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ +#line 5313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8488 "fe/idl.tab.cpp" +#line 8530 "fe/idl.tab.cpp" break; - case 455: /* opt_setraises: %empty */ -#line 5298 "fe/idl.ypp" + case 458: /* opt_setraises: %empty */ +#line 5318 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8496 "fe/idl.tab.cpp" +#line 8538 "fe/idl.tab.cpp" break; - case 456: /* $@138: %empty */ -#line 5305 "fe/idl.ypp" + case 459: /* $@141: %empty */ +#line 5325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8504 "fe/idl.tab.cpp" +#line 8546 "fe/idl.tab.cpp" break; - case 457: /* $@139: %empty */ -#line 5309 "fe/idl.ypp" + case 460: /* $@142: %empty */ +#line 5329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8512 "fe/idl.tab.cpp" +#line 8554 "fe/idl.tab.cpp" break; - case 458: /* opt_context: IDL_CONTEXT $@138 '(' $@139 at_least_one_string_literal ')' */ -#line 5314 "fe/idl.ypp" + case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ +#line 5334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8521 "fe/idl.tab.cpp" +#line 8563 "fe/idl.tab.cpp" break; - case 459: /* opt_context: %empty */ -#line 5319 "fe/idl.ypp" + case 462: /* opt_context: %empty */ +#line 5339 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8529 "fe/idl.tab.cpp" +#line 8571 "fe/idl.tab.cpp" break; - case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5326 "fe/idl.ypp" + case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5346 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8540 "fe/idl.tab.cpp" +#line 8582 "fe/idl.tab.cpp" break; - case 461: /* $@140: %empty */ -#line 5337 "fe/idl.ypp" + case 464: /* $@143: %empty */ +#line 5357 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8548 "fe/idl.tab.cpp" +#line 8590 "fe/idl.tab.cpp" break; - case 462: /* string_literals: string_literals ',' $@140 IDL_STRING_LITERAL */ -#line 5341 "fe/idl.ypp" + case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ +#line 5361 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8566,19 +8608,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8570 "fe/idl.tab.cpp" +#line 8612 "fe/idl.tab.cpp" break; - case 463: /* string_literals: %empty */ -#line 5359 "fe/idl.ypp" + case 466: /* string_literals: %empty */ +#line 5379 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8578 "fe/idl.tab.cpp" +#line 8620 "fe/idl.tab.cpp" break; - case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5366 "fe/idl.ypp" + case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5386 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8605,11 +8647,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8609 "fe/idl.tab.cpp" +#line 8651 "fe/idl.tab.cpp" break; - case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5396 "fe/idl.ypp" + case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5416 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8645,11 +8687,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8649 "fe/idl.tab.cpp" +#line 8691 "fe/idl.tab.cpp" break; - case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5441 "fe/idl.ypp" + case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5461 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8675,11 +8717,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8679 "fe/idl.tab.cpp" +#line 8721 "fe/idl.tab.cpp" break; - case 469: /* @141: %empty */ -#line 5470 "fe/idl.ypp" + case 472: /* @144: %empty */ +#line 5490 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8721,27 +8763,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8725 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; - case 470: /* $@142: %empty */ -#line 5512 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5532 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8733 "fe/idl.tab.cpp" +#line 8775 "fe/idl.tab.cpp" break; - case 471: /* $@143: %empty */ -#line 5516 "fe/idl.ypp" + case 474: /* $@146: %empty */ +#line 5536 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8741 "fe/idl.tab.cpp" +#line 8783 "fe/idl.tab.cpp" break; - case 472: /* component_decl: component_header @141 '{' $@142 component_exports $@143 '}' */ -#line 5520 "fe/idl.ypp" + case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ +#line 5540 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8752,27 +8794,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8756 "fe/idl.tab.cpp" +#line 8798 "fe/idl.tab.cpp" break; - case 473: /* $@144: %empty */ -#line 5535 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8764 "fe/idl.tab.cpp" +#line 8806 "fe/idl.tab.cpp" break; - case 474: /* $@145: %empty */ -#line 5539 "fe/idl.ypp" + case 477: /* $@148: %empty */ +#line 5559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8772 "fe/idl.tab.cpp" +#line 8814 "fe/idl.tab.cpp" break; - case 475: /* component_header: IDL_COMPONENT defining_id $@144 component_inheritance_spec $@145 supports_spec */ -#line 5543 "fe/idl.ypp" + case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ +#line 5563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8806,35 +8848,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8810 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; - case 476: /* $@146: %empty */ -#line 5580 "fe/idl.ypp" + case 479: /* $@149: %empty */ +#line 5600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8818 "fe/idl.tab.cpp" +#line 8860 "fe/idl.tab.cpp" break; - case 477: /* component_inheritance_spec: ':' $@146 scoped_name */ -#line 5584 "fe/idl.ypp" + case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ +#line 5604 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8826 "fe/idl.tab.cpp" +#line 8868 "fe/idl.tab.cpp" break; - case 478: /* component_inheritance_spec: %empty */ -#line 5588 "fe/idl.ypp" + case 481: /* component_inheritance_spec: %empty */ +#line 5608 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8834 "fe/idl.tab.cpp" +#line 8876 "fe/idl.tab.cpp" break; - case 479: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5595 "fe/idl.ypp" + case 482: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5615 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8849,130 +8891,130 @@ yyparse (void) } delete annotations; } -#line 8853 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 482: /* $@147: %empty */ -#line 5615 "fe/idl.ypp" + case 485: /* $@150: %empty */ +#line 5635 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8861 "fe/idl.tab.cpp" +#line 8903 "fe/idl.tab.cpp" break; - case 483: /* component_export: provides_decl $@147 ';' */ -#line 5619 "fe/idl.ypp" + case 486: /* component_export: provides_decl $@150 ';' */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8870 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 484: /* $@148: %empty */ -#line 5624 "fe/idl.ypp" + case 487: /* $@151: %empty */ +#line 5644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8878 "fe/idl.tab.cpp" +#line 8920 "fe/idl.tab.cpp" break; - case 485: /* component_export: uses_decl $@148 ';' */ -#line 5628 "fe/idl.ypp" + case 488: /* component_export: uses_decl $@151 ';' */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8887 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 486: /* $@149: %empty */ -#line 5633 "fe/idl.ypp" + case 489: /* $@152: %empty */ +#line 5653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8895 "fe/idl.tab.cpp" +#line 8937 "fe/idl.tab.cpp" break; - case 487: /* component_export: emits_decl $@149 ';' */ -#line 5637 "fe/idl.ypp" + case 490: /* component_export: emits_decl $@152 ';' */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8904 "fe/idl.tab.cpp" +#line 8946 "fe/idl.tab.cpp" break; - case 488: /* $@150: %empty */ -#line 5642 "fe/idl.ypp" + case 491: /* $@153: %empty */ +#line 5662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8912 "fe/idl.tab.cpp" +#line 8954 "fe/idl.tab.cpp" break; - case 489: /* component_export: publishes_decl $@150 ';' */ -#line 5646 "fe/idl.ypp" + case 492: /* component_export: publishes_decl $@153 ';' */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8921 "fe/idl.tab.cpp" +#line 8963 "fe/idl.tab.cpp" break; - case 490: /* $@151: %empty */ -#line 5651 "fe/idl.ypp" + case 493: /* $@154: %empty */ +#line 5671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8929 "fe/idl.tab.cpp" +#line 8971 "fe/idl.tab.cpp" break; - case 491: /* component_export: consumes_decl $@151 ';' */ -#line 5655 "fe/idl.ypp" + case 494: /* component_export: consumes_decl $@154 ';' */ +#line 5675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8938 "fe/idl.tab.cpp" +#line 8980 "fe/idl.tab.cpp" break; - case 492: /* $@152: %empty */ -#line 5660 "fe/idl.ypp" + case 495: /* $@155: %empty */ +#line 5680 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8946 "fe/idl.tab.cpp" +#line 8988 "fe/idl.tab.cpp" break; - case 493: /* component_export: attribute $@152 ';' */ -#line 5664 "fe/idl.ypp" + case 496: /* component_export: attribute $@155 ';' */ +#line 5684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8955 "fe/idl.tab.cpp" +#line 8997 "fe/idl.tab.cpp" break; - case 494: /* $@153: %empty */ -#line 5669 "fe/idl.ypp" + case 497: /* $@156: %empty */ +#line 5689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8963 "fe/idl.tab.cpp" +#line 9005 "fe/idl.tab.cpp" break; - case 495: /* component_export: extended_port_decl $@153 ';' */ -#line 5673 "fe/idl.ypp" + case 498: /* component_export: extended_port_decl $@156 ';' */ +#line 5693 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8972 "fe/idl.tab.cpp" +#line 9014 "fe/idl.tab.cpp" break; - case 496: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5680 "fe/idl.ypp" + case 499: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5700 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9062,21 +9104,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9066 "fe/idl.tab.cpp" +#line 9108 "fe/idl.tab.cpp" break; - case 497: /* interface_type: scoped_name */ -#line 5773 "fe/idl.ypp" + case 500: /* interface_type: scoped_name */ +#line 5793 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9076 "fe/idl.tab.cpp" +#line 9118 "fe/idl.tab.cpp" break; - case 498: /* interface_type: IDL_OBJECT */ -#line 5779 "fe/idl.ypp" + case 501: /* interface_type: IDL_OBJECT */ +#line 5799 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9099,11 +9141,11 @@ yyparse (void) conc_name), 1); } -#line 9103 "fe/idl.tab.cpp" +#line 9145 "fe/idl.tab.cpp" break; - case 499: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5804 "fe/idl.ypp" + case 502: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5824 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9207,37 +9249,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9211 "fe/idl.tab.cpp" +#line 9253 "fe/idl.tab.cpp" break; - case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5911 "fe/idl.ypp" + case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5931 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9221 "fe/idl.tab.cpp" +#line 9263 "fe/idl.tab.cpp" break; - case 501: /* opt_multiple: IDL_MULTIPLE */ -#line 5920 "fe/idl.ypp" + case 504: /* opt_multiple: IDL_MULTIPLE */ +#line 5940 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9229 "fe/idl.tab.cpp" +#line 9271 "fe/idl.tab.cpp" break; - case 502: /* opt_multiple: %empty */ -#line 5924 "fe/idl.ypp" + case 505: /* opt_multiple: %empty */ +#line 5944 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9237 "fe/idl.tab.cpp" +#line 9279 "fe/idl.tab.cpp" break; - case 503: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5931 "fe/idl.ypp" + case 506: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5951 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9309,11 +9351,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9313 "fe/idl.tab.cpp" +#line 9355 "fe/idl.tab.cpp" break; - case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6006 "fe/idl.ypp" + case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6026 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9382,11 +9424,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9386 "fe/idl.tab.cpp" +#line 9428 "fe/idl.tab.cpp" break; - case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6078 "fe/idl.ypp" + case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6098 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9458,11 +9500,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9462 "fe/idl.tab.cpp" +#line 9504 "fe/idl.tab.cpp" break; - case 506: /* $@154: %empty */ -#line 6153 "fe/idl.ypp" + case 509: /* $@157: %empty */ +#line 6173 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9499,11 +9541,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9503 "fe/idl.tab.cpp" +#line 9545 "fe/idl.tab.cpp" break; - case 507: /* home_decl: home_header $@154 home_body */ -#line 6190 "fe/idl.ypp" + case 510: /* home_decl: home_header $@157 home_body */ +#line 6210 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9512,59 +9554,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9516 "fe/idl.tab.cpp" +#line 9558 "fe/idl.tab.cpp" break; - case 508: /* $@155: %empty */ -#line 6202 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9524 "fe/idl.tab.cpp" +#line 9566 "fe/idl.tab.cpp" break; - case 509: /* $@156: %empty */ -#line 6206 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9532 "fe/idl.tab.cpp" +#line 9574 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6210 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6230 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9540 "fe/idl.tab.cpp" +#line 9582 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6214 "fe/idl.ypp" + case 514: /* $@161: %empty */ +#line 6234 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9548 "fe/idl.tab.cpp" +#line 9590 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6218 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6238 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9556 "fe/idl.tab.cpp" +#line 9598 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6222 "fe/idl.ypp" + case 516: /* $@163: %empty */ +#line 6242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9564 "fe/idl.tab.cpp" +#line 9606 "fe/idl.tab.cpp" break; - case 514: /* home_header: IDL_HOME $@155 defining_id $@156 home_inheritance_spec $@157 supports_spec $@158 IDL_MANAGES $@159 scoped_name $@160 primary_key_spec */ -#line 6226 "fe/idl.ypp" + case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ +#line 6246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9610,107 +9652,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9614 "fe/idl.tab.cpp" +#line 9656 "fe/idl.tab.cpp" break; - case 515: /* $@161: %empty */ -#line 6275 "fe/idl.ypp" + case 518: /* $@164: %empty */ +#line 6295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9622 "fe/idl.tab.cpp" +#line 9664 "fe/idl.tab.cpp" break; - case 516: /* home_inheritance_spec: ':' $@161 scoped_name */ -#line 6279 "fe/idl.ypp" + case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ +#line 6299 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9630 "fe/idl.tab.cpp" +#line 9672 "fe/idl.tab.cpp" break; - case 517: /* home_inheritance_spec: %empty */ -#line 6283 "fe/idl.ypp" + case 520: /* home_inheritance_spec: %empty */ +#line 6303 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9638 "fe/idl.tab.cpp" +#line 9680 "fe/idl.tab.cpp" break; - case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6291 "fe/idl.ypp" + case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6311 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9646 "fe/idl.tab.cpp" +#line 9688 "fe/idl.tab.cpp" break; - case 519: /* primary_key_spec: %empty */ -#line 6295 "fe/idl.ypp" + case 522: /* primary_key_spec: %empty */ +#line 6315 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9654 "fe/idl.tab.cpp" +#line 9696 "fe/idl.tab.cpp" break; - case 520: /* $@162: %empty */ -#line 6302 "fe/idl.ypp" + case 523: /* $@165: %empty */ +#line 6322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9662 "fe/idl.tab.cpp" +#line 9704 "fe/idl.tab.cpp" break; - case 521: /* $@163: %empty */ -#line 6306 "fe/idl.ypp" + case 524: /* $@166: %empty */ +#line 6326 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9670 "fe/idl.tab.cpp" +#line 9712 "fe/idl.tab.cpp" break; - case 522: /* home_body: '{' $@162 home_exports $@163 '}' */ -#line 6310 "fe/idl.ypp" + case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ +#line 6330 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9678 "fe/idl.tab.cpp" +#line 9720 "fe/idl.tab.cpp" break; - case 526: /* $@164: %empty */ -#line 6323 "fe/idl.ypp" + case 529: /* $@167: %empty */ +#line 6343 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9686 "fe/idl.tab.cpp" +#line 9728 "fe/idl.tab.cpp" break; - case 527: /* home_export: factory_decl $@164 ';' */ -#line 6327 "fe/idl.ypp" + case 530: /* home_export: factory_decl $@167 ';' */ +#line 6347 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9694 "fe/idl.tab.cpp" +#line 9736 "fe/idl.tab.cpp" break; - case 528: /* $@165: %empty */ -#line 6331 "fe/idl.ypp" + case 531: /* $@168: %empty */ +#line 6351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9702 "fe/idl.tab.cpp" +#line 9744 "fe/idl.tab.cpp" break; - case 529: /* home_export: finder_decl $@165 ';' */ -#line 6335 "fe/idl.ypp" + case 532: /* home_export: finder_decl $@168 ';' */ +#line 6355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9710 "fe/idl.tab.cpp" +#line 9752 "fe/idl.tab.cpp" break; - case 530: /* $@166: %empty */ -#line 6343 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6363 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9733,19 +9775,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9737 "fe/idl.tab.cpp" +#line 9779 "fe/idl.tab.cpp" break; - case 531: /* $@167: %empty */ -#line 6366 "fe/idl.ypp" + case 534: /* $@170: %empty */ +#line 6386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9745 "fe/idl.tab.cpp" +#line 9787 "fe/idl.tab.cpp" break; - case 532: /* factory_decl: IDL_FACTORY defining_id $@166 init_parameter_list $@167 opt_raises */ -#line 6370 "fe/idl.ypp" + case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ +#line 6390 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9763,11 +9805,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9767 "fe/idl.tab.cpp" +#line 9809 "fe/idl.tab.cpp" break; - case 533: /* $@168: %empty */ -#line 6392 "fe/idl.ypp" + case 536: /* $@171: %empty */ +#line 6412 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9794,19 +9836,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9798 "fe/idl.tab.cpp" +#line 9840 "fe/idl.tab.cpp" break; - case 534: /* $@169: %empty */ -#line 6419 "fe/idl.ypp" + case 537: /* $@172: %empty */ +#line 6439 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9806 "fe/idl.tab.cpp" +#line 9848 "fe/idl.tab.cpp" break; - case 535: /* finder_decl: IDL_FINDER defining_id $@168 init_parameter_list $@169 opt_raises */ -#line 6423 "fe/idl.ypp" + case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ +#line 6443 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9824,11 +9866,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9828 "fe/idl.tab.cpp" +#line 9870 "fe/idl.tab.cpp" break; - case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6456 "fe/idl.ypp" + case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6476 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9853,11 +9895,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9857 "fe/idl.tab.cpp" +#line 9899 "fe/idl.tab.cpp" break; - case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6486 "fe/idl.ypp" + case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6506 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9882,11 +9924,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9886 "fe/idl.tab.cpp" +#line 9928 "fe/idl.tab.cpp" break; - case 543: /* $@170: %empty */ -#line 6515 "fe/idl.ypp" + case 546: /* $@173: %empty */ +#line 6535 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9930,27 +9972,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9934 "fe/idl.tab.cpp" +#line 9976 "fe/idl.tab.cpp" break; - case 544: /* $@171: %empty */ -#line 6559 "fe/idl.ypp" + case 547: /* $@174: %empty */ +#line 6579 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9942 "fe/idl.tab.cpp" +#line 9984 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6563 "fe/idl.ypp" + case 548: /* $@175: %empty */ +#line 6583 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9950 "fe/idl.tab.cpp" +#line 9992 "fe/idl.tab.cpp" break; - case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@170 '{' $@171 exports $@172 '}' */ -#line 6567 "fe/idl.ypp" + case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ +#line 6587 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9961,19 +10003,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9965 "fe/idl.tab.cpp" +#line 10007 "fe/idl.tab.cpp" break; - case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6583 "fe/idl.ypp" + case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6603 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9973 "fe/idl.tab.cpp" +#line 10015 "fe/idl.tab.cpp" break; - case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6592 "fe/idl.ypp" + case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9986,29 +10028,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9990 "fe/idl.tab.cpp" +#line 10032 "fe/idl.tab.cpp" break; - case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6609 "fe/idl.ypp" + case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10000 "fe/idl.tab.cpp" +#line 10042 "fe/idl.tab.cpp" break; - case 550: /* $@173: %empty */ -#line 6618 "fe/idl.ypp" + case 553: /* $@176: %empty */ +#line 6638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10008 "fe/idl.tab.cpp" +#line 10050 "fe/idl.tab.cpp" break; - case 551: /* event_rest_of_header: inheritance_spec $@173 supports_spec */ -#line 6622 "fe/idl.ypp" + case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ +#line 6642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10037,11 +10079,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10041 "fe/idl.tab.cpp" +#line 10083 "fe/idl.tab.cpp" break; - case 552: /* @174: %empty */ -#line 6655 "fe/idl.ypp" + case 555: /* @177: %empty */ +#line 6675 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10092,27 +10134,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10096 "fe/idl.tab.cpp" +#line 10138 "fe/idl.tab.cpp" break; - case 553: /* $@175: %empty */ -#line 6706 "fe/idl.ypp" + case 556: /* $@178: %empty */ +#line 6726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10104 "fe/idl.tab.cpp" +#line 10146 "fe/idl.tab.cpp" break; - case 554: /* $@176: %empty */ -#line 6710 "fe/idl.ypp" + case 557: /* $@179: %empty */ +#line 6730 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10112 "fe/idl.tab.cpp" +#line 10154 "fe/idl.tab.cpp" break; - case 555: /* event_decl: event_header event_rest_of_header @174 '{' $@175 value_elements $@176 '}' */ -#line 6714 "fe/idl.ypp" + case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ +#line 6734 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10123,108 +10165,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10127 "fe/idl.tab.cpp" +#line 10169 "fe/idl.tab.cpp" break; - case 556: /* event_header: event_custom_header */ -#line 6728 "fe/idl.ypp" + case 559: /* event_header: event_custom_header */ +#line 6748 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10135 "fe/idl.tab.cpp" +#line 10177 "fe/idl.tab.cpp" break; - case 557: /* event_header: event_plain_header */ -#line 6732 "fe/idl.ypp" + case 560: /* event_header: event_plain_header */ +#line 6752 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10143 "fe/idl.tab.cpp" +#line 10185 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_TYPENAME */ -#line 6739 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_TYPENAME */ +#line 6759 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10151 "fe/idl.tab.cpp" +#line 10193 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_STRUCT */ -#line 6743 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_STRUCT */ +#line 6763 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10159 "fe/idl.tab.cpp" +#line 10201 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_UNION */ -#line 6747 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_UNION */ +#line 6767 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10167 "fe/idl.tab.cpp" +#line 10209 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6751 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6771 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10175 "fe/idl.tab.cpp" +#line 10217 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6755 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6775 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10183 "fe/idl.tab.cpp" +#line 10225 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_INTERFACE */ -#line 6759 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_INTERFACE */ +#line 6779 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10191 "fe/idl.tab.cpp" +#line 10233 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6763 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6783 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10199 "fe/idl.tab.cpp" +#line 10241 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_ENUM */ -#line 6767 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_ENUM */ +#line 6787 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10207 "fe/idl.tab.cpp" +#line 10249 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6771 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6791 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10215 "fe/idl.tab.cpp" +#line 10257 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_CONST const_type */ -#line 6775 "fe/idl.ypp" + case 570: /* formal_parameter_type: IDL_CONST const_type */ +#line 6795 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10224 "fe/idl.tab.cpp" +#line 10266 "fe/idl.tab.cpp" break; - case 568: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6783 "fe/idl.ypp" + case 571: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6803 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10252,11 +10294,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10256 "fe/idl.tab.cpp" +#line 10298 "fe/idl.tab.cpp" break; - case 569: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6814 "fe/idl.ypp" + case 572: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6834 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10269,19 +10311,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10273 "fe/idl.tab.cpp" +#line 10315 "fe/idl.tab.cpp" break; - case 570: /* formal_parameters: %empty */ -#line 6827 "fe/idl.ypp" + case 573: /* formal_parameters: %empty */ +#line 6847 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10281 "fe/idl.tab.cpp" +#line 10323 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6834 "fe/idl.ypp" + case 574: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6854 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10306,11 +10348,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10310 "fe/idl.tab.cpp" +#line 10352 "fe/idl.tab.cpp" break; - case 572: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6859 "fe/idl.ypp" + case 575: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6879 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10325,19 +10367,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10329 "fe/idl.tab.cpp" +#line 10371 "fe/idl.tab.cpp" break; - case 573: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6877 "fe/idl.ypp" + case 576: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6897 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10337 "fe/idl.tab.cpp" +#line 10379 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6884 "fe/idl.ypp" + case 577: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6904 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10352,37 +10394,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10356 "fe/idl.tab.cpp" +#line 10398 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter_names: %empty */ -#line 6899 "fe/idl.ypp" + case 578: /* formal_parameter_names: %empty */ +#line 6919 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10364 "fe/idl.tab.cpp" +#line 10406 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter_name: IDENTIFIER */ -#line 6906 "fe/idl.ypp" + case 579: /* formal_parameter_name: IDENTIFIER */ +#line 6926 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10374 "fe/idl.tab.cpp" +#line 10416 "fe/idl.tab.cpp" break; - case 577: /* $@177: %empty */ -#line 6915 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10382 "fe/idl.tab.cpp" +#line 10424 "fe/idl.tab.cpp" break; - case 578: /* @178: %empty */ -#line 6919 "fe/idl.ypp" + case 581: /* @181: %empty */ +#line 6939 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10401,27 +10443,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10405 "fe/idl.tab.cpp" +#line 10447 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6938 "fe/idl.ypp" + case 582: /* $@182: %empty */ +#line 6958 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10413 "fe/idl.tab.cpp" +#line 10455 "fe/idl.tab.cpp" break; - case 580: /* $@180: %empty */ -#line 6946 "fe/idl.ypp" + case 583: /* $@183: %empty */ +#line 6966 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10421 "fe/idl.tab.cpp" +#line 10463 "fe/idl.tab.cpp" break; - case 581: /* porttype_decl: IDL_PORTTYPE $@177 IDENTIFIER @178 '{' $@179 at_least_one_port_export $@180 '}' */ -#line 6950 "fe/idl.ypp" + case 584: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ +#line 6970 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10430,11 +10472,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10434 "fe/idl.tab.cpp" +#line 10476 "fe/idl.tab.cpp" break; - case 582: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6962 "fe/idl.ypp" + case 585: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6982 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10449,27 +10491,27 @@ yyparse (void) } delete annotations; } -#line 10453 "fe/idl.tab.cpp" +#line 10495 "fe/idl.tab.cpp" break; - case 588: /* $@181: %empty */ -#line 6988 "fe/idl.ypp" + case 591: /* $@184: %empty */ +#line 7008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10461 "fe/idl.tab.cpp" +#line 10503 "fe/idl.tab.cpp" break; - case 589: /* port_export: attribute $@181 ';' */ -#line 6992 "fe/idl.ypp" + case 592: /* port_export: attribute $@184 ';' */ +#line 7012 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10469 "fe/idl.tab.cpp" +#line 10511 "fe/idl.tab.cpp" break; - case 590: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6999 "fe/idl.ypp" + case 593: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10536,11 +10578,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10540 "fe/idl.tab.cpp" +#line 10582 "fe/idl.tab.cpp" break; - case 591: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7066 "fe/idl.ypp" + case 594: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7086 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10585,11 +10627,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10589 "fe/idl.tab.cpp" +#line 10631 "fe/idl.tab.cpp" break; - case 592: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7114 "fe/idl.ypp" + case 595: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7134 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10602,11 +10644,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10606 "fe/idl.tab.cpp" +#line 10648 "fe/idl.tab.cpp" break; - case 593: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7130 "fe/idl.ypp" + case 596: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7150 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10619,19 +10661,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10623 "fe/idl.tab.cpp" +#line 10665 "fe/idl.tab.cpp" break; - case 594: /* actual_parameters: %empty */ -#line 7143 "fe/idl.ypp" + case 597: /* actual_parameters: %empty */ +#line 7163 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10631 "fe/idl.tab.cpp" +#line 10673 "fe/idl.tab.cpp" break; - case 595: /* actual_parameter: expression */ -#line 7150 "fe/idl.ypp" + case 598: /* actual_parameter: expression */ +#line 7170 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10687,35 +10729,35 @@ yyparse (void) 0); } } -#line 10691 "fe/idl.tab.cpp" +#line 10733 "fe/idl.tab.cpp" break; - case 596: /* connector_decl: connector_header connector_body */ -#line 7209 "fe/idl.ypp" + case 599: /* connector_decl: connector_header connector_body */ +#line 7229 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10699 "fe/idl.tab.cpp" +#line 10741 "fe/idl.tab.cpp" break; - case 597: /* $@182: %empty */ -#line 7216 "fe/idl.ypp" + case 600: /* $@185: %empty */ +#line 7236 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10707 "fe/idl.tab.cpp" +#line 10749 "fe/idl.tab.cpp" break; - case 598: /* $@183: %empty */ -#line 7220 "fe/idl.ypp" + case 601: /* $@186: %empty */ +#line 7240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10715 "fe/idl.tab.cpp" +#line 10757 "fe/idl.tab.cpp" break; - case 599: /* connector_header: IDL_CONNECTOR $@182 annotations_maybe IDENTIFIER $@183 component_inheritance_spec */ -#line 7224 "fe/idl.ypp" + case 602: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ +#line 7244 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10769,102 +10811,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10773 "fe/idl.tab.cpp" +#line 10815 "fe/idl.tab.cpp" break; - case 600: /* $@184: %empty */ -#line 7281 "fe/idl.ypp" + case 603: /* $@187: %empty */ +#line 7301 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10781 "fe/idl.tab.cpp" +#line 10823 "fe/idl.tab.cpp" break; - case 601: /* $@185: %empty */ -#line 7285 "fe/idl.ypp" + case 604: /* $@188: %empty */ +#line 7305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10789 "fe/idl.tab.cpp" +#line 10831 "fe/idl.tab.cpp" break; - case 602: /* connector_body: '{' $@184 connector_exports $@185 '}' */ -#line 7289 "fe/idl.ypp" + case 605: /* connector_body: '{' $@187 connector_exports $@188 '}' */ +#line 7309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10800 "fe/idl.tab.cpp" +#line 10842 "fe/idl.tab.cpp" break; - case 605: /* $@186: %empty */ -#line 7304 "fe/idl.ypp" + case 608: /* $@189: %empty */ +#line 7324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10808 "fe/idl.tab.cpp" +#line 10850 "fe/idl.tab.cpp" break; - case 606: /* connector_export: provides_decl $@186 ';' */ -#line 7308 "fe/idl.ypp" + case 609: /* connector_export: provides_decl $@189 ';' */ +#line 7328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10816 "fe/idl.tab.cpp" +#line 10858 "fe/idl.tab.cpp" break; - case 607: /* $@187: %empty */ -#line 7312 "fe/idl.ypp" + case 610: /* $@190: %empty */ +#line 7332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10824 "fe/idl.tab.cpp" +#line 10866 "fe/idl.tab.cpp" break; - case 608: /* connector_export: uses_decl $@187 ';' */ -#line 7316 "fe/idl.ypp" + case 611: /* connector_export: uses_decl $@190 ';' */ +#line 7336 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10832 "fe/idl.tab.cpp" +#line 10874 "fe/idl.tab.cpp" break; - case 609: /* $@188: %empty */ -#line 7320 "fe/idl.ypp" + case 612: /* $@191: %empty */ +#line 7340 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10840 "fe/idl.tab.cpp" +#line 10882 "fe/idl.tab.cpp" break; - case 610: /* connector_export: attribute $@188 ';' */ -#line 7324 "fe/idl.ypp" + case 613: /* connector_export: attribute $@191 ';' */ +#line 7344 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10848 "fe/idl.tab.cpp" +#line 10890 "fe/idl.tab.cpp" break; - case 611: /* $@189: %empty */ -#line 7328 "fe/idl.ypp" + case 614: /* $@192: %empty */ +#line 7348 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10856 "fe/idl.tab.cpp" +#line 10898 "fe/idl.tab.cpp" break; - case 612: /* connector_export: extended_port_decl $@189 ';' */ -#line 7332 "fe/idl.ypp" + case 615: /* connector_export: extended_port_decl $@192 ';' */ +#line 7352 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10864 "fe/idl.tab.cpp" +#line 10906 "fe/idl.tab.cpp" break; -#line 10868 "fe/idl.tab.cpp" +#line 10910 "fe/idl.tab.cpp" default: break; } @@ -11057,7 +11099,7 @@ yyparse (void) return yyresult; } -#line 7337 "fe/idl.ypp" +#line 7357 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 9d9321ae5a8a5..c3e3476e4f74c 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -156,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 164 "fe/idl.ypp" +#line 166 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ @@ -200,8 +200,9 @@ union YYSTYPE AST_Annotation_Decl *annotation_decl_val; AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; + Decl_Annotations_Pair_Pair* decl_annotations_pair_val_pair; -#line 205 "fe/idl.tab.hpp" +#line 206 "fe/idl.tab.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index b83ec04e4e084..e21ed87d2e0d5 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -204,6 +204,7 @@ bool stack_based_lookup_for_primary_expr = false; AST_Annotation_Decl *annotation_decl_val; AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; + Decl_Annotations_Pair_Pair* decl_annotations_pair_val_pair; } /* @@ -404,7 +405,9 @@ bool stack_based_lookup_for_primary_expr = false; %type annotation_appl_params_maybe annotation_appl_params %type named_annotation_appl_params more_named_annotation_appl_params %type named_annotation_appl_param -%type seq_head map_type +%type seq_head + +%type map_head %type member_i state_member value_element %type visibility @@ -3892,21 +3895,22 @@ enumerator : } ; -map_type_spec : - IDL_MAP +map_type_spec + : map_head + ',' { - idl_global->scopes ().push (0); + idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); + } + positive_int_expr + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); } - '<' - map_type - ',' - map_type '>' { - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $4; - Decl_Annotations_Pair *val_type = $6; + Decl_Annotations_Pair_Pair* type_pair = $1; + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -3934,14 +3938,10 @@ map_type_spec : { Identifier id ("map"); UTL_ScopedName sn (&id, 0); - ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - idl_global->gen ()->create_expr ( - bound, - AST_Expression::EV_ulong - ), + $4, ktp, vtp, &sn, @@ -3957,26 +3957,16 @@ map_type_spec : delete key_type->annotations; delete val_type->annotations; + delete type_pair; $$ = map; } - | IDL_MAP - /* { - Adding this causes error: 1 reduce/reduce conflict [-Werror=conflicts-rr] - idl_global->scopes ().push (0); - } */ - '<' - map_type - ',' - map_type - ',' - positive_int_expr - '>' + | map_head + '>' { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $3; - Decl_Annotations_Pair *val_type = $5; + Decl_Annotations_Pair_Pair* type_pair = $1; + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -4004,10 +3994,14 @@ map_type_spec : { Identifier id ("map"); UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - $7, + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), ktp, vtp, &sn, @@ -4023,18 +4017,42 @@ map_type_spec : delete key_type->annotations; delete val_type->annotations; + delete type_pair; $$ = map; } ; -map_type : +map_head : + IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); + + /* + * Push a sequence marker on scopes stack. + */ + idl_global->scopes ().push (0); + } + '<' + annotations_maybe simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); + } + ',' annotations_maybe simple_type_spec { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; - pair->decl = $2; - pair->annotations = $1; - $$ = pair; + idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); + Decl_Annotations_Pair *key = new Decl_Annotations_Pair; + key->decl = $5; + key->annotations = $4; + + Decl_Annotations_Pair *value = new Decl_Annotations_Pair; + value->decl = $9; + value->annotations = $8; + + Decl_Annotations_Pair_Pair* pairs = new Decl_Annotations_Pair_Pair; + pairs->first = key; + pairs->second = value; + $$ = pairs; } ; diff --git a/TAO/TAO_IDL/include/ast_annotation_appl.h b/TAO/TAO_IDL/include/ast_annotation_appl.h index 941a8ab088349..ce160a1c7d8db 100644 --- a/TAO/TAO_IDL/include/ast_annotation_appl.h +++ b/TAO/TAO_IDL/include/ast_annotation_appl.h @@ -107,4 +107,9 @@ struct Decl_Annotations_Pair { AST_Annotation_Appls *annotations; }; +struct Decl_Annotations_Pair_Pair { + Decl_Annotations_Pair *first; + Decl_Annotations_Pair *second; +}; + #endif diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index bf594fd6a92e7..c50beaf642118 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,8 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapKeyTypeSeen // Seen a key type decl for map + , PS_MapValueTypeSeen // Seen a value type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From fd1f1baf024f53c46e0ace99d8a3a54985c736dd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 10 Jun 2022 21:56:43 -0400 Subject: [PATCH 23/92] Added maps in the idl_features --- TAO/tao/idl_features.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/idl_features.h b/TAO/tao/idl_features.h index c9453aede18ba..58c70c23e22a0 100644 --- a/TAO/tao/idl_features.h +++ b/TAO/tao/idl_features.h @@ -65,7 +65,7 @@ #endif #ifndef TAO_IDL_HAS_MAP -# define TAO_IDL_HAS_MAP 0 +# define TAO_IDL_HAS_MAP TAO_IDL_VERSION >= 0x40000 #endif #ifndef TAO_IDL_HAS_BITSET From 7b4251e54ba02e71e94bdb5cd1e3b76c55b7aa37 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 20:57:13 -0400 Subject: [PATCH 24/92] maps almost being generated via code, still very messy --- TAO/TAO_IDL/be/be_codegen.cpp | 3 + TAO/TAO_IDL/be/be_generator.cpp | 22 + TAO/TAO_IDL/be/be_map.cpp | 924 ++++++++++++++++++ TAO/TAO_IDL/be/be_type.cpp | 12 + TAO/TAO_IDL/be/be_visitor.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/field.h | 1 + TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 89 ++ TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp | 6 + TAO/TAO_IDL/be/be_visitor_map/map.h | 47 + TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 387 ++++++++ TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 282 ++++++ TAO/TAO_IDL/be_include/be_generator.h | 7 + TAO/TAO_IDL/be_include/be_map.h | 129 +++ TAO/TAO_IDL/be_include/be_type.h | 7 + TAO/TAO_IDL/be_include/be_visitor.h | 2 + .../be_include/be_visitor_field/cdr_op_ch.h | 1 + .../be_include/be_visitor_field/cdr_op_cs.h | 1 + .../be_include/be_visitor_field/field_ch.h | 1 + .../be_include/be_visitor_field/field_ci.h | 1 + .../be_include/be_visitor_field/field_cs.h | 1 + TAO/TAO_IDL/be_include/be_visitor_map.h | 18 + .../be_include/be_visitor_map/map_ch.h | 44 + .../be_include/be_visitor_map/map_cs.h | 41 + TAO/TAO_IDL/include/idl_global.h | 7 + TAO/TAO_IDL/util/utl_global.cpp | 23 + 28 files changed, 2080 insertions(+) create mode 100644 TAO/TAO_IDL/be/be_map.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map.h create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp create mode 100644 TAO/TAO_IDL/be_include/be_map.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 2a7d2054e4862..40d9d3f0ac6d4 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,6 +231,9 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } + // TODO probably not what's supposed to be done here + *this->client_header() << "#include "; + if (be_global->unique_include () != nullptr) { *this->client_header_ << "\n#include \"" diff --git a/TAO/TAO_IDL/be/be_generator.cpp b/TAO/TAO_IDL/be/be_generator.cpp index 541792d3e0c76..bb07362ac5eac 100644 --- a/TAO/TAO_IDL/be/be_generator.cpp +++ b/TAO/TAO_IDL/be/be_generator.cpp @@ -108,6 +108,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "be_enum_val.h" #include "be_array.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_typedef.h" #include "be_native.h" @@ -882,6 +883,27 @@ be_generator::create_sequence (AST_Expression *v, return retval; } +AST_Map * +be_generator::create_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) +{ + be_map *retval = nullptr; + ACE_NEW_RETURN (retval, + be_map (v, + kt, + vt, + n, + is_local, + is_abstract), + nullptr); + + return retval; +} + AST_String * be_generator::create_string (AST_Expression *v) { diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp new file mode 100644 index 0000000000000..befb2a291618d --- /dev/null +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -0,0 +1,924 @@ + +//============================================================================= +/** + * @file be_map.cpp + * + * Extension of class AST_Sequence that provides additional means for C++ + * mapping. + * + * @author Copyright 1994-1995 by Sun Microsystems + * @author Inc. and Aniruddha Gokhale + */ +//============================================================================= + +#include "be_map.h" +#include "ast_decl.h" +#include "ast_predefined_type.h" +#include "be_typedef.h" +#include "be_interface.h" +#include "be_interface_fwd.h" +#include "be_predefined_type.h" +#include "be_field.h" +#include "be_string.h" +#include "be_visitor.h" +#include "be_helper.h" +#include "be_extern.h" + +#include "utl_identifier.h" +#include "idl_defines.h" +#include "nr_extern.h" +#include "global_extern.h" + +#include "ace/Log_Msg.h" + +be_map::be_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool local, + bool abstract) + : COMMON_Base (kt->is_local () || vt->is_local() || local, + abstract), + AST_Decl (AST_Decl::NT_map, + n, + true), + AST_Type (AST_Decl::NT_map, + n), + AST_ConcreteType (AST_Decl::NT_map, + n), + AST_Map (v, + kt, + vt, + n, + kt->is_local () || vt->is_local () || local, + abstract), + UTL_Scope (AST_Decl::NT_map), + be_scope (AST_Decl::NT_map), + be_decl (AST_Decl::NT_map, + n), + be_type (AST_Decl::NT_map, + n), + mt_ (be_map::MNG_UNKNOWN), + field_node_ (nullptr) +{ + // Always the case. + this->has_constructor (true); + + // Don't want to set any bits below for imported nodes. + if (this->imported ()) + { + return; + } + + // This one gets set for all sequences, in addition to any specialized + // one that may get set below. + idl_global->seq_seen_ = true; + idl_global->var_size_decl_seen_ = true; + + // Don't need the return value - just set the member. + (void) this->managed_type (); + + switch (this->mt_) + { + case MNG_OBJREF: + idl_global->iface_seq_seen_ = true; + break; + case MNG_PSEUDO: + idl_global->pseudo_seq_seen_ = true; + break; + case MNG_VALUE: + idl_global->vt_seq_seen_ = true; + break; + case MNG_STRING: + idl_global->string_seq_seen_ = true; + break; + case MNG_WSTRING: + idl_global->wstring_seq_seen_ = true; + break; + default: + break; + } + + AST_Type *const key_type = primitive_key_type (); + if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) + { + AST_PredefinedType *pdt = dynamic_cast (key_type); + switch (pdt->pt ()) + { + case AST_PredefinedType::PT_octet: + idl_global->octet_map_seen_ = true; + break; + default: + break; + } + } + + AST_Type *const value_type = primitive_value_type(); + if (value_type && value_type->node_type() == AST_Decl::NT_pre_defined) + { + AST_PredefinedType *pdt = dynamic_cast (key_type); + switch(pdt->pt()) + { + case AST_PredefinedType::PT_octet: + idl_global->octet_map_seen_ = true; + break; + default: + break; + } + } +} + +be_type * +be_map::key_type () const +{ + return + dynamic_cast ( + this->AST_Map::key_type ()); +} + +be_type * +be_map::value_type () const +{ + return + dynamic_cast ( + this->AST_Map::value_type ()); +} + +be_type * +be_map::primitive_key_type () const +{ + be_type *type_node = key_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + be_typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +be_type * +be_map::primitive_value_type () const +{ + be_type *type_node = value_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + be_typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +// Helper to create_name. +char * +be_map::gen_name () +{ + char namebuf [NAMEBUFSIZE]; + be_type *kt = nullptr; + be_type *vt = nullptr; + + // Reset the buffer. + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); + + // Retrieve the key type. + kt = dynamic_cast (this->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad key type\n"), + 0); + } + + // Retrieve the key type. + vt = dynamic_cast (this->value_type ()); + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad value type\n"), + 0); + } + + // If this is non-zero, add its local name to the generated name, + // for uniqueness. + be_field *fn = this->field_node_; + + // if (kt->node_type () == AST_Decl::NT_map) + // { + // // Our base type is an anonymous map. + // be_map *map = dynamic_cast (kt); + + // if (map == nullptr) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // "(%N:%l) be_map::" + // "gen_name - " + // "error converting key type to map\n"), + // 0); + // } + + // // If the nested sequence were defined in + // // the scope of the enclosing sequence, we would have to + // // not only define the nested class in two places, but also + // // deal with the fact that, for the template classes, the + // // enclosing sequence's template type is a class defined + // // inside it. So we define the nested sequence in the next + // // scope up, and the existing code generation works for both + // // template and non-template implementations of IDL sequences. + // UTL_Scope *parent = this->defined_in (); + // map->set_defined_in (parent); + // char *map_name = map->gen_name (); + + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_%s", + // map_name, + // fn ? fn->local_name ()->get_string () : ""); + // ACE::strdelete (map_name); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_", + // kt->flat_name ()); + // } + + // Append the size (if any). + if (this->unbounded () == false) + { + char ulval_str [NAMEBUFSIZE]; + ACE_OS::sprintf (ulval_str, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + ACE_OS::strcat (namebuf, + ulval_str); + } + + return ACE::strnew (namebuf); +} + +// Create a name for ourselves. +int +be_map::create_name (be_typedef *node) +{ + static char *namebuf = nullptr; + UTL_ScopedName *n = nullptr; + + // Scope in which we are defined. + be_decl *scope = nullptr; + + // If there is a typedef node, we use its name as our name. + if (node) + { + this->set_name ( + dynamic_cast (node->name ()->copy ()) + ); + } + else + { + // Generate a local name. + namebuf = this->gen_name (); + + // Now see if we have a fully scoped name and if so, generate one. + UTL_Scope *us = this->defined_in (); + + scope = dynamic_cast (us)->decl (); + + if (scope != nullptr) + { + // Make a copy of the enclosing scope's name. + n = (UTL_ScopedName *) scope->name ()->copy (); + + Identifier *id = nullptr; + ACE_NEW_RETURN (id, + Identifier (namebuf), + -1); + + UTL_ScopedName *conc_name = nullptr; + ACE_NEW_RETURN (conc_name, + UTL_ScopedName (id, + nullptr), + -1); + + // Add our local name as the last component. + n->nconc (conc_name); + + // Set the fully scoped name. + this->set_name (n); + } + else + { + // We better be not here because we must be inside some scope, + // at least the ROOT scope. + return -1; + } + + ACE::strdelete (namebuf); + } + + return 0; +} + +// Does this sequence have a managed type sequence element? +be_map::MANAGED_TYPE +be_map::managed_type () +{ + // if (this->mt_ == be_map::MNG_UNKNOWN) // Not calculated yet. + // { + // // Base types. + // be_type *const base_type = primitive_base_type (); + // if (!base_type) + // ACE_ERROR_RETURN ((LM_ERROR, + // "TAO_IDL (%N:%l) " + // "dynamic_cast " + // "failed\n"), + // be_sequence::MNG_UNKNOWN); + + // // Determine if we need a managed type and which one. + // switch (base_type->node_type ()) + // { + // case AST_Decl::NT_interface: + // case AST_Decl::NT_interface_fwd: + // case AST_Decl::NT_component: + // case AST_Decl::NT_component_fwd: + // case AST_Decl::NT_connector: + // this->mt_ = be_sequence::MNG_OBJREF; + // break; + // case AST_Decl::NT_valuebox: + // case AST_Decl::NT_valuetype: + // case AST_Decl::NT_valuetype_fwd: + // case AST_Decl::NT_eventtype: + // case AST_Decl::NT_eventtype_fwd: + // this->mt_ = be_sequence::MNG_VALUE; + // break; + // case AST_Decl::NT_string: + // this->mt_ = be_sequence::MNG_STRING; + // break; + // case AST_Decl::NT_wstring: + // this->mt_ = be_sequence::MNG_WSTRING; + // break; + // case AST_Decl::NT_pre_defined: + // { + // be_predefined_type * const bpd = + // dynamic_cast (base_type); + + // AST_PredefinedType::PredefinedType pt = bpd->pt (); + + // switch (pt) + // { + // case AST_PredefinedType::PT_pseudo: + // case AST_PredefinedType::PT_object: + // case AST_PredefinedType::PT_abstract: + // this->mt_ = be_sequence::MNG_PSEUDO; + // break; + // case AST_PredefinedType::PT_value: + // this->mt_ = be_sequence::MNG_VALUE; + // break; + // default: + // this->mt_ = be_sequence::MNG_NONE; + // break; + // } + // } + // break; + // default: + // this->mt_ = be_sequence::MNG_NONE; + // } + // } + + return this->mt_; +} + +// Add this be_sequence to the locally defined types in this scope +AST_Map * +be_map::fe_add_map (AST_Map *t) +{ + if (t == nullptr) + { + return nullptr; + } + + this->add_to_local_types (t); + return t; +} + +// Overridden method +be_decl * +be_map::decl () +{ + return this; +} + +// Overridden method +void +be_map::gen_ostream_operator (TAO_OutStream *os, + bool /* use_underscore */) +{ + *os << be_nl + << "std::ostream& operator<< (" << be_idt << be_idt_nl + << "std::ostream &strm," << be_nl + << "const " << this->name () << " &_tao_sequence" << be_uidt_nl + << ")" << be_uidt_nl + << "{" << be_idt_nl + << "strm << \"" << this->name () << "[\";" << be_nl_2; + + if (be_global->alt_mapping ()) + { + *os << "for (CORBA::ULong i = 0; i < _tao_sequence.size (); ++i)"; + } + else + { + *os << "for (CORBA::ULong i = 0; i < _tao_sequence.length (); ++i)"; + } + + *os << be_idt_nl + << "{" << be_idt_nl + << "if (i != 0)" << be_idt_nl + << "{" << be_idt_nl + << "strm << \", \";" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << "strm << _tao_sequence[i];" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << "return strm << \"]\";" << be_uidt_nl + << "}" << be_nl; +} + +int +be_map::accept (be_visitor *visitor) +{ + return visitor->visit_map (this); +} + + +const char * +be_map::instance_name () +{ + static char namebuf[NAMEBUFSIZE]; + // ACE_OS::memset (namebuf, + // '\0', + // NAMEBUFSIZE); + + // be_type *const prim_type = primitive_base_type (); + // if (!prim_type) + // { + // ACE_ERROR ((LM_ERROR, + // "(%N:%l) be_visitor_sequence_ch::" + // "gen_instantiate_name - " + // "Bad element type\n")); + + // return namebuf; + // } + + // // Generate the appropriate sequence type. + // switch (this->managed_type ()) + // { + // case be_sequence::MNG_PSEUDO: + // case be_sequence::MNG_OBJREF: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_object_reference_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_object_reference_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // case be_sequence::MNG_VALUE: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_valuetype_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_valuetype_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // case be_sequence::MNG_STRING: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_basic_string_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_string_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + + // break; + // case be_sequence::MNG_WSTRING: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_basic_string_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_wstring_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + + // break; + // default: // Not a managed type. + // if (this->unbounded ()) + // { + // // TAO provides extensions for octet sequences, first find out + // // if the base type is an octet (or an alias for octet) + // be_predefined_type *predef = + // dynamic_cast (prim_type); + + // if (predef != nullptr + // && predef->pt() == AST_PredefinedType::PT_octet) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_value_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_value_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_value_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // } + + return namebuf; +} + +int +be_map::gen_base_class_name (TAO_OutStream *os, + const char * linebreak, + AST_Decl *ctx_scope) +{ + // be_type *elem = dynamic_cast (this->base_type ()); +// /* +// if (be_global->alt_mapping () && this->unbounded ()) +// { +// *os << "std::vector<" << elem->nested_type_name (ctx_scope) +// << ">"; + +// return 0; +// } +// */ +// // Generate the appropriate base class type. +// switch (this->managed_type ()) +// { +// case be_sequence::MNG_OBJREF: +// case be_sequence::MNG_PSEUDO: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_object_reference_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_object_reference_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << "," +// << linebreak << be_nl; +// *os << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// case be_sequence::MNG_VALUE: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_valuetype_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_valuetype_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << "," +// << linebreak << be_nl +// << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// case be_sequence::MNG_STRING: +// { +// be_type *const prim_type = primitive_base_type (); +// if (!prim_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } +// if (prim_type->node_type () == AST_Decl::NT_string) +// { +// be_string *str = +// dynamic_cast (prim_type); +// if (!str) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "bad string node\n"), +// -1); +// } + +// // We need to make a distinction between bounded and +// // unbounded strings. +// if (str->max_size ()->ev ()->u.ulval != 0) +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// else +// { +// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " +// << str->max_size ()->ev ()->u.ulval << ">"; +// } +// } +// else +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_basic_string_sequence"; +// } +// else +// { +// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// } +// } +// } + +// break; +// case be_sequence::MNG_WSTRING: +// { +// be_type *const prim_type = primitive_base_type (); +// if (!prim_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } +// if (prim_type->node_type () == AST_Decl::NT_wstring) +// { +// be_string *str = +// dynamic_cast (prim_type); +// if (!str) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "bad string node\n"), +// -1); +// } + +// // We need to make a distinction between bounded and +// // unbounded strings. +// if (str->max_size ()->ev ()->u.ulval != 0) +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// else +// { +// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " +// << str->max_size ()->ev ()->u.ulval << ">"; +// } +// } +// else +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_basic_string_sequence"; +// } +// else +// { +// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// } +// } +// } + +// break; +// default: // Not a managed type. +// switch (elem->base_node_type ()) +// { +// case AST_Decl::NT_array: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_array_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope) << "_slice," +// << linebreak << be_nl +// << elem->nested_type_name (ctx_scope) << "_tag" +// << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_array_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope) << "_slice," +// << linebreak << be_nl +// << elem->nested_type_name (ctx_scope) << "_tag," +// << linebreak << be_nl +// << this->max_size ()->ev ()->u.ulval << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// default: +// { +// be_type *const base_type = primitive_base_type (); +// if (!base_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } + +// const char *tag = ""; +// if (base_type->node_type () == AST_Decl::NT_pre_defined) +// { +// be_predefined_type *const predefined_type = +// dynamic_cast (base_type); +// if (!predefined_type) +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// switch (predefined_type->pt ()) +// { +// case AST_PredefinedType::PT_uint8: +// tag = ", CORBA::IDLv4::UInt8_tag"; +// break; +// case AST_PredefinedType::PT_int8: +// tag = ", CORBA::IDLv4::Int8_tag"; +// break; +// default: +// break; +// } +// } + +// *os +// << "::TAO::" << (unbounded () ? "un" : "") << "bounded_value_sequence< " +// << elem->nested_type_name (ctx_scope); +// if (!unbounded ()) +// *os << "," << this->max_size ()->ev ()->u.ulval; +// *os << tag << ">"; +// } +// break; +// } + +// break; +// } + + return 0; +} + +be_field * +be_map::field_node () const +{ + return this->field_node_; +} + +void +be_map::field_node (be_field *node) +{ + this->field_node_ = node; +} + +// Overriden method. +void +be_map::compute_tc_name () +{ + // Sequence TypeCodes can only be accessed through an alias + // TypeCode. Generate a TypeCode name that is meant for internal + // use alone. + + Identifier * tao_id = nullptr; + ACE_NEW (tao_id, + Identifier ("TAO")); + + ACE_NEW (this->tc_name_, + UTL_ScopedName (tao_id, + nullptr)); + + char bound[30] = { 0 }; + + ACE_OS::sprintf (bound, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + + ACE_CString local_tc_name = + ACE_CString ("tc_") + + ACE_CString (this->flat_name ()) + + ACE_CString (bound); + + Identifier * typecode_scope = nullptr; + ACE_NEW (typecode_scope, + Identifier ("TypeCode")); + + UTL_ScopedName * tc_scope_conc_name = nullptr; + ACE_NEW (tc_scope_conc_name, + UTL_ScopedName (typecode_scope, + nullptr)); + + this->tc_name_->nconc (tc_scope_conc_name); + + Identifier * id = nullptr; + ACE_NEW (id, + Identifier (local_tc_name.c_str ())); + + UTL_ScopedName * conc_name = nullptr; + ACE_NEW (conc_name, + UTL_ScopedName (id, + nullptr)); + + this->tc_name_->nconc (conc_name); +} + +const char * +be_map::smart_fwd_helper_name (AST_Decl *ctx_scope, + be_type *elem) +{ + if (ScopeAsDecl (elem->defined_in ()) == ctx_scope) + { + ACE_CString retval = "tao_"; + retval += elem->local_name ()->get_string (); + return retval.rep (); + } + + return elem->fwd_helper_name (); +} + +void +be_map::destroy () +{ + // Call the destroy methods of our base classes. + this->be_scope::destroy (); + this->be_type::destroy (); + this->AST_Map::destroy (); +} diff --git a/TAO/TAO_IDL/be/be_type.cpp b/TAO/TAO_IDL/be/be_type.cpp index 04e8801b11240..d48378e000d63 100644 --- a/TAO/TAO_IDL/be/be_type.cpp +++ b/TAO/TAO_IDL/be/be_type.cpp @@ -347,6 +347,18 @@ be_type::seen_in_sequence (bool val) this->seen_in_sequence_ = val; } +bool +be_type::seen_in_map () const +{ + return this->seen_in_map_; +} + +void +be_type::seen_in_map (bool val) +{ + this->seen_in_map_ = val; +} + bool be_type::seen_in_operation () const { diff --git a/TAO/TAO_IDL/be/be_visitor.cpp b/TAO/TAO_IDL/be/be_visitor.cpp index e8b1736bb7761..ba10e58eb0b57 100644 --- a/TAO/TAO_IDL/be/be_visitor.cpp +++ b/TAO/TAO_IDL/be/be_visitor.cpp @@ -305,6 +305,12 @@ be_visitor::visit_array (be_array *) return 0; } +int +be_visitor::visit_map (be_map *) +{ + return 0; +} + int be_visitor::visit_sequence (be_sequence *) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp index 09909a0f4fe46..7d2ea51517d6c 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp @@ -147,6 +147,12 @@ be_visitor_field_cdr_op_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cdr_op_ch::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cdr_op_ch::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 78bdd8dc7cb21..ffa674de55473 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -637,6 +637,12 @@ be_visitor_field_cdr_op_cs::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cdr_op_cs::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cdr_op_cs::visit_string (be_string *str) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field.h b/TAO/TAO_IDL/be/be_visitor_field/field.h index 2db9d73616cda..3ebecb03921a7 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field.h +++ b/TAO/TAO_IDL/be/be_visitor_field/field.h @@ -24,6 +24,7 @@ #include "be_eventtype_fwd.h" #include "be_predefined_type.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_structure.h" #include "be_structure_fwd.h" diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 64ae55b1dd0c5..82c80296dc92c 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -12,6 +12,7 @@ #include "field.h" #include "be_visitor_enum/enum_ch.h" #include "be_visitor_sequence/sequence_ch.h" +#include "be_visitor_map/map_ch.h" #include "nr_extern.h" // ********************************************** @@ -380,6 +381,94 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_ch::visit_map (be_map *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_type *kt = nullptr; + + if (this->ctx_->alias ()) + { + kt = this->ctx_->alias (); + } + else + { + kt = node; + } + + if (!this->ctx_->alias () + && node->is_child (this->ctx_->scope ()->decl ())) + { + // Put the field node into the (anonymous) sequence node, to be + // used later for unique name generation. + be_field *member_node = + dynamic_cast (this->ctx_->node ()); + node->field_node (member_node); + + // This was already generated in the corresponding valuetype class. + if (this->ctx_->state () != TAO_CodeGen::TAO_VALUETYPE_OBV_CH) + { + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_ch visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_sequence - " + "codegen failed\n"), + -1); + } + } + + // // If we are being reused by valutype, this would get generated + // // in the private section of the OBV_xx class, so we must + // // generate the typedef for that case elsewhere. + // AST_Decl::NodeType snt = + // this->ctx_->scope ()->decl ()->node_type (); + + // if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) + // { + // // Generate the anonymous sequence member typedef. + // be_decl *bs = this->ctx_->scope ()->decl (); + + // TAO_INSERT_COMMENT (os); + + // *os << "typedef " << bt->nested_type_name (bs) + // << " _" << this->ctx_->node ()->local_name () + // << "_seq;" << be_nl; + // } + } + + // // ACE_NESTED_CLASS macro generated by nested_type_name + // // is not necessary in all cases. + // be_typedef *tdef = dynamic_cast (bt); + + // // This was a typedefed array. + // // ACE_NESTED_CLASS macro generated by nested_type_name + // // is necessary if the struct, union, or valuetype containing this + // // field was not defined inside a module. In such a case, VC++ + // // complains that the non-module scope is not yet fully defined. + // UTL_Scope *holds_container = + // this->ctx_->scope ()->decl ()->defined_in (); + // AST_Decl *hc_decl = ScopeAsDecl (holds_container); + + // if (hc_decl->node_type () != AST_Decl::NT_module + // || !tdef) + // { + // *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + // } + // else + // { + // *os << bt->name (); + // } + + return 0; +} + int be_visitor_field_ch::visit_string (be_string *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp index 07781ae74ff43..fabd02fc260a9 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp @@ -83,6 +83,12 @@ be_visitor_field_ci::visit_sequence (be_sequence *) return 0; } +int +be_visitor_field_ci::visit_map (be_map *) +{ + return 0; +} + int be_visitor_field_ci::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp index 8ba9303460945..d5b5eb0c51531 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp @@ -126,6 +126,12 @@ be_visitor_field_cs::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cs::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cs::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h new file mode 100644 index 0000000000000..63da2eb0c6605 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -0,0 +1,47 @@ + +//============================================================================= +/** + * @file sequence.h + * + * Visitors for generation of code for Sequence + * + * @author Aniruddha Gokhale and Carlos O'Ryan + */ +//============================================================================= + +#include "ace/Log_Msg.h" + +#include "be_array.h" +#include "be_enum.h" +#include "be_exception.h" +#include "be_module.h" +#include "be_util.h" +#include "be_interface.h" +#include "be_interface_fwd.h" +#include "be_component.h" +#include "be_component_fwd.h" +#include "be_home.h" +#include "be_predefined_type.h" +#include "be_map.h" +#include "be_string.h" +#include "be_structure.h" +#include "be_structure_fwd.h" +#include "be_union.h" +#include "be_union_fwd.h" +#include "be_type.h" +#include "be_typedef.h" +#include "be_valuebox.h" +#include "be_valuetype.h" +#include "be_valuetype_fwd.h" +#include "be_eventtype.h" +#include "be_eventtype_fwd.h" +#include "be_helper.h" +#include "be_extern.h" +#include "ast_root.h" +#include "utl_identifier.h" +#include "nr_extern.h" +#include "global_extern.h" + +#include "be_visitor_map.h" +#include "be_visitor_context.h" + diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp new file mode 100644 index 0000000000000..cd911a82cac86 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -0,0 +1,387 @@ + +//============================================================================= +/** + * @file map_ch.cpp + * + * Visitor generating code for Sequence in the client header + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// Root visitor for client header. +be_visitor_map_ch::be_visitor_map_ch (be_visitor_context *ctx) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_ch::~be_visitor_map_ch () +{ +} + +int be_visitor_map_ch::visit_map (be_map *node) +{ + if (node->defined_in () == nullptr) + { + // The node is a nested map, and has had no scope defined. + node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); + } + + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + + // We don't check cli_hdr_gen() here. If we are generated more + // than once as an anonymous map, the name guard will cause + // the C++ preprocessor to catch it. If we are generated more than + // once as a typedef (caused by a comma separated list of + // typedefs), our name will be changed by the call above and the + // name guard will not catch it, but that's ok - we want to + // be generated for each typedef. + if (node->imported ()) + { + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + // Retrieve the key type since we may need to do some code + // generation for the base type. + be_type *kt = dynamic_cast (node->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + kt->seen_in_map (true); + AST_Decl::NodeType knt = kt->node_type (); + + // If our key type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (knt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + // Retrieve the key type since we may need to do some code + // generation for the base type. + be_type *vt = dynamic_cast (node->value_type ()); + + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + kt->seen_in_map (true); + AST_Decl::NodeType vnt = vt->node_type (); + + // If our key type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + *os << be_nl_2; + + TAO_INSERT_COMMENT (os); + + *os << "std::map<" + << node->key_type ()->full_name () + << "," + << node->value_type ()->full_name () + << ">"; + // if (idl_global->dcps_map_type_defined (node->full_name ())) + // { + // // Special Implementation for OpenDDS + // *os << be_nl_2 + // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " + // << node->key_type ()->full_name () + // << ", " + // << node->value_type()->full_name() + // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " + // << node->original_local_name () + // << ";" << be_nl; + // } + // else + // { + // os->gen_ifdef_macro (node->flat_name ()); + + // *os << be_nl_2; + + // /// If we are using std::vector, we won't be using _vars + // /// and _outs. They may get redefined and reinstated later. + // if (!be_global->alt_mapping () || !node->unbounded ()) + // { + // if (this->ctx_->tdef () != nullptr) + // { + // *os << "class " << node->local_name () << ";"; + // } + + // if (this->ctx_->tdef () != nullptr) + // { + // this->gen_varout_typedefs (node, kt); + // } + + // if (this->ctx_->tdef () != nullptr) + // { + // this->gen_varout_typedefs (node, vt); + // } + // } + // else + // { + // // *os << "typedef std::map< "; + + // // // Generate the base type for the buffer. + // // be_visitor_context ctx (*this->ctx_); + // // ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); + // // be_visitor_map_buffer_type kt_visitor (&ctx); + + // // if (kt->accept (&kt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // if (kt->accept(&kt_visitor) == -1) + // // { + + // // } + + // // if (vt->accept (&kt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // if (vt->accept(&vt_visitor) == -1) + // // { + + // // } + + // // *os << "> " << node->local_name () << ";"; + + // // os->gen_endif (); + // // node->cli_hdr_gen (true); + // return 0; + // } + + // *os << be_nl_2 + // << "class " << be_global->stub_export_macro () << " " + // << node->local_name () << be_idt_nl + // << ": public" << be_idt << be_idt_nl; + + // int status = + // node->gen_base_class_name (os, + // "", + // this->ctx_->scope ()->decl ()); + + // if (status == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_ch::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("Base class name ") + // ACE_TEXT ("generation failed\n")), + // -1); + // } + + // *os << be_uidt << be_uidt << be_uidt; + + // *os << be_nl + // << "{" << be_nl + // << "public:" << be_idt; + + // *os << be_nl + // << node->local_name () << " () = default;"; + + // if (node->unbounded ()) + // { + // *os << be_nl + // << node->local_name () << " ( ::CORBA::ULong max);"; + // } + + // /// If we are using std::vector, we can't implement this + // /// constructor. + // if (!be_global->alt_mapping () || !node->unbounded ()) + // { + // // *os << be_nl + // // << node->local_name () << " (" << be_idt; + + // // if (node->unbounded ()) + // // { + // // *os << be_nl + // // << "::CORBA::ULong max,"; + // // } + + // // *os << be_nl + // // << "::CORBA::ULong length," << be_nl; + + // // // Generate the base type for the buffer. + // // be_visitor_context ctx (*this->ctx_); + // // ctx.state (TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH); + // // be_visitor_map_buffer_type bt_visitor (&ctx); + + // // if (kt->accept (&bt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // *os << "* buffer," << be_nl + // // << "::CORBA::Boolean release = false);" << be_uidt; + // } + + // // Default copy/move constructor and assignment operators + // *os << be_nl + // << node->local_name () << " (const " << node->local_name () << " &) = default;" << be_nl + // << node->local_name () << " (" << node->local_name () << " &&) = default;" << be_nl + // << node->local_name () << "& operator= (const " << node->local_name () << " &) = default;" << be_nl + // << node->local_name () << "& operator= (" << node->local_name () << " &&) = default;" + // << be_nl; + + // *os << "virtual ~" << node->local_name () << " () = default;"; + + // if (be_global->alt_mapping () && node->unbounded ()) + // { + // *os << be_nl_2 + // << "virtual ::CORBA::ULong length () const;" + // << be_nl + // << "virtual void length (::CORBA::ULong);" + // << be_nl_2 + // << "virtual ::CORBA::ULong maximum () const;"; + // } + + // *os << be_nl; + + // node->gen_stub_decls (os); + + // // TAO provides extensions for octet maps, first find out if + // // the base type is an octet (or an alias for octet). + // be_predefined_type *predef = nullptr; + + // if (kt->base_node_type () == AST_Type::NT_pre_defined) + // { + // be_typedef* alias = + // dynamic_cast (kt); + + // if (alias == nullptr) + // { + // predef = dynamic_cast (kt); + // } + // else + // { + // predef = + // dynamic_cast ( + // alias->primitive_base_type () + // ); + // } + // } + + // // Now generate the extension... + // if (predef != nullptr + // && predef->pt () == AST_PredefinedType::PT_octet + // && node->unbounded () + // && !be_global->alt_mapping ()) + // { + // *os << be_nl_2 + // << "\n#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)" << be_nl + // << node->local_name () << " (::CORBA::ULong length, const ACE_Message_Block* mb)" + // << be_idt_nl + // << ": ::TAO::unbounded_value_map< ::CORBA::Octet>" + // << " (length, mb) {}" << be_uidt_nl + // << "\n#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */"; + // } + + // *os << be_uidt_nl + // << "};"; + + // os->gen_endif (); + // } + + node->cli_hdr_gen (true); + return 0; +} + +void +be_visitor_map_ch::gen_varout_typedefs (be_map *node, + be_type *elem) +{ + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl; + + AST_Type::SIZE_TYPE st = elem->size_type (); + + *os << "typedef " + << (st == AST_Type::FIXED ? "::TAO_FixedSeq_Var_T<" + : "::TAO_VarSeq_Var_T<") + << node->local_name (); + + *os << "> " + << node->local_name () << "_var;" << be_nl; + + *os << "typedef ::TAO_Seq_Out_T<" + << node->local_name () + << "> " << node->local_name () << "_out;" << be_nl; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp new file mode 100644 index 0000000000000..02f17e9dc8a5d --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -0,0 +1,282 @@ + +//============================================================================= +/** + * @file map_cs.cpp + * + * Visitor generating code for Sequences in the client stubs file + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// ************************************************************ +// Root visitor for client stub class +// ************************************************************ + +be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cs::~be_visitor_map_cs () +{ +} + +int be_visitor_map_cs::visit_map (be_map *node) +{ + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + + // We don't check cli_stub_gen() here. If we are generated more + // than once as an anonymous map, the name guard will cause + // the C++ preprocessor to catch it. If we are generated more than + // once as a typedef (caused by a comma separated list of + // typedefs), our name will be changed by the call above and the + // name guard will not catch it, but that's ok - we want to + // be generated for each typedef. + if (node->imported ()) + { + return 0; + } + + if (idl_global->dcps_map_type_defined (node->full_name ())) + { + return 0; + } + + be_type *kt = dynamic_cast (node->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + AST_Decl::NodeType knt = kt->node_type (); + + // If our base type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (knt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + be_type *vt = dynamic_cast (node->value_type ()); + + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + AST_Decl::NodeType vnt = vt->node_type (); + + // If our base type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + if (be_global->alt_mapping () && node->unbounded ()) + { + // We are just a typedef and don't need any stub source + // code generation. + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl_2; + + TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + // for unbounded maps, we have a different set of constructors + if (node->unbounded ()) + { + *os << be_nl_2 + << node->name () << "::" << node->local_name () << " (" + << be_idt << be_idt_nl + << "::CORBA::ULong max)" << be_uidt_nl + << ": " << be_idt; + + int status = + node->gen_base_class_name (os, + "", + this->ctx_->scope ()->decl ()); + + // Pass it to the base constructor. + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for base ") + ACE_TEXT ("map class failed\n")), + -1); + } + + + *os << " (max)" << be_uidt << be_uidt_nl + << "{}"; + } + + /// If we are using std::map, we can't implement this + /// constructor. + if (!be_global->alt_mapping () || !node->unbounded ()) + { + // // Constructor with the buffer + // *os << be_nl_2 + // << node->name () << "::" << node->local_name () << " (" + // << be_idt << be_idt_nl; + + // if (node->unbounded ()) + // { + // // Unbounded seq takes this extra parameter. + // *os << "::CORBA::ULong max," << be_nl; + // } + + // *os << "::CORBA::ULong length," << be_nl; + + // // generate the base type for the buffer + // be_visitor_context ctx (*this->ctx_); + // be_visitor_map_buffer_type bt_visitor (&ctx); + + // if (kt->accept (&bt_visitor) == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_cs::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("base type visit failed\n")), + // -1); + // } + + // *os << " * buffer," << be_nl + // << "::CORBA::Boolean release)" << be_uidt + // << be_uidt_nl + // << " : " << be_idt << be_idt; + + // // Pass it to the base constructor. + // if (node->gen_base_class_name (os, + // "", + // this->ctx_->scope ()->decl ()) == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_cs::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("codegen for base ") + // ACE_TEXT ("map class\n")), + // -1); + // } + + // *os << be_nl << "("; + + // if (node->unbounded ()) + // { + // *os << "max, "; + // } + + // *os << "length, buffer, release)" << be_uidt << be_uidt_nl + // << "{}"; + } + + if (be_global->alt_mapping () && node->unbounded ()) + { + *os << be_nl_2 + << "::CORBA::ULong" << be_nl + << node->name () << "::length () const" << be_nl + << "{" << be_idt_nl + << "return this->size ();" << be_uidt_nl + << "}"; + + *os << be_nl_2 + << "void" << be_nl + << node->name () << "::length ( ::CORBA::ULong length)" + << be_nl + << "{" << be_idt_nl + << "this->resize (length);" << be_uidt_nl + << "}"; + + *os << be_nl_2 + << "::CORBA::ULong" << be_nl + << node->name () << "::maximum () const" << be_nl + << "{" << be_idt_nl + << "return this->capacity ();" << be_uidt_nl + << "}"; + } + + if (be_global->any_support () + && !node->anonymous () + && (!node->is_local () + || be_global->gen_local_iface_anyops ())) + { + *os << be_nl_2 + << "void " + << node->name () << "::_tao_any_destructor (" + << be_idt << be_idt_nl + << "void * _tao_void_pointer)" << be_uidt << be_uidt_nl + << "{" << be_idt_nl + << node->local_name () << " * _tao_tmp_pointer =" + << be_idt_nl + << "static_cast<" << node->local_name () + << " *> (_tao_void_pointer);" << be_uidt_nl + << "delete _tao_tmp_pointer;" << be_uidt_nl + << "}"; + } + + os->gen_endif (); + + node->cli_stub_gen (true); + return 0; +} diff --git a/TAO/TAO_IDL/be_include/be_generator.h b/TAO/TAO_IDL/be_include/be_generator.h index 9fcdcbab9f8fd..115ac3a31a45a 100644 --- a/TAO/TAO_IDL/be_include/be_generator.h +++ b/TAO/TAO_IDL/be_include/be_generator.h @@ -256,6 +256,13 @@ class TAO_IDL_BE_Export be_generator : public AST_Generator bool is_local, bool is_abstract); + virtual AST_Map *create_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract); + virtual AST_String *create_string (AST_Expression *v); virtual AST_String *create_wstring (AST_Expression *v); diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h new file mode 100644 index 0000000000000..1b5b5db2f234a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -0,0 +1,129 @@ +// -*- C++ -*- + + +//============================================================================= +/** + * @file be_map.h + * + * Extension of class AST_Map that provides additional means for C++ + * mapping. + * + * @author Copyright 1994-1995 by Sun Microsystems + * @author Inc. and Aniruddha Gokhale + */ +//============================================================================= + +#ifndef BE_MAP_H +#define BE_MAP_H + +#include "be_scope.h" +#include "be_type.h" +#include "ast_map.h" + +class AST_Expression; +class AST_Type; +class be_visitor; +class be_typedef; +class be_field; + +// A map in OMG IDL does not define a scoping construct just as a struct +// or union or an interface do. However, in the C++ mapping, a map becomes +// a class. If the base type of a map is another anonymous map, then +// the base type is defined in the scope of this map. Hence we define +// be_map to possess the additional characteristics of a scope. +class be_map : public virtual AST_Map, + public virtual be_scope, + public virtual be_type +{ +public: + enum MANAGED_TYPE + { + MNG_UNKNOWN, + MNG_NONE, + MNG_STRING, + MNG_WSTRING, + MNG_OBJREF, + MNG_VALUE, + MNG_PSEUDO + }; + + be_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool local, + bool abstract); + + /// Non-virtual override of frontend method. + be_type *key_type () const; + be_type *value_type () const; + + /** + * Returns the fully dealiased key type if it's a typedef. If it's not a + * typedef, the it returns the same value as as key_type(). + */ + be_type *primitive_key_type () const; + + /** + * Returns the fully dealiased key type if it's a typedef. If it's not a + * typedef, the it returns the same value as as key_type(). + */ + be_type *primitive_value_type () const; + + /// Create a name for ourselves. If we are typedefed, then we get the name of + /// the typedef node, else we generate a name for ourselves. + virtual int create_name (be_typedef *node); + + /// Return the managed type. + virtual MANAGED_TYPE managed_type (); + + // Scope management functions. + virtual AST_Map *fe_add_map (AST_Map *); + + /// Overridden method on the be_scope class. + virtual be_decl *decl (); + + /// Overridden from class be_type. + virtual void gen_ostream_operator (TAO_OutStream *os, + bool use_underscore); + + /// Cleanup method. + virtual void destroy (); + + // Visiting. + virtual int accept (be_visitor *visitor); + + /// Report the instance name for instantiation. + const char *instance_name (); + + /// Common code for generating the name and parameters of our + /// template map base class. + int gen_base_class_name (TAO_OutStream *os, + const char * linebreak, + AST_Decl *elem_scope); + + /// Accessors for the member. + be_field *field_node () const; + void field_node (be_field *node); + + /// Helper to create_name, also used by the traits visitor. + virtual char *gen_name (); + +protected: + + /// Computes the fully scoped typecode name. + virtual void compute_tc_name (); + +private: + const char *smart_fwd_helper_name (AST_Decl *elem_scope, + be_type *elem); + +private: + /// Our managed type. + MANAGED_TYPE mt_; + + /// Used if we are an anonymous member, to help generate a unique name. + be_field *field_node_; +}; + +#endif diff --git a/TAO/TAO_IDL/be_include/be_type.h b/TAO/TAO_IDL/be_include/be_type.h index e70c6e2c9fcd1..8be691be0299c 100644 --- a/TAO/TAO_IDL/be_include/be_type.h +++ b/TAO/TAO_IDL/be_include/be_type.h @@ -70,6 +70,10 @@ class be_type : public virtual AST_Type, bool seen_in_sequence () const; virtual void seen_in_sequence (bool val); + /// Accessors for the member. + bool seen_in_map () const; + virtual void seen_in_map (bool val); + /// Accessors for the member. bool seen_in_operation () const; virtual void seen_in_operation (bool val); @@ -104,6 +108,9 @@ class be_type : public virtual AST_Type, /// Has this declaration been used as a sequence element? bool seen_in_sequence_; + /// Has this declaration been used as a map element? + bool seen_in_map_; + /// Has this declaration been used as a return type or parameter? bool seen_in_operation_; }; diff --git a/TAO/TAO_IDL/be_include/be_visitor.h b/TAO/TAO_IDL/be_include/be_visitor.h index ca89ed5f9c85e..7c95f2f9c491a 100644 --- a/TAO/TAO_IDL/be_include/be_visitor.h +++ b/TAO/TAO_IDL/be_include/be_visitor.h @@ -62,6 +62,7 @@ class be_constant; class be_enum_val; class be_array; class be_sequence; +class be_map; class be_string; class be_typedef; class be_root; @@ -134,6 +135,7 @@ class be_visitor virtual int visit_enum_val (be_enum_val *node); virtual int visit_array (be_array *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_typedef (be_typedef *node); virtual int visit_root (be_root *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h index 04fb0dc86fe7f..644a32273dee8 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h @@ -32,6 +32,7 @@ class be_visitor_field_cdr_op_ch : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_enum (be_enum *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h index ee844d8c9dd45..dc5142edcd290 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h @@ -44,6 +44,7 @@ class be_visitor_field_cdr_op_cs : public be_visitor_decl virtual int visit_eventtype_fwd (be_eventtype_fwd *node); virtual int visit_predefined_type (be_predefined_type *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h index 2145b28220323..cc9bae99333d1 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h @@ -36,6 +36,7 @@ class be_visitor_field_ch : public be_visitor_decl virtual int visit_valuetype_fwd (be_valuetype_fwd *node); virtual int visit_predefined_type (be_predefined_type *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h index dd22e9f168208..ebe3867ca6882 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h @@ -31,6 +31,7 @@ class be_visitor_field_ci : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h index 533b0a28dcd9c..f5fdb1534a68b 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h @@ -32,6 +32,7 @@ class be_visitor_field_cs : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_enum (be_enum *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h new file mode 100644 index 0000000000000..12f618aa6c991 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -0,0 +1,18 @@ +/* -*- c++ -*- */ + +#ifndef TAO_BE_VISITOR_SEQUENCE_H +#define TAO_BE_VISITOR_SEQUENCE_H + +#include "idl_defines.h" + +#include "be_visitor_decl.h" +#include "be_visitor_map/map_ch.h" +#include "be_visitor_map/map_cs.h" +// #include "be_visitor_map/map_base.h" +// #include "be_visitor_map/buffer_type.h" +// #include "be_visitor_map/any_op_ch.h" +// #include "be_visitor_map/any_op_cs.h" +// #include "be_visitor_map/cdr_op_ch.h" +// #include "be_visitor_map/cdr_op_cs.h" + +#endif /* TAO_BE_VISITOR_SEQUENCE_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h new file mode 100644 index 0000000000000..b3f3d0aeb9a57 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -0,0 +1,44 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file map_ch.h + * + * Concrete visitor for the Sequence class + * This one provides code generation for the Sequence node in the client + * header. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_MAP_CH_H_ +#define _BE_VISITOR_MAP_MAP_CH_H_ + +/** + * @class be_visitor_map_ch + * + * @brief be_visitor_map_ch + * + * This is a concrete visitor to generate the client header for + * maps + */ +class be_visitor_map_ch : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_ch (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_ch (); + + /// visit map node. + virtual int visit_map (be_map *node); + + /// Generate the typedefs for our _var and _out template classes. + void gen_varout_typedefs (be_map *node, + be_type *elem); +}; + +#endif /* _BE_VISITOR_MAP_MAP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h new file mode 100644 index 0000000000000..b8ac9203148f8 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file sequence_cs.h + * + * Concrete visitor for the Sequence class + * This one provides code generation for the Sequence node in the client + * stubs. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_MAP_CS_H_ +#define _BE_VISITOR_MAP_MAP_CS_H_ + +/** + * @class be_visitor_map_cs + * + * @brief be_visitor_map_cs + * + * This is a concrete visitor to generate the client stubs for + * maps + */ +class TAO_OutStream; +class be_visitor_map_cs : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_cs (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cs (); + + /// visit map node + virtual int visit_map (be_map *node); +}; + +#endif /* _BE_VISITOR_MAP_MAP_CS_H_ */ diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index c50beaf642118..82b84618ad40c 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -433,6 +433,12 @@ class TAO_IDL_FE_Export IDL_GlobalData // BE calls to check whether pragma for this sequence has been set bool dcps_sequence_type_defined (const char* seq_type); + // FE calls when #pragma DCPS_DATA_MAP_TYPE is processed + void set_dcps_map_type (const char* map_type); + + // BE calls to check whether pragma for this map has been set + bool dcps_map_type_defined (const char* map_type); + // FE calls when #pragma DCPS_GEN_ZERO_COPY_READ is processed void dcps_gen_zero_copy_read (bool value); @@ -790,6 +796,7 @@ class TAO_IDL_FE_Export IDL_GlobalData bool non_local_op_seen_; bool object_arg_seen_; bool octet_seq_seen_; + bool octet_map_seen_; bool operation_seen_; bool pseudo_seq_seen_; bool recursive_type_seen_; diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 1c9a20bd53b13..b1d9afba5ee12 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1730,6 +1730,29 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) return false; } +void +IDL_GlobalData::set_dcps_map_type (const char* map_type) +{ + // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); +} + +bool +IDL_GlobalData::dcps_map_type_defined (const char* map_type) +{ + char **tmp = nullptr; + + // for (ACE_Unbounded_Queue_Iteratorriter ( + // this->dcps_sequence_types_list_); + // riter.done () == 0; + // riter.advance ()) + // { + // riter.next (tmp); + // if (ACE_OS::strcmp (*tmp, seq_type) == 0) + // return true; + // } + return false; +} + void IDL_GlobalData::add_dcps_data_type (const char* id) { From 67ec6bad45bbb567f027e83e8df857ce27c1e97a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 21:00:48 -0400 Subject: [PATCH 25/92] Removed whitespaces --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 10 +++++----- TAO/TAO_IDL/be_include/be_map.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index cd911a82cac86..7e56f72482112 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -148,7 +148,7 @@ int be_visitor_map_ch::visit_map (be_map *node) // *os << be_nl_2 // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " // << node->key_type ()->full_name () - // << ", " + // << ", " // << node->value_type()->full_name() // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " // << node->original_local_name () @@ -196,8 +196,8 @@ int be_visitor_map_ch::visit_map (be_map *node) // // ACE_TEXT ("buffer type visit failed\n")), // // -1); // // } - - // // if (kt->accept(&kt_visitor) == -1) + + // // if (kt->accept(&kt_visitor) == -1) // // { // // } @@ -210,8 +210,8 @@ int be_visitor_map_ch::visit_map (be_map *node) // // ACE_TEXT ("buffer type visit failed\n")), // // -1); // // } - - // // if (vt->accept(&vt_visitor) == -1) + + // // if (vt->accept(&vt_visitor) == -1) // // { // // } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 1b5b5db2f234a..991ef7bfcabde 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -63,13 +63,13 @@ class be_map : public virtual AST_Map, * typedef, the it returns the same value as as key_type(). */ be_type *primitive_key_type () const; - + /** * Returns the fully dealiased key type if it's a typedef. If it's not a * typedef, the it returns the same value as as key_type(). */ be_type *primitive_value_type () const; - + /// Create a name for ourselves. If we are typedefed, then we get the name of /// the typedef node, else we generate a name for ourselves. virtual int create_name (be_typedef *node); From facd12c3ff0a5f995c164e904da0154b9fea133d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 21:06:59 -0400 Subject: [PATCH 26/92] Fixed fuzz --- TAO/TAO_IDL/be/be_visitor_map/map.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index 63da2eb0c6605..ec98e9e90e363 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -1,7 +1,7 @@ //============================================================================= /** - * @file sequence.h + * @file map.h * * Visitors for generation of code for Sequence * diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index b8ac9203148f8..73cd942225ba6 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -2,7 +2,7 @@ //============================================================================= /** - * @file sequence_cs.h + * @file map_cs.h * * Concrete visitor for the Sequence class * This one provides code generation for the Sequence node in the client From ad0d7dc97e70c6c5d895ae31193247310769d4a5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:15:22 -0400 Subject: [PATCH 27/92] Cleaned up some be_map functions --- TAO/TAO_IDL/be/be_map.cpp | 262 ------------------ TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 251 +---------------- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 198 ++----------- TAO/TAO_IDL/be_include/be_map.h | 10 +- .../be_include/be_visitor_map/map_ch.h | 7 +- .../be_include/be_visitor_map/map_cs.h | 2 +- TAO/TAO_IDL/tao_idl_be.mpc | 2 + TAO/tests/IDLv4/maps/main.cpp | 36 ++- 8 files changed, 69 insertions(+), 699 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index befb2a291618d..927acec7b389b 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -576,268 +576,6 @@ be_map::instance_name () return namebuf; } -int -be_map::gen_base_class_name (TAO_OutStream *os, - const char * linebreak, - AST_Decl *ctx_scope) -{ - // be_type *elem = dynamic_cast (this->base_type ()); -// /* -// if (be_global->alt_mapping () && this->unbounded ()) -// { -// *os << "std::vector<" << elem->nested_type_name (ctx_scope) -// << ">"; - -// return 0; -// } -// */ -// // Generate the appropriate base class type. -// switch (this->managed_type ()) -// { -// case be_sequence::MNG_OBJREF: -// case be_sequence::MNG_PSEUDO: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_object_reference_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_object_reference_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << "," -// << linebreak << be_nl; -// *os << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// case be_sequence::MNG_VALUE: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_valuetype_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_valuetype_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << "," -// << linebreak << be_nl -// << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// case be_sequence::MNG_STRING: -// { -// be_type *const prim_type = primitive_base_type (); -// if (!prim_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } -// if (prim_type->node_type () == AST_Decl::NT_string) -// { -// be_string *str = -// dynamic_cast (prim_type); -// if (!str) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "bad string node\n"), -// -1); -// } - -// // We need to make a distinction between bounded and -// // unbounded strings. -// if (str->max_size ()->ev ()->u.ulval != 0) -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// else -// { -// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " -// << str->max_size ()->ev ()->u.ulval << ">"; -// } -// } -// else -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_basic_string_sequence"; -// } -// else -// { -// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// } -// } -// } - -// break; -// case be_sequence::MNG_WSTRING: -// { -// be_type *const prim_type = primitive_base_type (); -// if (!prim_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } -// if (prim_type->node_type () == AST_Decl::NT_wstring) -// { -// be_string *str = -// dynamic_cast (prim_type); -// if (!str) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "bad string node\n"), -// -1); -// } - -// // We need to make a distinction between bounded and -// // unbounded strings. -// if (str->max_size ()->ev ()->u.ulval != 0) -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// else -// { -// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " -// << str->max_size ()->ev ()->u.ulval << ">"; -// } -// } -// else -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_basic_string_sequence"; -// } -// else -// { -// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// } -// } -// } - -// break; -// default: // Not a managed type. -// switch (elem->base_node_type ()) -// { -// case AST_Decl::NT_array: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_array_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope) << "_slice," -// << linebreak << be_nl -// << elem->nested_type_name (ctx_scope) << "_tag" -// << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_array_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope) << "_slice," -// << linebreak << be_nl -// << elem->nested_type_name (ctx_scope) << "_tag," -// << linebreak << be_nl -// << this->max_size ()->ev ()->u.ulval << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// default: -// { -// be_type *const base_type = primitive_base_type (); -// if (!base_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } - -// const char *tag = ""; -// if (base_type->node_type () == AST_Decl::NT_pre_defined) -// { -// be_predefined_type *const predefined_type = -// dynamic_cast (base_type); -// if (!predefined_type) -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// switch (predefined_type->pt ()) -// { -// case AST_PredefinedType::PT_uint8: -// tag = ", CORBA::IDLv4::UInt8_tag"; -// break; -// case AST_PredefinedType::PT_int8: -// tag = ", CORBA::IDLv4::Int8_tag"; -// break; -// default: -// break; -// } -// } - -// *os -// << "::TAO::" << (unbounded () ? "un" : "") << "bounded_value_sequence< " -// << elem->nested_type_name (ctx_scope); -// if (!unbounded ()) -// *os << "," << this->max_size ()->ev ()->u.ulval; -// *os << tag << ">"; -// } -// break; -// } - -// break; -// } - - return 0; -} - be_field * be_map::field_node () const { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 7e56f72482112..6e83bfd014952 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -29,28 +29,6 @@ int be_visitor_map_ch::visit_map (be_map *node) node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - // We don't check cli_hdr_gen() here. If we are generated more - // than once as an anonymous map, the name guard will cause - // the C++ preprocessor to catch it. If we are generated more than - // once as a typedef (caused by a comma separated list of - // typedefs), our name will be changed by the call above and the - // name guard will not catch it, but that's ok - we want to - // be generated for each typedef. - if (node->imported ()) - { - return 0; - } - TAO_OutStream *os = this->ctx_->stream (); // Retrieve the key type since we may need to do some code @@ -69,8 +47,6 @@ int be_visitor_map_ch::visit_map (be_map *node) kt->seen_in_map (true); AST_Decl::NodeType knt = kt->node_type (); - // If our key type is an anonymous map, we must create a name - // and generate a class declaration for it as well. if (knt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -93,8 +69,8 @@ int be_visitor_map_ch::visit_map (be_map *node) this->ctx_->tdef (tmp); } - // Retrieve the key type since we may need to do some code - // generation for the base type. + + be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) @@ -106,11 +82,10 @@ int be_visitor_map_ch::visit_map (be_map *node) -1); } - kt->seen_in_map (true); + vt->seen_in_map (true); AST_Decl::NodeType vnt = vt->node_type (); - // If our key type is an anonymous map, we must create a name - // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -139,225 +114,9 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << "std::map<" << node->key_type ()->full_name () - << "," + << ", " << node->value_type ()->full_name () << ">"; - // if (idl_global->dcps_map_type_defined (node->full_name ())) - // { - // // Special Implementation for OpenDDS - // *os << be_nl_2 - // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " - // << node->key_type ()->full_name () - // << ", " - // << node->value_type()->full_name() - // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " - // << node->original_local_name () - // << ";" << be_nl; - // } - // else - // { - // os->gen_ifdef_macro (node->flat_name ()); - - // *os << be_nl_2; - - // /// If we are using std::vector, we won't be using _vars - // /// and _outs. They may get redefined and reinstated later. - // if (!be_global->alt_mapping () || !node->unbounded ()) - // { - // if (this->ctx_->tdef () != nullptr) - // { - // *os << "class " << node->local_name () << ";"; - // } - - // if (this->ctx_->tdef () != nullptr) - // { - // this->gen_varout_typedefs (node, kt); - // } - - // if (this->ctx_->tdef () != nullptr) - // { - // this->gen_varout_typedefs (node, vt); - // } - // } - // else - // { - // // *os << "typedef std::map< "; - - // // // Generate the base type for the buffer. - // // be_visitor_context ctx (*this->ctx_); - // // ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); - // // be_visitor_map_buffer_type kt_visitor (&ctx); - - // // if (kt->accept (&kt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // if (kt->accept(&kt_visitor) == -1) - // // { - - // // } - - // // if (vt->accept (&kt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // if (vt->accept(&vt_visitor) == -1) - // // { - - // // } - - // // *os << "> " << node->local_name () << ";"; - - // // os->gen_endif (); - // // node->cli_hdr_gen (true); - // return 0; - // } - - // *os << be_nl_2 - // << "class " << be_global->stub_export_macro () << " " - // << node->local_name () << be_idt_nl - // << ": public" << be_idt << be_idt_nl; - - // int status = - // node->gen_base_class_name (os, - // "", - // this->ctx_->scope ()->decl ()); - - // if (status == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_ch::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("Base class name ") - // ACE_TEXT ("generation failed\n")), - // -1); - // } - - // *os << be_uidt << be_uidt << be_uidt; - - // *os << be_nl - // << "{" << be_nl - // << "public:" << be_idt; - - // *os << be_nl - // << node->local_name () << " () = default;"; - - // if (node->unbounded ()) - // { - // *os << be_nl - // << node->local_name () << " ( ::CORBA::ULong max);"; - // } - - // /// If we are using std::vector, we can't implement this - // /// constructor. - // if (!be_global->alt_mapping () || !node->unbounded ()) - // { - // // *os << be_nl - // // << node->local_name () << " (" << be_idt; - - // // if (node->unbounded ()) - // // { - // // *os << be_nl - // // << "::CORBA::ULong max,"; - // // } - - // // *os << be_nl - // // << "::CORBA::ULong length," << be_nl; - - // // // Generate the base type for the buffer. - // // be_visitor_context ctx (*this->ctx_); - // // ctx.state (TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH); - // // be_visitor_map_buffer_type bt_visitor (&ctx); - - // // if (kt->accept (&bt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // *os << "* buffer," << be_nl - // // << "::CORBA::Boolean release = false);" << be_uidt; - // } - - // // Default copy/move constructor and assignment operators - // *os << be_nl - // << node->local_name () << " (const " << node->local_name () << " &) = default;" << be_nl - // << node->local_name () << " (" << node->local_name () << " &&) = default;" << be_nl - // << node->local_name () << "& operator= (const " << node->local_name () << " &) = default;" << be_nl - // << node->local_name () << "& operator= (" << node->local_name () << " &&) = default;" - // << be_nl; - - // *os << "virtual ~" << node->local_name () << " () = default;"; - - // if (be_global->alt_mapping () && node->unbounded ()) - // { - // *os << be_nl_2 - // << "virtual ::CORBA::ULong length () const;" - // << be_nl - // << "virtual void length (::CORBA::ULong);" - // << be_nl_2 - // << "virtual ::CORBA::ULong maximum () const;"; - // } - - // *os << be_nl; - - // node->gen_stub_decls (os); - - // // TAO provides extensions for octet maps, first find out if - // // the base type is an octet (or an alias for octet). - // be_predefined_type *predef = nullptr; - - // if (kt->base_node_type () == AST_Type::NT_pre_defined) - // { - // be_typedef* alias = - // dynamic_cast (kt); - - // if (alias == nullptr) - // { - // predef = dynamic_cast (kt); - // } - // else - // { - // predef = - // dynamic_cast ( - // alias->primitive_base_type () - // ); - // } - // } - - // // Now generate the extension... - // if (predef != nullptr - // && predef->pt () == AST_PredefinedType::PT_octet - // && node->unbounded () - // && !be_global->alt_mapping ()) - // { - // *os << be_nl_2 - // << "\n#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)" << be_nl - // << node->local_name () << " (::CORBA::ULong length, const ACE_Message_Block* mb)" - // << be_idt_nl - // << ": ::TAO::unbounded_value_map< ::CORBA::Octet>" - // << " (length, mb) {}" << be_uidt_nl - // << "\n#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */"; - // } - - // *os << be_uidt_nl - // << "};"; - - // os->gen_endif (); - // } node->cli_hdr_gen (true); return 0; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 02f17e9dc8a5d..da7c1940cbcc8 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -26,48 +26,30 @@ be_visitor_map_cs::~be_visitor_map_cs () int be_visitor_map_cs::visit_map (be_map *node) { - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) + if (node->defined_in () == nullptr) { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - // We don't check cli_stub_gen() here. If we are generated more - // than once as an anonymous map, the name guard will cause - // the C++ preprocessor to catch it. If we are generated more than - // once as a typedef (caused by a comma separated list of - // typedefs), our name will be changed by the call above and the - // name guard will not catch it, but that's ok - we want to - // be generated for each typedef. - if (node->imported ()) - { - return 0; + // The node is a nested map, and has had no scope defined. + node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } - if (idl_global->dcps_map_type_defined (node->full_name ())) - { - return 0; - } + TAO_OutStream *os = this->ctx_->stream (); + // Retrieve the key type since we may need to do some code + // generation for the base type. be_type *kt = dynamic_cast (node->key_type ()); if (kt == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("Bad element type\n")), -1); } + kt->seen_in_map (true); AST_Decl::NodeType knt = kt->node_type (); - // If our base type is an anonymous map, we must create a name - // and generate a class declaration for it as well. if (knt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -79,7 +61,7 @@ int be_visitor_map_cs::visit_map (be_map *node) if (kt->accept (this) != 0) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("codegen for anonymous ") ACE_TEXT ("base type failed\n")), @@ -90,21 +72,23 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } + + be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("Bad element type\n")), -1); } + vt->seen_in_map (true); AST_Decl::NodeType vnt = vt->node_type (); - // If our base type is an anonymous map, we must create a name - // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -116,7 +100,7 @@ int be_visitor_map_cs::visit_map (be_map *node) if (kt->accept (this) != 0) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("codegen for anonymous ") ACE_TEXT ("base type failed\n")), @@ -127,156 +111,16 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } - if (be_global->alt_mapping () && node->unbounded ()) - { - // We are just a typedef and don't need any stub source - // code generation. - return 0; - } - - TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl_2; TAO_INSERT_COMMENT (os); - os->gen_ifdef_macro (node->flat_name ()); - - // for unbounded maps, we have a different set of constructors - if (node->unbounded ()) - { - *os << be_nl_2 - << node->name () << "::" << node->local_name () << " (" - << be_idt << be_idt_nl - << "::CORBA::ULong max)" << be_uidt_nl - << ": " << be_idt; - - int status = - node->gen_base_class_name (os, - "", - this->ctx_->scope ()->decl ()); - - // Pass it to the base constructor. - if (status == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for base ") - ACE_TEXT ("map class failed\n")), - -1); - } - - - *os << " (max)" << be_uidt << be_uidt_nl - << "{}"; - } - - /// If we are using std::map, we can't implement this - /// constructor. - if (!be_global->alt_mapping () || !node->unbounded ()) - { - // // Constructor with the buffer - // *os << be_nl_2 - // << node->name () << "::" << node->local_name () << " (" - // << be_idt << be_idt_nl; - - // if (node->unbounded ()) - // { - // // Unbounded seq takes this extra parameter. - // *os << "::CORBA::ULong max," << be_nl; - // } - - // *os << "::CORBA::ULong length," << be_nl; - - // // generate the base type for the buffer - // be_visitor_context ctx (*this->ctx_); - // be_visitor_map_buffer_type bt_visitor (&ctx); - - // if (kt->accept (&bt_visitor) == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_cs::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("base type visit failed\n")), - // -1); - // } - - // *os << " * buffer," << be_nl - // << "::CORBA::Boolean release)" << be_uidt - // << be_uidt_nl - // << " : " << be_idt << be_idt; - - // // Pass it to the base constructor. - // if (node->gen_base_class_name (os, - // "", - // this->ctx_->scope ()->decl ()) == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_cs::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("codegen for base ") - // ACE_TEXT ("map class\n")), - // -1); - // } - - // *os << be_nl << "("; - - // if (node->unbounded ()) - // { - // *os << "max, "; - // } - - // *os << "length, buffer, release)" << be_uidt << be_uidt_nl - // << "{}"; - } - - if (be_global->alt_mapping () && node->unbounded ()) - { - *os << be_nl_2 - << "::CORBA::ULong" << be_nl - << node->name () << "::length () const" << be_nl - << "{" << be_idt_nl - << "return this->size ();" << be_uidt_nl - << "}"; - - *os << be_nl_2 - << "void" << be_nl - << node->name () << "::length ( ::CORBA::ULong length)" - << be_nl - << "{" << be_idt_nl - << "this->resize (length);" << be_uidt_nl - << "}"; - - *os << be_nl_2 - << "::CORBA::ULong" << be_nl - << node->name () << "::maximum () const" << be_nl - << "{" << be_idt_nl - << "return this->capacity ();" << be_uidt_nl - << "}"; - } - - if (be_global->any_support () - && !node->anonymous () - && (!node->is_local () - || be_global->gen_local_iface_anyops ())) - { - *os << be_nl_2 - << "void " - << node->name () << "::_tao_any_destructor (" - << be_idt << be_idt_nl - << "void * _tao_void_pointer)" << be_uidt << be_uidt_nl - << "{" << be_idt_nl - << node->local_name () << " * _tao_tmp_pointer =" - << be_idt_nl - << "static_cast<" << node->local_name () - << " *> (_tao_void_pointer);" << be_uidt_nl - << "delete _tao_tmp_pointer;" << be_uidt_nl - << "}"; - } - - os->gen_endif (); + *os << "std::map<" + << node->key_type ()->full_name () + << ", " + << node->value_type ()->full_name () + << ">"; - node->cli_stub_gen (true); + node->cli_hdr_gen (true); return 0; } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 991ef7bfcabde..2a1cf4a267fe2 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -66,7 +66,7 @@ class be_map : public virtual AST_Map, /** * Returns the fully dealiased key type if it's a typedef. If it's not a - * typedef, the it returns the same value as as key_type(). + * typedef, the it returns the same value as as value_type(). */ be_type *primitive_value_type () const; @@ -95,13 +95,7 @@ class be_map : public virtual AST_Map, /// Report the instance name for instantiation. const char *instance_name (); - - /// Common code for generating the name and parameters of our - /// template map base class. - int gen_base_class_name (TAO_OutStream *os, - const char * linebreak, - AST_Decl *elem_scope); - + /// Accessors for the member. be_field *field_node () const; void field_node (be_field *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index b3f3d0aeb9a57..f182065673ecc 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -4,15 +4,14 @@ /** * @file map_ch.h * - * Concrete visitor for the Sequence class - * This one provides code generation for the Sequence node in the client + * Concrete visitor for the Map class + * This one provides code generation for the Map node in the client * header. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= - #ifndef _BE_VISITOR_MAP_MAP_CH_H_ #define _BE_VISITOR_MAP_MAP_CH_H_ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index 73cd942225ba6..0e1b23254bfad 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -8,7 +8,7 @@ * This one provides code generation for the Sequence node in the client * stubs. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/tao_idl_be.mpc b/TAO/TAO_IDL/tao_idl_be.mpc index 91757abcc57bb..e7a69847fc8f1 100644 --- a/TAO/TAO_IDL/tao_idl_be.mpc +++ b/TAO/TAO_IDL/tao_idl_be.mpc @@ -35,6 +35,7 @@ project(TAO_IDL_BE) : acelib, install_lib, tao_rules, tao_output, tao_vc8warning be/be_visitor_operation be/be_visitor_root be/be_visitor_sequence + be/be_visitor_map be/be_visitor_structure be/be_visitor_structure_fwd be/be_visitor_typecode @@ -219,6 +220,7 @@ project(TAO_IDL_BE_VIS_S) : acelib, install_lib, tao_rules, tao_output, tao_vc8w Source_Files { conditional(prop:static) { be/be_visitor_sequence + be/be_visitor_map be/be_visitor_structure be/be_visitor_structure_fwd be/be_visitor_typecode diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 6de0976948d36..6e6faf9bf5ff1 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -2,8 +2,42 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" +#include "ace/streams.h" +#include + +namespace stream8 { + std::ostream & + operator<< (std::ostream &os, CORBA::UInt8 value) { + return os << static_cast(value); + } + + std::ostream & + operator<< (std::ostream &os, CORBA::Int8 value) { + return os << static_cast(value); + } +} + +template +void +expect_equals (bool &any_failed, const char *name, IntType actual, IntType expected) +{ + if (actual != expected) + { + using stream8::operator<<; + *ACE_DEFAULT_LOG_STREAM + << "ERROR: For " << name << " expected: " << expected + << ", but got " << actual << "\n"; + any_failed = true; + } +} int ACE_TMAIN(int, ACE_TCHAR *[]) { - return EXIT_SUCCESS; + DataStruct d; + d.mapData[0] = 1; + + bool any_failed = false; + expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 1); + + return EXIT_SUCCESS; } From 52939b71add7e674e2cc02868f3afd6b1f434944 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:53:29 -0400 Subject: [PATCH 28/92] updated include --- TAO/TAO_IDL/be/be_codegen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 40d9d3f0ac6d4..c0bb56555cc0c 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,8 +231,8 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } - // TODO probably not what's supposed to be done here - *this->client_header() << "#include "; + // TODO not sure where to put this + *this->client_header() << "\n#include \n"; if (be_global->unique_include () != nullptr) { From fb88c10cf5fc88479452feaeabe382107bf38e52 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:56:51 -0400 Subject: [PATCH 29/92] remove whitespace --- TAO/TAO_IDL/be_include/be_map.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 2a1cf4a267fe2..1d5312989b67a 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -32,8 +32,8 @@ class be_field; // the base type is defined in the scope of this map. Hence we define // be_map to possess the additional characteristics of a scope. class be_map : public virtual AST_Map, - public virtual be_scope, - public virtual be_type + public virtual be_scope, + public virtual be_type { public: enum MANAGED_TYPE @@ -104,7 +104,6 @@ class be_map : public virtual AST_Map, virtual char *gen_name (); protected: - /// Computes the fully scoped typecode name. virtual void compute_tc_name (); From 7a016b6c84fac1b6daa39761824bb14be174f679 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 21:00:19 -0400 Subject: [PATCH 30/92] Fixed fuzzing --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 -- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 -- TAO/TAO_IDL/be_include/be_map.h | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 6e83bfd014952..2bd7407115691 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -69,8 +69,6 @@ int be_visitor_map_ch::visit_map (be_map *node) this->ctx_->tdef (tmp); } - - be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index da7c1940cbcc8..ddfc3291384b0 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -72,8 +72,6 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } - - be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 1d5312989b67a..d6be192de1bb1 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -95,7 +95,7 @@ class be_map : public virtual AST_Map, /// Report the instance name for instantiation. const char *instance_name (); - + /// Accessors for the member. be_field *field_node () const; void field_node (be_field *node); From 8a730f94b6b29b83ba9232946da5cf9904be1c7e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 18 Jun 2022 21:22:10 -0400 Subject: [PATCH 31/92] Cleaned up CDR progress --- TAO/TAO_IDL/be/be_map.cpp | 333 +----------------- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 60 ++++ TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 34 ++ TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 145 ++++++++ TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 98 ------ TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 75 ---- TAO/TAO_IDL/be_include/be_map.h | 28 -- TAO/TAO_IDL/be_include/be_visitor_map.h | 4 +- .../be_include/be_visitor_map/cdr_op_ch.h | 41 +++ .../be_include/be_visitor_map/cdr_op_cs.h | 96 +++++ .../be_include/be_visitor_map/map_ch.h | 4 - 11 files changed, 382 insertions(+), 536 deletions(-) create mode 100644 TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 927acec7b389b..1372c50032835 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -58,7 +58,6 @@ be_map::be_map (AST_Expression *v, n), be_type (AST_Decl::NT_map, n), - mt_ (be_map::MNG_UNKNOWN), field_node_ (nullptr) { // Always the case. @@ -75,30 +74,6 @@ be_map::be_map (AST_Expression *v, idl_global->seq_seen_ = true; idl_global->var_size_decl_seen_ = true; - // Don't need the return value - just set the member. - (void) this->managed_type (); - - switch (this->mt_) - { - case MNG_OBJREF: - idl_global->iface_seq_seen_ = true; - break; - case MNG_PSEUDO: - idl_global->pseudo_seq_seen_ = true; - break; - case MNG_VALUE: - idl_global->vt_seq_seen_ = true; - break; - case MNG_STRING: - idl_global->string_seq_seen_ = true; - break; - case MNG_WSTRING: - idl_global->wstring_seq_seen_ = true; - break; - default: - break; - } - AST_Type *const key_type = primitive_key_type (); if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) { @@ -170,230 +145,6 @@ be_map::primitive_value_type () const return type_node; } -// Helper to create_name. -char * -be_map::gen_name () -{ - char namebuf [NAMEBUFSIZE]; - be_type *kt = nullptr; - be_type *vt = nullptr; - - // Reset the buffer. - ACE_OS::memset (namebuf, - '\0', - NAMEBUFSIZE); - - // Retrieve the key type. - kt = dynamic_cast (this->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_map::" - "gen_name - " - "bad key type\n"), - 0); - } - - // Retrieve the key type. - vt = dynamic_cast (this->value_type ()); - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_map::" - "gen_name - " - "bad value type\n"), - 0); - } - - // If this is non-zero, add its local name to the generated name, - // for uniqueness. - be_field *fn = this->field_node_; - - // if (kt->node_type () == AST_Decl::NT_map) - // { - // // Our base type is an anonymous map. - // be_map *map = dynamic_cast (kt); - - // if (map == nullptr) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // "(%N:%l) be_map::" - // "gen_name - " - // "error converting key type to map\n"), - // 0); - // } - - // // If the nested sequence were defined in - // // the scope of the enclosing sequence, we would have to - // // not only define the nested class in two places, but also - // // deal with the fact that, for the template classes, the - // // enclosing sequence's template type is a class defined - // // inside it. So we define the nested sequence in the next - // // scope up, and the existing code generation works for both - // // template and non-template implementations of IDL sequences. - // UTL_Scope *parent = this->defined_in (); - // map->set_defined_in (parent); - // char *map_name = map->gen_name (); - - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_%s", - // map_name, - // fn ? fn->local_name ()->get_string () : ""); - // ACE::strdelete (map_name); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_", - // kt->flat_name ()); - // } - - // Append the size (if any). - if (this->unbounded () == false) - { - char ulval_str [NAMEBUFSIZE]; - ACE_OS::sprintf (ulval_str, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); - ACE_OS::strcat (namebuf, - ulval_str); - } - - return ACE::strnew (namebuf); -} - -// Create a name for ourselves. -int -be_map::create_name (be_typedef *node) -{ - static char *namebuf = nullptr; - UTL_ScopedName *n = nullptr; - - // Scope in which we are defined. - be_decl *scope = nullptr; - - // If there is a typedef node, we use its name as our name. - if (node) - { - this->set_name ( - dynamic_cast (node->name ()->copy ()) - ); - } - else - { - // Generate a local name. - namebuf = this->gen_name (); - - // Now see if we have a fully scoped name and if so, generate one. - UTL_Scope *us = this->defined_in (); - - scope = dynamic_cast (us)->decl (); - - if (scope != nullptr) - { - // Make a copy of the enclosing scope's name. - n = (UTL_ScopedName *) scope->name ()->copy (); - - Identifier *id = nullptr; - ACE_NEW_RETURN (id, - Identifier (namebuf), - -1); - - UTL_ScopedName *conc_name = nullptr; - ACE_NEW_RETURN (conc_name, - UTL_ScopedName (id, - nullptr), - -1); - - // Add our local name as the last component. - n->nconc (conc_name); - - // Set the fully scoped name. - this->set_name (n); - } - else - { - // We better be not here because we must be inside some scope, - // at least the ROOT scope. - return -1; - } - - ACE::strdelete (namebuf); - } - - return 0; -} - -// Does this sequence have a managed type sequence element? -be_map::MANAGED_TYPE -be_map::managed_type () -{ - // if (this->mt_ == be_map::MNG_UNKNOWN) // Not calculated yet. - // { - // // Base types. - // be_type *const base_type = primitive_base_type (); - // if (!base_type) - // ACE_ERROR_RETURN ((LM_ERROR, - // "TAO_IDL (%N:%l) " - // "dynamic_cast " - // "failed\n"), - // be_sequence::MNG_UNKNOWN); - - // // Determine if we need a managed type and which one. - // switch (base_type->node_type ()) - // { - // case AST_Decl::NT_interface: - // case AST_Decl::NT_interface_fwd: - // case AST_Decl::NT_component: - // case AST_Decl::NT_component_fwd: - // case AST_Decl::NT_connector: - // this->mt_ = be_sequence::MNG_OBJREF; - // break; - // case AST_Decl::NT_valuebox: - // case AST_Decl::NT_valuetype: - // case AST_Decl::NT_valuetype_fwd: - // case AST_Decl::NT_eventtype: - // case AST_Decl::NT_eventtype_fwd: - // this->mt_ = be_sequence::MNG_VALUE; - // break; - // case AST_Decl::NT_string: - // this->mt_ = be_sequence::MNG_STRING; - // break; - // case AST_Decl::NT_wstring: - // this->mt_ = be_sequence::MNG_WSTRING; - // break; - // case AST_Decl::NT_pre_defined: - // { - // be_predefined_type * const bpd = - // dynamic_cast (base_type); - - // AST_PredefinedType::PredefinedType pt = bpd->pt (); - - // switch (pt) - // { - // case AST_PredefinedType::PT_pseudo: - // case AST_PredefinedType::PT_object: - // case AST_PredefinedType::PT_abstract: - // this->mt_ = be_sequence::MNG_PSEUDO; - // break; - // case AST_PredefinedType::PT_value: - // this->mt_ = be_sequence::MNG_VALUE; - // break; - // default: - // this->mt_ = be_sequence::MNG_NONE; - // break; - // } - // } - // break; - // default: - // this->mt_ = be_sequence::MNG_NONE; - // } - // } - - return this->mt_; -} - // Add this be_sequence to the locally defined types in this scope AST_Map * be_map::fe_add_map (AST_Map *t) @@ -419,33 +170,7 @@ void be_map::gen_ostream_operator (TAO_OutStream *os, bool /* use_underscore */) { - *os << be_nl - << "std::ostream& operator<< (" << be_idt << be_idt_nl - << "std::ostream &strm," << be_nl - << "const " << this->name () << " &_tao_sequence" << be_uidt_nl - << ")" << be_uidt_nl - << "{" << be_idt_nl - << "strm << \"" << this->name () << "[\";" << be_nl_2; - - if (be_global->alt_mapping ()) - { - *os << "for (CORBA::ULong i = 0; i < _tao_sequence.size (); ++i)"; - } - else - { - *os << "for (CORBA::ULong i = 0; i < _tao_sequence.length (); ++i)"; - } - - *os << be_idt_nl - << "{" << be_idt_nl - << "if (i != 0)" << be_idt_nl - << "{" << be_idt_nl - << "strm << \", \";" << be_uidt_nl - << "}" << be_uidt_nl << be_nl - << "strm << _tao_sequence[i];" << be_uidt_nl - << "}" << be_uidt_nl << be_nl - << "return strm << \"]\";" << be_uidt_nl - << "}" << be_nl; +// TODO Gene ostream operator } int @@ -459,9 +184,9 @@ const char * be_map::instance_name () { static char namebuf[NAMEBUFSIZE]; - // ACE_OS::memset (namebuf, - // '\0', - // NAMEBUFSIZE); + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); // be_type *const prim_type = primitive_base_type (); // if (!prim_type) @@ -588,56 +313,6 @@ be_map::field_node (be_field *node) this->field_node_ = node; } -// Overriden method. -void -be_map::compute_tc_name () -{ - // Sequence TypeCodes can only be accessed through an alias - // TypeCode. Generate a TypeCode name that is meant for internal - // use alone. - - Identifier * tao_id = nullptr; - ACE_NEW (tao_id, - Identifier ("TAO")); - - ACE_NEW (this->tc_name_, - UTL_ScopedName (tao_id, - nullptr)); - - char bound[30] = { 0 }; - - ACE_OS::sprintf (bound, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); - - ACE_CString local_tc_name = - ACE_CString ("tc_") - + ACE_CString (this->flat_name ()) - + ACE_CString (bound); - - Identifier * typecode_scope = nullptr; - ACE_NEW (typecode_scope, - Identifier ("TypeCode")); - - UTL_ScopedName * tc_scope_conc_name = nullptr; - ACE_NEW (tc_scope_conc_name, - UTL_ScopedName (typecode_scope, - nullptr)); - - this->tc_name_->nconc (tc_scope_conc_name); - - Identifier * id = nullptr; - ACE_NEW (id, - Identifier (local_tc_name.c_str ())); - - UTL_ScopedName * conc_name = nullptr; - ACE_NEW (conc_name, - UTL_ScopedName (id, - nullptr)); - - this->tc_name_->nconc (conc_name); -} - const char * be_map::smart_fwd_helper_name (AST_Decl *ctx_scope, be_type *elem) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index ffa674de55473..79980bc3c6b7d 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -12,6 +12,7 @@ #include "field.h" #include "be_visitor_array/cdr_op_cs.h" #include "be_visitor_sequence/cdr_op_cs.h" +#include "be_visitor_map/cdr_op_cs.h" #include "be_visitor_structure/cdr_op_cs.h" #include "be_visitor_union/cdr_op_cs.h" @@ -640,6 +641,65 @@ be_visitor_field_cdr_op_cs::visit_sequence (be_sequence *node) int be_visitor_field_cdr_op_cs::visit_map (be_map *node) { + // If the map is defined in this scope, generate its + // CDR stream operators here. + if (node->node_type () != AST_Decl::NT_typedef + && node->is_child (this->ctx_->scope ()->decl ())) + { + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + be_visitor_map_cdr_op_cs visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "codegen failed\n"), + -1); + } + } + + // How generate the marshaling code for the sequence as a field. + + TAO_OutStream *os = this->ctx_->stream (); + + // Retrieve the field node. + be_field *f = + dynamic_cast (this->ctx_->node ()); + + if (f == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "cannot retrieve field node\n"), + -1); + } + + // Check what is the code generations substate. Are we generating code for + // the in/out operators for our parent or for us? + switch (this->ctx_->sub_state ()) + { + case TAO_CodeGen::TAO_CDR_INPUT: + *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; + + return 0; + case TAO_CodeGen::TAO_CDR_OUTPUT: + *os << "(strm << _tao_aggregate." << f->local_name () << ")"; + + return 0; + case TAO_CodeGen::TAO_CDR_SCOPE: + // Proceed further. + break; + default: + // Error. + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "bad sub state\n"), + -1); + } return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp new file mode 100644 index 0000000000000..524fcb4470811 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -0,0 +1,34 @@ + +//============================================================================= +/** + * @file cdr_op_ch.cpp + * + * Visitor generating code for CDR operators for maps. This uses + * compiled marshaling. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// *************************************************************************** +// Map visitor for generating CDR operator declarations in the client header +// *************************************************************************** + +be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( + be_visitor_context *ctx + ) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () +{ +} + +int +be_visitor_map_cdr_op_ch::visit_map (be_map *node) +{ + return 0; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp new file mode 100644 index 0000000000000..1dcef6394b2c2 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -0,0 +1,145 @@ + +//============================================================================= +/** + * @file cdr_op_cs.cpp + * + * Visitor for code generation of Maps for the CDR operators + * in the client stubs. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// *************************************************************************** +// Map visitor for generating CDR operator declarations in the client +// stubs file. +// *************************************************************************** + +be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs ( + be_visitor_context *ctx + ) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () +{ +} + +int +be_visitor_map_cdr_op_cs::visit_map (be_map *node) +{ + return 0; +} + +int +be_visitor_map_cdr_op_cs::visit_array (be_array *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_enum (be_enum *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_interface (be_interface *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_interface_fwd (be_interface_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_component (be_component *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_component_fwd (be_component_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_home (be_home *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuebox (be_valuebox *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuetype (be_valuetype *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuetype_fwd (be_valuetype_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_eventtype (be_eventtype *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_eventtype_fwd (be_eventtype_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_predefined_type ( + be_predefined_type *node + ) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_string (be_string *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_structure (be_structure *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_union (be_union *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_typedef (be_typedef *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_node (be_type *) +{ + return 0; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 2bd7407115691..a39ce0e7f469a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -31,81 +31,6 @@ int be_visitor_map_ch::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - // Retrieve the key type since we may need to do some code - // generation for the base type. - be_type *kt = dynamic_cast (node->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - kt->seen_in_map (true); - AST_Decl::NodeType knt = kt->node_type (); - - if (knt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - - be_type *vt = dynamic_cast (node->value_type ()); - - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - vt->seen_in_map (true); - AST_Decl::NodeType vnt = vt->node_type (); - - - if (vnt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - *os << be_nl_2; TAO_INSERT_COMMENT (os); @@ -119,26 +44,3 @@ int be_visitor_map_ch::visit_map (be_map *node) node->cli_hdr_gen (true); return 0; } - -void -be_visitor_map_ch::gen_varout_typedefs (be_map *node, - be_type *elem) -{ - TAO_OutStream *os = this->ctx_->stream (); - - *os << be_nl; - - AST_Type::SIZE_TYPE st = elem->size_type (); - - *os << "typedef " - << (st == AST_Type::FIXED ? "::TAO_FixedSeq_Var_T<" - : "::TAO_VarSeq_Var_T<") - << node->local_name (); - - *os << "> " - << node->local_name () << "_var;" << be_nl; - - *os << "typedef ::TAO_Seq_Out_T<" - << node->local_name () - << "> " << node->local_name () << "_out;" << be_nl; -} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index ddfc3291384b0..c914a4e85e810 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -34,81 +34,6 @@ int be_visitor_map_cs::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - // Retrieve the key type since we may need to do some code - // generation for the base type. - be_type *kt = dynamic_cast (node->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - kt->seen_in_map (true); - AST_Decl::NodeType knt = kt->node_type (); - - if (knt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - - be_type *vt = dynamic_cast (node->value_type ()); - - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - vt->seen_in_map (true); - AST_Decl::NodeType vnt = vt->node_type (); - - - if (vnt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - *os << be_nl_2; TAO_INSERT_COMMENT (os); diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index d6be192de1bb1..619c9bc99958b 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -36,17 +36,6 @@ class be_map : public virtual AST_Map, public virtual be_type { public: - enum MANAGED_TYPE - { - MNG_UNKNOWN, - MNG_NONE, - MNG_STRING, - MNG_WSTRING, - MNG_OBJREF, - MNG_VALUE, - MNG_PSEUDO - }; - be_map (AST_Expression *v, AST_Type *kt, AST_Type *vt, @@ -70,13 +59,6 @@ class be_map : public virtual AST_Map, */ be_type *primitive_value_type () const; - /// Create a name for ourselves. If we are typedefed, then we get the name of - /// the typedef node, else we generate a name for ourselves. - virtual int create_name (be_typedef *node); - - /// Return the managed type. - virtual MANAGED_TYPE managed_type (); - // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); @@ -100,21 +82,11 @@ class be_map : public virtual AST_Map, be_field *field_node () const; void field_node (be_field *node); - /// Helper to create_name, also used by the traits visitor. - virtual char *gen_name (); - -protected: - /// Computes the fully scoped typecode name. - virtual void compute_tc_name (); - private: const char *smart_fwd_helper_name (AST_Decl *elem_scope, be_type *elem); private: - /// Our managed type. - MANAGED_TYPE mt_; - /// Used if we are an anonymous member, to help generate a unique name. be_field *field_node_; }; diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 12f618aa6c991..7b153fc251ab9 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -12,7 +12,7 @@ // #include "be_visitor_map/buffer_type.h" // #include "be_visitor_map/any_op_ch.h" // #include "be_visitor_map/any_op_cs.h" -// #include "be_visitor_map/cdr_op_ch.h" -// #include "be_visitor_map/cdr_op_cs.h" +#include "be_visitor_map/cdr_op_ch.h" +#include "be_visitor_map/cdr_op_cs.h" #endif /* TAO_BE_VISITOR_SEQUENCE_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h new file mode 100644 index 0000000000000..bcbcf2dd8408b --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file cdr_op_ch.h + * + * Concrete visitor for the Map class + * This one provides code generation for the CDR operators for the map + * in the client header. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_CDR_OP_CH_H_ +#define _BE_VISITOR_MAP_CDR_OP_CH_H_ + +/** + * @class be_visitor_map_cdr_op_ch + * + * @brief be_visitor_map_cdr_op_ch + * + * This is a concrete visitor for map that generates the CDR operator + * declarations + */ +class be_visitor_map_cdr_op_ch : public be_visitor_decl +{ + +public: + /// constructor + be_visitor_map_cdr_op_ch (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cdr_op_ch (); + + /// visit map + virtual int visit_map (be_map *node); +}; + +#endif /* _BE_VISITOR_MAP_CDR_OP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h new file mode 100644 index 0000000000000..0193a639b2c2a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -0,0 +1,96 @@ + +//============================================================================= +/** + * @file cdr_op_cs.h + * + * Visitors for generation of code for Map in client stubs. This one + * generates the CDR operators. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_CDR_OP_CS_H_ +#define _BE_VISITOR_MAP_CDR_OP_CS_H_ + +/** + * @class be_visitor_map_cdr_op_cs + * + * @brief be_visitor_map_cdr_op_cs + * + * This is a concrete visitor for map that generates the CDR operator + * implementations + */ +class be_visitor_map_cdr_op_cs : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_cdr_op_cs (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cdr_op_cs (); + + /// visit map + virtual int visit_map (be_map *node); + + // = Visitor methods on map types + + /// visit map + virtual int visit_array (be_array *node); + + /// visit an enum + virtual int visit_enum (be_enum *node); + + /// visit an interface + virtual int visit_interface (be_interface *node); + + /// visit an interface forward node + virtual int visit_interface_fwd (be_interface_fwd *node); + + /// visit a component + virtual int visit_component (be_component *node); + + /// visit a component forward node + virtual int visit_component_fwd (be_component_fwd *node); + + /// visit a home + virtual int visit_home (be_home *node); + + /// visit valuebox + virtual int visit_valuebox (be_valuebox *node); + + /// visit a valuetype + virtual int visit_valuetype (be_valuetype *node); + + /// visit a valuetype forward node + virtual int visit_valuetype_fwd (be_valuetype_fwd *node); + + /// visit an eventtype + virtual int visit_eventtype (be_eventtype *node); + + /// visit an eventtype forward node + virtual int visit_eventtype_fwd (be_eventtype_fwd *node); + + /// visit a predefined type node + virtual int visit_predefined_type (be_predefined_type *node); + + /// visit string + virtual int visit_string (be_string *node); + + /// visit structure + virtual int visit_structure (be_structure *node); + + /// visit typedef + virtual int visit_typedef (be_typedef *node); + + /// visit union + virtual int visit_union (be_union *node); + +protected: + /// helper that does the common job + int visit_node (be_type *); + +}; + +#endif /* _BE_VISITOR_MAP_CDR_OP_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index f182065673ecc..14dbbd83593eb 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -34,10 +34,6 @@ class be_visitor_map_ch : public be_visitor_decl /// visit map node. virtual int visit_map (be_map *node); - - /// Generate the typedefs for our _var and _out template classes. - void gen_varout_typedefs (be_map *node, - be_type *elem); }; #endif /* _BE_VISITOR_MAP_MAP_CH_H_ */ From db2924baf25546bfb0572899e2d02082ecec4094 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 19 Jun 2022 20:56:16 -0400 Subject: [PATCH 32/92] Updated test, and stubbed stream operators --- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 6 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 40 +++++++++++++++++++ TAO/tests/IDLv4/maps/main.cpp | 34 +++++++++++++++- TAO/tests/IDLv4/maps/test.idl | 5 +-- 4 files changed, 77 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 79980bc3c6b7d..117ef8593bf93 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -660,7 +660,7 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) } } - // How generate the marshaling code for the sequence as a field. + // How generate the marshaling code for the map as a field. TAO_OutStream *os = this->ctx_->stream (); @@ -682,11 +682,11 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) switch (this->ctx_->sub_state ()) { case TAO_CodeGen::TAO_CDR_INPUT: - *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; + *os << "true"; return 0; case TAO_CodeGen::TAO_CDR_OUTPUT: - *os << "(strm << _tao_aggregate." << f->local_name () << ")"; + *os << "true"; return 0; case TAO_CodeGen::TAO_CDR_SCOPE: diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 1dcef6394b2c2..4ba747c20766a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -31,6 +31,46 @@ be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl + << "#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_CPP_" << be_nl + << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + << be_nl; + + *os << be_global->core_versioning_begin () << be_nl; + + be_type* kt = node->key_type(); + be_type* vt = node->key_type(); + + *os << "::CORBA::Boolean operator<< (" << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << kt->full_name () + << "," << vt->full_name() + << "> &_tao_map)" + << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}" << be_nl_2; + + *os << "::CORBA::Boolean operator>> (" << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << kt->full_name () + << "," << vt->full_name() + << "> &_tao_map)" + << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}" << be_nl_2; + + *os << be_nl << be_global->core_versioning_end (); + + *os << be_nl + << "#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_CPP_ */" + << be_nl; + return 0; } diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 6e6faf9bf5ff1..16c8d5350bd02 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -4,6 +4,7 @@ #include "ace/OS_main.h" #include "ace/streams.h" #include +#include namespace stream8 { std::ostream & @@ -31,13 +32,42 @@ expect_equals (bool &any_failed, const char *name, IntType actual, IntType expec } } +template <> +void +expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) +{ + if (std::strcmp(actual, expected) != 0) + { + using stream8::operator<<; + *ACE_DEFAULT_LOG_STREAM + << "ERROR: For " << name << " expected: " << expected + << ", but got " << actual << "\n"; + any_failed = true; + } +} + int ACE_TMAIN(int, ACE_TCHAR *[]) { DataStruct d; - d.mapData[0] = 1; + d.mapData[0] = 0; + d.mapData[1] = 1; + d.mapData[2] = 2; + d.mapData[3] = 3; + d.mapData[4] = 4; + d.mapData[5] = 5; bool any_failed = false; - expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 1); + expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 6); + expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 0); + d.mapData[0] = 10; + expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 10); + + d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + + if (any_failed) + return EXIT_FAILURE; return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index bf1f1024a1eda..e711694e24739 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,15 +5,14 @@ struct TestStruct { typedef sequence TestStructSeq; -// This fails // typedef map TestStructMap; struct DataStruct { map mapData; map mapDataBounded; - map mapStructs; - map mapStructsBounded; + map stringMapStructs; + map stringMapStructsBounded; map stringSequenceMap; map stringSequenceMapBounded; From ba4c11669731439d6c1a05d7386e14b6aa3b6b8e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 22 Jun 2022 20:25:31 -0400 Subject: [PATCH 33/92] Fixed fuzzing --- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 71 +++++-------------- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 74 ++++++++++---------- 2 files changed, 55 insertions(+), 90 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 82c80296dc92c..8a9d6b7bfb17a 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -384,9 +384,24 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) int be_visitor_field_ch::visit_map (be_map *node) { - TAO_OutStream *os = this->ctx_->stream (); - be_type *kt = nullptr; + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_ch visitor (&ctx); + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_sequence - " + "codegen failed\n"), + -1); + } + + return 0; + + be_type *kt = nullptr; if (this->ctx_->alias ()) { kt = this->ctx_->alias (); @@ -413,58 +428,8 @@ be_visitor_field_ch::visit_map (be_map *node) // First generate the map declaration. be_visitor_map_ch visitor (&ctx); - - if (node->accept (&visitor) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_field_ch::" - "visit_sequence - " - "codegen failed\n"), - -1); - } } - - // // If we are being reused by valutype, this would get generated - // // in the private section of the OBV_xx class, so we must - // // generate the typedef for that case elsewhere. - // AST_Decl::NodeType snt = - // this->ctx_->scope ()->decl ()->node_type (); - - // if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) - // { - // // Generate the anonymous sequence member typedef. - // be_decl *bs = this->ctx_->scope ()->decl (); - - // TAO_INSERT_COMMENT (os); - - // *os << "typedef " << bt->nested_type_name (bs) - // << " _" << this->ctx_->node ()->local_name () - // << "_seq;" << be_nl; - // } - } - - // // ACE_NESTED_CLASS macro generated by nested_type_name - // // is not necessary in all cases. - // be_typedef *tdef = dynamic_cast (bt); - - // // This was a typedefed array. - // // ACE_NESTED_CLASS macro generated by nested_type_name - // // is necessary if the struct, union, or valuetype containing this - // // field was not defined inside a module. In such a case, VC++ - // // complains that the non-module scope is not yet fully defined. - // UTL_Scope *holds_container = - // this->ctx_->scope ()->decl ()->defined_in (); - // AST_Decl *hc_decl = ScopeAsDecl (holds_container); - - // if (hc_decl->node_type () != AST_Decl::NT_module - // || !tdef) - // { - // *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); - // } - // else - // { - // *os << bt->name (); - // } + } return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 4ba747c20766a..992f65681b9b3 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -33,43 +33,43 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) { TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl - << "#if !defined _TAO_CDR_OP_" - << node->flat_name () << "_CPP_" << be_nl - << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" - << be_nl; - - *os << be_global->core_versioning_begin () << be_nl; - - be_type* kt = node->key_type(); - be_type* vt = node->key_type(); - - *os << "::CORBA::Boolean operator<< (" << be_idt_nl - << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << kt->full_name () - << "," << vt->full_name() - << "> &_tao_map)" - << be_uidt_nl - << "{" << be_idt_nl - << "return true;" << be_uidt_nl - << "}" << be_nl_2; - - *os << "::CORBA::Boolean operator>> (" << be_idt_nl - << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << kt->full_name () - << "," << vt->full_name() - << "> &_tao_map)" - << be_uidt_nl - << "{" << be_idt_nl - << "return true;" << be_uidt_nl - << "}" << be_nl_2; - - *os << be_nl << be_global->core_versioning_end (); - - *os << be_nl - << "#endif /* _TAO_CDR_OP_" - << node->flat_name () << "_CPP_ */" - << be_nl; + // *os << be_nl + // << "#if !defined _TAO_CDR_OP_" + // << node->flat_name () << "_CPP_" << be_nl + // << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + // << be_nl; + + // *os << be_global->core_versioning_begin () << be_nl; + + // be_type* kt = node->key_type(); + // be_type* vt = node->key_type(); + + // *os << "::CORBA::Boolean operator<< (" << be_idt_nl + // << "TAO_OutputCDR &strm," << be_nl + // << "const std::map<" << kt->full_name () + // << "," << vt->full_name() + // << "> &_tao_map)" + // << be_uidt_nl + // << "{" << be_idt_nl + // << "return true;" << be_uidt_nl + // << "}" << be_nl_2; + + // *os << "::CORBA::Boolean operator>> (" << be_idt_nl + // << "TAO_OutputCDR &strm," << be_nl + // << "const std::map<" << kt->full_name () + // << "," << vt->full_name() + // << "> &_tao_map)" + // << be_uidt_nl + // << "{" << be_idt_nl + // << "return true;" << be_uidt_nl + // << "}" << be_nl_2; + + // *os << be_nl << be_global->core_versioning_end (); + + // *os << be_nl + // << "#endif /* _TAO_CDR_OP_" + // << node->flat_name () << "_CPP_ */" + // << be_nl; return 0; } From 30848dd121daa761f099696810190acd55136e03 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 21:43:44 -0400 Subject: [PATCH 34/92] code generation working properly Map with anonymous maps not working yet --- TAO/TAO_IDL/be/be_map.cpp | 155 ++++++++++++++++++- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 73 ++++++--- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 33 +++- TAO/TAO_IDL/be_include/be_map.h | 7 + TAO/tests/IDLv4/maps/test.idl | 3 +- 5 files changed, 243 insertions(+), 28 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 1372c50032835..e6aa2d1ceae5a 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -145,6 +145,159 @@ be_map::primitive_value_type () const return type_node; } +// Helper to create_name. +char * +be_map::gen_name () +{ + char namebuf [NAMEBUFSIZE]; + be_type *kt = nullptr; + be_type *vt = nullptr; + + // Reset the buffer. + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); + + // Retrieve the base type. + kt = dynamic_cast (this->key_type ()); + vt = dynamic_cast (this->value_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad key type\n"), + 0); + } + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad value type\n"), + 0); + } + + // If this is non-zero, add its local name to the generated name, + // for uniqueness. + be_field *fn = this->field_node_; + + // TODO Key or value types that are anonymous maps + // if (bt->node_type () == AST_Decl::NT_sequence) + // { + // // Our base type is an anonymous sequence. + // be_sequence *seq = dynamic_cast (bt); + + // if (seq == nullptr) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // "(%N:%l) be_map::" + // "gen_name - " + // "error converting base type to map\n"), + // 0); + // } + + // // If the nested sequence were defined in + // // the scope of the enclosing sequence, we would have to + // // not only define the nested class in two places, but also + // // deal with the fact that, for the template classes, the + // // enclosing sequence's template type is a class defined + // // inside it. So we define the nested sequence in the next + // // scope up, and the existing code generation works for both + // // template and non-template implementations of IDL sequences. + // UTL_Scope *parent = this->defined_in (); + // seq->set_defined_in (parent); + // char *seq_name = seq->gen_name (); + + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_%s", + // seq_name, + // fn ? fn->local_name ()->get_string () : ""); + // ACE::strdelete (seq_name); + // } + // else + ACE_OS::sprintf (namebuf, + "_tao_map_%s_%s_", + kt->flat_name (), vt->flat_name ()); + + // Append the size (if any). + if (this->unbounded () == false) + { + char ulval_str [NAMEBUFSIZE]; + ACE_OS::sprintf (ulval_str, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + ACE_OS::strcat (namebuf, + ulval_str); + } + + return ACE::strnew (namebuf); +} + +// Create a name for ourselves. +int +be_map::create_name (be_typedef *node) +{ + static char *namebuf = nullptr; + UTL_ScopedName *n = nullptr; + + // Scope in which we are defined. + be_decl *scope = nullptr; + + // If there is a typedef node, we use its name as our name. + if (node) + { + this->set_name ( + dynamic_cast (node->name ()->copy ()) + ); + } + else + { + // Generate a local name. + namebuf = this->gen_name (); + + // Now see if we have a fully scoped name and if so, generate one. + UTL_Scope *us = this->defined_in (); + + scope = dynamic_cast (us)->decl (); + + if (scope != nullptr) + { + // Make a copy of the enclosing scope's name. + n = (UTL_ScopedName *) scope->name ()->copy (); + + Identifier *id = nullptr; + ACE_NEW_RETURN (id, + Identifier (namebuf), + -1); + + UTL_ScopedName *conc_name = nullptr; + ACE_NEW_RETURN (conc_name, + UTL_ScopedName (id, + nullptr), + -1); + + // Add our local name as the last component. + n->nconc (conc_name); + + // Set the fully scoped name. + this->set_name (n); + } + else + { + // We better be not here because we must be inside some scope, + // at least the ROOT scope. + return -1; + } + + ACE::strdelete (namebuf); + } + + return 0; +} + // Add this be_sequence to the locally defined types in this scope AST_Map * be_map::fe_add_map (AST_Map *t) @@ -170,7 +323,7 @@ void be_map::gen_ostream_operator (TAO_OutStream *os, bool /* use_underscore */) { -// TODO Gene ostream operator +// TODO Gen ostream operator } int diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 8a9d6b7bfb17a..e41b8679eec68 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -384,31 +384,15 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) int be_visitor_field_ch::visit_map (be_map *node) { - - be_visitor_context ctx (*this->ctx_); - ctx.node (node); - - // First generate the map declaration. - be_visitor_map_ch visitor (&ctx); - if (node->accept (&visitor) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_field_ch::" - "visit_sequence - " - "codegen failed\n"), - -1); - } - - return 0; - - be_type *kt = nullptr; + TAO_OutStream *os = this->ctx_->stream (); + be_type *bt = nullptr; if (this->ctx_->alias ()) { - kt = this->ctx_->alias (); + bt = this->ctx_->alias (); } else { - kt = node; + bt = node; } if (!this->ctx_->alias () @@ -428,7 +412,56 @@ be_visitor_field_ch::visit_map (be_map *node) // First generate the map declaration. be_visitor_map_ch visitor (&ctx); + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_map - " + "codegen failed\n"), + -1); + } } + + // If we are being reused by valutype, this would get generated + // in the private section of the OBV_xx class, so we must + // generate the typedef for that case elsewhere. + AST_Decl::NodeType snt = + this->ctx_->scope ()->decl ()->node_type (); + + if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) + { + // Generate the anonymous sequence member typedef. + be_decl *bs = this->ctx_->scope ()->decl (); + + TAO_INSERT_COMMENT (os); + + *os << "typedef " << bt->nested_type_name (bs) + << " _" << this->ctx_->node ()->local_name () + << "_map;" << be_nl; + } + } + + // ACE_NESTED_CLASS macro generated by nested_type_name + // is not necessary in all cases. + be_typedef *tdef = dynamic_cast (bt); + + // This was a typedefed array. + // ACE_NESTED_CLASS macro generated by nested_type_name + // is necessary if the struct, union, or valuetype containing this + // field was not defined inside a module. In such a case, VC++ + // complains that the non-module scope is not yet fully defined. + UTL_Scope *holds_container = + this->ctx_->scope ()->decl ()->defined_in (); + AST_Decl *hc_decl = ScopeAsDecl (holds_container); + + if (hc_decl->node_type () != AST_Decl::NT_module + || !tdef) + { + *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + } + else + { + *os << bt->name (); } return 0; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index a39ce0e7f469a..615eb531352b1 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -5,7 +5,7 @@ * * Visitor generating code for Sequence in the client header * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= @@ -29,18 +29,39 @@ int be_visitor_map_ch::visit_map (be_map *node) node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + TAO_OutStream *os = this->ctx_->stream (); *os << be_nl_2; TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + *os << be_nl_2; - *os << "std::map<" - << node->key_type ()->full_name () - << ", " - << node->value_type ()->full_name () - << ">"; + *os << "typedef std::map< "; + be_type* kt = node->key_type(); + be_type* vt = node->value_type(); + + *os << kt->full_name (); + *os << ", "; + *os << vt->full_name (); + + *os << "> " << node->local_name () << ";"; + + os->gen_endif (); node->cli_hdr_gen (true); + return 0; } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 619c9bc99958b..af8eafaf6d506 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -59,6 +59,10 @@ class be_map : public virtual AST_Map, */ be_type *primitive_value_type () const; + /// Create a name for ourselves. If we are typedefed, then we get the name of + /// the typedef node, else we generate a name for ourselves. + virtual int create_name (be_typedef *node); + // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); @@ -82,6 +86,9 @@ class be_map : public virtual AST_Map, be_field *field_node () const; void field_node (be_field *node); + /// Helper to create_name, also used by the traits visitor. + virtual char *gen_name (); + private: const char *smart_fwd_helper_name (AST_Decl *elem_scope, be_type *elem); diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index e711694e24739..0b7704bddf91d 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,7 +5,7 @@ struct TestStruct { typedef sequence TestStructSeq; -// typedef map TestStructMap; +typedef map TestStructMap; struct DataStruct { map mapData; @@ -17,6 +17,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; + // TODO these are not generated properly yet // map stringMapMap; // map stringMapMapBounded; }; From 2b7f3b4d0189f9cfc51053482831477f8d2043c5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:36:20 -0400 Subject: [PATCH 35/92] more cleanup of stubbed code --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 40 --------------------- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 33 +++++++++++++---- 2 files changed, 27 insertions(+), 46 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 992f65681b9b3..1dcef6394b2c2 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -31,46 +31,6 @@ be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { - TAO_OutStream *os = this->ctx_->stream (); - - // *os << be_nl - // << "#if !defined _TAO_CDR_OP_" - // << node->flat_name () << "_CPP_" << be_nl - // << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" - // << be_nl; - - // *os << be_global->core_versioning_begin () << be_nl; - - // be_type* kt = node->key_type(); - // be_type* vt = node->key_type(); - - // *os << "::CORBA::Boolean operator<< (" << be_idt_nl - // << "TAO_OutputCDR &strm," << be_nl - // << "const std::map<" << kt->full_name () - // << "," << vt->full_name() - // << "> &_tao_map)" - // << be_uidt_nl - // << "{" << be_idt_nl - // << "return true;" << be_uidt_nl - // << "}" << be_nl_2; - - // *os << "::CORBA::Boolean operator>> (" << be_idt_nl - // << "TAO_OutputCDR &strm," << be_nl - // << "const std::map<" << kt->full_name () - // << "," << vt->full_name() - // << "> &_tao_map)" - // << be_uidt_nl - // << "{" << be_idt_nl - // << "return true;" << be_uidt_nl - // << "}" << be_nl_2; - - // *os << be_nl << be_global->core_versioning_end (); - - // *os << be_nl - // << "#endif /* _TAO_CDR_OP_" - // << node->flat_name () << "_CPP_ */" - // << be_nl; - return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index c914a4e85e810..a8a3b4ca124e8 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -26,24 +26,45 @@ be_visitor_map_cs::~be_visitor_map_cs () int be_visitor_map_cs::visit_map (be_map *node) { - if (node->defined_in () == nullptr) + if (node->defined_in () == nullptr) { // The node is a nested map, and has had no scope defined. node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + TAO_OutStream *os = this->ctx_->stream (); *os << be_nl_2; TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + *os << be_nl_2; - *os << "std::map<" - << node->key_type ()->full_name () - << ", " - << node->value_type ()->full_name () - << ">"; + *os << "typedef std::map< "; + be_type* kt = node->key_type(); + be_type* vt = node->value_type(); + + *os << kt->full_name (); + *os << ", "; + *os << vt->full_name (); + + *os << "> " << node->local_name () << ";"; + + os->gen_endif (); node->cli_hdr_gen (true); + return 0; } From db20a3a206d57235fefdda93f05d5793ff29d712 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:42:18 -0400 Subject: [PATCH 36/92] Fixed static analysis --- TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp | 1 - TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 1 - TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h | 1 - 3 files changed, 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp index 49fd7f6bf7494..4e4a1f6857e4c 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp @@ -181,7 +181,6 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node) << "return formal_type_id == reinterpret_cast (" << node->name() << "::_downcast);" << be_uidt_nl << "}" << be_nl_2; - } else if (is_an_amh_exception_holder) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index bcbcf2dd8408b..92a5c0ff50d07 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -26,7 +26,6 @@ */ class be_visitor_map_cdr_op_ch : public be_visitor_decl { - public: /// constructor be_visitor_map_cdr_op_ch (be_visitor_context *ctx); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h index 0193a639b2c2a..8cec44c6f0fd3 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -90,7 +90,6 @@ class be_visitor_map_cdr_op_cs : public be_visitor_decl protected: /// helper that does the common job int visit_node (be_type *); - }; #endif /* _BE_VISITOR_MAP_CDR_OP_CS_H_ */ From 0a2d7a4b1487a6f43de1895c0130232ebd61c546 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:58:20 -0400 Subject: [PATCH 37/92] removed whitespace --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 615eb531352b1..23a12d3052e68 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -44,7 +44,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; TAO_INSERT_COMMENT (os); - + os->gen_ifdef_macro (node->flat_name ()); *os << be_nl_2; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index a8a3b4ca124e8..da408bbcfeaa5 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -47,7 +47,7 @@ int be_visitor_map_cs::visit_map (be_map *node) *os << be_nl_2; TAO_INSERT_COMMENT (os); - + os->gen_ifdef_macro (node->flat_name ()); *os << be_nl_2; From 243b7382a6281afe90f388e327725ca954648647 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:14:00 -0400 Subject: [PATCH 38/92] generating typedefs + maps with maps as values --- TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp | 74 +++++++++++++++++++ TAO/TAO_IDL/be/be_visitor_typedef/typedef.h | 2 + .../be/be_visitor_typedef/typedef_ch.cpp | 47 ++++++++++++ TAO/TAO_IDL/be_include/be_visitor_map.h | 6 +- .../be_include/be_visitor_typedef/typedef.h | 3 + .../be_visitor_typedef/typedef_ch.h | 3 + TAO/tests/IDLv4/maps/main.cpp | 6 ++ TAO/tests/IDLv4/maps/test.idl | 8 +- 8 files changed, 141 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp index 070e3c679ab4c..400b79ec80e1d 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp @@ -255,6 +255,80 @@ be_visitor_typedef::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_typedef::visit_map (be_map *node) +{ + // Instantiate a visitor context with a copy of our context. This info + // will be modified based on what type of node we are visiting. + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + int status = 0; + + switch (this->ctx_->state ()) + { + case TAO_CodeGen::TAO_ROOT_CH: + case TAO_CodeGen::TAO_INTERFACE_CH: + { + be_visitor_map_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CI: + { + break; + } + case TAO_CodeGen::TAO_ROOT_CS: + { + be_visitor_map_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CH: + { + // be_visitor_sequence_any_op_ch visitor (&ctx); + // status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CS: + { + // be_visitor_sequence_any_op_cs visitor (&ctx); + // status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CH: + { + be_visitor_map_cdr_op_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CS: + { + be_visitor_map_cdr_op_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + default: + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef::" + "visit_map - " + "Bad context state\n"), + -1); + } + } + + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef::" + "visit_map - " + "failed to accept visitor\n"), + -1); + } + + return 0; +} + // visit an structure int be_visitor_typedef::visit_structure (be_structure *node) diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h index beaddccd32c64..b5709c736e359 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h @@ -17,6 +17,7 @@ #include "be_module.h" #include "be_predefined_type.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_structure.h" #include "be_type.h" @@ -31,6 +32,7 @@ #include "be_visitor_array.h" #include "be_visitor_enum.h" #include "be_visitor_sequence.h" +#include "be_visitor_map.h" #include "be_visitor_structure.h" #include "be_visitor_typecode.h" #include "be_visitor_union.h" diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp b/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp index 888c585b085f4..a5fe571d32e18 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp @@ -469,6 +469,53 @@ be_visitor_typedef_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_typedef_ch::visit_map (be_map *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_typedef *tdef = this->ctx_->tdef (); + be_decl *scope = this->ctx_->scope ()->decl (); + be_type *bt = nullptr; + + // Typedef of a typedef? + if (this->ctx_->alias ()) + { + bt = this->ctx_->alias (); + } + else + { + bt = node; + } + + if (bt->node_type () == AST_Decl::NT_map) + { + // Let the base class visitor handle this case. + if (this->be_visitor_typedef::visit_map (node) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef_ch::" + "visit_map - " + "base class visitor failed\n"), + -1); + } + } + else + { + TAO_INSERT_COMMENT (os); + + // Typedef the type. + *os << "typedef " << bt->nested_type_name (scope) + << " " << tdef->nested_type_name (scope) << ";" << be_nl; + // Typedef the _var and _out types. + *os << "typedef " << bt->nested_type_name (scope, "_var") + << " " << tdef->nested_type_name (scope, "_var") << ";" << be_nl; + *os << "typedef " << bt->nested_type_name (scope, "_out") + << " " << tdef->nested_type_name (scope, "_out") << ";"; + } + + return 0; +} + int be_visitor_typedef_ch::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 7b153fc251ab9..5cd7136c71521 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -1,7 +1,7 @@ /* -*- c++ -*- */ -#ifndef TAO_BE_VISITOR_SEQUENCE_H -#define TAO_BE_VISITOR_SEQUENCE_H +#ifndef TAO_BE_VISITOR_MAP_H +#define TAO_BE_VISITOR_MAP_H #include "idl_defines.h" @@ -15,4 +15,4 @@ #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" -#endif /* TAO_BE_VISITOR_SEQUENCE_H */ +#endif /* TAO_BE_VISITOR_MAP_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h index d287c2a406133..ff2ef51087b87 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h @@ -47,6 +47,9 @@ class be_visitor_typedef : public be_visitor_decl /// visit a sequence virtual int visit_sequence (be_sequence *node); + /// visit a map + virtual int visit_map (be_map *node); + /// visit a structure virtual int visit_structure (be_structure *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h index 8e88c8a599cd7..507c88a96fde3 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h @@ -59,6 +59,9 @@ class be_visitor_typedef_ch : public be_visitor_typedef /// visit a sequence virtual int visit_sequence (be_sequence *node); + /// visit a masp + virtual int visit_map (be_map *node); + /// visit a structure virtual int visit_structure (be_structure *node); diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 16c8d5350bd02..4cd8d24b20fa9 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -66,6 +66,12 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + TestStruct t = TestStruct{0, "Test Struct"}; + TestStructMap tests; + tests[400] = t; + d.stringMapMap["Test"] = tests; + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + if (any_failed) return EXIT_FAILURE; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 0b7704bddf91d..abbabb6a8eef7 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -4,7 +4,6 @@ struct TestStruct { }; typedef sequence TestStructSeq; - typedef map TestStructMap; struct DataStruct { @@ -16,8 +15,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; - - // TODO these are not generated properly yet - // map stringMapMap; - // map stringMapMapBounded; + + map stringMapMap; + map stringMapMapBounded; }; From e5df3047c579041b40a53ef846c3af913c024fa4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:26:48 -0400 Subject: [PATCH 39/92] Finished test --- TAO/tests/IDLv4/maps/main.cpp | 25 +++++++++++++++---------- TAO/tests/IDLv4/maps/test.idl | 7 +++++-- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 4cd8d24b20fa9..31c33ea58bea2 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -49,18 +49,18 @@ expect_equals (bool &any_failed, const char *name, const char* actual, const cha int ACE_TMAIN(int, ACE_TCHAR *[]) { DataStruct d; - d.mapData[0] = 0; - d.mapData[1] = 1; - d.mapData[2] = 2; - d.mapData[3] = 3; - d.mapData[4] = 4; - d.mapData[5] = 5; + d.intIntMap[0] = 0; + d.intIntMap[1] = 1; + d.intIntMap[2] = 2; + d.intIntMap[3] = 3; + d.intIntMap[4] = 4; + d.intIntMap[5] = 5; bool any_failed = false; - expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 6); - expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 0); - d.mapData[0] = 10; - expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 10); + expect_equals (any_failed, "d.intIntMap.size()", d.intIntMap.size(), 6); + expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 0); + d.intIntMap[0] = 10; + expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 10); d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); @@ -72,6 +72,11 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) d.stringMapMap["Test"] = tests; expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + TestIntStringMap testMap; + testMap[10] = "Hello World!"; + d.mapStringMap[testMap] = "Hello World!"; + expect_equals (any_failed, "d.mapStringMap[testMap]", d.mapStringMap[testMap], "Hello World!"); + if (any_failed) return EXIT_FAILURE; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index abbabb6a8eef7..49a90ffe331f3 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,10 +5,11 @@ struct TestStruct { typedef sequence TestStructSeq; typedef map TestStructMap; +typedef map TestIntStringMap; struct DataStruct { - map mapData; - map mapDataBounded; + map intIntMap; + map intIntMapBounded; map stringMapStructs; map stringMapStructsBounded; @@ -18,4 +19,6 @@ struct DataStruct { map stringMapMap; map stringMapMapBounded; + + map mapStringMap; }; From 95b7517fef11ec15a99f0d06f9bdf8eed96677f3 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:27:43 -0400 Subject: [PATCH 40/92] whitespace --- TAO/tests/IDLv4/maps/test.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 49a90ffe331f3..07c1f65991350 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -16,7 +16,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; - + map stringMapMap; map stringMapMapBounded; From 53d65daa963da57b3d4236a9bd53ef17c8c0357b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:28:52 -0400 Subject: [PATCH 41/92] whitespace --- TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h | 1 - 1 file changed, 1 deletion(-) diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h index ff2ef51087b87..a31f7b09e77f9 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h @@ -24,7 +24,6 @@ */ class be_visitor_typedef : public be_visitor_decl { - public: /// constructor be_visitor_typedef (be_visitor_context *ctx); From 94eecfccdba534a8912c370256436c27a868e400 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 09:44:51 -0400 Subject: [PATCH 42/92] generating include conditionally --- TAO/TAO_IDL/be/be_codegen.cpp | 11 +- TAO/TAO_IDL/be/be_map.cpp | 188 +------------------------------ TAO/TAO_IDL/include/idl_global.h | 1 + TAO/TAO_IDL/util/utl_global.cpp | 1 + 4 files changed, 13 insertions(+), 188 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index cc647055e3629..8868d86f68249 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,9 +231,6 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } - // TODO not sure where to put this - *this->client_header() << "\n#include \n"; - if (be_global->unique_include () != nullptr) { *this->client_header_ << "\n#include \"" @@ -3065,6 +3062,14 @@ TAO_CodeGen::gen_stub_arg_file_includes (TAO_OutStream * stream) stream ); + be_global->changing_standard_include_files(0); + this->gen_cond_file_include ( + idl_global->map_seen_, + "map", + stream + ); + be_global->changing_standard_include_files(1); + // If we have a bound string and we have any generation enabled we must // include Any.h to get the <<= operator for BD_String this->gen_cond_file_include ( diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index e6aa2d1ceae5a..03fa81c12ef0f 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -69,38 +69,9 @@ be_map::be_map (AST_Expression *v, return; } - // This one gets set for all sequences, in addition to any specialized - // one that may get set below. - idl_global->seq_seen_ = true; + // This one gets set for all maps + idl_global->map_seen_ = true; idl_global->var_size_decl_seen_ = true; - - AST_Type *const key_type = primitive_key_type (); - if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) - { - AST_PredefinedType *pdt = dynamic_cast (key_type); - switch (pdt->pt ()) - { - case AST_PredefinedType::PT_octet: - idl_global->octet_map_seen_ = true; - break; - default: - break; - } - } - - AST_Type *const value_type = primitive_value_type(); - if (value_type && value_type->node_type() == AST_Decl::NT_pre_defined) - { - AST_PredefinedType *pdt = dynamic_cast (key_type); - switch(pdt->pt()) - { - case AST_PredefinedType::PT_octet: - idl_global->octet_map_seen_ = true; - break; - default: - break; - } - } } be_type * @@ -180,44 +151,6 @@ be_map::gen_name () 0); } - // If this is non-zero, add its local name to the generated name, - // for uniqueness. - be_field *fn = this->field_node_; - - // TODO Key or value types that are anonymous maps - // if (bt->node_type () == AST_Decl::NT_sequence) - // { - // // Our base type is an anonymous sequence. - // be_sequence *seq = dynamic_cast (bt); - - // if (seq == nullptr) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // "(%N:%l) be_map::" - // "gen_name - " - // "error converting base type to map\n"), - // 0); - // } - - // // If the nested sequence were defined in - // // the scope of the enclosing sequence, we would have to - // // not only define the nested class in two places, but also - // // deal with the fact that, for the template classes, the - // // enclosing sequence's template type is a class defined - // // inside it. So we define the nested sequence in the next - // // scope up, and the existing code generation works for both - // // template and non-template implementations of IDL sequences. - // UTL_Scope *parent = this->defined_in (); - // seq->set_defined_in (parent); - // char *seq_name = seq->gen_name (); - - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_%s", - // seq_name, - // fn ? fn->local_name ()->get_string () : ""); - // ACE::strdelete (seq_name); - // } - // else ACE_OS::sprintf (namebuf, "_tao_map_%s_%s_", kt->flat_name (), vt->flat_name ()); @@ -336,122 +269,7 @@ be_map::accept (be_visitor *visitor) const char * be_map::instance_name () { - static char namebuf[NAMEBUFSIZE]; - ACE_OS::memset (namebuf, - '\0', - NAMEBUFSIZE); - - // be_type *const prim_type = primitive_base_type (); - // if (!prim_type) - // { - // ACE_ERROR ((LM_ERROR, - // "(%N:%l) be_visitor_sequence_ch::" - // "gen_instantiate_name - " - // "Bad element type\n")); - - // return namebuf; - // } - - // // Generate the appropriate sequence type. - // switch (this->managed_type ()) - // { - // case be_sequence::MNG_PSEUDO: - // case be_sequence::MNG_OBJREF: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_object_reference_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_object_reference_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // case be_sequence::MNG_VALUE: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_valuetype_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_valuetype_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // case be_sequence::MNG_STRING: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_basic_string_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_string_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - - // break; - // case be_sequence::MNG_WSTRING: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_basic_string_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_wstring_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - - // break; - // default: // Not a managed type. - // if (this->unbounded ()) - // { - // // TAO provides extensions for octet sequences, first find out - // // if the base type is an octet (or an alias for octet) - // be_predefined_type *predef = - // dynamic_cast (prim_type); - - // if (predef != nullptr - // && predef->pt() == AST_PredefinedType::PT_octet) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_value_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_value_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_value_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // } - - return namebuf; + return ""; } be_field * diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 82b84618ad40c..810afdf30d0aa 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -800,6 +800,7 @@ class TAO_IDL_FE_Export IDL_GlobalData bool operation_seen_; bool pseudo_seq_seen_; bool recursive_type_seen_; + bool map_seen_; bool seq_seen_; bool short_seq_seen_; bool special_basic_decl_seen_; diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index b1d9afba5ee12..68a30aa7eaf89 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -289,6 +289,7 @@ IDL_GlobalData::reset_flag_seen () seq_seen_ = false; short_seq_seen_ = false; special_basic_decl_seen_ = false; + map_seen_ = false; string_seen_ = false; string_member_seen_ = false; string_seq_seen_ = false; From 11077a8a0b82fb60cc2ce5b3bc4fe78d6a17ffad Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 15:44:44 -0400 Subject: [PATCH 43/92] Should silence the codacy check --- TAO/tests/IDLv4/maps/main.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 31c33ea58bea2..2310b631a1ad9 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -36,6 +36,11 @@ template <> void expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) { + if (name == nullptr || actual == nullptr) + { + return; + } + if (std::strcmp(actual, expected) != 0) { using stream8::operator<<; From 4cff93034b471109e12cda6dcbd8a49b6a23f6d9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 16:29:08 -0400 Subject: [PATCH 44/92] used the wrong vars for the check --- TAO/tests/IDLv4/maps/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 2310b631a1ad9..dc76b43a0a0f3 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -36,7 +36,7 @@ template <> void expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) { - if (name == nullptr || actual == nullptr) + if (actual == nullptr || expected == nullptr) { return; } From 922bc3f225150db7b42c6edb5312734f00fdadd8 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 18:24:56 -0400 Subject: [PATCH 45/92] cleaned up some warnings --- TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- TAO/TAO_IDL/util/utl_global.cpp | 15 ++------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp index d5b5eb0c51531..da3a08de2f8ee 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp @@ -127,7 +127,7 @@ be_visitor_field_cs::visit_sequence (be_sequence *node) } int -be_visitor_field_cs::visit_map (be_map *node) +be_visitor_field_cs::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 524fcb4470811..c070f1e86dbce 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -28,7 +28,7 @@ be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () } int -be_visitor_map_cdr_op_ch::visit_map (be_map *node) +be_visitor_map_cdr_op_ch::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 68a30aa7eaf89..f8880ee6e567c 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1732,25 +1732,14 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) } void -IDL_GlobalData::set_dcps_map_type (const char* map_type) +IDL_GlobalData::set_dcps_map_type (const char*) { // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); } bool -IDL_GlobalData::dcps_map_type_defined (const char* map_type) +IDL_GlobalData::dcps_map_type_defined (const char*) { - char **tmp = nullptr; - - // for (ACE_Unbounded_Queue_Iteratorriter ( - // this->dcps_sequence_types_list_); - // riter.done () == 0; - // riter.advance ()) - // { - // riter.next (tmp); - // if (ACE_OS::strcmp (*tmp, seq_type) == 0) - // return true; - // } return false; } From 51b71fde4e77c7e143a9c991f10f1e03a62758d0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 25 Jun 2022 12:00:37 -0400 Subject: [PATCH 46/92] No more generated warnings and fixed the last codacy warning --- TAO/TAO_IDL/be/be_map.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 03fa81c12ef0f..429994ae68f10 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -173,7 +173,6 @@ be_map::gen_name () int be_map::create_name (be_typedef *node) { - static char *namebuf = nullptr; UTL_ScopedName *n = nullptr; // Scope in which we are defined. @@ -189,7 +188,7 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - namebuf = this->gen_name (); + static char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); @@ -253,7 +252,7 @@ be_map::decl () // Overridden method void -be_map::gen_ostream_operator (TAO_OutStream *os, +be_map::gen_ostream_operator (TAO_OutStream * /*os*/, bool /* use_underscore */) { // TODO Gen ostream operator From 51ad46b22123ae719b7c5a2b6689d0865c1fa5dd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 26 Jun 2022 16:13:26 -0400 Subject: [PATCH 47/92] added ast_map.h to ast.h --- TAO/TAO_IDL/include/ast.h | 1 + 1 file changed, 1 insertion(+) diff --git a/TAO/TAO_IDL/include/ast.h b/TAO/TAO_IDL/include/ast.h index 10360ac0c5361..685462c907e3c 100644 --- a/TAO/TAO_IDL/include/ast.h +++ b/TAO/TAO_IDL/include/ast.h @@ -114,6 +114,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_enum_val.h" // class AST_EnumVal #include "ast_array.h" // class AST_Array #include "ast_sequence.h" // class AST_Sequence +#include "ast_map.h" // class AST_Map #include "ast_string.h" // class AST_String #include "ast_typedef.h" // class AST_Typedef #include "ast_native.h" // class AST_Native From 3b736f576c32e8f293b4b2f1a13a24fcbaa50253 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 27 Jun 2022 18:47:07 -0400 Subject: [PATCH 48/92] Cleaned up the maps test --- TAO/tests/IDLv4/maps/main.cpp | 91 +++++++---------------------------- TAO/tests/IDLv4/maps/test.idl | 6 ++- 2 files changed, 21 insertions(+), 76 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index dc76b43a0a0f3..cfbbc95c8624a 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -2,88 +2,31 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" -#include "ace/streams.h" -#include -#include - -namespace stream8 { - std::ostream & - operator<< (std::ostream &os, CORBA::UInt8 value) { - return os << static_cast(value); - } - - std::ostream & - operator<< (std::ostream &os, CORBA::Int8 value) { - return os << static_cast(value); - } -} - -template -void -expect_equals (bool &any_failed, const char *name, IntType actual, IntType expected) -{ - if (actual != expected) - { - using stream8::operator<<; - *ACE_DEFAULT_LOG_STREAM - << "ERROR: For " << name << " expected: " << expected - << ", but got " << actual << "\n"; - any_failed = true; - } -} - -template <> -void -expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) -{ - if (actual == nullptr || expected == nullptr) - { - return; - } - - if (std::strcmp(actual, expected) != 0) - { - using stream8::operator<<; - *ACE_DEFAULT_LOG_STREAM - << "ERROR: For " << name << " expected: " << expected - << ", but got " << actual << "\n"; - any_failed = true; - } -} +#include int ACE_TMAIN(int, ACE_TCHAR *[]) { - DataStruct d; - d.intIntMap[0] = 0; - d.intIntMap[1] = 1; - d.intIntMap[2] = 2; - d.intIntMap[3] = 3; - d.intIntMap[4] = 4; - d.intIntMap[5] = 5; + // No need to test the actual map works as it's just a typedef to std::map + DataStruct testData; - bool any_failed = false; - expect_equals (any_failed, "d.intIntMap.size()", d.intIntMap.size(), 6); - expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 0); - d.intIntMap[0] = 10; - expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 10); + TestStruct testStruct; + testStruct.id = 42; + testStruct.msg = "Hello World!"; - d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + TestStructMap testStructMap; + testStructMap[42] = testStruct; - TestStruct t = TestStruct{0, "Test Struct"}; - TestStructMap tests; - tests[400] = t; - d.stringMapMap["Test"] = tests; - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + TestIntStringMap testIntStringMap; + testIntStringMap[42] = "Hello World!"; - TestIntStringMap testMap; - testMap[10] = "Hello World!"; - d.mapStringMap[testMap] = "Hello World!"; - expect_equals (any_failed, "d.mapStringMap[testMap]", d.mapStringMap[testMap], "Hello World!"); + TestStructSeq testStructSeq(1, 1, TestStructSeq::allocbuf(1)); + testStructSeq[0] = testStruct; - if (any_failed) - return EXIT_FAILURE; + testData.intIntMap[4] = 100; + testData.stringStructsMap["test"] = testStruct; + testData.stringSequenceMap["test"] = testStructSeq; + testData.stringMapMap["test"] = testStructMap; + testData.mapStringMap[testIntStringMap] = "Hello World"; return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 07c1f65991350..41a3752710607 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -8,11 +8,13 @@ typedef map TestStructMap; typedef map TestIntStringMap; struct DataStruct { + // Bounded maps are not actually bounded as std::map doesn't support that + map intIntMap; map intIntMapBounded; - map stringMapStructs; - map stringMapStructsBounded; + map stringStructsMap; + map stringStructsMapBounded; map stringSequenceMap; map stringSequenceMapBounded; From cbedd95c8be8b17c93497965c5cc2ff4747ff92c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 27 Jun 2022 18:47:17 -0400 Subject: [PATCH 49/92] Fixed double free error --- TAO/TAO_IDL/be/be_map.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 429994ae68f10..d2102aaa72fc2 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -188,7 +188,8 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - static char *namebuf = this->gen_name (); + static char *namebuf = nullptr; + namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); From af034d4d6937736f200b3edd6dfe30ac925d7cbc Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 29 Jun 2022 17:55:30 -0400 Subject: [PATCH 50/92] Cleaned up some final comments and stubbed code and fixed formatting --- TAO/TAO_IDL/ast/ast_map.cpp | 2 +- TAO/TAO_IDL/be/be_map.cpp | 2 +- TAO/TAO_IDL/be_include/be_visitor_map.h | 4 ---- TAO/TAO_IDL/include/idl_global.h | 6 ------ TAO/TAO_IDL/util/utl_global.cpp | 12 ------------ TAO/orbsvcs/IFR_Service/ifr_visitor.h | 2 +- 6 files changed, 3 insertions(+), 25 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 02e2e1a919b0c..9e3722b086d86 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -116,7 +116,7 @@ AST_Map::AST_Map (AST_Expression *ms, if (knt == AST_Decl::NT_param_holder) { - AST_Param_Holder *ph = dynamic_cast (key_bt); + AST_Param_Holder *ph = dynamic_cast (key_bt); if (ph->info ()->type_ == AST_Decl::NT_const) { diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index d2102aaa72fc2..8fb5d3501200a 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -199,7 +199,7 @@ be_map::create_name (be_typedef *node) if (scope != nullptr) { // Make a copy of the enclosing scope's name. - n = (UTL_ScopedName *) scope->name ()->copy (); + n = static_cast (scope->name ()->copy ()); Identifier *id = nullptr; ACE_NEW_RETURN (id, diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 5cd7136c71521..5e0a40123fd7b 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -8,10 +8,6 @@ #include "be_visitor_decl.h" #include "be_visitor_map/map_ch.h" #include "be_visitor_map/map_cs.h" -// #include "be_visitor_map/map_base.h" -// #include "be_visitor_map/buffer_type.h" -// #include "be_visitor_map/any_op_ch.h" -// #include "be_visitor_map/any_op_cs.h" #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 810afdf30d0aa..2315bd2f97b82 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -433,12 +433,6 @@ class TAO_IDL_FE_Export IDL_GlobalData // BE calls to check whether pragma for this sequence has been set bool dcps_sequence_type_defined (const char* seq_type); - // FE calls when #pragma DCPS_DATA_MAP_TYPE is processed - void set_dcps_map_type (const char* map_type); - - // BE calls to check whether pragma for this map has been set - bool dcps_map_type_defined (const char* map_type); - // FE calls when #pragma DCPS_GEN_ZERO_COPY_READ is processed void dcps_gen_zero_copy_read (bool value); diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index f8880ee6e567c..ff226e1cb56e1 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1731,18 +1731,6 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) return false; } -void -IDL_GlobalData::set_dcps_map_type (const char*) -{ - // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); -} - -bool -IDL_GlobalData::dcps_map_type_defined (const char*) -{ - return false; -} - void IDL_GlobalData::add_dcps_data_type (const char* id) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_visitor.h index 88d716572c617..7483638384b7d 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.h @@ -82,7 +82,7 @@ class ifr_visitor : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); From f8e8e5df074f35f726b067af6108b082629bef46 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 5 Jul 2022 20:33:51 -0400 Subject: [PATCH 51/92] cleaned up default destructors + using is_empty --- TAO/TAO_IDL/ast/ast_map.cpp | 6 +----- TAO/TAO_IDL/be/be_map.cpp | 3 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 4 ---- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 2 +- TAO/TAO_IDL/include/ast_map.h | 2 +- 5 files changed, 4 insertions(+), 13 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 9e3722b086d86..f7f9ea68e37f6 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -168,16 +168,12 @@ AST_Map::AST_Map (AST_Expression *ms, || vnt == AST_Decl::NT_param_holder; } -AST_Map::~AST_Map () -{ -} - // Public operations. bool AST_Map::in_recursion (ACE_Unbounded_Queue &list) { - if (list.size () == 0) // only structs, unions and valuetypes can be recursive + if (list.is_empty ()) // only structs, unions and valuetypes can be recursive return false; list.enqueue_tail(this); diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 8fb5d3501200a..68fd52ad2a673 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -254,9 +254,8 @@ be_map::decl () // Overridden method void be_map::gen_ostream_operator (TAO_OutStream * /*os*/, - bool /* use_underscore */) + bool /* use_underscore */) { -// TODO Gen ostream operator } int diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index c070f1e86dbce..cf0d95607c7b0 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -23,10 +23,6 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( { } -be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () -{ -} - int be_visitor_map_cdr_op_ch::visit_map (be_map *) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index 92a5c0ff50d07..000256912b565 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -31,7 +31,7 @@ class be_visitor_map_cdr_op_ch : public be_visitor_decl be_visitor_map_cdr_op_ch (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cdr_op_ch (); + ~be_visitor_map_cdr_op_ch () = default; /// visit map virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index a83e437ac68c2..b10217581946d 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -81,7 +81,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType bool local, bool abstract); - virtual ~AST_Map (); + virtual ~AST_Map () = default; virtual bool in_recursion (ACE_Unbounded_Queue &list); // Are we or the node represented by node involved in recursion. From 1cb036a913f9a9d4f15a3bbe40ec630e71aed7ce Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:09:07 -0400 Subject: [PATCH 52/92] Fixed TAO_IDL_IDL_VERSION macro --- TAO/tao/idl_features.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/idl_features.h b/TAO/tao/idl_features.h index 58c70c23e22a0..5c58231ee8463 100644 --- a/TAO/tao/idl_features.h +++ b/TAO/tao/idl_features.h @@ -65,7 +65,7 @@ #endif #ifndef TAO_IDL_HAS_MAP -# define TAO_IDL_HAS_MAP TAO_IDL_VERSION >= 0x40000 +# define TAO_IDL_HAS_MAP TAO_IDL_IDL_VERSION >= 0x40000 #endif #ifndef TAO_IDL_HAS_BITSET From 508cb9548ea0fe1f778da16e3fe97c360cc5f795 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:10:45 -0400 Subject: [PATCH 53/92] Fixed formatting --- TAO/TAO_IDL/fe/idl.ypp | 6 +++--- TAO/TAO_IDL/include/ast_visitor_reifying.h | 2 +- TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index e21ed87d2e0d5..fd1440ae25286 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3913,7 +3913,7 @@ map_type_spec Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -3927,8 +3927,8 @@ map_type_spec */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 32c5edcf42aba..593ff1c0399d3 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,7 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map(AST_Map *node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index 1c3ce2b35ba30..ebbcb04326695 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,7 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map(AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From d1bf737bf7e59327c1a2d85c446cf5455357d86a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:19:28 -0400 Subject: [PATCH 54/92] Removed comments --- .../IFR_Service/ifr_adding_visitor.cpp | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 15d33a94bc29f..8f0910c89a42a 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2304,24 +2304,8 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) int ifr_adding_visitor::visit_map (AST_Map *node) { - try - { - // this->element_type (node->base_type ()); - - // this->ir_current_ = - // be_global->repository ()->create_map ( - // node->max_size ()->ev ()->u.ulval, - // this->ir_current_.in () - // ); - } - catch (const CORBA::Exception& ex) - { - ex._tao_print_exception (ACE_TEXT ("visit_map")); - - return -1; - } - - return 0; + // TODO Not sure what type of exception it would be + return -1; } int From 90f9feb17103d46cb8e99dc1a6836c93190d55c4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 12 Jul 2022 17:59:13 -0400 Subject: [PATCH 55/92] Fixed error messaging in ifr_adding_visitor --- TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 8f0910c89a42a..c0c27e42a7ddf 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2304,8 +2304,13 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) int ifr_adding_visitor::visit_map (AST_Map *node) { - // TODO Not sure what type of exception it would be - return -1; + ORBSVCS_ERROR_RETURN (( + LM_ERROR, + ACE_TEXT ("(%N:%l) ifr_adding_visitor::visit_map -") + ACE_TEXT (" maps are not supported\n") + ), + -1 + ); } int From b6de86b715ca1bc937520347bdf7dae1a3760349 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 18:59:18 -0400 Subject: [PATCH 56/92] Formatted --- TAO/TAO_IDL/be/be_codegen.cpp | 4 ++-- TAO/TAO_IDL/be/be_map.cpp | 14 ++++---------- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 2 -- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 4 +--- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 8 +------- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 4 ---- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 4 ---- TAO/TAO_IDL/be_include/be_map.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 2 +- TAO/TAO_IDL/include/ast_map.h | 3 +-- 13 files changed, 14 insertions(+), 39 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 8868d86f68249..b3608578efde7 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -3062,13 +3062,13 @@ TAO_CodeGen::gen_stub_arg_file_includes (TAO_OutStream * stream) stream ); - be_global->changing_standard_include_files(0); + be_global->changing_standard_include_files (0); this->gen_cond_file_include ( idl_global->map_seen_, "map", stream ); - be_global->changing_standard_include_files(1); + be_global->changing_standard_include_files (1); // If we have a bound string and we have any generation enabled we must // include Any.h to get the <<= operator for BD_String diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 68fd52ad2a673..93d12f12d8784 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -77,17 +77,13 @@ be_map::be_map (AST_Expression *v, be_type * be_map::key_type () const { - return - dynamic_cast ( - this->AST_Map::key_type ()); + return dynamic_cast (this->AST_Map::key_type ()); } be_type * be_map::value_type () const { - return - dynamic_cast ( - this->AST_Map::value_type ()); + return dynamic_cast (this->AST_Map::value_type ()); } be_type * @@ -182,14 +178,12 @@ be_map::create_name (be_typedef *node) if (node) { this->set_name ( - dynamic_cast (node->name ()->copy ()) - ); + dynamic_cast (node->name ()->copy ())); } else { // Generate a local name. - static char *namebuf = nullptr; - namebuf = this->gen_name (); + static char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 117ef8593bf93..08bd44a8f5b4b 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -660,8 +660,6 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) } } - // How generate the marshaling code for the map as a field. - TAO_OutStream *os = this->ctx_->stream (); // Retrieve the field node. diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index cf0d95607c7b0..3d6d3b2b36781 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -17,9 +17,7 @@ // *************************************************************************** be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( - be_visitor_context *ctx - ) - : be_visitor_decl (ctx) + be_visitor_context *ctx) : be_visitor_decl (ctx) { } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 1dcef6394b2c2..a245588125e15 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -17,17 +17,11 @@ // stubs file. // *************************************************************************** -be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs ( - be_visitor_context *ctx - ) +be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) : be_visitor_decl (ctx) { } -be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () -{ -} - int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 23a12d3052e68..31c040fb4a172 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -17,10 +17,6 @@ be_visitor_map_ch::be_visitor_map_ch (be_visitor_context *ctx) { } -be_visitor_map_ch::~be_visitor_map_ch () -{ -} - int be_visitor_map_ch::visit_map (be_map *node) { if (node->defined_in () == nullptr) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index da408bbcfeaa5..6233574b7b6a6 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -20,10 +20,6 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) { } -be_visitor_map_cs::~be_visitor_map_cs () -{ -} - int be_visitor_map_cs::visit_map (be_map *node) { if (node->defined_in () == nullptr) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index af8eafaf6d506..c8f980fca74de 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -61,7 +61,7 @@ class be_map : public virtual AST_Map, /// Create a name for ourselves. If we are typedefed, then we get the name of /// the typedef node, else we generate a name for ourselves. - virtual int create_name (be_typedef *node); + int create_name (be_typedef *node); // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index 000256912b565..6194bcc986d17 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -34,7 +34,7 @@ class be_visitor_map_cdr_op_ch : public be_visitor_decl ~be_visitor_map_cdr_op_ch () = default; /// visit map - virtual int visit_map (be_map *node); + int visit_map (be_map *node) override; }; #endif /* _BE_VISITOR_MAP_CDR_OP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h index 8cec44c6f0fd3..589875c890265 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -29,7 +29,7 @@ class be_visitor_map_cdr_op_cs : public be_visitor_decl be_visitor_map_cdr_op_cs (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cdr_op_cs (); + ~be_visitor_map_cdr_op_cs () = default; /// visit map virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index 14dbbd83593eb..a94eabc33665f 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -30,7 +30,7 @@ class be_visitor_map_ch : public be_visitor_decl be_visitor_map_ch (be_visitor_context *ctx); /// destructor - ~be_visitor_map_ch (); + ~be_visitor_map_ch () = default; /// visit map node. virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index 0e1b23254bfad..fa12e2ad28b3a 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -32,7 +32,7 @@ class be_visitor_map_cs : public be_visitor_decl be_visitor_map_cs (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cs (); + ~be_visitor_map_cs () = default; /// visit map node virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index b10217581946d..0e0f1934a0447 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -87,7 +87,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType // Are we or the node represented by node involved in recursion. // Data Accessors. - AST_Expression *max_size (); + AST_Expression *max_size () const; AST_Type *key_type () const; AST_Type *value_type () const; @@ -135,7 +135,6 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType void key_type_annotations (const AST_Annotation_Appls &annotations); ///} - /** * Get and Set Annotations on the value type */ From 23700ef9db62646b71e97d76b00f0ee848ddf3c9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 19:00:20 -0400 Subject: [PATCH 57/92] fixed some things, switched to std::strcmp --- TAO/TAO_IDL/ast/ast_map.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index f7f9ea68e37f6..b83a09fd69545 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -85,6 +85,8 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ace/OS_Memory.h" #include "ace/OS_NS_string.h" +#include + AST_Decl::NodeType const AST_Map::NT = AST_Decl::NT_map; @@ -208,7 +210,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) bool recursion_found = false; AST_Type** recursable_type = nullptr; list.get (recursable_type, 0); - if (!ACE_OS::strcmp (type->full_name (), + if (!std::strcmp (type->full_name (), (*recursable_type)->full_name ())) { // They match. @@ -264,7 +266,7 @@ AST_Map::ast_accept (ast_visitor *visitor) // Data accessors. AST_Expression * -AST_Map::max_size () +AST_Map::max_size () const { return this->pd_max_size; } From f55d0fb063fdbd6bd8a9615a072ad86176730a24 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 19:13:01 -0400 Subject: [PATCH 58/92] Started on some more testing --- TAO/tests/IDLv4/maps/run_test.pl | 83 ++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index e9383e6384c0a..4d05718fd9bef 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -6,6 +6,15 @@ use lib "$ENV{ACE_ROOT}/bin"; use PerlACE::TestTarget; +# Failing test idl + +my $tao_idl = "$ENV{ACE_ROOT}/bin/tao_idl"; +if (exists $ENV{HOST_ROOT}) { + $tao_idl = "$ENV{HOST_ROOT}/bin/tao_idl"; +} + +# Normal test + my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; my $proc = $target->CreateProcess ("maps"); @@ -17,3 +26,77 @@ } exit 0; + +# -*- perl -*- + +# $status =0; + +# open (OLDOUT, ">&STDOUT"); +# open (STDOUT, ">" . File::Spec->devnull()); +# open (OLDERR, ">&STDERR"); +# open (STDERR, ">&STDOUT"); + + + +# my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; + +# $input_file1 = $server->LocalFile ("local_inarg.idl"); +# $input_file2 = $server->LocalFile ("local_inoutarg.idl"); +# $input_file3 = $server->LocalFile ("local_outarg.idl"); +# $input_file4 = $server->LocalFile ("local_rettype.idl"); +# $input_file5 = $server->LocalFile ("issue570.idl"); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file1"); + +# $server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file2"); + +# $server_status2 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file3"); + +# $server_status3 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file4"); + +# $server_status4 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file5"); + +# $server_status5 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# open (STDOUT, ">&OLDOUT"); +# open (STDERR, ">&OLDERR"); + +# if ($server_status1 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status1 for $input_file1, should have failed\n"; +# $status = 1; +# } + +# if ($server_status2 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status2 for $input_file2, should have failed\n"; +# $status = 1; +# } + +# if ($server_status3 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status3 for $input_file3, should have failed\n"; +# $status = 1; +# } + +# if ($server_status4 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status4 for $input_file4, should have failed\n"; +# $status = 1; +# } + +# if ($server_status5 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status5 for $input_file5, should have failed\n"; +# $status = 1; +# } + +# exit $status; From e06ccf4fe34c1d94a90d14fb6c9a58db783b48bd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 4 Aug 2022 19:30:51 -0400 Subject: [PATCH 59/92] Fixed issue with names --- TAO/TAO_IDL/be/be_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 93d12f12d8784..de721d7141523 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -183,7 +183,7 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - static char *namebuf = this->gen_name (); + char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); From 0c31804e6831f11b0a9914547f44267900f8f17f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 16:02:11 -0400 Subject: [PATCH 60/92] typos --- TAO/TAO_IDL/fe/idl.ypp | 56 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index fd1440ae25286..90e555a0aff21 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3923,7 +3923,7 @@ map_type_spec UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { @@ -4028,7 +4028,7 @@ map_head : idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); /* - * Push a sequence marker on scopes stack. + * Push a map marker on scopes stack. */ idl_global->scopes ().push (0); } @@ -5199,6 +5199,54 @@ param_type_spec } } + if (pbt->node_type() == AST_Decl::NT_map) + { + t = pbt; + AST_Map *map_type = + dynamic_cast (pbt); + AST_Type *key_type = + map_type->key_type (); + AST_Type *val_type = + map_type->value_type (); + + AST_Decl::NodeType key_nt = + key_type->node_type (); + AST_Decl::NodeType val_nt = + val_type->node_type (); + + if (key_nt == AST_Decl::NT_typedef) + { + AST_Typedef *key_td = + dynamic_cast (key_type); + key_type = key_td->primitive_base_type (); + key_nt = key_type->node_type (); + } + + if (val_nt == AST_Decl::NT_typedef) + { + AST_Typedef *val_td = + dynamic_cast (val_type); + val_type = val_td->primitive_base_type (); + val_nt = val_type->node_type (); + } + + if (key_nt == AST_Decl::NT_interface + || key_nt == AST_Decl::NT_interface_fwd + || key_nt == AST_Decl::NT_valuetype + || key_nt == AST_Decl::NT_valuetype_fwd + || key_nt == AST_Decl::NT_component + || key_nt == AST_Decl::NT_component_fwd + || val_nt == AST_Decl::NT_interface + || val_nt == AST_Decl::NT_interface_fwd + || val_nt == AST_Decl::NT_valuetype + || val_nt == AST_Decl::NT_valuetype_fwd + || val_nt == AST_Decl::NT_component + || val_nt == AST_Decl::NT_component_fwd) + { + can_be_undefined = true; + } + } + if (! t->is_defined () && ! can_be_undefined) { idl_global->err ()->error1 ( @@ -6773,6 +6821,10 @@ formal_parameter_type { $$ = AST_Decl::NT_sequence; } + | IDL_MAP + { + $$ = AST_Decl::NT_map; + } | IDL_INTERFACE { $$ = AST_Decl::NT_interface; From 3eac49912f4f0bc94433b320b239ab9de61c16c9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 16:02:31 -0400 Subject: [PATCH 61/92] Created recursive example that fails --- TAO/tests/IDLv4/maps/test.idl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 41a3752710607..bc0998494fb66 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,3 +1,11 @@ +struct RecurseStruct; +typedef map RecursedMap; +// typedef sequence RecursedSequence; +struct RecurseStruct { + // RecursedSequence seq; + RecursedMap map; +}; + struct TestStruct { int32 id; string msg; @@ -10,6 +18,9 @@ typedef map TestIntStringMap; struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that + // RecursedSequence _recursedSequence; + RecursedMap _recursedMap; + map intIntMap; map intIntMapBounded; From 38dfb732b22f343624c6b1d10bfc1d6bc8b1247e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:21:26 -0400 Subject: [PATCH 62/92] Updated comments / author notes --- TAO/TAO_IDL/be/be_map.cpp | 3 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map.h | 4 ++-- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 4 ++-- TAO/TAO_IDL/be_include/be_map.h | 3 +-- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 4 ++-- 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index de721d7141523..40d2b9ef8fa2c 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -6,8 +6,7 @@ * Extension of class AST_Sequence that provides additional means for C++ * mapping. * - * @author Copyright 1994-1995 by Sun Microsystems - * @author Inc. and Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 3d6d3b2b36781..605afdeb969f3 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -6,7 +6,7 @@ * Visitor generating code for CDR operators for maps. This uses * compiled marshaling. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index a245588125e15..c919eb8b76c47 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -6,7 +6,7 @@ * Visitor for code generation of Maps for the CDR operators * in the client stubs. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index ec98e9e90e363..93c040f7e8c0f 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -3,9 +3,9 @@ /** * @file map.h * - * Visitors for generation of code for Sequence + * Visitors for generation of code for Map * - * @author Aniruddha Gokhale and Carlos O'Ryan + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 31c040fb4a172..152f2dbe18e8b 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -3,7 +3,7 @@ /** * @file map_ch.cpp * - * Visitor generating code for Sequence in the client header + * Visitor generating code for Map in the client header * * @author Tyler Mayoff */ diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 6233574b7b6a6..d575b530f602e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -3,9 +3,9 @@ /** * @file map_cs.cpp * - * Visitor generating code for Sequences in the client stubs file + * Visitor generating code for Maps in the client stubs file * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index c8f980fca74de..d95a7a4bd8dd3 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -8,8 +8,7 @@ * Extension of class AST_Map that provides additional means for C++ * mapping. * - * @author Copyright 1994-1995 by Sun Microsystems - * @author Inc. and Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index fa12e2ad28b3a..bb3f651e9efd0 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -4,8 +4,8 @@ /** * @file map_cs.h * - * Concrete visitor for the Sequence class - * This one provides code generation for the Sequence node in the client + * Concrete visitor for the Map class + * This one provides code generation for the Map node in the client * stubs. * * @author Tyler Mayoff From da15886b71026fe6128e0bb1ac475fab4234c13f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:21:56 -0400 Subject: [PATCH 63/92] cleaned test file --- TAO/tests/IDLv4/maps/run_test.pl | 80 +------------------------------- 1 file changed, 1 insertion(+), 79 deletions(-) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index 4d05718fd9bef..2fc0fbc5f2e4d 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -6,15 +6,11 @@ use lib "$ENV{ACE_ROOT}/bin"; use PerlACE::TestTarget; -# Failing test idl - my $tao_idl = "$ENV{ACE_ROOT}/bin/tao_idl"; if (exists $ENV{HOST_ROOT}) { $tao_idl = "$ENV{HOST_ROOT}/bin/tao_idl"; } -# Normal test - my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; my $proc = $target->CreateProcess ("maps"); @@ -25,78 +21,4 @@ exit 1; } -exit 0; - -# -*- perl -*- - -# $status =0; - -# open (OLDOUT, ">&STDOUT"); -# open (STDOUT, ">" . File::Spec->devnull()); -# open (OLDERR, ">&STDERR"); -# open (STDERR, ">&STDOUT"); - - - -# my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; - -# $input_file1 = $server->LocalFile ("local_inarg.idl"); -# $input_file2 = $server->LocalFile ("local_inoutarg.idl"); -# $input_file3 = $server->LocalFile ("local_outarg.idl"); -# $input_file4 = $server->LocalFile ("local_rettype.idl"); -# $input_file5 = $server->LocalFile ("issue570.idl"); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file1"); - -# $server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file2"); - -# $server_status2 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file3"); - -# $server_status3 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file4"); - -# $server_status4 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file5"); - -# $server_status5 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# open (STDOUT, ">&OLDOUT"); -# open (STDERR, ">&OLDERR"); - -# if ($server_status1 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status1 for $input_file1, should have failed\n"; -# $status = 1; -# } - -# if ($server_status2 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status2 for $input_file2, should have failed\n"; -# $status = 1; -# } - -# if ($server_status3 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status3 for $input_file3, should have failed\n"; -# $status = 1; -# } - -# if ($server_status4 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status4 for $input_file4, should have failed\n"; -# $status = 1; -# } - -# if ($server_status5 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status5 for $input_file5, should have failed\n"; -# $status = 1; -# } - -# exit $status; +exit 0; \ No newline at end of file From 025d75aed6a6324adf146a818cf72aa3492e2bea Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:27:29 -0400 Subject: [PATCH 64/92] cleaned up old comments --- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index e41b8679eec68..a16b32f90b877 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -441,15 +441,8 @@ be_visitor_field_ch::visit_map (be_map *node) } } - // ACE_NESTED_CLASS macro generated by nested_type_name - // is not necessary in all cases. be_typedef *tdef = dynamic_cast (bt); - // This was a typedefed array. - // ACE_NESTED_CLASS macro generated by nested_type_name - // is necessary if the struct, union, or valuetype containing this - // field was not defined inside a module. In such a case, VC++ - // complains that the non-module scope is not yet fully defined. UTL_Scope *holds_container = this->ctx_->scope ()->decl ()->defined_in (); AST_Decl *hc_decl = ScopeAsDecl (holds_container); From 9caa9c9fb07c9f80f4677d11c18fb6979a9d6087 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:37:48 -0400 Subject: [PATCH 65/92] fixed whitespace --- TAO/tests/IDLv4/maps/run_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index 2fc0fbc5f2e4d..017390556b5b2 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -21,4 +21,4 @@ exit 1; } -exit 0; \ No newline at end of file +exit 0; From 73e4e121359c621c4a444e89bb1186b836b9ec69 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:27:26 -0400 Subject: [PATCH 66/92] comment --- TAO/TAO_IDL/fe/idl.ypp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 90e555a0aff21..075070c72215c 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3969,7 +3969,7 @@ map_type_spec Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -3979,7 +3979,7 @@ map_type_spec UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { From 4dfa44758f2aff38dc78e16bd67d27e2f6ba172f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:29:54 -0400 Subject: [PATCH 67/92] regenerated after changes --- TAO/TAO_IDL/fe/idl.tab.cpp | 3724 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.tab.hpp | 2 +- 2 files changed, 1890 insertions(+), 1836 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 33f516fefce8e..15b349f7acdd2 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -146,8 +146,6 @@ #include #include -#include - void tao_yyerror (const char *); int tao_yylex (void); extern "C" int tao_yywrap (void); @@ -164,7 +162,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 168 "fe/idl.tab.cpp" +#line 166 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -1041,16 +1039,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2196 +#define YYLAST 2197 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 615 +#define YYNRULES 616 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 905 +#define YYNSTATES 906 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1109,68 +1107,68 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 421, 421, 424, 425, 433, 448, 452, 453, 454, - 459, 458, 467, 466, 475, 474, 483, 482, 491, 490, - 499, 498, 507, 506, 515, 514, 523, 522, 531, 530, - 539, 538, 547, 546, 555, 554, 563, 562, 571, 570, - 584, 583, 595, 634, 638, 594, 654, 662, 676, 686, - 716, 720, 661, 745, 749, 750, 754, 755, 760, 765, - 759, 851, 856, 850, 927, 928, 933, 971, 975, 932, - 992, 991, 1003, 1040, 1070, 1103, 1102, 1111, 1118, 1119, - 1120, 1121, 1125, 1130, 1135, 1182, 1186, 1134, 1215, 1258, - 1262, 1213, 1281, 1279, 1319, 1318, 1330, 1334, 1341, 1346, - 1353, 1378, 1406, 1472, 1491, 1495, 1499, 1500, 1512, 1511, - 1529, 1533, 1540, 1561, 1562, 1566, 1581, 1586, 1585, 1594, - 1593, 1602, 1601, 1610, 1609, 1618, 1617, 1626, 1625, 1634, - 1633, 1642, 1641, 1654, 1666, 1664, 1689, 1696, 1706, 1705, - 1731, 1729, 1754, 1764, 1775, 1819, 1846, 1878, 1882, 1886, - 1890, 1877, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1962, - 1966, 2034, 2036, 2038, 2039, 2051, 2052, 2064, 2065, 2077, - 2078, 2087, 2099, 2100, 2109, 2121, 2122, 2131, 2140, 2152, - 2153, 2162, 2171, 2183, 2240, 2241, 2248, 2252, 2257, 2264, - 2271, 2275, 2280, 2284, 2288, 2292, 2299, 2368, 2367, 2396, - 2397, 2401, 2402, 2403, 2405, 2404, 2413, 2414, 2418, 2474, - 2478, 2485, 2498, 2508, 2516, 2515, 2603, 2607, 2614, 2623, - 2630, 2638, 2644, 2651, 2664, 2663, 2672, 2676, 2680, 2684, - 2712, 2720, 2719, 2790, 2791, 2795, 2802, 2803, 2829, 2830, - 2831, 2832, 2833, 2834, 2835, 2836, 2840, 2841, 2842, 2843, - 2844, 2848, 2849, 2850, 2854, 2855, 2859, 2871, 2869, 2894, - 2901, 2902, 2906, 2918, 2916, 2941, 2948, 2964, 2982, 2983, - 2987, 2991, 2995, 2999, 3003, 3007, 3011, 3018, 3022, 3026, - 3030, 3034, 3038, 3042, 3049, 3053, 3057, 3064, 3071, 3075, - 3082, 3089, 3096, 3103, 3111, 3110, 3124, 3155, 3159, 3123, - 3176, 3179, 3180, 3184, 3202, 3206, 3201, 3264, 3263, 3276, - 3275, 3288, 3292, 3325, 3329, 3388, 3392, 3287, 3414, 3421, - 3434, 3443, 3450, 3451, 3560, 3563, 3564, 3569, 3573, 3568, - 3609, 3608, 3620, 3630, 3648, 3656, 3655, 3669, 3673, 3668, - 3689, 3688, 3738, 3763, 3787, 3791, 3822, 3826, 3786, 3850, - 3855, 3853, 3859, 3863, 3903, 3907, 3901, 3965, 4029, 4039, - 4028, 4064, 4068, 4062, 4152, 4219, 4228, 4218, 4242, 4252, - 4256, 4250, 4298, 4324, 4333, 4337, 4331, 4379, 4405, 4413, - 4412, 4455, 4465, 4483, 4491, 4495, 4490, 4555, 4556, 4561, - 4565, 4569, 4573, 4560, 4632, 4636, 4640, 4644, 4631, 4712, - 4716, 4748, 4752, 4711, 4769, 4773, 4834, 4838, 4768, 4875, - 4880, 4885, 4892, 4893, 4904, 4909, 4952, 4903, 4974, 4973, - 4982, 4981, 4992, 4997, 4995, 5001, 5006, 5010, 5005, 5049, - 5048, 5057, 5056, 5067, 5072, 5070, 5076, 5081, 5085, 5080, - 5130, 5137, 5138, 5139, 5246, 5250, 5254, 5262, 5266, 5261, - 5275, 5283, 5287, 5282, 5296, 5304, 5308, 5303, 5317, 5325, - 5329, 5324, 5338, 5345, 5357, 5355, 5378, 5385, 5415, 5454, - 5455, 5459, 5490, 5532, 5536, 5489, 5555, 5559, 5553, 5600, - 5599, 5607, 5614, 5629, 5630, 5635, 5634, 5644, 5643, 5653, - 5652, 5662, 5661, 5671, 5670, 5680, 5679, 5689, 5688, 5699, - 5792, 5798, 5823, 5930, 5939, 5943, 5950, 6025, 6097, 6173, - 6172, 6222, 6226, 6230, 6234, 6238, 6242, 6221, 6295, 6294, - 6302, 6309, 6314, 6322, 6326, 6321, 6336, 6337, 6341, 6343, - 6342, 6351, 6350, 6363, 6386, 6361, 6412, 6439, 6410, 6463, - 6464, 6465, 6469, 6470, 6474, 6503, 6535, 6579, 6583, 6533, - 6600, 6609, 6627, 6638, 6637, 6675, 6726, 6730, 6673, 6747, - 6751, 6758, 6762, 6766, 6770, 6774, 6778, 6782, 6786, 6790, - 6794, 6802, 6833, 6846, 6853, 6878, 6896, 6903, 6918, 6925, - 6935, 6939, 6958, 6966, 6934, 6981, 6996, 7000, 7001, 7005, - 7006, 7008, 7007, 7018, 7085, 7133, 7149, 7162, 7169, 7228, - 7236, 7240, 7235, 7301, 7305, 7300, 7318, 7319, 7324, 7323, - 7332, 7331, 7340, 7339, 7348, 7347 + 0, 419, 419, 422, 423, 431, 446, 450, 451, 452, + 457, 456, 465, 464, 473, 472, 481, 480, 489, 488, + 497, 496, 505, 504, 513, 512, 521, 520, 529, 528, + 537, 536, 545, 544, 553, 552, 561, 560, 569, 568, + 582, 581, 593, 632, 636, 592, 652, 660, 674, 684, + 714, 718, 659, 743, 747, 748, 752, 753, 758, 763, + 757, 849, 854, 848, 925, 926, 931, 969, 973, 930, + 990, 989, 1001, 1038, 1068, 1101, 1100, 1109, 1116, 1117, + 1118, 1119, 1123, 1128, 1133, 1180, 1184, 1132, 1213, 1256, + 1260, 1211, 1279, 1277, 1317, 1316, 1328, 1332, 1339, 1344, + 1351, 1376, 1404, 1470, 1489, 1493, 1497, 1498, 1510, 1509, + 1527, 1531, 1538, 1559, 1560, 1564, 1579, 1584, 1583, 1592, + 1591, 1600, 1599, 1608, 1607, 1616, 1615, 1624, 1623, 1632, + 1631, 1640, 1639, 1652, 1664, 1662, 1687, 1694, 1704, 1703, + 1729, 1727, 1752, 1762, 1773, 1817, 1844, 1876, 1880, 1884, + 1888, 1875, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1960, + 1964, 2032, 2034, 2036, 2037, 2049, 2050, 2062, 2063, 2075, + 2076, 2085, 2097, 2098, 2107, 2119, 2120, 2129, 2138, 2150, + 2151, 2160, 2169, 2181, 2238, 2239, 2246, 2250, 2255, 2262, + 2269, 2273, 2278, 2282, 2286, 2290, 2297, 2366, 2365, 2394, + 2395, 2399, 2400, 2401, 2403, 2402, 2411, 2412, 2416, 2472, + 2476, 2483, 2496, 2506, 2514, 2513, 2601, 2605, 2612, 2621, + 2628, 2636, 2642, 2649, 2662, 2661, 2670, 2674, 2678, 2682, + 2710, 2718, 2717, 2788, 2789, 2793, 2800, 2801, 2827, 2828, + 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, + 2842, 2846, 2847, 2848, 2852, 2853, 2857, 2869, 2867, 2892, + 2899, 2900, 2904, 2916, 2914, 2939, 2946, 2962, 2980, 2981, + 2985, 2989, 2993, 2997, 3001, 3005, 3009, 3016, 3020, 3024, + 3028, 3032, 3036, 3040, 3047, 3051, 3055, 3062, 3069, 3073, + 3080, 3087, 3094, 3101, 3109, 3108, 3122, 3153, 3157, 3121, + 3174, 3177, 3178, 3182, 3200, 3204, 3199, 3262, 3261, 3274, + 3273, 3286, 3290, 3323, 3327, 3386, 3390, 3285, 3412, 3419, + 3432, 3441, 3448, 3449, 3558, 3561, 3562, 3567, 3571, 3566, + 3607, 3606, 3618, 3628, 3646, 3654, 3653, 3667, 3671, 3666, + 3687, 3686, 3736, 3761, 3785, 3789, 3820, 3824, 3784, 3848, + 3853, 3851, 3857, 3861, 3901, 3905, 3899, 3963, 4027, 4037, + 4026, 4062, 4066, 4060, 4150, 4217, 4226, 4216, 4240, 4250, + 4254, 4248, 4296, 4322, 4331, 4335, 4329, 4377, 4403, 4411, + 4410, 4453, 4463, 4481, 4489, 4493, 4488, 4553, 4554, 4559, + 4563, 4567, 4571, 4558, 4630, 4634, 4638, 4642, 4629, 4710, + 4714, 4746, 4750, 4709, 4767, 4771, 4832, 4836, 4766, 4873, + 4878, 4883, 4890, 4891, 4902, 4907, 4950, 4901, 4972, 4971, + 4980, 4979, 4990, 4995, 4993, 4999, 5004, 5008, 5003, 5047, + 5046, 5055, 5054, 5065, 5070, 5068, 5074, 5079, 5083, 5078, + 5128, 5135, 5136, 5137, 5292, 5296, 5300, 5308, 5312, 5307, + 5321, 5329, 5333, 5328, 5342, 5350, 5354, 5349, 5363, 5371, + 5375, 5370, 5384, 5391, 5403, 5401, 5424, 5431, 5461, 5500, + 5501, 5505, 5536, 5578, 5582, 5535, 5601, 5605, 5599, 5646, + 5645, 5653, 5660, 5675, 5676, 5681, 5680, 5690, 5689, 5699, + 5698, 5708, 5707, 5717, 5716, 5726, 5725, 5735, 5734, 5745, + 5838, 5844, 5869, 5976, 5985, 5989, 5996, 6071, 6143, 6219, + 6218, 6268, 6272, 6276, 6280, 6284, 6288, 6267, 6341, 6340, + 6348, 6355, 6360, 6368, 6372, 6367, 6382, 6383, 6387, 6389, + 6388, 6397, 6396, 6409, 6432, 6407, 6458, 6485, 6456, 6509, + 6510, 6511, 6515, 6516, 6520, 6549, 6581, 6625, 6629, 6579, + 6646, 6655, 6673, 6684, 6683, 6721, 6772, 6776, 6719, 6793, + 6797, 6804, 6808, 6812, 6816, 6820, 6824, 6828, 6832, 6836, + 6840, 6844, 6852, 6883, 6896, 6903, 6928, 6946, 6953, 6968, + 6975, 6985, 6989, 7008, 7016, 6984, 7031, 7046, 7050, 7051, + 7055, 7056, 7058, 7057, 7068, 7135, 7183, 7199, 7212, 7219, + 7278, 7286, 7290, 7285, 7351, 7355, 7350, 7368, 7369, 7374, + 7373, 7382, 7381, 7390, 7389, 7398, 7397 }; #endif @@ -1305,12 +1303,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-689) +#define YYPACT_NINF (-684) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-584) +#define YYTABLE_NINF (-585) #define yytable_value_is_error(Yyn) \ 0 @@ -1319,97 +1317,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -689, 97, 1423, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 105, 108, 70, 102, -689, 105, - 105, -689, 54, 54, -689, -689, 105, -689, -689, 23, - -689, 298, 28, 38, -689, -689, -4, -689, -689, -689, - -689, -689, -689, 566, -689, -689, -689, -689, -689, 1625, - 42, -689, -689, 65, -689, 133, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 72, -689, -689, -689, 72, -689, - -689, 84, 87, 2106, 54, 105, 1983, 105, 105, 105, - 105, -689, -689, -689, 56, 105, 67, -689, 71, 105, - -689, 72, 105, 99, 101, 105, -689, -689, 10, -689, - 26, 199, -689, 106, -689, 121, 129, 473, -689, -689, - -689, 140, 192, -689, 167, 163, 170, 88, -689, 162, - -689, -689, -689, -689, -689, -689, 174, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, 186, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - 133, -689, -689, -689, 14, -689, 74, -689, -689, 179, - -689, 197, 201, 203, -689, 54, 205, 206, 208, -689, - 210, 213, 216, 218, 214, 220, 227, 230, -689, -689, - -689, 236, 241, -689, -689, -689, -689, 186, -689, -689, - -689, -689, -689, -689, -689, -689, -689, 186, -689, -689, - -689, -689, -689, -689, -689, -689, 242, -689, 237, -689, - -689, 212, -689, 338, -689, -689, -689, -689, 44, -689, - -689, -689, 2106, -689, -689, -689, -689, 246, -689, -689, - -689, -689, 339, -689, -689, 52, 248, -689, -689, -689, - -689, -689, -689, -689, -689, 342, -689, 131, 255, 256, - 310, -689, -689, -689, -689, -689, -689, -689, -689, 186, - -689, -689, 251, -689, -689, -689, -689, -689, -689, -689, - -689, -689, 310, 262, 264, -689, -689, -689, 105, 105, - 270, 271, -689, -689, -689, 268, -689, 338, 273, -689, - -689, -689, -689, -689, 369, -689, 272, 274, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 215, 215, - 215, 131, 186, -689, -689, 269, 275, 280, 125, 114, - 78, -689, -689, -689, -689, -689, 54, -689, -689, -689, - -689, 276, -689, -689, 54, -689, 131, 131, 131, 131, - 261, -689, -689, -689, -689, -689, -689, -689, 217, -689, - -13, -689, -689, -689, -689, -689, -689, -689, -689, 54, - 310, -689, -689, -689, -689, 212, 663, 1538, 277, 279, - -689, 473, -689, -689, -689, 284, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 285, 105, -689, 186, - 1123, -689, 842, 131, -689, 1715, -689, -689, -689, -689, - -689, 131, -689, 1488, -689, -689, -689, 200, 1030, -689, - -689, -689, -689, 49, 330, 54, 54, -689, -689, -689, - -689, -689, 49, -689, 291, -689, 290, -689, 292, -689, - -689, 1217, 186, -689, 54, 310, -689, -689, -689, -689, - 309, -689, -689, 105, -689, -689, 311, 313, 407, 317, - -689, -689, 275, 280, 125, 114, 114, 78, 78, -689, - -689, -689, -689, -689, 314, -689, -689, -689, 319, -689, - -689, 1895, -689, -689, -689, -689, 2018, -689, -689, -689, - -689, -689, 320, -689, 1930, -689, -689, 1805, -689, 315, - 1715, -689, 322, 323, 326, 327, 329, -689, 316, -689, - 331, -689, -689, -689, 336, 343, 542, 54, 54, 54, - 211, -689, 344, -689, -689, -689, -689, -689, -689, -689, - 105, 105, -689, 345, -689, -689, -689, 1311, 936, 398, - 2071, -689, 186, 338, -689, -689, 57, 60, 348, 349, - 351, 338, 352, -689, -689, -5, -689, 53, -689, -689, - 353, 355, 186, -689, 356, 75, 1983, -689, 411, -689, - -689, -689, -689, 52, -689, 354, -689, 359, -689, 360, - 361, 362, 364, -689, 186, -689, -689, -689, -689, -689, - 365, 368, 447, -689, -689, -689, 371, -689, -689, 366, - -689, -689, -689, -689, 131, -689, 338, -689, 381, 105, - -689, -689, 475, 186, -689, -689, -689, -689, -689, -689, - 69, 69, 69, -689, 384, -689, 389, 390, 392, 393, - 394, 395, -689, -689, -689, 401, 402, 396, 403, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 131, - -689, -689, -689, 105, -689, 404, 397, 409, -689, 442, - 412, 75, -689, 413, 415, -689, 416, 131, 417, 1600, - -689, 54, -689, -689, -689, -689, -689, -689, 514, -689, - -689, -689, -689, -689, -689, 329, 331, -689, -689, 405, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - 408, 408, -689, -689, -689, -689, 2071, 105, -689, 131, - 410, -689, -689, -689, -689, -689, -689, -689, 421, -689, - -689, -689, -689, -689, 54, -689, -689, -689, -689, 422, - 186, -689, 408, 1715, -689, 424, -689, 488, -689, -689, - -689, -689, -689, -689, -689, -689, 54, -689, 186, 426, - 1361, -689, 418, -689, -689, -689, 431, 419, 497, 498, - 498, 105, 484, 439, 430, -689, 186, 443, -689, -689, - 433, -689, 498, -689, -689, -689, 434, -689, -689, -689, - -689, -689, -689, -689, -689, -689, 493, 556, 445, 177, - 498, -689, 80, 2071, -689, 459, 449, 498, 450, 503, - 105, 54, -689, -689, 466, -689, -689, -689, -689, -689, - 453, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 186, - -689, 467, -689, 468, 2071, 532, 476, 131, 492, 496, - 58, -689, 150, 105, 497, 54, 54, 482, 105, 556, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 1690, - -689, -689, -689, 483, 485, -689, -689, -689, 177, 105, - 487, 495, -689, -689, -689, -689, 54, -689, -689, -689, - -689, 105, 502, 489, 526, -689, -689, -689, -689, 490, - 500, -689, -689, 530, -689 + -684, 90, 1424, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 55, 92, 81, 76, -684, 55, + 55, -684, 47, 47, -684, -684, 55, -684, -684, 2, + -684, 295, 74, 83, -684, -684, 4, -684, -684, -684, + -684, -684, -684, 602, -684, -684, -684, -684, -684, 1626, + 82, -684, -684, 86, -684, 132, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 12, -684, -684, -684, 12, -684, + -684, 106, 94, 2107, 47, 55, 1984, 55, 55, 55, + 55, -684, -684, -684, 15, 55, 27, -684, 30, 55, + -684, 12, 55, 121, 129, 55, -684, -684, 31, -684, + 33, 210, -684, 133, -684, 135, 144, 474, -684, -684, + -684, 146, 201, -684, 154, 160, 165, 100, -684, 166, + -684, -684, -684, -684, -684, -684, 56, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, 181, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 132, -684, -684, -684, 59, -684, 63, -684, -684, 177, + -684, 178, 182, 183, -684, 47, 185, 188, 184, -684, + 189, 193, 196, 197, 198, 200, 202, 206, -684, -684, + -684, 207, 209, -684, -684, -684, -684, 181, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 181, -684, -684, + -684, -684, -684, -684, -684, -684, 211, -684, 212, -684, + -684, 205, -684, 292, -684, -684, -684, -684, 53, -684, + -684, -684, 2107, -684, -684, -684, -684, 213, -684, -684, + -684, -684, -684, 302, -684, -684, 131, 221, -684, -684, + -684, -684, -684, -684, -684, -684, 290, -684, 485, 214, + 224, 261, -684, -684, -684, -684, -684, -684, -684, -684, + 181, -684, -684, 216, -684, -684, -684, -684, -684, -684, + -684, -684, -684, 261, 228, 229, -684, -684, -684, 55, + 55, 241, 242, -684, -684, -684, 240, -684, 292, 250, + -684, -684, -684, -684, -684, 308, -684, 249, 248, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, 65, + 65, 65, 485, 181, -684, -684, 247, 251, 252, 107, + 93, 58, -684, -684, -684, -684, -684, 47, -684, -684, + -684, -684, 253, -684, -684, 47, -684, 485, 485, 485, + 485, 246, -684, -684, -684, -684, -684, -684, -684, 153, + -684, 0, -684, -684, -684, -684, -684, -684, -684, -684, + 47, 261, -684, -684, -684, -684, 205, 729, 1539, 255, + 254, -684, 474, -684, -684, -684, 256, 485, 485, 485, + 485, 485, 485, 485, 485, 485, 485, 258, 55, -684, + 181, 1124, -684, 843, 485, -684, 1716, -684, -684, -684, + -684, -684, 485, -684, 1489, -684, -684, -684, 203, 1031, + -684, -684, -684, -684, 67, 307, 47, 47, -684, -684, + -684, -684, -684, 67, -684, 268, -684, 265, -684, 267, + -684, -684, 1218, 181, -684, 47, 261, -684, -684, -684, + -684, 275, -684, -684, 55, -684, -684, 276, 279, 372, + 281, -684, -684, 251, 252, 107, 93, 93, 58, 58, + -684, -684, -684, -684, -684, 277, -684, -684, -684, 282, + -684, -684, 1896, -684, -684, -684, -684, 2019, -684, -684, + -684, -684, -684, 283, -684, 1931, -684, -684, 1806, -684, + 284, 1716, -684, 287, 288, 289, 294, 296, -684, 286, + -684, 293, -684, -684, -684, 312, 314, 995, 47, 47, + 47, 222, -684, 317, -684, -684, -684, -684, -684, -684, + -684, 55, 55, -684, 318, -684, -684, -684, 1312, 937, + 359, 2072, -684, 181, 292, -684, -684, 48, 60, 310, + 321, 323, 292, 326, -684, -684, 3, -684, 57, -684, + -684, 325, 327, 181, -684, 329, 116, 1984, -684, 395, + -684, -684, -684, -684, 131, -684, 332, -684, 333, -684, + 335, 338, 339, 341, -684, 181, -684, -684, -684, -684, + -684, 342, 344, 439, -684, -684, -684, 346, -684, -684, + 345, -684, -684, -684, -684, 485, -684, 292, -684, 347, + 55, -684, -684, 442, 181, -684, -684, -684, -684, -684, + -684, 71, 71, 71, -684, 354, -684, 355, 356, 358, + 360, 361, 362, -684, -684, -684, 363, 365, 357, 364, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 485, -684, -684, -684, 55, -684, 367, 366, 371, -684, + 412, 383, 116, -684, 387, 390, -684, 393, 485, 394, + 1601, -684, 47, -684, -684, -684, -684, -684, -684, 489, + -684, -684, -684, -684, -684, -684, 296, 293, -684, -684, + 378, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, 382, 382, -684, -684, -684, -684, 2072, 55, -684, + 485, 384, -684, -684, -684, -684, -684, -684, -684, 404, + -684, -684, -684, -684, -684, 47, -684, -684, -684, -684, + 406, 181, -684, 382, 1716, -684, 407, -684, 473, -684, + -684, -684, -684, -684, -684, -684, -684, 47, -684, 181, + 411, 1362, -684, 397, -684, -684, -684, 414, 398, 478, + 479, 479, 55, 461, 416, 403, -684, 181, 421, -684, + -684, 408, -684, 479, -684, -684, -684, 410, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 462, 523, 415, + 158, 479, -684, 75, 2072, -684, 424, 419, 479, 420, + 472, 55, 47, -684, -684, 437, -684, -684, -684, -684, + -684, 426, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 181, -684, 440, -684, 441, 2072, 507, 451, 485, 447, + 452, 52, -684, 208, 55, 478, 47, 47, 436, 55, + 523, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 1691, -684, -684, -684, 438, 443, -684, -684, -684, 158, + 55, 453, 450, -684, -684, -684, -684, 47, -684, -684, + -684, -684, 55, 457, 454, 480, -684, -684, -684, -684, + 456, 465, -684, -684, 481, -684 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1419,7 +1417,7 @@ static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, - 0, 511, 0, 0, 580, 600, 0, 6, 7, 42, + 0, 511, 0, 0, 581, 601, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, @@ -1437,123 +1435,123 @@ static const yytype_int16 yydefact[] = 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, - 555, 0, 0, 603, 599, 39, 287, 160, 148, 152, + 555, 0, 0, 604, 600, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, - 95, 481, 512, 0, 467, 140, 468, 581, 0, 197, - 43, 25, 0, 566, 562, 563, 568, 565, 569, 567, - 564, 561, 0, 48, 573, 0, 0, 23, 96, 75, - 67, 27, 85, 271, 286, 277, 279, 0, 0, 0, - 99, 357, 354, 364, 361, 369, 374, 19, 11, 214, - 13, 297, 0, 21, 15, 17, 29, 473, 31, 523, - 510, 33, 99, 0, 0, 35, 37, 607, 0, 0, - 0, 0, 89, 479, 477, 520, 139, 0, 0, 601, - 212, 200, 4, 570, 0, 574, 0, 571, 186, 187, - 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, - 0, 0, 183, 598, 161, 162, 163, 165, 167, 169, - 172, 175, 179, 184, 597, 62, 0, 114, 105, 278, - 196, 0, 366, 213, 0, 93, 0, 0, 0, 0, - 217, 213, 312, 484, 527, 554, 547, 556, 604, 149, - 266, 232, 259, 260, 261, 267, 346, 401, 114, 0, - 99, 518, 513, 141, 582, 481, 0, 0, 3, 0, - 49, 0, 180, 181, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 76, 136, - 0, 113, 0, 0, 213, 0, 98, 355, 362, 370, - 375, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 389, 394, 0, 505, 0, 0, 612, 387, 388, - 608, 610, 0, 614, 0, 606, 0, 213, 256, 213, - 302, 0, 480, 478, 0, 99, 588, 602, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 572, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 409, 410, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 414, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 359, 0, 0, 0, 0, 137, 218, 0, 219, - 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 495, 0, 483, 485, 487, 489, 491, 493, 497, - 0, 0, 528, 0, 526, 529, 531, 0, 0, 0, - 0, 501, 500, 0, 504, 503, 0, 0, 0, 0, - 0, 0, 0, 605, 150, 0, 257, 0, 347, 352, - 213, 0, 519, 514, 587, 213, 0, 202, 210, 203, - 45, 575, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 413, 443, 440, 441, 442, 404, 412, - 0, 0, 0, 87, 112, 103, 0, 368, 367, 0, - 356, 363, 371, 376, 0, 216, 0, 220, 0, 0, - 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 482, 0, 475, 0, 0, 0, 0, - 0, 0, 533, 536, 525, 0, 0, 0, 0, 390, - 395, 499, 593, 594, 613, 609, 611, 502, 615, 0, - 384, 380, 383, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 591, 0, 0, 586, 0, 0, 0, 0, - 596, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 415, 109, 213, 223, 0, 222, 308, 305, 0, - 508, 506, 507, 496, 486, 488, 490, 492, 494, 498, - 0, 0, 530, 532, 549, 558, 0, 0, 151, 0, - 381, 258, 348, 350, 403, 515, 584, 585, 0, 589, - 590, 205, 209, 208, 0, 56, 42, 51, 55, 0, - 135, 405, 0, 0, 221, 0, 314, 418, 534, 537, - 391, 396, 265, 385, 382, 213, 0, 592, 58, 0, - 0, 57, 0, 416, 360, 306, 0, 0, 0, 450, - 450, 0, 454, 262, 0, 351, 516, 0, 52, 54, - 431, 406, 450, 315, 419, 426, 0, 425, 447, 535, - 538, 392, 451, 397, 263, 386, 522, 0, 0, 0, - 450, 417, 0, 0, 421, 422, 0, 450, 0, 458, - 0, 0, 517, 579, 0, 578, 430, 444, 445, 446, - 0, 436, 437, 407, 330, 337, 335, 316, 326, 327, - 334, 427, 423, 448, 393, 452, 455, 398, 264, 521, - 59, 576, 432, 433, 0, 462, 0, 0, 0, 0, - 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, - 434, 438, 459, 408, 331, 338, 336, 317, 325, 0, - 333, 428, 424, 0, 0, 456, 60, 577, 0, 0, - 0, 0, 340, 328, 449, 453, 0, 435, 439, 460, - 339, 0, 0, 0, 0, 341, 329, 457, 466, 0, - 463, 461, 464, 0, 465 + 95, 481, 512, 0, 467, 140, 468, 582, 0, 197, + 43, 25, 0, 567, 562, 563, 569, 565, 566, 570, + 568, 564, 561, 0, 48, 574, 0, 0, 23, 96, + 75, 67, 27, 85, 271, 286, 277, 279, 0, 0, + 0, 99, 357, 354, 364, 361, 369, 374, 19, 11, + 214, 13, 297, 0, 21, 15, 17, 29, 473, 31, + 523, 510, 33, 99, 0, 0, 35, 37, 608, 0, + 0, 0, 0, 89, 479, 477, 520, 139, 0, 0, + 602, 212, 200, 4, 571, 0, 575, 0, 572, 186, + 187, 188, 190, 193, 192, 194, 195, 191, 189, 0, + 0, 0, 0, 183, 599, 161, 162, 163, 165, 167, + 169, 172, 175, 179, 184, 598, 62, 0, 114, 105, + 278, 196, 0, 366, 213, 0, 93, 0, 0, 0, + 0, 217, 213, 312, 484, 527, 554, 547, 556, 605, + 149, 266, 232, 259, 260, 261, 267, 346, 401, 114, + 0, 99, 518, 513, 141, 583, 481, 0, 0, 3, + 0, 49, 0, 180, 181, 182, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 596, 0, 76, + 136, 0, 113, 0, 0, 213, 0, 98, 355, 362, + 370, 375, 0, 215, 0, 298, 302, 213, 213, 0, + 114, 105, 389, 394, 0, 505, 0, 0, 613, 387, + 388, 609, 611, 0, 615, 0, 607, 0, 213, 256, + 213, 302, 0, 480, 478, 0, 99, 589, 603, 204, + 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, + 0, 573, 185, 164, 166, 168, 170, 171, 173, 174, + 176, 177, 178, 213, 63, 133, 131, 409, 410, 0, + 116, 123, 0, 117, 127, 125, 129, 0, 119, 121, + 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, + 0, 0, 359, 0, 0, 0, 0, 137, 218, 0, + 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, + 0, 0, 495, 0, 483, 485, 487, 489, 491, 493, + 497, 0, 0, 528, 0, 526, 529, 531, 0, 0, + 0, 0, 501, 500, 0, 504, 503, 0, 0, 0, + 0, 0, 0, 0, 606, 150, 0, 257, 0, 347, + 352, 213, 0, 519, 514, 588, 213, 0, 202, 210, + 203, 45, 576, 50, 0, 134, 0, 69, 0, 115, + 0, 0, 0, 0, 413, 443, 440, 441, 442, 404, + 412, 0, 0, 0, 87, 112, 103, 0, 368, 367, + 0, 356, 363, 371, 376, 0, 216, 0, 220, 0, + 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, + 322, 0, 0, 0, 482, 0, 475, 0, 0, 0, + 0, 0, 0, 533, 536, 525, 0, 0, 0, 0, + 390, 395, 499, 594, 595, 614, 610, 612, 502, 616, + 0, 384, 380, 383, 0, 353, 0, 349, 0, 91, + 0, 0, 0, 592, 0, 0, 587, 0, 0, 0, + 0, 597, 0, 132, 124, 118, 128, 126, 130, 0, + 120, 122, 415, 109, 213, 223, 0, 222, 308, 305, + 0, 508, 506, 507, 496, 486, 488, 490, 492, 494, + 498, 0, 0, 530, 532, 549, 558, 0, 0, 151, + 0, 381, 258, 348, 350, 403, 515, 585, 586, 0, + 590, 591, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 405, 0, 0, 221, 0, 314, 418, 534, + 537, 391, 396, 265, 385, 382, 213, 0, 593, 58, + 0, 0, 57, 0, 416, 360, 306, 0, 0, 0, + 450, 450, 0, 454, 262, 0, 351, 516, 0, 52, + 54, 431, 406, 450, 315, 419, 426, 0, 425, 447, + 535, 538, 392, 451, 397, 263, 386, 522, 0, 0, + 0, 450, 417, 0, 0, 421, 422, 0, 450, 0, + 458, 0, 0, 517, 580, 0, 579, 430, 444, 445, + 446, 0, 436, 437, 407, 330, 337, 335, 316, 326, + 327, 334, 427, 423, 448, 393, 452, 455, 398, 264, + 521, 59, 577, 432, 433, 0, 462, 0, 0, 0, + 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, + 0, 434, 438, 459, 408, 331, 338, 336, 317, 325, + 0, 333, 428, 424, 0, 0, 456, 60, 578, 0, + 0, 0, 0, 340, 328, 449, 453, 0, 435, 439, + 460, 339, 0, 0, 0, 0, 341, 329, 457, 466, + 0, 463, 461, 464, 0, 465 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -689, -689, 296, 297, 561, -609, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -606, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -149, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 231, -689, - -689, 107, -689, -689, -689, 595, -689, -689, -689, -689, - -689, -689, -689, 597, -689, 238, -689, -689, -258, -689, - -689, 184, 109, -689, -689, -689, -325, -689, -370, -689, - -689, -689, -689, -689, -689, -689, -689, -340, -689, -689, - -22, -689, -689, -194, -10, -689, 16, -689, -689, -689, - -689, -192, -44, -230, -689, 222, 223, 221, -143, -117, - -175, -94, -689, -321, -689, -689, -689, -689, -689, -689, - -689, -689, 13, -86, 571, -689, -689, -689, -689, -74, - 7, 17, -689, 59, -689, -31, -392, -466, -689, -689, - -689, 15, -689, -689, -620, -138, -689, -689, -7, -689, - -66, -689, -689, -43, -42, -56, -55, -50, 250, -689, - -40, -689, -38, -689, -689, -689, -689, 187, 278, 136, - -689, -689, -689, -37, -689, -32, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -208, -689, -689, -689, -689, - -689, -209, -689, -689, -689, -689, -689, -689, -689, -41, - -689, -689, -689, -689, -689, -689, -689, -111, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -75, -689, -689, -689, -70, -689, -689, -689, -689, - -689, -689, -689, -73, -689, -689, -337, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, 18, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -637, -689, -689, -689, -689, -689, -197, - -689, -689, -689, -689, -689, -689, -689, -689, -233, -689, - -689, -521, -689, -688, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 20, 22, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 299, - -689, -689, 128, -689, -689, -689, -689, -689, -689, -689, - -324, 219, -317, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 582, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 294, -689, -689, -195, -689, -689, - -689, -689, -689, -689, -689, -9, -689, 324, -689, -689, - 82, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689 + -684, -684, 259, 260, 525, -628, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -596, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -185, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, 231, -684, + -684, 19, -684, -684, -684, 560, -684, -684, -684, -684, + -684, -684, -684, 564, -684, 243, -684, -684, -253, -684, + -684, 150, 77, -684, -684, -684, -320, -684, -356, -684, + -684, -684, -684, -684, -684, -684, -684, -341, -684, -684, + -22, -684, -684, -186, -10, -684, 16, -684, -684, -684, + -684, -199, -78, -241, -684, 186, 190, 187, -139, -136, + -189, -101, -684, -321, -684, -684, -684, -684, -684, -684, + -684, -684, 21, -86, 534, -684, -684, -684, -684, -110, + -28, 17, -684, 13, -684, -31, -391, -468, -684, -684, + -684, -29, -684, -684, -622, -180, -684, -684, -7, -684, + -66, -684, -684, -53, -52, -56, -55, -50, 215, -684, + -40, -684, -38, -684, -684, -684, -684, 145, 233, 95, + -684, -684, -684, -37, -684, -32, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -250, -684, -684, -684, -684, + -684, -249, -684, -684, -684, -684, -684, -684, -684, -41, + -684, -684, -684, -684, -684, -684, -684, -153, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -75, -684, -684, -684, -70, -684, -684, -684, -684, + -684, -684, -684, -115, -684, -684, -334, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 18, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -640, -684, -684, -684, -684, -684, -246, + -684, -684, -684, -684, -684, -684, -684, -684, -255, -684, + -684, -517, -684, -683, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, 20, 22, + -684, -684, -684, -684, -684, -684, -684, -684, -684, 244, + -684, -684, 101, -684, -684, -684, -684, -684, -684, -684, + -328, 191, -325, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 553, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 245, -684, -684, -227, -684, -684, + -684, -684, -684, -684, -684, -36, -684, 266, -684, -684, + 54, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1561,45 +1559,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, - 82, 29, 84, 30, 115, 312, 467, 31, 32, 117, - 316, 469, 679, 759, 737, 760, 738, 739, 777, 858, - 33, 118, 407, 34, 35, 124, 347, 488, 36, 85, - 37, 151, 346, 38, 39, 40, 126, 348, 502, 41, - 228, 378, 571, 42, 270, 43, 102, 259, 355, 44, - 45, 412, 503, 606, 504, 505, 410, 411, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 408, 484, 681, - 332, 233, 307, 109, 370, 46, 490, 83, 298, 446, - 659, 208, 333, 350, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 351, 48, 311, 386, 462, 576, 463, - 464, 678, 491, 50, 310, 360, 422, 518, 519, 617, - 520, 492, 86, 219, 299, 220, 154, 155, 156, 157, - 52, 371, 448, 663, 372, 751, 773, 810, 373, 374, + 82, 29, 84, 30, 115, 313, 468, 31, 32, 117, + 317, 470, 680, 760, 738, 761, 739, 740, 778, 859, + 33, 118, 408, 34, 35, 124, 348, 489, 36, 85, + 37, 151, 347, 38, 39, 40, 126, 349, 503, 41, + 228, 379, 572, 42, 271, 43, 102, 260, 356, 44, + 45, 413, 504, 607, 505, 506, 411, 412, 490, 590, + 601, 602, 588, 592, 591, 593, 586, 409, 485, 682, + 333, 233, 308, 109, 371, 46, 491, 83, 299, 447, + 660, 208, 334, 351, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 352, 48, 312, 387, 463, 577, 464, + 465, 679, 492, 50, 311, 361, 423, 519, 520, 618, + 521, 493, 86, 219, 300, 220, 154, 155, 156, 157, + 52, 372, 449, 664, 373, 752, 774, 811, 374, 375, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 188, 361, 524, 424, 525, 621, 523, - 619, 745, 618, 55, 88, 56, 282, 426, 699, 766, - 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, - 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, - 89, 300, 449, 665, 568, 666, 755, 569, 173, 356, - 512, 174, 269, 609, 175, 357, 513, 176, 268, 414, - 177, 178, 358, 514, 179, 180, 359, 515, 181, 375, - 447, 661, 720, 662, 719, 774, 493, 438, 549, 716, - 771, 807, 439, 550, 717, 772, 809, 494, 90, 301, - 450, 667, 495, 688, 762, 800, 845, 496, 598, 508, - 602, 742, 782, 748, 767, 768, 786, 805, 854, 787, - 803, 853, 781, 798, 799, 820, 843, 878, 821, 844, - 879, 599, 822, 789, 806, 855, 793, 808, 856, 837, - 857, 886, 863, 880, 894, 899, 900, 903, 497, 498, - 63, 64, 65, 194, 363, 532, 66, 231, 380, 304, - 379, 427, 533, 636, 637, 638, 639, 640, 634, 641, - 534, 553, 535, 442, 555, 536, 537, 538, 67, 196, - 68, 105, 305, 455, 669, 756, 796, 382, 454, 812, - 290, 364, 543, 428, 544, 645, 646, 545, 710, 769, - 546, 711, 770, 69, 70, 71, 72, 73, 293, 429, - 647, 74, 75, 76, 199, 292, 77, 294, 430, 648, - 78, 252, 253, 317, 254, 814, 841, 815, 79, 111, - 308, 456, 670, 574, 575, 675, 728, 539, 256, 406, - 344, 80, 81, 112, 385, 204, 297, 444, 368, 445, - 559, 560, 558, 562 + 53, 87, 54, 188, 362, 525, 425, 526, 622, 524, + 620, 746, 619, 55, 88, 56, 283, 427, 700, 767, + 803, 850, 629, 828, 851, 829, 852, 893, 847, 830, + 853, 831, 849, 848, 882, 884, 892, 57, 58, 59, + 89, 301, 450, 666, 569, 667, 756, 570, 173, 357, + 513, 174, 270, 610, 175, 358, 514, 176, 269, 415, + 177, 178, 359, 515, 179, 180, 360, 516, 181, 376, + 448, 662, 721, 663, 720, 775, 494, 439, 550, 717, + 772, 808, 440, 551, 718, 773, 810, 495, 90, 302, + 451, 668, 496, 689, 763, 801, 846, 497, 599, 509, + 603, 743, 783, 749, 768, 769, 787, 806, 855, 788, + 804, 854, 782, 799, 800, 821, 844, 879, 822, 845, + 880, 600, 823, 790, 807, 856, 794, 809, 857, 838, + 858, 887, 864, 881, 895, 900, 901, 904, 498, 499, + 63, 64, 65, 194, 364, 533, 66, 231, 381, 305, + 380, 428, 534, 637, 638, 639, 640, 641, 635, 642, + 535, 554, 536, 443, 556, 537, 538, 539, 67, 196, + 68, 105, 306, 456, 670, 757, 797, 383, 455, 813, + 291, 365, 544, 429, 545, 646, 647, 546, 711, 770, + 547, 712, 771, 69, 70, 71, 72, 73, 294, 430, + 648, 74, 75, 76, 199, 293, 77, 295, 431, 649, + 78, 253, 254, 318, 255, 815, 842, 816, 79, 111, + 309, 457, 671, 575, 576, 676, 729, 540, 257, 407, + 345, 80, 81, 112, 386, 204, 298, 445, 369, 446, + 560, 561, 559, 563 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1608,347 +1606,319 @@ static const yytype_int16 yydefgoto[] = static const yytype_int16 yytable[] = { 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, - 104, 171, 153, 216, 416, 49, 113, 209, 47, 51, - 60, 152, 61, 511, 62, 334, 238, 212, 213, 650, - 595, 437, 255, 214, 365, 417, 418, 419, 420, 306, - 210, 211, 506, 721, 440, 172, 168, 309, 169, 170, - 313, 441, 106, 451, 171, 106, 664, 106, 542, 824, - 652, 207, 217, 653, 152, 47, 51, 60, 551, 61, - 735, 62, 106, 736, 749, 218, 8, 221, 222, 223, - 224, 824, 790, -379, 595, 226, 234, 825, 826, 229, - 531, 185, 230, -144, 801, 232, 263, 4, 122, 264, - 235, 395, 236, -379, 547, 763, 431, 432, 91, 825, - 826, 660, 823, 383, 8, 271, 235, 272, 608, 834, - 18, 588, 453, 114, 95, 119, 318, 319, 320, 321, - 322, 323, 324, 325, 106, 120, 433, 506, 185, 107, - 185, 434, 107, 123, 107, 326, 327, 235, 185, 185, - 235, 735, 18, -145, 736, 189, 99, -324, 122, 235, - 328, 329, -342, 279, -146, 330, 331, 215, -100, 122, - 265, 266, 216, 122, 122, 273, 209, 274, 506, 825, - 826, 198, 203, 509, 205, 198, 212, 213, 403, 404, - 405, 517, 214, 531, 461, 750, -471, 573, -544, 210, - 211, 225, 237, 227, 239, 318, 319, 320, 321, 322, - 323, 324, 325, 817, 818, 819, 399, 400, 106, 240, - 207, 107, 401, 402, 326, 327, 241, 516, 479, 480, - 481, 431, 432, 871, 392, 393, 394, 257, 672, 328, - 329, 258, 431, 432, 330, 331, 94, 96, 431, 432, - 595, 673, 527, 528, 98, 101, 475, 476, 674, 888, - 261, 433, 529, 527, 528, 260, 434, 415, 262, 435, - 436, 895, 433, 529, 267, 423, 235, 434, 433, 275, - 435, 436, 831, 434, 477, 478, 435, 436, 369, 318, - 319, 320, 321, 322, 323, 324, 325, 276, 277, -474, - 278, -212, -47, 280, -47, 107, 281, 283, 326, 327, - 284, 215, 287, 285, 303, 286, 216, 288, -47, -47, - 209, -47, -47, 861, 409, 289, -47, 291, 510, 331, - 212, 213, 409, 295, 672, 302, 214, 595, 296, -545, - 526, 106, 315, 210, 211, 466, 314, 673, -47, 345, - 349, 764, -47, 334, 674, 352, 353, 452, 354, 651, - 366, 565, 367, 567, 207, 362, -47, 657, 376, 377, - 381, 384, 389, 390, 396, 421, -44, 391, 595, 413, - 468, 397, 172, 168, 694, 169, 170, 398, 482, 554, - 563, 171, 522, 152, 564, 566, 583, 483, 753, 471, - 49, 152, 460, 47, 51, 60, 577, 61, 579, 62, - 581, 552, 580, 556, 557, 582, 607, 584, 586, 603, - 552, 596, 695, 610, 611, 507, 597, 612, 613, 334, - 649, 615, 572, 614, 616, 620, 700, 701, 702, 423, - 530, 677, -300, 635, 644, 654, 655, 732, 656, 658, - 691, 682, -402, 578, 668, -583, 683, 684, 685, 686, - 624, 687, 689, 172, 168, 690, 169, 170, 692, 693, - 625, 626, 171, 522, 594, 596, 627, 242, 697, 243, - 597, 703, 152, 263, 423, 629, 704, 705, 152, 706, - 707, 708, 709, 244, 245, 714, 246, 247, 712, 713, - 723, 248, 715, 722, 623, 630, 631, 632, 724, 725, - 729, 726, 730, 731, 733, 873, 874, 741, 757, 761, - 746, 765, 747, 249, -420, 778, 660, 250, 594, 783, - 642, 643, 780, 785, 784, 172, 168, 788, 169, 170, - 792, 251, 794, 797, 171, 106, 893, 795, -429, 804, - 622, 128, 129, 811, 152, 132, 133, 134, 135, 813, - 816, 507, 832, 833, 835, 12, 836, 840, 842, 106, - 859, 860, 862, 864, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, - 139, 140, 141, 142, 866, 867, 875, 890, 884, 896, - 885, 889, 898, 902, 897, 901, 904, 743, 387, 388, - 184, 779, 100, 97, 548, 718, 605, 865, 472, 474, - 473, 186, 744, 696, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 791, 698, 676, 465, 570, 185, 425, - 604, 596, 868, 870, 775, 887, 597, 754, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 872, 633, 740, - 200, 561, 727, -101, 877, 680, 106, 6, 122, 567, - 458, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 206, 137, 0, 0, 457, 470, 12, 0, 0, 141, - 142, 0, 443, 0, 594, 47, 51, 60, 0, 61, - 0, 62, 0, 0, 0, 0, 0, 92, 0, 0, - 752, 0, 758, 0, 0, 0, 0, 0, 0, 0, - 0, 152, 0, 0, 0, 0, 0, 0, 596, 0, - 0, 0, 0, 597, 776, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, - 0, 92, 459, 0, 752, 869, 0, 0, 0, 596, - 0, 0, 0, 0, 597, 0, 47, 51, 60, 0, - 61, 594, 62, 0, 0, 0, 0, 0, 0, 839, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 594, 0, 0, 0, 0, 0, 172, 168, - 0, 169, 170, 409, 409, 0, 0, 171, 882, 0, - 0, 0, 0, 485, 0, -411, 6, 152, 876, 9, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 10, 11, 409, 12, 0, 0, -411, -411, - 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 0, 0, 0, 0, 485, -213, -411, - 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 431, 432, 486, - 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, + 104, 171, 153, 216, 417, 335, 113, 209, 47, 51, + 60, 152, 61, 49, 62, 512, 238, 212, 213, 596, + 210, 211, 256, 214, 651, 438, 418, 419, 420, 421, + 366, 441, 722, 314, 442, 172, 168, 307, 169, 170, + 106, 653, 736, 825, 171, 123, 310, 507, 91, 452, + 665, 207, 217, 654, 152, 47, 51, 60, 106, 61, + 106, 62, 750, 543, 106, 218, 825, 221, 222, 223, + 224, 826, 827, 596, 737, 226, 552, 8, 791, 229, + 4, 396, 230, 198, 532, 232, -379, 198, 8, 185, + 802, -144, 114, 764, 826, 827, 122, 234, 264, 236, + 548, 265, -145, 225, 122, 227, -379, 122, 824, 661, + 609, 235, 384, 235, -146, 835, 18, -100, 454, 122, + 99, 18, 122, 736, 106, 95, 589, 107, 235, 319, + 320, 321, 322, 323, 324, 325, 326, 432, 433, 185, + 235, -324, 507, 185, 189, 107, 268, 107, 327, 328, + 272, 235, 273, 280, 274, 737, 275, 215, 404, 405, + 406, 119, 216, 510, 266, 267, 209, 434, 185, 332, + 120, 518, 435, -342, 432, 433, 212, 213, 462, 210, + 211, 205, 214, 507, 818, 819, 820, 532, 400, 401, + 751, 402, 403, 574, 203, 319, 320, 321, 322, 323, + 324, 325, 326, 237, 434, 480, 481, 482, -471, 435, + 207, 107, 436, 437, 327, 328, -544, 185, 393, 394, + 395, 239, 872, 240, 432, 433, 517, 826, 827, 329, + 330, 241, 673, 258, 331, 332, 94, 96, 674, 596, + 259, 675, 261, 432, 433, 528, 529, 262, 889, 98, + 101, 476, 477, 263, 434, 530, 478, 479, 416, 435, + 896, 235, 436, 437, 528, 529, 424, 276, 277, 278, + 279, -212, 282, 434, 530, 281, 284, 832, 435, 370, + 285, 436, 437, 286, 287, 106, 288, 289, 350, -47, + 290, -47, -474, 292, 296, 316, 297, 304, -545, 355, + 303, 390, 215, 315, 353, -47, -47, 216, -47, -47, + -47, 209, 346, -47, 354, 410, 367, 368, 862, 511, + 363, 212, 213, 410, 210, 211, 596, 214, 673, 377, + 378, 527, 382, 335, 674, -47, 467, 675, 385, -47, + 391, 392, 397, 765, -44, 469, 414, 398, 453, 399, + 422, 483, 566, -47, 568, 207, 555, 564, 652, 565, + 567, 472, 578, 580, 695, 582, 658, 596, 581, 583, + 585, 587, 604, 172, 168, 608, 169, 170, 611, 612, + 613, 650, 171, 523, 152, 614, 617, 584, 484, 754, + 615, 616, 152, 461, 47, 51, 60, 655, 61, 49, + 62, 621, 553, -300, 557, 558, 636, 645, 656, 335, + 657, 553, 597, 659, -402, 678, 669, 598, -584, 683, + 684, 696, 685, 573, 508, 686, 687, 733, 688, 690, + 424, 691, 692, 693, 698, 701, 702, 703, 694, 531, + 264, 704, 705, 706, 579, 707, 715, 708, 709, 710, + 713, 625, 714, 716, 172, 168, 723, 169, 170, 724, + 725, 626, 627, 171, 523, 595, 597, 628, 242, 726, + 243, 598, 727, 152, 730, 424, 630, 731, 106, 152, + 732, 734, 742, 747, 244, 245, 748, 246, 247, 248, + 661, 758, 249, 762, 766, 624, 631, 632, 633, -420, + 779, 781, 784, 785, 786, 874, 875, 793, 789, 795, + 796, 798, 812, -429, 250, 805, 814, 833, 251, 595, + 817, 643, 644, 834, 836, 837, 172, 168, 841, 169, + 170, 843, 252, 860, 861, 171, 894, 863, 865, 867, + 876, 868, 891, 885, 897, 152, 899, 905, 886, 319, + 320, 321, 322, 323, 324, 325, 326, 890, 903, 898, + 508, 902, 388, 389, 184, 107, 780, 100, 327, 328, + 97, 549, 719, 473, 186, 606, 475, 745, 474, 697, + 677, 699, 792, 329, 330, 426, 571, 672, 331, 332, + 605, 869, 466, 776, 871, 106, 755, 866, 744, 873, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 10, 11, 888, 12, 139, 140, 141, 142, + 458, 200, 634, 878, 562, 444, 728, 471, 681, 0, + 0, 0, 597, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 0, 0, 0, - 0, 485, -213, -411, 6, -557, 0, 9, -411, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - 10, 11, 0, 12, 0, 0, -411, -411, 13, 0, - 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -411, -411, -411, -411, -411, -411, -411, -411, - -411, 0, 0, 0, 485, 0, -411, 6, 0, -524, + 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 0, 595, 47, 51, 60, -101, + 61, 0, 62, 0, 122, 0, 0, 0, 92, 0, + 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, + 0, 0, 152, 0, 0, 0, 0, 0, 0, 597, + 0, 0, 106, 6, 598, 777, 459, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 206, 137, 0, 0, + 0, 0, 12, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 92, 0, 0, 753, 870, 0, 0, 0, + 597, 0, 0, 0, 0, 598, 0, 47, 51, 60, + 0, 61, 595, 62, 0, 0, 0, 0, 0, 0, + 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 839, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 0, 0, 0, 595, 0, 0, 0, 0, 460, 172, + 168, 0, 169, 170, 410, 410, 0, 0, 171, 883, + 0, 0, 0, 0, 486, 0, -411, 6, 152, 877, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, - -411, 13, 0, 0, 431, 432, 486, 487, -411, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -411, -411, -411, 10, 11, 410, 12, 0, 0, -411, + -411, 13, 0, 0, 432, 433, 487, 488, -411, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 500, 501, + 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 0, 0, 0, 0, 485, -213, - -411, 6, -68, 0, 9, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 0, 0, 0, 0, 486, -213, + -411, 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, - 12, 0, 0, -411, -411, 13, 0, 0, 431, 432, - 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, + 12, 0, 0, -411, -411, 13, 0, 0, 432, 433, + 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 500, 501, 502, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, + 0, 22, 23, 623, 128, 129, 0, 0, 132, 133, + 134, 135, 0, 0, 0, 0, 0, 0, 12, -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, - 0, 0, 485, -213, -411, 6, -90, 0, 9, -411, + 0, 0, 486, -213, -411, 6, -557, 0, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, - 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, + 0, 0, 432, 433, 487, 488, -411, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 541, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 542, 0, 0, 0, + 0, 185, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 14, 15, 16, 17, 0, -213, 0, 0, - -548, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, -2, 5, 22, 23, 6, 7, 8, - 9, 0, 24, 25, 734, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, - 0, 13, 0, 0, 0, 0, 26, 0, 0, 0, - -53, 0, 0, 0, 14, 15, 16, 17, 0, 0, - 0, 0, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 521, - 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, + -411, -411, 0, 0, 0, 486, 0, -411, 6, 0, + -524, 9, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, + -411, -411, 13, 0, 0, 432, 433, 487, 488, -411, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, - 15, 16, 17, 0, 185, 0, 0, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, - 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, - 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, - 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, - 0, 24, 25, 734, 0, 18, 19, 0, 0, 20, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 106, 0, - 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 0, 0, 139, - 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 0, 0, 0, 0, 486, + -213, -411, 6, -68, 0, 9, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, + 0, 12, 0, 0, -411, -411, 13, 0, 0, 432, + 433, 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 485, 0, -411, 6, - 0, 185, 9, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, - 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, - -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 485, 0, -411, 6, - 0, 0, 9, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, - 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, - -411, 521, 0, 106, 0, 0, 14, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 106, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, - 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, - 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, - 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, + 0, 0, 0, 486, -213, -411, 6, -90, 0, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, + 13, 0, 0, 432, 433, 487, 488, -411, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 14, 15, 16, 17, 0, -213, 0, + 0, -548, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, -2, 5, 22, 23, 6, 7, + 8, 9, 0, 24, 25, 735, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, + 0, 0, 13, 0, 0, 0, 0, 26, 0, 0, + 0, -53, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, + 522, 0, 106, 0, 0, 24, 25, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 0, 26, + -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 11, 0, 12, 0, 0, 0, 0, 13, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 14, 15, 16, 17, 0, 185, 0, 0, 0, 18, + 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, + 0, 0, 5, 22, 23, 6, 7, 8, 9, 0, + 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 10, 11, 0, 12, 0, 0, 5, 0, 13, + 6, 7, 8, 9, 26, -213, 0, 0, 0, 0, + 0, 0, 14, 15, 16, 17, 10, 11, 0, 12, + 0, 18, 19, 0, 13, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 14, 15, 16, + 17, 0, 24, 25, 735, 0, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 106, 0, 26, 24, 25, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 106, + 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, + 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107 + 145, 146, 147, 148, 149, 150, 107, 486, 0, -411, + 6, 0, 185, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, + 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 500, 501, 502, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 486, 0, -411, + 6, 0, 0, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, + 488, -411, 522, 0, 106, 0, 0, 14, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, + 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, + 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 2, 2, - 2, 43, 2, 415, 2, 255, 112, 83, 83, 550, - 496, 368, 118, 83, 292, 356, 357, 358, 359, 233, - 83, 83, 412, 663, 368, 86, 86, 3, 86, 86, - 242, 368, 3, 378, 86, 3, 3, 3, 428, 1, - 3, 83, 84, 3, 86, 49, 49, 49, 19, 49, - 679, 49, 3, 679, 711, 85, 6, 87, 88, 89, - 90, 1, 770, 96, 550, 95, 76, 29, 30, 99, - 427, 96, 102, 97, 782, 105, 8, 0, 102, 11, - 90, 331, 76, 116, 429, 742, 31, 32, 3, 29, - 30, 116, 800, 307, 6, 101, 90, 103, 510, 807, - 50, 491, 380, 100, 54, 97, 74, 75, 76, 77, - 78, 79, 80, 81, 3, 97, 61, 507, 96, 90, - 96, 66, 90, 36, 90, 93, 94, 90, 96, 96, - 90, 760, 50, 97, 760, 22, 54, 99, 102, 90, - 108, 109, 97, 185, 97, 113, 114, 242, 97, 102, - 8, 9, 242, 102, 102, 101, 242, 103, 548, 29, - 30, 74, 98, 413, 97, 78, 242, 242, 110, 111, - 112, 421, 242, 530, 386, 716, 97, 455, 97, 242, - 242, 94, 3, 96, 98, 74, 75, 76, 77, 78, - 79, 80, 81, 36, 37, 38, 91, 92, 3, 98, - 242, 90, 108, 109, 93, 94, 97, 421, 403, 404, - 405, 31, 32, 853, 328, 329, 330, 97, 575, 108, - 109, 49, 31, 32, 113, 114, 15, 16, 31, 32, - 716, 575, 52, 53, 16, 17, 399, 400, 575, 879, - 97, 61, 62, 52, 53, 98, 66, 353, 98, 69, - 70, 891, 61, 62, 100, 361, 90, 66, 61, 100, - 69, 70, 803, 66, 401, 402, 69, 70, 298, 74, - 75, 76, 77, 78, 79, 80, 81, 100, 97, 99, - 97, 96, 4, 97, 6, 90, 98, 97, 93, 94, - 97, 386, 98, 97, 102, 97, 386, 97, 20, 21, - 386, 23, 24, 844, 346, 98, 28, 97, 414, 114, - 386, 386, 354, 97, 671, 98, 386, 803, 97, 97, - 426, 3, 3, 386, 386, 386, 100, 671, 50, 101, - 8, 743, 54, 583, 671, 100, 100, 379, 48, 553, - 98, 447, 98, 449, 386, 114, 68, 561, 98, 98, - 102, 98, 3, 101, 105, 114, 99, 103, 844, 103, - 101, 106, 423, 423, 614, 423, 423, 107, 103, 59, - 99, 423, 423, 415, 104, 103, 482, 407, 719, 115, - 387, 423, 386, 387, 387, 387, 97, 387, 97, 387, - 3, 433, 99, 435, 436, 98, 101, 103, 99, 99, - 442, 496, 616, 101, 101, 412, 496, 101, 101, 659, - 32, 115, 454, 104, 103, 99, 630, 631, 632, 525, - 427, 30, 99, 99, 99, 97, 97, 677, 97, 97, - 3, 97, 99, 463, 99, 99, 97, 97, 97, 97, - 526, 97, 97, 504, 504, 97, 504, 504, 97, 103, - 526, 526, 504, 504, 496, 550, 526, 4, 97, 6, - 550, 97, 504, 8, 570, 526, 97, 97, 510, 97, - 97, 97, 97, 20, 21, 99, 23, 24, 97, 97, - 103, 28, 99, 99, 526, 527, 528, 529, 99, 67, - 97, 99, 97, 97, 97, 855, 856, 3, 97, 97, - 115, 97, 114, 50, 36, 99, 116, 54, 550, 98, - 540, 541, 114, 36, 115, 576, 576, 39, 576, 576, - 56, 68, 103, 100, 576, 3, 886, 117, 115, 115, - 8, 9, 10, 60, 576, 13, 14, 15, 16, 3, - 115, 548, 103, 114, 114, 23, 63, 101, 115, 3, - 103, 103, 40, 97, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 24, 25, 26, 27, 102, 99, 114, 102, 115, 97, - 115, 114, 76, 103, 115, 115, 76, 693, 312, 312, - 49, 760, 17, 16, 430, 659, 507, 847, 396, 398, - 397, 50, 696, 616, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 771, 619, 576, 386, 450, 96, 361, - 504, 716, 850, 852, 755, 878, 716, 720, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 854, 530, 681, - 78, 442, 671, 97, 859, 583, 3, 4, 102, 755, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, -1, -1, 385, 391, 23, -1, -1, 26, - 27, -1, 368, -1, 716, 679, 679, 679, -1, 679, - -1, 679, -1, -1, -1, -1, -1, 717, -1, -1, - 717, -1, 734, -1, -1, -1, -1, -1, -1, -1, - -1, 743, -1, -1, -1, -1, -1, -1, 803, -1, - -1, -1, -1, 803, 756, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, - -1, 771, 99, -1, 771, 851, -1, -1, -1, 844, - -1, -1, -1, -1, 844, -1, 760, 760, 760, -1, - 760, 803, 760, -1, -1, -1, -1, -1, -1, 811, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 844, -1, -1, -1, -1, -1, 869, 869, - -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, - -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, + 20, 43, 43, 83, 355, 256, 26, 83, 2, 2, + 2, 43, 2, 2, 2, 416, 112, 83, 83, 497, + 83, 83, 118, 83, 551, 369, 357, 358, 359, 360, + 293, 369, 664, 242, 369, 86, 86, 233, 86, 86, + 3, 3, 680, 1, 86, 36, 3, 413, 3, 379, + 3, 83, 84, 3, 86, 49, 49, 49, 3, 49, + 3, 49, 712, 429, 3, 85, 1, 87, 88, 89, + 90, 29, 30, 551, 680, 95, 19, 6, 771, 99, + 0, 332, 102, 74, 428, 105, 96, 78, 6, 96, + 783, 97, 100, 743, 29, 30, 102, 76, 8, 76, + 430, 11, 97, 94, 102, 96, 116, 102, 801, 116, + 511, 90, 308, 90, 97, 808, 50, 97, 381, 102, + 54, 50, 102, 761, 3, 54, 492, 90, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 31, 32, 96, + 90, 99, 508, 96, 22, 90, 100, 90, 93, 94, + 101, 90, 103, 185, 101, 761, 103, 242, 110, 111, + 112, 97, 242, 414, 8, 9, 242, 61, 96, 114, + 97, 422, 66, 97, 31, 32, 242, 242, 387, 242, + 242, 97, 242, 549, 36, 37, 38, 531, 91, 92, + 717, 108, 109, 456, 98, 74, 75, 76, 77, 78, + 79, 80, 81, 3, 61, 404, 405, 406, 97, 66, + 242, 90, 69, 70, 93, 94, 97, 96, 329, 330, + 331, 98, 854, 98, 31, 32, 422, 29, 30, 108, + 109, 97, 576, 97, 113, 114, 15, 16, 576, 717, + 49, 576, 98, 31, 32, 52, 53, 97, 880, 16, + 17, 400, 401, 98, 61, 62, 402, 403, 354, 66, + 892, 90, 69, 70, 52, 53, 362, 100, 100, 97, + 97, 96, 98, 61, 62, 97, 97, 804, 66, 299, + 97, 69, 70, 97, 97, 3, 98, 97, 8, 4, + 98, 6, 99, 97, 97, 3, 97, 102, 97, 48, + 98, 3, 387, 100, 100, 20, 21, 387, 23, 24, + 25, 387, 101, 28, 100, 347, 98, 98, 845, 415, + 114, 387, 387, 355, 387, 387, 804, 387, 672, 98, + 98, 427, 102, 584, 672, 50, 387, 672, 98, 54, + 101, 103, 105, 744, 99, 101, 103, 106, 380, 107, + 114, 103, 448, 68, 450, 387, 59, 99, 554, 104, + 103, 115, 97, 97, 615, 3, 562, 845, 99, 98, + 103, 99, 99, 424, 424, 101, 424, 424, 101, 101, + 101, 32, 424, 424, 416, 101, 103, 483, 408, 720, + 104, 115, 424, 387, 388, 388, 388, 97, 388, 388, + 388, 99, 434, 99, 436, 437, 99, 99, 97, 660, + 97, 443, 497, 97, 99, 30, 99, 497, 99, 97, + 97, 617, 97, 455, 413, 97, 97, 678, 97, 97, + 526, 97, 3, 97, 97, 631, 632, 633, 103, 428, + 8, 97, 97, 97, 464, 97, 99, 97, 97, 97, + 97, 527, 97, 99, 505, 505, 99, 505, 505, 103, + 99, 527, 527, 505, 505, 497, 551, 527, 4, 67, + 6, 551, 99, 505, 97, 571, 527, 97, 3, 511, + 97, 97, 3, 115, 20, 21, 114, 23, 24, 25, + 116, 97, 28, 97, 97, 527, 528, 529, 530, 36, + 99, 114, 98, 115, 36, 856, 857, 56, 39, 103, + 117, 100, 60, 115, 50, 115, 3, 103, 54, 551, + 115, 541, 542, 114, 114, 63, 577, 577, 101, 577, + 577, 115, 68, 103, 103, 577, 887, 40, 97, 102, + 114, 99, 102, 115, 97, 577, 76, 76, 115, 74, + 75, 76, 77, 78, 79, 80, 81, 114, 103, 115, + 549, 115, 313, 313, 49, 90, 761, 17, 93, 94, + 16, 431, 660, 397, 50, 508, 399, 697, 398, 617, + 577, 620, 772, 108, 109, 362, 451, 576, 113, 114, + 505, 851, 387, 756, 853, 3, 721, 848, 694, 855, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 886, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + 18, 19, 20, 21, 879, 23, 24, 25, 26, 27, + 386, 78, 531, 860, 443, 369, 672, 392, 584, -1, + -1, -1, 717, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 682, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, - 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, - -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, 1, -1, 3, 4, -1, 99, + 88, 89, 90, -1, -1, 717, 680, 680, 680, 97, + 680, -1, 680, -1, 102, -1, -1, -1, 718, -1, + -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, + -1, -1, 744, -1, -1, -1, -1, -1, -1, 804, + -1, -1, 3, 4, 804, 757, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, + -1, -1, 23, -1, -1, 26, 27, -1, -1, -1, + -1, -1, 772, -1, -1, 772, 852, -1, -1, -1, + 845, -1, -1, -1, -1, 845, -1, 761, 761, 761, + -1, 761, 804, 761, -1, -1, -1, -1, -1, -1, + 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 811, -1, -1, 811, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + -1, -1, -1, 845, -1, -1, -1, -1, 99, 870, + 870, -1, 870, 870, 856, 857, -1, -1, 870, 870, + -1, -1, -1, -1, 1, -1, 3, 4, 870, 859, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, + 17, 18, 19, 20, 21, 887, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, @@ -1957,100 +1927,128 @@ static const yytype_int16 yycheck[] = 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, + -1, 64, 65, 8, 9, 10, -1, -1, 13, 14, + 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, + -1, -1, 41, -1, -1, -1, 45, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 55, -1, -1, -1, + -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, - 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, 0, 1, 64, 65, 4, 5, 6, - 7, -1, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, - -1, 28, -1, -1, -1, -1, 95, -1, -1, -1, - 99, -1, -1, -1, 41, 42, 43, 44, -1, -1, - -1, -1, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, - -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 89, 90, -1, -1, -1, 1, -1, 3, 4, -1, + 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, - 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, - -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, - -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, - 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, - 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, - -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, - 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, - -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, - -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, 3, -1, - 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, -1, 24, - 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, -1, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, - -1, 96, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, 1, -1, 3, -1, -1, 41, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, - -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, + -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, 0, 1, 64, 65, 4, 5, + 6, 7, -1, 71, 72, 73, -1, -1, -1, -1, + -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, + -1, -1, 28, -1, -1, -1, -1, 95, -1, -1, + -1, 99, -1, -1, -1, 41, 42, 43, 44, -1, + -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, + 1, -1, 3, -1, -1, 71, 72, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, -1, 95, + 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 41, 42, 43, 44, -1, 96, -1, -1, -1, 50, + 51, -1, -1, 54, -1, -1, 57, -1, -1, -1, + -1, -1, 1, 64, 65, 4, 5, 6, 7, -1, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 20, 21, -1, 23, -1, -1, 1, -1, 28, + 4, 5, 6, 7, 95, 96, -1, -1, -1, -1, + -1, -1, 41, 42, 43, 44, 20, 21, -1, 23, + -1, 50, 51, -1, 28, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, 41, 42, 43, + 44, -1, 71, 72, 73, -1, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, - -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, + 19, 20, 21, -1, 23, 24, 25, 26, 27, 3, + -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, + 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, + 89, 90, -1, -1, -1, -1, -1, 96, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, 96, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90 + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, + -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, + -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, + -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2081,73 +2079,73 @@ static const yytype_int16 yystos[] = 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, - 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, - 54, 68, 489, 490, 492, 241, 506, 97, 49, 185, - 98, 97, 98, 8, 11, 8, 9, 100, 336, 330, - 182, 101, 103, 101, 103, 100, 100, 97, 97, 208, - 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, - 458, 97, 483, 476, 485, 97, 97, 514, 216, 252, - 319, 367, 98, 102, 427, 450, 211, 210, 498, 3, - 242, 233, 143, 219, 100, 3, 148, 491, 74, 75, - 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, - 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 508, 101, 170, 164, 175, 8, - 221, 231, 100, 100, 48, 186, 327, 333, 340, 344, - 243, 282, 114, 422, 459, 186, 98, 98, 516, 212, - 212, 259, 262, 266, 267, 347, 98, 98, 179, 428, - 426, 102, 455, 211, 98, 512, 234, 120, 121, 3, - 101, 103, 229, 229, 229, 221, 105, 106, 107, 91, - 92, 108, 109, 110, 111, 112, 507, 160, 205, 208, - 194, 195, 189, 103, 337, 241, 205, 231, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 429, 461, 477, - 486, 31, 32, 61, 66, 69, 70, 354, 355, 360, - 438, 440, 441, 505, 515, 517, 217, 348, 260, 320, - 368, 194, 208, 186, 456, 451, 499, 427, 7, 99, - 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 492, 115, 223, 224, 225, 226, 226, 227, 227, 228, - 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 354, 365, 370, 375, 416, 417, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 377, 221, - 241, 254, 328, 334, 341, 345, 211, 221, 245, 246, - 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 354, 423, 430, 438, 440, 443, 444, 445, 505, - 45, 55, 196, 460, 462, 465, 468, 194, 189, 356, - 361, 19, 208, 439, 59, 442, 208, 208, 520, 518, - 519, 439, 521, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 501, 502, 236, 97, 212, 97, - 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 339, 343, 376, 399, - 198, 199, 378, 99, 287, 190, 191, 101, 254, 331, - 101, 101, 101, 101, 104, 115, 103, 247, 290, 288, - 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 430, 436, 99, 431, 432, 433, 434, - 435, 437, 212, 212, 99, 463, 464, 478, 487, 32, - 399, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 349, 351, 261, 3, 321, 323, 369, 99, 452, - 500, 240, 354, 438, 440, 503, 251, 30, 239, 150, - 508, 207, 97, 97, 97, 97, 97, 97, 371, 97, - 97, 3, 97, 103, 221, 211, 248, 97, 259, 296, - 211, 211, 211, 97, 97, 97, 97, 97, 97, 97, - 466, 469, 97, 97, 99, 99, 357, 362, 220, 352, - 350, 262, 99, 103, 99, 67, 99, 503, 504, 97, - 97, 97, 221, 97, 73, 123, 139, 152, 154, 155, - 208, 3, 379, 241, 247, 289, 115, 114, 381, 381, - 399, 263, 266, 231, 351, 324, 453, 97, 208, 151, - 153, 97, 372, 381, 254, 97, 297, 382, 383, 467, - 470, 358, 363, 264, 353, 325, 208, 156, 99, 154, - 114, 390, 380, 98, 115, 36, 384, 387, 39, 401, - 401, 263, 56, 404, 103, 117, 454, 100, 391, 392, - 373, 401, 298, 388, 115, 385, 402, 359, 405, 364, - 265, 60, 457, 3, 493, 495, 115, 36, 37, 38, - 393, 396, 400, 401, 1, 29, 30, 301, 303, 307, - 309, 399, 103, 114, 401, 114, 63, 407, 266, 208, - 101, 494, 115, 394, 397, 374, 306, 311, 310, 299, - 302, 304, 308, 389, 386, 403, 406, 408, 157, 103, - 103, 399, 40, 410, 97, 221, 102, 99, 303, 241, - 309, 262, 387, 205, 205, 114, 212, 495, 395, 398, - 411, 312, 253, 313, 115, 115, 409, 396, 262, 114, - 102, 314, 305, 205, 412, 262, 97, 115, 76, 413, - 414, 115, 103, 415, 76 + 98, 97, 4, 6, 20, 21, 23, 24, 25, 28, + 50, 54, 68, 489, 490, 492, 241, 506, 97, 49, + 185, 98, 97, 98, 8, 11, 8, 9, 100, 336, + 330, 182, 101, 103, 101, 103, 100, 100, 97, 97, + 208, 97, 98, 294, 97, 97, 97, 97, 98, 97, + 98, 458, 97, 483, 476, 485, 97, 97, 514, 216, + 252, 319, 367, 98, 102, 427, 450, 211, 210, 498, + 3, 242, 233, 143, 219, 100, 3, 148, 491, 74, + 75, 76, 77, 78, 79, 80, 81, 93, 94, 108, + 109, 113, 114, 208, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 508, 101, 170, 164, 175, + 8, 221, 231, 100, 100, 48, 186, 327, 333, 340, + 344, 243, 282, 114, 422, 459, 186, 98, 98, 516, + 212, 212, 259, 262, 266, 267, 347, 98, 98, 179, + 428, 426, 102, 455, 211, 98, 512, 234, 120, 121, + 3, 101, 103, 229, 229, 229, 221, 105, 106, 107, + 91, 92, 108, 109, 110, 111, 112, 507, 160, 205, + 208, 194, 195, 189, 103, 337, 241, 205, 231, 231, + 231, 231, 114, 244, 241, 284, 286, 295, 429, 461, + 477, 486, 31, 32, 61, 66, 69, 70, 354, 355, + 360, 438, 440, 441, 505, 515, 517, 217, 348, 260, + 320, 368, 194, 208, 186, 456, 451, 499, 427, 7, + 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, + 149, 492, 115, 223, 224, 225, 226, 226, 227, 227, + 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, + 196, 214, 240, 249, 354, 365, 370, 375, 416, 417, + 45, 46, 47, 176, 190, 192, 193, 196, 240, 377, + 221, 241, 254, 328, 334, 341, 345, 211, 221, 245, + 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, + 62, 240, 354, 423, 430, 438, 440, 443, 444, 445, + 505, 45, 55, 196, 460, 462, 465, 468, 194, 189, + 356, 361, 19, 208, 439, 59, 442, 208, 208, 520, + 518, 519, 439, 521, 99, 104, 241, 103, 241, 322, + 325, 285, 180, 208, 186, 501, 502, 236, 97, 212, + 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, + 197, 202, 201, 203, 35, 208, 255, 339, 343, 376, + 399, 198, 199, 378, 99, 287, 190, 191, 101, 254, + 331, 101, 101, 101, 101, 104, 115, 103, 247, 290, + 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, + 317, 208, 208, 208, 430, 436, 99, 431, 432, 433, + 434, 435, 437, 212, 212, 99, 463, 464, 478, 487, + 32, 399, 211, 3, 3, 97, 97, 97, 211, 97, + 218, 116, 349, 351, 261, 3, 321, 323, 369, 99, + 452, 500, 240, 354, 438, 440, 503, 251, 30, 239, + 150, 508, 207, 97, 97, 97, 97, 97, 97, 371, + 97, 97, 3, 97, 103, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 466, 469, 97, 97, 99, 99, 357, 362, 220, + 352, 350, 262, 99, 103, 99, 67, 99, 503, 504, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 379, 241, 247, 289, 115, 114, 381, + 381, 399, 263, 266, 231, 351, 324, 453, 97, 208, + 151, 153, 97, 372, 381, 254, 97, 297, 382, 383, + 467, 470, 358, 363, 264, 353, 325, 208, 156, 99, + 154, 114, 390, 380, 98, 115, 36, 384, 387, 39, + 401, 401, 263, 56, 404, 103, 117, 454, 100, 391, + 392, 373, 401, 298, 388, 115, 385, 402, 359, 405, + 364, 265, 60, 457, 3, 493, 495, 115, 36, 37, + 38, 393, 396, 400, 401, 1, 29, 30, 301, 303, + 307, 309, 399, 103, 114, 401, 114, 63, 407, 266, + 208, 101, 494, 115, 394, 397, 374, 306, 311, 310, + 299, 302, 304, 308, 389, 386, 403, 406, 408, 157, + 103, 103, 399, 40, 410, 97, 221, 102, 99, 303, + 241, 309, 262, 387, 205, 205, 114, 212, 495, 395, + 398, 411, 312, 253, 313, 115, 115, 409, 396, 262, + 114, 102, 314, 305, 205, 412, 262, 97, 115, 76, + 413, 414, 115, 103, 415, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2210,11 +2208,11 @@ static const yytype_int16 yyr1[] = 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 489, 490, 491, 491, 492, 492, 493, 494, 494, 495, - 497, 498, 499, 500, 496, 501, 501, 502, 502, 503, - 503, 504, 503, 505, 505, 506, 507, 507, 508, 509, - 511, 512, 510, 514, 515, 513, 516, 516, 518, 517, - 519, 517, 520, 517, 521, 517 + 489, 489, 490, 491, 491, 492, 492, 493, 494, 494, + 495, 497, 498, 499, 500, 496, 501, 501, 502, 502, + 503, 503, 504, 503, 505, 505, 506, 507, 507, 508, + 509, 511, 512, 510, 514, 515, 513, 516, 516, 518, + 517, 519, 517, 520, 517, 521, 517 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2277,11 +2275,11 @@ static const yytype_int8 yyr2[] = 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, 1, - 2, 2, 3, 0, 2, 5, 2, 3, 0, 1, - 0, 0, 0, 0, 9, 3, 2, 1, 0, 2, - 2, 0, 3, 3, 3, 3, 4, 0, 1, 2, - 0, 0, 6, 0, 0, 5, 2, 0, 0, 3, - 0, 3, 0, 3, 0, 3 + 1, 2, 2, 3, 0, 2, 5, 2, 3, 0, + 1, 0, 0, 0, 0, 9, 3, 2, 1, 0, + 2, 2, 0, 3, 3, 3, 3, 4, 0, 1, + 2, 0, 0, 6, 0, 0, 5, 2, 0, 0, + 3, 0, 3, 0, 3, 0, 3 }; @@ -2745,7 +2743,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 434 "fe/idl.ypp" +#line 432 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2760,269 +2758,269 @@ yyparse (void) } delete annotations; } -#line 2764 "fe/idl.tab.cpp" +#line 2762 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 459 "fe/idl.ypp" +#line 457 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2772 "fe/idl.tab.cpp" +#line 2770 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 463 "fe/idl.ypp" +#line 461 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2780 "fe/idl.tab.cpp" +#line 2778 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 467 "fe/idl.ypp" +#line 465 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2788 "fe/idl.tab.cpp" +#line 2786 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 471 "fe/idl.ypp" +#line 469 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2796 "fe/idl.tab.cpp" +#line 2794 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 475 "fe/idl.ypp" +#line 473 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2804 "fe/idl.tab.cpp" +#line 2802 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 479 "fe/idl.ypp" +#line 477 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2812 "fe/idl.tab.cpp" +#line 2810 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 483 "fe/idl.ypp" +#line 481 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2820 "fe/idl.tab.cpp" +#line 2818 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 487 "fe/idl.ypp" +#line 485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2828 "fe/idl.tab.cpp" +#line 2826 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 491 "fe/idl.ypp" +#line 489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2836 "fe/idl.tab.cpp" +#line 2834 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 495 "fe/idl.ypp" +#line 493 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2844 "fe/idl.tab.cpp" +#line 2842 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 499 "fe/idl.ypp" +#line 497 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2852 "fe/idl.tab.cpp" +#line 2850 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 503 "fe/idl.ypp" +#line 501 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2860 "fe/idl.tab.cpp" +#line 2858 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 507 "fe/idl.ypp" +#line 505 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2868 "fe/idl.tab.cpp" +#line 2866 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 511 "fe/idl.ypp" +#line 509 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2876 "fe/idl.tab.cpp" +#line 2874 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 515 "fe/idl.ypp" +#line 513 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2884 "fe/idl.tab.cpp" +#line 2882 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 519 "fe/idl.ypp" +#line 517 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2892 "fe/idl.tab.cpp" +#line 2890 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 523 "fe/idl.ypp" +#line 521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2900 "fe/idl.tab.cpp" +#line 2898 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 527 "fe/idl.ypp" +#line 525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2908 "fe/idl.tab.cpp" +#line 2906 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 531 "fe/idl.ypp" +#line 529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2916 "fe/idl.tab.cpp" +#line 2914 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 535 "fe/idl.ypp" +#line 533 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2924 "fe/idl.tab.cpp" +#line 2922 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 539 "fe/idl.ypp" +#line 537 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2932 "fe/idl.tab.cpp" +#line 2930 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 543 "fe/idl.ypp" +#line 541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2940 "fe/idl.tab.cpp" +#line 2938 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 547 "fe/idl.ypp" +#line 545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2948 "fe/idl.tab.cpp" +#line 2946 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 551 "fe/idl.ypp" +#line 549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2956 "fe/idl.tab.cpp" +#line 2954 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 555 "fe/idl.ypp" +#line 553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2964 "fe/idl.tab.cpp" +#line 2962 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 559 "fe/idl.ypp" +#line 557 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2972 "fe/idl.tab.cpp" +#line 2970 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 563 "fe/idl.ypp" +#line 561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2980 "fe/idl.tab.cpp" +#line 2978 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 567 "fe/idl.ypp" +#line 565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2988 "fe/idl.tab.cpp" +#line 2986 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 571 "fe/idl.ypp" +#line 569 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2996 "fe/idl.tab.cpp" +#line 2994 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 575 "fe/idl.ypp" +#line 573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 3006 "fe/idl.tab.cpp" +#line 3004 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 584 "fe/idl.ypp" +#line 582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3014 "fe/idl.tab.cpp" +#line 3012 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 588 "fe/idl.ypp" +#line 586 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3022 "fe/idl.tab.cpp" +#line 3020 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 595 "fe/idl.ypp" +#line 593 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3061,27 +3059,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3065 "fe/idl.tab.cpp" +#line 3063 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 634 "fe/idl.ypp" +#line 632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3073 "fe/idl.tab.cpp" +#line 3071 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 638 "fe/idl.ypp" +#line 636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3081 "fe/idl.tab.cpp" +#line 3079 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 642 "fe/idl.ypp" +#line 640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3091,19 +3089,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3095 "fe/idl.tab.cpp" +#line 3093 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 655 "fe/idl.ypp" +#line 653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3103 "fe/idl.tab.cpp" +#line 3101 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 662 "fe/idl.ypp" +#line 660 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3117,11 +3115,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3121 "fe/idl.tab.cpp" +#line 3119 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 676 "fe/idl.ypp" +#line 674 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3131,11 +3129,11 @@ yyparse (void) return 1; } } -#line 3135 "fe/idl.tab.cpp" +#line 3133 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 686 "fe/idl.ypp" +#line 684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3165,27 +3163,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3169 "fe/idl.tab.cpp" +#line 3167 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 716 "fe/idl.ypp" +#line 714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3177 "fe/idl.tab.cpp" +#line 3175 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 720 "fe/idl.ypp" +#line 718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3185 "fe/idl.tab.cpp" +#line 3183 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 724 "fe/idl.ypp" +#line 722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3204,29 +3202,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3208 "fe/idl.tab.cpp" +#line 3206 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 760 "fe/idl.ypp" +#line 758 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3217 "fe/idl.tab.cpp" +#line 3215 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 765 "fe/idl.ypp" +#line 763 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3226 "fe/idl.tab.cpp" +#line 3224 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 770 "fe/idl.ypp" +#line 768 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3304,29 +3302,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3308 "fe/idl.tab.cpp" +#line 3306 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 851 "fe/idl.ypp" +#line 849 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3317 "fe/idl.tab.cpp" +#line 3315 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 856 "fe/idl.ypp" +#line 854 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3326 "fe/idl.tab.cpp" +#line 3324 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 861 "fe/idl.ypp" +#line 859 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3390,11 +3388,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3394 "fe/idl.tab.cpp" +#line 3392 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 933 "fe/idl.ypp" +#line 931 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3432,27 +3430,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3436 "fe/idl.tab.cpp" +#line 3434 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 971 "fe/idl.ypp" +#line 969 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3444 "fe/idl.tab.cpp" +#line 3442 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 975 "fe/idl.ypp" +#line 973 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3452 "fe/idl.tab.cpp" +#line 3450 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 979 "fe/idl.ypp" +#line 977 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3462,28 +3460,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3466 "fe/idl.tab.cpp" +#line 3464 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 992 "fe/idl.ypp" +#line 990 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3474 "fe/idl.tab.cpp" +#line 3472 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 996 "fe/idl.ypp" +#line 994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3483 "fe/idl.tab.cpp" +#line 3481 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 1004 "fe/idl.ypp" +#line 1002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3519,11 +3517,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3523 "fe/idl.tab.cpp" +#line 3521 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1041 "fe/idl.ypp" +#line 1039 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3552,11 +3550,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3556 "fe/idl.tab.cpp" +#line 3554 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1071 "fe/idl.ypp" +#line 1069 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3585,45 +3583,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3589 "fe/idl.tab.cpp" +#line 3587 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1103 "fe/idl.ypp" +#line 1101 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3597 "fe/idl.tab.cpp" +#line 3595 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1107 "fe/idl.ypp" +#line 1105 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3606 "fe/idl.tab.cpp" +#line 3604 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1112 "fe/idl.ypp" +#line 1110 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3614 "fe/idl.tab.cpp" +#line 3612 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1126 "fe/idl.ypp" +#line 1124 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3623 "fe/idl.tab.cpp" +#line 3621 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1135 "fe/idl.ypp" +#line 1133 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3670,27 +3668,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3674 "fe/idl.tab.cpp" +#line 3672 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1182 "fe/idl.ypp" +#line 1180 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3682 "fe/idl.tab.cpp" +#line 3680 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1186 "fe/idl.ypp" +#line 1184 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3690 "fe/idl.tab.cpp" +#line 3688 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1190 "fe/idl.ypp" +#line 1188 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3711,11 +3709,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3715 "fe/idl.tab.cpp" +#line 3713 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1215 "fe/idl.ypp" +#line 1213 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3758,27 +3756,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3762 "fe/idl.tab.cpp" +#line 3760 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1258 "fe/idl.ypp" +#line 1256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3770 "fe/idl.tab.cpp" +#line 3768 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1262 "fe/idl.ypp" +#line 1260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3778 "fe/idl.tab.cpp" +#line 3776 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1266 "fe/idl.ypp" +#line 1264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3789,19 +3787,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3793 "fe/idl.tab.cpp" +#line 3791 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1281 "fe/idl.ypp" +#line 1279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3801 "fe/idl.tab.cpp" +#line 3799 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1285 "fe/idl.ypp" +#line 1283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3832,60 +3830,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3836 "fe/idl.tab.cpp" +#line 3834 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1319 "fe/idl.ypp" +#line 1317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3844 "fe/idl.tab.cpp" +#line 3842 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1323 "fe/idl.ypp" +#line 1321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3853 "fe/idl.tab.cpp" +#line 3851 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1331 "fe/idl.ypp" +#line 1329 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3861 "fe/idl.tab.cpp" +#line 3859 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1335 "fe/idl.ypp" +#line 1333 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3869 "fe/idl.tab.cpp" +#line 3867 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1343 "fe/idl.ypp" +#line 1341 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3877 "fe/idl.tab.cpp" +#line 3875 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1347 "fe/idl.ypp" +#line 1345 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3885 "fe/idl.tab.cpp" +#line 3883 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1355 "fe/idl.ypp" +#line 1353 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3908,11 +3906,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3912 "fe/idl.tab.cpp" +#line 3910 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1379 "fe/idl.ypp" +#line 1377 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3937,11 +3935,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3941 "fe/idl.tab.cpp" +#line 3939 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1407 "fe/idl.ypp" +#line 1405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -4004,11 +4002,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4008 "fe/idl.tab.cpp" +#line 4006 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1473 "fe/idl.ypp" +#line 1471 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4027,19 +4025,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4031 "fe/idl.tab.cpp" +#line 4029 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1492 "fe/idl.ypp" +#line 1490 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4039 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1501 "fe/idl.ypp" +#line 1499 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4050,11 +4048,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4054 "fe/idl.tab.cpp" +#line 4052 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1512 "fe/idl.ypp" +#line 1510 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4065,35 +4063,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4069 "fe/idl.tab.cpp" +#line 4067 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1523 "fe/idl.ypp" +#line 1521 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4077 "fe/idl.tab.cpp" +#line 4075 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1530 "fe/idl.ypp" +#line 1528 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4085 "fe/idl.tab.cpp" +#line 4083 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1534 "fe/idl.ypp" +#line 1532 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4093 "fe/idl.tab.cpp" +#line 4091 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1541 "fe/idl.ypp" +#line 1539 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4111,11 +4109,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4115 "fe/idl.tab.cpp" +#line 4113 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1567 "fe/idl.ypp" +#line 1565 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4130,160 +4128,160 @@ yyparse (void) } delete annotations; } -#line 4134 "fe/idl.tab.cpp" +#line 4132 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1586 "fe/idl.ypp" +#line 1584 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4142 "fe/idl.tab.cpp" +#line 4140 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1590 "fe/idl.ypp" +#line 1588 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4150 "fe/idl.tab.cpp" +#line 4148 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1594 "fe/idl.ypp" +#line 1592 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4158 "fe/idl.tab.cpp" +#line 4156 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1598 "fe/idl.ypp" +#line 1596 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4166 "fe/idl.tab.cpp" +#line 4164 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1602 "fe/idl.ypp" +#line 1600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4174 "fe/idl.tab.cpp" +#line 4172 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1606 "fe/idl.ypp" +#line 1604 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4182 "fe/idl.tab.cpp" +#line 4180 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1610 "fe/idl.ypp" +#line 1608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4190 "fe/idl.tab.cpp" +#line 4188 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1614 "fe/idl.ypp" +#line 1612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4198 "fe/idl.tab.cpp" +#line 4196 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1618 "fe/idl.ypp" +#line 1616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4206 "fe/idl.tab.cpp" +#line 4204 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1622 "fe/idl.ypp" +#line 1620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4214 "fe/idl.tab.cpp" +#line 4212 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1626 "fe/idl.ypp" +#line 1624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4222 "fe/idl.tab.cpp" +#line 4220 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1630 "fe/idl.ypp" +#line 1628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4230 "fe/idl.tab.cpp" +#line 4228 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1634 "fe/idl.ypp" +#line 1632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4238 "fe/idl.tab.cpp" +#line 4236 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1638 "fe/idl.ypp" +#line 1636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4246 "fe/idl.tab.cpp" +#line 4244 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1642 "fe/idl.ypp" +#line 1640 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4254 "fe/idl.tab.cpp" +#line 4252 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1646 "fe/idl.ypp" +#line 1644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4264 "fe/idl.tab.cpp" +#line 4262 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1655 "fe/idl.ypp" +#line 1653 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4275 "fe/idl.tab.cpp" +#line 4273 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1666 "fe/idl.ypp" +#line 1664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4283 "fe/idl.tab.cpp" +#line 4281 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1670 "fe/idl.ypp" +#line 1668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4303,19 +4301,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4307 "fe/idl.tab.cpp" +#line 4305 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1690 "fe/idl.ypp" +#line 1688 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4315 "fe/idl.tab.cpp" +#line 4313 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1697 "fe/idl.ypp" +#line 1695 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4324,19 +4322,19 @@ yyparse (void) 0), 1); } -#line 4328 "fe/idl.tab.cpp" +#line 4326 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1706 "fe/idl.ypp" +#line 1704 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4336 "fe/idl.tab.cpp" +#line 4334 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1710 "fe/idl.ypp" +#line 1708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4356,11 +4354,11 @@ yyparse (void) sn), 1); } -#line 4360 "fe/idl.tab.cpp" +#line 4358 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1731 "fe/idl.ypp" +#line 1729 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4370,11 +4368,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4374 "fe/idl.tab.cpp" +#line 4372 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1741 "fe/idl.ypp" +#line 1739 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4386,11 +4384,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4390 "fe/idl.tab.cpp" +#line 4388 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1755 "fe/idl.ypp" +#line 1753 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4398,11 +4396,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4402 "fe/idl.tab.cpp" +#line 4400 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1765 "fe/idl.ypp" +#line 1763 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4410,11 +4408,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4414 "fe/idl.tab.cpp" +#line 4412 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1776 "fe/idl.ypp" +#line 1774 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4457,11 +4455,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4461 "fe/idl.tab.cpp" +#line 4459 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1820 "fe/idl.ypp" +#line 1818 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4487,11 +4485,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4491 "fe/idl.tab.cpp" +#line 4489 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1847 "fe/idl.ypp" +#line 1845 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4519,43 +4517,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4523 "fe/idl.tab.cpp" +#line 4521 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1878 "fe/idl.ypp" +#line 1876 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4531 "fe/idl.tab.cpp" +#line 4529 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1882 "fe/idl.ypp" +#line 1880 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4539 "fe/idl.tab.cpp" +#line 4537 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1886 "fe/idl.ypp" +#line 1884 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4547 "fe/idl.tab.cpp" +#line 4545 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1890 "fe/idl.ypp" +#line 1888 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4555 "fe/idl.tab.cpp" +#line 4553 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1894 "fe/idl.ypp" +#line 1892 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4611,27 +4609,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4615 "fe/idl.tab.cpp" +#line 4613 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1959 "fe/idl.ypp" +#line 1957 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4623 "fe/idl.tab.cpp" +#line 4621 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1963 "fe/idl.ypp" +#line 1961 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4631 "fe/idl.tab.cpp" +#line 4629 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1967 "fe/idl.ypp" +#line 1965 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4697,11 +4695,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4701 "fe/idl.tab.cpp" +#line 4699 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2040 "fe/idl.ypp" +#line 2038 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4710,11 +4708,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4714 "fe/idl.tab.cpp" +#line 4712 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2053 "fe/idl.ypp" +#line 2051 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4723,11 +4721,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4727 "fe/idl.tab.cpp" +#line 4725 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2066 "fe/idl.ypp" +#line 2064 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4736,11 +4734,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4740 "fe/idl.tab.cpp" +#line 4738 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2079 "fe/idl.ypp" +#line 2077 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4749,11 +4747,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4753 "fe/idl.tab.cpp" +#line 4751 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2088 "fe/idl.ypp" +#line 2086 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4762,11 +4760,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4766 "fe/idl.tab.cpp" +#line 4764 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2101 "fe/idl.ypp" +#line 2099 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4775,11 +4773,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4779 "fe/idl.tab.cpp" +#line 4777 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2110 "fe/idl.ypp" +#line 2108 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4788,11 +4786,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4792 "fe/idl.tab.cpp" +#line 4790 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2123 "fe/idl.ypp" +#line 2121 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4801,11 +4799,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4805 "fe/idl.tab.cpp" +#line 4803 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2132 "fe/idl.ypp" +#line 2130 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4814,11 +4812,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4818 "fe/idl.tab.cpp" +#line 4816 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2141 "fe/idl.ypp" +#line 2139 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4827,11 +4825,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4831 "fe/idl.tab.cpp" +#line 4829 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2154 "fe/idl.ypp" +#line 2152 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4840,11 +4838,11 @@ yyparse (void) 0 ); } -#line 4844 "fe/idl.tab.cpp" +#line 4842 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2163 "fe/idl.ypp" +#line 2161 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4853,11 +4851,11 @@ yyparse (void) 0 ); } -#line 4857 "fe/idl.tab.cpp" +#line 4855 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2172 "fe/idl.ypp" +#line 2170 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4866,11 +4864,11 @@ yyparse (void) 0 ); } -#line 4870 "fe/idl.tab.cpp" +#line 4868 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2184 "fe/idl.ypp" +#line 2182 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4927,107 +4925,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4931 "fe/idl.tab.cpp" +#line 4929 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2242 "fe/idl.ypp" +#line 2240 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4939 "fe/idl.tab.cpp" +#line 4937 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2249 "fe/idl.ypp" +#line 2247 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4947 "fe/idl.tab.cpp" +#line 4945 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2253 "fe/idl.ypp" +#line 2251 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4956 "fe/idl.tab.cpp" +#line 4954 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2258 "fe/idl.ypp" +#line 2256 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4967 "fe/idl.tab.cpp" +#line 4965 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2265 "fe/idl.ypp" +#line 2263 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4978 "fe/idl.tab.cpp" +#line 4976 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2272 "fe/idl.ypp" +#line 2270 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4986 "fe/idl.tab.cpp" +#line 4984 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2276 "fe/idl.ypp" +#line 2274 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4995 "fe/idl.tab.cpp" +#line 4993 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2281 "fe/idl.ypp" +#line 2279 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5003 "fe/idl.tab.cpp" +#line 5001 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2285 "fe/idl.ypp" +#line 2283 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5011 "fe/idl.tab.cpp" +#line 5009 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2289 "fe/idl.ypp" +#line 2287 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5019 "fe/idl.tab.cpp" +#line 5017 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2293 "fe/idl.ypp" +#line 2291 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5027 "fe/idl.tab.cpp" +#line 5025 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2300 "fe/idl.ypp" +#line 2298 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5092,11 +5090,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5096 "fe/idl.tab.cpp" +#line 5094 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2368 "fe/idl.ypp" +#line 2366 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5113,11 +5111,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5117 "fe/idl.tab.cpp" +#line 5115 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2385 "fe/idl.ypp" +#line 2383 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5126,20 +5124,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5130 "fe/idl.tab.cpp" +#line 5128 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2405 "fe/idl.ypp" +#line 2403 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5139 "fe/idl.tab.cpp" +#line 5137 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2419 "fe/idl.ypp" +#line 2417 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5192,27 +5190,27 @@ yyparse (void) delete result; } } -#line 5196 "fe/idl.tab.cpp" +#line 5194 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2475 "fe/idl.ypp" +#line 2473 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5204 "fe/idl.tab.cpp" +#line 5202 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2479 "fe/idl.ypp" +#line 2477 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5212 "fe/idl.tab.cpp" +#line 5210 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2486 "fe/idl.ypp" +#line 2484 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5222,11 +5220,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5226 "fe/idl.tab.cpp" +#line 5224 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2499 "fe/idl.ypp" +#line 2497 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5236,19 +5234,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5240 "fe/idl.tab.cpp" +#line 5238 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2509 "fe/idl.ypp" +#line 2507 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5248 "fe/idl.tab.cpp" +#line 5246 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2516 "fe/idl.ypp" +#line 2514 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5305,11 +5303,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5309 "fe/idl.tab.cpp" +#line 5307 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2573 "fe/idl.ypp" +#line 2571 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5337,27 +5335,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5341 "fe/idl.tab.cpp" +#line 5339 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2604 "fe/idl.ypp" +#line 2602 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5349 "fe/idl.tab.cpp" +#line 5347 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2608 "fe/idl.ypp" +#line 2606 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5357 "fe/idl.tab.cpp" +#line 5355 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2615 "fe/idl.ypp" +#line 2613 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5366,47 +5364,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5370 "fe/idl.tab.cpp" +#line 5368 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2624 "fe/idl.ypp" +#line 2622 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5378 "fe/idl.tab.cpp" +#line 5376 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2631 "fe/idl.ypp" +#line 2629 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5388 "fe/idl.tab.cpp" +#line 5386 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2639 "fe/idl.ypp" +#line 2637 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5398 "fe/idl.tab.cpp" +#line 5396 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2645 "fe/idl.ypp" +#line 2643 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5406 "fe/idl.tab.cpp" +#line 5404 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2652 "fe/idl.ypp" +#line 2650 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5415,52 +5413,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5419 "fe/idl.tab.cpp" +#line 5417 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2664 "fe/idl.ypp" +#line 2662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5428 "fe/idl.tab.cpp" +#line 5426 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2669 "fe/idl.ypp" +#line 2667 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5436 "fe/idl.tab.cpp" +#line 5434 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2673 "fe/idl.ypp" +#line 2671 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5444 "fe/idl.tab.cpp" +#line 5442 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2677 "fe/idl.ypp" +#line 2675 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5452 "fe/idl.tab.cpp" +#line 5450 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2681 "fe/idl.ypp" +#line 2679 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5460 "fe/idl.tab.cpp" +#line 5458 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2685 "fe/idl.ypp" +#line 2683 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5488,27 +5486,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5492 "fe/idl.tab.cpp" +#line 5490 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2713 "fe/idl.ypp" +#line 2711 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5500 "fe/idl.tab.cpp" +#line 5498 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2720 "fe/idl.ypp" +#line 2718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5508 "fe/idl.tab.cpp" +#line 5506 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2724 "fe/idl.ypp" +#line 2722 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5572,22 +5570,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5576 "fe/idl.tab.cpp" +#line 5574 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2796 "fe/idl.ypp" +#line 2794 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5587 "fe/idl.tab.cpp" +#line 5585 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2804 "fe/idl.ypp" +#line 2802 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5610,30 +5608,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5614 "fe/idl.tab.cpp" +#line 5612 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ -#line 2860 "fe/idl.ypp" +#line 2858 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5625 "fe/idl.tab.cpp" +#line 5623 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ -#line 2871 "fe/idl.ypp" +#line 2869 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5633 "fe/idl.tab.cpp" +#line 5631 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ -#line 2875 "fe/idl.ypp" +#line 2873 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5653,38 +5651,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5657 "fe/idl.tab.cpp" +#line 5655 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ -#line 2895 "fe/idl.ypp" +#line 2893 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5665 "fe/idl.tab.cpp" +#line 5663 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2907 "fe/idl.ypp" +#line 2905 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5676 "fe/idl.tab.cpp" +#line 5674 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ -#line 2918 "fe/idl.ypp" +#line 2916 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5684 "fe/idl.tab.cpp" +#line 5682 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2922 "fe/idl.ypp" +#line 2920 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5704,19 +5702,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5708 "fe/idl.tab.cpp" +#line 5706 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ -#line 2942 "fe/idl.ypp" +#line 2940 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5716 "fe/idl.tab.cpp" +#line 5714 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ -#line 2949 "fe/idl.ypp" +#line 2947 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5729,11 +5727,11 @@ yyparse (void) 0), 1); } -#line 5733 "fe/idl.tab.cpp" +#line 5731 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ -#line 2965 "fe/idl.ypp" +#line 2963 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5748,220 +5746,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5752 "fe/idl.tab.cpp" +#line 5750 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ -#line 2988 "fe/idl.ypp" +#line 2986 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5760 "fe/idl.tab.cpp" +#line 5758 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ -#line 2992 "fe/idl.ypp" +#line 2990 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5768 "fe/idl.tab.cpp" +#line 5766 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ -#line 2996 "fe/idl.ypp" +#line 2994 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5776 "fe/idl.tab.cpp" +#line 5774 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ -#line 3000 "fe/idl.ypp" +#line 2998 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5784 "fe/idl.tab.cpp" +#line 5782 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ -#line 3004 "fe/idl.ypp" +#line 3002 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5792 "fe/idl.tab.cpp" +#line 5790 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ -#line 3008 "fe/idl.ypp" +#line 3006 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5800 "fe/idl.tab.cpp" +#line 5798 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ -#line 3012 "fe/idl.ypp" +#line 3010 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5808 "fe/idl.tab.cpp" +#line 5806 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3019 "fe/idl.ypp" +#line 3017 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5816 "fe/idl.tab.cpp" +#line 5814 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3023 "fe/idl.ypp" +#line 3021 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5824 "fe/idl.tab.cpp" +#line 5822 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3027 "fe/idl.ypp" +#line 3025 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5832 "fe/idl.tab.cpp" +#line 5830 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ -#line 3031 "fe/idl.ypp" +#line 3029 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5840 "fe/idl.tab.cpp" +#line 5838 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ -#line 3035 "fe/idl.ypp" +#line 3033 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5848 "fe/idl.tab.cpp" +#line 5846 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ -#line 3039 "fe/idl.ypp" +#line 3037 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5856 "fe/idl.tab.cpp" +#line 5854 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ -#line 3043 "fe/idl.ypp" +#line 3041 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5864 "fe/idl.tab.cpp" +#line 5862 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ -#line 3050 "fe/idl.ypp" +#line 3048 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5872 "fe/idl.tab.cpp" +#line 5870 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ -#line 3054 "fe/idl.ypp" +#line 3052 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5880 "fe/idl.tab.cpp" +#line 5878 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3058 "fe/idl.ypp" +#line 3056 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5888 "fe/idl.tab.cpp" +#line 5886 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ -#line 3065 "fe/idl.ypp" +#line 3063 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5896 "fe/idl.tab.cpp" +#line 5894 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ -#line 3072 "fe/idl.ypp" +#line 3070 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5904 "fe/idl.tab.cpp" +#line 5902 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ -#line 3076 "fe/idl.ypp" +#line 3074 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5912 "fe/idl.tab.cpp" +#line 5910 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ -#line 3083 "fe/idl.ypp" +#line 3081 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5920 "fe/idl.tab.cpp" +#line 5918 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ -#line 3090 "fe/idl.ypp" +#line 3088 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5928 "fe/idl.tab.cpp" +#line 5926 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ -#line 3097 "fe/idl.ypp" +#line 3095 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5936 "fe/idl.tab.cpp" +#line 5934 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ -#line 3104 "fe/idl.ypp" +#line 3102 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5944 "fe/idl.tab.cpp" +#line 5942 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ -#line 3111 "fe/idl.ypp" +#line 3109 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5952 "fe/idl.tab.cpp" +#line 5950 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3115 "fe/idl.ypp" +#line 3113 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5961 "fe/idl.tab.cpp" +#line 5959 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ -#line 3124 "fe/idl.ypp" +#line 3122 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5992,27 +5990,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5996 "fe/idl.tab.cpp" +#line 5994 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ -#line 3155 "fe/idl.ypp" +#line 3153 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6004 "fe/idl.tab.cpp" +#line 6002 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ -#line 3159 "fe/idl.ypp" +#line 3157 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6012 "fe/idl.tab.cpp" +#line 6010 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3163 "fe/idl.ypp" +#line 3161 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6024,11 +6022,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6028 "fe/idl.tab.cpp" +#line 6026 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ -#line 3185 "fe/idl.ypp" +#line 3183 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6042,27 +6040,27 @@ yyparse (void) delete annotations; delete members; } -#line 6046 "fe/idl.tab.cpp" +#line 6044 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ -#line 3202 "fe/idl.ypp" +#line 3200 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6054 "fe/idl.tab.cpp" +#line 6052 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ -#line 3206 "fe/idl.ypp" +#line 3204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6062 "fe/idl.tab.cpp" +#line 6060 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3210 "fe/idl.ypp" +#line 3208 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6116,53 +6114,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6120 "fe/idl.tab.cpp" +#line 6118 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ -#line 3264 "fe/idl.ypp" +#line 3262 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6128 "fe/idl.tab.cpp" +#line 6126 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ -#line 3268 "fe/idl.ypp" +#line 3266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6137 "fe/idl.tab.cpp" +#line 6135 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ -#line 3276 "fe/idl.ypp" +#line 3274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6145 "fe/idl.tab.cpp" +#line 6143 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3280 "fe/idl.ypp" +#line 3278 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6154 "fe/idl.tab.cpp" +#line 6152 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ -#line 3288 "fe/idl.ypp" +#line 3286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6162 "fe/idl.tab.cpp" +#line 6160 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ -#line 3292 "fe/idl.ypp" +#line 3290 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6195,19 +6193,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6199 "fe/idl.tab.cpp" +#line 6197 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ -#line 3325 "fe/idl.ypp" +#line 3323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6207 "fe/idl.tab.cpp" +#line 6205 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ -#line 3329 "fe/idl.ypp" +#line 3327 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6266,27 +6264,27 @@ yyparse (void) delete disc_annotations; } -#line 6270 "fe/idl.tab.cpp" +#line 6268 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ -#line 3388 "fe/idl.ypp" +#line 3386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6278 "fe/idl.tab.cpp" +#line 6276 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ -#line 3392 "fe/idl.ypp" +#line 3390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6286 "fe/idl.tab.cpp" +#line 6284 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3396 "fe/idl.ypp" +#line 3394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6302,22 +6300,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6306 "fe/idl.tab.cpp" +#line 6304 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ -#line 3415 "fe/idl.ypp" +#line 3413 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6317 "fe/idl.tab.cpp" +#line 6315 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ -#line 3422 "fe/idl.ypp" +#line 3420 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6330,11 +6328,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6334 "fe/idl.tab.cpp" +#line 6332 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ -#line 3435 "fe/idl.ypp" +#line 3433 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6343,22 +6341,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6347 "fe/idl.tab.cpp" +#line 6345 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ -#line 3444 "fe/idl.ypp" +#line 3442 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6358 "fe/idl.tab.cpp" +#line 6356 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ -#line 3452 "fe/idl.ypp" +#line 3450 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6465,27 +6463,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6469 "fe/idl.tab.cpp" +#line 6467 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ -#line 3569 "fe/idl.ypp" +#line 3567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6477 "fe/idl.tab.cpp" +#line 6475 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ -#line 3573 "fe/idl.ypp" +#line 3571 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6485 "fe/idl.tab.cpp" +#line 6483 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3577 "fe/idl.ypp" +#line 3575 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6517,39 +6515,39 @@ yyparse (void) delete annotations; } -#line 6521 "fe/idl.tab.cpp" +#line 6519 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ -#line 3609 "fe/idl.ypp" +#line 3607 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6529 "fe/idl.tab.cpp" +#line 6527 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ -#line 3613 "fe/idl.ypp" +#line 3611 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6538 "fe/idl.tab.cpp" +#line 6536 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ -#line 3621 "fe/idl.ypp" +#line 3619 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6549 "fe/idl.tab.cpp" +#line 6547 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ -#line 3631 "fe/idl.ypp" +#line 3629 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6567,27 +6565,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6571 "fe/idl.tab.cpp" +#line 6569 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ -#line 3649 "fe/idl.ypp" +#line 3647 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6579 "fe/idl.tab.cpp" +#line 6577 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ -#line 3656 "fe/idl.ypp" +#line 3654 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6587 "fe/idl.tab.cpp" +#line 6585 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3660 "fe/idl.ypp" +#line 3658 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6596,27 +6594,27 @@ yyparse (void) 0 ); } -#line 6600 "fe/idl.tab.cpp" +#line 6598 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ -#line 3669 "fe/idl.ypp" +#line 3667 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6608 "fe/idl.tab.cpp" +#line 6606 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ -#line 3673 "fe/idl.ypp" +#line 3671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6616 "fe/idl.tab.cpp" +#line 6614 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3677 "fe/idl.ypp" +#line 3675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6625,19 +6623,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6629 "fe/idl.tab.cpp" +#line 6627 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ -#line 3689 "fe/idl.ypp" +#line 3687 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6637 "fe/idl.tab.cpp" +#line 6635 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ -#line 3693 "fe/idl.ypp" +#line 3691 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6680,11 +6678,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6684 "fe/idl.tab.cpp" +#line 6682 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ -#line 3739 "fe/idl.ypp" +#line 3737 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6706,11 +6704,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6710 "fe/idl.tab.cpp" +#line 6708 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ -#line 3764 "fe/idl.ypp" +#line 3762 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6730,19 +6728,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6734 "fe/idl.tab.cpp" +#line 6732 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ -#line 3787 "fe/idl.ypp" +#line 3785 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6742 "fe/idl.tab.cpp" +#line 6740 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ -#line 3791 "fe/idl.ypp" +#line 3789 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6773,27 +6771,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6777 "fe/idl.tab.cpp" +#line 6775 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ -#line 3822 "fe/idl.ypp" +#line 3820 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6785 "fe/idl.tab.cpp" +#line 6783 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ -#line 3826 "fe/idl.ypp" +#line 3824 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6793 "fe/idl.tab.cpp" +#line 6791 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3830 "fe/idl.ypp" +#line 3828 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6812,19 +6810,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6816 "fe/idl.tab.cpp" +#line 6814 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ -#line 3855 "fe/idl.ypp" +#line 3853 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6824 "fe/idl.tab.cpp" +#line 6822 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3864 "fe/idl.ypp" +#line 3862 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6859,27 +6857,27 @@ yyparse (void) delete annotations; } -#line 6863 "fe/idl.tab.cpp" +#line 6861 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ -#line 3903 "fe/idl.ypp" +#line 3901 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); } -#line 6871 "fe/idl.tab.cpp" +#line 6869 "fe/idl.tab.cpp" break; case 355: /* $@92: %empty */ -#line 3907 "fe/idl.ypp" +#line 3905 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); } -#line 6879 "fe/idl.tab.cpp" +#line 6877 "fe/idl.tab.cpp" break; case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3911 "fe/idl.ypp" +#line 3909 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); @@ -6887,7 +6885,7 @@ yyparse (void) Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -6897,12 +6895,12 @@ yyparse (void) UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -6934,11 +6932,11 @@ yyparse (void) delete type_pair; (yyval.dcval) = map; } -#line 6938 "fe/idl.tab.cpp" +#line 6936 "fe/idl.tab.cpp" break; case 357: /* map_type_spec: map_head '>' */ -#line 3967 "fe/idl.ypp" +#line 3965 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); @@ -6946,7 +6944,7 @@ yyparse (void) Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -6956,7 +6954,7 @@ yyparse (void) UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { @@ -6997,32 +6995,32 @@ yyparse (void) delete type_pair; (yyval.dcval) = map; } -#line 7001 "fe/idl.tab.cpp" +#line 6999 "fe/idl.tab.cpp" break; case 358: /* $@93: %empty */ -#line 4029 "fe/idl.ypp" +#line 4027 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); /* - * Push a sequence marker on scopes stack. + * Push a map marker on scopes stack. */ idl_global->scopes ().push (0); } -#line 7014 "fe/idl.tab.cpp" +#line 7012 "fe/idl.tab.cpp" break; case 359: /* $@94: %empty */ -#line 4039 "fe/idl.ypp" +#line 4037 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7022 "fe/idl.tab.cpp" +#line 7020 "fe/idl.tab.cpp" break; case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ -#line 4044 "fe/idl.ypp" +#line 4042 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); Decl_Annotations_Pair *key = new Decl_Annotations_Pair; @@ -7038,27 +7036,27 @@ yyparse (void) pairs->second = value; (yyval.decl_annotations_pair_val_pair) = pairs; } -#line 7042 "fe/idl.tab.cpp" +#line 7040 "fe/idl.tab.cpp" break; case 361: /* $@95: %empty */ -#line 4064 "fe/idl.ypp" +#line 4062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7050 "fe/idl.tab.cpp" +#line 7048 "fe/idl.tab.cpp" break; case 362: /* $@96: %empty */ -#line 4068 "fe/idl.ypp" +#line 4066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7058 "fe/idl.tab.cpp" +#line 7056 "fe/idl.tab.cpp" break; case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ -#line 4072 "fe/idl.ypp" +#line 4070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7139,11 +7137,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7143 "fe/idl.tab.cpp" +#line 7141 "fe/idl.tab.cpp" break; case 364: /* sequence_type_spec: seq_head '>' */ -#line 4154 "fe/idl.ypp" +#line 4152 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7205,11 +7203,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7209 "fe/idl.tab.cpp" +#line 7207 "fe/idl.tab.cpp" break; case 365: /* $@97: %empty */ -#line 4219 "fe/idl.ypp" +#line 4217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7218,19 +7216,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7222 "fe/idl.tab.cpp" +#line 7220 "fe/idl.tab.cpp" break; case 366: /* $@98: %empty */ -#line 4228 "fe/idl.ypp" +#line 4226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7230 "fe/idl.tab.cpp" +#line 7228 "fe/idl.tab.cpp" break; case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ -#line 4232 "fe/idl.ypp" +#line 4230 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7238,36 +7236,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7242 "fe/idl.tab.cpp" +#line 7240 "fe/idl.tab.cpp" break; case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4243 "fe/idl.ypp" +#line 4241 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7251 "fe/idl.tab.cpp" +#line 7249 "fe/idl.tab.cpp" break; case 369: /* $@99: %empty */ -#line 4252 "fe/idl.ypp" +#line 4250 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7259 "fe/idl.tab.cpp" +#line 7257 "fe/idl.tab.cpp" break; case 370: /* $@100: %empty */ -#line 4256 "fe/idl.ypp" +#line 4254 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7267 "fe/idl.tab.cpp" +#line 7265 "fe/idl.tab.cpp" break; case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ -#line 4260 "fe/idl.ypp" +#line 4258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7306,11 +7304,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7310 "fe/idl.tab.cpp" +#line 7308 "fe/idl.tab.cpp" break; case 372: /* string_type_spec: string_head */ -#line 4299 "fe/idl.ypp" +#line 4297 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7333,35 +7331,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7337 "fe/idl.tab.cpp" +#line 7335 "fe/idl.tab.cpp" break; case 373: /* string_head: IDL_STRING */ -#line 4325 "fe/idl.ypp" +#line 4323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7345 "fe/idl.tab.cpp" +#line 7343 "fe/idl.tab.cpp" break; case 374: /* $@101: %empty */ -#line 4333 "fe/idl.ypp" +#line 4331 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7353 "fe/idl.tab.cpp" +#line 7351 "fe/idl.tab.cpp" break; case 375: /* $@102: %empty */ -#line 4337 "fe/idl.ypp" +#line 4335 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7361 "fe/idl.tab.cpp" +#line 7359 "fe/idl.tab.cpp" break; case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ -#line 4341 "fe/idl.ypp" +#line 4339 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7400,11 +7398,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7404 "fe/idl.tab.cpp" +#line 7402 "fe/idl.tab.cpp" break; case 377: /* wstring_type_spec: wstring_head */ -#line 4380 "fe/idl.ypp" +#line 4378 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7427,27 +7425,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7431 "fe/idl.tab.cpp" +#line 7429 "fe/idl.tab.cpp" break; case 378: /* wstring_head: IDL_WSTRING */ -#line 4406 "fe/idl.ypp" +#line 4404 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7439 "fe/idl.tab.cpp" +#line 7437 "fe/idl.tab.cpp" break; case 379: /* $@103: %empty */ -#line 4413 "fe/idl.ypp" +#line 4411 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7447 "fe/idl.tab.cpp" +#line 7445 "fe/idl.tab.cpp" break; case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ -#line 4417 "fe/idl.ypp" +#line 4415 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7483,22 +7481,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7487 "fe/idl.tab.cpp" +#line 7485 "fe/idl.tab.cpp" break; case 381: /* at_least_one_array_dim: array_dim array_dims */ -#line 4456 "fe/idl.ypp" +#line 4454 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7498 "fe/idl.tab.cpp" +#line 7496 "fe/idl.tab.cpp" break; case 382: /* array_dims: array_dims array_dim */ -#line 4466 "fe/idl.ypp" +#line 4464 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7516,35 +7514,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7520 "fe/idl.tab.cpp" +#line 7518 "fe/idl.tab.cpp" break; case 383: /* array_dims: %empty */ -#line 4484 "fe/idl.ypp" +#line 4482 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7528 "fe/idl.tab.cpp" +#line 7526 "fe/idl.tab.cpp" break; case 384: /* $@104: %empty */ -#line 4491 "fe/idl.ypp" +#line 4489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7536 "fe/idl.tab.cpp" +#line 7534 "fe/idl.tab.cpp" break; case 385: /* $@105: %empty */ -#line 4495 "fe/idl.ypp" +#line 4493 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7544 "fe/idl.tab.cpp" +#line 7542 "fe/idl.tab.cpp" break; case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ -#line 4499 "fe/idl.ypp" +#line 4497 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7598,43 +7596,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7602 "fe/idl.tab.cpp" +#line 7600 "fe/idl.tab.cpp" break; case 389: /* $@106: %empty */ -#line 4561 "fe/idl.ypp" +#line 4559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7610 "fe/idl.tab.cpp" +#line 7608 "fe/idl.tab.cpp" break; case 390: /* $@107: %empty */ -#line 4565 "fe/idl.ypp" +#line 4563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7618 "fe/idl.tab.cpp" +#line 7616 "fe/idl.tab.cpp" break; case 391: /* $@108: %empty */ -#line 4569 "fe/idl.ypp" +#line 4567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7626 "fe/idl.tab.cpp" +#line 7624 "fe/idl.tab.cpp" break; case 392: /* $@109: %empty */ -#line 4573 "fe/idl.ypp" +#line 4571 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7634 "fe/idl.tab.cpp" +#line 7632 "fe/idl.tab.cpp" break; case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ -#line 4577 "fe/idl.ypp" +#line 4575 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7686,43 +7684,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7690 "fe/idl.tab.cpp" +#line 7688 "fe/idl.tab.cpp" break; case 394: /* $@110: %empty */ -#line 4632 "fe/idl.ypp" +#line 4630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7698 "fe/idl.tab.cpp" +#line 7696 "fe/idl.tab.cpp" break; case 395: /* $@111: %empty */ -#line 4636 "fe/idl.ypp" +#line 4634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7706 "fe/idl.tab.cpp" +#line 7704 "fe/idl.tab.cpp" break; case 396: /* $@112: %empty */ -#line 4640 "fe/idl.ypp" +#line 4638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7714 "fe/idl.tab.cpp" +#line 7712 "fe/idl.tab.cpp" break; case 397: /* $@113: %empty */ -#line 4644 "fe/idl.ypp" +#line 4642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7722 "fe/idl.tab.cpp" +#line 7720 "fe/idl.tab.cpp" break; case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ -#line 4648 "fe/idl.ypp" +#line 4646 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7783,19 +7781,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7787 "fe/idl.tab.cpp" +#line 7785 "fe/idl.tab.cpp" break; case 399: /* $@114: %empty */ -#line 4712 "fe/idl.ypp" +#line 4710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7795 "fe/idl.tab.cpp" +#line 7793 "fe/idl.tab.cpp" break; case 400: /* @115: %empty */ -#line 4716 "fe/idl.ypp" +#line 4714 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7827,27 +7825,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7831 "fe/idl.tab.cpp" +#line 7829 "fe/idl.tab.cpp" break; case 401: /* $@116: %empty */ -#line 4748 "fe/idl.ypp" +#line 4746 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7839 "fe/idl.tab.cpp" +#line 7837 "fe/idl.tab.cpp" break; case 402: /* $@117: %empty */ -#line 4752 "fe/idl.ypp" +#line 4750 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7847 "fe/idl.tab.cpp" +#line 7845 "fe/idl.tab.cpp" break; case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ -#line 4756 "fe/idl.ypp" +#line 4754 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7857,19 +7855,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7861 "fe/idl.tab.cpp" +#line 7859 "fe/idl.tab.cpp" break; case 404: /* $@118: %empty */ -#line 4769 "fe/idl.ypp" +#line 4767 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7869 "fe/idl.tab.cpp" +#line 7867 "fe/idl.tab.cpp" break; case 405: /* $@119: %empty */ -#line 4773 "fe/idl.ypp" +#line 4771 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7930,27 +7928,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7934 "fe/idl.tab.cpp" +#line 7932 "fe/idl.tab.cpp" break; case 406: /* $@120: %empty */ -#line 4834 "fe/idl.ypp" +#line 4832 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7942 "fe/idl.tab.cpp" +#line 7940 "fe/idl.tab.cpp" break; case 407: /* $@121: %empty */ -#line 4838 "fe/idl.ypp" +#line 4836 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7950 "fe/idl.tab.cpp" +#line 7948 "fe/idl.tab.cpp" break; case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ -#line 4842 "fe/idl.ypp" +#line 4840 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7981,57 +7979,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7985 "fe/idl.tab.cpp" +#line 7983 "fe/idl.tab.cpp" break; case 409: /* opt_op_attribute: IDL_ONEWAY */ -#line 4876 "fe/idl.ypp" +#line 4874 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7994 "fe/idl.tab.cpp" +#line 7992 "fe/idl.tab.cpp" break; case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4881 "fe/idl.ypp" +#line 4879 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 8003 "fe/idl.tab.cpp" +#line 8001 "fe/idl.tab.cpp" break; case 411: /* opt_op_attribute: %empty */ -#line 4886 "fe/idl.ypp" +#line 4884 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 8011 "fe/idl.tab.cpp" +#line 8009 "fe/idl.tab.cpp" break; case 413: /* op_type_spec: IDL_VOID */ -#line 4894 "fe/idl.ypp" +#line 4892 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 8022 "fe/idl.tab.cpp" +#line 8020 "fe/idl.tab.cpp" break; case 414: /* $@122: %empty */ -#line 4904 "fe/idl.ypp" +#line 4902 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 8031 "fe/idl.tab.cpp" +#line 8029 "fe/idl.tab.cpp" break; case 415: /* @123: %empty */ -#line 4909 "fe/idl.ypp" +#line 4907 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8074,19 +8072,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8078 "fe/idl.tab.cpp" +#line 8076 "fe/idl.tab.cpp" break; case 416: /* $@124: %empty */ -#line 4952 "fe/idl.ypp" +#line 4950 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8086 "fe/idl.tab.cpp" +#line 8084 "fe/idl.tab.cpp" break; case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ -#line 4956 "fe/idl.ypp" +#line 4954 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8101,67 +8099,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8105 "fe/idl.tab.cpp" +#line 8103 "fe/idl.tab.cpp" break; case 418: /* $@125: %empty */ -#line 4974 "fe/idl.ypp" +#line 4972 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8113 "fe/idl.tab.cpp" +#line 8111 "fe/idl.tab.cpp" break; case 419: /* init_parameter_list: '(' $@125 ')' */ -#line 4978 "fe/idl.ypp" +#line 4976 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8121 "fe/idl.tab.cpp" +#line 8119 "fe/idl.tab.cpp" break; case 420: /* $@126: %empty */ -#line 4982 "fe/idl.ypp" +#line 4980 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8129 "fe/idl.tab.cpp" +#line 8127 "fe/idl.tab.cpp" break; case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ -#line 4987 "fe/idl.ypp" +#line 4985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8137 "fe/idl.tab.cpp" +#line 8135 "fe/idl.tab.cpp" break; case 423: /* $@127: %empty */ -#line 4997 "fe/idl.ypp" +#line 4995 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8145 "fe/idl.tab.cpp" +#line 8143 "fe/idl.tab.cpp" break; case 426: /* $@128: %empty */ -#line 5006 "fe/idl.ypp" +#line 5004 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8153 "fe/idl.tab.cpp" +#line 8151 "fe/idl.tab.cpp" break; case 427: /* $@129: %empty */ -#line 5010 "fe/idl.ypp" +#line 5008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8161 "fe/idl.tab.cpp" +#line 8159 "fe/idl.tab.cpp" break; case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ -#line 5014 "fe/idl.ypp" +#line 5012 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8193,67 +8191,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8197 "fe/idl.tab.cpp" +#line 8195 "fe/idl.tab.cpp" break; case 429: /* $@130: %empty */ -#line 5049 "fe/idl.ypp" +#line 5047 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8205 "fe/idl.tab.cpp" +#line 8203 "fe/idl.tab.cpp" break; case 430: /* parameter_list: '(' $@130 ')' */ -#line 5053 "fe/idl.ypp" +#line 5051 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8213 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; case 431: /* $@131: %empty */ -#line 5057 "fe/idl.ypp" +#line 5055 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8221 "fe/idl.tab.cpp" +#line 8219 "fe/idl.tab.cpp" break; case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ -#line 5062 "fe/idl.ypp" +#line 5060 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8229 "fe/idl.tab.cpp" +#line 8227 "fe/idl.tab.cpp" break; case 434: /* $@132: %empty */ -#line 5072 "fe/idl.ypp" +#line 5070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8237 "fe/idl.tab.cpp" +#line 8235 "fe/idl.tab.cpp" break; case 437: /* $@133: %empty */ -#line 5081 "fe/idl.ypp" +#line 5079 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8245 "fe/idl.tab.cpp" +#line 8243 "fe/idl.tab.cpp" break; case 438: /* $@134: %empty */ -#line 5085 "fe/idl.ypp" +#line 5083 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8253 "fe/idl.tab.cpp" +#line 8251 "fe/idl.tab.cpp" break; case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ -#line 5089 "fe/idl.ypp" +#line 5087 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8292,22 +8290,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8296 "fe/idl.tab.cpp" +#line 8294 "fe/idl.tab.cpp" break; case 440: /* param_type_spec: base_type_spec */ -#line 5131 "fe/idl.ypp" +#line 5129 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8307 "fe/idl.tab.cpp" +#line 8305 "fe/idl.tab.cpp" break; case 443: /* param_type_spec: scoped_name */ -#line 5140 "fe/idl.ypp" +#line 5138 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8372,6 +8370,54 @@ yyparse (void) } } + if (pbt->node_type() == AST_Decl::NT_map) + { + t = pbt; + AST_Map *map_type = + dynamic_cast (pbt); + AST_Type *key_type = + map_type->key_type (); + AST_Type *val_type = + map_type->value_type (); + + AST_Decl::NodeType key_nt = + key_type->node_type (); + AST_Decl::NodeType val_nt = + val_type->node_type (); + + if (key_nt == AST_Decl::NT_typedef) + { + AST_Typedef *key_td = + dynamic_cast (key_type); + key_type = key_td->primitive_base_type (); + key_nt = key_type->node_type (); + } + + if (val_nt == AST_Decl::NT_typedef) + { + AST_Typedef *val_td = + dynamic_cast (val_type); + val_type = val_td->primitive_base_type (); + val_nt = val_type->node_type (); + } + + if (key_nt == AST_Decl::NT_interface + || key_nt == AST_Decl::NT_interface_fwd + || key_nt == AST_Decl::NT_valuetype + || key_nt == AST_Decl::NT_valuetype_fwd + || key_nt == AST_Decl::NT_component + || key_nt == AST_Decl::NT_component_fwd + || val_nt == AST_Decl::NT_interface + || val_nt == AST_Decl::NT_interface_fwd + || val_nt == AST_Decl::NT_valuetype + || val_nt == AST_Decl::NT_valuetype_fwd + || val_nt == AST_Decl::NT_component + || val_nt == AST_Decl::NT_component_fwd) + { + can_be_undefined = true; + } + } + if (! t->is_defined () && ! can_be_undefined) { idl_global->err ()->error1 ( @@ -8411,186 +8457,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8415 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; case 444: /* direction: IDL_IN */ -#line 5247 "fe/idl.ypp" +#line 5293 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8423 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; case 445: /* direction: IDL_OUT */ -#line 5251 "fe/idl.ypp" +#line 5297 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8431 "fe/idl.tab.cpp" +#line 8477 "fe/idl.tab.cpp" break; case 446: /* direction: IDL_INOUT */ -#line 5255 "fe/idl.ypp" +#line 5301 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8439 "fe/idl.tab.cpp" +#line 8485 "fe/idl.tab.cpp" break; case 447: /* $@135: %empty */ -#line 5262 "fe/idl.ypp" +#line 5308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8447 "fe/idl.tab.cpp" +#line 8493 "fe/idl.tab.cpp" break; case 448: /* $@136: %empty */ -#line 5266 "fe/idl.ypp" +#line 5312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8455 "fe/idl.tab.cpp" +#line 8501 "fe/idl.tab.cpp" break; case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5271 "fe/idl.ypp" +#line 5317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8464 "fe/idl.tab.cpp" +#line 8510 "fe/idl.tab.cpp" break; case 450: /* opt_raises: %empty */ -#line 5276 "fe/idl.ypp" +#line 5322 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8472 "fe/idl.tab.cpp" +#line 8518 "fe/idl.tab.cpp" break; case 451: /* $@137: %empty */ -#line 5283 "fe/idl.ypp" +#line 5329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8480 "fe/idl.tab.cpp" +#line 8526 "fe/idl.tab.cpp" break; case 452: /* $@138: %empty */ -#line 5287 "fe/idl.ypp" +#line 5333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8488 "fe/idl.tab.cpp" +#line 8534 "fe/idl.tab.cpp" break; case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ -#line 5292 "fe/idl.ypp" +#line 5338 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8497 "fe/idl.tab.cpp" +#line 8543 "fe/idl.tab.cpp" break; case 454: /* opt_getraises: %empty */ -#line 5297 "fe/idl.ypp" +#line 5343 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8505 "fe/idl.tab.cpp" +#line 8551 "fe/idl.tab.cpp" break; case 455: /* $@139: %empty */ -#line 5304 "fe/idl.ypp" +#line 5350 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8513 "fe/idl.tab.cpp" +#line 8559 "fe/idl.tab.cpp" break; case 456: /* $@140: %empty */ -#line 5308 "fe/idl.ypp" +#line 5354 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8521 "fe/idl.tab.cpp" +#line 8567 "fe/idl.tab.cpp" break; case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ -#line 5313 "fe/idl.ypp" +#line 5359 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8530 "fe/idl.tab.cpp" +#line 8576 "fe/idl.tab.cpp" break; case 458: /* opt_setraises: %empty */ -#line 5318 "fe/idl.ypp" +#line 5364 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8538 "fe/idl.tab.cpp" +#line 8584 "fe/idl.tab.cpp" break; case 459: /* $@141: %empty */ -#line 5325 "fe/idl.ypp" +#line 5371 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8546 "fe/idl.tab.cpp" +#line 8592 "fe/idl.tab.cpp" break; case 460: /* $@142: %empty */ -#line 5329 "fe/idl.ypp" +#line 5375 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8554 "fe/idl.tab.cpp" +#line 8600 "fe/idl.tab.cpp" break; case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ -#line 5334 "fe/idl.ypp" +#line 5380 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8563 "fe/idl.tab.cpp" +#line 8609 "fe/idl.tab.cpp" break; case 462: /* opt_context: %empty */ -#line 5339 "fe/idl.ypp" +#line 5385 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8571 "fe/idl.tab.cpp" +#line 8617 "fe/idl.tab.cpp" break; case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5346 "fe/idl.ypp" +#line 5392 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8582 "fe/idl.tab.cpp" +#line 8628 "fe/idl.tab.cpp" break; case 464: /* $@143: %empty */ -#line 5357 "fe/idl.ypp" +#line 5403 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8590 "fe/idl.tab.cpp" +#line 8636 "fe/idl.tab.cpp" break; case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ -#line 5361 "fe/idl.ypp" +#line 5407 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8608,19 +8654,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8612 "fe/idl.tab.cpp" +#line 8658 "fe/idl.tab.cpp" break; case 466: /* string_literals: %empty */ -#line 5379 "fe/idl.ypp" +#line 5425 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8620 "fe/idl.tab.cpp" +#line 8666 "fe/idl.tab.cpp" break; case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5386 "fe/idl.ypp" +#line 5432 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8647,11 +8693,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8651 "fe/idl.tab.cpp" +#line 8697 "fe/idl.tab.cpp" break; case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5416 "fe/idl.ypp" +#line 5462 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8687,11 +8733,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8691 "fe/idl.tab.cpp" +#line 8737 "fe/idl.tab.cpp" break; case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5461 "fe/idl.ypp" +#line 5507 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8717,11 +8763,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8721 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; case 472: /* @144: %empty */ -#line 5490 "fe/idl.ypp" +#line 5536 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8763,27 +8809,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8767 "fe/idl.tab.cpp" +#line 8813 "fe/idl.tab.cpp" break; case 473: /* $@145: %empty */ -#line 5532 "fe/idl.ypp" +#line 5578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8775 "fe/idl.tab.cpp" +#line 8821 "fe/idl.tab.cpp" break; case 474: /* $@146: %empty */ -#line 5536 "fe/idl.ypp" +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8783 "fe/idl.tab.cpp" +#line 8829 "fe/idl.tab.cpp" break; case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ -#line 5540 "fe/idl.ypp" +#line 5586 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8794,27 +8840,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8798 "fe/idl.tab.cpp" +#line 8844 "fe/idl.tab.cpp" break; case 476: /* $@147: %empty */ -#line 5555 "fe/idl.ypp" +#line 5601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8806 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; case 477: /* $@148: %empty */ -#line 5559 "fe/idl.ypp" +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8814 "fe/idl.tab.cpp" +#line 8860 "fe/idl.tab.cpp" break; case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ -#line 5563 "fe/idl.ypp" +#line 5609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8848,35 +8894,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8852 "fe/idl.tab.cpp" +#line 8898 "fe/idl.tab.cpp" break; case 479: /* $@149: %empty */ -#line 5600 "fe/idl.ypp" +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8860 "fe/idl.tab.cpp" +#line 8906 "fe/idl.tab.cpp" break; case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ -#line 5604 "fe/idl.ypp" +#line 5650 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8868 "fe/idl.tab.cpp" +#line 8914 "fe/idl.tab.cpp" break; case 481: /* component_inheritance_spec: %empty */ -#line 5608 "fe/idl.ypp" +#line 5654 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8876 "fe/idl.tab.cpp" +#line 8922 "fe/idl.tab.cpp" break; case 482: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5615 "fe/idl.ypp" +#line 5661 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8891,130 +8937,130 @@ yyparse (void) } delete annotations; } -#line 8895 "fe/idl.tab.cpp" +#line 8941 "fe/idl.tab.cpp" break; case 485: /* $@150: %empty */ -#line 5635 "fe/idl.ypp" +#line 5681 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8903 "fe/idl.tab.cpp" +#line 8949 "fe/idl.tab.cpp" break; case 486: /* component_export: provides_decl $@150 ';' */ -#line 5639 "fe/idl.ypp" +#line 5685 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8912 "fe/idl.tab.cpp" +#line 8958 "fe/idl.tab.cpp" break; case 487: /* $@151: %empty */ -#line 5644 "fe/idl.ypp" +#line 5690 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8920 "fe/idl.tab.cpp" +#line 8966 "fe/idl.tab.cpp" break; case 488: /* component_export: uses_decl $@151 ';' */ -#line 5648 "fe/idl.ypp" +#line 5694 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8929 "fe/idl.tab.cpp" +#line 8975 "fe/idl.tab.cpp" break; case 489: /* $@152: %empty */ -#line 5653 "fe/idl.ypp" +#line 5699 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8937 "fe/idl.tab.cpp" +#line 8983 "fe/idl.tab.cpp" break; case 490: /* component_export: emits_decl $@152 ';' */ -#line 5657 "fe/idl.ypp" +#line 5703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8946 "fe/idl.tab.cpp" +#line 8992 "fe/idl.tab.cpp" break; case 491: /* $@153: %empty */ -#line 5662 "fe/idl.ypp" +#line 5708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8954 "fe/idl.tab.cpp" +#line 9000 "fe/idl.tab.cpp" break; case 492: /* component_export: publishes_decl $@153 ';' */ -#line 5666 "fe/idl.ypp" +#line 5712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8963 "fe/idl.tab.cpp" +#line 9009 "fe/idl.tab.cpp" break; case 493: /* $@154: %empty */ -#line 5671 "fe/idl.ypp" +#line 5717 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8971 "fe/idl.tab.cpp" +#line 9017 "fe/idl.tab.cpp" break; case 494: /* component_export: consumes_decl $@154 ';' */ -#line 5675 "fe/idl.ypp" +#line 5721 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8980 "fe/idl.tab.cpp" +#line 9026 "fe/idl.tab.cpp" break; case 495: /* $@155: %empty */ -#line 5680 "fe/idl.ypp" +#line 5726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8988 "fe/idl.tab.cpp" +#line 9034 "fe/idl.tab.cpp" break; case 496: /* component_export: attribute $@155 ';' */ -#line 5684 "fe/idl.ypp" +#line 5730 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8997 "fe/idl.tab.cpp" +#line 9043 "fe/idl.tab.cpp" break; case 497: /* $@156: %empty */ -#line 5689 "fe/idl.ypp" +#line 5735 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 9005 "fe/idl.tab.cpp" +#line 9051 "fe/idl.tab.cpp" break; case 498: /* component_export: extended_port_decl $@156 ';' */ -#line 5693 "fe/idl.ypp" +#line 5739 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9014 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; case 499: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5700 "fe/idl.ypp" +#line 5746 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9104,21 +9150,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9108 "fe/idl.tab.cpp" +#line 9154 "fe/idl.tab.cpp" break; case 500: /* interface_type: scoped_name */ -#line 5793 "fe/idl.ypp" +#line 5839 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9118 "fe/idl.tab.cpp" +#line 9164 "fe/idl.tab.cpp" break; case 501: /* interface_type: IDL_OBJECT */ -#line 5799 "fe/idl.ypp" +#line 5845 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9141,11 +9187,11 @@ yyparse (void) conc_name), 1); } -#line 9145 "fe/idl.tab.cpp" +#line 9191 "fe/idl.tab.cpp" break; case 502: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5824 "fe/idl.ypp" +#line 5870 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9249,37 +9295,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9253 "fe/idl.tab.cpp" +#line 9299 "fe/idl.tab.cpp" break; case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5931 "fe/idl.ypp" +#line 5977 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9263 "fe/idl.tab.cpp" +#line 9309 "fe/idl.tab.cpp" break; case 504: /* opt_multiple: IDL_MULTIPLE */ -#line 5940 "fe/idl.ypp" +#line 5986 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9271 "fe/idl.tab.cpp" +#line 9317 "fe/idl.tab.cpp" break; case 505: /* opt_multiple: %empty */ -#line 5944 "fe/idl.ypp" +#line 5990 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9279 "fe/idl.tab.cpp" +#line 9325 "fe/idl.tab.cpp" break; case 506: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5951 "fe/idl.ypp" +#line 5997 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9351,11 +9397,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9355 "fe/idl.tab.cpp" +#line 9401 "fe/idl.tab.cpp" break; case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6026 "fe/idl.ypp" +#line 6072 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9424,11 +9470,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9428 "fe/idl.tab.cpp" +#line 9474 "fe/idl.tab.cpp" break; case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6098 "fe/idl.ypp" +#line 6144 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9500,11 +9546,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9504 "fe/idl.tab.cpp" +#line 9550 "fe/idl.tab.cpp" break; case 509: /* $@157: %empty */ -#line 6173 "fe/idl.ypp" +#line 6219 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9541,11 +9587,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9545 "fe/idl.tab.cpp" +#line 9591 "fe/idl.tab.cpp" break; case 510: /* home_decl: home_header $@157 home_body */ -#line 6210 "fe/idl.ypp" +#line 6256 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9554,59 +9600,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9558 "fe/idl.tab.cpp" +#line 9604 "fe/idl.tab.cpp" break; case 511: /* $@158: %empty */ -#line 6222 "fe/idl.ypp" +#line 6268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9566 "fe/idl.tab.cpp" +#line 9612 "fe/idl.tab.cpp" break; case 512: /* $@159: %empty */ -#line 6226 "fe/idl.ypp" +#line 6272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9574 "fe/idl.tab.cpp" +#line 9620 "fe/idl.tab.cpp" break; case 513: /* $@160: %empty */ -#line 6230 "fe/idl.ypp" +#line 6276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9582 "fe/idl.tab.cpp" +#line 9628 "fe/idl.tab.cpp" break; case 514: /* $@161: %empty */ -#line 6234 "fe/idl.ypp" +#line 6280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9590 "fe/idl.tab.cpp" +#line 9636 "fe/idl.tab.cpp" break; case 515: /* $@162: %empty */ -#line 6238 "fe/idl.ypp" +#line 6284 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9598 "fe/idl.tab.cpp" +#line 9644 "fe/idl.tab.cpp" break; case 516: /* $@163: %empty */ -#line 6242 "fe/idl.ypp" +#line 6288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9606 "fe/idl.tab.cpp" +#line 9652 "fe/idl.tab.cpp" break; case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ -#line 6246 "fe/idl.ypp" +#line 6292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9652,107 +9698,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9656 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; case 518: /* $@164: %empty */ -#line 6295 "fe/idl.ypp" +#line 6341 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9664 "fe/idl.tab.cpp" +#line 9710 "fe/idl.tab.cpp" break; case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ -#line 6299 "fe/idl.ypp" +#line 6345 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9672 "fe/idl.tab.cpp" +#line 9718 "fe/idl.tab.cpp" break; case 520: /* home_inheritance_spec: %empty */ -#line 6303 "fe/idl.ypp" +#line 6349 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9680 "fe/idl.tab.cpp" +#line 9726 "fe/idl.tab.cpp" break; case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6311 "fe/idl.ypp" +#line 6357 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9688 "fe/idl.tab.cpp" +#line 9734 "fe/idl.tab.cpp" break; case 522: /* primary_key_spec: %empty */ -#line 6315 "fe/idl.ypp" +#line 6361 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9696 "fe/idl.tab.cpp" +#line 9742 "fe/idl.tab.cpp" break; case 523: /* $@165: %empty */ -#line 6322 "fe/idl.ypp" +#line 6368 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9704 "fe/idl.tab.cpp" +#line 9750 "fe/idl.tab.cpp" break; case 524: /* $@166: %empty */ -#line 6326 "fe/idl.ypp" +#line 6372 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9712 "fe/idl.tab.cpp" +#line 9758 "fe/idl.tab.cpp" break; case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ -#line 6330 "fe/idl.ypp" +#line 6376 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9720 "fe/idl.tab.cpp" +#line 9766 "fe/idl.tab.cpp" break; case 529: /* $@167: %empty */ -#line 6343 "fe/idl.ypp" +#line 6389 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9728 "fe/idl.tab.cpp" +#line 9774 "fe/idl.tab.cpp" break; case 530: /* home_export: factory_decl $@167 ';' */ -#line 6347 "fe/idl.ypp" +#line 6393 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9736 "fe/idl.tab.cpp" +#line 9782 "fe/idl.tab.cpp" break; case 531: /* $@168: %empty */ -#line 6351 "fe/idl.ypp" +#line 6397 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9744 "fe/idl.tab.cpp" +#line 9790 "fe/idl.tab.cpp" break; case 532: /* home_export: finder_decl $@168 ';' */ -#line 6355 "fe/idl.ypp" +#line 6401 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9752 "fe/idl.tab.cpp" +#line 9798 "fe/idl.tab.cpp" break; case 533: /* $@169: %empty */ -#line 6363 "fe/idl.ypp" +#line 6409 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9775,19 +9821,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9779 "fe/idl.tab.cpp" +#line 9825 "fe/idl.tab.cpp" break; case 534: /* $@170: %empty */ -#line 6386 "fe/idl.ypp" +#line 6432 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9787 "fe/idl.tab.cpp" +#line 9833 "fe/idl.tab.cpp" break; case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ -#line 6390 "fe/idl.ypp" +#line 6436 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9805,11 +9851,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9809 "fe/idl.tab.cpp" +#line 9855 "fe/idl.tab.cpp" break; case 536: /* $@171: %empty */ -#line 6412 "fe/idl.ypp" +#line 6458 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9836,19 +9882,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9840 "fe/idl.tab.cpp" +#line 9886 "fe/idl.tab.cpp" break; case 537: /* $@172: %empty */ -#line 6439 "fe/idl.ypp" +#line 6485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9848 "fe/idl.tab.cpp" +#line 9894 "fe/idl.tab.cpp" break; case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ -#line 6443 "fe/idl.ypp" +#line 6489 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9866,11 +9912,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9870 "fe/idl.tab.cpp" +#line 9916 "fe/idl.tab.cpp" break; case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6476 "fe/idl.ypp" +#line 6522 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9895,11 +9941,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9899 "fe/idl.tab.cpp" +#line 9945 "fe/idl.tab.cpp" break; case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6506 "fe/idl.ypp" +#line 6552 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9924,11 +9970,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9928 "fe/idl.tab.cpp" +#line 9974 "fe/idl.tab.cpp" break; case 546: /* $@173: %empty */ -#line 6535 "fe/idl.ypp" +#line 6581 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9972,27 +10018,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9976 "fe/idl.tab.cpp" +#line 10022 "fe/idl.tab.cpp" break; case 547: /* $@174: %empty */ -#line 6579 "fe/idl.ypp" +#line 6625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9984 "fe/idl.tab.cpp" +#line 10030 "fe/idl.tab.cpp" break; case 548: /* $@175: %empty */ -#line 6583 "fe/idl.ypp" +#line 6629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9992 "fe/idl.tab.cpp" +#line 10038 "fe/idl.tab.cpp" break; case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ -#line 6587 "fe/idl.ypp" +#line 6633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10003,19 +10049,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 10007 "fe/idl.tab.cpp" +#line 10053 "fe/idl.tab.cpp" break; case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6603 "fe/idl.ypp" +#line 6649 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10015 "fe/idl.tab.cpp" +#line 10061 "fe/idl.tab.cpp" break; case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6612 "fe/idl.ypp" +#line 6658 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -10028,29 +10074,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 10032 "fe/idl.tab.cpp" +#line 10078 "fe/idl.tab.cpp" break; case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6629 "fe/idl.ypp" +#line 6675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10042 "fe/idl.tab.cpp" +#line 10088 "fe/idl.tab.cpp" break; case 553: /* $@176: %empty */ -#line 6638 "fe/idl.ypp" +#line 6684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10050 "fe/idl.tab.cpp" +#line 10096 "fe/idl.tab.cpp" break; case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ -#line 6642 "fe/idl.ypp" +#line 6688 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10079,11 +10125,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10083 "fe/idl.tab.cpp" +#line 10129 "fe/idl.tab.cpp" break; case 555: /* @177: %empty */ -#line 6675 "fe/idl.ypp" +#line 6721 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10134,27 +10180,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10138 "fe/idl.tab.cpp" +#line 10184 "fe/idl.tab.cpp" break; case 556: /* $@178: %empty */ -#line 6726 "fe/idl.ypp" +#line 6772 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10146 "fe/idl.tab.cpp" +#line 10192 "fe/idl.tab.cpp" break; case 557: /* $@179: %empty */ -#line 6730 "fe/idl.ypp" +#line 6776 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10154 "fe/idl.tab.cpp" +#line 10200 "fe/idl.tab.cpp" break; case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ -#line 6734 "fe/idl.ypp" +#line 6780 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10165,108 +10211,116 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10169 "fe/idl.tab.cpp" +#line 10215 "fe/idl.tab.cpp" break; case 559: /* event_header: event_custom_header */ -#line 6748 "fe/idl.ypp" +#line 6794 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10177 "fe/idl.tab.cpp" +#line 10223 "fe/idl.tab.cpp" break; case 560: /* event_header: event_plain_header */ -#line 6752 "fe/idl.ypp" +#line 6798 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10185 "fe/idl.tab.cpp" +#line 10231 "fe/idl.tab.cpp" break; case 561: /* formal_parameter_type: IDL_TYPENAME */ -#line 6759 "fe/idl.ypp" +#line 6805 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10193 "fe/idl.tab.cpp" +#line 10239 "fe/idl.tab.cpp" break; case 562: /* formal_parameter_type: IDL_STRUCT */ -#line 6763 "fe/idl.ypp" +#line 6809 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10201 "fe/idl.tab.cpp" +#line 10247 "fe/idl.tab.cpp" break; case 563: /* formal_parameter_type: IDL_UNION */ -#line 6767 "fe/idl.ypp" +#line 6813 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10209 "fe/idl.tab.cpp" +#line 10255 "fe/idl.tab.cpp" break; case 564: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6771 "fe/idl.ypp" +#line 6817 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10217 "fe/idl.tab.cpp" +#line 10263 "fe/idl.tab.cpp" break; case 565: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6775 "fe/idl.ypp" +#line 6821 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10225 "fe/idl.tab.cpp" +#line 10271 "fe/idl.tab.cpp" + break; + + case 566: /* formal_parameter_type: IDL_MAP */ +#line 6825 "fe/idl.ypp" + { + (yyval.ntval) = AST_Decl::NT_map; + } +#line 10279 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_INTERFACE */ -#line 6779 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_INTERFACE */ +#line 6829 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10233 "fe/idl.tab.cpp" +#line 10287 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6783 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6833 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10241 "fe/idl.tab.cpp" +#line 10295 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_ENUM */ -#line 6787 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_ENUM */ +#line 6837 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10249 "fe/idl.tab.cpp" +#line 10303 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6791 "fe/idl.ypp" + case 570: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6841 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10257 "fe/idl.tab.cpp" +#line 10311 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_type: IDL_CONST const_type */ -#line 6795 "fe/idl.ypp" + case 571: /* formal_parameter_type: IDL_CONST const_type */ +#line 6845 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10266 "fe/idl.tab.cpp" +#line 10320 "fe/idl.tab.cpp" break; - case 571: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6803 "fe/idl.ypp" + case 572: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6853 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10294,11 +10348,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10298 "fe/idl.tab.cpp" +#line 10352 "fe/idl.tab.cpp" break; - case 572: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6834 "fe/idl.ypp" + case 573: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6884 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10311,19 +10365,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10315 "fe/idl.tab.cpp" +#line 10369 "fe/idl.tab.cpp" break; - case 573: /* formal_parameters: %empty */ -#line 6847 "fe/idl.ypp" + case 574: /* formal_parameters: %empty */ +#line 6897 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10323 "fe/idl.tab.cpp" +#line 10377 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6854 "fe/idl.ypp" + case 575: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6904 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10348,11 +10402,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10352 "fe/idl.tab.cpp" +#line 10406 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6879 "fe/idl.ypp" + case 576: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6929 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10367,19 +10421,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10371 "fe/idl.tab.cpp" +#line 10425 "fe/idl.tab.cpp" break; - case 576: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6897 "fe/idl.ypp" + case 577: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6947 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10379 "fe/idl.tab.cpp" +#line 10433 "fe/idl.tab.cpp" break; - case 577: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6904 "fe/idl.ypp" + case 578: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6954 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10394,37 +10448,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10398 "fe/idl.tab.cpp" +#line 10452 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_names: %empty */ -#line 6919 "fe/idl.ypp" + case 579: /* formal_parameter_names: %empty */ +#line 6969 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10406 "fe/idl.tab.cpp" +#line 10460 "fe/idl.tab.cpp" break; - case 579: /* formal_parameter_name: IDENTIFIER */ -#line 6926 "fe/idl.ypp" + case 580: /* formal_parameter_name: IDENTIFIER */ +#line 6976 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10416 "fe/idl.tab.cpp" +#line 10470 "fe/idl.tab.cpp" break; - case 580: /* $@180: %empty */ -#line 6935 "fe/idl.ypp" + case 581: /* $@180: %empty */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10424 "fe/idl.tab.cpp" +#line 10478 "fe/idl.tab.cpp" break; - case 581: /* @181: %empty */ -#line 6939 "fe/idl.ypp" + case 582: /* @181: %empty */ +#line 6989 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10443,27 +10497,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10447 "fe/idl.tab.cpp" +#line 10501 "fe/idl.tab.cpp" break; - case 582: /* $@182: %empty */ -#line 6958 "fe/idl.ypp" + case 583: /* $@182: %empty */ +#line 7008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10455 "fe/idl.tab.cpp" +#line 10509 "fe/idl.tab.cpp" break; - case 583: /* $@183: %empty */ -#line 6966 "fe/idl.ypp" + case 584: /* $@183: %empty */ +#line 7016 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10463 "fe/idl.tab.cpp" +#line 10517 "fe/idl.tab.cpp" break; - case 584: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ -#line 6970 "fe/idl.ypp" + case 585: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ +#line 7020 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10472,11 +10526,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10476 "fe/idl.tab.cpp" +#line 10530 "fe/idl.tab.cpp" break; - case 585: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6982 "fe/idl.ypp" + case 586: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 7032 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10491,27 +10545,27 @@ yyparse (void) } delete annotations; } -#line 10495 "fe/idl.tab.cpp" +#line 10549 "fe/idl.tab.cpp" break; - case 591: /* $@184: %empty */ -#line 7008 "fe/idl.ypp" + case 592: /* $@184: %empty */ +#line 7058 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10503 "fe/idl.tab.cpp" +#line 10557 "fe/idl.tab.cpp" break; - case 592: /* port_export: attribute $@184 ';' */ -#line 7012 "fe/idl.ypp" + case 593: /* port_export: attribute $@184 ';' */ +#line 7062 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10511 "fe/idl.tab.cpp" +#line 10565 "fe/idl.tab.cpp" break; - case 593: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 7019 "fe/idl.ypp" + case 594: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7069 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10578,11 +10632,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10582 "fe/idl.tab.cpp" +#line 10636 "fe/idl.tab.cpp" break; - case 594: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7086 "fe/idl.ypp" + case 595: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7136 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10627,11 +10681,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10631 "fe/idl.tab.cpp" +#line 10685 "fe/idl.tab.cpp" break; - case 595: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7134 "fe/idl.ypp" + case 596: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7184 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10644,11 +10698,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10648 "fe/idl.tab.cpp" +#line 10702 "fe/idl.tab.cpp" break; - case 596: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7150 "fe/idl.ypp" + case 597: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7200 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10661,19 +10715,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10665 "fe/idl.tab.cpp" +#line 10719 "fe/idl.tab.cpp" break; - case 597: /* actual_parameters: %empty */ -#line 7163 "fe/idl.ypp" + case 598: /* actual_parameters: %empty */ +#line 7213 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10673 "fe/idl.tab.cpp" +#line 10727 "fe/idl.tab.cpp" break; - case 598: /* actual_parameter: expression */ -#line 7170 "fe/idl.ypp" + case 599: /* actual_parameter: expression */ +#line 7220 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10729,35 +10783,35 @@ yyparse (void) 0); } } -#line 10733 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 599: /* connector_decl: connector_header connector_body */ -#line 7229 "fe/idl.ypp" + case 600: /* connector_decl: connector_header connector_body */ +#line 7279 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10741 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7236 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10749 "fe/idl.tab.cpp" +#line 10803 "fe/idl.tab.cpp" break; - case 601: /* $@186: %empty */ -#line 7240 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10757 "fe/idl.tab.cpp" +#line 10811 "fe/idl.tab.cpp" break; - case 602: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ -#line 7244 "fe/idl.ypp" + case 603: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ +#line 7294 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10811,102 +10865,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10815 "fe/idl.tab.cpp" +#line 10869 "fe/idl.tab.cpp" break; - case 603: /* $@187: %empty */ -#line 7301 "fe/idl.ypp" + case 604: /* $@187: %empty */ +#line 7351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10823 "fe/idl.tab.cpp" +#line 10877 "fe/idl.tab.cpp" break; - case 604: /* $@188: %empty */ -#line 7305 "fe/idl.ypp" + case 605: /* $@188: %empty */ +#line 7355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10831 "fe/idl.tab.cpp" +#line 10885 "fe/idl.tab.cpp" break; - case 605: /* connector_body: '{' $@187 connector_exports $@188 '}' */ -#line 7309 "fe/idl.ypp" + case 606: /* connector_body: '{' $@187 connector_exports $@188 '}' */ +#line 7359 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10842 "fe/idl.tab.cpp" +#line 10896 "fe/idl.tab.cpp" break; - case 608: /* $@189: %empty */ -#line 7324 "fe/idl.ypp" + case 609: /* $@189: %empty */ +#line 7374 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10850 "fe/idl.tab.cpp" +#line 10904 "fe/idl.tab.cpp" break; - case 609: /* connector_export: provides_decl $@189 ';' */ -#line 7328 "fe/idl.ypp" + case 610: /* connector_export: provides_decl $@189 ';' */ +#line 7378 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10858 "fe/idl.tab.cpp" +#line 10912 "fe/idl.tab.cpp" break; - case 610: /* $@190: %empty */ -#line 7332 "fe/idl.ypp" + case 611: /* $@190: %empty */ +#line 7382 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10866 "fe/idl.tab.cpp" +#line 10920 "fe/idl.tab.cpp" break; - case 611: /* connector_export: uses_decl $@190 ';' */ -#line 7336 "fe/idl.ypp" + case 612: /* connector_export: uses_decl $@190 ';' */ +#line 7386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10874 "fe/idl.tab.cpp" +#line 10928 "fe/idl.tab.cpp" break; - case 612: /* $@191: %empty */ -#line 7340 "fe/idl.ypp" + case 613: /* $@191: %empty */ +#line 7390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10882 "fe/idl.tab.cpp" +#line 10936 "fe/idl.tab.cpp" break; - case 613: /* connector_export: attribute $@191 ';' */ -#line 7344 "fe/idl.ypp" + case 614: /* connector_export: attribute $@191 ';' */ +#line 7394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10890 "fe/idl.tab.cpp" +#line 10944 "fe/idl.tab.cpp" break; - case 614: /* $@192: %empty */ -#line 7348 "fe/idl.ypp" + case 615: /* $@192: %empty */ +#line 7398 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10898 "fe/idl.tab.cpp" +#line 10952 "fe/idl.tab.cpp" break; - case 615: /* connector_export: extended_port_decl $@192 ';' */ -#line 7352 "fe/idl.ypp" + case 616: /* connector_export: extended_port_decl $@192 ';' */ +#line 7402 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10906 "fe/idl.tab.cpp" +#line 10960 "fe/idl.tab.cpp" break; -#line 10910 "fe/idl.tab.cpp" +#line 10964 "fe/idl.tab.cpp" default: break; } @@ -11099,7 +11153,7 @@ yyparse (void) return yyresult; } -#line 7357 "fe/idl.ypp" +#line 7407 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index c3e3476e4f74c..512f86809f647 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -156,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 166 "fe/idl.ypp" +#line 164 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ From d9477512c3b0256d67438426072895669097980b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:30:16 -0400 Subject: [PATCH 68/92] Fixed recursion check Checks both key and val types --- TAO/TAO_IDL/ast/ast_map.cpp | 53 ++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index b83a09fd69545..a630882c75935 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -180,29 +180,50 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) list.enqueue_tail(this); - AST_Type *type = dynamic_cast (this->key_type ()); + AST_Type *key_type = dynamic_cast (this->key_type ()); + AST_Type *val_type = dynamic_cast (this->value_type()); - if (type == nullptr) + if (key_type == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("AST_Map::in_recursion - ") - ACE_TEXT ("bad base type\n")), + ACE_TEXT ("bad key type\n")), false); } - AST_Decl::NodeType nt = type->node_type (); + if (key_type == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("AST_Map::in_recursion - ") + ACE_TEXT ("bad value type\n")), + false); + } + + AST_Decl::NodeType kt = key_type->node_type (); + AST_Decl::NodeType vt = val_type->node_type (); + + if (kt == AST_Decl::NT_typedef) + { + AST_Typedef *td = dynamic_cast (key_type); + key_type = td->primitive_base_type (); + kt = key_type->node_type (); + } - if (nt == AST_Decl::NT_typedef) + if (vt == AST_Decl::NT_typedef) { - AST_Typedef *td = dynamic_cast (type); - type = td->primitive_base_type (); - nt = type->node_type (); + AST_Typedef *td = dynamic_cast(val_type); + val_type = td->primitive_base_type(); + vt = val_type->node_type(); } - if (nt != AST_Decl::NT_struct - && nt != AST_Decl::NT_union - && nt != AST_Decl::NT_valuetype - && nt != AST_Decl::NT_map) + if (kt != AST_Decl::NT_struct + && kt != AST_Decl::NT_union + && kt != AST_Decl::NT_valuetype + && kt != AST_Decl::NT_map + && vt != AST_Decl::NT_struct + && vt != AST_Decl::NT_union + && vt != AST_Decl::NT_valuetype + && vt != AST_Decl::NT_map) { return false; } @@ -210,8 +231,10 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) bool recursion_found = false; AST_Type** recursable_type = nullptr; list.get (recursable_type, 0); - if (!std::strcmp (type->full_name (), - (*recursable_type)->full_name ())) + if (!std::strcmp (key_type->full_name (), + (*recursable_type)->full_name ()) + || !std::strcmp(val_type->full_name (), + (*recursable_type)->full_name ())) { // They match. recursion_found = true; @@ -220,7 +243,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) else { // Check the element type. - recursion_found = type->in_recursion (list); + recursion_found = key_type->in_recursion (list) && val_type->in_recursion (list); } return recursion_found; From f223c829718b10ee349cf69fc94c96be9913a8cb Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:30:28 -0400 Subject: [PATCH 69/92] Fixed recursive type test --- TAO/tests/IDLv4/maps/main.cpp | 4 ++++ TAO/tests/IDLv4/maps/test.idl | 11 ++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index cfbbc95c8624a..baf07e4060c63 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -9,6 +9,10 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) // No need to test the actual map works as it's just a typedef to std::map DataStruct testData; + RecurseStruct rStruct; + rStruct.iMapR[10] = rStruct; + // rStruct.rMapI[rStruct] = 10; // Structs as keys aren't really valid, as they fail to compile when generated via tao_idl + TestStruct testStruct; testStruct.id = 42; testStruct.msg = "Hello World!"; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index bc0998494fb66..ee062d099b059 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,9 +1,9 @@ struct RecurseStruct; -typedef map RecursedMap; -// typedef sequence RecursedSequence; +typedef map IntRecursedMap; +typedef map RecursedMapInt; struct RecurseStruct { - // RecursedSequence seq; - RecursedMap map; + RecursedMapInt rMapI; + IntRecursedMap iMapR; }; struct TestStruct { @@ -18,9 +18,6 @@ typedef map TestIntStringMap; struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that - // RecursedSequence _recursedSequence; - RecursedMap _recursedMap; - map intIntMap; map intIntMapBounded; From f4789ac31459f9906a3718642ed4a669e04e7aa4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 14:58:25 -0400 Subject: [PATCH 70/92] Switched to std::snprintf --- TAO/TAO_IDL/be/be_map.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 40d2b9ef8fa2c..7052e2f0e0683 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -154,9 +154,10 @@ be_map::gen_name () if (this->unbounded () == false) { char ulval_str [NAMEBUFSIZE]; - ACE_OS::sprintf (ulval_str, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); + std::snprintf (ulval_str, + NAMEBUFSIZE, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); ACE_OS::strcat (namebuf, ulval_str); } From 42df71b21849e0d07459e3a13741e72ee8b1fa12 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 14:59:46 -0400 Subject: [PATCH 71/92] another switch --- TAO/TAO_IDL/be/be_map.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 7052e2f0e0683..db7f531cea78e 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -146,7 +146,8 @@ be_map::gen_name () 0); } - ACE_OS::sprintf (namebuf, + std::snprintf (namebuf, + NAMEBUFSIZE, "_tao_map_%s_%s_", kt->flat_name (), vt->flat_name ()); From 4a3d7ed69699463e0e70c43ff7ff76a0a182d265 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 19 Aug 2022 21:38:38 -0400 Subject: [PATCH 72/92] Typo --- TAO/TAO_IDL/ast/ast_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index a630882c75935..3b1255a518538 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -191,7 +191,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) false); } - if (key_type == nullptr) + if (val_type == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("AST_Map::in_recursion - ") From 9b3324cf5a6478f7fe2fe88c6d6a3ca407245837 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:15 -0400 Subject: [PATCH 73/92] Update TAO/TAO_IDL/include/idl_global.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/idl_global.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 2315bd2f97b82..ef2af5be1b32e 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -239,8 +239,8 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapQsSeen // Seen a '>' for map , PS_MapKeyTypeSeen // Seen a key type decl for map , PS_MapValueTypeSeen // Seen a value type decl for map - , PS_MapCommaSeen // Seen comma for sequence - , PS_MapExprSeen // Seen a size expression for sequence + , PS_MapCommaSeen // Seen comma for map + , PS_MapExprSeen // Seen a size expression for map , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence From 2d311a57982bdb874095f6c8a6103e5f7fcf1879 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:27 -0400 Subject: [PATCH 74/92] Update TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index ebbcb04326695..59b24c2287606 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,7 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map *node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From cfc7584a04d2b7b8d69a82d01187fb6edb196c55 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:38 -0400 Subject: [PATCH 75/92] Update TAO/TAO_IDL/include/ast_visitor_reifying.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_visitor_reifying.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 593ff1c0399d3..fddd783693d5e 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,7 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map *node); + virtual int visit_map (AST_Map *node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); From 45dbc23a979e3aa61244c28dd872ee3aa08e9c2d Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:43 -0400 Subject: [PATCH 76/92] Update TAO/TAO_IDL/include/ast_generator.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_generator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index ea333341f8bac..ea310c22b79de 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -330,7 +330,7 @@ class TAO_IDL_FE_Export AST_Generator bool is_abstract); // Create a node representing a map type. - virtual AST_Map *create_map(AST_Expression *v, + virtual AST_Map *create_map (AST_Expression *v, AST_Type *key_bt, AST_Type *val_bt, UTL_ScopedName *n, From 300a3a128675e3afd251c0599866e2478b8f3735 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 17:24:01 -0400 Subject: [PATCH 77/92] Added tests/IDLv4 to github actions --- .github/workflows/linux.yml | 7 +++++++ .github/workflows/macosx.yml | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4f3b2fb4638d5..aab5363131f2a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -239,6 +239,10 @@ jobs: run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4 shell: pwsh + - name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4 + run: | + perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4 + shell: pwsh - name: Build TAO_ACE workspace run: | make -j 6 -C ${env:TAO_ROOT} @@ -252,6 +256,9 @@ jobs: make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test shell: pwsh if: matrix.feature != 'CORBA/e micro' + - name: Build TAO/tests/IDLv4 project + run: | + make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 if: matrix.feature == 'CodeQL' diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 4227b0a65e233..365dec69a0780 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -61,6 +61,10 @@ jobs: run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4 shell: pwsh + - name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4 + run: | + perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4 + shell: pwsh - name: Build TAO_ACE project run: | make -j 6 -C ${env:TAO_ROOT} @@ -73,3 +77,8 @@ jobs: run: | make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test shell: pwsh + - name: Build TAO/tests/IDLv4/maps project + run: | + make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 + shell: pwsh + From f3aff9b252cc9117f4da53f5ea661829f1795efd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 18:31:53 -0400 Subject: [PATCH 78/92] added shell to CI --- .github/workflows/linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 98e2a5b34fec5..00aac2dcdf22f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -265,6 +265,7 @@ jobs: - name: Build TAO/tests/IDLv4 project run: | make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 + shell: pwsh - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 if: matrix.feature == 'CodeQL' From 6ceaada7c54077c188b207ee69fe54906e3010b1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 18:50:35 -0400 Subject: [PATCH 79/92] cleaned up some generated code --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 40 ------------------------ 2 files changed, 1 insertion(+), 41 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 152f2dbe18e8b..f4aeaf75c5dc4 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -45,7 +45,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; - *os << "typedef std::map< "; + *os << "typedef std::map<"; be_type* kt = node->key_type(); be_type* vt = node->value_type(); diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index d575b530f602e..6da71ee89543a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -22,45 +22,5 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) int be_visitor_map_cs::visit_map (be_map *node) { - if (node->defined_in () == nullptr) - { - // The node is a nested map, and has had no scope defined. - node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); - } - - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - TAO_OutStream *os = this->ctx_->stream (); - - *os << be_nl_2; - - TAO_INSERT_COMMENT (os); - - os->gen_ifdef_macro (node->flat_name ()); - - *os << be_nl_2; - - *os << "typedef std::map< "; - - be_type* kt = node->key_type(); - be_type* vt = node->value_type(); - - *os << kt->full_name (); - *os << ", "; - *os << vt->full_name (); - - *os << "> " << node->local_name () << ";"; - - os->gen_endif (); - node->cli_hdr_gen (true); - return 0; } From 4d1b3d3561b27ba53fd494bcbd2cda195939cda9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 18 Oct 2022 00:06:29 -0400 Subject: [PATCH 80/92] fixed comments, removed unused --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 2 +- TAO/TAO_IDL/include/ast_map.h | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index c919eb8b76c47..6007fef759b3a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -23,7 +23,7 @@ be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) } int -be_visitor_map_cdr_op_cs::visit_map (be_map *node) +be_visitor_map_cdr_op_cs::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 0e0f1934a0447..c7791eea23268 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -148,10 +148,15 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType AST_Expression *pd_max_size; // Maximum map size. + /** + * Key type for map + **/ AST_Type *key_pd_type; - // map key type. + + /** + * Value type for map + **/ AST_Type *value_pd_type; - // map value type. bool unbounded_; // Whether we are bounded or unbounded. From bdc650de2ff16972c9b0e9b3e64280f224df08b0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 00:53:58 -0400 Subject: [PATCH 81/92] Almost working stream operators --- TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp | 23 +++++++ TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 4 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 65 +++++++++++++++++- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 68 ++++++++++++++++++- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 25 ++++++- 5 files changed, 178 insertions(+), 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp index 7d2ea51517d6c..c24decb4ef284 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp @@ -15,6 +15,7 @@ #include "be_visitor_sequence/cdr_op_ch.h" #include "be_visitor_structure/structure.h" #include "be_visitor_structure/cdr_op_ch.h" +#include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_union/union.h" #include "be_visitor_union/cdr_op_ch.h" @@ -150,6 +151,28 @@ be_visitor_field_cdr_op_ch::visit_sequence (be_sequence *node) int be_visitor_field_cdr_op_ch::visit_map (be_map *node) { + // If not a typedef and we are defined in the use scope, we must be defined. + if (!this->ctx_->alias () // not a typedef + && node->is_child (this->ctx_->scope ()->decl ())) + { + // Instantiate a visitor context with a copy of our context. This info + // will be modified based on what type of node we are visiting. + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_cdr_op_ch visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_ch::" + "visit_map - " + "codegen failed\n" + ), -1); + } + } + return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 08bd44a8f5b4b..f731c29339958 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -680,11 +680,11 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) switch (this->ctx_->sub_state ()) { case TAO_CodeGen::TAO_CDR_INPUT: - *os << "true"; + *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; return 0; case TAO_CodeGen::TAO_CDR_OUTPUT: - *os << "true"; + *os << "(strm << _tao_aggregate." << f->local_name () << ")"; return 0; case TAO_CodeGen::TAO_CDR_SCOPE: diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 605afdeb969f3..19ff452f936fb 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -22,7 +22,70 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( } int -be_visitor_map_cdr_op_ch::visit_map (be_map *) +be_visitor_map_cdr_op_ch::visit_map (be_map *node) { + be_type *key_type = dynamic_cast (node->key_type ()); + + // If our base type is an anonymous sequence, generate code for it here. + if (key_type->node_type () == AST_Decl::NT_map) + { + if (key_type->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_cdr_op_ch::visit_map -" + "codegen for nested anonymous map failed\n"), + -1); + } + } + + be_type *value_type = dynamic_cast (node->value_type ()); + + // If our base type is an anonymous map, generate code for it here. + if (value_type->node_type () == AST_Decl::NT_map) + { + if (value_type->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_cdr_op_ch::visit_map -" + "codegen for nested anonymous map failed\n"), + -1); + } + } + + TAO_OutStream *os = this->ctx_->stream (); + + be_type *bt = dynamic_cast (node); + be_typedef *tdef = dynamic_cast (bt); + + if (tdef == nullptr) + { + *os << "\n\n#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_H_" + << "\n#define _TAO_CDR_OP_" << node->flat_name () << "_H_"; + } + + *os << be_nl_2 + << be_global->stub_export_macro () << " ::CORBA::Boolean" + << " operator<< (" << be_idt << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << key_type->name() << ", " << value_type->name() << ">"; + + *os << " &_tao_map);" << be_uidt << be_uidt_nl; + + *os << be_global->stub_export_macro () << " ::CORBA::Boolean" + << " operator>> (" << be_idt << be_idt_nl + << "TAO_InputCDR &strm," << be_nl + << "std::map<" << key_type->name() << ", " << value_type->name() << ">"; + + *os << " &_tao_map);" << be_uidt << be_uidt; + + if (tdef == nullptr) + { + *os << "\n\n#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_H_ */"; + } + + node->cli_hdr_cdr_op_gen (true); + return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 6007fef759b3a..f7ec5b7de43f2 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -23,8 +23,72 @@ be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) } int -be_visitor_map_cdr_op_cs::visit_map (be_map *) -{ +be_visitor_map_cdr_op_cs::visit_map (be_map *node) +{ + if (this->ctx_->alias ()) + { + return this->visit_node(node); + } + + if (node->cli_stub_cdr_op_gen() + || node->imported() + || node->is_local()) + { + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + be_type *key_type = dynamic_cast (node->key_type ()); + + be_type *value_type = dynamic_cast (node->value_type ()); + + TAO_INSERT_COMMENT (os); + + *os << "#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_CPP_" << be_nl + << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + << be_nl; + + *os << be_global->core_versioning_begin () << be_nl; + + // Set the sub state as generating code for the output operator. + this->ctx_->sub_state (TAO_CodeGen::TAO_CDR_OUTPUT); + + *os << "::CORBA::Boolean operator<< (" << be_idt_nl + << "TAO_OutputCDR &," << be_nl + << "const std::map<" << key_type->full_name () + << ", " << value_type->full_name() + << "> &)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; + + *os << "::CORBA::Boolean operator>> (" << be_idt_nl + << "TAO_InputCDR &," << be_nl + << "std::map<" << key_type->full_name () + << ", " << value_type->full_name() + << "> &)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; + + if (be_global->gen_ostream_operators ()) + { + node->gen_ostream_operator (os, false); + } + + *os << be_nl << be_global->core_versioning_end (); + + *os << be_nl + << "#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_CPP_ */"; + + node->cli_stub_cdr_op_gen (true); return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index f4aeaf75c5dc4..a927059423d67 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -50,9 +50,30 @@ int be_visitor_map_ch::visit_map (be_map *node) be_type* kt = node->key_type(); be_type* vt = node->value_type(); - *os << kt->full_name (); + // Generate the base type for the buffer. + be_visitor_context ctx (*this->ctx_); + ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); + be_visitor_map_buffer_type bt_visitor (&ctx); + + if (kt->accept (&bt_visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_sequence_ch::") + ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("buffer type visit failed\n")), + -1); + } + *os << ", "; - *os << vt->full_name (); + + if (vt->accept (&bt_visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_sequence_ch::") + ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("buffer type visit failed\n")), + -1); + } *os << "> " << node->local_name () << ";"; From 6f8fce1c507d3ccb179c60d07c3e9b42961f447a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 13:01:05 -0400 Subject: [PATCH 82/92] removed support for bounded maps This was causing issues with the code generation. A bounded map isn't supported with std::map --- TAO/TAO_IDL/fe/idl.tab.cpp | 3967 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.ypp | 64 - TAO/TAO_IDL/fe/idl.yy.cpp | 82 +- 3 files changed, 1988 insertions(+), 2125 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 85d2e3b1fae26..ea575ee17f312 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -147,8 +147,8 @@ #include void tao_yyerror (const char *); -int tao_yylex (); -extern "C" int tao_yywrap (); +int tao_yylex (void); +extern "C" int tao_yywrap (void); extern char tao_yytext[]; extern int tao_yyleng; @@ -517,206 +517,205 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_328_92 = 328, /* $@92 */ - YYSYMBOL_map_head = 329, /* map_head */ - YYSYMBOL_330_93 = 330, /* $@93 */ - YYSYMBOL_331_94 = 331, /* $@94 */ - YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_334_96 = 334, /* $@96 */ - YYSYMBOL_seq_head = 335, /* seq_head */ - YYSYMBOL_336_97 = 336, /* $@97 */ - YYSYMBOL_337_98 = 337, /* $@98 */ - YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 339, /* string_type_spec */ - YYSYMBOL_340_99 = 340, /* $@99 */ - YYSYMBOL_341_100 = 341, /* $@100 */ - YYSYMBOL_string_head = 342, /* string_head */ - YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ - YYSYMBOL_344_101 = 344, /* $@101 */ - YYSYMBOL_345_102 = 345, /* $@102 */ - YYSYMBOL_wstring_head = 346, /* wstring_head */ - YYSYMBOL_array_declarator = 347, /* array_declarator */ - YYSYMBOL_348_103 = 348, /* $@103 */ - YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 350, /* array_dims */ - YYSYMBOL_array_dim = 351, /* array_dim */ - YYSYMBOL_352_104 = 352, /* $@104 */ - YYSYMBOL_353_105 = 353, /* $@105 */ - YYSYMBOL_attribute = 354, /* attribute */ - YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ + YYSYMBOL_map_head = 327, /* map_head */ + YYSYMBOL_328_91 = 328, /* $@91 */ + YYSYMBOL_329_92 = 329, /* $@92 */ + YYSYMBOL_sequence_type_spec = 330, /* sequence_type_spec */ + YYSYMBOL_331_93 = 331, /* $@93 */ + YYSYMBOL_332_94 = 332, /* $@94 */ + YYSYMBOL_seq_head = 333, /* seq_head */ + YYSYMBOL_334_95 = 334, /* $@95 */ + YYSYMBOL_335_96 = 335, /* $@96 */ + YYSYMBOL_fixed_type_spec = 336, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 337, /* string_type_spec */ + YYSYMBOL_338_97 = 338, /* $@97 */ + YYSYMBOL_339_98 = 339, /* $@98 */ + YYSYMBOL_string_head = 340, /* string_head */ + YYSYMBOL_wstring_type_spec = 341, /* wstring_type_spec */ + YYSYMBOL_342_99 = 342, /* $@99 */ + YYSYMBOL_343_100 = 343, /* $@100 */ + YYSYMBOL_wstring_head = 344, /* wstring_head */ + YYSYMBOL_array_declarator = 345, /* array_declarator */ + YYSYMBOL_346_101 = 346, /* $@101 */ + YYSYMBOL_at_least_one_array_dim = 347, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 348, /* array_dims */ + YYSYMBOL_array_dim = 349, /* array_dim */ + YYSYMBOL_350_102 = 350, /* $@102 */ + YYSYMBOL_351_103 = 351, /* $@103 */ + YYSYMBOL_attribute = 352, /* attribute */ + YYSYMBOL_attribute_readonly = 353, /* attribute_readonly */ + YYSYMBOL_354_104 = 354, /* $@104 */ + YYSYMBOL_355_105 = 355, /* $@105 */ YYSYMBOL_356_106 = 356, /* $@106 */ YYSYMBOL_357_107 = 357, /* $@107 */ - YYSYMBOL_358_108 = 358, /* $@108 */ - YYSYMBOL_359_109 = 359, /* $@109 */ - YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ + YYSYMBOL_attribute_readwrite = 358, /* attribute_readwrite */ + YYSYMBOL_359_108 = 359, /* $@108 */ + YYSYMBOL_360_109 = 360, /* $@109 */ YYSYMBOL_361_110 = 361, /* $@110 */ YYSYMBOL_362_111 = 362, /* $@111 */ - YYSYMBOL_363_112 = 363, /* $@112 */ - YYSYMBOL_364_113 = 364, /* $@113 */ - YYSYMBOL_exception = 365, /* exception */ + YYSYMBOL_exception = 363, /* exception */ + YYSYMBOL_364_112 = 364, /* $@112 */ + YYSYMBOL_365_113 = 365, /* @113 */ YYSYMBOL_366_114 = 366, /* $@114 */ - YYSYMBOL_367_115 = 367, /* @115 */ - YYSYMBOL_368_116 = 368, /* $@116 */ - YYSYMBOL_369_117 = 369, /* $@117 */ - YYSYMBOL_operation = 370, /* operation */ + YYSYMBOL_367_115 = 367, /* $@115 */ + YYSYMBOL_operation = 368, /* operation */ + YYSYMBOL_369_116 = 369, /* $@116 */ + YYSYMBOL_370_117 = 370, /* $@117 */ YYSYMBOL_371_118 = 371, /* $@118 */ YYSYMBOL_372_119 = 372, /* $@119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_374_121 = 374, /* $@121 */ - YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 376, /* op_type_spec */ - YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_opt_op_attribute = 373, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 374, /* op_type_spec */ + YYSYMBOL_init_decl = 375, /* init_decl */ + YYSYMBOL_376_120 = 376, /* $@120 */ + YYSYMBOL_377_121 = 377, /* @121 */ YYSYMBOL_378_122 = 378, /* $@122 */ - YYSYMBOL_379_123 = 379, /* @123 */ - YYSYMBOL_380_124 = 380, /* $@124 */ - YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_383_126 = 383, /* $@126 */ - YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 385, /* in_parameters */ - YYSYMBOL_386_127 = 386, /* $@127 */ - YYSYMBOL_in_parameter = 387, /* in_parameter */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_389_129 = 389, /* $@129 */ - YYSYMBOL_parameter_list = 390, /* parameter_list */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_392_131 = 392, /* $@131 */ - YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ - YYSYMBOL_parameters = 394, /* parameters */ - YYSYMBOL_395_132 = 395, /* $@132 */ - YYSYMBOL_parameter = 396, /* parameter */ - YYSYMBOL_397_133 = 397, /* $@133 */ - YYSYMBOL_398_134 = 398, /* $@134 */ - YYSYMBOL_param_type_spec = 399, /* param_type_spec */ - YYSYMBOL_direction = 400, /* direction */ - YYSYMBOL_opt_raises = 401, /* opt_raises */ - YYSYMBOL_402_135 = 402, /* $@135 */ - YYSYMBOL_403_136 = 403, /* $@136 */ - YYSYMBOL_opt_getraises = 404, /* opt_getraises */ - YYSYMBOL_405_137 = 405, /* $@137 */ - YYSYMBOL_406_138 = 406, /* $@138 */ - YYSYMBOL_opt_setraises = 407, /* opt_setraises */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_409_140 = 409, /* $@140 */ - YYSYMBOL_opt_context = 410, /* opt_context */ - YYSYMBOL_411_141 = 411, /* $@141 */ - YYSYMBOL_412_142 = 412, /* $@142 */ - YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 414, /* string_literals */ - YYSYMBOL_415_143 = 415, /* $@143 */ - YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ - YYSYMBOL_component = 418, /* component */ - YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ - YYSYMBOL_component_decl = 420, /* component_decl */ - YYSYMBOL_421_144 = 421, /* @144 */ - YYSYMBOL_422_145 = 422, /* $@145 */ - YYSYMBOL_423_146 = 423, /* $@146 */ - YYSYMBOL_component_header = 424, /* component_header */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_426_148 = 426, /* $@148 */ - YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ - YYSYMBOL_428_149 = 428, /* $@149 */ - YYSYMBOL_component_exports = 429, /* component_exports */ - YYSYMBOL_component_export = 430, /* component_export */ + YYSYMBOL_init_parameter_list = 379, /* init_parameter_list */ + YYSYMBOL_380_123 = 380, /* $@123 */ + YYSYMBOL_381_124 = 381, /* $@124 */ + YYSYMBOL_at_least_one_in_parameter = 382, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 383, /* in_parameters */ + YYSYMBOL_384_125 = 384, /* $@125 */ + YYSYMBOL_in_parameter = 385, /* in_parameter */ + YYSYMBOL_386_126 = 386, /* $@126 */ + YYSYMBOL_387_127 = 387, /* $@127 */ + YYSYMBOL_parameter_list = 388, /* parameter_list */ + YYSYMBOL_389_128 = 389, /* $@128 */ + YYSYMBOL_390_129 = 390, /* $@129 */ + YYSYMBOL_at_least_one_parameter = 391, /* at_least_one_parameter */ + YYSYMBOL_parameters = 392, /* parameters */ + YYSYMBOL_393_130 = 393, /* $@130 */ + YYSYMBOL_parameter = 394, /* parameter */ + YYSYMBOL_395_131 = 395, /* $@131 */ + YYSYMBOL_396_132 = 396, /* $@132 */ + YYSYMBOL_param_type_spec = 397, /* param_type_spec */ + YYSYMBOL_direction = 398, /* direction */ + YYSYMBOL_opt_raises = 399, /* opt_raises */ + YYSYMBOL_400_133 = 400, /* $@133 */ + YYSYMBOL_401_134 = 401, /* $@134 */ + YYSYMBOL_opt_getraises = 402, /* opt_getraises */ + YYSYMBOL_403_135 = 403, /* $@135 */ + YYSYMBOL_404_136 = 404, /* $@136 */ + YYSYMBOL_opt_setraises = 405, /* opt_setraises */ + YYSYMBOL_406_137 = 406, /* $@137 */ + YYSYMBOL_407_138 = 407, /* $@138 */ + YYSYMBOL_opt_context = 408, /* opt_context */ + YYSYMBOL_409_139 = 409, /* $@139 */ + YYSYMBOL_410_140 = 410, /* $@140 */ + YYSYMBOL_at_least_one_string_literal = 411, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 412, /* string_literals */ + YYSYMBOL_413_141 = 413, /* $@141 */ + YYSYMBOL_typeid_dcl = 414, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 415, /* typeprefix_dcl */ + YYSYMBOL_component = 416, /* component */ + YYSYMBOL_component_forward_decl = 417, /* component_forward_decl */ + YYSYMBOL_component_decl = 418, /* component_decl */ + YYSYMBOL_419_142 = 419, /* @142 */ + YYSYMBOL_420_143 = 420, /* $@143 */ + YYSYMBOL_421_144 = 421, /* $@144 */ + YYSYMBOL_component_header = 422, /* component_header */ + YYSYMBOL_423_145 = 423, /* $@145 */ + YYSYMBOL_424_146 = 424, /* $@146 */ + YYSYMBOL_component_inheritance_spec = 425, /* component_inheritance_spec */ + YYSYMBOL_426_147 = 426, /* $@147 */ + YYSYMBOL_component_exports = 427, /* component_exports */ + YYSYMBOL_component_export = 428, /* component_export */ + YYSYMBOL_429_148 = 429, /* $@148 */ + YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ YYSYMBOL_434_153 = 434, /* $@153 */ YYSYMBOL_435_154 = 435, /* $@154 */ - YYSYMBOL_436_155 = 436, /* $@155 */ - YYSYMBOL_437_156 = 437, /* $@156 */ - YYSYMBOL_provides_decl = 438, /* provides_decl */ - YYSYMBOL_interface_type = 439, /* interface_type */ - YYSYMBOL_uses_decl = 440, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 442, /* opt_multiple */ - YYSYMBOL_emits_decl = 443, /* emits_decl */ - YYSYMBOL_publishes_decl = 444, /* publishes_decl */ - YYSYMBOL_consumes_decl = 445, /* consumes_decl */ - YYSYMBOL_home_decl = 446, /* home_decl */ - YYSYMBOL_447_157 = 447, /* $@157 */ - YYSYMBOL_home_header = 448, /* home_header */ + YYSYMBOL_provides_decl = 436, /* provides_decl */ + YYSYMBOL_interface_type = 437, /* interface_type */ + YYSYMBOL_uses_decl = 438, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 439, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 440, /* opt_multiple */ + YYSYMBOL_emits_decl = 441, /* emits_decl */ + YYSYMBOL_publishes_decl = 442, /* publishes_decl */ + YYSYMBOL_consumes_decl = 443, /* consumes_decl */ + YYSYMBOL_home_decl = 444, /* home_decl */ + YYSYMBOL_445_155 = 445, /* $@155 */ + YYSYMBOL_home_header = 446, /* home_header */ + YYSYMBOL_447_156 = 447, /* $@156 */ + YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ YYSYMBOL_451_160 = 451, /* $@160 */ YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_454_163 = 454, /* $@163 */ - YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ - YYSYMBOL_456_164 = 456, /* $@164 */ - YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ - YYSYMBOL_home_body = 458, /* home_body */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_460_166 = 460, /* $@166 */ - YYSYMBOL_home_exports = 461, /* home_exports */ - YYSYMBOL_home_export = 462, /* home_export */ - YYSYMBOL_463_167 = 463, /* $@167 */ - YYSYMBOL_464_168 = 464, /* $@168 */ - YYSYMBOL_factory_decl = 465, /* factory_decl */ - YYSYMBOL_466_169 = 466, /* $@169 */ - YYSYMBOL_467_170 = 467, /* $@170 */ - YYSYMBOL_finder_decl = 468, /* finder_decl */ - YYSYMBOL_469_171 = 469, /* $@171 */ - YYSYMBOL_470_172 = 470, /* $@172 */ - YYSYMBOL_event = 471, /* event */ - YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_home_inheritance_spec = 453, /* home_inheritance_spec */ + YYSYMBOL_454_162 = 454, /* $@162 */ + YYSYMBOL_primary_key_spec = 455, /* primary_key_spec */ + YYSYMBOL_home_body = 456, /* home_body */ + YYSYMBOL_457_163 = 457, /* $@163 */ + YYSYMBOL_458_164 = 458, /* $@164 */ + YYSYMBOL_home_exports = 459, /* home_exports */ + YYSYMBOL_home_export = 460, /* home_export */ + YYSYMBOL_461_165 = 461, /* $@165 */ + YYSYMBOL_462_166 = 462, /* $@166 */ + YYSYMBOL_factory_decl = 463, /* factory_decl */ + YYSYMBOL_464_167 = 464, /* $@167 */ + YYSYMBOL_465_168 = 465, /* $@168 */ + YYSYMBOL_finder_decl = 466, /* finder_decl */ + YYSYMBOL_467_169 = 467, /* $@169 */ + YYSYMBOL_468_170 = 468, /* $@170 */ + YYSYMBOL_event = 469, /* event */ + YYSYMBOL_event_forward_decl = 470, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 471, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 472, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 473, /* event_abs_decl */ + YYSYMBOL_474_171 = 474, /* $@171 */ + YYSYMBOL_475_172 = 475, /* $@172 */ YYSYMBOL_476_173 = 476, /* $@173 */ - YYSYMBOL_477_174 = 477, /* $@174 */ - YYSYMBOL_478_175 = 478, /* $@175 */ - YYSYMBOL_event_abs_header = 479, /* event_abs_header */ - YYSYMBOL_event_custom_header = 480, /* event_custom_header */ - YYSYMBOL_event_plain_header = 481, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ - YYSYMBOL_483_176 = 483, /* $@176 */ - YYSYMBOL_event_decl = 484, /* event_decl */ - YYSYMBOL_485_177 = 485, /* @177 */ - YYSYMBOL_486_178 = 486, /* $@178 */ - YYSYMBOL_487_179 = 487, /* $@179 */ - YYSYMBOL_event_header = 488, /* event_header */ - YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 491, /* formal_parameters */ - YYSYMBOL_formal_parameter = 492, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 496, /* porttype_decl */ + YYSYMBOL_event_abs_header = 477, /* event_abs_header */ + YYSYMBOL_event_custom_header = 478, /* event_custom_header */ + YYSYMBOL_event_plain_header = 479, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 480, /* event_rest_of_header */ + YYSYMBOL_481_174 = 481, /* $@174 */ + YYSYMBOL_event_decl = 482, /* event_decl */ + YYSYMBOL_483_175 = 483, /* @175 */ + YYSYMBOL_484_176 = 484, /* $@176 */ + YYSYMBOL_485_177 = 485, /* $@177 */ + YYSYMBOL_event_header = 486, /* event_header */ + YYSYMBOL_formal_parameter_type = 487, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 488, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 489, /* formal_parameters */ + YYSYMBOL_formal_parameter = 490, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 491, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 492, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 493, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 494, /* porttype_decl */ + YYSYMBOL_495_178 = 495, /* $@178 */ + YYSYMBOL_496_179 = 496, /* @179 */ YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_498_181 = 498, /* @181 */ - YYSYMBOL_499_182 = 499, /* $@182 */ - YYSYMBOL_500_183 = 500, /* $@183 */ - YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 502, /* port_exports */ - YYSYMBOL_port_export = 503, /* port_export */ - YYSYMBOL_504_184 = 504, /* $@184 */ - YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 507, /* actual_parameters */ - YYSYMBOL_actual_parameter = 508, /* actual_parameter */ - YYSYMBOL_connector_decl = 509, /* connector_decl */ - YYSYMBOL_connector_header = 510, /* connector_header */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_512_186 = 512, /* $@186 */ - YYSYMBOL_connector_body = 513, /* connector_body */ - YYSYMBOL_514_187 = 514, /* $@187 */ - YYSYMBOL_515_188 = 515, /* $@188 */ - YYSYMBOL_connector_exports = 516, /* connector_exports */ - YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_498_181 = 498, /* $@181 */ + YYSYMBOL_at_least_one_port_export = 499, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 500, /* port_exports */ + YYSYMBOL_port_export = 501, /* port_export */ + YYSYMBOL_502_182 = 502, /* $@182 */ + YYSYMBOL_extended_port_decl = 503, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 504, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 505, /* actual_parameters */ + YYSYMBOL_actual_parameter = 506, /* actual_parameter */ + YYSYMBOL_connector_decl = 507, /* connector_decl */ + YYSYMBOL_connector_header = 508, /* connector_header */ + YYSYMBOL_509_183 = 509, /* $@183 */ + YYSYMBOL_510_184 = 510, /* $@184 */ + YYSYMBOL_connector_body = 511, /* connector_body */ + YYSYMBOL_512_185 = 512, /* $@185 */ + YYSYMBOL_513_186 = 513, /* $@186 */ + YYSYMBOL_connector_exports = 514, /* connector_exports */ + YYSYMBOL_connector_export = 515, /* connector_export */ + YYSYMBOL_516_187 = 516, /* $@187 */ + YYSYMBOL_517_188 = 517, /* $@188 */ YYSYMBOL_518_189 = 518, /* $@189 */ - YYSYMBOL_519_190 = 519, /* $@190 */ - YYSYMBOL_520_191 = 520, /* $@191 */ - YYSYMBOL_521_192 = 521 /* $@192 */ + YYSYMBOL_519_190 = 519 /* $@190 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; + #ifdef short # undef short #endif @@ -1038,16 +1037,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2197 +#define YYLAST 2130 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 404 +#define YYNNTS 402 /* YYNRULES -- Number of rules. */ -#define YYNRULES 616 +#define YYNRULES 613 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 906 +#define YYNSTATES 901 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1141,33 +1140,33 @@ static const yytype_int16 yyrline[] = 3432, 3441, 3448, 3449, 3558, 3561, 3562, 3567, 3571, 3566, 3607, 3606, 3618, 3628, 3646, 3654, 3653, 3667, 3671, 3666, 3687, 3686, 3736, 3761, 3785, 3789, 3820, 3824, 3784, 3848, - 3853, 3851, 3857, 3861, 3901, 3905, 3899, 3963, 4027, 4037, - 4026, 4062, 4066, 4060, 4150, 4217, 4226, 4216, 4240, 4250, - 4254, 4248, 4296, 4322, 4331, 4335, 4329, 4377, 4403, 4411, - 4410, 4453, 4463, 4481, 4489, 4493, 4488, 4553, 4554, 4559, - 4563, 4567, 4571, 4558, 4630, 4634, 4638, 4642, 4629, 4710, - 4714, 4746, 4750, 4709, 4767, 4771, 4832, 4836, 4766, 4873, - 4878, 4883, 4890, 4891, 4902, 4907, 4950, 4901, 4972, 4971, - 4980, 4979, 4990, 4995, 4993, 4999, 5004, 5008, 5003, 5047, - 5046, 5055, 5054, 5065, 5070, 5068, 5074, 5079, 5083, 5078, - 5128, 5135, 5136, 5137, 5292, 5296, 5300, 5308, 5312, 5307, - 5321, 5329, 5333, 5328, 5342, 5350, 5354, 5349, 5363, 5371, - 5375, 5370, 5384, 5391, 5403, 5401, 5424, 5431, 5461, 5500, - 5501, 5505, 5536, 5578, 5582, 5535, 5601, 5605, 5599, 5646, - 5645, 5653, 5660, 5675, 5676, 5681, 5680, 5690, 5689, 5699, - 5698, 5708, 5707, 5717, 5716, 5726, 5725, 5735, 5734, 5745, - 5838, 5844, 5869, 5976, 5985, 5989, 5996, 6071, 6143, 6219, - 6218, 6268, 6272, 6276, 6280, 6284, 6288, 6267, 6341, 6340, - 6348, 6355, 6360, 6368, 6372, 6367, 6382, 6383, 6387, 6389, - 6388, 6397, 6396, 6409, 6432, 6407, 6458, 6485, 6456, 6509, - 6510, 6511, 6515, 6516, 6520, 6549, 6581, 6625, 6629, 6579, - 6646, 6655, 6673, 6684, 6683, 6721, 6772, 6776, 6719, 6793, - 6797, 6804, 6808, 6812, 6816, 6820, 6824, 6828, 6832, 6836, - 6840, 6844, 6852, 6883, 6896, 6903, 6928, 6946, 6953, 6968, - 6975, 6985, 6989, 7008, 7016, 6984, 7031, 7046, 7050, 7051, - 7055, 7056, 7058, 7057, 7068, 7135, 7183, 7199, 7212, 7219, - 7278, 7286, 7290, 7285, 7351, 7355, 7350, 7368, 7369, 7374, - 7373, 7382, 7381, 7390, 7389, 7398, 7397 + 3853, 3851, 3857, 3861, 3899, 3963, 3973, 3962, 3998, 4002, + 3996, 4086, 4153, 4162, 4152, 4176, 4186, 4190, 4184, 4232, + 4258, 4267, 4271, 4265, 4313, 4339, 4347, 4346, 4389, 4399, + 4417, 4425, 4429, 4424, 4489, 4490, 4495, 4499, 4503, 4507, + 4494, 4566, 4570, 4574, 4578, 4565, 4646, 4650, 4682, 4686, + 4645, 4703, 4707, 4768, 4772, 4702, 4809, 4814, 4819, 4826, + 4827, 4838, 4843, 4886, 4837, 4908, 4907, 4916, 4915, 4926, + 4931, 4929, 4935, 4940, 4944, 4939, 4983, 4982, 4991, 4990, + 5001, 5006, 5004, 5010, 5015, 5019, 5014, 5064, 5071, 5072, + 5073, 5228, 5232, 5236, 5244, 5248, 5243, 5257, 5265, 5269, + 5264, 5278, 5286, 5290, 5285, 5299, 5307, 5311, 5306, 5320, + 5327, 5339, 5337, 5360, 5367, 5397, 5436, 5437, 5441, 5472, + 5514, 5518, 5471, 5537, 5541, 5535, 5582, 5581, 5589, 5596, + 5611, 5612, 5617, 5616, 5626, 5625, 5635, 5634, 5644, 5643, + 5653, 5652, 5662, 5661, 5671, 5670, 5681, 5774, 5780, 5805, + 5912, 5921, 5925, 5932, 6007, 6079, 6155, 6154, 6204, 6208, + 6212, 6216, 6220, 6224, 6203, 6277, 6276, 6284, 6291, 6296, + 6304, 6308, 6303, 6318, 6319, 6323, 6325, 6324, 6333, 6332, + 6345, 6368, 6343, 6394, 6421, 6392, 6445, 6446, 6447, 6451, + 6452, 6456, 6485, 6517, 6561, 6565, 6515, 6582, 6591, 6609, + 6620, 6619, 6657, 6708, 6712, 6655, 6729, 6733, 6740, 6744, + 6748, 6752, 6756, 6760, 6764, 6768, 6772, 6776, 6780, 6788, + 6819, 6832, 6839, 6864, 6882, 6889, 6904, 6911, 6921, 6925, + 6944, 6952, 6920, 6967, 6982, 6986, 6987, 6991, 6992, 6994, + 6993, 7004, 7071, 7119, 7135, 7148, 7155, 7214, 7222, 7226, + 7221, 7287, 7291, 7286, 7304, 7305, 7310, 7309, 7318, 7317, + 7326, 7325, 7334, 7333 }; #endif @@ -1251,48 +1250,47 @@ static const char *const yytname[] = "$@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", - "map_type_spec", "$@91", "$@92", "map_head", "$@93", "$@94", - "sequence_type_spec", "$@95", "$@96", "seq_head", "$@97", "$@98", - "fixed_type_spec", "string_type_spec", "$@99", "$@100", "string_head", - "wstring_type_spec", "$@101", "$@102", "wstring_head", - "array_declarator", "$@103", "at_least_one_array_dim", "array_dims", - "array_dim", "$@104", "$@105", "attribute", "attribute_readonly", - "$@106", "$@107", "$@108", "$@109", "attribute_readwrite", "$@110", - "$@111", "$@112", "$@113", "exception", "$@114", "@115", "$@116", - "$@117", "operation", "$@118", "$@119", "$@120", "$@121", - "opt_op_attribute", "op_type_spec", "init_decl", "$@122", "@123", - "$@124", "init_parameter_list", "$@125", "$@126", - "at_least_one_in_parameter", "in_parameters", "$@127", "in_parameter", - "$@128", "$@129", "parameter_list", "$@130", "$@131", - "at_least_one_parameter", "parameters", "$@132", "parameter", "$@133", - "$@134", "param_type_spec", "direction", "opt_raises", "$@135", "$@136", - "opt_getraises", "$@137", "$@138", "opt_setraises", "$@139", "$@140", - "opt_context", "$@141", "$@142", "at_least_one_string_literal", - "string_literals", "$@143", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@144", "$@145", "$@146", - "component_header", "$@147", "$@148", "component_inheritance_spec", - "$@149", "component_exports", "component_export", "$@150", "$@151", - "$@152", "$@153", "$@154", "$@155", "$@156", "provides_decl", + "map_type_spec", "map_head", "$@91", "$@92", "sequence_type_spec", + "$@93", "$@94", "seq_head", "$@95", "$@96", "fixed_type_spec", + "string_type_spec", "$@97", "$@98", "string_head", "wstring_type_spec", + "$@99", "$@100", "wstring_head", "array_declarator", "$@101", + "at_least_one_array_dim", "array_dims", "array_dim", "$@102", "$@103", + "attribute", "attribute_readonly", "$@104", "$@105", "$@106", "$@107", + "attribute_readwrite", "$@108", "$@109", "$@110", "$@111", "exception", + "$@112", "@113", "$@114", "$@115", "operation", "$@116", "$@117", + "$@118", "$@119", "opt_op_attribute", "op_type_spec", "init_decl", + "$@120", "@121", "$@122", "init_parameter_list", "$@123", "$@124", + "at_least_one_in_parameter", "in_parameters", "$@125", "in_parameter", + "$@126", "$@127", "parameter_list", "$@128", "$@129", + "at_least_one_parameter", "parameters", "$@130", "parameter", "$@131", + "$@132", "param_type_spec", "direction", "opt_raises", "$@133", "$@134", + "opt_getraises", "$@135", "$@136", "opt_setraises", "$@137", "$@138", + "opt_context", "$@139", "$@140", "at_least_one_string_literal", + "string_literals", "$@141", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@142", "$@143", "$@144", + "component_header", "$@145", "$@146", "component_inheritance_spec", + "$@147", "component_exports", "component_export", "$@148", "$@149", + "$@150", "$@151", "$@152", "$@153", "$@154", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@157", - "home_header", "$@158", "$@159", "$@160", "$@161", "$@162", "$@163", - "home_inheritance_spec", "$@164", "primary_key_spec", "home_body", - "$@165", "$@166", "home_exports", "home_export", "$@167", "$@168", - "factory_decl", "$@169", "$@170", "finder_decl", "$@171", "$@172", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@155", + "home_header", "$@156", "$@157", "$@158", "$@159", "$@160", "$@161", + "home_inheritance_spec", "$@162", "primary_key_spec", "home_body", + "$@163", "$@164", "home_exports", "home_export", "$@165", "$@166", + "factory_decl", "$@167", "$@168", "finder_decl", "$@169", "$@170", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@173", "$@174", "$@175", + "event_abs_forward_decl", "event_abs_decl", "$@171", "$@172", "$@173", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@176", "event_decl", "@177", "$@178", "$@179", + "event_rest_of_header", "$@174", "event_decl", "@175", "$@176", "$@177", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@180", "@181", "$@182", - "$@183", "at_least_one_port_export", "port_exports", "port_export", - "$@184", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@178", "@179", "$@180", + "$@181", "at_least_one_port_export", "port_exports", "port_export", + "$@182", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@185", "$@186", "connector_body", "$@187", "$@188", - "connector_exports", "connector_export", "$@189", "$@190", "$@191", - "$@192", YY_NULLPTR + "connector_header", "$@183", "$@184", "connector_body", "$@185", "$@186", + "connector_exports", "connector_export", "$@187", "$@188", "$@189", + "$@190", YY_NULLPTR }; static const char * @@ -1302,12 +1300,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-684) +#define YYPACT_NINF (-679) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-585) +#define YYTABLE_NINF (-582) #define yytable_value_is_error(Yyn) \ 0 @@ -1316,97 +1314,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -684, 90, 1424, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 55, 92, 81, 76, -684, 55, - 55, -684, 47, 47, -684, -684, 55, -684, -684, 2, - -684, 295, 74, 83, -684, -684, 4, -684, -684, -684, - -684, -684, -684, 602, -684, -684, -684, -684, -684, 1626, - 82, -684, -684, 86, -684, 132, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 12, -684, -684, -684, 12, -684, - -684, 106, 94, 2107, 47, 55, 1984, 55, 55, 55, - 55, -684, -684, -684, 15, 55, 27, -684, 30, 55, - -684, 12, 55, 121, 129, 55, -684, -684, 31, -684, - 33, 210, -684, 133, -684, 135, 144, 474, -684, -684, - -684, 146, 201, -684, 154, 160, 165, 100, -684, 166, - -684, -684, -684, -684, -684, -684, 56, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, 181, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 132, -684, -684, -684, 59, -684, 63, -684, -684, 177, - -684, 178, 182, 183, -684, 47, 185, 188, 184, -684, - 189, 193, 196, 197, 198, 200, 202, 206, -684, -684, - -684, 207, 209, -684, -684, -684, -684, 181, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 181, -684, -684, - -684, -684, -684, -684, -684, -684, 211, -684, 212, -684, - -684, 205, -684, 292, -684, -684, -684, -684, 53, -684, - -684, -684, 2107, -684, -684, -684, -684, 213, -684, -684, - -684, -684, -684, 302, -684, -684, 131, 221, -684, -684, - -684, -684, -684, -684, -684, -684, 290, -684, 485, 214, - 224, 261, -684, -684, -684, -684, -684, -684, -684, -684, - 181, -684, -684, 216, -684, -684, -684, -684, -684, -684, - -684, -684, -684, 261, 228, 229, -684, -684, -684, 55, - 55, 241, 242, -684, -684, -684, 240, -684, 292, 250, - -684, -684, -684, -684, -684, 308, -684, 249, 248, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, 65, - 65, 65, 485, 181, -684, -684, 247, 251, 252, 107, - 93, 58, -684, -684, -684, -684, -684, 47, -684, -684, - -684, -684, 253, -684, -684, 47, -684, 485, 485, 485, - 485, 246, -684, -684, -684, -684, -684, -684, -684, 153, - -684, 0, -684, -684, -684, -684, -684, -684, -684, -684, - 47, 261, -684, -684, -684, -684, 205, 729, 1539, 255, - 254, -684, 474, -684, -684, -684, 256, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 258, 55, -684, - 181, 1124, -684, 843, 485, -684, 1716, -684, -684, -684, - -684, -684, 485, -684, 1489, -684, -684, -684, 203, 1031, - -684, -684, -684, -684, 67, 307, 47, 47, -684, -684, - -684, -684, -684, 67, -684, 268, -684, 265, -684, 267, - -684, -684, 1218, 181, -684, 47, 261, -684, -684, -684, - -684, 275, -684, -684, 55, -684, -684, 276, 279, 372, - 281, -684, -684, 251, 252, 107, 93, 93, 58, 58, - -684, -684, -684, -684, -684, 277, -684, -684, -684, 282, - -684, -684, 1896, -684, -684, -684, -684, 2019, -684, -684, - -684, -684, -684, 283, -684, 1931, -684, -684, 1806, -684, - 284, 1716, -684, 287, 288, 289, 294, 296, -684, 286, - -684, 293, -684, -684, -684, 312, 314, 995, 47, 47, - 47, 222, -684, 317, -684, -684, -684, -684, -684, -684, - -684, 55, 55, -684, 318, -684, -684, -684, 1312, 937, - 359, 2072, -684, 181, 292, -684, -684, 48, 60, 310, - 321, 323, 292, 326, -684, -684, 3, -684, 57, -684, - -684, 325, 327, 181, -684, 329, 116, 1984, -684, 395, - -684, -684, -684, -684, 131, -684, 332, -684, 333, -684, - 335, 338, 339, 341, -684, 181, -684, -684, -684, -684, - -684, 342, 344, 439, -684, -684, -684, 346, -684, -684, - 345, -684, -684, -684, -684, 485, -684, 292, -684, 347, - 55, -684, -684, 442, 181, -684, -684, -684, -684, -684, - -684, 71, 71, 71, -684, 354, -684, 355, 356, 358, - 360, 361, 362, -684, -684, -684, 363, 365, 357, 364, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 485, -684, -684, -684, 55, -684, 367, 366, 371, -684, - 412, 383, 116, -684, 387, 390, -684, 393, 485, 394, - 1601, -684, 47, -684, -684, -684, -684, -684, -684, 489, - -684, -684, -684, -684, -684, -684, 296, 293, -684, -684, - 378, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, 382, 382, -684, -684, -684, -684, 2072, 55, -684, - 485, 384, -684, -684, -684, -684, -684, -684, -684, 404, - -684, -684, -684, -684, -684, 47, -684, -684, -684, -684, - 406, 181, -684, 382, 1716, -684, 407, -684, 473, -684, - -684, -684, -684, -684, -684, -684, -684, 47, -684, 181, - 411, 1362, -684, 397, -684, -684, -684, 414, 398, 478, - 479, 479, 55, 461, 416, 403, -684, 181, 421, -684, - -684, 408, -684, 479, -684, -684, -684, 410, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 462, 523, 415, - 158, 479, -684, 75, 2072, -684, 424, 419, 479, 420, - 472, 55, 47, -684, -684, 437, -684, -684, -684, -684, - -684, 426, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 181, -684, 440, -684, 441, 2072, 507, 451, 485, 447, - 452, 52, -684, 208, 55, 478, 47, 47, 436, 55, - 523, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 1691, -684, -684, -684, 438, 443, -684, -684, -684, 158, - 55, 453, 450, -684, -684, -684, -684, 47, -684, -684, - -684, -684, 55, 457, 454, 480, -684, -684, -684, -684, - 456, 465, -684, -684, 481, -684 + -679, 94, 1414, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 83, 51, 70, 106, -679, 83, + 83, -679, 57, 57, -679, -679, 83, -679, -679, 15, + -679, 577, 29, 69, -679, -679, 7, -679, -679, -679, + -679, -679, -679, 550, -679, -679, -679, -679, -679, 1616, + 21, -679, -679, 78, -679, 126, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 60, -679, -679, -679, 60, -679, + -679, 87, 91, 2010, 57, 83, 1887, 83, 83, 83, + 83, -679, -679, -679, 10, 83, 25, -679, 76, 83, + -679, 60, 83, 97, 127, 83, -679, -679, 23, -679, + 26, 148, -679, 92, -679, 129, 138, 2062, -679, -679, + -679, 155, 196, -679, 156, 158, 159, 85, -679, 150, + -679, -679, -679, -679, -679, -679, 168, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 163, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + 126, -679, -679, -679, 157, -679, 5, -679, -679, 169, + -679, 172, 176, 177, -679, 57, 160, 178, 180, -679, + 184, 188, 189, 190, 191, 193, 194, 199, -679, -679, + -679, 200, 204, -679, -679, -679, -679, 163, -679, -679, + -679, -679, -679, -679, -679, -679, -679, 163, -679, -679, + -679, -679, -679, -679, -679, -679, 205, -679, 195, -679, + -679, 207, -679, 288, -679, -679, -679, -679, 44, -679, + -679, -679, 2010, -679, -679, -679, -679, 198, -679, -679, + -679, -679, -679, 300, -679, -679, 56, 210, -679, -679, + -679, -679, -679, -679, -679, -679, 298, -679, 186, 212, + 216, 271, -679, -679, -679, -679, -679, -679, -679, 163, + -679, -679, 211, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 271, 228, 242, -679, -679, -679, 83, 83, + 250, 251, -679, -679, -679, 253, -679, 288, 254, -679, + -679, -679, -679, -679, 350, -679, 257, 256, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, 135, 135, + 135, 186, 163, -679, -679, 249, 255, 259, 89, 93, + 86, -679, -679, -679, -679, -679, 57, -679, -679, -679, + -679, 264, -679, -679, 57, -679, 186, 186, 186, 246, + -679, -679, -679, -679, -679, -679, -679, 173, -679, -6, + -679, -679, -679, -679, -679, -679, -679, -679, 57, 271, + -679, -679, -679, -679, 207, 1342, 1529, 269, 268, -679, + 2062, -679, -679, -679, 258, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 267, 83, -679, 163, 1119, + -679, 838, 186, -679, 1435, -679, -679, -679, -679, 186, + -679, 1479, -679, -679, -679, 252, 1026, -679, -679, -679, + -679, 53, 312, 57, 57, -679, -679, -679, -679, -679, + 53, -679, 273, -679, 272, -679, 275, -679, -679, 1213, + 163, -679, 57, 271, -679, -679, -679, -679, 278, -679, + -679, 83, -679, -679, 282, 283, 382, 289, -679, -679, + 255, 259, 89, 93, 93, 86, 86, -679, -679, -679, + -679, -679, 285, -679, -679, -679, 287, -679, -679, 1799, + -679, -679, -679, -679, 1922, -679, -679, -679, -679, -679, + 292, -679, 1834, -679, -679, 1709, -679, 293, 1435, -679, + 299, 304, 306, 297, -679, 301, -679, 290, -679, -679, + -679, 314, 315, 503, 57, 57, 57, 276, -679, 316, + -679, -679, -679, -679, -679, -679, -679, 83, 83, -679, + 318, -679, -679, -679, 1307, 932, 388, 1975, -679, 163, + 288, -679, -679, 65, 67, 324, 328, 330, 288, 331, + -679, -679, -5, -679, 49, -679, -679, 332, 333, 163, + -679, 337, 110, 1887, -679, 399, -679, -679, -679, -679, + 56, -679, 341, -679, 344, -679, 345, 346, 347, 348, + -679, 163, -679, -679, -679, -679, -679, 349, 352, 444, + -679, -679, -679, 353, -679, -679, 351, -679, -679, -679, + 186, -679, 288, -679, 355, 83, -679, -679, 445, 163, + -679, -679, -679, -679, -679, -679, 71, 71, 71, -679, + 358, -679, 359, 360, 362, 363, 366, 369, -679, -679, + -679, 370, 371, 376, 377, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 186, -679, -679, -679, 83, + -679, 379, 378, 384, -679, 402, 386, 110, -679, 390, + 391, -679, 392, 186, 393, 1591, -679, 57, -679, -679, + -679, -679, -679, -679, 488, -679, -679, -679, -679, -679, + -679, 297, 290, -679, -679, 380, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, 383, 383, -679, -679, + -679, -679, 1975, 83, -679, 186, 389, -679, -679, -679, + -679, -679, -679, -679, 395, -679, -679, -679, -679, -679, + 57, -679, -679, -679, -679, 396, 163, -679, 383, 1435, + -679, 397, -679, 460, -679, -679, -679, -679, -679, -679, + -679, -679, 57, -679, 163, 400, 668, -679, 394, -679, + -679, -679, 409, 385, 462, 470, 470, 83, 454, 417, + 404, -679, 163, 422, -679, -679, 408, -679, 470, -679, + -679, -679, 414, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 464, 527, 416, 170, 470, -679, 153, 1975, + -679, 431, 423, 470, 424, 476, 83, 57, -679, -679, + 439, -679, -679, -679, -679, -679, 427, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 163, -679, 440, -679, 441, + 1975, 506, 450, 186, 446, 451, 54, -679, 201, 83, + 462, 57, 57, 435, 83, 527, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 1681, -679, -679, -679, 437, + 457, -679, -679, -679, 170, 83, 442, 452, -679, -679, + -679, -679, 57, -679, -679, -679, -679, 83, 458, 463, + 504, -679, -679, -679, -679, 467, 491, -679, -679, 519, + -679 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1415,142 +1413,142 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, - 0, 511, 0, 0, 581, 601, 0, 6, 7, 42, + 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, + 0, 508, 0, 0, 578, 598, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 470, 469, 472, 30, 509, 32, - 541, 543, 542, 540, 77, 559, 560, 539, 77, 34, + 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, + 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 476, 552, 0, 142, 138, 0, 137, + 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 365, - 358, 373, 378, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, + 355, 370, 375, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, - 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, - 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, - 555, 0, 0, 604, 600, 39, 287, 160, 148, 152, + 0, 252, 253, 250, 0, 246, 0, 249, 247, 369, + 248, 374, 0, 0, 5, 0, 211, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 550, 543, + 552, 0, 0, 601, 597, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, - 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, - 95, 481, 512, 0, 467, 140, 468, 582, 0, 197, - 43, 25, 0, 567, 562, 563, 569, 565, 566, 570, - 568, 564, 561, 0, 48, 574, 0, 0, 23, 96, + 231, 295, 310, 345, 397, 73, 547, 74, 0, 548, + 95, 478, 509, 0, 464, 140, 465, 579, 0, 197, + 43, 25, 0, 564, 559, 560, 566, 562, 563, 567, + 565, 561, 558, 0, 48, 571, 0, 0, 23, 96, 75, 67, 27, 85, 271, 286, 277, 279, 0, 0, - 0, 99, 357, 354, 364, 361, 369, 374, 19, 11, - 214, 13, 297, 0, 21, 15, 17, 29, 473, 31, - 523, 510, 33, 99, 0, 0, 35, 37, 608, 0, - 0, 0, 0, 89, 479, 477, 520, 139, 0, 0, - 602, 212, 200, 4, 571, 0, 575, 0, 572, 186, - 187, 188, 190, 193, 192, 194, 195, 191, 189, 0, - 0, 0, 0, 183, 599, 161, 162, 163, 165, 167, - 169, 172, 175, 179, 184, 598, 62, 0, 114, 105, - 278, 196, 0, 366, 213, 0, 93, 0, 0, 0, - 0, 217, 213, 312, 484, 527, 554, 547, 556, 605, - 149, 266, 232, 259, 260, 261, 267, 346, 401, 114, - 0, 99, 518, 513, 141, 583, 481, 0, 0, 3, - 0, 49, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 596, 0, 76, - 136, 0, 113, 0, 0, 213, 0, 98, 355, 362, - 370, 375, 0, 215, 0, 298, 302, 213, 213, 0, - 114, 105, 389, 394, 0, 505, 0, 0, 613, 387, - 388, 609, 611, 0, 615, 0, 607, 0, 213, 256, - 213, 302, 0, 480, 478, 0, 99, 589, 603, 204, - 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, - 0, 573, 185, 164, 166, 168, 170, 171, 173, 174, - 176, 177, 178, 213, 63, 133, 131, 409, 410, 0, - 116, 123, 0, 117, 127, 125, 129, 0, 119, 121, - 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, - 0, 0, 359, 0, 0, 0, 0, 137, 218, 0, - 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, - 0, 0, 495, 0, 483, 485, 487, 489, 491, 493, - 497, 0, 0, 528, 0, 526, 529, 531, 0, 0, - 0, 0, 501, 500, 0, 504, 503, 0, 0, 0, - 0, 0, 0, 0, 606, 150, 0, 257, 0, 347, - 352, 213, 0, 519, 514, 588, 213, 0, 202, 210, - 203, 45, 576, 50, 0, 134, 0, 69, 0, 115, - 0, 0, 0, 0, 413, 443, 440, 441, 442, 404, - 412, 0, 0, 0, 87, 112, 103, 0, 368, 367, - 0, 356, 363, 371, 376, 0, 216, 0, 220, 0, - 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, - 322, 0, 0, 0, 482, 0, 475, 0, 0, 0, - 0, 0, 0, 533, 536, 525, 0, 0, 0, 0, - 390, 395, 499, 594, 595, 614, 610, 612, 502, 616, - 0, 384, 380, 383, 0, 353, 0, 349, 0, 91, - 0, 0, 0, 592, 0, 0, 587, 0, 0, 0, - 0, 597, 0, 132, 124, 118, 128, 126, 130, 0, - 120, 122, 415, 109, 213, 223, 0, 222, 308, 305, - 0, 508, 506, 507, 496, 486, 488, 490, 492, 494, - 498, 0, 0, 530, 532, 549, 558, 0, 0, 151, - 0, 381, 258, 348, 350, 403, 515, 585, 586, 0, - 590, 591, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 405, 0, 0, 221, 0, 314, 418, 534, - 537, 391, 396, 265, 385, 382, 213, 0, 593, 58, - 0, 0, 57, 0, 416, 360, 306, 0, 0, 0, - 450, 450, 0, 454, 262, 0, 351, 516, 0, 52, - 54, 431, 406, 450, 315, 419, 426, 0, 425, 447, - 535, 538, 392, 451, 397, 263, 386, 522, 0, 0, - 0, 450, 417, 0, 0, 421, 422, 0, 450, 0, - 458, 0, 0, 517, 580, 0, 579, 430, 444, 445, - 446, 0, 436, 437, 407, 330, 337, 335, 316, 326, - 327, 334, 427, 423, 448, 393, 452, 455, 398, 264, - 521, 59, 577, 432, 433, 0, 462, 0, 0, 0, - 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, - 0, 434, 438, 459, 408, 331, 338, 336, 317, 325, - 0, 333, 428, 424, 0, 0, 456, 60, 578, 0, - 0, 0, 0, 340, 328, 449, 453, 0, 435, 439, - 460, 339, 0, 0, 0, 0, 341, 329, 457, 466, - 0, 463, 461, 464, 0, 465 + 0, 99, 354, 361, 358, 366, 371, 19, 11, 214, + 13, 297, 0, 21, 15, 17, 29, 470, 31, 520, + 507, 33, 99, 0, 0, 35, 37, 605, 0, 0, + 0, 0, 89, 476, 474, 517, 139, 0, 0, 599, + 212, 200, 4, 568, 0, 572, 0, 569, 186, 187, + 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, + 0, 0, 183, 596, 161, 162, 163, 165, 167, 169, + 172, 175, 179, 184, 595, 62, 0, 114, 105, 278, + 196, 0, 363, 213, 0, 93, 0, 0, 0, 217, + 213, 312, 481, 524, 551, 544, 553, 602, 149, 266, + 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, + 515, 510, 141, 580, 478, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 593, 0, 76, 136, 0, + 113, 0, 0, 213, 0, 98, 359, 367, 372, 0, + 215, 0, 298, 302, 213, 213, 0, 114, 105, 386, + 391, 0, 502, 0, 0, 610, 384, 385, 606, 608, + 0, 612, 0, 604, 0, 213, 256, 213, 302, 0, + 477, 475, 0, 99, 586, 600, 204, 198, 0, 206, + 199, 0, 201, 207, 0, 0, 0, 0, 570, 185, + 164, 166, 168, 170, 171, 173, 174, 176, 177, 178, + 213, 63, 133, 131, 406, 407, 0, 116, 123, 0, + 117, 127, 125, 129, 0, 119, 121, 411, 111, 110, + 0, 104, 0, 106, 107, 0, 108, 0, 0, 356, + 0, 0, 0, 137, 218, 0, 219, 222, 307, 304, + 303, 0, 213, 0, 0, 0, 0, 0, 492, 0, + 480, 482, 484, 486, 488, 490, 494, 0, 0, 525, + 0, 523, 526, 528, 0, 0, 0, 0, 498, 497, + 0, 501, 500, 0, 0, 0, 0, 0, 0, 0, + 603, 150, 0, 257, 0, 347, 352, 213, 0, 516, + 511, 585, 213, 0, 202, 210, 203, 45, 573, 50, + 0, 134, 0, 69, 0, 115, 0, 0, 0, 0, + 410, 440, 437, 438, 439, 401, 409, 0, 0, 0, + 87, 112, 103, 0, 365, 364, 0, 360, 368, 373, + 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, + 318, 319, 320, 321, 313, 322, 0, 0, 0, 479, + 0, 472, 0, 0, 0, 0, 0, 0, 530, 533, + 522, 0, 0, 0, 0, 387, 392, 496, 591, 592, + 611, 607, 609, 499, 613, 0, 381, 377, 380, 0, + 353, 0, 349, 0, 91, 0, 0, 0, 589, 0, + 0, 584, 0, 0, 0, 0, 594, 0, 132, 124, + 118, 128, 126, 130, 0, 120, 122, 412, 109, 213, + 223, 0, 222, 308, 305, 0, 505, 503, 504, 493, + 483, 485, 487, 489, 491, 495, 0, 0, 527, 529, + 546, 555, 0, 0, 151, 0, 378, 258, 348, 350, + 400, 512, 582, 583, 0, 587, 588, 205, 209, 208, + 0, 56, 42, 51, 55, 0, 135, 402, 0, 0, + 221, 0, 314, 415, 531, 534, 388, 393, 265, 382, + 379, 213, 0, 590, 58, 0, 0, 57, 0, 413, + 357, 306, 0, 0, 0, 447, 447, 0, 451, 262, + 0, 351, 513, 0, 52, 54, 428, 403, 447, 315, + 416, 423, 0, 422, 444, 532, 535, 389, 448, 394, + 263, 383, 519, 0, 0, 0, 447, 414, 0, 0, + 418, 419, 0, 447, 0, 455, 0, 0, 514, 577, + 0, 576, 427, 441, 442, 443, 0, 433, 434, 404, + 330, 337, 335, 316, 326, 327, 334, 424, 420, 445, + 390, 449, 452, 395, 264, 518, 59, 574, 429, 430, + 0, 459, 0, 0, 0, 0, 0, 213, 332, 0, + 0, 0, 0, 0, 0, 0, 431, 435, 456, 405, + 331, 338, 336, 317, 325, 0, 333, 425, 421, 0, + 0, 453, 60, 575, 0, 0, 0, 0, 340, 328, + 446, 450, 0, 432, 436, 457, 339, 0, 0, 0, + 0, 341, 329, 454, 463, 0, 460, 458, 461, 0, + 462 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -684, -684, 259, 260, 525, -628, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -596, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -185, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, 231, -684, - -684, 19, -684, -684, -684, 560, -684, -684, -684, -684, - -684, -684, -684, 564, -684, 243, -684, -684, -253, -684, - -684, 150, 77, -684, -684, -684, -320, -684, -356, -684, - -684, -684, -684, -684, -684, -684, -684, -341, -684, -684, - -22, -684, -684, -186, -10, -684, 16, -684, -684, -684, - -684, -199, -78, -241, -684, 186, 190, 187, -139, -136, - -189, -101, -684, -321, -684, -684, -684, -684, -684, -684, - -684, -684, 21, -86, 534, -684, -684, -684, -684, -110, - -28, 17, -684, 13, -684, -31, -391, -468, -684, -684, - -684, -29, -684, -684, -622, -180, -684, -684, -7, -684, - -66, -684, -684, -53, -52, -56, -55, -50, 215, -684, - -40, -684, -38, -684, -684, -684, -684, 145, 233, 95, - -684, -684, -684, -37, -684, -32, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -250, -684, -684, -684, -684, - -684, -249, -684, -684, -684, -684, -684, -684, -684, -41, - -684, -684, -684, -684, -684, -684, -684, -153, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -75, -684, -684, -684, -70, -684, -684, -684, -684, - -684, -684, -684, -115, -684, -684, -334, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 18, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -640, -684, -684, -684, -684, -684, -246, - -684, -684, -684, -684, -684, -684, -684, -684, -255, -684, - -684, -517, -684, -683, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, 20, 22, - -684, -684, -684, -684, -684, -684, -684, -684, -684, 244, - -684, -684, 101, -684, -684, -684, -684, -684, -684, -684, - -328, 191, -325, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 553, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 245, -684, -684, -227, -684, -684, - -684, -684, -684, -684, -684, -36, -684, 266, -684, -684, - 54, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684 + -679, -679, 284, 291, 530, -617, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -588, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -152, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, 222, -679, + -679, 27, -679, -679, -679, 590, -679, -679, -679, -679, + -679, -679, -679, 592, -679, 224, -679, -679, -250, -679, + -679, 181, 107, -679, -679, -679, -324, -679, -361, -679, + -679, -679, -679, -679, -679, -679, -679, -337, -679, -679, + -22, -679, -679, -193, -10, -679, 17, -679, -679, -679, + -679, -198, -44, -233, -679, 218, 219, 217, -151, -150, + -185, -107, -679, -320, -679, -679, -679, -679, -679, -679, + -679, -679, 12, -83, 566, -679, -679, -679, -679, -74, + 8, 18, -679, 46, -679, -31, -389, -466, -679, -679, + -679, 2, -679, -679, -616, -146, -679, -679, -7, -679, + -75, -679, -679, -51, -42, -65, -50, -49, 237, -679, + -40, -679, -38, -679, -679, -679, -679, 175, 265, 122, + -679, -679, -679, -37, -679, -32, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -220, -679, -679, -679, -679, + -679, -219, -679, -679, -679, -679, -679, -679, -679, -41, + -679, -679, -679, -679, -679, -679, -679, -123, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -70, + -679, -679, -679, -68, -679, -679, -679, -679, -679, -679, + -679, -86, -679, -679, -328, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 20, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -656, -679, -679, -679, -679, -679, -209, -679, -679, + -679, -679, -679, -679, -679, -679, -231, -679, -679, -517, + -679, -678, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, 22, 24, -679, -679, + -679, -679, -679, -679, -679, -679, -679, 262, -679, -679, + 121, -679, -679, -679, -679, -679, -679, -679, -340, 209, + -336, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 572, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 261, -679, -679, -202, -679, -679, -679, -679, + -679, -679, -679, -13, -679, 294, -679, -679, 77, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1558,45 +1556,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, - 82, 29, 84, 30, 115, 313, 468, 31, 32, 117, - 317, 470, 680, 760, 738, 761, 739, 740, 778, 859, - 33, 118, 408, 34, 35, 124, 348, 489, 36, 85, - 37, 151, 347, 38, 39, 40, 126, 349, 503, 41, - 228, 379, 572, 42, 271, 43, 102, 260, 356, 44, - 45, 413, 504, 607, 505, 506, 411, 412, 490, 590, - 601, 602, 588, 592, 591, 593, 586, 409, 485, 682, - 333, 233, 308, 109, 371, 46, 491, 83, 299, 447, - 660, 208, 334, 351, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 352, 48, 312, 387, 463, 577, 464, - 465, 679, 492, 50, 311, 361, 423, 519, 520, 618, - 521, 493, 86, 219, 300, 220, 154, 155, 156, 157, - 52, 372, 449, 664, 373, 752, 774, 811, 374, 375, + 82, 29, 84, 30, 115, 312, 465, 31, 32, 117, + 316, 467, 675, 755, 733, 756, 734, 735, 773, 854, + 33, 118, 406, 34, 35, 124, 347, 486, 36, 85, + 37, 151, 346, 38, 39, 40, 126, 348, 500, 41, + 228, 377, 568, 42, 271, 43, 102, 260, 355, 44, + 45, 411, 501, 603, 502, 503, 409, 410, 487, 586, + 597, 598, 584, 588, 587, 589, 582, 407, 482, 677, + 332, 233, 307, 109, 369, 46, 488, 83, 298, 444, + 655, 208, 333, 350, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 351, 48, 311, 385, 460, 573, 461, + 462, 674, 489, 50, 310, 359, 420, 515, 516, 613, + 517, 490, 86, 219, 299, 220, 154, 155, 156, 157, + 52, 370, 446, 659, 371, 747, 769, 806, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 188, 362, 525, 425, 526, 622, 524, - 620, 746, 619, 55, 88, 56, 283, 427, 700, 767, - 803, 850, 629, 828, 851, 829, 852, 893, 847, 830, - 853, 831, 849, 848, 882, 884, 892, 57, 58, 59, - 89, 301, 450, 666, 569, 667, 756, 570, 173, 357, - 513, 174, 270, 610, 175, 358, 514, 176, 269, 415, - 177, 178, 359, 515, 179, 180, 360, 516, 181, 376, - 448, 662, 721, 663, 720, 775, 494, 439, 550, 717, - 772, 808, 440, 551, 718, 773, 810, 495, 90, 302, - 451, 668, 496, 689, 763, 801, 846, 497, 599, 509, - 603, 743, 783, 749, 768, 769, 787, 806, 855, 788, - 804, 854, 782, 799, 800, 821, 844, 879, 822, 845, - 880, 600, 823, 790, 807, 856, 794, 809, 857, 838, - 858, 887, 864, 881, 895, 900, 901, 904, 498, 499, - 63, 64, 65, 194, 364, 533, 66, 231, 381, 305, - 380, 428, 534, 637, 638, 639, 640, 641, 635, 642, - 535, 554, 536, 443, 556, 537, 538, 539, 67, 196, - 68, 105, 306, 456, 670, 757, 797, 383, 455, 813, - 291, 365, 544, 429, 545, 646, 647, 546, 711, 770, - 547, 712, 771, 69, 70, 71, 72, 73, 294, 430, - 648, 74, 75, 76, 199, 293, 77, 295, 431, 649, - 78, 253, 254, 318, 255, 815, 842, 816, 79, 111, - 309, 457, 671, 575, 576, 676, 729, 540, 257, 407, - 345, 80, 81, 112, 386, 204, 298, 445, 369, 446, - 560, 561, 559, 563 + 53, 87, 54, 188, 360, 521, 422, 522, 617, 520, + 615, 741, 614, 55, 88, 56, 282, 424, 695, 762, + 798, 845, 624, 823, 846, 824, 847, 888, 842, 825, + 848, 826, 844, 843, 877, 879, 887, 57, 58, 59, + 89, 300, 447, 661, 565, 662, 751, 566, 173, 174, + 270, 606, 175, 356, 510, 176, 269, 413, 177, 178, + 357, 511, 179, 180, 358, 512, 181, 374, 445, 657, + 716, 658, 715, 770, 491, 436, 546, 712, 767, 803, + 437, 547, 713, 768, 805, 492, 90, 301, 448, 663, + 493, 684, 758, 796, 841, 494, 595, 506, 599, 738, + 778, 744, 763, 764, 782, 801, 850, 783, 799, 849, + 777, 794, 795, 816, 839, 874, 817, 840, 875, 596, + 818, 785, 802, 851, 789, 804, 852, 833, 853, 882, + 859, 876, 890, 895, 896, 899, 495, 496, 63, 64, + 65, 194, 362, 529, 66, 231, 379, 304, 378, 425, + 530, 632, 633, 634, 635, 636, 630, 637, 531, 550, + 532, 440, 552, 533, 534, 535, 67, 196, 68, 105, + 305, 453, 665, 752, 792, 381, 452, 808, 290, 363, + 540, 426, 541, 641, 642, 542, 706, 765, 543, 707, + 766, 69, 70, 71, 72, 73, 293, 427, 643, 74, + 75, 76, 199, 292, 77, 294, 428, 644, 78, 253, + 254, 317, 255, 810, 837, 811, 79, 111, 308, 454, + 666, 571, 572, 671, 724, 536, 257, 405, 344, 80, + 81, 112, 384, 204, 297, 442, 367, 443, 556, 557, + 555, 559 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1604,161 +1602,160 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, - 104, 171, 153, 216, 417, 335, 113, 209, 47, 51, - 60, 152, 61, 49, 62, 512, 238, 212, 213, 596, - 210, 211, 256, 214, 651, 438, 418, 419, 420, 421, - 366, 441, 722, 314, 442, 172, 168, 307, 169, 170, - 106, 653, 736, 825, 171, 123, 310, 507, 91, 452, - 665, 207, 217, 654, 152, 47, 51, 60, 106, 61, - 106, 62, 750, 543, 106, 218, 825, 221, 222, 223, - 224, 826, 827, 596, 737, 226, 552, 8, 791, 229, - 4, 396, 230, 198, 532, 232, -379, 198, 8, 185, - 802, -144, 114, 764, 826, 827, 122, 234, 264, 236, - 548, 265, -145, 225, 122, 227, -379, 122, 824, 661, - 609, 235, 384, 235, -146, 835, 18, -100, 454, 122, - 99, 18, 122, 736, 106, 95, 589, 107, 235, 319, - 320, 321, 322, 323, 324, 325, 326, 432, 433, 185, - 235, -324, 507, 185, 189, 107, 268, 107, 327, 328, - 272, 235, 273, 280, 274, 737, 275, 215, 404, 405, - 406, 119, 216, 510, 266, 267, 209, 434, 185, 332, - 120, 518, 435, -342, 432, 433, 212, 213, 462, 210, - 211, 205, 214, 507, 818, 819, 820, 532, 400, 401, - 751, 402, 403, 574, 203, 319, 320, 321, 322, 323, - 324, 325, 326, 237, 434, 480, 481, 482, -471, 435, - 207, 107, 436, 437, 327, 328, -544, 185, 393, 394, - 395, 239, 872, 240, 432, 433, 517, 826, 827, 329, - 330, 241, 673, 258, 331, 332, 94, 96, 674, 596, - 259, 675, 261, 432, 433, 528, 529, 262, 889, 98, - 101, 476, 477, 263, 434, 530, 478, 479, 416, 435, - 896, 235, 436, 437, 528, 529, 424, 276, 277, 278, - 279, -212, 282, 434, 530, 281, 284, 832, 435, 370, - 285, 436, 437, 286, 287, 106, 288, 289, 350, -47, - 290, -47, -474, 292, 296, 316, 297, 304, -545, 355, - 303, 390, 215, 315, 353, -47, -47, 216, -47, -47, - -47, 209, 346, -47, 354, 410, 367, 368, 862, 511, - 363, 212, 213, 410, 210, 211, 596, 214, 673, 377, - 378, 527, 382, 335, 674, -47, 467, 675, 385, -47, - 391, 392, 397, 765, -44, 469, 414, 398, 453, 399, - 422, 483, 566, -47, 568, 207, 555, 564, 652, 565, - 567, 472, 578, 580, 695, 582, 658, 596, 581, 583, - 585, 587, 604, 172, 168, 608, 169, 170, 611, 612, - 613, 650, 171, 523, 152, 614, 617, 584, 484, 754, - 615, 616, 152, 461, 47, 51, 60, 655, 61, 49, - 62, 621, 553, -300, 557, 558, 636, 645, 656, 335, - 657, 553, 597, 659, -402, 678, 669, 598, -584, 683, - 684, 696, 685, 573, 508, 686, 687, 733, 688, 690, - 424, 691, 692, 693, 698, 701, 702, 703, 694, 531, - 264, 704, 705, 706, 579, 707, 715, 708, 709, 710, - 713, 625, 714, 716, 172, 168, 723, 169, 170, 724, - 725, 626, 627, 171, 523, 595, 597, 628, 242, 726, - 243, 598, 727, 152, 730, 424, 630, 731, 106, 152, - 732, 734, 742, 747, 244, 245, 748, 246, 247, 248, - 661, 758, 249, 762, 766, 624, 631, 632, 633, -420, - 779, 781, 784, 785, 786, 874, 875, 793, 789, 795, - 796, 798, 812, -429, 250, 805, 814, 833, 251, 595, - 817, 643, 644, 834, 836, 837, 172, 168, 841, 169, - 170, 843, 252, 860, 861, 171, 894, 863, 865, 867, - 876, 868, 891, 885, 897, 152, 899, 905, 886, 319, - 320, 321, 322, 323, 324, 325, 326, 890, 903, 898, - 508, 902, 388, 389, 184, 107, 780, 100, 327, 328, - 97, 549, 719, 473, 186, 606, 475, 745, 474, 697, - 677, 699, 792, 329, 330, 426, 571, 672, 331, 332, - 605, 869, 466, 776, 871, 106, 755, 866, 744, 873, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 888, 12, 139, 140, 141, 142, - 458, 200, 634, 878, 562, 444, 728, 471, 681, 0, - 0, 0, 597, 0, 0, 0, 0, 598, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 209, 103, + 104, 171, 153, 215, 49, 216, 113, 415, 212, 47, + 51, 152, 60, 334, 61, 509, 62, 438, 592, 238, + 646, 439, 210, 213, 214, 256, 416, 417, 418, 435, + 306, 211, 364, 717, 313, 172, 168, 309, 169, 170, + 504, 745, 660, 449, 171, 820, 106, 8, 731, 106, + 106, 207, 217, 123, 152, 539, 47, 51, 648, 60, + 649, 61, 548, 62, 106, 218, 8, 221, 222, 223, + 224, 592, 759, 821, 822, 226, 91, 732, 786, 229, + -376, 185, 230, 264, 4, 232, 265, 528, 394, 234, + 797, 198, 236, 544, -144, 198, 273, -145, 274, 122, + -376, 656, 122, 235, 382, 114, 235, 185, 819, 605, + 18, 225, -146, 227, 95, 830, 119, 122, 585, 451, + 318, 319, 320, 321, 322, 323, 324, 325, 106, 731, + 185, 429, 430, 107, 504, 185, 107, 107, 189, 326, + 327, 237, 185, -324, 820, 235, 18, 235, 266, 267, + 99, 235, 122, 279, 328, 329, 120, 209, 732, 330, + 331, 431, 215, -100, 216, -342, 432, 212, 122, 507, + 398, 399, 821, 822, 504, 203, 514, 459, 205, 106, + 239, 210, 213, 214, -468, 746, 402, 403, 404, 528, + 211, 400, 401, 570, 429, 430, 813, 814, 815, 318, + 319, 320, 321, 322, 323, 324, 325, 477, 478, 479, + 207, 391, 392, 393, -541, 107, 513, 240, 326, 327, + 821, 822, 669, 867, 431, 241, 670, 94, 96, 432, + 98, 101, 433, 434, 668, 259, 592, 473, 474, 331, + 475, 476, 258, 235, 261, 262, -212, 263, 272, 884, + 318, 319, 320, 321, 322, 323, 324, 325, 268, 275, + 414, 891, 276, 277, 278, 280, 107, 421, 281, 326, + 327, 283, 827, 429, 430, 284, 285, 286, 368, 287, + 288, 106, 289, 302, 328, 329, 291, 295, 314, 330, + 331, 296, -542, 315, 524, 525, 349, 429, 430, 303, + 209, 345, 352, 431, 526, 215, 353, 216, 432, 354, + 212, 433, 434, 857, 408, 361, 365, 669, 524, 525, + 508, 670, 408, 592, 210, 213, 214, 431, 526, 668, + 366, 523, 432, 211, 464, 433, 434, 334, 375, 376, + 760, -471, 383, 388, 395, 380, 450, 647, 389, 390, + 419, 396, 562, 207, 564, 653, 397, 412, -44, 466, + 480, 551, 560, 469, 592, 574, 561, 690, 563, 576, + 172, 168, 577, 169, 170, 578, 583, 579, 581, 171, + 519, 600, 152, 612, 604, 749, 481, 580, 49, 152, + 607, 610, 458, 47, 51, 608, 60, 609, 61, 549, + 62, 553, 554, 616, -300, 631, 611, 640, 549, 691, + 645, 650, 334, 505, 593, 651, 594, 652, 654, 673, + 569, -399, 664, 696, 697, 698, -581, 527, 678, 421, + 728, 679, 680, 681, 682, 683, 685, 687, 620, 686, + 688, 575, 693, 264, 689, 699, 700, 701, 621, 702, + 703, 172, 168, 704, 169, 170, 705, 708, 709, 721, + 171, 519, 591, 622, 623, 710, 711, 593, 718, 594, + 152, 719, 625, 720, 421, 722, 152, 725, 726, 727, + 729, 737, 753, 757, 761, 742, -417, 743, 781, 774, + 780, 619, 626, 627, 628, 656, 106, 779, 776, 784, + 788, 618, 128, 129, 869, 870, 132, 133, 134, 135, + 790, 791, 793, -426, 807, 591, 12, 638, 639, 800, + 809, 812, 172, 168, 828, 169, 170, 829, 831, 832, + 836, 171, 838, 855, 856, 889, 858, 860, 862, 871, + 863, 152, 880, 106, 886, 892, 885, 505, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 881, 12, 139, 140, 141, 142, 893, 184, + 894, -47, 897, -47, 667, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 898, 900, 386, -47, -47, 185, + -47, -47, -47, 387, 775, -47, 739, 100, 97, 545, + 861, 714, 602, 470, 472, 471, 186, 694, 740, 672, + 692, 787, 463, 567, 601, 423, 864, -47, 771, 866, + 750, -47, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 868, 593, 883, 594, -47, 455, -101, 629, 558, + 200, 468, 122, 873, 723, 736, 0, 676, 0, 0, + 0, 441, 0, 0, 0, 0, 0, 0, 564, 5, + 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 591, 12, 47, 51, 0, 60, 13, 61, 0, 62, + 0, 0, 0, 92, 0, 0, 748, 0, 754, 14, + 15, 16, 17, 0, 0, 0, 0, 152, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 593, + 772, 594, 22, 23, 0, 0, 0, 0, 0, 24, + 25, 730, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 748, 0, 0, 26, 865, 0, 0, -53, 0, 0, + 593, 0, 594, 47, 51, 0, 60, 591, 61, 0, + 62, 0, 0, 0, 0, 835, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 0, 0, 595, 47, 51, 60, -101, - 61, 0, 62, 0, 122, 0, 0, 0, 92, 0, - 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, - 0, 0, 152, 0, 0, 0, 0, 0, 0, 597, - 0, 0, 106, 6, 598, 777, 459, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 206, 137, 0, 0, - 0, 0, 12, 0, 0, 141, 142, 0, 0, 0, - 0, 0, 92, 0, 0, 753, 870, 0, 0, 0, - 597, 0, 0, 0, 0, 598, 0, 47, 51, 60, - 0, 61, 595, 62, 0, 0, 0, 0, 0, 0, - 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 839, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 0, 0, 0, 595, 0, 0, 0, 0, 460, 172, - 168, 0, 169, 170, 410, 410, 0, 0, 171, 883, - 0, 0, 0, 0, 486, 0, -411, 6, 152, 877, - 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 10, 11, 410, 12, 0, 0, -411, - -411, 13, 0, 0, 432, 433, 487, 488, -411, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 500, 501, - 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, + 0, 0, 0, 0, 172, 168, 0, 169, 170, 408, + 408, 0, 0, 171, 878, 0, 0, 0, 0, 483, + 0, -408, 6, 152, 872, 9, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 10, 11, + 408, 12, 0, 0, -408, -408, 13, 0, 0, 429, + 430, 484, 485, -408, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 0, 0, 0, 0, 486, -213, - -411, 6, -86, 0, 9, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, - 12, 0, 0, -411, -411, 13, 0, 0, 432, 433, - 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 500, 501, 502, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, - 0, 22, 23, 623, 128, 129, 0, 0, 132, 133, - 134, 135, 0, 0, 0, 0, 0, 0, 12, -411, - -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, - 0, 0, 486, -213, -411, 6, -557, 0, 9, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, - 0, 0, 432, 433, 487, 488, -411, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 541, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 542, 0, 0, 0, - 0, 185, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 0, 0, 0, 486, 0, -411, 6, 0, - -524, 9, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, - -411, -411, 13, 0, 0, 432, 433, 487, 488, -411, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 0, + 0, 0, 0, 483, -213, -408, 6, -86, 0, 9, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 10, 11, 0, 12, 0, 0, -408, -408, + 13, 0, 0, 429, 430, 484, 485, -408, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 0, 0, 0, 0, 486, - -213, -411, 6, -68, 0, 9, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, - 0, 12, 0, 0, -411, -411, 13, 0, 0, 432, - 433, 487, 488, -411, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 0, 0, 0, 0, 483, -213, -408, + 6, -554, 0, 9, -408, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, + 0, 0, -408, -408, 13, 0, 0, 429, 430, 484, + 485, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, + 483, 0, -408, 6, 0, -521, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 0, 0, 0, 0, 483, -213, -408, 6, -68, 0, + 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, + -408, 13, 0, 0, 429, 430, 484, 485, -408, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, - 0, 0, 0, 486, -213, -411, 6, -90, 0, 9, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, - 13, 0, 0, 432, 433, 487, 488, -411, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 14, 15, 16, 17, 0, -213, 0, - 0, -548, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, -2, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 735, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 26, 0, 0, - 0, -53, 0, 0, 0, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, + -408, -408, -408, -408, 0, 0, 0, 0, 483, -213, + -408, 6, -90, 0, 9, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, + 12, 0, 0, -408, -408, 13, 0, 0, 429, 430, + 484, 485, -408, 0, 0, 106, 6, 0, 14, 456, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, + 137, 0, 0, 0, 0, 12, 0, 0, 141, 142, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, + 0, 0, 0, -213, 0, 0, -545, 0, 0, 0, + 0, 0, 0, 0, -2, 5, 0, 0, 6, 7, + 8, 9, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 10, 11, 0, 12, 106, 0, + 0, 457, 13, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 14, 15, 16, 17, 139, + 140, 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, - 522, 0, 106, 0, 0, 24, 25, 127, 128, 129, + 518, 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 0, 26, - -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, + -213, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, + 5, 185, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, @@ -1771,153 +1768,185 @@ static const yytype_int16 yytable[] = 0, 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, 14, 15, 16, - 17, 0, 24, 25, 735, 0, 18, 19, 0, 0, + 17, 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 106, - 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, - 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 483, 26, -408, 6, 0, 0, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 0, 0, 0, 0, 185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 486, 0, -411, - 6, 0, 185, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, - 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 500, 501, 502, 0, 0, 0, 0, 0, 0, + 150, 107, 0, 22, 23, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 486, 0, -411, - 6, 0, 0, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, - 488, -411, 522, 0, 106, 0, 0, 14, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 106, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 483, 0, -408, 6, 0, 0, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 518, 0, 106, 0, 0, + 14, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, - 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, + 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 206, 137, 138, 0, 0, 0, 0, 0, + 0, 141, 142, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 206, 0, 0, + 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 242, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107 + 0, 0, 244, 245, 0, 246, 247, 248, 0, 0, + 249, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 251, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 252 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 355, 256, 26, 83, 2, 2, - 2, 43, 2, 2, 2, 416, 112, 83, 83, 497, - 83, 83, 118, 83, 551, 369, 357, 358, 359, 360, - 293, 369, 664, 242, 369, 86, 86, 233, 86, 86, - 3, 3, 680, 1, 86, 36, 3, 413, 3, 379, - 3, 83, 84, 3, 86, 49, 49, 49, 3, 49, - 3, 49, 712, 429, 3, 85, 1, 87, 88, 89, - 90, 29, 30, 551, 680, 95, 19, 6, 771, 99, - 0, 332, 102, 74, 428, 105, 96, 78, 6, 96, - 783, 97, 100, 743, 29, 30, 102, 76, 8, 76, - 430, 11, 97, 94, 102, 96, 116, 102, 801, 116, - 511, 90, 308, 90, 97, 808, 50, 97, 381, 102, - 54, 50, 102, 761, 3, 54, 492, 90, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 31, 32, 96, - 90, 99, 508, 96, 22, 90, 100, 90, 93, 94, - 101, 90, 103, 185, 101, 761, 103, 242, 110, 111, - 112, 97, 242, 414, 8, 9, 242, 61, 96, 114, - 97, 422, 66, 97, 31, 32, 242, 242, 387, 242, - 242, 97, 242, 549, 36, 37, 38, 531, 91, 92, - 717, 108, 109, 456, 98, 74, 75, 76, 77, 78, - 79, 80, 81, 3, 61, 404, 405, 406, 97, 66, - 242, 90, 69, 70, 93, 94, 97, 96, 329, 330, - 331, 98, 854, 98, 31, 32, 422, 29, 30, 108, - 109, 97, 576, 97, 113, 114, 15, 16, 576, 717, - 49, 576, 98, 31, 32, 52, 53, 97, 880, 16, - 17, 400, 401, 98, 61, 62, 402, 403, 354, 66, - 892, 90, 69, 70, 52, 53, 362, 100, 100, 97, - 97, 96, 98, 61, 62, 97, 97, 804, 66, 299, - 97, 69, 70, 97, 97, 3, 98, 97, 8, 4, - 98, 6, 99, 97, 97, 3, 97, 102, 97, 48, - 98, 3, 387, 100, 100, 20, 21, 387, 23, 24, - 25, 387, 101, 28, 100, 347, 98, 98, 845, 415, - 114, 387, 387, 355, 387, 387, 804, 387, 672, 98, - 98, 427, 102, 584, 672, 50, 387, 672, 98, 54, - 101, 103, 105, 744, 99, 101, 103, 106, 380, 107, - 114, 103, 448, 68, 450, 387, 59, 99, 554, 104, - 103, 115, 97, 97, 615, 3, 562, 845, 99, 98, - 103, 99, 99, 424, 424, 101, 424, 424, 101, 101, - 101, 32, 424, 424, 416, 101, 103, 483, 408, 720, - 104, 115, 424, 387, 388, 388, 388, 97, 388, 388, - 388, 99, 434, 99, 436, 437, 99, 99, 97, 660, - 97, 443, 497, 97, 99, 30, 99, 497, 99, 97, - 97, 617, 97, 455, 413, 97, 97, 678, 97, 97, - 526, 97, 3, 97, 97, 631, 632, 633, 103, 428, - 8, 97, 97, 97, 464, 97, 99, 97, 97, 97, - 97, 527, 97, 99, 505, 505, 99, 505, 505, 103, - 99, 527, 527, 505, 505, 497, 551, 527, 4, 67, - 6, 551, 99, 505, 97, 571, 527, 97, 3, 511, - 97, 97, 3, 115, 20, 21, 114, 23, 24, 25, - 116, 97, 28, 97, 97, 527, 528, 529, 530, 36, - 99, 114, 98, 115, 36, 856, 857, 56, 39, 103, - 117, 100, 60, 115, 50, 115, 3, 103, 54, 551, - 115, 541, 542, 114, 114, 63, 577, 577, 101, 577, - 577, 115, 68, 103, 103, 577, 887, 40, 97, 102, - 114, 99, 102, 115, 97, 577, 76, 76, 115, 74, - 75, 76, 77, 78, 79, 80, 81, 114, 103, 115, - 549, 115, 313, 313, 49, 90, 761, 17, 93, 94, - 16, 431, 660, 397, 50, 508, 399, 697, 398, 617, - 577, 620, 772, 108, 109, 362, 451, 576, 113, 114, - 505, 851, 387, 756, 853, 3, 721, 848, 694, 855, + 20, 43, 43, 83, 2, 83, 26, 354, 83, 2, + 2, 43, 2, 256, 2, 414, 2, 367, 494, 112, + 547, 367, 83, 83, 83, 118, 356, 357, 358, 367, + 233, 83, 292, 659, 242, 86, 86, 3, 86, 86, + 411, 707, 3, 377, 86, 1, 3, 6, 675, 3, + 3, 83, 84, 36, 86, 426, 49, 49, 3, 49, + 3, 49, 19, 49, 3, 85, 6, 87, 88, 89, + 90, 547, 738, 29, 30, 95, 3, 675, 766, 99, + 96, 96, 102, 8, 0, 105, 11, 425, 331, 76, + 778, 74, 76, 427, 97, 78, 101, 97, 103, 102, + 116, 116, 102, 90, 307, 100, 90, 96, 796, 508, + 50, 94, 97, 96, 54, 803, 97, 102, 489, 379, + 74, 75, 76, 77, 78, 79, 80, 81, 3, 756, + 96, 31, 32, 90, 505, 96, 90, 90, 22, 93, + 94, 3, 96, 99, 1, 90, 50, 90, 8, 9, + 54, 90, 102, 185, 108, 109, 97, 242, 756, 113, + 114, 61, 242, 97, 242, 97, 66, 242, 102, 412, + 91, 92, 29, 30, 545, 98, 419, 385, 97, 3, + 98, 242, 242, 242, 97, 712, 110, 111, 112, 527, + 242, 108, 109, 453, 31, 32, 36, 37, 38, 74, + 75, 76, 77, 78, 79, 80, 81, 402, 403, 404, + 242, 328, 329, 330, 97, 90, 419, 98, 93, 94, + 29, 30, 572, 849, 61, 97, 572, 15, 16, 66, + 16, 17, 69, 70, 572, 49, 712, 398, 399, 114, + 400, 401, 97, 90, 98, 97, 96, 98, 101, 875, + 74, 75, 76, 77, 78, 79, 80, 81, 100, 100, + 353, 887, 100, 97, 97, 97, 90, 360, 98, 93, + 94, 97, 799, 31, 32, 97, 97, 97, 298, 98, + 97, 3, 98, 98, 108, 109, 97, 97, 100, 113, + 114, 97, 97, 3, 52, 53, 8, 31, 32, 102, + 385, 101, 100, 61, 62, 385, 100, 385, 66, 48, + 385, 69, 70, 840, 346, 114, 98, 667, 52, 53, + 413, 667, 354, 799, 385, 385, 385, 61, 62, 667, + 98, 424, 66, 385, 385, 69, 70, 580, 98, 98, + 739, 99, 98, 3, 105, 102, 378, 550, 101, 103, + 114, 106, 445, 385, 447, 558, 107, 103, 99, 101, + 103, 59, 99, 115, 840, 97, 104, 610, 103, 97, + 421, 421, 99, 421, 421, 3, 99, 98, 103, 421, + 421, 99, 414, 103, 101, 715, 406, 480, 386, 421, + 101, 104, 385, 386, 386, 101, 386, 101, 386, 431, + 386, 433, 434, 99, 99, 99, 115, 99, 440, 612, + 32, 97, 655, 411, 494, 97, 494, 97, 97, 30, + 452, 99, 99, 626, 627, 628, 99, 425, 97, 522, + 673, 97, 97, 97, 97, 97, 97, 3, 523, 97, + 97, 461, 97, 8, 103, 97, 97, 97, 523, 97, + 97, 502, 502, 97, 502, 502, 97, 97, 97, 67, + 502, 502, 494, 523, 523, 99, 99, 547, 99, 547, + 502, 103, 523, 99, 567, 99, 508, 97, 97, 97, + 97, 3, 97, 97, 97, 115, 36, 114, 36, 99, + 115, 523, 524, 525, 526, 116, 3, 98, 114, 39, + 56, 8, 9, 10, 851, 852, 13, 14, 15, 16, + 103, 117, 100, 115, 60, 547, 23, 537, 538, 115, + 3, 115, 573, 573, 103, 573, 573, 114, 114, 63, + 101, 573, 115, 103, 103, 882, 40, 97, 102, 114, + 99, 573, 115, 3, 102, 97, 114, 545, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 115, 23, 24, 25, 26, 27, 115, 49, + 76, 4, 115, 6, 572, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 103, 76, 312, 20, 21, 96, + 23, 24, 25, 312, 756, 28, 689, 17, 16, 428, + 843, 655, 505, 395, 397, 396, 50, 615, 692, 573, + 612, 767, 385, 448, 502, 360, 846, 50, 751, 848, + 716, 54, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 850, 712, 874, 712, 68, 384, 97, 527, 440, + 78, 390, 102, 855, 667, 677, -1, 580, -1, -1, + -1, 367, -1, -1, -1, -1, -1, -1, 751, 1, + -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + 712, 23, 675, 675, -1, 675, 28, 675, -1, 675, + -1, -1, -1, 713, -1, -1, 713, -1, 730, 41, + 42, 43, 44, -1, -1, -1, -1, 739, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, 799, + 752, 799, 64, 65, -1, -1, -1, -1, -1, 71, + 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 767, -1, -1, + 767, -1, -1, 95, 847, -1, -1, 99, -1, -1, + 840, -1, 840, 756, 756, -1, 756, 799, 756, -1, + 756, -1, -1, -1, -1, 807, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 806, -1, -1, 806, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, + -1, -1, -1, -1, 865, 865, -1, 865, 865, 851, + 852, -1, -1, 865, 865, -1, -1, -1, -1, 1, + -1, 3, 4, 865, 854, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 882, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 879, 23, 24, 25, 26, 27, - 386, 78, 531, 860, 443, 369, 672, 392, 584, -1, - -1, -1, 717, -1, -1, -1, -1, 717, -1, -1, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 682, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, 717, 680, 680, 680, 97, - 680, -1, 680, -1, 102, -1, -1, -1, 718, -1, - -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, - -1, -1, 744, -1, -1, -1, -1, -1, -1, 804, - -1, -1, 3, 4, 804, 757, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, - -1, -1, 23, -1, -1, 26, 27, -1, -1, -1, - -1, -1, 772, -1, -1, 772, 852, -1, -1, -1, - 845, -1, -1, -1, -1, 845, -1, 761, 761, 761, - -1, 761, 804, 761, -1, -1, -1, -1, -1, -1, - 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 811, -1, -1, 811, -1, -1, -1, -1, -1, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + 1, -1, 3, 4, -1, 99, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - -1, -1, -1, 845, -1, -1, -1, -1, 99, 870, - 870, -1, 870, 870, 856, 857, -1, -1, 870, 870, - -1, -1, -1, -1, 1, -1, 3, 4, 870, 859, + -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 887, 23, -1, -1, 26, + 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, 45, 46, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, @@ -1925,64 +1954,26 @@ static const yytype_int16 yycheck[] = 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, - 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, - -1, 64, 65, 8, 9, 10, -1, -1, 13, 14, - 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 55, -1, -1, -1, - -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, 1, -1, 3, 4, -1, - 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 33, 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, - -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, 0, 1, 64, 65, 4, 5, - 6, 7, -1, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - -1, -1, 28, -1, -1, -1, -1, 95, -1, -1, - -1, 99, -1, -1, -1, 41, 42, 43, 44, -1, - -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + 18, -1, -1, -1, -1, 23, -1, -1, 26, 27, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, -1, 96, -1, -1, 99, -1, -1, -1, + -1, -1, -1, -1, 0, 1, -1, -1, 4, 5, + 6, 7, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, 20, 21, -1, 23, 3, -1, + -1, 99, 28, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 41, 42, 43, 44, 24, + 25, 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, -1, 95, - 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, + 96, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + 1, 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, @@ -1999,55 +1990,50 @@ static const yytype_int16 yycheck[] = 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, 3, - -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 1, 95, 3, 4, -1, -1, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, 96, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, 96, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + 89, 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 1, -1, 3, 4, -1, -1, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, 1, -1, 3, -1, -1, + 41, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, - -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, - -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, + -1, 26, 27, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 4, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90 + -1, -1, 20, 21, -1, 23, 24, 25, -1, -1, + 28, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 50, -1, -1, -1, 54, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2060,91 +2046,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, - 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, - 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, - 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, - 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 363, 414, 415, 416, 417, 418, 422, 444, 446, 469, + 470, 471, 472, 473, 477, 478, 479, 482, 486, 494, + 507, 508, 138, 215, 140, 167, 250, 279, 292, 318, + 364, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 447, 3, 90, 208, 211, + 208, 495, 509, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 329, 332, 335, 338, 339, 342, - 343, 346, 128, 124, 122, 96, 242, 125, 281, 22, - 129, 126, 127, 133, 421, 134, 447, 135, 169, 482, - 482, 136, 137, 98, 513, 97, 17, 208, 219, 268, - 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, + 291, 293, 317, 326, 327, 330, 333, 336, 337, 340, + 341, 344, 128, 124, 122, 96, 242, 125, 281, 22, + 129, 126, 127, 133, 419, 134, 445, 135, 169, 480, + 480, 136, 137, 98, 511, 97, 17, 208, 219, 268, + 271, 272, 273, 274, 275, 337, 341, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, - 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, + 212, 423, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 25, 28, - 50, 54, 68, 489, 490, 492, 241, 506, 97, 49, - 185, 98, 97, 98, 8, 11, 8, 9, 100, 336, - 330, 182, 101, 103, 101, 103, 100, 100, 97, 97, - 208, 97, 98, 294, 97, 97, 97, 97, 98, 97, - 98, 458, 97, 483, 476, 485, 97, 97, 514, 216, - 252, 319, 367, 98, 102, 427, 450, 211, 210, 498, - 3, 242, 233, 143, 219, 100, 3, 148, 491, 74, - 75, 76, 77, 78, 79, 80, 81, 93, 94, 108, - 109, 113, 114, 208, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 508, 101, 170, 164, 175, - 8, 221, 231, 100, 100, 48, 186, 327, 333, 340, - 344, 243, 282, 114, 422, 459, 186, 98, 98, 516, - 212, 212, 259, 262, 266, 267, 347, 98, 98, 179, - 428, 426, 102, 455, 211, 98, 512, 234, 120, 121, - 3, 101, 103, 229, 229, 229, 221, 105, 106, 107, - 91, 92, 108, 109, 110, 111, 112, 507, 160, 205, - 208, 194, 195, 189, 103, 337, 241, 205, 231, 231, - 231, 231, 114, 244, 241, 284, 286, 295, 429, 461, - 477, 486, 31, 32, 61, 66, 69, 70, 354, 355, - 360, 438, 440, 441, 505, 515, 517, 217, 348, 260, - 320, 368, 194, 208, 186, 456, 451, 499, 427, 7, - 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, - 149, 492, 115, 223, 224, 225, 226, 226, 227, 227, - 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, - 196, 214, 240, 249, 354, 365, 370, 375, 416, 417, - 45, 46, 47, 176, 190, 192, 193, 196, 240, 377, - 221, 241, 254, 328, 334, 341, 345, 211, 221, 245, - 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, - 62, 240, 354, 423, 430, 438, 440, 443, 444, 445, - 505, 45, 55, 196, 460, 462, 465, 468, 194, 189, - 356, 361, 19, 208, 439, 59, 442, 208, 208, 520, - 518, 519, 439, 521, 99, 104, 241, 103, 241, 322, - 325, 285, 180, 208, 186, 501, 502, 236, 97, 212, - 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, - 197, 202, 201, 203, 35, 208, 255, 339, 343, 376, - 399, 198, 199, 378, 99, 287, 190, 191, 101, 254, - 331, 101, 101, 101, 101, 104, 115, 103, 247, 290, - 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, - 317, 208, 208, 208, 430, 436, 99, 431, 432, 433, - 434, 435, 437, 212, 212, 99, 463, 464, 478, 487, - 32, 399, 211, 3, 3, 97, 97, 97, 211, 97, - 218, 116, 349, 351, 261, 3, 321, 323, 369, 99, - 452, 500, 240, 354, 438, 440, 503, 251, 30, 239, - 150, 508, 207, 97, 97, 97, 97, 97, 97, 371, - 97, 97, 3, 97, 103, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 466, 469, 97, 97, 99, 99, 357, 362, 220, - 352, 350, 262, 99, 103, 99, 67, 99, 503, 504, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 379, 241, 247, 289, 115, 114, 381, - 381, 399, 263, 266, 231, 351, 324, 453, 97, 208, - 151, 153, 97, 372, 381, 254, 97, 297, 382, 383, - 467, 470, 358, 363, 264, 353, 325, 208, 156, 99, - 154, 114, 390, 380, 98, 115, 36, 384, 387, 39, - 401, 401, 263, 56, 404, 103, 117, 454, 100, 391, - 392, 373, 401, 298, 388, 115, 385, 402, 359, 405, - 364, 265, 60, 457, 3, 493, 495, 115, 36, 37, - 38, 393, 396, 400, 401, 1, 29, 30, 301, 303, - 307, 309, 399, 103, 114, 401, 114, 63, 407, 266, - 208, 101, 494, 115, 394, 397, 374, 306, 311, 310, - 299, 302, 304, 308, 389, 386, 403, 406, 408, 157, - 103, 103, 399, 40, 410, 97, 221, 102, 99, 303, - 241, 309, 262, 387, 205, 205, 114, 212, 495, 395, - 398, 411, 312, 253, 313, 115, 115, 409, 396, 262, - 114, 102, 314, 305, 205, 412, 262, 97, 115, 76, - 413, 414, 115, 103, 415, 76 + 50, 54, 68, 487, 488, 490, 241, 504, 97, 49, + 185, 98, 97, 98, 8, 11, 8, 9, 100, 334, + 328, 182, 101, 101, 103, 100, 100, 97, 97, 208, + 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, + 456, 97, 481, 474, 483, 97, 97, 512, 216, 252, + 319, 365, 98, 102, 425, 448, 211, 210, 496, 3, + 242, 233, 143, 219, 100, 3, 148, 489, 74, 75, + 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, + 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 506, 101, 170, 164, 175, 8, + 221, 231, 100, 100, 48, 186, 331, 338, 342, 243, + 282, 114, 420, 457, 186, 98, 98, 514, 212, 212, + 259, 262, 266, 267, 345, 98, 98, 179, 426, 424, + 102, 453, 211, 98, 510, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 505, 160, 205, 208, 194, + 195, 189, 103, 335, 241, 205, 231, 231, 231, 114, + 244, 241, 284, 286, 295, 427, 459, 475, 484, 31, + 32, 61, 66, 69, 70, 352, 353, 358, 436, 438, + 439, 503, 513, 515, 217, 346, 260, 320, 366, 194, + 208, 186, 454, 449, 497, 425, 7, 99, 214, 219, + 235, 237, 238, 276, 317, 144, 101, 149, 490, 115, + 223, 224, 225, 226, 226, 227, 227, 228, 228, 228, + 103, 212, 206, 1, 33, 34, 165, 196, 214, 240, + 249, 352, 363, 368, 373, 414, 415, 45, 46, 47, + 176, 190, 192, 193, 196, 240, 375, 221, 241, 254, + 332, 339, 343, 211, 221, 245, 246, 248, 1, 253, + 287, 283, 285, 241, 52, 53, 62, 240, 352, 421, + 428, 436, 438, 441, 442, 443, 503, 45, 55, 196, + 458, 460, 463, 466, 194, 189, 354, 359, 19, 208, + 437, 59, 440, 208, 208, 518, 516, 517, 437, 519, + 99, 104, 241, 103, 241, 322, 325, 285, 180, 208, + 186, 499, 500, 236, 97, 212, 97, 99, 3, 98, + 241, 103, 204, 99, 200, 196, 197, 202, 201, 203, + 35, 208, 255, 337, 341, 374, 397, 198, 199, 376, + 99, 287, 190, 191, 101, 254, 329, 101, 101, 101, + 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, + 268, 273, 274, 275, 300, 317, 208, 208, 208, 428, + 434, 99, 429, 430, 431, 432, 433, 435, 212, 212, + 99, 461, 462, 476, 485, 32, 397, 211, 3, 3, + 97, 97, 97, 211, 97, 218, 116, 347, 349, 261, + 3, 321, 323, 367, 99, 450, 498, 240, 352, 436, + 438, 501, 251, 30, 239, 150, 506, 207, 97, 97, + 97, 97, 97, 97, 369, 97, 97, 3, 97, 103, + 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, + 97, 97, 97, 97, 97, 97, 464, 467, 97, 97, + 99, 99, 355, 360, 220, 350, 348, 262, 99, 103, + 99, 67, 99, 501, 502, 97, 97, 97, 221, 97, + 73, 123, 139, 152, 154, 155, 208, 3, 377, 241, + 247, 289, 115, 114, 379, 379, 397, 263, 266, 231, + 349, 324, 451, 97, 208, 151, 153, 97, 370, 379, + 254, 97, 297, 380, 381, 465, 468, 356, 361, 264, + 351, 325, 208, 156, 99, 154, 114, 388, 378, 98, + 115, 36, 382, 385, 39, 399, 399, 263, 56, 402, + 103, 117, 452, 100, 389, 390, 371, 399, 298, 386, + 115, 383, 400, 357, 403, 362, 265, 60, 455, 3, + 491, 493, 115, 36, 37, 38, 391, 394, 398, 399, + 1, 29, 30, 301, 303, 307, 309, 397, 103, 114, + 399, 114, 63, 405, 266, 208, 101, 492, 115, 392, + 395, 372, 306, 311, 310, 299, 302, 304, 308, 387, + 384, 401, 404, 406, 157, 103, 103, 397, 40, 408, + 97, 221, 102, 99, 303, 241, 309, 262, 385, 205, + 205, 114, 212, 493, 393, 396, 409, 312, 253, 313, + 115, 115, 407, 394, 262, 114, 102, 314, 305, 205, + 410, 262, 97, 115, 76, 411, 412, 115, 103, 413, + 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2185,33 +2171,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 326, 326, 330, 331, - 329, 333, 334, 332, 332, 336, 337, 335, 338, 340, - 341, 339, 339, 342, 344, 345, 343, 343, 346, 348, - 347, 349, 350, 350, 352, 353, 351, 354, 354, 356, - 357, 358, 359, 355, 361, 362, 363, 364, 360, 366, - 367, 368, 369, 365, 371, 372, 373, 374, 370, 375, - 375, 375, 376, 376, 378, 379, 380, 377, 382, 381, - 383, 381, 384, 386, 385, 385, 388, 389, 387, 391, - 390, 392, 390, 393, 395, 394, 394, 397, 398, 396, - 399, 399, 399, 399, 400, 400, 400, 402, 403, 401, - 401, 405, 406, 404, 404, 408, 409, 407, 407, 411, - 412, 410, 410, 413, 415, 414, 414, 416, 417, 418, - 418, 419, 421, 422, 423, 420, 425, 426, 424, 428, - 427, 427, 429, 429, 429, 431, 430, 432, 430, 433, - 430, 434, 430, 435, 430, 436, 430, 437, 430, 438, - 439, 439, 440, 441, 442, 442, 443, 444, 445, 447, - 446, 449, 450, 451, 452, 453, 454, 448, 456, 455, - 455, 457, 457, 459, 460, 458, 461, 461, 462, 463, - 462, 464, 462, 466, 467, 465, 469, 470, 468, 471, - 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, - 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, - 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 489, 489, 490, 491, 491, 492, 492, 493, 494, 494, - 495, 497, 498, 499, 500, 496, 501, 501, 502, 502, - 503, 503, 504, 503, 505, 505, 506, 507, 507, 508, - 509, 511, 512, 510, 514, 515, 513, 516, 516, 518, - 517, 519, 517, 520, 517, 521, 517 + 324, 323, 323, 325, 326, 328, 329, 327, 331, 332, + 330, 330, 334, 335, 333, 336, 338, 339, 337, 337, + 340, 342, 343, 341, 341, 344, 346, 345, 347, 348, + 348, 350, 351, 349, 352, 352, 354, 355, 356, 357, + 353, 359, 360, 361, 362, 358, 364, 365, 366, 367, + 363, 369, 370, 371, 372, 368, 373, 373, 373, 374, + 374, 376, 377, 378, 375, 380, 379, 381, 379, 382, + 384, 383, 383, 386, 387, 385, 389, 388, 390, 388, + 391, 393, 392, 392, 395, 396, 394, 397, 397, 397, + 397, 398, 398, 398, 400, 401, 399, 399, 403, 404, + 402, 402, 406, 407, 405, 405, 409, 410, 408, 408, + 411, 413, 412, 412, 414, 415, 416, 416, 417, 419, + 420, 421, 418, 423, 424, 422, 426, 425, 425, 427, + 427, 427, 429, 428, 430, 428, 431, 428, 432, 428, + 433, 428, 434, 428, 435, 428, 436, 437, 437, 438, + 439, 440, 440, 441, 442, 443, 445, 444, 447, 448, + 449, 450, 451, 452, 446, 454, 453, 453, 455, 455, + 457, 458, 456, 459, 459, 460, 461, 460, 462, 460, + 464, 465, 463, 467, 468, 466, 469, 469, 469, 470, + 470, 471, 472, 474, 475, 476, 473, 477, 478, 479, + 481, 480, 483, 484, 485, 482, 486, 486, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 488, + 489, 489, 490, 490, 491, 492, 492, 493, 495, 496, + 497, 498, 494, 499, 499, 500, 500, 501, 501, 502, + 501, 503, 503, 504, 505, 505, 506, 507, 509, 510, + 508, 512, 513, 511, 514, 514, 516, 515, 517, 515, + 518, 515, 519, 515 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2252,33 +2238,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 6, 2, 0, 0, - 9, 0, 0, 6, 2, 0, 0, 6, 6, 0, - 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, - 4, 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, 3, 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, 1, - 1, 2, 2, 3, 0, 2, 5, 2, 3, 0, - 1, 0, 0, 0, 0, 9, 3, 2, 1, 0, - 2, 2, 0, 3, 3, 3, 3, 4, 0, 1, - 2, 0, 0, 6, 0, 0, 5, 2, 0, 0, - 3, 0, 3, 0, 3, 0, 3 + 0, 4, 0, 2, 2, 0, 0, 9, 0, 0, + 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, + 1, 0, 0, 6, 1, 1, 0, 4, 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, 3, + 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, 1, 1, 2, 2, + 3, 0, 2, 5, 2, 3, 0, 1, 0, 0, + 0, 0, 9, 3, 2, 1, 0, 2, 2, 0, + 3, 3, 3, 3, 4, 0, 1, 2, 0, 0, + 6, 0, 0, 5, 2, 0, 0, 3, 0, 3, + 0, 3, 0, 3 }; @@ -2464,6 +2450,7 @@ int yydebug; + /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ @@ -2493,12 +2480,13 @@ int yynerrs; + /*----------. | yyparse. | `----------*/ int -yyparse () +yyparse (void) { yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ @@ -2530,6 +2518,7 @@ yyparse () YYSTYPE yyval; + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. @@ -2754,7 +2743,7 @@ yyparse () } delete annotations; } -#line 2762 "fe/idl.tab.cpp" +#line 2747 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2762,7 +2751,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2770 "fe/idl.tab.cpp" +#line 2755 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2770,7 +2759,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2778 "fe/idl.tab.cpp" +#line 2763 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2778,7 +2767,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2786 "fe/idl.tab.cpp" +#line 2771 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2786,7 +2775,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2794 "fe/idl.tab.cpp" +#line 2779 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2794,7 +2783,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2802 "fe/idl.tab.cpp" +#line 2787 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2802,7 +2791,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2810 "fe/idl.tab.cpp" +#line 2795 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2810,7 +2799,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2818 "fe/idl.tab.cpp" +#line 2803 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2818,7 +2807,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2826 "fe/idl.tab.cpp" +#line 2811 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2826,7 +2815,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2834 "fe/idl.tab.cpp" +#line 2819 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2834,7 +2823,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2842 "fe/idl.tab.cpp" +#line 2827 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2842,7 +2831,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2850 "fe/idl.tab.cpp" +#line 2835 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2850,7 +2839,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2858 "fe/idl.tab.cpp" +#line 2843 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2858,7 +2847,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2866 "fe/idl.tab.cpp" +#line 2851 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2866,7 +2855,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2874 "fe/idl.tab.cpp" +#line 2859 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2874,7 +2863,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2882 "fe/idl.tab.cpp" +#line 2867 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2882,7 +2871,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2890 "fe/idl.tab.cpp" +#line 2875 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2890,7 +2879,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2898 "fe/idl.tab.cpp" +#line 2883 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2898,7 +2887,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2906 "fe/idl.tab.cpp" +#line 2891 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2906,7 +2895,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2914 "fe/idl.tab.cpp" +#line 2899 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2914,7 +2903,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2922 "fe/idl.tab.cpp" +#line 2907 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2922,7 +2911,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2930 "fe/idl.tab.cpp" +#line 2915 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2930,7 +2919,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2938 "fe/idl.tab.cpp" +#line 2923 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2938,7 +2927,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2946 "fe/idl.tab.cpp" +#line 2931 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2946,7 +2935,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2954 "fe/idl.tab.cpp" +#line 2939 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2954,7 +2943,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2962 "fe/idl.tab.cpp" +#line 2947 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2962,7 +2951,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2970 "fe/idl.tab.cpp" +#line 2955 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2970,7 +2959,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2978 "fe/idl.tab.cpp" +#line 2963 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2978,7 +2967,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2986 "fe/idl.tab.cpp" +#line 2971 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2986,7 +2975,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2994 "fe/idl.tab.cpp" +#line 2979 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2996,7 +2985,7 @@ yyparse () yyerrok; (yyval.dcval) = 0; } -#line 3004 "fe/idl.tab.cpp" +#line 2989 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -3004,7 +2993,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3012 "fe/idl.tab.cpp" +#line 2997 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -3012,7 +3001,7 @@ yyparse () { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3020 "fe/idl.tab.cpp" +#line 3005 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3055,7 +3044,7 @@ yyparse () (yyval.dcval) = m; } -#line 3063 "fe/idl.tab.cpp" +#line 3048 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3063,7 +3052,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3071 "fe/idl.tab.cpp" +#line 3056 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3071,7 +3060,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3079 "fe/idl.tab.cpp" +#line 3064 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3085,7 +3074,7 @@ yyparse () idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3093 "fe/idl.tab.cpp" +#line 3078 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3093,7 +3082,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3101 "fe/idl.tab.cpp" +#line 3086 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3111,7 +3100,7 @@ yyparse () IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3119 "fe/idl.tab.cpp" +#line 3104 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3125,7 +3114,7 @@ yyparse () return 1; } } -#line 3133 "fe/idl.tab.cpp" +#line 3118 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3159,7 +3148,7 @@ yyparse () // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3167 "fe/idl.tab.cpp" +#line 3152 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3167,7 +3156,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3175 "fe/idl.tab.cpp" +#line 3160 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3175,7 +3164,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3183 "fe/idl.tab.cpp" +#line 3168 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3198,7 +3187,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3206 "fe/idl.tab.cpp" +#line 3191 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3207,7 +3196,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3215 "fe/idl.tab.cpp" +#line 3200 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3216,7 +3205,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3224 "fe/idl.tab.cpp" +#line 3209 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3298,7 +3287,7 @@ yyparse () idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3306 "fe/idl.tab.cpp" +#line 3291 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3307,7 +3296,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3315 "fe/idl.tab.cpp" +#line 3300 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3316,7 +3305,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3324 "fe/idl.tab.cpp" +#line 3309 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3384,7 +3373,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3392 "fe/idl.tab.cpp" +#line 3377 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3426,7 +3415,7 @@ yyparse () */ idl_global->scopes ().push (i); } -#line 3434 "fe/idl.tab.cpp" +#line 3419 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3434,7 +3423,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3442 "fe/idl.tab.cpp" +#line 3427 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3442,7 +3431,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3450 "fe/idl.tab.cpp" +#line 3435 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3456,7 +3445,7 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 3464 "fe/idl.tab.cpp" +#line 3449 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3464,7 +3453,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3472 "fe/idl.tab.cpp" +#line 3457 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3473,7 +3462,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3481 "fe/idl.tab.cpp" +#line 3466 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3513,7 +3502,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3521 "fe/idl.tab.cpp" +#line 3506 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3546,7 +3535,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3554 "fe/idl.tab.cpp" +#line 3539 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3579,7 +3568,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3587 "fe/idl.tab.cpp" +#line 3572 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3587,7 +3576,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3595 "fe/idl.tab.cpp" +#line 3580 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3596,7 +3585,7 @@ yyparse () (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3604 "fe/idl.tab.cpp" +#line 3589 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3604,7 +3593,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 3612 "fe/idl.tab.cpp" +#line 3597 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3613,7 +3602,7 @@ yyparse () idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3621 "fe/idl.tab.cpp" +#line 3606 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3664,7 +3653,7 @@ yyparse () (yyval.dcval) = valuetype; } -#line 3672 "fe/idl.tab.cpp" +#line 3657 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3672,7 +3661,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3680 "fe/idl.tab.cpp" +#line 3665 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3680,7 +3669,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3688 "fe/idl.tab.cpp" +#line 3673 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3705,7 +3694,7 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3713 "fe/idl.tab.cpp" +#line 3698 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3752,7 +3741,7 @@ yyparse () */ idl_global->scopes ().push (v); } -#line 3760 "fe/idl.tab.cpp" +#line 3745 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3760,7 +3749,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3768 "fe/idl.tab.cpp" +#line 3753 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3768,7 +3757,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3776 "fe/idl.tab.cpp" +#line 3761 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3783,7 +3772,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3791 "fe/idl.tab.cpp" +#line 3776 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3791,7 +3780,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3799 "fe/idl.tab.cpp" +#line 3784 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3826,7 +3815,7 @@ yyparse () (yyvsp[-2].nlval) = 0; } } -#line 3834 "fe/idl.tab.cpp" +#line 3819 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3834,7 +3823,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3842 "fe/idl.tab.cpp" +#line 3827 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3843,7 +3832,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3851 "fe/idl.tab.cpp" +#line 3836 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3851,7 +3840,7 @@ yyparse () { (yyval.bval) = true; } -#line 3859 "fe/idl.tab.cpp" +#line 3844 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3859,7 +3848,7 @@ yyparse () { (yyval.bval) = false; } -#line 3867 "fe/idl.tab.cpp" +#line 3852 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3867,7 +3856,7 @@ yyparse () { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3875 "fe/idl.tab.cpp" +#line 3860 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3875,7 +3864,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 3883 "fe/idl.tab.cpp" +#line 3868 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3902,7 +3891,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3910 "fe/idl.tab.cpp" +#line 3895 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3931,7 +3920,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3939 "fe/idl.tab.cpp" +#line 3924 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3998,7 +3987,7 @@ yyparse () (yyval.dcval) = 0; } -#line 4006 "fe/idl.tab.cpp" +#line 3991 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4021,7 +4010,7 @@ yyparse () delete annotations; delete decls; } -#line 4029 "fe/idl.tab.cpp" +#line 4014 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4029,7 +4018,7 @@ yyparse () { delete (yyvsp[0].decls_val); } -#line 4037 "fe/idl.tab.cpp" +#line 4022 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4044,7 +4033,7 @@ yyparse () } (yyval.decls_val) = value; } -#line 4052 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4059,7 +4048,7 @@ yyparse () } (yyval.decls_val) = value; } -#line 4067 "fe/idl.tab.cpp" +#line 4052 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4067,7 +4056,7 @@ yyparse () { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4075 "fe/idl.tab.cpp" +#line 4060 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4075,7 +4064,7 @@ yyparse () { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4083 "fe/idl.tab.cpp" +#line 4068 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4083,7 +4072,7 @@ yyparse () { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4091 "fe/idl.tab.cpp" +#line 4076 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4105,7 +4094,7 @@ yyparse () } (yyval.decls_val) = decls_ptr; } -#line 4113 "fe/idl.tab.cpp" +#line 4098 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4124,7 +4113,7 @@ yyparse () } delete annotations; } -#line 4132 "fe/idl.tab.cpp" +#line 4117 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4132,7 +4121,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4140 "fe/idl.tab.cpp" +#line 4125 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4140,7 +4129,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4148 "fe/idl.tab.cpp" +#line 4133 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4148,7 +4137,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4156 "fe/idl.tab.cpp" +#line 4141 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4156,7 +4145,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4164 "fe/idl.tab.cpp" +#line 4149 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4164,7 +4153,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4172 "fe/idl.tab.cpp" +#line 4157 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4172,7 +4161,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4180 "fe/idl.tab.cpp" +#line 4165 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4180,7 +4169,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4188 "fe/idl.tab.cpp" +#line 4173 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4188,7 +4177,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4196 "fe/idl.tab.cpp" +#line 4181 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4196,7 +4185,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4204 "fe/idl.tab.cpp" +#line 4189 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4204,7 +4193,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4212 "fe/idl.tab.cpp" +#line 4197 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4212,7 +4201,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4220 "fe/idl.tab.cpp" +#line 4205 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4220,7 +4209,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4228 "fe/idl.tab.cpp" +#line 4213 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4228,7 +4217,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4236 "fe/idl.tab.cpp" +#line 4221 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4236,7 +4225,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4244 "fe/idl.tab.cpp" +#line 4229 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4244,7 +4233,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4252 "fe/idl.tab.cpp" +#line 4237 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4254,7 +4243,7 @@ yyparse () yyerrok; (yyval.dcval) = 0; } -#line 4262 "fe/idl.tab.cpp" +#line 4247 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4265,7 +4254,7 @@ yyparse () (yyvsp[0].nlval)), 1); } -#line 4273 "fe/idl.tab.cpp" +#line 4258 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4273,7 +4262,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4281 "fe/idl.tab.cpp" +#line 4266 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4297,7 +4286,7 @@ yyparse () (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4305 "fe/idl.tab.cpp" +#line 4290 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4305,7 +4294,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 4313 "fe/idl.tab.cpp" +#line 4298 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4318,7 +4307,7 @@ yyparse () 0), 1); } -#line 4326 "fe/idl.tab.cpp" +#line 4311 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4326,7 +4315,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4334 "fe/idl.tab.cpp" +#line 4319 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4350,7 +4339,7 @@ yyparse () sn), 1); } -#line 4358 "fe/idl.tab.cpp" +#line 4343 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4364,7 +4353,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4372 "fe/idl.tab.cpp" +#line 4357 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4380,7 +4369,7 @@ yyparse () (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4388 "fe/idl.tab.cpp" +#line 4373 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4392,7 +4381,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4400 "fe/idl.tab.cpp" +#line 4385 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4404,7 +4393,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4412 "fe/idl.tab.cpp" +#line 4397 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4451,7 +4440,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4459 "fe/idl.tab.cpp" +#line 4444 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4481,7 +4470,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4489 "fe/idl.tab.cpp" +#line 4474 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4513,7 +4502,7 @@ yyparse () (yyval.dcval) = dynamic_cast (f); } -#line 4521 "fe/idl.tab.cpp" +#line 4506 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4521,7 +4510,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4529 "fe/idl.tab.cpp" +#line 4514 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4529,7 +4518,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4537 "fe/idl.tab.cpp" +#line 4522 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4537,7 +4526,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4545 "fe/idl.tab.cpp" +#line 4530 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4545,7 +4534,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4553 "fe/idl.tab.cpp" +#line 4538 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4605,7 +4594,7 @@ yyparse () delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4613 "fe/idl.tab.cpp" +#line 4598 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4613,7 +4602,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_string; } -#line 4621 "fe/idl.tab.cpp" +#line 4606 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4621,7 +4610,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4629 "fe/idl.tab.cpp" +#line 4614 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4691,7 +4680,7 @@ yyparse () sn = 0; (yyvsp[0].idlist) = 0; } -#line 4699 "fe/idl.tab.cpp" +#line 4684 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4704,7 +4693,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4712 "fe/idl.tab.cpp" +#line 4697 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4717,7 +4706,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4725 "fe/idl.tab.cpp" +#line 4710 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4730,7 +4719,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4738 "fe/idl.tab.cpp" +#line 4723 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4743,7 +4732,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4751 "fe/idl.tab.cpp" +#line 4736 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4756,7 +4745,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4764 "fe/idl.tab.cpp" +#line 4749 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4769,7 +4758,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4777 "fe/idl.tab.cpp" +#line 4762 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4782,7 +4771,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4790 "fe/idl.tab.cpp" +#line 4775 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4795,7 +4784,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4803 "fe/idl.tab.cpp" +#line 4788 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4808,7 +4797,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4816 "fe/idl.tab.cpp" +#line 4801 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4821,7 +4810,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4829 "fe/idl.tab.cpp" +#line 4814 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4834,7 +4823,7 @@ yyparse () 0 ); } -#line 4842 "fe/idl.tab.cpp" +#line 4827 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4847,7 +4836,7 @@ yyparse () 0 ); } -#line 4855 "fe/idl.tab.cpp" +#line 4840 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4860,7 +4849,7 @@ yyparse () 0 ); } -#line 4868 "fe/idl.tab.cpp" +#line 4853 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4921,7 +4910,7 @@ yyparse () delete name; (yyvsp[0].idlist) = name = 0; } -#line 4929 "fe/idl.tab.cpp" +#line 4914 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4929,7 +4918,7 @@ yyparse () { (yyval.exval) = (yyvsp[-1].exval); } -#line 4937 "fe/idl.tab.cpp" +#line 4922 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4937,7 +4926,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4945 "fe/idl.tab.cpp" +#line 4930 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4946,7 +4935,7 @@ yyparse () (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4954 "fe/idl.tab.cpp" +#line 4939 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4957,7 +4946,7 @@ yyparse () delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4965 "fe/idl.tab.cpp" +#line 4950 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4968,7 +4957,7 @@ yyparse () ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4976 "fe/idl.tab.cpp" +#line 4961 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4976,7 +4965,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4984 "fe/idl.tab.cpp" +#line 4969 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4985,7 +4974,7 @@ yyparse () ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4993 "fe/idl.tab.cpp" +#line 4978 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4993,7 +4982,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5001 "fe/idl.tab.cpp" +#line 4986 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -5001,7 +4990,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5009 "fe/idl.tab.cpp" +#line 4994 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -5009,7 +4998,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5017 "fe/idl.tab.cpp" +#line 5002 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5017,7 +5006,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5025 "fe/idl.tab.cpp" +#line 5010 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5086,7 +5075,7 @@ yyparse () idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5094 "fe/idl.tab.cpp" +#line 5079 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5107,7 +5096,7 @@ yyparse () fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5115 "fe/idl.tab.cpp" +#line 5100 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5120,7 +5109,7 @@ yyparse () (yyval.dcval) = 0; } -#line 5128 "fe/idl.tab.cpp" +#line 5113 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5129,7 +5118,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5137 "fe/idl.tab.cpp" +#line 5122 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5186,7 +5175,7 @@ yyparse () delete result; } } -#line 5194 "fe/idl.tab.cpp" +#line 5179 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5194,7 +5183,7 @@ yyparse () { (yyval.exval) = (yyvsp[0].exval); } -#line 5202 "fe/idl.tab.cpp" +#line 5187 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5202,7 +5191,7 @@ yyparse () { (yyval.exval) = 0; } -#line 5210 "fe/idl.tab.cpp" +#line 5195 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5216,7 +5205,7 @@ yyparse () } (yyval.annotations_val) = annotations; } -#line 5224 "fe/idl.tab.cpp" +#line 5209 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5230,7 +5219,7 @@ yyparse () } (yyval.annotations_val) = annotations; } -#line 5238 "fe/idl.tab.cpp" +#line 5223 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5238,7 +5227,7 @@ yyparse () { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5246 "fe/idl.tab.cpp" +#line 5231 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5299,7 +5288,7 @@ yyparse () (yyval.annotation_decl_val) = decl; } -#line 5307 "fe/idl.tab.cpp" +#line 5292 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5331,7 +5320,7 @@ yyparse () (yyval.annotation_val) = appl; } -#line 5339 "fe/idl.tab.cpp" +#line 5324 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5339,7 +5328,7 @@ yyparse () { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5347 "fe/idl.tab.cpp" +#line 5332 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5347,7 +5336,7 @@ yyparse () { (yyval.annotation_params_val) = 0; } -#line 5355 "fe/idl.tab.cpp" +#line 5340 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5360,7 +5349,7 @@ yyparse () params->push (param); (yyval.annotation_params_val) = params; } -#line 5368 "fe/idl.tab.cpp" +#line 5353 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5368,7 +5357,7 @@ yyparse () { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5376 "fe/idl.tab.cpp" +#line 5361 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5378,7 +5367,7 @@ yyparse () params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5386 "fe/idl.tab.cpp" +#line 5371 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5388,7 +5377,7 @@ yyparse () params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5396 "fe/idl.tab.cpp" +#line 5381 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5396,7 +5385,7 @@ yyparse () { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5404 "fe/idl.tab.cpp" +#line 5389 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5409,7 +5398,7 @@ yyparse () param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5417 "fe/idl.tab.cpp" +#line 5402 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5418,7 +5407,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5426 "fe/idl.tab.cpp" +#line 5411 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5426,7 +5415,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5434 "fe/idl.tab.cpp" +#line 5419 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5434,7 +5423,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5442 "fe/idl.tab.cpp" +#line 5427 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5442,7 +5431,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5450 "fe/idl.tab.cpp" +#line 5435 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5450,7 +5439,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5458 "fe/idl.tab.cpp" +#line 5443 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5482,7 +5471,7 @@ yyparse () (yyval.dcval) = 0; } -#line 5490 "fe/idl.tab.cpp" +#line 5475 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5490,7 +5479,7 @@ yyparse () { (yyval.dcval) = 0; } -#line 5498 "fe/idl.tab.cpp" +#line 5483 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5498,7 +5487,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5506 "fe/idl.tab.cpp" +#line 5491 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5566,7 +5555,7 @@ yyparse () (yyval.dcval) = t; } -#line 5574 "fe/idl.tab.cpp" +#line 5559 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5577,7 +5566,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 5585 "fe/idl.tab.cpp" +#line 5570 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5604,7 +5593,7 @@ yyparse () (yyval.dcval) = d; } -#line 5612 "fe/idl.tab.cpp" +#line 5597 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5615,7 +5604,7 @@ yyparse () (yyvsp[0].dlval)), 1); } -#line 5623 "fe/idl.tab.cpp" +#line 5608 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5623,7 +5612,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5631 "fe/idl.tab.cpp" +#line 5616 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5647,7 +5636,7 @@ yyparse () (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5655 "fe/idl.tab.cpp" +#line 5640 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5655,7 +5644,7 @@ yyparse () { (yyval.dlval) = 0; } -#line 5663 "fe/idl.tab.cpp" +#line 5648 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5666,7 +5655,7 @@ yyparse () (yyvsp[0].dlval)), 1); } -#line 5674 "fe/idl.tab.cpp" +#line 5659 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5674,7 +5663,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5682 "fe/idl.tab.cpp" +#line 5667 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5698,7 +5687,7 @@ yyparse () (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5706 "fe/idl.tab.cpp" +#line 5691 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5706,7 +5695,7 @@ yyparse () { (yyval.dlval) = 0; } -#line 5714 "fe/idl.tab.cpp" +#line 5699 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5723,7 +5712,7 @@ yyparse () 0), 1); } -#line 5731 "fe/idl.tab.cpp" +#line 5716 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5742,7 +5731,7 @@ yyparse () (yyvsp[0].dcval)), 1); } -#line 5750 "fe/idl.tab.cpp" +#line 5735 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5750,7 +5739,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_long; } -#line 5758 "fe/idl.tab.cpp" +#line 5743 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5758,7 +5747,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5766 "fe/idl.tab.cpp" +#line 5751 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5766,7 +5755,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_short; } -#line 5774 "fe/idl.tab.cpp" +#line 5759 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5774,7 +5763,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_int8; } -#line 5782 "fe/idl.tab.cpp" +#line 5767 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5782,7 +5771,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_short; } -#line 5790 "fe/idl.tab.cpp" +#line 5775 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5790,7 +5779,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_long; } -#line 5798 "fe/idl.tab.cpp" +#line 5783 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5798,7 +5787,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5806 "fe/idl.tab.cpp" +#line 5791 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5806,7 +5795,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5814 "fe/idl.tab.cpp" +#line 5799 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5814,7 +5803,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5822 "fe/idl.tab.cpp" +#line 5807 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5822,7 +5811,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5830 "fe/idl.tab.cpp" +#line 5815 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5830,7 +5819,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5838 "fe/idl.tab.cpp" +#line 5823 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5838,7 +5827,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5846 "fe/idl.tab.cpp" +#line 5831 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5846,7 +5835,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5854 "fe/idl.tab.cpp" +#line 5839 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5854,7 +5843,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5862 "fe/idl.tab.cpp" +#line 5847 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5862,7 +5851,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_double; } -#line 5870 "fe/idl.tab.cpp" +#line 5855 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5870,7 +5859,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_float; } -#line 5878 "fe/idl.tab.cpp" +#line 5863 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5878,7 +5867,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5886 "fe/idl.tab.cpp" +#line 5871 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5886,7 +5875,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5894 "fe/idl.tab.cpp" +#line 5879 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5894,7 +5883,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_char; } -#line 5902 "fe/idl.tab.cpp" +#line 5887 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5902,7 +5891,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5910 "fe/idl.tab.cpp" +#line 5895 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5910,7 +5899,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_octet; } -#line 5918 "fe/idl.tab.cpp" +#line 5903 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5918,7 +5907,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_bool; } -#line 5926 "fe/idl.tab.cpp" +#line 5911 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5926,7 +5915,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_any; } -#line 5934 "fe/idl.tab.cpp" +#line 5919 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5934,7 +5923,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_object; } -#line 5942 "fe/idl.tab.cpp" +#line 5927 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5942,7 +5931,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5950 "fe/idl.tab.cpp" +#line 5935 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5951,7 +5940,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5959 "fe/idl.tab.cpp" +#line 5944 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5986,7 +5975,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5994 "fe/idl.tab.cpp" +#line 5979 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5994,7 +5983,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6002 "fe/idl.tab.cpp" +#line 5987 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -6002,7 +5991,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6010 "fe/idl.tab.cpp" +#line 5995 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6018,7 +6007,7 @@ yyparse () ); idl_global->scopes ().pop (); } -#line 6026 "fe/idl.tab.cpp" +#line 6011 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6036,7 +6025,7 @@ yyparse () delete annotations; delete members; } -#line 6044 "fe/idl.tab.cpp" +#line 6029 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6044,7 +6033,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6052 "fe/idl.tab.cpp" +#line 6037 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6052,7 +6041,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6060 "fe/idl.tab.cpp" +#line 6045 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6110,7 +6099,7 @@ yyparse () (yyval.decls_val) = members; } -#line 6118 "fe/idl.tab.cpp" +#line 6103 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6118,7 +6107,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6126 "fe/idl.tab.cpp" +#line 6111 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6127,7 +6116,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6135 "fe/idl.tab.cpp" +#line 6120 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6135,7 +6124,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6143 "fe/idl.tab.cpp" +#line 6128 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6144,7 +6133,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6152 "fe/idl.tab.cpp" +#line 6137 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6152,7 +6141,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6160 "fe/idl.tab.cpp" +#line 6145 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6189,7 +6178,7 @@ yyparse () * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6197 "fe/idl.tab.cpp" +#line 6182 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6197,7 +6186,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6205 "fe/idl.tab.cpp" +#line 6190 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6260,7 +6249,7 @@ yyparse () delete disc_annotations; } -#line 6268 "fe/idl.tab.cpp" +#line 6253 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6268,7 +6257,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6276 "fe/idl.tab.cpp" +#line 6261 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6276,7 +6265,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6284 "fe/idl.tab.cpp" +#line 6269 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6296,7 +6285,7 @@ yyparse () idl_global->scopes ().pop (); } } -#line 6304 "fe/idl.tab.cpp" +#line 6289 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6307,7 +6296,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6315 "fe/idl.tab.cpp" +#line 6300 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6324,7 +6313,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6332 "fe/idl.tab.cpp" +#line 6317 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6337,7 +6326,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6345 "fe/idl.tab.cpp" +#line 6330 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6348,7 +6337,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6356 "fe/idl.tab.cpp" +#line 6341 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6459,7 +6448,7 @@ yyparse () delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6467 "fe/idl.tab.cpp" +#line 6452 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6467,7 +6456,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6475 "fe/idl.tab.cpp" +#line 6460 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6475,7 +6464,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6483 "fe/idl.tab.cpp" +#line 6468 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6511,7 +6500,7 @@ yyparse () delete annotations; } -#line 6519 "fe/idl.tab.cpp" +#line 6504 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6519,7 +6508,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6527 "fe/idl.tab.cpp" +#line 6512 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6528,7 +6517,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6536 "fe/idl.tab.cpp" +#line 6521 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6539,7 +6528,7 @@ yyparse () (yyvsp[0].llval)), 1); } -#line 6547 "fe/idl.tab.cpp" +#line 6532 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6561,7 +6550,7 @@ yyparse () (yyval.llval) = (yyvsp[-1].llval); } } -#line 6569 "fe/idl.tab.cpp" +#line 6554 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6569,7 +6558,7 @@ yyparse () { (yyval.llval) = 0; } -#line 6577 "fe/idl.tab.cpp" +#line 6562 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6577,7 +6566,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6585 "fe/idl.tab.cpp" +#line 6570 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6590,7 +6579,7 @@ yyparse () 0 ); } -#line 6598 "fe/idl.tab.cpp" +#line 6583 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6598,7 +6587,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6606 "fe/idl.tab.cpp" +#line 6591 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6606,7 +6595,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6614 "fe/idl.tab.cpp" +#line 6599 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6619,7 +6608,7 @@ yyparse () (yyvsp[-2].exval) ); } -#line 6627 "fe/idl.tab.cpp" +#line 6612 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6627,7 +6616,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6635 "fe/idl.tab.cpp" +#line 6620 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6674,7 +6663,7 @@ yyparse () (yyvsp[0].deval) = 0; } } -#line 6682 "fe/idl.tab.cpp" +#line 6667 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6700,7 +6689,7 @@ yyparse () (yyval.dcval) = d; } -#line 6708 "fe/idl.tab.cpp" +#line 6693 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6724,7 +6713,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6732 "fe/idl.tab.cpp" +#line 6717 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6732,7 +6721,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6740 "fe/idl.tab.cpp" +#line 6725 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6767,7 +6756,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6775 "fe/idl.tab.cpp" +#line 6760 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6775,7 +6764,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6783 "fe/idl.tab.cpp" +#line 6768 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6783,7 +6772,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6791 "fe/idl.tab.cpp" +#line 6776 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6806,7 +6795,7 @@ yyparse () idl_global->scopes ().pop (); } } -#line 6814 "fe/idl.tab.cpp" +#line 6799 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6814,7 +6803,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6822 "fe/idl.tab.cpp" +#line 6807 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6853,86 +6842,11 @@ yyparse () delete annotations; } -#line 6861 "fe/idl.tab.cpp" +#line 6846 "fe/idl.tab.cpp" break; - case 354: /* $@91: %empty */ + case 354: /* map_type_spec: map_head '>' */ #line 3901 "fe/idl.ypp" - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); - } -#line 6869 "fe/idl.tab.cpp" - break; - - case 355: /* $@92: %empty */ -#line 3905 "fe/idl.ypp" - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); - } -#line 6877 "fe/idl.tab.cpp" - break; - - case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3909 "fe/idl.ypp" - { - AST_Map *map = 0; - Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); - Decl_Annotations_Pair *key_type = type_pair->first; - Decl_Annotations_Pair *val_type = type_pair->second; - - /* - * Remove map marker from scopes stack. - */ - if (idl_global->scopes ().top () == 0) - { - idl_global->scopes ().pop (); - } - - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - /* - * Create a node representing a map. - */ - if (key_type && val_type) - { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); - - if (ktp == 0 || vtp == 0) - { - ; // Error will be caught in FE_Declarator. - } - else - { - Identifier id ("map"); - UTL_ScopedName sn (&id, 0); - - map = - idl_global->gen ()->create_map ( - (yyvsp[-2].exval), - ktp, - vtp, - &sn, - s->is_local (), - s->is_abstract () - ); - map->key_type_annotations (*key_type->annotations); - map->value_type_annotations (*val_type->annotations); - - idl_global->err ()->anonymous_type_diagnostic (); - } - } - - delete key_type->annotations; - delete val_type->annotations; - delete type_pair; - (yyval.dcval) = map; - } -#line 6936 "fe/idl.tab.cpp" - break; - - case 357: /* map_type_spec: map_head '>' */ -#line 3965 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); @@ -6991,11 +6905,11 @@ yyparse () delete type_pair; (yyval.dcval) = map; } -#line 6999 "fe/idl.tab.cpp" +#line 6909 "fe/idl.tab.cpp" break; - case 358: /* $@93: %empty */ -#line 4027 "fe/idl.ypp" + case 355: /* $@91: %empty */ +#line 3963 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); @@ -7004,19 +6918,19 @@ yyparse () */ idl_global->scopes ().push (0); } -#line 7012 "fe/idl.tab.cpp" +#line 6922 "fe/idl.tab.cpp" break; - case 359: /* $@94: %empty */ -#line 4037 "fe/idl.ypp" + case 356: /* $@92: %empty */ +#line 3973 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7020 "fe/idl.tab.cpp" +#line 6930 "fe/idl.tab.cpp" break; - case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ -#line 4042 "fe/idl.ypp" + case 357: /* map_head: IDL_MAP $@91 '<' annotations_maybe simple_type_spec $@92 ',' annotations_maybe simple_type_spec */ +#line 3978 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); Decl_Annotations_Pair *key = new Decl_Annotations_Pair; @@ -7032,27 +6946,27 @@ yyparse () pairs->second = value; (yyval.decl_annotations_pair_val_pair) = pairs; } -#line 7040 "fe/idl.tab.cpp" +#line 6950 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4062 "fe/idl.ypp" + case 358: /* $@93: %empty */ +#line 3998 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7048 "fe/idl.tab.cpp" +#line 6958 "fe/idl.tab.cpp" break; - case 362: /* $@96: %empty */ -#line 4066 "fe/idl.ypp" + case 359: /* $@94: %empty */ +#line 4002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7056 "fe/idl.tab.cpp" +#line 6966 "fe/idl.tab.cpp" break; - case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ -#line 4070 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head ',' $@93 positive_int_expr $@94 '>' */ +#line 4006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7133,11 +7047,11 @@ yyparse () ev = 0; (yyval.dcval) = seq; } -#line 7141 "fe/idl.tab.cpp" +#line 7051 "fe/idl.tab.cpp" break; - case 364: /* sequence_type_spec: seq_head '>' */ -#line 4152 "fe/idl.ypp" + case 361: /* sequence_type_spec: seq_head '>' */ +#line 4088 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7199,11 +7113,11 @@ yyparse () delete type_annotations; (yyval.dcval) = seq; } -#line 7207 "fe/idl.tab.cpp" +#line 7117 "fe/idl.tab.cpp" break; - case 365: /* $@97: %empty */ -#line 4217 "fe/idl.ypp" + case 362: /* $@95: %empty */ +#line 4153 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7212,19 +7126,19 @@ yyparse () */ idl_global->scopes ().push (0); } -#line 7220 "fe/idl.tab.cpp" +#line 7130 "fe/idl.tab.cpp" break; - case 366: /* $@98: %empty */ -#line 4226 "fe/idl.ypp" + case 363: /* $@96: %empty */ +#line 4162 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7228 "fe/idl.tab.cpp" +#line 7138 "fe/idl.tab.cpp" break; - case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ -#line 4230 "fe/idl.ypp" + case 364: /* seq_head: IDL_SEQUENCE $@95 '<' $@96 annotations_maybe simple_type_spec */ +#line 4166 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7232,36 +7146,36 @@ yyparse () seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7240 "fe/idl.tab.cpp" +#line 7150 "fe/idl.tab.cpp" break; - case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4241 "fe/idl.ypp" + case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4177 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7249 "fe/idl.tab.cpp" +#line 7159 "fe/idl.tab.cpp" break; - case 369: /* $@99: %empty */ -#line 4250 "fe/idl.ypp" + case 366: /* $@97: %empty */ +#line 4186 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7257 "fe/idl.tab.cpp" +#line 7167 "fe/idl.tab.cpp" break; - case 370: /* $@100: %empty */ -#line 4254 "fe/idl.ypp" + case 367: /* $@98: %empty */ +#line 4190 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7265 "fe/idl.tab.cpp" +#line 7175 "fe/idl.tab.cpp" break; - case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ -#line 4258 "fe/idl.ypp" + case 368: /* string_type_spec: string_head '<' $@97 positive_int_expr $@98 '>' */ +#line 4194 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7300,11 +7214,11 @@ yyparse () delete ev; ev = 0; } -#line 7308 "fe/idl.tab.cpp" +#line 7218 "fe/idl.tab.cpp" break; - case 372: /* string_type_spec: string_head */ -#line 4297 "fe/idl.ypp" + case 369: /* string_type_spec: string_head */ +#line 4233 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7327,35 +7241,35 @@ yyparse () (yyval.dcval) = tao_string_decl; } -#line 7335 "fe/idl.tab.cpp" +#line 7245 "fe/idl.tab.cpp" break; - case 373: /* string_head: IDL_STRING */ -#line 4323 "fe/idl.ypp" + case 370: /* string_head: IDL_STRING */ +#line 4259 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7343 "fe/idl.tab.cpp" +#line 7253 "fe/idl.tab.cpp" break; - case 374: /* $@101: %empty */ -#line 4331 "fe/idl.ypp" + case 371: /* $@99: %empty */ +#line 4267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7351 "fe/idl.tab.cpp" +#line 7261 "fe/idl.tab.cpp" break; - case 375: /* $@102: %empty */ -#line 4335 "fe/idl.ypp" + case 372: /* $@100: %empty */ +#line 4271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7359 "fe/idl.tab.cpp" +#line 7269 "fe/idl.tab.cpp" break; - case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ -#line 4339 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head '<' $@99 positive_int_expr $@100 '>' */ +#line 4275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7394,11 +7308,11 @@ yyparse () delete ev; ev = 0; } -#line 7402 "fe/idl.tab.cpp" +#line 7312 "fe/idl.tab.cpp" break; - case 377: /* wstring_type_spec: wstring_head */ -#line 4378 "fe/idl.ypp" + case 374: /* wstring_type_spec: wstring_head */ +#line 4314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7421,27 +7335,27 @@ yyparse () (yyval.dcval) = string; } -#line 7429 "fe/idl.tab.cpp" +#line 7339 "fe/idl.tab.cpp" break; - case 378: /* wstring_head: IDL_WSTRING */ -#line 4404 "fe/idl.ypp" + case 375: /* wstring_head: IDL_WSTRING */ +#line 4340 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7437 "fe/idl.tab.cpp" +#line 7347 "fe/idl.tab.cpp" break; - case 379: /* $@103: %empty */ -#line 4411 "fe/idl.ypp" + case 376: /* $@101: %empty */ +#line 4347 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7445 "fe/idl.tab.cpp" +#line 7355 "fe/idl.tab.cpp" break; - case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ -#line 4415 "fe/idl.ypp" + case 377: /* array_declarator: defining_id $@101 annotations_maybe at_least_one_array_dim */ +#line 4351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7477,22 +7391,22 @@ yyparse () (yyval.dcval) = array; } -#line 7485 "fe/idl.tab.cpp" +#line 7395 "fe/idl.tab.cpp" break; - case 381: /* at_least_one_array_dim: array_dim array_dims */ -#line 4454 "fe/idl.ypp" + case 378: /* at_least_one_array_dim: array_dim array_dims */ +#line 4390 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7496 "fe/idl.tab.cpp" +#line 7406 "fe/idl.tab.cpp" break; - case 382: /* array_dims: array_dims array_dim */ -#line 4464 "fe/idl.ypp" + case 379: /* array_dims: array_dims array_dim */ +#line 4400 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7510,35 +7424,35 @@ yyparse () (yyval.elval) = (yyvsp[-1].elval); } } -#line 7518 "fe/idl.tab.cpp" +#line 7428 "fe/idl.tab.cpp" break; - case 383: /* array_dims: %empty */ -#line 4482 "fe/idl.ypp" + case 380: /* array_dims: %empty */ +#line 4418 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7526 "fe/idl.tab.cpp" +#line 7436 "fe/idl.tab.cpp" break; - case 384: /* $@104: %empty */ -#line 4489 "fe/idl.ypp" + case 381: /* $@102: %empty */ +#line 4425 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7534 "fe/idl.tab.cpp" +#line 7444 "fe/idl.tab.cpp" break; - case 385: /* $@105: %empty */ -#line 4493 "fe/idl.ypp" + case 382: /* $@103: %empty */ +#line 4429 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7542 "fe/idl.tab.cpp" +#line 7452 "fe/idl.tab.cpp" break; - case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ -#line 4497 "fe/idl.ypp" + case 383: /* array_dim: '[' $@102 positive_int_expr $@103 ']' */ +#line 4433 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7592,43 +7506,43 @@ yyparse () delete ev; ev = 0; } -#line 7600 "fe/idl.tab.cpp" +#line 7510 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4559 "fe/idl.ypp" + case 386: /* $@104: %empty */ +#line 4495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7608 "fe/idl.tab.cpp" +#line 7518 "fe/idl.tab.cpp" break; - case 390: /* $@107: %empty */ -#line 4563 "fe/idl.ypp" + case 387: /* $@105: %empty */ +#line 4499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7616 "fe/idl.tab.cpp" +#line 7526 "fe/idl.tab.cpp" break; - case 391: /* $@108: %empty */ -#line 4567 "fe/idl.ypp" + case 388: /* $@106: %empty */ +#line 4503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7624 "fe/idl.tab.cpp" +#line 7534 "fe/idl.tab.cpp" break; - case 392: /* $@109: %empty */ -#line 4571 "fe/idl.ypp" + case 389: /* $@107: %empty */ +#line 4507 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7632 "fe/idl.tab.cpp" +#line 7542 "fe/idl.tab.cpp" break; - case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ -#line 4575 "fe/idl.ypp" + case 390: /* attribute_readonly: IDL_READONLY $@104 IDL_ATTRIBUTE $@105 param_type_spec $@106 at_least_one_simple_declarator $@107 opt_raises */ +#line 4511 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7680,43 +7594,43 @@ yyparse () (yyval.dcval) = a; } -#line 7688 "fe/idl.tab.cpp" +#line 7598 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4630 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4566 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7696 "fe/idl.tab.cpp" +#line 7606 "fe/idl.tab.cpp" break; - case 395: /* $@111: %empty */ -#line 4634 "fe/idl.ypp" + case 392: /* $@109: %empty */ +#line 4570 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7704 "fe/idl.tab.cpp" +#line 7614 "fe/idl.tab.cpp" break; - case 396: /* $@112: %empty */ -#line 4638 "fe/idl.ypp" + case 393: /* $@110: %empty */ +#line 4574 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7712 "fe/idl.tab.cpp" +#line 7622 "fe/idl.tab.cpp" break; - case 397: /* $@113: %empty */ -#line 4642 "fe/idl.ypp" + case 394: /* $@111: %empty */ +#line 4578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7720 "fe/idl.tab.cpp" +#line 7630 "fe/idl.tab.cpp" break; - case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ -#line 4646 "fe/idl.ypp" + case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_getraises $@111 opt_setraises */ +#line 4582 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7777,19 +7691,19 @@ yyparse () (yyval.dcval) = a; } -#line 7785 "fe/idl.tab.cpp" +#line 7695 "fe/idl.tab.cpp" break; - case 399: /* $@114: %empty */ -#line 4710 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7793 "fe/idl.tab.cpp" +#line 7703 "fe/idl.tab.cpp" break; - case 400: /* @115: %empty */ -#line 4714 "fe/idl.ypp" + case 397: /* @113: %empty */ +#line 4650 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7821,27 +7735,27 @@ yyparse () (yyval.dcval) = exception; } -#line 7829 "fe/idl.tab.cpp" +#line 7739 "fe/idl.tab.cpp" break; - case 401: /* $@116: %empty */ -#line 4746 "fe/idl.ypp" + case 398: /* $@114: %empty */ +#line 4682 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7837 "fe/idl.tab.cpp" +#line 7747 "fe/idl.tab.cpp" break; - case 402: /* $@117: %empty */ -#line 4750 "fe/idl.ypp" + case 399: /* $@115: %empty */ +#line 4686 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7845 "fe/idl.tab.cpp" +#line 7755 "fe/idl.tab.cpp" break; - case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ -#line 4754 "fe/idl.ypp" + case 400: /* exception: IDL_EXCEPTION $@112 defining_id @113 '{' $@114 members $@115 '}' */ +#line 4690 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7851,19 +7765,19 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7859 "fe/idl.tab.cpp" +#line 7769 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4767 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7867 "fe/idl.tab.cpp" +#line 7777 "fe/idl.tab.cpp" break; - case 405: /* $@119: %empty */ -#line 4771 "fe/idl.ypp" + case 402: /* $@117: %empty */ +#line 4707 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7924,27 +7838,27 @@ yyparse () */ idl_global->scopes ().push (op); } -#line 7932 "fe/idl.tab.cpp" +#line 7842 "fe/idl.tab.cpp" break; - case 406: /* $@120: %empty */ -#line 4832 "fe/idl.ypp" + case 403: /* $@118: %empty */ +#line 4768 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7940 "fe/idl.tab.cpp" +#line 7850 "fe/idl.tab.cpp" break; - case 407: /* $@121: %empty */ -#line 4836 "fe/idl.ypp" + case 404: /* $@119: %empty */ +#line 4772 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7948 "fe/idl.tab.cpp" +#line 7858 "fe/idl.tab.cpp" break; - case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ -#line 4840 "fe/idl.ypp" + case 405: /* operation: opt_op_attribute op_type_spec $@116 IDENTIFIER $@117 parameter_list $@118 opt_raises $@119 opt_context */ +#line 4776 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7975,57 +7889,57 @@ yyparse () (yyval.dcval) = o; } -#line 7983 "fe/idl.tab.cpp" +#line 7893 "fe/idl.tab.cpp" break; - case 409: /* opt_op_attribute: IDL_ONEWAY */ -#line 4874 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_ONEWAY */ +#line 4810 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7992 "fe/idl.tab.cpp" +#line 7902 "fe/idl.tab.cpp" break; - case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4879 "fe/idl.ypp" + case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4815 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 8001 "fe/idl.tab.cpp" +#line 7911 "fe/idl.tab.cpp" break; - case 411: /* opt_op_attribute: %empty */ -#line 4884 "fe/idl.ypp" + case 408: /* opt_op_attribute: %empty */ +#line 4820 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 8009 "fe/idl.tab.cpp" +#line 7919 "fe/idl.tab.cpp" break; - case 413: /* op_type_spec: IDL_VOID */ -#line 4892 "fe/idl.ypp" + case 410: /* op_type_spec: IDL_VOID */ +#line 4828 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 8020 "fe/idl.tab.cpp" +#line 7930 "fe/idl.tab.cpp" break; - case 414: /* $@122: %empty */ -#line 4902 "fe/idl.ypp" + case 411: /* $@120: %empty */ +#line 4838 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 8029 "fe/idl.tab.cpp" +#line 7939 "fe/idl.tab.cpp" break; - case 415: /* @123: %empty */ -#line 4907 "fe/idl.ypp" + case 412: /* @121: %empty */ +#line 4843 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8068,19 +7982,19 @@ yyparse () (yyval.dcval) = factory; } -#line 8076 "fe/idl.tab.cpp" +#line 7986 "fe/idl.tab.cpp" break; - case 416: /* $@124: %empty */ -#line 4950 "fe/idl.ypp" + case 413: /* $@122: %empty */ +#line 4886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8084 "fe/idl.tab.cpp" +#line 7994 "fe/idl.tab.cpp" break; - case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ -#line 4954 "fe/idl.ypp" + case 414: /* init_decl: IDL_FACTORY $@120 IDENTIFIER @121 init_parameter_list $@122 opt_raises */ +#line 4890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8095,67 +8009,67 @@ yyparse () (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8103 "fe/idl.tab.cpp" +#line 8013 "fe/idl.tab.cpp" break; - case 418: /* $@125: %empty */ -#line 4972 "fe/idl.ypp" + case 415: /* $@123: %empty */ +#line 4908 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8111 "fe/idl.tab.cpp" +#line 8021 "fe/idl.tab.cpp" break; - case 419: /* init_parameter_list: '(' $@125 ')' */ -#line 4976 "fe/idl.ypp" + case 416: /* init_parameter_list: '(' $@123 ')' */ +#line 4912 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8119 "fe/idl.tab.cpp" +#line 8029 "fe/idl.tab.cpp" break; - case 420: /* $@126: %empty */ -#line 4980 "fe/idl.ypp" + case 417: /* $@124: %empty */ +#line 4916 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8127 "fe/idl.tab.cpp" +#line 8037 "fe/idl.tab.cpp" break; - case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ -#line 4985 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@124 at_least_one_in_parameter ')' */ +#line 4921 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8135 "fe/idl.tab.cpp" +#line 8045 "fe/idl.tab.cpp" break; - case 423: /* $@127: %empty */ -#line 4995 "fe/idl.ypp" + case 420: /* $@125: %empty */ +#line 4931 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8143 "fe/idl.tab.cpp" +#line 8053 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 5004 "fe/idl.ypp" + case 423: /* $@126: %empty */ +#line 4940 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8151 "fe/idl.tab.cpp" +#line 8061 "fe/idl.tab.cpp" break; - case 427: /* $@129: %empty */ -#line 5008 "fe/idl.ypp" + case 424: /* $@127: %empty */ +#line 4944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8159 "fe/idl.tab.cpp" +#line 8069 "fe/idl.tab.cpp" break; - case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ -#line 5012 "fe/idl.ypp" + case 425: /* in_parameter: IDL_IN $@126 param_type_spec $@127 declarator */ +#line 4948 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8187,67 +8101,67 @@ yyparse () delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8195 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 429: /* $@130: %empty */ -#line 5047 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 4983 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8203 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 430: /* parameter_list: '(' $@130 ')' */ -#line 5051 "fe/idl.ypp" + case 427: /* parameter_list: '(' $@128 ')' */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8211 "fe/idl.tab.cpp" +#line 8121 "fe/idl.tab.cpp" break; - case 431: /* $@131: %empty */ -#line 5055 "fe/idl.ypp" + case 428: /* $@129: %empty */ +#line 4991 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8219 "fe/idl.tab.cpp" +#line 8129 "fe/idl.tab.cpp" break; - case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ -#line 5060 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@129 at_least_one_parameter ')' */ +#line 4996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8227 "fe/idl.tab.cpp" +#line 8137 "fe/idl.tab.cpp" break; - case 434: /* $@132: %empty */ -#line 5070 "fe/idl.ypp" + case 431: /* $@130: %empty */ +#line 5006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8235 "fe/idl.tab.cpp" +#line 8145 "fe/idl.tab.cpp" break; - case 437: /* $@133: %empty */ -#line 5079 "fe/idl.ypp" + case 434: /* $@131: %empty */ +#line 5015 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8243 "fe/idl.tab.cpp" +#line 8153 "fe/idl.tab.cpp" break; - case 438: /* $@134: %empty */ -#line 5083 "fe/idl.ypp" + case 435: /* $@132: %empty */ +#line 5019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8251 "fe/idl.tab.cpp" +#line 8161 "fe/idl.tab.cpp" break; - case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ -#line 5087 "fe/idl.ypp" + case 436: /* parameter: direction $@131 param_type_spec $@132 declarator */ +#line 5023 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8286,22 +8200,22 @@ yyparse () delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8294 "fe/idl.tab.cpp" +#line 8204 "fe/idl.tab.cpp" break; - case 440: /* param_type_spec: base_type_spec */ -#line 5129 "fe/idl.ypp" + case 437: /* param_type_spec: base_type_spec */ +#line 5065 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8305 "fe/idl.tab.cpp" +#line 8215 "fe/idl.tab.cpp" break; - case 443: /* param_type_spec: scoped_name */ -#line 5138 "fe/idl.ypp" + case 440: /* param_type_spec: scoped_name */ +#line 5074 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8453,186 +8367,186 @@ yyparse () (yyval.dcval) = d; } -#line 8461 "fe/idl.tab.cpp" +#line 8371 "fe/idl.tab.cpp" break; - case 444: /* direction: IDL_IN */ -#line 5293 "fe/idl.ypp" + case 441: /* direction: IDL_IN */ +#line 5229 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8469 "fe/idl.tab.cpp" +#line 8379 "fe/idl.tab.cpp" break; - case 445: /* direction: IDL_OUT */ -#line 5297 "fe/idl.ypp" + case 442: /* direction: IDL_OUT */ +#line 5233 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8477 "fe/idl.tab.cpp" +#line 8387 "fe/idl.tab.cpp" break; - case 446: /* direction: IDL_INOUT */ -#line 5301 "fe/idl.ypp" + case 443: /* direction: IDL_INOUT */ +#line 5237 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8485 "fe/idl.tab.cpp" +#line 8395 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5308 "fe/idl.ypp" + case 444: /* $@133: %empty */ +#line 5244 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8493 "fe/idl.tab.cpp" +#line 8403 "fe/idl.tab.cpp" break; - case 448: /* $@136: %empty */ -#line 5312 "fe/idl.ypp" + case 445: /* $@134: %empty */ +#line 5248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8501 "fe/idl.tab.cpp" +#line 8411 "fe/idl.tab.cpp" break; - case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5317 "fe/idl.ypp" + case 446: /* opt_raises: IDL_RAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ +#line 5253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8510 "fe/idl.tab.cpp" +#line 8420 "fe/idl.tab.cpp" break; - case 450: /* opt_raises: %empty */ -#line 5322 "fe/idl.ypp" + case 447: /* opt_raises: %empty */ +#line 5258 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8518 "fe/idl.tab.cpp" +#line 8428 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5329 "fe/idl.ypp" + case 448: /* $@135: %empty */ +#line 5265 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8526 "fe/idl.tab.cpp" +#line 8436 "fe/idl.tab.cpp" break; - case 452: /* $@138: %empty */ -#line 5333 "fe/idl.ypp" + case 449: /* $@136: %empty */ +#line 5269 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8534 "fe/idl.tab.cpp" +#line 8444 "fe/idl.tab.cpp" break; - case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ -#line 5338 "fe/idl.ypp" + case 450: /* opt_getraises: IDL_GETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8543 "fe/idl.tab.cpp" +#line 8453 "fe/idl.tab.cpp" break; - case 454: /* opt_getraises: %empty */ -#line 5343 "fe/idl.ypp" + case 451: /* opt_getraises: %empty */ +#line 5279 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8551 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; - case 455: /* $@139: %empty */ -#line 5350 "fe/idl.ypp" + case 452: /* $@137: %empty */ +#line 5286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8559 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; - case 456: /* $@140: %empty */ -#line 5354 "fe/idl.ypp" + case 453: /* $@138: %empty */ +#line 5290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8567 "fe/idl.tab.cpp" +#line 8477 "fe/idl.tab.cpp" break; - case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ -#line 5359 "fe/idl.ypp" + case 454: /* opt_setraises: IDL_SETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ +#line 5295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8576 "fe/idl.tab.cpp" +#line 8486 "fe/idl.tab.cpp" break; - case 458: /* opt_setraises: %empty */ -#line 5364 "fe/idl.ypp" + case 455: /* opt_setraises: %empty */ +#line 5300 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8584 "fe/idl.tab.cpp" +#line 8494 "fe/idl.tab.cpp" break; - case 459: /* $@141: %empty */ -#line 5371 "fe/idl.ypp" + case 456: /* $@139: %empty */ +#line 5307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8592 "fe/idl.tab.cpp" +#line 8502 "fe/idl.tab.cpp" break; - case 460: /* $@142: %empty */ -#line 5375 "fe/idl.ypp" + case 457: /* $@140: %empty */ +#line 5311 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8600 "fe/idl.tab.cpp" +#line 8510 "fe/idl.tab.cpp" break; - case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ -#line 5380 "fe/idl.ypp" + case 458: /* opt_context: IDL_CONTEXT $@139 '(' $@140 at_least_one_string_literal ')' */ +#line 5316 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8609 "fe/idl.tab.cpp" +#line 8519 "fe/idl.tab.cpp" break; - case 462: /* opt_context: %empty */ -#line 5385 "fe/idl.ypp" + case 459: /* opt_context: %empty */ +#line 5321 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8617 "fe/idl.tab.cpp" +#line 8527 "fe/idl.tab.cpp" break; - case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5392 "fe/idl.ypp" + case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5328 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8628 "fe/idl.tab.cpp" +#line 8538 "fe/idl.tab.cpp" break; - case 464: /* $@143: %empty */ -#line 5403 "fe/idl.ypp" + case 461: /* $@141: %empty */ +#line 5339 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8636 "fe/idl.tab.cpp" +#line 8546 "fe/idl.tab.cpp" break; - case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ -#line 5407 "fe/idl.ypp" + case 462: /* string_literals: string_literals ',' $@141 IDL_STRING_LITERAL */ +#line 5343 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8650,19 +8564,19 @@ yyparse () (yyval.slval) = (yyvsp[-3].slval); } } -#line 8658 "fe/idl.tab.cpp" +#line 8568 "fe/idl.tab.cpp" break; - case 466: /* string_literals: %empty */ -#line 5425 "fe/idl.ypp" + case 463: /* string_literals: %empty */ +#line 5361 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8666 "fe/idl.tab.cpp" +#line 8576 "fe/idl.tab.cpp" break; - case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5432 "fe/idl.ypp" + case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5368 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8689,11 +8603,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8697 "fe/idl.tab.cpp" +#line 8607 "fe/idl.tab.cpp" break; - case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5462 "fe/idl.ypp" + case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5398 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8729,11 +8643,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8737 "fe/idl.tab.cpp" +#line 8647 "fe/idl.tab.cpp" break; - case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5507 "fe/idl.ypp" + case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5443 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8759,11 +8673,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8767 "fe/idl.tab.cpp" +#line 8677 "fe/idl.tab.cpp" break; - case 472: /* @144: %empty */ -#line 5536 "fe/idl.ypp" + case 469: /* @142: %empty */ +#line 5472 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8805,27 +8719,27 @@ yyparse () (yyval.dcval) = component; } -#line 8813 "fe/idl.tab.cpp" +#line 8723 "fe/idl.tab.cpp" break; - case 473: /* $@145: %empty */ -#line 5578 "fe/idl.ypp" + case 470: /* $@143: %empty */ +#line 5514 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8821 "fe/idl.tab.cpp" +#line 8731 "fe/idl.tab.cpp" break; - case 474: /* $@146: %empty */ -#line 5582 "fe/idl.ypp" + case 471: /* $@144: %empty */ +#line 5518 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8829 "fe/idl.tab.cpp" +#line 8739 "fe/idl.tab.cpp" break; - case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ -#line 5586 "fe/idl.ypp" + case 472: /* component_decl: component_header @142 '{' $@143 component_exports $@144 '}' */ +#line 5522 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8836,27 +8750,27 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8844 "fe/idl.tab.cpp" +#line 8754 "fe/idl.tab.cpp" break; - case 476: /* $@147: %empty */ -#line 5601 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5537 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8852 "fe/idl.tab.cpp" +#line 8762 "fe/idl.tab.cpp" break; - case 477: /* $@148: %empty */ -#line 5605 "fe/idl.ypp" + case 474: /* $@146: %empty */ +#line 5541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8860 "fe/idl.tab.cpp" +#line 8770 "fe/idl.tab.cpp" break; - case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ -#line 5609 "fe/idl.ypp" + case 475: /* component_header: IDL_COMPONENT defining_id $@145 component_inheritance_spec $@146 supports_spec */ +#line 5545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8890,35 +8804,35 @@ yyparse () (yyvsp[-2].idlist) = 0; } } -#line 8898 "fe/idl.tab.cpp" +#line 8808 "fe/idl.tab.cpp" break; - case 479: /* $@149: %empty */ -#line 5646 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8906 "fe/idl.tab.cpp" +#line 8816 "fe/idl.tab.cpp" break; - case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ -#line 5650 "fe/idl.ypp" + case 477: /* component_inheritance_spec: ':' $@147 scoped_name */ +#line 5586 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8914 "fe/idl.tab.cpp" +#line 8824 "fe/idl.tab.cpp" break; - case 481: /* component_inheritance_spec: %empty */ -#line 5654 "fe/idl.ypp" + case 478: /* component_inheritance_spec: %empty */ +#line 5590 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8922 "fe/idl.tab.cpp" +#line 8832 "fe/idl.tab.cpp" break; - case 482: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5661 "fe/idl.ypp" + case 479: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5597 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8933,130 +8847,130 @@ yyparse () } delete annotations; } -#line 8941 "fe/idl.tab.cpp" +#line 8851 "fe/idl.tab.cpp" break; - case 485: /* $@150: %empty */ -#line 5681 "fe/idl.ypp" + case 482: /* $@148: %empty */ +#line 5617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8949 "fe/idl.tab.cpp" +#line 8859 "fe/idl.tab.cpp" break; - case 486: /* component_export: provides_decl $@150 ';' */ -#line 5685 "fe/idl.ypp" + case 483: /* component_export: provides_decl $@148 ';' */ +#line 5621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8958 "fe/idl.tab.cpp" +#line 8868 "fe/idl.tab.cpp" break; - case 487: /* $@151: %empty */ -#line 5690 "fe/idl.ypp" + case 484: /* $@149: %empty */ +#line 5626 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8966 "fe/idl.tab.cpp" +#line 8876 "fe/idl.tab.cpp" break; - case 488: /* component_export: uses_decl $@151 ';' */ -#line 5694 "fe/idl.ypp" + case 485: /* component_export: uses_decl $@149 ';' */ +#line 5630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8975 "fe/idl.tab.cpp" +#line 8885 "fe/idl.tab.cpp" break; - case 489: /* $@152: %empty */ -#line 5699 "fe/idl.ypp" + case 486: /* $@150: %empty */ +#line 5635 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8983 "fe/idl.tab.cpp" +#line 8893 "fe/idl.tab.cpp" break; - case 490: /* component_export: emits_decl $@152 ';' */ -#line 5703 "fe/idl.ypp" + case 487: /* component_export: emits_decl $@150 ';' */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8992 "fe/idl.tab.cpp" +#line 8902 "fe/idl.tab.cpp" break; - case 491: /* $@153: %empty */ -#line 5708 "fe/idl.ypp" + case 488: /* $@151: %empty */ +#line 5644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 9000 "fe/idl.tab.cpp" +#line 8910 "fe/idl.tab.cpp" break; - case 492: /* component_export: publishes_decl $@153 ';' */ -#line 5712 "fe/idl.ypp" + case 489: /* component_export: publishes_decl $@151 ';' */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9009 "fe/idl.tab.cpp" +#line 8919 "fe/idl.tab.cpp" break; - case 493: /* $@154: %empty */ -#line 5717 "fe/idl.ypp" + case 490: /* $@152: %empty */ +#line 5653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 9017 "fe/idl.tab.cpp" +#line 8927 "fe/idl.tab.cpp" break; - case 494: /* component_export: consumes_decl $@154 ';' */ -#line 5721 "fe/idl.ypp" + case 491: /* component_export: consumes_decl $@152 ';' */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9026 "fe/idl.tab.cpp" +#line 8936 "fe/idl.tab.cpp" break; - case 495: /* $@155: %empty */ -#line 5726 "fe/idl.ypp" + case 492: /* $@153: %empty */ +#line 5662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 9034 "fe/idl.tab.cpp" +#line 8944 "fe/idl.tab.cpp" break; - case 496: /* component_export: attribute $@155 ';' */ -#line 5730 "fe/idl.ypp" + case 493: /* component_export: attribute $@153 ';' */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9043 "fe/idl.tab.cpp" +#line 8953 "fe/idl.tab.cpp" break; - case 497: /* $@156: %empty */ -#line 5735 "fe/idl.ypp" + case 494: /* $@154: %empty */ +#line 5671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 9051 "fe/idl.tab.cpp" +#line 8961 "fe/idl.tab.cpp" break; - case 498: /* component_export: extended_port_decl $@156 ';' */ -#line 5739 "fe/idl.ypp" + case 495: /* component_export: extended_port_decl $@154 ';' */ +#line 5675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9060 "fe/idl.tab.cpp" +#line 8970 "fe/idl.tab.cpp" break; - case 499: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5746 "fe/idl.ypp" + case 496: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5682 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9146,21 +9060,21 @@ yyparse () (yyval.dcval) = dynamic_cast (provides); } -#line 9154 "fe/idl.tab.cpp" +#line 9064 "fe/idl.tab.cpp" break; - case 500: /* interface_type: scoped_name */ -#line 5839 "fe/idl.ypp" + case 497: /* interface_type: scoped_name */ +#line 5775 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9164 "fe/idl.tab.cpp" +#line 9074 "fe/idl.tab.cpp" break; - case 501: /* interface_type: IDL_OBJECT */ -#line 5845 "fe/idl.ypp" + case 498: /* interface_type: IDL_OBJECT */ +#line 5781 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9183,11 +9097,11 @@ yyparse () conc_name), 1); } -#line 9191 "fe/idl.tab.cpp" +#line 9101 "fe/idl.tab.cpp" break; - case 502: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5870 "fe/idl.ypp" + case 499: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5806 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9291,37 +9205,37 @@ yyparse () (yyval.dcval) = uses; } -#line 9299 "fe/idl.tab.cpp" +#line 9209 "fe/idl.tab.cpp" break; - case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5977 "fe/idl.ypp" + case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5913 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9309 "fe/idl.tab.cpp" +#line 9219 "fe/idl.tab.cpp" break; - case 504: /* opt_multiple: IDL_MULTIPLE */ -#line 5986 "fe/idl.ypp" + case 501: /* opt_multiple: IDL_MULTIPLE */ +#line 5922 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9317 "fe/idl.tab.cpp" +#line 9227 "fe/idl.tab.cpp" break; - case 505: /* opt_multiple: %empty */ -#line 5990 "fe/idl.ypp" + case 502: /* opt_multiple: %empty */ +#line 5926 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9325 "fe/idl.tab.cpp" +#line 9235 "fe/idl.tab.cpp" break; - case 506: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5997 "fe/idl.ypp" + case 503: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5933 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9393,11 +9307,11 @@ yyparse () (yyval.dcval) = e; } -#line 9401 "fe/idl.tab.cpp" +#line 9311 "fe/idl.tab.cpp" break; - case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6072 "fe/idl.ypp" + case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6008 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9466,11 +9380,11 @@ yyparse () (yyval.dcval) = p; } -#line 9474 "fe/idl.tab.cpp" +#line 9384 "fe/idl.tab.cpp" break; - case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6144 "fe/idl.ypp" + case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6080 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9542,11 +9456,11 @@ yyparse () (yyval.dcval) = c; } -#line 9550 "fe/idl.tab.cpp" +#line 9460 "fe/idl.tab.cpp" break; - case 509: /* $@157: %empty */ -#line 6219 "fe/idl.ypp" + case 506: /* $@155: %empty */ +#line 6155 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9583,11 +9497,11 @@ yyparse () */ idl_global->scopes ().push (h); } -#line 9591 "fe/idl.tab.cpp" +#line 9501 "fe/idl.tab.cpp" break; - case 510: /* home_decl: home_header $@157 home_body */ -#line 6256 "fe/idl.ypp" + case 507: /* home_decl: home_header $@155 home_body */ +#line 6192 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9596,59 +9510,59 @@ yyparse () (yyval.dcval) = 0; } -#line 9604 "fe/idl.tab.cpp" +#line 9514 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6268 "fe/idl.ypp" + case 508: /* $@156: %empty */ +#line 6204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9612 "fe/idl.tab.cpp" +#line 9522 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6272 "fe/idl.ypp" + case 509: /* $@157: %empty */ +#line 6208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9620 "fe/idl.tab.cpp" +#line 9530 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6276 "fe/idl.ypp" + case 510: /* $@158: %empty */ +#line 6212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9628 "fe/idl.tab.cpp" +#line 9538 "fe/idl.tab.cpp" break; - case 514: /* $@161: %empty */ -#line 6280 "fe/idl.ypp" + case 511: /* $@159: %empty */ +#line 6216 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9636 "fe/idl.tab.cpp" +#line 9546 "fe/idl.tab.cpp" break; - case 515: /* $@162: %empty */ -#line 6284 "fe/idl.ypp" + case 512: /* $@160: %empty */ +#line 6220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9644 "fe/idl.tab.cpp" +#line 9554 "fe/idl.tab.cpp" break; - case 516: /* $@163: %empty */ -#line 6288 "fe/idl.ypp" + case 513: /* $@161: %empty */ +#line 6224 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9652 "fe/idl.tab.cpp" +#line 9562 "fe/idl.tab.cpp" break; - case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ -#line 6292 "fe/idl.ypp" + case 514: /* home_header: IDL_HOME $@156 defining_id $@157 home_inheritance_spec $@158 supports_spec $@159 IDL_MANAGES $@160 scoped_name $@161 primary_key_spec */ +#line 6228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9694,107 +9608,107 @@ yyparse () (yyvsp[-6].nlval) = 0; } } -#line 9702 "fe/idl.tab.cpp" +#line 9612 "fe/idl.tab.cpp" break; - case 518: /* $@164: %empty */ -#line 6341 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6277 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9710 "fe/idl.tab.cpp" +#line 9620 "fe/idl.tab.cpp" break; - case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ -#line 6345 "fe/idl.ypp" + case 516: /* home_inheritance_spec: ':' $@162 scoped_name */ +#line 6281 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9718 "fe/idl.tab.cpp" +#line 9628 "fe/idl.tab.cpp" break; - case 520: /* home_inheritance_spec: %empty */ -#line 6349 "fe/idl.ypp" + case 517: /* home_inheritance_spec: %empty */ +#line 6285 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9726 "fe/idl.tab.cpp" +#line 9636 "fe/idl.tab.cpp" break; - case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6357 "fe/idl.ypp" + case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6293 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9734 "fe/idl.tab.cpp" +#line 9644 "fe/idl.tab.cpp" break; - case 522: /* primary_key_spec: %empty */ -#line 6361 "fe/idl.ypp" + case 519: /* primary_key_spec: %empty */ +#line 6297 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9742 "fe/idl.tab.cpp" +#line 9652 "fe/idl.tab.cpp" break; - case 523: /* $@165: %empty */ -#line 6368 "fe/idl.ypp" + case 520: /* $@163: %empty */ +#line 6304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9750 "fe/idl.tab.cpp" +#line 9660 "fe/idl.tab.cpp" break; - case 524: /* $@166: %empty */ -#line 6372 "fe/idl.ypp" + case 521: /* $@164: %empty */ +#line 6308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9758 "fe/idl.tab.cpp" +#line 9668 "fe/idl.tab.cpp" break; - case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ -#line 6376 "fe/idl.ypp" + case 522: /* home_body: '{' $@163 home_exports $@164 '}' */ +#line 6312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9766 "fe/idl.tab.cpp" +#line 9676 "fe/idl.tab.cpp" break; - case 529: /* $@167: %empty */ -#line 6389 "fe/idl.ypp" + case 526: /* $@165: %empty */ +#line 6325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9774 "fe/idl.tab.cpp" +#line 9684 "fe/idl.tab.cpp" break; - case 530: /* home_export: factory_decl $@167 ';' */ -#line 6393 "fe/idl.ypp" + case 527: /* home_export: factory_decl $@165 ';' */ +#line 6329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9782 "fe/idl.tab.cpp" +#line 9692 "fe/idl.tab.cpp" break; - case 531: /* $@168: %empty */ -#line 6397 "fe/idl.ypp" + case 528: /* $@166: %empty */ +#line 6333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9790 "fe/idl.tab.cpp" +#line 9700 "fe/idl.tab.cpp" break; - case 532: /* home_export: finder_decl $@168 ';' */ -#line 6401 "fe/idl.ypp" + case 529: /* home_export: finder_decl $@166 ';' */ +#line 6337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9798 "fe/idl.tab.cpp" +#line 9708 "fe/idl.tab.cpp" break; - case 533: /* $@169: %empty */ -#line 6409 "fe/idl.ypp" + case 530: /* $@167: %empty */ +#line 6345 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9817,19 +9731,19 @@ yyparse () */ idl_global->scopes ().push (f); } -#line 9825 "fe/idl.tab.cpp" +#line 9735 "fe/idl.tab.cpp" break; - case 534: /* $@170: %empty */ -#line 6432 "fe/idl.ypp" + case 531: /* $@168: %empty */ +#line 6368 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9833 "fe/idl.tab.cpp" +#line 9743 "fe/idl.tab.cpp" break; - case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ -#line 6436 "fe/idl.ypp" + case 532: /* factory_decl: IDL_FACTORY defining_id $@167 init_parameter_list $@168 opt_raises */ +#line 6372 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9847,11 +9761,11 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 9855 "fe/idl.tab.cpp" +#line 9765 "fe/idl.tab.cpp" break; - case 536: /* $@171: %empty */ -#line 6458 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6394 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9878,19 +9792,19 @@ yyparse () */ idl_global->scopes ().push (f); } -#line 9886 "fe/idl.tab.cpp" +#line 9796 "fe/idl.tab.cpp" break; - case 537: /* $@172: %empty */ -#line 6485 "fe/idl.ypp" + case 534: /* $@170: %empty */ +#line 6421 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9894 "fe/idl.tab.cpp" +#line 9804 "fe/idl.tab.cpp" break; - case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ -#line 6489 "fe/idl.ypp" + case 535: /* finder_decl: IDL_FINDER defining_id $@169 init_parameter_list $@170 opt_raises */ +#line 6425 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9908,11 +9822,11 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 9916 "fe/idl.tab.cpp" +#line 9826 "fe/idl.tab.cpp" break; - case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6522 "fe/idl.ypp" + case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6458 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9937,11 +9851,11 @@ yyparse () (yyval.dcval) = 0; } -#line 9945 "fe/idl.tab.cpp" +#line 9855 "fe/idl.tab.cpp" break; - case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6552 "fe/idl.ypp" + case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6488 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9966,11 +9880,11 @@ yyparse () (yyval.dcval) = 0; } -#line 9974 "fe/idl.tab.cpp" +#line 9884 "fe/idl.tab.cpp" break; - case 546: /* $@173: %empty */ -#line 6581 "fe/idl.ypp" + case 543: /* $@171: %empty */ +#line 6517 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -10014,27 +9928,27 @@ yyparse () delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 10022 "fe/idl.tab.cpp" +#line 9932 "fe/idl.tab.cpp" break; - case 547: /* $@174: %empty */ -#line 6625 "fe/idl.ypp" + case 544: /* $@172: %empty */ +#line 6561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10030 "fe/idl.tab.cpp" +#line 9940 "fe/idl.tab.cpp" break; - case 548: /* $@175: %empty */ -#line 6629 "fe/idl.ypp" + case 545: /* $@173: %empty */ +#line 6565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10038 "fe/idl.tab.cpp" +#line 9948 "fe/idl.tab.cpp" break; - case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ -#line 6633 "fe/idl.ypp" + case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@171 '{' $@172 exports $@173 '}' */ +#line 6569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10045,19 +9959,19 @@ yyparse () (yyval.dcval) = 0; } -#line 10053 "fe/idl.tab.cpp" +#line 9963 "fe/idl.tab.cpp" break; - case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6649 "fe/idl.ypp" + case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6585 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10061 "fe/idl.tab.cpp" +#line 9971 "fe/idl.tab.cpp" break; - case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6658 "fe/idl.ypp" + case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6594 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -10070,29 +9984,29 @@ yyparse () ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 10078 "fe/idl.tab.cpp" +#line 9988 "fe/idl.tab.cpp" break; - case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6675 "fe/idl.ypp" + case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6611 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10088 "fe/idl.tab.cpp" +#line 9998 "fe/idl.tab.cpp" break; - case 553: /* $@176: %empty */ -#line 6684 "fe/idl.ypp" + case 550: /* $@174: %empty */ +#line 6620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10096 "fe/idl.tab.cpp" +#line 10006 "fe/idl.tab.cpp" break; - case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ -#line 6688 "fe/idl.ypp" + case 551: /* event_rest_of_header: inheritance_spec $@174 supports_spec */ +#line 6624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10121,11 +10035,11 @@ yyparse () (yyvsp[-2].nlval) = 0; } } -#line 10129 "fe/idl.tab.cpp" +#line 10039 "fe/idl.tab.cpp" break; - case 555: /* @177: %empty */ -#line 6721 "fe/idl.ypp" + case 552: /* @175: %empty */ +#line 6657 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10176,27 +10090,27 @@ yyparse () (yyval.dcval) = eventtype; } -#line 10184 "fe/idl.tab.cpp" +#line 10094 "fe/idl.tab.cpp" break; - case 556: /* $@178: %empty */ -#line 6772 "fe/idl.ypp" + case 553: /* $@176: %empty */ +#line 6708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10192 "fe/idl.tab.cpp" +#line 10102 "fe/idl.tab.cpp" break; - case 557: /* $@179: %empty */ -#line 6776 "fe/idl.ypp" + case 554: /* $@177: %empty */ +#line 6712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10200 "fe/idl.tab.cpp" +#line 10110 "fe/idl.tab.cpp" break; - case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ -#line 6780 "fe/idl.ypp" + case 555: /* event_decl: event_header event_rest_of_header @175 '{' $@176 value_elements $@177 '}' */ +#line 6716 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10207,116 +10121,116 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10215 "fe/idl.tab.cpp" +#line 10125 "fe/idl.tab.cpp" break; - case 559: /* event_header: event_custom_header */ -#line 6794 "fe/idl.ypp" + case 556: /* event_header: event_custom_header */ +#line 6730 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10223 "fe/idl.tab.cpp" +#line 10133 "fe/idl.tab.cpp" break; - case 560: /* event_header: event_plain_header */ -#line 6798 "fe/idl.ypp" + case 557: /* event_header: event_plain_header */ +#line 6734 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10231 "fe/idl.tab.cpp" +#line 10141 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_TYPENAME */ -#line 6805 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_TYPENAME */ +#line 6741 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10239 "fe/idl.tab.cpp" +#line 10149 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_STRUCT */ -#line 6809 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_STRUCT */ +#line 6745 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10247 "fe/idl.tab.cpp" +#line 10157 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_UNION */ -#line 6813 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_UNION */ +#line 6749 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10255 "fe/idl.tab.cpp" +#line 10165 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6817 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6753 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10263 "fe/idl.tab.cpp" +#line 10173 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6821 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6757 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10271 "fe/idl.tab.cpp" +#line 10181 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_MAP */ -#line 6825 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_MAP */ +#line 6761 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_map; } -#line 10279 "fe/idl.tab.cpp" +#line 10189 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_INTERFACE */ -#line 6829 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_INTERFACE */ +#line 6765 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10287 "fe/idl.tab.cpp" +#line 10197 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6833 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6769 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10295 "fe/idl.tab.cpp" +#line 10205 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_ENUM */ -#line 6837 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_ENUM */ +#line 6773 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10303 "fe/idl.tab.cpp" +#line 10213 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6841 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6777 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10311 "fe/idl.tab.cpp" +#line 10221 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter_type: IDL_CONST const_type */ -#line 6845 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_CONST const_type */ +#line 6781 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10320 "fe/idl.tab.cpp" +#line 10230 "fe/idl.tab.cpp" break; - case 572: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6853 "fe/idl.ypp" + case 569: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6789 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10344,11 +10258,11 @@ yyparse () (yyval.plval) = (yyvsp[0].plval); } -#line 10352 "fe/idl.tab.cpp" +#line 10262 "fe/idl.tab.cpp" break; - case 573: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6884 "fe/idl.ypp" + case 570: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6820 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10361,20 +10275,21 @@ yyparse () delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10369 "fe/idl.tab.cpp" +#line 10279 "fe/idl.tab.cpp" break; - case 574: /* formal_parameters: %empty */ -#line 6897 "fe/idl.ypp" + case 571: /* formal_parameters: %empty */ +#line 6833 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10377 "fe/idl.tab.cpp" +#line 10287 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6904 "fe/idl.ypp" + case 572: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6840 "fe/idl.ypp" { + ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, 1); @@ -10397,11 +10312,11 @@ yyparse () tao_enum_constant_decl = 0; } } -#line 10406 "fe/idl.tab.cpp" +#line 10316 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6929 "fe/idl.ypp" + case 573: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6865 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10416,19 +10331,19 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10425 "fe/idl.tab.cpp" +#line 10335 "fe/idl.tab.cpp" break; - case 577: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6947 "fe/idl.ypp" + case 574: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6883 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10433 "fe/idl.tab.cpp" +#line 10343 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6954 "fe/idl.ypp" + case 575: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6890 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10443,37 +10358,37 @@ yyparse () (yyval.slval) = (yyvsp[-2].slval); } } -#line 10452 "fe/idl.tab.cpp" +#line 10362 "fe/idl.tab.cpp" break; - case 579: /* formal_parameter_names: %empty */ -#line 6969 "fe/idl.ypp" + case 576: /* formal_parameter_names: %empty */ +#line 6905 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10460 "fe/idl.tab.cpp" +#line 10370 "fe/idl.tab.cpp" break; - case 580: /* formal_parameter_name: IDENTIFIER */ -#line 6976 "fe/idl.ypp" + case 577: /* formal_parameter_name: IDENTIFIER */ +#line 6912 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10470 "fe/idl.tab.cpp" +#line 10380 "fe/idl.tab.cpp" break; - case 581: /* $@180: %empty */ -#line 6985 "fe/idl.ypp" + case 578: /* $@178: %empty */ +#line 6921 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10478 "fe/idl.tab.cpp" +#line 10388 "fe/idl.tab.cpp" break; - case 582: /* @181: %empty */ -#line 6989 "fe/idl.ypp" + case 579: /* @179: %empty */ +#line 6925 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10492,27 +10407,27 @@ yyparse () // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10501 "fe/idl.tab.cpp" +#line 10411 "fe/idl.tab.cpp" break; - case 583: /* $@182: %empty */ -#line 7008 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10509 "fe/idl.tab.cpp" +#line 10419 "fe/idl.tab.cpp" break; - case 584: /* $@183: %empty */ -#line 7016 "fe/idl.ypp" + case 581: /* $@181: %empty */ +#line 6952 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10517 "fe/idl.tab.cpp" +#line 10427 "fe/idl.tab.cpp" break; - case 585: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ -#line 7020 "fe/idl.ypp" + case 582: /* porttype_decl: IDL_PORTTYPE $@178 IDENTIFIER @179 '{' $@180 at_least_one_port_export $@181 '}' */ +#line 6956 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10521,11 +10436,11 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10530 "fe/idl.tab.cpp" +#line 10440 "fe/idl.tab.cpp" break; - case 586: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 7032 "fe/idl.ypp" + case 583: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6968 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10540,27 +10455,27 @@ yyparse () } delete annotations; } -#line 10549 "fe/idl.tab.cpp" +#line 10459 "fe/idl.tab.cpp" break; - case 592: /* $@184: %empty */ -#line 7058 "fe/idl.ypp" + case 589: /* $@182: %empty */ +#line 6994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10557 "fe/idl.tab.cpp" +#line 10467 "fe/idl.tab.cpp" break; - case 593: /* port_export: attribute $@184 ';' */ -#line 7062 "fe/idl.ypp" + case 590: /* port_export: attribute $@182 ';' */ +#line 6998 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10565 "fe/idl.tab.cpp" +#line 10475 "fe/idl.tab.cpp" break; - case 594: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 7069 "fe/idl.ypp" + case 591: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7005 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10627,11 +10542,11 @@ yyparse () (yyval.dcval) = ep; } -#line 10636 "fe/idl.tab.cpp" +#line 10546 "fe/idl.tab.cpp" break; - case 595: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7136 "fe/idl.ypp" + case 592: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10676,11 +10591,11 @@ yyparse () (yyval.dcval) = mp; } -#line 10685 "fe/idl.tab.cpp" +#line 10595 "fe/idl.tab.cpp" break; - case 596: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7184 "fe/idl.ypp" + case 593: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7120 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10693,11 +10608,11 @@ yyparse () (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10702 "fe/idl.tab.cpp" +#line 10612 "fe/idl.tab.cpp" break; - case 597: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7200 "fe/idl.ypp" + case 594: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7136 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10710,19 +10625,19 @@ yyparse () (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10719 "fe/idl.tab.cpp" +#line 10629 "fe/idl.tab.cpp" break; - case 598: /* actual_parameters: %empty */ -#line 7213 "fe/idl.ypp" + case 595: /* actual_parameters: %empty */ +#line 7149 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10727 "fe/idl.tab.cpp" +#line 10637 "fe/idl.tab.cpp" break; - case 599: /* actual_parameter: expression */ -#line 7220 "fe/idl.ypp" + case 596: /* actual_parameter: expression */ +#line 7156 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10778,35 +10693,35 @@ yyparse () 0); } } -#line 10787 "fe/idl.tab.cpp" +#line 10697 "fe/idl.tab.cpp" break; - case 600: /* connector_decl: connector_header connector_body */ -#line 7279 "fe/idl.ypp" + case 597: /* connector_decl: connector_header connector_body */ +#line 7215 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10795 "fe/idl.tab.cpp" +#line 10705 "fe/idl.tab.cpp" break; - case 601: /* $@185: %empty */ -#line 7286 "fe/idl.ypp" + case 598: /* $@183: %empty */ +#line 7222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10803 "fe/idl.tab.cpp" +#line 10713 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7290 "fe/idl.ypp" + case 599: /* $@184: %empty */ +#line 7226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10811 "fe/idl.tab.cpp" +#line 10721 "fe/idl.tab.cpp" break; - case 603: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ -#line 7294 "fe/idl.ypp" + case 600: /* connector_header: IDL_CONNECTOR $@183 annotations_maybe IDENTIFIER $@184 component_inheritance_spec */ +#line 7230 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10860,102 +10775,102 @@ yyparse () delete (yyvsp[-3].annotations_val); } -#line 10869 "fe/idl.tab.cpp" +#line 10779 "fe/idl.tab.cpp" break; - case 604: /* $@187: %empty */ -#line 7351 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7287 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10877 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 605: /* $@188: %empty */ -#line 7355 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10885 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 606: /* connector_body: '{' $@187 connector_exports $@188 '}' */ -#line 7359 "fe/idl.ypp" + case 603: /* connector_body: '{' $@185 connector_exports $@186 '}' */ +#line 7295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10896 "fe/idl.tab.cpp" +#line 10806 "fe/idl.tab.cpp" break; - case 609: /* $@189: %empty */ -#line 7374 "fe/idl.ypp" + case 606: /* $@187: %empty */ +#line 7310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10904 "fe/idl.tab.cpp" +#line 10814 "fe/idl.tab.cpp" break; - case 610: /* connector_export: provides_decl $@189 ';' */ -#line 7378 "fe/idl.ypp" + case 607: /* connector_export: provides_decl $@187 ';' */ +#line 7314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10912 "fe/idl.tab.cpp" +#line 10822 "fe/idl.tab.cpp" break; - case 611: /* $@190: %empty */ -#line 7382 "fe/idl.ypp" + case 608: /* $@188: %empty */ +#line 7318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10920 "fe/idl.tab.cpp" +#line 10830 "fe/idl.tab.cpp" break; - case 612: /* connector_export: uses_decl $@190 ';' */ -#line 7386 "fe/idl.ypp" + case 609: /* connector_export: uses_decl $@188 ';' */ +#line 7322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10928 "fe/idl.tab.cpp" +#line 10838 "fe/idl.tab.cpp" break; - case 613: /* $@191: %empty */ -#line 7390 "fe/idl.ypp" + case 610: /* $@189: %empty */ +#line 7326 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10936 "fe/idl.tab.cpp" +#line 10846 "fe/idl.tab.cpp" break; - case 614: /* connector_export: attribute $@191 ';' */ -#line 7394 "fe/idl.ypp" + case 611: /* connector_export: attribute $@189 ';' */ +#line 7330 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10944 "fe/idl.tab.cpp" +#line 10854 "fe/idl.tab.cpp" break; - case 615: /* $@192: %empty */ -#line 7398 "fe/idl.ypp" + case 612: /* $@190: %empty */ +#line 7334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10952 "fe/idl.tab.cpp" +#line 10862 "fe/idl.tab.cpp" break; - case 616: /* connector_export: extended_port_decl $@192 ';' */ -#line 7402 "fe/idl.ypp" + case 613: /* connector_export: extended_port_decl $@190 ';' */ +#line 7338 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10960 "fe/idl.tab.cpp" +#line 10870 "fe/idl.tab.cpp" break; -#line 10964 "fe/idl.tab.cpp" +#line 10874 "fe/idl.tab.cpp" default: break; } @@ -11148,7 +11063,7 @@ yyparse () return yyresult; } -#line 7407 "fe/idl.ypp" +#line 7343 "fe/idl.ypp" /* programs */ @@ -11156,7 +11071,7 @@ yyparse () * ??? */ int -tao_yywrap () +tao_yywrap (void) { return 1; } diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 075070c72215c..ff2d5b6677310 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3897,70 +3897,6 @@ enumerator : map_type_spec : map_head - ',' - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); - } - positive_int_expr - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); - } - '>' - { - AST_Map *map = 0; - Decl_Annotations_Pair_Pair* type_pair = $1; - Decl_Annotations_Pair *key_type = type_pair->first; - Decl_Annotations_Pair *val_type = type_pair->second; - - /* - * Remove map marker from scopes stack. - */ - if (idl_global->scopes ().top () == 0) - { - idl_global->scopes ().pop (); - } - - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - /* - * Create a node representing a map. - */ - if (key_type && val_type) - { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); - - if (ktp == 0 || vtp == 0) - { - ; // Error will be caught in FE_Declarator. - } - else - { - Identifier id ("map"); - UTL_ScopedName sn (&id, 0); - - map = - idl_global->gen ()->create_map ( - $4, - ktp, - vtp, - &sn, - s->is_local (), - s->is_abstract () - ); - map->key_type_annotations (*key_type->annotations); - map->value_type_annotations (*val_type->annotations); - - idl_global->err ()->anonymous_type_diagnostic (); - } - } - - delete key_type->annotations; - delete val_type->annotations; - delete type_pair; - $$ = map; - } - | map_head '>' { AST_Map *map = 0; diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 7d35044add77b..cc314f7deb11c 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -543,10 +543,10 @@ YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); void yy_delete_buffer ( YY_BUFFER_STATE b ); void yy_flush_buffer ( YY_BUFFER_STATE b ); void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state (); +void yypop_buffer_state ( void ); -static void yyensure_buffer_stack (); -static void yy_load_buffer_state (); +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) @@ -591,9 +591,9 @@ int yylineno = 1; extern char yytext[]; -static yy_state_type yy_get_previous_state (); +static yy_state_type yy_get_previous_state ( void ); static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); -static int yy_get_next_buffer (); +static int yy_get_next_buffer ( void ); static void yynoreturn yy_fatal_error ( const char* msg ); /* Done after the current pattern has been matched and before the @@ -1468,34 +1468,34 @@ static AST_Decl * idl_find_node (const char *); #define YY_EXTRA_TYPE void * #endif -static int yy_init_globals (); +static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int yylex_destroy (); +int yylex_destroy ( void ); -int yyget_debug (); +int yyget_debug ( void ); void yyset_debug ( int debug_flag ); -YY_EXTRA_TYPE yyget_extra (); +YY_EXTRA_TYPE yyget_extra ( void ); void yyset_extra ( YY_EXTRA_TYPE user_defined ); -FILE *yyget_in (); +FILE *yyget_in ( void ); void yyset_in ( FILE * _in_str ); -FILE *yyget_out (); +FILE *yyget_out ( void ); void yyset_out ( FILE * _out_str ); - int yyget_leng (); + int yyget_leng ( void ); -char *yyget_text (); +char *yyget_text ( void ); -int yyget_lineno (); +int yyget_lineno ( void ); void yyset_lineno ( int _line_number ); @@ -1505,9 +1505,9 @@ void yyset_lineno ( int _line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap (); +extern "C" int yywrap ( void ); #else -extern int yywrap (); +extern int yywrap ( void ); #endif #endif @@ -1527,9 +1527,9 @@ static int yy_flex_strlen ( const char * ); #ifndef YY_NO_INPUT #ifdef __cplusplus -static int yyinput (); +static int yyinput ( void ); #else -static int input (); +static int input ( void ); #endif #endif @@ -1614,9 +1614,9 @@ static int input (); #ifndef YY_DECL #define YY_DECL_IS_OURS 1 -extern int yylex (); +extern int yylex (void); -#define YY_DECL int yylex () +#define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng @@ -2729,7 +2729,7 @@ ECHO; * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ -static int yy_get_next_buffer () +static int yy_get_next_buffer (void) { char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = (yytext_ptr); @@ -2783,6 +2783,7 @@ static int yy_get_next_buffer () YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); + } if ( num_to_read > YY_READ_BUF_SIZE ) @@ -2836,7 +2837,7 @@ static int yy_get_next_buffer () /* yy_get_previous_state - get the state just before the EOB char was reached */ - static yy_state_type yy_get_previous_state () + static yy_state_type yy_get_previous_state (void) { yy_state_type yy_current_state; char *yy_cp; @@ -2930,9 +2931,9 @@ static int yy_get_next_buffer () #ifndef YY_NO_INPUT #ifdef __cplusplus - static int yyinput () + static int yyinput (void) #else - static int input () + static int input (void) #endif { @@ -3011,6 +3012,7 @@ static int yy_get_next_buffer () */ void yyrestart (FILE * input_file ) { + if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = @@ -3027,6 +3029,7 @@ static int yy_get_next_buffer () */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { + /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); @@ -3055,7 +3058,7 @@ static int yy_get_next_buffer () (yy_did_buffer_switch_on_eof) = 1; } -static void yy_load_buffer_state () +static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; @@ -3099,6 +3102,7 @@ static void yy_load_buffer_state () */ void yy_delete_buffer (YY_BUFFER_STATE b ) { + if ( ! b ) return; @@ -3202,7 +3206,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) * The next element becomes the new top. * */ -void yypop_buffer_state () +void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; @@ -3221,11 +3225,12 @@ void yypop_buffer_state () /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ -static void yyensure_buffer_stack () +static void yyensure_buffer_stack (void) { yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { + /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. @@ -3245,6 +3250,7 @@ static void yyensure_buffer_stack () } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + /* Increase the buffer to prepare for a possible push. */ yy_size_t grow_size = 8 /* arbitrary grow size */; @@ -3307,6 +3313,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) */ YY_BUFFER_STATE yy_scan_string (const char * yystr ) { + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } @@ -3379,15 +3386,16 @@ static void yynoreturn yy_fatal_error (const char* msg ) /** Get the current line number. * */ -int yyget_lineno () +int yyget_lineno (void) { + return yylineno; } /** Get the input stream. * */ -FILE *yyget_in () +FILE *yyget_in (void) { return yyin; } @@ -3395,7 +3403,7 @@ FILE *yyget_in () /** Get the output stream. * */ -FILE *yyget_out () +FILE *yyget_out (void) { return yyout; } @@ -3403,7 +3411,7 @@ FILE *yyget_out () /** Get the length of the current token. * */ -int yyget_leng () +int yyget_leng (void) { return yyleng; } @@ -3412,7 +3420,7 @@ int yyget_leng () * */ -char *yyget_text () +char *yyget_text (void) { return yytext; } @@ -3423,6 +3431,7 @@ char *yyget_text () */ void yyset_lineno (int _line_number ) { + yylineno = _line_number; } @@ -3442,7 +3451,7 @@ void yyset_out (FILE * _out_str ) yyout = _out_str ; } -int yyget_debug () +int yyget_debug (void) { return yy_flex_debug; } @@ -3452,7 +3461,7 @@ void yyset_debug (int _bdebug ) yy_flex_debug = _bdebug ; } -static int yy_init_globals () +static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. @@ -3486,8 +3495,9 @@ static int yy_init_globals () } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy () +int yylex_destroy (void) { + /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer( YY_CURRENT_BUFFER ); @@ -3516,6 +3526,7 @@ int yylex_destroy () #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, const char * s2, int n ) { + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; @@ -3540,6 +3551,7 @@ void *yyalloc (yy_size_t size ) void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter From c9d754ccaa75380ef98b5932715028511989d687 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:04:25 -0400 Subject: [PATCH 83/92] fixed cdr op --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 32 +++++++++++++++++---- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 27 +++++++---------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 19ff452f936fb..810688c04fbde 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -24,9 +24,16 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( int be_visitor_map_cdr_op_ch::visit_map (be_map *node) { + if (node->cli_hdr_cdr_op_gen() + || node->imported() + || node->is_local()) + { + return 0; + } + be_type *key_type = dynamic_cast (node->key_type ()); - // If our base type is an anonymous sequence, generate code for it here. + // If our base type is an anonymous map, generate code for it here. if (key_type->node_type () == AST_Decl::NT_map) { if (key_type->accept (this) != 0) @@ -57,6 +64,10 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) be_type *bt = dynamic_cast (node); be_typedef *tdef = dynamic_cast (bt); + TAO_INSERT_COMMENT(os); + + // If we're an anonymous map, we must protect against + // being declared more than once. if (tdef == nullptr) { *os << "\n\n#if !defined _TAO_CDR_OP_" @@ -64,20 +75,29 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) << "\n#define _TAO_CDR_OP_" << node->flat_name () << "_H_"; } + *os << be_global->core_versioning_begin(); + *os << be_nl_2 << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator<< (" << be_idt << be_idt_nl << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << key_type->name() << ", " << value_type->name() << ">"; - - *os << " &_tao_map);" << be_uidt << be_uidt_nl; + << "const " << node->name() + << " &_tao_map);" + << be_uidt << be_uidt_nl; *os << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator>> (" << be_idt << be_idt_nl << "TAO_InputCDR &strm," << be_nl - << "std::map<" << key_type->name() << ", " << value_type->name() << ">"; + << node->name() + << " &_tao_map);" + << be_uidt << be_uidt; + + if (be_global->gen_ostream_operators()) + { + node->gen_ostream_operator(os, false); + } - *os << " &_tao_map);" << be_uidt << be_uidt; + *os << be_nl << be_global->core_versioning_end() << be_nl; if (tdef == nullptr) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index f7ec5b7de43f2..4856711f04c3e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -39,10 +39,6 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - be_type *key_type = dynamic_cast (node->key_type ()); - - be_type *value_type = dynamic_cast (node->value_type ()); - TAO_INSERT_COMMENT (os); *os << "#if !defined _TAO_CDR_OP_" @@ -57,25 +53,22 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) *os << "::CORBA::Boolean operator<< (" << be_idt_nl << "TAO_OutputCDR &," << be_nl - << "const std::map<" << key_type->full_name () - << ", " << value_type->full_name() - << "> &)" + << "const " + << node->name() << "&)" << be_uidt_nl << "{" << be_idt_nl << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl << "return false;" << be_uidt_nl << "}" << be_nl_2; - *os << "::CORBA::Boolean operator>> (" << be_idt_nl - << "TAO_InputCDR &," << be_nl - << "std::map<" << key_type->full_name () - << ", " << value_type->full_name() - << "> &)" - << be_uidt_nl - << "{" << be_idt_nl - << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl - << "return false;" << be_uidt_nl - << "}" << be_nl_2; + *os << "::CORBA::Boolean operator>> ("<< be_idt_nl + << "TAO_InputCDR &," << be_nl + << node->name() << "&)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; if (be_global->gen_ostream_operators ()) { From e2715553dabbf4808d49c681879a56456636b05b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:16:08 -0400 Subject: [PATCH 84/92] remove bounded maps --- TAO/tests/IDLv4/maps/test.idl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index ee062d099b059..f47c3cc6c6afe 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -19,16 +19,16 @@ struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that map intIntMap; - map intIntMapBounded; + // map intIntMapBounded; map stringStructsMap; - map stringStructsMapBounded; + // map stringStructsMapBounded; map stringSequenceMap; - map stringSequenceMapBounded; + // map stringSequenceMapBounded; map stringMapMap; - map stringMapMapBounded; + // map stringMapMapBounded; map mapStringMap; }; From 7ccbd1cede35ef5a7355fd2caa3332417e52e381 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:17:09 -0400 Subject: [PATCH 85/92] proper map key/val type code gen --- TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp | 277 ++++++++++++++++++ TAO/TAO_IDL/be/be_visitor_map/map.h | 1 + TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 8 +- TAO/TAO_IDL/be_include/be_codegen.h | 1 + TAO/TAO_IDL/be_include/be_visitor_map.h | 1 + .../be_include/be_visitor_map/buffer_type.h | 64 ++++ 6 files changed, 348 insertions(+), 4 deletions(-) create mode 100644 TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h diff --git a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp new file mode 100644 index 0000000000000..8a52e617c0eb6 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp @@ -0,0 +1,277 @@ +//============================================================================= +/** + * @file buffer_type.cpp + * + * Visitor generating code for the internal buffer type of the Map node + * + * @author Tyler Mayoff + */ +//============================================================================= + +#include "map.h" + +// **************************************************************** +// We have to generate the buffer type in the constructor +// **************************************************************** + +be_visitor_map_buffer_type::be_visitor_map_buffer_type ( + be_visitor_context *ctx + ) + : be_visitor_decl(ctx) +{ +} + +be_visitor_map_buffer_type::~be_visitor_map_buffer_type () +{ +} + +int +be_visitor_map_buffer_type::visit_node (be_type *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_type *bt = nullptr; + + if (this->ctx_->alias ()) + { + bt = this->ctx_->alias (); + } + else + { + bt = node; + } + + if (this->ctx_->state () == TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH) + { + *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + } + else + { + *os << bt->name (); + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_predefined_type (be_predefined_type *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + AST_PredefinedType::PredefinedType pt = node->pt (); + + *os << "::"; + + if (pt == AST_PredefinedType::PT_pseudo + || pt == AST_PredefinedType::PT_object + || pt == AST_PredefinedType::PT_abstract) + { + *os << node->name () << "_ptr"; + } + else if (pt == AST_PredefinedType::PT_value) + { + *os << node->name () << " *"; + } + else + { + *os << node->name (); + } + + return 0; +} + + +int +be_visitor_map_buffer_type::visit_sequence (be_sequence *node) +{ + return this->visit_node(node); +} + +int +be_visitor_map_buffer_type::visit_interface (be_interface *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), + "_ptr"); + } + else + { + *os << node->name () << "_ptr"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_interface_fwd (be_interface_fwd *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), "_ptr"); + } + else + { + *os << node->name () << "_ptr"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_component (be_component *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_map_buffer_type::visit_component_fwd (be_component_fwd *node) +{ + return this->visit_interface_fwd (node); +} + +int +be_visitor_map_buffer_type::visit_valuebox (be_valuebox *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_valuetype (be_valuetype *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_valuetype_fwd (be_valuetype_fwd *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_eventtype (be_eventtype *node) +{ + return this->visit_valuetype (node); +} + +int +be_visitor_map_buffer_type::visit_eventtype_fwd (be_eventtype_fwd *node) +{ + return this->visit_valuetype_fwd (node); +} + +int +be_visitor_map_buffer_type::visit_string (be_string *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (node->width () == (long) sizeof (char)) + { + *os << "::CORBA::Char *"; + } + else + { + *os << "::CORBA::WChar *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_structure (be_structure *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_structure_fwd (be_structure_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_union (be_union *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_union_fwd (be_union_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_enum (be_enum *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_exception (be_exception *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_array (be_array *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_typedef (be_typedef *node) +{ + this->ctx_->alias (node); + + if (node->primitive_base_type ()->accept (this) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_buffer_type::" + "visit_typedef - " + "accept on primitive type failed\n"), + -1); + } + + this->ctx_->alias (nullptr); + return 0; +} + +int be_visitor_map_buffer_type::visit_map (be_map *node) { + return this->visit_node(node); +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index 93c040f7e8c0f..77e00dadf700b 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -35,6 +35,7 @@ #include "be_valuetype_fwd.h" #include "be_eventtype.h" #include "be_eventtype_fwd.h" +#include "be_sequence.h" #include "be_helper.h" #include "be_extern.h" #include "ast_root.h" diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index a927059423d67..4e26d69774b53 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -58,8 +58,8 @@ int be_visitor_map_ch::visit_map (be_map *node) if (kt->accept (&bt_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_sequence_ch::") - ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") ACE_TEXT ("buffer type visit failed\n")), -1); } @@ -69,8 +69,8 @@ int be_visitor_map_ch::visit_map (be_map *node) if (vt->accept (&bt_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_sequence_ch::") - ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") ACE_TEXT ("buffer type visit failed\n")), -1); } diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h index bcbb638e7eb4f..462657a06d538 100644 --- a/TAO/TAO_IDL/be_include/be_codegen.h +++ b/TAO/TAO_IDL/be_include/be_codegen.h @@ -142,6 +142,7 @@ class TAO_IDL_BE_Export TAO_CodeGen // For sequence buffer types. TAO_SEQUENCE_BUFFER_TYPE_CH, + TAO_MAP_BUFFER_TYPE_CH, // Emitting code for the public members of the union. TAO_UNION_PUBLIC_CH, diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 5e0a40123fd7b..bc255bfcc982d 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -8,6 +8,7 @@ #include "be_visitor_decl.h" #include "be_visitor_map/map_ch.h" #include "be_visitor_map/map_cs.h" +#include "be_visitor_map/buffer_type.h" #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h b/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h new file mode 100644 index 0000000000000..da7ff7df83358 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file buffer_type.h + * + * Concrete visitor for the Map class + * This one provides code generation for the buffer type of the Map + * node. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_BUFFER_TYPE_H_ +#define _BE_VISITOR_MAP_BUFFER_TYPE_H_ + +/** + * @class be_visitor_map_buffer_type + * + * @brief be_visitor_map_buffer_type + * + * This is a concrete visitor to generate the buffer type + * for a map instantiation. + */ +class be_visitor_map_buffer_type : public be_visitor_decl +{ +public: + /// Constructor + be_visitor_map_buffer_type (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_buffer_type (); + + // = Visitor methods. + virtual int visit_predefined_type (be_predefined_type *node); + virtual int visit_interface (be_interface *node); + virtual int visit_interface_fwd (be_interface_fwd *node); + virtual int visit_component (be_component *node); + virtual int visit_component_fwd (be_component_fwd *node); + virtual int visit_valuebox (be_valuebox *node); + virtual int visit_valuetype (be_valuetype *node); + virtual int visit_valuetype_fwd (be_valuetype_fwd *node); + virtual int visit_eventtype (be_eventtype *node); + virtual int visit_eventtype_fwd (be_eventtype_fwd *node); + virtual int visit_structure (be_structure *node); + virtual int visit_structure_fwd (be_structure_fwd *node); + virtual int visit_enum (be_enum *node); + virtual int visit_exception (be_exception *node); + virtual int visit_union (be_union *node); + virtual int visit_union_fwd (be_union_fwd *node); + virtual int visit_array (be_array *node); + virtual int visit_string (be_string *node); + virtual int visit_map (be_map *node); + virtual int visit_sequence (be_sequence *node); + virtual int visit_typedef (be_typedef *node); + +protected: + /// helper that does the common job + int visit_node (be_type *); +}; + +#endif /* _BE_VISITOR_MAP_BUFFER_TYPE_H_ */ From 735ad0551cc5e2c310f00b31af1616a3f11ad194 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:21:01 -0400 Subject: [PATCH 86/92] fixed warnings --- TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp index 8a52e617c0eb6..cc6ffa339357e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp @@ -202,11 +202,11 @@ be_visitor_map_buffer_type::visit_string (be_string *node) if (node->width () == (long) sizeof (char)) { - *os << "::CORBA::Char *"; + *os << "const ::CORBA::Char *"; } else { - *os << "::CORBA::WChar *"; + *os << "const ::CORBA::WChar *"; } return 0; From 8a1a7ba025df350b2d1d56cd40342185a262cc41 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:23:32 -0400 Subject: [PATCH 87/92] added map to node_type_to_string --- TAO/TAO_IDL/ast/ast_decl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TAO/TAO_IDL/ast/ast_decl.cpp b/TAO/TAO_IDL/ast/ast_decl.cpp index 2c5ee1816c412..7c45a62d0d844 100644 --- a/TAO/TAO_IDL/ast/ast_decl.cpp +++ b/TAO/TAO_IDL/ast/ast_decl.cpp @@ -801,6 +801,9 @@ AST_Decl::node_type_to_string (NodeType nt) case NT_sequence: return "sequence"; + case NT_map: + return "map"; + case NT_typedef: return "typedef"; From 17cee1b74361558ce88c9b7c63b2a256fcb103d1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:25:36 -0400 Subject: [PATCH 88/92] whitespace --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 810688c04fbde..c8f3bfc015c85 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -81,7 +81,7 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator<< (" << be_idt << be_idt_nl << "TAO_OutputCDR &strm," << be_nl - << "const " << node->name() + << "const " << node->name() << " &_tao_map);" << be_uidt << be_uidt_nl; From 73bdce4f0ac19643766958e1f1cedc58f87d6e02 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:30:21 -0400 Subject: [PATCH 89/92] switched typedef to using --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 4e26d69774b53..f552c5d7db3fd 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -45,7 +45,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; - *os << "typedef std::map<"; + *os << "using " << node->local_name () << " = std::map<"; be_type* kt = node->key_type(); be_type* vt = node->value_type(); @@ -75,7 +75,7 @@ int be_visitor_map_ch::visit_map (be_map *node) -1); } - *os << "> " << node->local_name () << ";"; + *os << ">;"; os->gen_endif (); node->cli_hdr_gen (true); From 69a160c799716560e09338a3796ef6cb7547b60a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 20 Mar 2023 23:05:26 -0400 Subject: [PATCH 90/92] C++ sometimes struggles with structs as map keys --- TAO/tests/IDLv4/maps/test.idl | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index f47c3cc6c6afe..ed3165c833cb1 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,8 +1,6 @@ struct RecurseStruct; typedef map IntRecursedMap; -typedef map RecursedMapInt; struct RecurseStruct { - RecursedMapInt rMapI; IntRecursedMap iMapR; }; From 2564f45e06dbe5fffdbcd1f9459fce27c5ffaead Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 18 Aug 2023 13:44:05 -0400 Subject: [PATCH 91/92] Update TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp Co-authored-by: Fred Hornsey --- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 6da71ee89543a..2c1f831d08150 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -20,7 +20,7 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) { } -int be_visitor_map_cs::visit_map (be_map *node) +int be_visitor_map_cs::visit_map (be_map *) { return 0; } From bbf82d182c0cc469f55ead4b14c2473218fab0e9 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 18 Aug 2023 13:44:10 -0400 Subject: [PATCH 92/92] Update TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp Co-authored-by: Fred Hornsey --- TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 0ef1eef53c7be..82757cb9f15b7 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2302,7 +2302,7 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) } int -ifr_adding_visitor::visit_map (AST_Map *node) +ifr_adding_visitor::visit_map (AST_Map *) { ORBSVCS_ERROR_RETURN (( LM_ERROR,