summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1998-01-08 17:54:57 +0000
committergokhale <asgokhale@users.noreply.github.com>1998-01-08 17:54:57 +0000
commit3797d0b6ceb7ae6d413cb92081fd6887b7a566a3 (patch)
tree065657886b1d905674cb427aaca33c08bcf40241
parent68a0371c7a7314cf6575e82e2ddb3c7a01f79bf3 (diff)
downloadATCD-3797d0b6ceb7ae6d413cb92081fd6887b7a566a3.tar.gz
*** empty log message ***
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp85
-rw-r--r--TAO/TAO_IDL/be/be_state_argument.cpp2
-rw-r--r--TAO/TAO_IDL/be_include/be_interface.h3
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp1411
4 files changed, 803 insertions, 698 deletions
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index 779cc97b87c..e063dbffe7e 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -501,7 +501,7 @@ int be_interface::gen_server_header (void)
<< "_ptr;" << nl;
// now generate the class definition
- *sh << "class " << namebuf << " : public virtual " << name ();
+ *sh << "class " << namebuf << " : public virtual " << this->name ();
if (n_inherits () > 0) // this interface inherits from other interfaces
{
be_interface *intf;
@@ -510,7 +510,10 @@ int be_interface::gen_server_header (void)
{
*sh << ", public virtual ";
intf = be_interface::narrow_from_decl (inherits ()[i]);
- *sh << intf->full_skel_name (); // dump the scoped name
+ *sh << intf->relative_skel_name (this->full_skel_name ()); // dump
+ // the
+ // scoped
+ // name
} // end of for loop
}
*sh << nl;
@@ -1746,6 +1749,84 @@ be_interface::gen_skel_helper (be_interface *derived,
return 0;
}
+// return the relative skeleton name (needed due to NT compiler insanity)
+char *
+be_interface::relative_skel_name (const char *skelname)
+{
+ // some compilers do not like generating a fully scoped name for a type that
+ // was defined in the same enclosing scope in which it was defined. For such,
+ // we emit a macro defined in the ACE library.
+ //
+
+ // The tricky part here is that it is not enough to check if the
+ // typename we are using was defined in the current scope. But we
+ // need to ensure that it was not defined in any of our ancestor
+ // scopes as well. If that is the case, then we can generate a fully
+ // scoped name for that type, else we use the ACE_NESTED_CLASS macro
+
+ // thus we need some sort of relative name to be generated
+
+ static char macro [NAMEBUFSIZE];
+ be_decl *def_scope = 0; // our defining scope
+ char // hold the fully scoped name
+ def_name [NAMEBUFSIZE],
+ use_name [NAMEBUFSIZE];
+ char // these point to the curr and next component in the scope
+ *def_curr = def_name,
+ *def_next,
+ *use_curr = use_name,
+ *use_next;
+
+ ACE_OS::memset (macro, '\0', NAMEBUFSIZE);
+ ACE_OS::memset (def_name, '\0', NAMEBUFSIZE);
+ ACE_OS::memset (use_name, '\0', NAMEBUFSIZE);
+
+ // traverse every component of the def_scope and use_scope beginning at the
+ // root and proceeding towards the leaf trying to see if the components
+ // match. Continue until there is a match and keep accumulating the path
+ // traversed. This forms the first argument to the ACE_NESTED_CLASS
+ // macro. Whenever there is no match, the remaining components of the
+ // def_scope form the second argument
+
+ ACE_OS::strcpy (def_name, this->full_skel_name ());
+ ACE_OS::strcpy (use_name, skelname);
+
+ while (def_curr && use_curr)
+ {
+ // find the first occurrence of a :: and advance the next pointers accordingly
+ def_next = ACE_OS::strstr (def_curr, "::");
+ use_next = ACE_OS::strstr (use_curr, "::");
+
+ if (def_next)
+ *def_next = 0;
+
+ if (use_next)
+ *use_next = 0;
+
+ if (!ACE_OS::strcmp (def_curr, use_curr))
+ {
+ // they have same prefix, append to arg1
+ def_curr = (def_next ? (def_next+2) : 0); // skip the ::
+ use_curr = (use_next ? (use_next+2) : 0); // skip the ::
+ }
+ else
+ {
+ // no match. This is the end of the first argument. Get out
+ // of the loop as no more comparisons are necessary
+ break;
+ }
+ }
+
+ // start the 2nd argument of the macro
+
+ // copy the remaining def_name (if any left)
+ if (def_curr)
+ ACE_OS::strcat (macro, def_curr);
+
+ return macro;
+}
+
+
// Narrowing
IMPL_NARROW_METHODS3 (be_interface, AST_Interface, be_scope, be_type)
IMPL_NARROW_FROM_DECL (be_interface)
diff --git a/TAO/TAO_IDL/be/be_state_argument.cpp b/TAO/TAO_IDL/be/be_state_argument.cpp
index 514ff81188b..dd0340424fa 100644
--- a/TAO/TAO_IDL/be/be_state_argument.cpp
+++ b/TAO/TAO_IDL/be/be_state_argument.cpp
@@ -2218,7 +2218,7 @@ be_state_argument::gen_code (be_type *bt, be_decl *d, be_type *type)
break;
case TAO_CodeGen::TAO_ARGUMENT_CS:
case TAO_CodeGen::TAO_ARGUMENT_SH:
- *os << bt->name () << arg->local_name () << ", ";
+ *os << bt->name () << " " << arg->local_name () << ", ";
break;
case TAO_CodeGen::TAO_ARGUMENT_UPCALL_SS:
case TAO_CodeGen::TAO_ARGUMENT_DOCALL_CS:
diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h
index 584a1bae6ce..2a07ce23b32 100644
--- a/TAO/TAO_IDL/be_include/be_interface.h
+++ b/TAO/TAO_IDL/be_include/be_interface.h
@@ -98,6 +98,9 @@ public:
TAO_OutStream *os);
// template method using breadth first traversal of inheritance graph
+ char *relative_skel_name (const char *);
+ // relative skeleton name
+
// Narrowing
DEF_NARROW_METHODS3 (be_interface, AST_Interface, be_scope, be_type);
DEF_NARROW_FROM_DECL (be_interface);
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index 93e3dbf8b63..75d17918707 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -1,5 +1,5 @@
-# line 73 "idl.yy"
+# line 74 "idl.yy"
#include "idl.h"
#include "idl_extern.h"
#include "fe_private.h"
@@ -18,7 +18,7 @@ extern int yyleng;
// Force the pretty debugging code to compile.
#define YYDEBUG 1
-# line 96 "idl.yy"
+# line 97 "idl.yy"
typedef union
#ifdef __cplusplus
YYSTYPE
@@ -84,25 +84,25 @@ typedef union
# define IDL_INOUT 289
# define IDL_RAISES 290
# define IDL_CONTEXT 291
-# define IDL_INTEGER_LITERAL 292
-# define IDL_STRING_LITERAL 293
-# define IDL_CHARACTER_LITERAL 294
-# define IDL_FLOATING_PT_LITERAL 295
-# define IDL_TRUETOK 296
-# define IDL_FALSETOK 297
-# define IDL_SCOPE_DELIMITOR 298
-# define IDL_LEFT_SHIFT 299
-# define IDL_RIGHT_SHIFT 300
+# define IDL_NATIVE 292
+# define IDL_INTEGER_LITERAL 293
+# define IDL_STRING_LITERAL 294
+# define IDL_CHARACTER_LITERAL 295
+# define IDL_FLOATING_PT_LITERAL 296
+# define IDL_TRUETOK 297
+# define IDL_FALSETOK 298
+# define IDL_SCOPE_DELIMITOR 299
+# define IDL_LEFT_SHIFT 300
+# define IDL_RIGHT_SHIFT 301
#ifdef __STDC__
#include <stdlib.h>
+#include <string.h>
#else
#include <malloc.h>
#include <memory.h>
#endif
-// #include <values.h>
-
#ifdef __cplusplus
#ifndef yyerror
@@ -139,7 +139,7 @@ YYSTYPE *yyv;
static int yymaxdepth = YYMAXDEPTH;
# define YYERRCODE 256
-# line 2242 "idl.yy"
+# line 2267 "idl.yy"
/* programs */
@@ -173,166 +173,166 @@ yytabelem yyexca[] ={
0, 3,
125, 3,
-2, 0,
--1, 23,
+-1, 24,
123, 32,
-2, 57,
--1, 131,
- 91, 228,
- -2, 137,
--1, 146,
- 257, 253,
- 262, 253,
- 263, 253,
- 264, 253,
- 265, 253,
- 266, 253,
- 267, 253,
- 268, 253,
- 269, 253,
- 270, 253,
- 271, 253,
- 277, 253,
- 283, 240,
- 286, 253,
- 298, 253,
+-1, 134,
+ 91, 229,
+ -2, 138,
+-1, 149,
+ 257, 254,
+ 262, 254,
+ 263, 254,
+ 264, 254,
+ 265, 254,
+ 266, 254,
+ 267, 254,
+ 268, 254,
+ 269, 254,
+ 270, 254,
+ 271, 254,
+ 277, 254,
+ 283, 241,
+ 286, 254,
+ 299, 254,
125, 25,
-2, 0,
--1, 178,
+-1, 181,
125, 3,
-2, 0,
--1, 219,
- 125, 244,
+-1, 222,
+ 125, 245,
-2, 0,
--1, 266,
- 125, 160,
+-1, 269,
+ 125, 161,
-2, 0,
--1, 317,
- 41, 256,
- -2, 258,
--1, 355,
- 125, 183,
+-1, 319,
+ 41, 257,
+ -2, 259,
+-1, 357,
+ 125, 184,
-2, 0,
};
-# define YYNPROD 285
-# define YYLAST 524
+# define YYNPROD 286
+# define YYLAST 528
yytabelem yyact[]={
- 68, 128, 152, 329, 342, 125, 53, 164, 66, 238,
- 345, 224, 83, 227, 223, 129, 107, 74, 84, 85,
- 72, 73, 75, 76, 78, 77, 79, 19, 20, 391,
- 21, 86, 87, 88, 83, 98, 386, 100, 101, 102,
- 55, 97, 95, 105, 350, 166, 326, 50, 161, 83,
- 162, 204, 205, 69, 74, 84, 85, 72, 73, 75,
- 76, 78, 77, 79, 19, 20, 236, 21, 86, 87,
- 88, 144, 83, 166, 344, 69, 63, 74, 84, 85,
- 72, 73, 75, 76, 78, 77, 79, 331, 332, 333,
- 69, 86, 87, 88, 347, 346, 109, 109, 347, 346,
- 110, 115, 116, 62, 61, 59, 138, 131, 127, 134,
- 92, 83, 126, 69, 228, 83, 302, 99, 219, 140,
- 74, 84, 85, 72, 73, 75, 76, 78, 77, 79,
- 158, 163, 58, 13, 150, 87, 13, 93, 91, 90,
- 83, 198, 155, 151, 239, 74, 84, 85, 72, 73,
- 75, 76, 78, 77, 79, 156, 69, 51, 6, 154,
- 87, 365, 5, 57, 12, 83, 4, 12, 299, 214,
- 74, 84, 85, 72, 73, 75, 76, 78, 77, 157,
- 288, 69, 159, 55, 83, 87, 88, 55, 287, 298,
- 84, 85, 262, 286, 75, 76, 78, 77, 240, 242,
- 241, 229, 21, 189, 201, 14, 69, 2, 10, 56,
- 11, 25, 323, 11, 145, 143, 142, 141, 103, 19,
- 20, 202, 21, 309, 199, 69, 15, 55, 260, 192,
- 111, 193, 194, 9, 160, 14, 18, 24, 10, 259,
- 247, 218, 139, 114, 113, 131, 281, 382, 112, 19,
- 20, 280, 21, 369, 310, 290, 15, 277, 276, 275,
- 274, 273, 83, 272, 285, 48, 47, 46, 131, 45,
- 44, 43, 384, 371, 55, 41, 206, 297, 207, 13,
- 173, 174, 389, 352, 210, 240, 242, 241, 301, 208,
- 83, 387, 324, 300, 209, 196, 195, 167, 168, 169,
- 170, 171, 172, 69, 381, 186, 338, 327, 315, 185,
- 12, 13, 311, 184, 258, 373, 351, 317, 225, 203,
- 312, 60, 390, 314, 67, 167, 168, 169, 170, 171,
- 172, 69, 380, 217, 361, 362, 315, 253, 254, 337,
- 364, 266, 12, 340, 363, 249, 294, 240, 242, 241,
- 353, 348, 339, 328, 322, 94, 11, 321, 96, 250,
- 366, 248, 336, 372, 55, 131, 376, 375, 374, 370,
- 126, 368, 222, 295, 293, 292, 289, 320, 316, 131,
- 383, 308, 279, 263, 251, 252, 220, 282, 11, 177,
- 283, 255, 256, 257, 119, 34, 211, 212, 213, 307,
- 278, 303, 296, 246, 149, 216, 137, 82, 215, 136,
- 81, 175, 117, 200, 135, 306, 271, 270, 226, 181,
- 123, 38, 378, 379, 360, 359, 357, 377, 356, 355,
- 354, 341, 334, 318, 305, 269, 180, 122, 37, 268,
- 304, 267, 265, 221, 179, 121, 36, 335, 244, 106,
- 49, 32, 261, 176, 118, 33, 133, 108, 243, 235,
- 234, 188, 233, 187, 232, 231, 230, 183, 104, 42,
- 182, 146, 124, 39, 17, 16, 264, 178, 120, 35,
- 31, 30, 8, 29, 7, 28, 27, 26, 3, 1,
- 23, 190, 130, 191, 330, 71, 70, 64, 89, 367,
- 165, 153, 284, 22, 319, 313, 148, 358, 343, 245,
- 197, 325, 40, 147, 388, 385, 349, 80, 237, 132,
- 291, 65, 54, 52 };
+ 72, 131, 347, 331, 344, 57, 167, 155, 128, 241,
+ 70, 230, 132, 207, 208, 35, 226, 110, 393, 388,
+ 333, 334, 335, 352, 328, 239, 147, 34, 349, 348,
+ 130, 112, 118, 119, 113, 112, 141, 36, 36, 101,
+ 59, 103, 104, 105, 100, 227, 36, 108, 98, 169,
+ 54, 78, 87, 88, 76, 77, 79, 80, 82, 81,
+ 83, 20, 21, 36, 22, 89, 90, 91, 78, 87,
+ 88, 76, 77, 79, 80, 82, 81, 83, 20, 21,
+ 73, 22, 89, 90, 91, 231, 305, 36, 73, 102,
+ 201, 346, 78, 87, 88, 76, 77, 79, 80, 82,
+ 81, 83, 162, 222, 160, 73, 89, 90, 91, 161,
+ 134, 154, 137, 36, 129, 349, 348, 159, 301, 87,
+ 88, 67, 143, 79, 80, 82, 81, 158, 2, 73,
+ 157, 22, 26, 36, 265, 6, 5, 153, 78, 87,
+ 88, 76, 77, 79, 80, 82, 81, 83, 55, 169,
+ 66, 367, 164, 90, 165, 73, 302, 291, 290, 95,
+ 36, 289, 242, 232, 204, 78, 87, 88, 76, 77,
+ 79, 80, 82, 81, 83, 73, 65, 217, 62, 13,
+ 90, 63, 13, 325, 4, 59, 36, 148, 96, 59,
+ 163, 78, 87, 88, 76, 77, 79, 80, 82, 81,
+ 243, 245, 73, 146, 145, 244, 90, 91, 192, 144,
+ 15, 106, 205, 10, 94, 312, 202, 263, 262, 93,
+ 250, 114, 221, 142, 20, 21, 117, 22, 73, 59,
+ 116, 16, 384, 371, 195, 166, 196, 197, 9, 115,
+ 15, 19, 25, 10, 14, 313, 61, 12, 134, 284,
+ 12, 176, 177, 283, 20, 21, 293, 22, 280, 60,
+ 11, 16, 279, 11, 278, 277, 36, 276, 275, 52,
+ 51, 134, 288, 50, 14, 49, 59, 48, 47, 300,
+ 386, 373, 45, 391, 213, 189, 188, 243, 245, 211,
+ 354, 304, 244, 209, 212, 210, 326, 303, 199, 198,
+ 389, 292, 170, 171, 172, 173, 174, 175, 73, 383,
+ 223, 35, 254, 255, 258, 259, 260, 225, 340, 256,
+ 257, 315, 329, 317, 253, 314, 261, 220, 13, 269,
+ 375, 353, 319, 252, 187, 251, 228, 206, 35, 285,
+ 64, 71, 392, 382, 363, 364, 339, 366, 243, 245,
+ 350, 342, 355, 244, 365, 214, 215, 216, 341, 330,
+ 13, 286, 368, 372, 324, 59, 36, 134, 378, 377,
+ 374, 129, 323, 376, 338, 370, 322, 318, 97, 99,
+ 311, 134, 385, 282, 266, 180, 122, 38, 310, 281,
+ 306, 249, 152, 219, 297, 140, 12, 86, 218, 139,
+ 85, 178, 170, 171, 172, 173, 174, 175, 73, 11,
+ 120, 203, 138, 309, 274, 273, 229, 184, 126, 42,
+ 380, 381, 362, 298, 361, 359, 379, 358, 12, 357,
+ 356, 343, 336, 320, 308, 272, 183, 125, 41, 271,
+ 307, 11, 270, 268, 224, 182, 124, 40, 337, 296,
+ 247, 299, 109, 53, 295, 33, 264, 179, 121, 37,
+ 136, 111, 246, 238, 237, 191, 236, 190, 235, 234,
+ 233, 186, 107, 46, 185, 149, 127, 43, 18, 17,
+ 267, 181, 123, 39, 32, 31, 8, 30, 7, 29,
+ 28, 27, 3, 1, 24, 193, 133, 194, 332, 75,
+ 74, 68, 92, 369, 168, 156, 287, 23, 321, 316,
+ 151, 360, 345, 248, 200, 327, 44, 150, 390, 387,
+ 351, 84, 240, 135, 294, 69, 58, 56 };
yytabelem yypact[]={
- -23,-10000000,-10000000, -23,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
+ -18,-10000000,-10000000, -18,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000, -220,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000, 224,-10000000,-10000000, 219, 218, 216,
+ 214, 211, 210, -194,-10000000,-10000000,-10000000, -71, -220, -168,
+ -220, -220, -220, 88,-10000000,-10000000, -220,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -282,
-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000, 217,-10000000,-10000000, 212, 211, 210, 208,
- 207, 206, -208, -92, -146, -140, -146, -146, -146, 95,
--10000000,-10000000, -146,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000, -282,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -231,-10000000,
+-10000000,-10000000,-10000000,-10000000, 177, 170, 166,-10000000, -230,-10000000,
-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000, -165,-10000000,-10000000,-10000000,-10000000,-10000000,
- 186, 184, 183,-10000000,-10000000, -161,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -282,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000, -223,-10000000, -146,-10000000, -146,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000, -156,-10000000, 182, -146, 94,
- 93, 92, -203, 91,-10000000,-10000000, -282,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000, -146,-10000000, 5, 5, 5,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -53, 252, 251, 133,
--10000000,-10000000,-10000000, 80, 127, 281, -248, 233, 247,-10000000,
--10000000, 33, 33, 33, -282,-10000000, 5,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000, -185, 180,-10000000, -23, -245,
- 278, -143, 76,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
- -217, -142,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
- 178, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5,-10000000,-10000000,-10000000, 273, 177, 166,-10000000,-10000000, -245,
+ -282,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -219,-10000000, -220,
+-10000000, -220,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -226,-10000000,
+ 163, -220, 86, 81, 80, -248, 64,-10000000,-10000000, -282,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -220,-10000000, 109, 109,
+ 109,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -48,
+ 255, 254, 125,-10000000,-10000000,-10000000, 40, 118, 299, -287,
+ 250, 247,-10000000,-10000000, 9, 9, 9, -282,-10000000, 109,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -170, 161,
+-10000000, -18, -211, 296, -172, 38,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000, -258, -124,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000, 158, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109,-10000000,-10000000,-10000000, 285, 156, 155,
+-10000000,-10000000, -211,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000, 209, 208, 206, 205, 203, 199,-10000000,
+-10000000,-10000000,-10000000,-10000000,-10000000, -282, -219, -220, 125, 109,
+-10000000, 118, 299, -287, 250, 250, 247, 247,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000, 109,-10000000, 36, 33, 32, -211,
+ -220, 197, -144, 31, 253,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000, -97, -171, -282,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
- 204, 202, 201, 200, 199, 198,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000, -282, -223, -146, 133, 5,-10000000, 127, 281,
- -248, 233, 233, 247, 247,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000, 5,-10000000, 68, 63, 55, -245, -146, 196, -73,
- 43, 249,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -117, -141,
- -282,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, -282, -166,-10000000,
--10000000,-10000000,-10000000, 130, 195, 271, -143, -146, 277,-10000000,
--10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, 89, 248,
- -244, 266, -200,-10000000,-10000000,-10000000,-10000000,-10000000, 265,-10000000,
--10000000,-10000000,-10000000,-10000000, -182, -146, -247, 276,-10000000, 239,
- -117,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000, 36, -182, -208, 194, -186, 215,
- 5, 275, -223, -200, -146,-10000000,-10000000,-10000000,-10000000,-10000000,
--10000000,-10000000,-10000000,-10000000, 263,-10000000,-10000000, 188, -146, 214,
- -257,-10000000,-10000000,-10000000,-10000000, 250,-10000000,-10000000, 238,-10000000,
- -264,-10000000 };
+ -282, -227,-10000000,-10000000,-10000000,-10000000, 122, 186, 284, -172,
+ -220, 292,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
+ 60, 252, -266, 281, -267,-10000000,-10000000,-10000000,-10000000,-10000000,
+ 277,-10000000,-10000000,-10000000,-10000000,-10000000, -165, -220, -268, 291,
+-10000000, 246, -97,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, 26, -165, -194, 174,
+ -252, 223, 109, 290, -219, -267, -220,-10000000,-10000000,-10000000,
+-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, 268,-10000000,-10000000, 173,
+ -220, 222, -275,-10000000,-10000000,-10000000,-10000000, 259,-10000000,-10000000,
+ 239,-10000000, -276,-10000000 };
yytabelem yypgo[]={
- 0, 14, 157, 523, 522, 521, 8, 209, 132, 520,
- 163, 519, 518, 517, 324, 9, 7, 516, 515, 514,
- 5, 513, 512, 511, 510, 509, 508, 507, 108, 506,
- 505, 504, 503, 502, 2, 501, 159, 142, 155, 179,
- 130, 182, 234, 500, 143, 141, 10, 499, 498, 105,
- 104, 103, 321, 497, 496, 495, 6, 76, 494, 493,
- 1, 15, 492, 491, 490, 0, 166, 489, 207, 488,
- 487, 162, 486, 158, 485, 484, 483, 482, 481, 480,
- 479, 478, 477, 476, 475, 474, 473, 472, 471, 470,
- 469, 468, 467, 466, 465, 464, 463, 462, 461, 460,
- 459, 458, 457, 456, 455, 454, 453, 452, 451, 450,
- 449, 448, 447, 446, 445, 444, 443, 442, 192, 118,
- 441, 440, 439, 438, 437, 436, 435, 434, 433, 432,
- 431, 430, 4, 429, 428, 427, 426, 425, 424, 423,
- 422, 421, 420, 419, 418, 417, 13, 416, 415, 414,
- 413, 412, 411, 410, 409, 408, 407, 406, 405, 404,
- 403, 401, 400, 399, 395, 394, 389, 383, 382, 381,
- 378, 377, 362, 357, 354, 353, 3, 352, 344, 343,
- 340, 339, 335, 334, 332, 322 };
+ 0, 16, 148, 527, 526, 525, 10, 259, 178, 524,
+ 246, 523, 522, 521, 341, 9, 6, 520, 519, 518,
+ 8, 517, 516, 515, 514, 513, 512, 511, 30, 510,
+ 509, 508, 507, 506, 7, 505, 130, 127, 117, 104,
+ 109, 102, 190, 504, 111, 90, 2, 503, 502, 181,
+ 176, 150, 340, 501, 500, 499, 5, 121, 498, 497,
+ 1, 12, 496, 495, 494, 0, 184, 493, 128, 492,
+ 491, 136, 490, 135, 489, 488, 487, 486, 485, 484,
+ 483, 482, 481, 480, 479, 478, 477, 476, 475, 474,
+ 473, 472, 471, 470, 469, 468, 467, 466, 465, 464,
+ 463, 462, 461, 460, 459, 458, 457, 456, 455, 453,
+ 452, 450, 448, 447, 446, 445, 444, 443, 134, 103,
+ 442, 440, 439, 438, 437, 436, 435, 434, 433, 432,
+ 431, 430, 4, 429, 427, 426, 425, 424, 422, 421,
+ 420, 419, 418, 417, 416, 415, 11, 414, 413, 412,
+ 411, 410, 401, 400, 399, 398, 397, 395, 393, 392,
+ 391, 390, 389, 388, 387, 386, 385, 384, 383, 380,
+ 377, 376, 374, 372, 364, 359, 3, 358, 354, 351,
+ 347, 346, 345, 344, 343, 342 };
yytabelem yyr1[]={
0, 67, 68, 68, 70, 69, 72, 69, 74, 69,
@@ -345,25 +345,25 @@ yytabelem yyr1[]={
48, 33, 34, 35, 35, 36, 36, 37, 37, 38,
38, 38, 39, 39, 39, 40, 40, 40, 40, 41,
41, 41, 41, 42, 42, 42, 43, 43, 43, 43,
- 43, 43, 44, 108, 66, 66, 66, 66, 110, 109,
- 1, 1, 2, 2, 2, 56, 56, 56, 56, 56,
- 56, 4, 4, 4, 3, 3, 3, 28, 111, 29,
- 29, 60, 60, 30, 112, 31, 31, 61, 62, 49,
- 49, 54, 54, 54, 55, 55, 55, 52, 52, 52,
- 50, 50, 57, 51, 53, 113, 114, 115, 117, 7,
- 116, 119, 119, 120, 121, 118, 122, 118, 123, 124,
- 125, 126, 127, 128, 129, 131, 10, 9, 9, 9,
- 9, 9, 9, 130, 133, 133, 134, 135, 132, 136,
- 132, 26, 27, 27, 137, 46, 138, 139, 46, 140,
- 47, 141, 142, 143, 145, 8, 144, 148, 147, 147,
- 146, 149, 150, 5, 5, 151, 152, 13, 154, 155,
- 6, 6, 153, 157, 158, 14, 14, 156, 159, 11,
- 24, 25, 25, 160, 161, 45, 162, 163, 96, 63,
- 63, 164, 165, 166, 167, 73, 168, 169, 171, 172,
- 98, 59, 59, 59, 12, 12, 173, 170, 174, 170,
- 175, 178, 177, 177, 179, 180, 176, 15, 15, 15,
- 58, 58, 58, 181, 182, 23, 23, 183, 184, 17,
- 17, 18, 185, 19, 19 };
+ 43, 43, 44, 108, 66, 66, 66, 66, 66, 110,
+ 109, 1, 1, 2, 2, 2, 56, 56, 56, 56,
+ 56, 56, 4, 4, 4, 3, 3, 3, 28, 111,
+ 29, 29, 60, 60, 30, 112, 31, 31, 61, 62,
+ 49, 49, 54, 54, 54, 55, 55, 55, 52, 52,
+ 52, 50, 50, 57, 51, 53, 113, 114, 115, 117,
+ 7, 116, 119, 119, 120, 121, 118, 122, 118, 123,
+ 124, 125, 126, 127, 128, 129, 131, 10, 9, 9,
+ 9, 9, 9, 9, 130, 133, 133, 134, 135, 132,
+ 136, 132, 26, 27, 27, 137, 46, 138, 139, 46,
+ 140, 47, 141, 142, 143, 145, 8, 144, 148, 147,
+ 147, 146, 149, 150, 5, 5, 151, 152, 13, 154,
+ 155, 6, 6, 153, 157, 158, 14, 14, 156, 159,
+ 11, 24, 25, 25, 160, 161, 45, 162, 163, 96,
+ 63, 63, 164, 165, 166, 167, 73, 168, 169, 171,
+ 172, 98, 59, 59, 59, 12, 12, 173, 170, 174,
+ 170, 175, 178, 177, 177, 179, 180, 176, 15, 15,
+ 15, 58, 58, 58, 181, 182, 23, 23, 183, 184,
+ 17, 17, 18, 185, 19, 19 };
yytabelem yyr2[]={
0, 2, 4, 0, 1, 7, 1, 7, 1, 7,
@@ -376,109 +376,109 @@ yytabelem yyr2[]={
3, 2, 2, 2, 7, 2, 7, 2, 7, 2,
7, 7, 2, 7, 7, 2, 7, 7, 7, 2,
5, 5, 5, 3, 2, 7, 3, 3, 3, 3,
- 3, 3, 3, 1, 7, 3, 3, 3, 1, 7,
- 2, 2, 3, 2, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 5, 1, 9,
- 1, 2, 2, 5, 1, 9, 1, 3, 3, 2,
- 2, 3, 5, 3, 5, 7, 5, 3, 3, 5,
- 3, 3, 3, 3, 3, 1, 1, 1, 1, 19,
- 4, 4, 0, 1, 1, 11, 1, 7, 1, 1,
- 1, 1, 1, 1, 1, 1, 35, 3, 3, 3,
- 3, 2, 3, 4, 4, 0, 1, 1, 11, 1,
- 7, 5, 5, 1, 1, 7, 1, 1, 11, 1,
- 7, 1, 1, 1, 1, 19, 4, 1, 8, 0,
- 3, 1, 1, 13, 5, 1, 1, 11, 1, 1,
- 13, 3, 3, 1, 1, 13, 3, 3, 1, 7,
- 5, 5, 1, 1, 1, 11, 1, 1, 13, 3,
- 1, 1, 1, 1, 1, 19, 1, 1, 1, 1,
- 21, 3, 3, 1, 2, 3, 1, 7, 1, 9,
- 4, 1, 8, 0, 1, 1, 11, 3, 2, 3,
- 3, 3, 3, 1, 1, 13, 1, 1, 1, 13,
- 1, 5, 1, 9, 1 };
+ 3, 3, 3, 1, 7, 3, 3, 3, 5, 1,
+ 7, 2, 2, 3, 2, 3, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 5, 1,
+ 9, 1, 2, 2, 5, 1, 9, 1, 3, 3,
+ 2, 2, 3, 5, 3, 5, 7, 5, 3, 3,
+ 5, 3, 3, 3, 3, 3, 1, 1, 1, 1,
+ 19, 4, 4, 0, 1, 1, 11, 1, 7, 1,
+ 1, 1, 1, 1, 1, 1, 1, 35, 3, 3,
+ 3, 3, 2, 3, 4, 4, 0, 1, 1, 11,
+ 1, 7, 5, 5, 1, 1, 7, 1, 1, 11,
+ 1, 7, 1, 1, 1, 1, 19, 4, 1, 8,
+ 0, 3, 1, 1, 13, 5, 1, 1, 11, 1,
+ 1, 13, 3, 3, 1, 1, 13, 3, 3, 1,
+ 7, 5, 5, 1, 1, 1, 11, 1, 1, 13,
+ 3, 1, 1, 1, 1, 1, 19, 1, 1, 1,
+ 1, 21, 3, 3, 1, 2, 3, 1, 7, 1,
+ 9, 4, 1, 8, 0, 1, 1, 11, 3, 2,
+ 3, 3, 3, 3, 1, 1, 13, 1, 1, 1,
+ 13, 1, 5, 1, 9, 1 };
yytabelem yychk[]={
-10000000, -67, -68, -69, -66, -71, -73, -75, -77, 256,
- 261, -7, -10, -8, 258, 279, -84, -85, 259, 272,
- 273, 275, -32, -64, 260, -68, -70, -72, -74, -76,
- -78, -79, -108, -104, -164, -80, -113, -123, -141, -86,
- -22, 58, -90, 59, 59, 59, 59, 59, 59, -109,
- -1, -2, -3, -56, -4, -16, -7, -10, -8, -49,
- -52, -50, -51, -57, -53, -5, -6, -14, -65, 298,
- -54, -55, 265, 266, 262, 267, 268, 270, 269, 271,
- -13, -153, -156, 257, 263, 264, 276, 277, 278, -48,
- -49, -50, -57, -51, -52, -6, -14, -16, -65, 257,
- -65, -65, -65, 123, -91, -65, -110, 298, -102, 262,
- 265, 44, 62, 60, 60, 262, 263, -151, -105, -165,
- -81, -114, -124, -142, -87, -20, -16, -28, -60, -61,
- -62, -65, -11, -103, -65, -149, -154, -157, 262, 60,
- -65, 123, 123, 123, 274, 123, -88, -21, -29, -159,
- -65, -44, -34, -35, -36, -37, -38, -39, -40, -41,
- -42, 43, 45, 126, -16, -43, 40, 292, 293, 294,
- 295, 296, 297, -44, -44, -152, -106, -166, -82, -115,
- -125, -143, -89, -92, -66, -71, -73, -96, -98, 256,
- -63, -59, 282, 284, 285, 44, 44, -24, -45, 91,
- -150, 124, 94, 38, 299, 300, 43, 45, 42, 47,
- 37, -42, -42, -42, -34, -155, -158, -2, 61, -119,
- -68, -116, -118, -1, 256, 40, -144, -146, 257, 125,
- -93, -94, -95, -97, -99, -100, 283, -12, -15, 286,
- -56, -6, -16, -101, -111, -25, -160, 62, -36, -37,
- -38, -39, -39, -40, -40, -41, -41, -41, 41, 62,
- 62, -107, -118, -167, -83, -117, -119, -120, -122, -126,
- -145, -147, 59, 59, 59, 59, 59, 59, -162, -168,
- -16, -60, -45, -44, -33, -34, 125, 125, 125, -28,
- 59, -9, -49, -50, -57, -51, -8, -16, 262, 125,
- 44, -15, 257, -161, -121, -127, -148, -163, -169, 93,
- 59, 41, -146, -30, -61, -65, -170, 40, -128, -31,
- -171, -173, -174, 123, 44, -23, 290, 41, -175, -176,
- -58, 287, 288, 289, -129, -112, -172, -181, 41, -177,
- -179, -130, -132, -26, 256, -46, 281, 280, -61, -17,
- 291, 40, 44, -15, -131, -133, -134, -136, -27, -137,
- -138, -183, -182, -178, -180, 125, -132, -47, -1, 59,
- -46, 58, -34, 40, -20, -176, -60, -135, -140, -139,
- -184, 41, 59, -60, 58, -18, 293, 41, -19, 44,
- -185, 293 };
+ 261, -7, -10, -8, 292, 258, 279, -84, -85, 259,
+ 272, 273, 275, -32, -64, 260, -68, -70, -72, -74,
+ -76, -78, -79, -108, -61, -65, 257, -104, -164, -80,
+ -113, -123, -141, -86, -22, 58, -90, 59, 59, 59,
+ 59, 59, 59, -109, -1, -2, -3, -56, -4, -16,
+ -7, -10, -8, -49, -52, -50, -51, -57, -53, -5,
+ -6, -14, -65, 299, -54, -55, 265, 266, 262, 267,
+ 268, 270, 269, 271, -13, -153, -156, 263, 264, 276,
+ 277, 278, -48, -49, -50, -57, -51, -52, -6, -14,
+ -16, -65, 257, -65, -65, -65, 123, -91, -65, -110,
+ 299, -102, 262, 265, 44, 62, 60, 60, 262, 263,
+ -151, -105, -165, -81, -114, -124, -142, -87, -20, -16,
+ -28, -60, -61, -62, -65, -11, -103, -65, -149, -154,
+ -157, 262, 60, -65, 123, 123, 123, 274, 123, -88,
+ -21, -29, -159, -65, -44, -34, -35, -36, -37, -38,
+ -39, -40, -41, -42, 43, 45, 126, -16, -43, 40,
+ 293, 294, 295, 296, 297, 298, -44, -44, -152, -106,
+ -166, -82, -115, -125, -143, -89, -92, -66, -71, -73,
+ -96, -98, 256, -63, -59, 282, 284, 285, 44, 44,
+ -24, -45, 91, -150, 124, 94, 38, 300, 301, 43,
+ 45, 42, 47, 37, -42, -42, -42, -34, -155, -158,
+ -2, 61, -119, -68, -116, -118, -1, 256, 40, -144,
+ -146, 257, 125, -93, -94, -95, -97, -99, -100, 283,
+ -12, -15, 286, -56, -6, -16, -101, -111, -25, -160,
+ 62, -36, -37, -38, -39, -39, -40, -40, -41, -41,
+ -41, 41, 62, 62, -107, -118, -167, -83, -117, -119,
+ -120, -122, -126, -145, -147, 59, 59, 59, 59, 59,
+ 59, -162, -168, -16, -60, -45, -44, -33, -34, 125,
+ 125, 125, -28, 59, -9, -49, -50, -57, -51, -8,
+ -16, 262, 125, 44, -15, 257, -161, -121, -127, -148,
+ -163, -169, 93, 59, 41, -146, -30, -61, -170, 40,
+ -128, -31, -171, -173, -174, 123, 44, -23, 290, 41,
+ -175, -176, -58, 287, 288, 289, -129, -112, -172, -181,
+ 41, -177, -179, -130, -132, -26, 256, -46, 281, 280,
+ -61, -17, 291, 40, 44, -15, -131, -133, -134, -136,
+ -27, -137, -138, -183, -182, -178, -180, 125, -132, -47,
+ -1, 59, -46, 58, -34, 40, -20, -176, -60, -135,
+ -140, -139, -184, 41, 59, -60, 58, -18, 294, 41,
+ -19, 44, -185, 294 };
yytabelem yydef[]={
-2, -2, 1, -2, 4, 6, 8, 10, 12, 14,
- 103, 105, 106, 107, 58, 241, 21, 22, 16, 155,
- 168, 201, 23, -2, 27, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 30, 0, 5, 7, 9, 11, 13, 15, 104,
- 108, 110, 111, 112, 113, 114, 124, 125, 126, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 51, 52,
- 139, 140, 147, 148, 141, 150, 151, 153, 152, 154,
- 0, 221, 226, 56, 143, 0, 215, 222, 227, 59,
- 63, 64, 65, 66, 67, 68, 69, 70, 242, 17,
- 156, 169, 202, 24, 0, 28, 0, 54, 0, 142,
- 149, 211, 214, 218, 223, 144, 146, 0, 0, 0,
- 0, 0, 0, 0, 34, 31, 50, 109, 130, 131,
- 132, -2, 138, 0, 53, 0, 0, 0, 145, 216,
- 60, 243, 18, 157, 170, 203, -2, 47, 127, 0,
- 55, 212, 102, 72, 73, 75, 77, 79, 82, 85,
- 89, 0, 0, 0, 93, 94, 0, 96, 97, 98,
- 99, 100, 101, 219, 224, 0, 0, 162, -2, 0,
- 0, 0, 0, 33, 35, 37, 39, 41, 43, 45,
- 0, 0, 239, 251, 252, 48, 128, 229, 232, 233,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 91, 92, 0, 0, 0, 217, 61, -2,
- 19, 158, 162, 163, 166, 171, 204, 209, 210, 26,
- 0, 0, 0, 0, 0, 0, 236, 246, 254, 255,
- 267, 268, 269, 0, 0, 230, 0, 213, 74, 76,
- 78, 80, 81, 83, 84, 86, 87, 88, 95, 220,
- 225, 0, 161, 0, 0, 0, -2, 0, 0, 0,
- 0, 206, 36, 38, 40, 42, 44, 46, 0, 0,
- 49, 129, 231, 234, 62, 71, 245, 20, 159, 164,
- 167, 172, 177, 178, 179, 180, 181, 182, 141, 205,
- 207, 237, 247, 0, 0, 0, 0, 0, 0, 235,
- 165, 173, 208, 238, 136, 137, 248, -2, 0, 133,
- 276, 0, 0, 174, 134, 249, 273, 257, 0, 263,
- 264, 270, 271, 272, 0, 0, 280, 0, 259, 260,
- 0, 175, 185, 186, 189, 193, 194, 196, 135, 250,
- 277, 274, 261, 265, 0, -2, 0, 0, 191, 0,
- 0, 0, 0, 0, 0, 176, 184, 187, 199, 190,
- 192, 195, 197, 278, 0, 262, 266, 0, 0, 0,
- 0, 275, 188, 200, 198, 0, 284, 279, 281, 282,
- 0, 283 };
+ 103, 105, 106, 107, 0, 58, 242, 21, 22, 16,
+ 156, 169, 202, 23, -2, 27, 2, 0, 0, 0,
+ 0, 0, 0, 0, 108, 138, 56, 0, 0, 0,
+ 0, 0, 0, 0, 29, 30, 0, 5, 7, 9,
+ 11, 13, 15, 104, 109, 111, 112, 113, 114, 115,
+ 125, 126, 127, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 51, 52, 140, 141, 148, 149, 142, 151,
+ 152, 154, 153, 155, 0, 222, 227, 144, 0, 216,
+ 223, 228, 59, 63, 64, 65, 66, 67, 68, 69,
+ 70, 243, 17, 157, 170, 203, 24, 0, 28, 0,
+ 54, 0, 143, 150, 212, 215, 219, 224, 145, 147,
+ 0, 0, 0, 0, 0, 0, 0, 34, 31, 50,
+ 110, 131, 132, 133, -2, 139, 0, 53, 0, 0,
+ 0, 146, 217, 60, 244, 18, 158, 171, 204, -2,
+ 47, 128, 0, 55, 213, 102, 72, 73, 75, 77,
+ 79, 82, 85, 89, 0, 0, 0, 93, 94, 0,
+ 96, 97, 98, 99, 100, 101, 220, 225, 0, 0,
+ 163, -2, 0, 0, 0, 0, 33, 35, 37, 39,
+ 41, 43, 45, 0, 0, 240, 252, 253, 48, 129,
+ 230, 233, 234, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 91, 92, 0, 0, 0,
+ 218, 61, -2, 19, 159, 163, 164, 167, 172, 205,
+ 210, 211, 26, 0, 0, 0, 0, 0, 0, 237,
+ 247, 255, 256, 268, 269, 270, 0, 0, 231, 0,
+ 214, 74, 76, 78, 80, 81, 83, 84, 86, 87,
+ 88, 95, 221, 226, 0, 162, 0, 0, 0, -2,
+ 0, 0, 0, 0, 207, 36, 38, 40, 42, 44,
+ 46, 0, 0, 49, 130, 232, 235, 62, 71, 246,
+ 20, 160, 165, 168, 173, 178, 179, 180, 181, 182,
+ 183, 142, 206, 208, 238, 248, 0, 0, 0, 0,
+ 0, 0, 236, 166, 174, 209, 239, 137, 249, -2,
+ 0, 134, 277, 0, 0, 175, 135, 250, 274, 258,
+ 0, 264, 265, 271, 272, 273, 0, 0, 281, 0,
+ 260, 261, 0, 176, 186, 187, 190, 194, 195, 197,
+ 136, 251, 278, 275, 262, 266, 0, -2, 0, 0,
+ 192, 0, 0, 0, 0, 0, 0, 177, 185, 188,
+ 200, 191, 193, 196, 198, 279, 0, 263, 267, 0,
+ 0, 0, 0, 276, 189, 201, 199, 0, 285, 280,
+ 282, 283, 0, 284 };
typedef struct
#ifdef __cplusplus
yytoktype
@@ -489,54 +489,55 @@ typedef struct
#endif
#if YYDEBUG
-
+
yytoktype yytoks[] =
{
- {"IDENTIFIER", 257},
- {"IDL_CONST", 258},
- {"IDL_MODULE", 259},
- {"IDL_INTERFACE", 260},
- {"IDL_TYPEDEF", 261},
- {"IDL_LONG", 262},
- {"IDL_SHORT", 263},
- {"IDL_UNSIGNED", 264},
- {"IDL_DOUBLE", 265},
- {"IDL_FLOAT", 266},
- {"IDL_CHAR", 267},
- {"IDL_WCHAR", 268},
- {"IDL_OCTET", 269},
- {"IDL_BOOLEAN", 270},
- {"IDL_ANY", 271},
- {"IDL_STRUCT", 272},
- {"IDL_UNION", 273},
- {"IDL_SWITCH", 274},
- {"IDL_ENUM", 275},
- {"IDL_SEQUENCE", 276},
- {"IDL_STRING", 277},
- {"IDL_WSTRING", 278},
- {"IDL_EXCEPTION", 279},
- {"IDL_CASE", 280},
- {"IDL_DEFAULT", 281},
- {"IDL_READONLY", 282},
- {"IDL_ATTRIBUTE", 283},
- {"IDL_ONEWAY", 284},
- {"IDL_IDEMPOTENT", 285},
- {"IDL_VOID", 286},
- {"IDL_IN", 287},
- {"IDL_OUT", 288},
- {"IDL_INOUT", 289},
- {"IDL_RAISES", 290},
- {"IDL_CONTEXT", 291},
- {"IDL_INTEGER_LITERAL", 292},
- {"IDL_STRING_LITERAL", 293},
- {"IDL_CHARACTER_LITERAL", 294},
- {"IDL_FLOATING_PT_LITERAL", 295},
- {"IDL_TRUETOK", 296},
- {"IDL_FALSETOK", 297},
- {"IDL_SCOPE_DELIMITOR", 298},
- {"IDL_LEFT_SHIFT", 299},
- {"IDL_RIGHT_SHIFT", 300},
- {"-unknown-", -1} /* ends search */
+ "IDENTIFIER", 257,
+ "IDL_CONST", 258,
+ "IDL_MODULE", 259,
+ "IDL_INTERFACE", 260,
+ "IDL_TYPEDEF", 261,
+ "IDL_LONG", 262,
+ "IDL_SHORT", 263,
+ "IDL_UNSIGNED", 264,
+ "IDL_DOUBLE", 265,
+ "IDL_FLOAT", 266,
+ "IDL_CHAR", 267,
+ "IDL_WCHAR", 268,
+ "IDL_OCTET", 269,
+ "IDL_BOOLEAN", 270,
+ "IDL_ANY", 271,
+ "IDL_STRUCT", 272,
+ "IDL_UNION", 273,
+ "IDL_SWITCH", 274,
+ "IDL_ENUM", 275,
+ "IDL_SEQUENCE", 276,
+ "IDL_STRING", 277,
+ "IDL_WSTRING", 278,
+ "IDL_EXCEPTION", 279,
+ "IDL_CASE", 280,
+ "IDL_DEFAULT", 281,
+ "IDL_READONLY", 282,
+ "IDL_ATTRIBUTE", 283,
+ "IDL_ONEWAY", 284,
+ "IDL_IDEMPOTENT", 285,
+ "IDL_VOID", 286,
+ "IDL_IN", 287,
+ "IDL_OUT", 288,
+ "IDL_INOUT", 289,
+ "IDL_RAISES", 290,
+ "IDL_CONTEXT", 291,
+ "IDL_NATIVE", 292,
+ "IDL_INTEGER_LITERAL", 293,
+ "IDL_STRING_LITERAL", 294,
+ "IDL_CHARACTER_LITERAL", 295,
+ "IDL_FLOATING_PT_LITERAL", 296,
+ "IDL_TRUETOK", 297,
+ "IDL_FALSETOK", 298,
+ "IDL_SCOPE_DELIMITOR", 299,
+ "IDL_LEFT_SHIFT", 300,
+ "IDL_RIGHT_SHIFT", 301,
+ "-unknown-", -1 /* ends search */
};
char * yyreds[] =
@@ -649,6 +650,7 @@ char * yyreds[] =
"type_dcl : struct_type",
"type_dcl : union_type",
"type_dcl : enum_type",
+ "type_dcl : IDL_NATIVE simple_declarator",
"type_declarator : type_spec",
"type_declarator : type_spec at_least_one_declarator",
"type_spec : simple_type_spec",
@@ -833,9 +835,6 @@ char * yyreds[] =
* Copyright (c) 1993 by Sun Microsystems, Inc.
*/
-#if !defined (ACE_WIN32)
-#pragma ident "@(#)yaccpar 6.12 93/06/07 SMI"
-#endif /* ACE_WIN32 */
/*
** Skeleton parser driver for yacc output
@@ -898,7 +897,7 @@ int yychar; /* current input token number */
#define YYLEX() yycvtok(yylex())
/*
** yycvtok - return a token if i is a wchar_t value that exceeds 255.
-** If i<255, i itself is the token. If i>255 but the neither
+** If i<255, i itself is the token. If i>255 but the neither
** of the 30th or 31st bit is on, i is already a token.
*/
#if defined(__STDC__) || defined(__cplusplus)
@@ -919,7 +918,7 @@ int yycvtok(i) int i;
while ((last>=first)&&(first>=0)) {/*Binary search loop*/
mid = (first+last)/2;
j = yymbchars[mid].character;
- if( j==i ){/*Found*/
+ if( j==i ){/*Found*/
return yymbchars[mid].tvalue;
}else if( j<i ){
first = mid + 1;
@@ -1361,75 +1360,75 @@ int yyparse()
*/
switch( yytmp )
{
-
+
case 4:
-# line 238 "idl.yy"
+# line 240 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_TypeDeclSeen);
} break;
case 5:
-# line 242 "idl.yy"
+# line 244 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 6:
-# line 246 "idl.yy"
+# line 248 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstDeclSeen);
} break;
case 7:
-# line 250 "idl.yy"
+# line 252 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 8:
-# line 254 "idl.yy"
+# line 256 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptDeclSeen);
} break;
case 9:
-# line 258 "idl.yy"
+# line 260 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 10:
-# line 262 "idl.yy"
+# line 264 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceDeclSeen);
} break;
case 11:
-# line 266 "idl.yy"
+# line 268 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 12:
-# line 270 "idl.yy"
+# line 272 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ModuleDeclSeen);
} break;
case 13:
-# line 274 "idl.yy"
+# line 276 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 14:
-# line 278 "idl.yy"
+# line 280 "idl.yy"
{
idl_global->err()->syntax_error(idl_global->parse_state());
} break;
case 15:
-# line 282 "idl.yy"
+# line 284 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
yyerrok;
} break;
case 16:
-# line 289 "idl.yy"
+# line 291 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ModuleSeen);
} break;
case 17:
-# line 293 "idl.yy"
+# line 295 "idl.yy"
{
UTL_ScopedName *n =
new UTL_ScopedName(new Identifier(yypvt[-0].strval, 1, 0, I_FALSE), NULL);
@@ -1451,17 +1450,17 @@ case 17:
idl_global->scopes()->push(m);
} break;
case 18:
-# line 314 "idl.yy"
+# line 316 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ModuleSqSeen);
} break;
case 19:
-# line 318 "idl.yy"
+# line 320 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ModuleBodySeen);
} break;
case 20:
-# line 322 "idl.yy"
+# line 324 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ModuleQsSeen);
/*
@@ -1470,7 +1469,7 @@ case 20:
idl_global->scopes()->pop();
} break;
case 23:
-# line 338 "idl.yy"
+# line 340 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Interface *i = NULL;
@@ -1555,17 +1554,17 @@ case 23:
idl_global->scopes()->push(i);
} break;
case 24:
-# line 422 "idl.yy"
+# line 424 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceSqSeen);
} break;
case 25:
-# line 426 "idl.yy"
+# line 428 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceBodySeen);
} break;
case 26:
-# line 430 "idl.yy"
+# line 432 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceQsSeen);
/*
@@ -1574,18 +1573,18 @@ case 26:
idl_global->scopes()->pop();
} break;
case 27:
-# line 441 "idl.yy"
+# line 443 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceSeen);
} break;
case 28:
-# line 445 "idl.yy"
+# line 447 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InterfaceIDSeen);
yyval.idval = yypvt[-0].idval;
} break;
case 29:
-# line 453 "idl.yy"
+# line 455 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InheritSpecSeen);
/*
@@ -1597,93 +1596,93 @@ case 29:
yyval.ihval = new FE_InterfaceHeader(new UTL_ScopedName(yypvt[-1].idval, NULL), yypvt[-0].nlval);
} break;
case 30:
-# line 467 "idl.yy"
+# line 469 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_InheritColonSeen);
} break;
case 31:
-# line 471 "idl.yy"
+# line 473 "idl.yy"
{
yyval.nlval = yypvt[-0].nlval;
} break;
case 32:
-# line 475 "idl.yy"
+# line 477 "idl.yy"
{
yyval.nlval = NULL;
} break;
case 35:
-# line 487 "idl.yy"
+# line 489 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_TypeDeclSeen);
} break;
case 36:
-# line 491 "idl.yy"
+# line 493 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 37:
-# line 495 "idl.yy"
+# line 497 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstDeclSeen);
} break;
case 38:
-# line 499 "idl.yy"
+# line 501 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 39:
-# line 503 "idl.yy"
+# line 505 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptDeclSeen);
} break;
case 40:
-# line 507 "idl.yy"
+# line 509 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 41:
-# line 511 "idl.yy"
+# line 513 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_AttrDeclSeen);
} break;
case 42:
-# line 515 "idl.yy"
+# line 517 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 43:
-# line 519 "idl.yy"
+# line 521 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpDeclSeen);
} break;
case 44:
-# line 523 "idl.yy"
+# line 525 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
} break;
case 45:
-# line 527 "idl.yy"
+# line 529 "idl.yy"
{
idl_global->err()->syntax_error(idl_global->parse_state());
} break;
case 46:
-# line 531 "idl.yy"
+# line 533 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
yyerrok;
} break;
case 47:
-# line 539 "idl.yy"
+# line 541 "idl.yy"
{
yyval.nlval = new UTL_NameList(yypvt[-1].idlist, yypvt[-0].nlval);
} break;
case 48:
-# line 547 "idl.yy"
+# line 549 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SNListCommaSeen);
} break;
case 49:
-# line 551 "idl.yy"
+# line 553 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ScopedNameSeen);
@@ -1695,24 +1694,24 @@ case 49:
}
} break;
case 50:
-# line 562 "idl.yy"
+# line 564 "idl.yy"
{
yyval.nlval = NULL;
} break;
case 51:
-# line 569 "idl.yy"
+# line 571 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SN_IDSeen);
yyval.idlist = new UTL_IdList(yypvt[-0].idval, NULL);
} break;
case 52:
-# line 575 "idl.yy"
+# line 577 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ScopeDelimSeen);
} break;
case 53:
-# line 579 "idl.yy"
+# line 581 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SN_IDSeen);
@@ -1720,12 +1719,12 @@ case 53:
new UTL_IdList(yypvt[-0].idval, NULL));
} break;
case 54:
-# line 587 "idl.yy"
+# line 589 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ScopeDelimSeen);
} break;
case 55:
-# line 591 "idl.yy"
+# line 593 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SN_IDSeen);
@@ -1733,12 +1732,12 @@ case 55:
yyval.idlist = yypvt[-3].idlist;
} break;
case 56:
-# line 600 "idl.yy"
+# line 602 "idl.yy"
{
yyval.idval = new Identifier(yypvt[-0].strval, 1, 0, I_FALSE);
} break;
case 57:
-# line 607 "idl.yy"
+# line 609 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-0].idval, NULL);
@@ -1756,27 +1755,27 @@ case 57:
}
} break;
case 58:
-# line 627 "idl.yy"
+# line 629 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstSeen);
} break;
case 59:
-# line 631 "idl.yy"
+# line 633 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstTypeSeen);
} break;
case 60:
-# line 635 "idl.yy"
+# line 637 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstIDSeen);
} break;
case 61:
-# line 639 "idl.yy"
+# line 641 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ConstAssignSeen);
} break;
case 62:
-# line 643 "idl.yy"
+# line 645 "idl.yy"
{
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-4].idval, NULL);
UTL_Scope *s = idl_global->scopes()->top_non_null();
@@ -1802,17 +1801,17 @@ case 62:
}
} break;
case 68:
-# line 676 "idl.yy"
+# line 678 "idl.yy"
{
yyval.etval = AST_Expression::EV_string;
} break;
case 69:
-# line 680 "idl.yy"
+# line 682 "idl.yy"
{
yyval.etval = AST_Expression::EV_wstring;
} break;
case 70:
-# line 684 "idl.yy"
+# line 686 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Decl *d = NULL;
@@ -1848,78 +1847,78 @@ case 70:
yyval.etval = AST_Expression::EV_any;
} break;
case 74:
-# line 726 "idl.yy"
+# line 728 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_or, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 76:
-# line 734 "idl.yy"
+# line 736 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_xor, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 78:
-# line 742 "idl.yy"
+# line 744 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_and, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 80:
-# line 750 "idl.yy"
+# line 752 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_right,yypvt[-2].exval,yypvt[-0].exval);
} break;
case 81:
-# line 754 "idl.yy"
+# line 756 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_left,yypvt[-2].exval,yypvt[-0].exval);
} break;
case 83:
-# line 762 "idl.yy"
+# line 764 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_add, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 84:
-# line 766 "idl.yy"
+# line 768 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_minus,yypvt[-2].exval,yypvt[-0].exval);
} break;
case 86:
-# line 774 "idl.yy"
+# line 776 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_mul, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 87:
-# line 778 "idl.yy"
+# line 780 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_div, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 88:
-# line 782 "idl.yy"
+# line 784 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_mod, yypvt[-2].exval, yypvt[-0].exval);
} break;
case 90:
-# line 790 "idl.yy"
+# line 792 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_u_plus,
yypvt[-0].exval,
NULL);
} break;
case 91:
-# line 796 "idl.yy"
+# line 798 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_u_minus,
yypvt[-0].exval,
NULL);
} break;
case 92:
-# line 802 "idl.yy"
+# line 804 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(AST_Expression::EC_bit_neg,
yypvt[-0].exval,
NULL);
} break;
case 93:
-# line 811 "idl.yy"
+# line 813 "idl.yy"
{
/*
* An expression which is a scoped name is not resolved now,
@@ -1929,72 +1928,95 @@ case 93:
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].idlist);
} break;
case 95:
-# line 821 "idl.yy"
+# line 823 "idl.yy"
{
yyval.exval = yypvt[-1].exval;
} break;
case 96:
-# line 828 "idl.yy"
+# line 830 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].ival);
} break;
case 97:
-# line 832 "idl.yy"
+# line 834 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].sval);
} break;
case 98:
-# line 836 "idl.yy"
+# line 838 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].cval);
} break;
case 99:
-# line 840 "idl.yy"
+# line 842 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].dval);
} break;
case 100:
-# line 844 "idl.yy"
+# line 846 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr((idl_bool) I_TRUE,
AST_Expression::EV_bool);
} break;
case 101:
-# line 849 "idl.yy"
+# line 851 "idl.yy"
{
yyval.exval = idl_global->gen()->create_expr((idl_bool) I_FALSE,
AST_Expression::EV_bool);
} break;
case 102:
-# line 857 "idl.yy"
+# line 859 "idl.yy"
{
yypvt[-0].exval->evaluate(AST_Expression::EK_const);
yyval.exval = idl_global->gen()->create_expr(yypvt[-0].exval, AST_Expression::EV_ulong);
} break;
case 103:
-# line 865 "idl.yy"
+# line 867 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_TypedefSeen);
} break;
case 104:
-# line 868 "idl.yy"
+# line 870 "idl.yy"
{yyval.ival = 0;} break;
case 105:
-# line 869 "idl.yy"
+# line 871 "idl.yy"
{ yyval.ival = 0;} break;
case 106:
-# line 870 "idl.yy"
+# line 872 "idl.yy"
{ yyval.ival = 0;} break;
case 107:
-# line 871 "idl.yy"
+# line 873 "idl.yy"
{ yyval.ival = 0;} break;
case 108:
-# line 876 "idl.yy"
+# line 875 "idl.yy"
+{
+ UTL_Scope *s = idl_global->scopes()->top_non_null();
+ AST_Native *node = NULL;
+ AST_Decl *v = NULL;
+ UTL_StrList *p = idl_global->pragmas();
+
+ ACE_UNUSED_ARG (v);
+
+ idl_global->set_parse_state(IDL_GlobalData::PS_NativeSeen);
+ /*
+ * Create a node representing a Native and add it to its
+ * enclosing scope
+ */
+ if (s != NULL) {
+ node = idl_global->gen()->create_native (yypvt[-0].deval->name (), p);
+ /*
+ * Add it to its defining scope
+ */
+ (void) s->fe_add_native (node);
+ }
+ } break;
+case 109:
+# line 900 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_TypeSpecSeen);
} break;
-case 109:
-# line 880 "idl.yy"
+case 110:
+# line 904 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_DecllistActiveIterator *l;
@@ -2003,7 +2025,7 @@ case 109:
AST_Decl *v = NULL;
UTL_StrList *p = idl_global->pragmas();
- ACE_UNUSED_ARG (v);
+ ACE_UNUSED_ARG (v);
idl_global->set_parse_state(IDL_GlobalData::PS_DeclaratorsSeen);
/*
@@ -2025,13 +2047,13 @@ case 109:
delete l;
}
} break;
-case 112:
-# line 919 "idl.yy"
+case 113:
+# line 943 "idl.yy"
{
yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
} break;
-case 114:
-# line 924 "idl.yy"
+case 115:
+# line 948 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Decl *d = NULL;
@@ -2042,18 +2064,18 @@ case 114:
idl_global->err()->lookup_error(yypvt[-0].idlist);
yyval.dcval = d;
} break;
-case 127:
-# line 959 "idl.yy"
+case 128:
+# line 983 "idl.yy"
{
yyval.dlval = new UTL_DeclList(yypvt[-1].deval, yypvt[-0].dlval);
} break;
-case 128:
-# line 967 "idl.yy"
+case 129:
+# line 991 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DeclsCommaSeen);
} break;
-case 129:
-# line 971 "idl.yy"
+case 130:
+# line 995 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DeclsDeclSeen);
@@ -2064,23 +2086,23 @@ case 129:
yyval.dlval = yypvt[-3].dlval;
}
} break;
-case 130:
-# line 982 "idl.yy"
+case 131:
+# line 1006 "idl.yy"
{
yyval.dlval = NULL;
} break;
-case 133:
-# line 994 "idl.yy"
+case 134:
+# line 1018 "idl.yy"
{
yyval.dlval = new UTL_DeclList(yypvt[-1].deval, yypvt[-0].dlval);
} break;
-case 134:
-# line 1002 "idl.yy"
+case 135:
+# line 1026 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DeclsCommaSeen);
} break;
-case 135:
-# line 1006 "idl.yy"
+case 136:
+# line 1030 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DeclsDeclSeen);
@@ -2091,101 +2113,101 @@ case 135:
yyval.dlval = yypvt[-3].dlval;
}
} break;
-case 136:
-# line 1017 "idl.yy"
+case 137:
+# line 1041 "idl.yy"
{
yyval.dlval = NULL;
} break;
-case 137:
-# line 1024 "idl.yy"
+case 138:
+# line 1048 "idl.yy"
{
yyval.deval = new FE_Declarator(new UTL_ScopedName(yypvt[-0].idval, NULL),
FE_Declarator::FD_simple, NULL);
} break;
-case 138:
-# line 1032 "idl.yy"
+case 139:
+# line 1056 "idl.yy"
{
yyval.deval = new FE_Declarator(new UTL_ScopedName(yypvt[-0].dcval->local_name(), NULL),
FE_Declarator::FD_complex,
yypvt[-0].dcval);
} break;
-case 141:
-# line 1046 "idl.yy"
+case 142:
+# line 1070 "idl.yy"
{
yyval.etval = AST_Expression::EV_long;
} break;
-case 142:
-# line 1050 "idl.yy"
+case 143:
+# line 1074 "idl.yy"
{
yyval.etval = AST_Expression::EV_longlong;
} break;
-case 143:
-# line 1054 "idl.yy"
+case 144:
+# line 1078 "idl.yy"
{
yyval.etval = AST_Expression::EV_short;
} break;
-case 144:
-# line 1061 "idl.yy"
+case 145:
+# line 1085 "idl.yy"
{
yyval.etval = AST_Expression::EV_ulong;
} break;
-case 145:
-# line 1065 "idl.yy"
+case 146:
+# line 1089 "idl.yy"
{
yyval.etval = AST_Expression::EV_ulonglong;
} break;
-case 146:
-# line 1069 "idl.yy"
+case 147:
+# line 1093 "idl.yy"
{
yyval.etval = AST_Expression::EV_ushort;
} break;
-case 147:
-# line 1076 "idl.yy"
+case 148:
+# line 1100 "idl.yy"
{
yyval.etval = AST_Expression::EV_double;
} break;
-case 148:
-# line 1080 "idl.yy"
+case 149:
+# line 1104 "idl.yy"
{
yyval.etval = AST_Expression::EV_float;
} break;
-case 149:
-# line 1084 "idl.yy"
+case 150:
+# line 1108 "idl.yy"
{
yyval.etval = AST_Expression::EV_longdouble;
} break;
-case 150:
-# line 1091 "idl.yy"
+case 151:
+# line 1115 "idl.yy"
{
yyval.etval = AST_Expression::EV_char;
} break;
-case 151:
-# line 1095 "idl.yy"
+case 152:
+# line 1119 "idl.yy"
{
yyval.etval = AST_Expression::EV_wchar;
} break;
-case 152:
-# line 1102 "idl.yy"
+case 153:
+# line 1126 "idl.yy"
{
yyval.etval = AST_Expression::EV_octet;
} break;
-case 153:
-# line 1109 "idl.yy"
+case 154:
+# line 1133 "idl.yy"
{
yyval.etval = AST_Expression::EV_bool;
} break;
-case 154:
-# line 1116 "idl.yy"
+case 155:
+# line 1140 "idl.yy"
{
yyval.etval = AST_Expression::EV_any;
} break;
-case 155:
-# line 1123 "idl.yy"
+case 156:
+# line 1147 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StructSeen);
} break;
-case 156:
-# line 1127 "idl.yy"
+case 157:
+# line 1151 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-0].idval, NULL);
@@ -2209,18 +2231,18 @@ case 156:
*/
idl_global->scopes()->push(d);
} break;
-case 157:
-# line 1151 "idl.yy"
+case 158:
+# line 1175 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StructSqSeen);
} break;
-case 158:
-# line 1155 "idl.yy"
+case 159:
+# line 1179 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StructBodySeen);
} break;
-case 159:
-# line 1159 "idl.yy"
+case 160:
+# line 1183 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StructQsSeen);
/*
@@ -2235,18 +2257,18 @@ case 159:
idl_global->scopes()->pop();
}
} break;
-case 163:
-# line 1184 "idl.yy"
+case 164:
+# line 1208 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_MemberTypeSeen);
} break;
-case 164:
-# line 1188 "idl.yy"
+case 165:
+# line 1212 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_MemberDeclsSeen);
} break;
-case 165:
-# line 1192 "idl.yy"
+case 166:
+# line 1216 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_DecllistActiveIterator *l = NULL;
@@ -2279,44 +2301,44 @@ case 165:
delete l;
}
} break;
-case 166:
-# line 1225 "idl.yy"
+case 167:
+# line 1249 "idl.yy"
{
idl_global->err()->syntax_error(idl_global->parse_state());
} break;
-case 167:
-# line 1229 "idl.yy"
+case 168:
+# line 1253 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
yyerrok;
} break;
-case 168:
-# line 1237 "idl.yy"
+case 169:
+# line 1261 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionSeen);
} break;
-case 169:
-# line 1241 "idl.yy"
+case 170:
+# line 1265 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionIDSeen);
} break;
-case 170:
-# line 1245 "idl.yy"
+case 171:
+# line 1269 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SwitchSeen);
} break;
-case 171:
-# line 1249 "idl.yy"
+case 172:
+# line 1273 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SwitchOpenParSeen);
} break;
-case 172:
-# line 1253 "idl.yy"
+case 173:
+# line 1277 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SwitchTypeSeen);
} break;
-case 173:
-# line 1257 "idl.yy"
+case 174:
+# line 1281 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-8].idval, NULL);
@@ -2345,18 +2367,18 @@ case 173:
*/
idl_global->scopes()->push(u);
} break;
-case 174:
-# line 1286 "idl.yy"
+case 175:
+# line 1310 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionSqSeen);
} break;
-case 175:
-# line 1290 "idl.yy"
+case 176:
+# line 1314 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionBodySeen);
} break;
-case 176:
-# line 1294 "idl.yy"
+case 177:
+# line 1318 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionQsSeen);
/*
@@ -2371,28 +2393,28 @@ case 176:
idl_global->scopes()->pop();
}
} break;
-case 177:
-# line 1312 "idl.yy"
-{
- yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
- } break;
case 178:
-# line 1316 "idl.yy"
+# line 1336 "idl.yy"
{
yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
} break;
case 179:
-# line 1320 "idl.yy"
+# line 1340 "idl.yy"
{
yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
} break;
case 180:
-# line 1324 "idl.yy"
+# line 1344 "idl.yy"
+{
+ yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
+ } break;
+case 181:
+# line 1348 "idl.yy"
{
yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
} break;
-case 182:
-# line 1329 "idl.yy"
+case 183:
+# line 1353 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Decl *d = NULL;
@@ -2452,18 +2474,18 @@ case 182:
if (yyval.dcval == NULL)
idl_global->err()->lookup_error(yypvt[-0].idlist);
} break;
-case 186:
-# line 1399 "idl.yy"
+case 187:
+# line 1423 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionLabelSeen);
} break;
-case 187:
-# line 1403 "idl.yy"
+case 188:
+# line 1427 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionElemSeen);
} break;
-case 188:
-# line 1407 "idl.yy"
+case 189:
+# line 1431 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_LabellistActiveIterator *l = NULL;
@@ -2491,24 +2513,24 @@ case 188:
delete l;
}
} break;
-case 189:
-# line 1435 "idl.yy"
+case 190:
+# line 1459 "idl.yy"
{
idl_global->err()->syntax_error(idl_global->parse_state());
} break;
-case 190:
-# line 1439 "idl.yy"
+case 191:
+# line 1464 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
yyerrok;
} break;
-case 191:
-# line 1447 "idl.yy"
+case 192:
+# line 1472 "idl.yy"
{
yyval.llval = new UTL_LabelList(yypvt[-1].ulval, yypvt[-0].llval);
} break;
-case 192:
-# line 1454 "idl.yy"
+case 193:
+# line 1479 "idl.yy"
{
if (yypvt[-1].llval == NULL)
yyval.llval = new UTL_LabelList(yypvt[-0].ulval, NULL);
@@ -2517,18 +2539,18 @@ case 192:
yyval.llval = yypvt[-1].llval;
}
} break;
-case 193:
-# line 1463 "idl.yy"
+case 194:
+# line 1488 "idl.yy"
{
yyval.llval = NULL;
} break;
-case 194:
-# line 1470 "idl.yy"
+case 195:
+# line 1495 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DefaultSeen);
} break;
-case 195:
-# line 1474 "idl.yy"
+case 196:
+# line 1499 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_LabelColonSeen);
@@ -2536,31 +2558,31 @@ case 195:
create_union_label(AST_UnionLabel::UL_default,
NULL);
} break;
-case 196:
-# line 1482 "idl.yy"
+case 197:
+# line 1507 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_CaseSeen);
} break;
-case 197:
-# line 1486 "idl.yy"
+case 198:
+# line 1511 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_LabelExprSeen);
} break;
-case 198:
-# line 1490 "idl.yy"
+case 199:
+# line 1515 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_LabelColonSeen);
yyval.ulval = idl_global->gen()->create_union_label(AST_UnionLabel::UL_label,
yypvt[-2].exval);
} break;
-case 199:
-# line 1500 "idl.yy"
+case 200:
+# line 1525 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionElemTypeSeen);
} break;
-case 200:
-# line 1504 "idl.yy"
+case 201:
+# line 1529 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_UnionElemDeclSeen);
/*
@@ -2583,13 +2605,13 @@ case 200:
idl_global->pragmas());
}
} break;
-case 201:
-# line 1530 "idl.yy"
+case 202:
+# line 1555 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_EnumSeen);
} break;
-case 202:
-# line 1534 "idl.yy"
+case 203:
+# line 1559 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-0].idval, NULL);
@@ -2616,18 +2638,18 @@ case 202:
*/
idl_global->scopes()->push(e);
} break;
-case 203:
-# line 1561 "idl.yy"
+case 204:
+# line 1586 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_EnumSqSeen);
} break;
-case 204:
-# line 1565 "idl.yy"
+case 205:
+# line 1590 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_EnumBodySeen);
} break;
-case 205:
-# line 1569 "idl.yy"
+case 206:
+# line 1594 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_EnumQsSeen);
/*
@@ -2640,13 +2662,13 @@ case 205:
idl_global->scopes()->pop();
}
} break;
-case 207:
-# line 1588 "idl.yy"
+case 208:
+# line 1613 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_EnumCommaSeen);
} break;
-case 210:
-# line 1597 "idl.yy"
+case 211:
+# line 1622 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n =
@@ -2666,18 +2688,18 @@ case 210:
(void) s->fe_add_enum_val(e);
}
} break;
-case 211:
-# line 1621 "idl.yy"
+case 212:
+# line 1646 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceCommaSeen);
} break;
-case 212:
-# line 1625 "idl.yy"
+case 213:
+# line 1650 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceExprSeen);
} break;
-case 213:
-# line 1629 "idl.yy"
+case 214:
+# line 1654 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceQsSeen);
/*
@@ -2707,8 +2729,8 @@ case 213:
}
}
} break;
-case 214:
-# line 1660 "idl.yy"
+case 215:
+# line 1685 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceQsSeen);
/*
@@ -2738,8 +2760,8 @@ case 214:
}
}
} break;
-case 215:
-# line 1693 "idl.yy"
+case 216:
+# line 1718 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceSeen);
/*
@@ -2747,29 +2769,29 @@ case 215:
*/
idl_global->scopes()->push(NULL);
} break;
-case 216:
-# line 1701 "idl.yy"
+case 217:
+# line 1726 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceSqSeen);
} break;
-case 217:
-# line 1705 "idl.yy"
+case 218:
+# line 1730 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_SequenceTypeSeen);
yyval.dcval = yypvt[-0].dcval;
} break;
-case 218:
-# line 1714 "idl.yy"
+case 219:
+# line 1739 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringSqSeen);
} break;
-case 219:
-# line 1718 "idl.yy"
+case 220:
+# line 1743 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringExprSeen);
} break;
-case 220:
-# line 1722 "idl.yy"
+case 221:
+# line 1747 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringQsSeen);
/*
@@ -2787,8 +2809,8 @@ case 220:
->fe_add_string(AST_String::narrow_from_decl(yyval.dcval));
}
} break;
-case 221:
-# line 1740 "idl.yy"
+case 222:
+# line 1765 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringCompleted);
/*
@@ -2803,23 +2825,23 @@ case 221:
(void) idl_global->root()
->fe_add_string(AST_String::narrow_from_decl(yyval.dcval));
} break;
-case 222:
-# line 1758 "idl.yy"
+case 223:
+# line 1783 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringSeen);
} break;
-case 223:
-# line 1766 "idl.yy"
+case 224:
+# line 1791 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringSqSeen);
} break;
-case 224:
-# line 1770 "idl.yy"
+case 225:
+# line 1795 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringExprSeen);
} break;
-case 225:
-# line 1774 "idl.yy"
+case 226:
+# line 1799 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringQsSeen);
/*
@@ -2837,8 +2859,8 @@ case 225:
->fe_add_string(AST_String::narrow_from_decl(yyval.dcval));
}
} break;
-case 226:
-# line 1792 "idl.yy"
+case 227:
+# line 1817 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringCompleted);
/*
@@ -2853,18 +2875,18 @@ case 226:
(void) idl_global->root()
->fe_add_string(AST_String::narrow_from_decl(yyval.dcval));
} break;
-case 227:
-# line 1810 "idl.yy"
+case 228:
+# line 1835 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_StringSeen);
} break;
-case 228:
-# line 1817 "idl.yy"
+case 229:
+# line 1842 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ArrayIDSeen);
} break;
-case 229:
-# line 1821 "idl.yy"
+case 230:
+# line 1846 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ArrayCompleted);
/*
@@ -2875,13 +2897,13 @@ case 229:
yypvt[-0].elval->length(), yypvt[-0].elval);
}
} break;
-case 230:
-# line 1835 "idl.yy"
+case 231:
+# line 1860 "idl.yy"
{
yyval.elval = new UTL_ExprList(yypvt[-1].exval, yypvt[-0].elval);
} break;
-case 231:
-# line 1842 "idl.yy"
+case 232:
+# line 1867 "idl.yy"
{
if (yypvt[-1].elval == NULL)
yyval.elval = new UTL_ExprList(yypvt[-0].exval, NULL);
@@ -2890,23 +2912,23 @@ case 231:
yyval.elval = yypvt[-1].elval;
}
} break;
-case 232:
-# line 1851 "idl.yy"
+case 233:
+# line 1876 "idl.yy"
{
yyval.elval = NULL;
} break;
-case 233:
-# line 1858 "idl.yy"
+case 234:
+# line 1883 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DimSqSeen);
} break;
-case 234:
-# line 1862 "idl.yy"
+case 235:
+# line 1887 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DimExprSeen);
} break;
-case 235:
-# line 1866 "idl.yy"
+case 236:
+# line 1891 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_DimQsSeen);
/*
@@ -2919,18 +2941,18 @@ case 235:
} else
yyval.exval = yypvt[-2].exval;
} break;
-case 236:
-# line 1883 "idl.yy"
+case 237:
+# line 1908 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_AttrSeen);
} break;
-case 237:
-# line 1887 "idl.yy"
+case 238:
+# line 1912 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_AttrTypeSeen);
} break;
-case 238:
-# line 1891 "idl.yy"
+case 239:
+# line 1916 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_DecllistActiveIterator *l = NULL;
@@ -2961,24 +2983,24 @@ case 238:
delete l;
}
} break;
-case 239:
-# line 1925 "idl.yy"
+case 240:
+# line 1950 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_AttrROSeen);
yyval.bval = I_TRUE;
} break;
-case 240:
-# line 1930 "idl.yy"
+case 241:
+# line 1955 "idl.yy"
{
yyval.bval = I_FALSE;
} break;
-case 241:
-# line 1937 "idl.yy"
+case 242:
+# line 1962 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptSeen);
} break;
-case 242:
-# line 1941 "idl.yy"
+case 243:
+# line 1966 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n = new UTL_ScopedName(yypvt[-0].idval, NULL);
@@ -3002,18 +3024,18 @@ case 242:
*/
idl_global->scopes()->push(e);
} break;
-case 243:
-# line 1965 "idl.yy"
+case 244:
+# line 1990 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptSqSeen);
} break;
-case 244:
-# line 1969 "idl.yy"
+case 245:
+# line 1994 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptBodySeen);
} break;
-case 245:
-# line 1973 "idl.yy"
+case 246:
+# line 1998 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_ExceptQsSeen);
/*
@@ -3021,13 +3043,13 @@ case 245:
*/
idl_global->scopes()->pop();
} break;
-case 246:
-# line 1985 "idl.yy"
+case 247:
+# line 2010 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpTypeSeen);
} break;
-case 247:
-# line 1989 "idl.yy"
+case 248:
+# line 2014 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
UTL_ScopedName *n =
@@ -3056,18 +3078,18 @@ case 247:
*/
idl_global->scopes()->push(o);
} break;
-case 248:
-# line 2018 "idl.yy"
+case 249:
+# line 2043 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpParsCompleted);
} break;
-case 249:
-# line 2022 "idl.yy"
+case 250:
+# line 2047 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpRaiseCompleted);
} break;
-case 250:
-# line 2026 "idl.yy"
+case 251:
+# line 2051 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Operation *o = NULL;
@@ -3089,67 +3111,67 @@ case 250:
*/
idl_global->scopes()->pop();
} break;
-case 251:
-# line 2051 "idl.yy"
+case 252:
+# line 2076 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpAttrSeen);
yyval.ofval = AST_Operation::OP_oneway;
} break;
-case 252:
-# line 2056 "idl.yy"
+case 253:
+# line 2081 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpAttrSeen);
yyval.ofval = AST_Operation::OP_idempotent;
} break;
-case 253:
-# line 2061 "idl.yy"
+case 254:
+# line 2086 "idl.yy"
{
yyval.ofval = AST_Operation::OP_noflags;
} break;
-case 255:
-# line 2069 "idl.yy"
+case 256:
+# line 2094 "idl.yy"
{
yyval.dcval =
idl_global->scopes()->bottom()
->lookup_primitive_type(AST_Expression::EV_void);
} break;
-case 256:
-# line 2078 "idl.yy"
+case 257:
+# line 2103 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpSqSeen);
} break;
-case 257:
-# line 2082 "idl.yy"
+case 258:
+# line 2107 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpQsSeen);
} break;
-case 258:
-# line 2086 "idl.yy"
+case 259:
+# line 2111 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpSqSeen);
} break;
-case 259:
-# line 2091 "idl.yy"
+case 260:
+# line 2116 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpQsSeen);
} break;
-case 261:
-# line 2101 "idl.yy"
+case 262:
+# line 2126 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpParCommaSeen);
} break;
-case 264:
-# line 2110 "idl.yy"
+case 265:
+# line 2135 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpParDirSeen);
} break;
-case 265:
-# line 2114 "idl.yy"
+case 266:
+# line 2139 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpParTypeSeen);
} break;
-case 266:
-# line 2118 "idl.yy"
+case 267:
+# line 2143 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Argument *a = NULL;
@@ -3168,13 +3190,13 @@ case 266:
}
}
} break;
-case 267:
-# line 2140 "idl.yy"
+case 268:
+# line 2165 "idl.yy"
{
yyval.dcval = idl_global->scopes()->bottom()->lookup_primitive_type(yypvt[-0].etval);
} break;
-case 269:
-# line 2145 "idl.yy"
+case 270:
+# line 2170 "idl.yy"
{
UTL_Scope *s = idl_global->scopes()->top_non_null();
AST_Decl *d = NULL;
@@ -3185,75 +3207,75 @@ case 269:
idl_global->err()->lookup_error(yypvt[-0].idlist);
yyval.dcval = d;
} break;
-case 270:
-# line 2159 "idl.yy"
+case 271:
+# line 2184 "idl.yy"
{
yyval.dival = AST_Argument::dir_IN;
} break;
-case 271:
-# line 2163 "idl.yy"
+case 272:
+# line 2188 "idl.yy"
{
yyval.dival = AST_Argument::dir_OUT;
} break;
-case 272:
-# line 2167 "idl.yy"
+case 273:
+# line 2192 "idl.yy"
{
yyval.dival = AST_Argument::dir_INOUT;
} break;
-case 273:
-# line 2174 "idl.yy"
+case 274:
+# line 2199 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpRaiseSeen);
} break;
-case 274:
-# line 2178 "idl.yy"
+case 275:
+# line 2203 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpRaiseSqSeen);
} break;
-case 275:
-# line 2183 "idl.yy"
+case 276:
+# line 2208 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpRaiseQsSeen);
yyval.nlval = yypvt[-1].nlval;
} break;
-case 276:
-# line 2188 "idl.yy"
+case 277:
+# line 2213 "idl.yy"
{
yyval.nlval = NULL;
} break;
-case 277:
-# line 2195 "idl.yy"
+case 278:
+# line 2220 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpContextSeen);
} break;
-case 278:
-# line 2199 "idl.yy"
+case 279:
+# line 2224 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpContextSqSeen);
} break;
-case 279:
-# line 2204 "idl.yy"
+case 280:
+# line 2229 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpContextQsSeen);
yyval.slval = yypvt[-1].slval;
} break;
-case 280:
-# line 2209 "idl.yy"
+case 281:
+# line 2234 "idl.yy"
{
yyval.slval = NULL;
} break;
-case 281:
-# line 2216 "idl.yy"
+case 282:
+# line 2241 "idl.yy"
{
yyval.slval = new UTL_StrList(yypvt[-1].sval, yypvt[-0].slval);
} break;
-case 282:
-# line 2224 "idl.yy"
+case 283:
+# line 2249 "idl.yy"
{
idl_global->set_parse_state(IDL_GlobalData::PS_OpContextCommaSeen);
} break;
-case 283:
-# line 2228 "idl.yy"
+case 284:
+# line 2253 "idl.yy"
{
if (yypvt[-3].slval == NULL)
yyval.slval = new UTL_StrList(yypvt[-0].sval, NULL);
@@ -3262,8 +3284,8 @@ case 283:
yyval.slval = yypvt[-3].slval;
}
} break;
-case 284:
-# line 2237 "idl.yy"
+case 285:
+# line 2262 "idl.yy"
{
yyval.slval = NULL;
} break;
@@ -3271,4 +3293,3 @@ case 284:
}
goto yystack; /* reset registers in driver code */
}
-