summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/fe/y.tab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/fe/y.tab.cpp')
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp2546
1 files changed, 1637 insertions, 909 deletions
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index ce77354aec5..f953c3e2ccf 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -20,6 +20,9 @@ char tao_yysccsid[] = "@(#)yaccpar 1.4 (Berkeley) 02/25/90 \n\
#include "ast_module.h"
#include "ast_valuetype.h"
#include "ast_valuetype_fwd.h"
+#include "ast_component.h"
+#include "ast_component_fwd.h"
+#include "ast_home.h"
#include "utl_string.h"
#include "ast_constant.h"
#include "fe_declarator.h"
@@ -57,7 +60,9 @@ typedef union {
UTL_LabelList *llval; /* Label list */
UTL_DeclList *dlval; /* Declaration list */
FE_InterfaceHeader *ihval; /* Interface header */
- FE_obv_header *vhval; /* Valuetype header */
+ FE_OBVHeader *vhval; /* Valuetype header */
+ FE_ComponentHeader *chval; /* Component header */
+ FE_HomeHeader *hhval; /* Home header */
AST_Expression *exval; /* Expression value */
AST_UnionLabel *ulval; /* Union label */
AST_Field *ffval; /* Field value */
@@ -157,49 +162,52 @@ typedef union {
#define IDL_WSTRING_LITERAL 332
#define TAO_YYERRCODE 256
short tao_yylhs[] = { -1,
- 0, 75, 75, 77, 76, 79, 76, 81, 76, 83,
- 76, 85, 76, 87, 76, 89, 76, 91, 76, 93,
- 76, 95, 76, 97, 76, 98, 76, 99, 100, 101,
- 102, 88, 86, 86, 105, 107, 108, 103, 109, 69,
- 33, 33, 33, 110, 22, 22, 90, 90, 90, 90,
- 111, 111, 116, 118, 119, 115, 120, 121, 122, 112,
- 34, 123, 70, 68, 68, 24, 24, 113, 113, 114,
- 117, 117, 124, 124, 124, 129, 125, 130, 125, 106,
- 106, 131, 126, 132, 126, 133, 126, 134, 126, 135,
- 126, 137, 126, 139, 126, 140, 126, 20, 141, 21,
- 21, 16, 142, 16, 143, 16, 73, 104, 104, 104,
- 144, 145, 146, 147, 82, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 35, 36, 37, 37, 38, 38,
- 39, 39, 40, 40, 40, 41, 41, 41, 42, 42,
- 42, 42, 43, 43, 43, 43, 44, 44, 44, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 46, 149,
- 74, 74, 74, 74, 74, 74, 151, 148, 1, 1,
- 2, 2, 2, 59, 59, 59, 59, 59, 59, 59,
- 59, 4, 4, 4, 3, 3, 3, 150, 150, 29,
- 154, 30, 30, 64, 64, 31, 155, 32, 32, 65,
- 66, 51, 51, 57, 57, 57, 58, 58, 58, 54,
- 54, 54, 55, 52, 52, 60, 53, 56, 61, 156,
- 72, 157, 159, 160, 7, 158, 162, 162, 163, 161,
- 164, 165, 128, 166, 128, 167, 71, 168, 169, 170,
- 171, 173, 174, 10, 9, 9, 9, 9, 9, 9,
- 172, 176, 176, 177, 178, 175, 179, 175, 27, 28,
- 28, 180, 48, 181, 182, 48, 183, 49, 152, 153,
- 184, 185, 187, 188, 8, 186, 191, 190, 190, 189,
- 192, 193, 5, 5, 194, 195, 13, 197, 198, 6,
- 6, 196, 200, 201, 14, 14, 199, 202, 11, 25,
- 26, 26, 203, 204, 47, 205, 206, 136, 67, 67,
- 207, 208, 209, 210, 84, 211, 213, 214, 215, 138,
- 63, 63, 63, 12, 12, 216, 218, 127, 219, 217,
- 221, 217, 220, 224, 223, 223, 225, 226, 222, 227,
- 212, 229, 212, 228, 232, 231, 231, 233, 234, 230,
- 15, 15, 15, 15, 62, 62, 62, 235, 236, 23,
- 23, 237, 238, 17, 17, 18, 239, 19, 19, 78,
- 80, 92, 92, 241, 240, 242, 244, 244, 243, 243,
- 245, 245, 245, 245, 245, 245, 246, 251, 251, 247,
- 252, 252, 248, 249, 250, 94, 253, 255, 255, 256,
- 256, 254, 257, 257, 258, 258, 258, 259, 260, 96,
- 96, 96, 263, 263, 265, 264, 262, 266, 268, 269,
- 267, 261, 270, 270,
+ 0, 82, 82, 84, 83, 86, 83, 88, 83, 90,
+ 83, 92, 83, 94, 83, 96, 83, 98, 83, 100,
+ 83, 102, 83, 104, 83, 105, 83, 106, 107, 108,
+ 109, 95, 93, 93, 112, 114, 115, 110, 116, 76,
+ 37, 37, 37, 117, 26, 26, 97, 97, 97, 97,
+ 118, 118, 123, 125, 126, 122, 127, 128, 129, 119,
+ 130, 38, 131, 77, 74, 74, 28, 28, 120, 120,
+ 121, 124, 124, 132, 132, 132, 137, 133, 138, 133,
+ 113, 113, 139, 134, 140, 134, 141, 134, 142, 134,
+ 143, 134, 145, 134, 147, 134, 148, 134, 24, 149,
+ 25, 25, 16, 150, 16, 151, 16, 80, 111, 111,
+ 111, 152, 153, 154, 155, 89, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 41, 42, 43, 43, 44,
+ 44, 45, 45, 46, 46, 46, 47, 47, 47, 48,
+ 48, 48, 48, 49, 49, 49, 49, 50, 50, 50,
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 52,
+ 157, 81, 81, 81, 81, 81, 81, 159, 156, 1,
+ 1, 2, 2, 2, 65, 65, 65, 65, 65, 65,
+ 65, 65, 4, 4, 4, 3, 3, 3, 158, 158,
+ 33, 162, 34, 34, 70, 70, 35, 163, 36, 36,
+ 71, 72, 57, 57, 63, 63, 63, 64, 64, 64,
+ 60, 60, 60, 61, 58, 58, 66, 59, 62, 67,
+ 164, 79, 165, 167, 168, 7, 166, 170, 170, 171,
+ 169, 172, 173, 136, 174, 136, 175, 78, 176, 177,
+ 178, 179, 181, 182, 10, 9, 9, 9, 9, 9,
+ 9, 180, 184, 184, 185, 186, 183, 187, 183, 31,
+ 32, 32, 188, 54, 189, 190, 54, 191, 55, 160,
+ 161, 192, 193, 195, 196, 8, 194, 199, 198, 198,
+ 197, 200, 201, 5, 5, 202, 203, 13, 205, 206,
+ 6, 6, 204, 208, 209, 14, 14, 207, 210, 11,
+ 29, 30, 30, 211, 212, 53, 213, 214, 144, 73,
+ 73, 215, 216, 217, 218, 91, 219, 221, 222, 223,
+ 146, 69, 69, 69, 12, 12, 224, 226, 135, 227,
+ 225, 229, 225, 228, 232, 230, 230, 233, 234, 231,
+ 235, 220, 237, 220, 236, 240, 239, 239, 241, 242,
+ 238, 15, 15, 15, 15, 68, 68, 68, 243, 244,
+ 27, 27, 245, 246, 21, 21, 22, 247, 23, 23,
+ 85, 87, 99, 99, 249, 250, 252, 253, 248, 254,
+ 255, 39, 256, 18, 18, 251, 251, 259, 257, 261,
+ 257, 263, 257, 265, 257, 267, 257, 268, 257, 258,
+ 17, 17, 260, 75, 75, 262, 264, 266, 270, 101,
+ 271, 272, 273, 274, 275, 276, 40, 277, 19, 19,
+ 20, 20, 279, 280, 269, 278, 278, 281, 283, 281,
+ 285, 281, 286, 287, 282, 288, 289, 284, 103, 103,
+ 103, 292, 292, 294, 293, 291, 295, 297, 298, 296,
+ 290, 299, 299,
};
short tao_yylen[] = { 2,
1, 2, 0, 0, 3, 0, 3, 0, 3, 0,
@@ -208,546 +216,563 @@ short tao_yylen[] = { 2,
0, 9, 1, 1, 0, 0, 0, 7, 0, 3,
2, 3, 3, 0, 3, 0, 1, 1, 1, 1,
2, 1, 0, 0, 0, 7, 0, 0, 0, 8,
- 4, 0, 3, 1, 0, 2, 0, 2, 1, 2,
- 2, 0, 1, 1, 2, 0, 3, 0, 3, 2,
- 0, 0, 3, 0, 3, 0, 3, 0, 3, 0,
- 3, 0, 3, 0, 3, 0, 3, 2, 0, 4,
- 0, 1, 0, 3, 0, 4, 1, 1, 2, 2,
- 0, 0, 0, 0, 9, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 1, 3,
- 1, 3, 1, 3, 3, 1, 3, 3, 1, 3,
- 3, 3, 1, 2, 2, 2, 1, 1, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 3, 1, 1, 1, 2, 1, 0, 3, 1, 1,
+ 0, 5, 0, 3, 1, 0, 2, 0, 2, 1,
+ 2, 2, 0, 1, 1, 2, 0, 3, 0, 3,
+ 2, 0, 0, 3, 0, 3, 0, 3, 0, 3,
+ 0, 3, 0, 3, 0, 3, 0, 3, 2, 0,
+ 4, 0, 1, 0, 3, 0, 4, 1, 1, 2,
+ 2, 0, 0, 0, 0, 9, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
+ 3, 1, 3, 1, 3, 3, 1, 3, 3, 1,
+ 3, 3, 3, 1, 2, 2, 2, 1, 1, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 0, 4, 0, 1, 1, 2, 0, 4, 0, 1,
- 1, 1, 1, 1, 2, 1, 2, 3, 2, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 0,
- 3, 0, 0, 0, 7, 2, 2, 0, 0, 2,
- 0, 0, 5, 0, 3, 0, 3, 0, 0, 0,
- 0, 0, 0, 14, 1, 1, 1, 1, 1, 1,
- 2, 2, 0, 0, 0, 5, 0, 3, 2, 2,
- 0, 0, 3, 0, 0, 5, 0, 3, 1, 1,
- 0, 0, 0, 0, 9, 2, 0, 4, 0, 1,
- 0, 0, 6, 2, 0, 0, 5, 0, 0, 6,
- 1, 1, 0, 0, 6, 1, 1, 0, 3, 2,
- 2, 0, 0, 0, 5, 0, 0, 6, 1, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 10,
- 1, 1, 0, 1, 1, 0, 0, 5, 0, 3,
- 0, 4, 2, 0, 4, 0, 0, 0, 5, 0,
+ 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,
+ 2, 0, 4, 0, 1, 1, 2, 0, 4, 0,
+ 1, 1, 1, 1, 1, 2, 1, 2, 3, 2,
+ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
+ 0, 3, 0, 0, 0, 7, 2, 2, 0, 0,
+ 2, 0, 0, 5, 0, 3, 0, 3, 0, 0,
+ 0, 0, 0, 0, 14, 1, 1, 1, 1, 1,
+ 1, 2, 2, 0, 0, 0, 5, 0, 3, 2,
+ 2, 0, 0, 3, 0, 0, 5, 0, 3, 1,
+ 1, 0, 0, 0, 0, 9, 2, 0, 4, 0,
+ 1, 0, 0, 6, 2, 0, 0, 5, 0, 0,
+ 6, 1, 1, 0, 0, 6, 1, 1, 0, 3,
+ 2, 2, 0, 0, 0, 5, 0, 0, 6, 1,
+ 0, 0, 0, 0, 0, 9, 0, 0, 0, 0,
+ 10, 1, 1, 0, 1, 1, 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, 2, 0, 4, 0, 3,
- 3, 1, 1, 2, 4, 4, 2, 0, 2, 0,
- 2, 2, 2, 2, 2, 2, 3, 1, 1, 4,
- 1, 0, 3, 3, 3, 2, 7, 2, 0, 2,
- 0, 3, 2, 0, 1, 2, 2, 4, 4, 1,
- 1, 1, 1, 1, 2, 3, 5, 3, 3, 2,
- 3, 5, 1, 1,
+ 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, 2, 0, 4, 0,
+ 3, 3, 1, 1, 2, 0, 0, 0, 7, 0,
+ 0, 6, 0, 3, 0, 2, 0, 0, 3, 0,
+ 3, 0, 3, 0, 3, 0, 3, 0, 3, 3,
+ 1, 1, 4, 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, 5, 3, 3, 2, 3,
+ 5, 1, 1,
};
short tao_yydefred[] = { 3,
- 0, 0, 26, 111, 28, 39, 160, 220, 236, 271,
- 311, 0, 0, 0, 0, 62, 0, 0, 0, 0,
- 0, 162, 164, 163, 35, 53, 0, 0, 0, 0,
- 4, 2, 6, 8, 10, 12, 14, 16, 18, 20,
- 22, 24, 33, 34, 47, 48, 49, 50, 52, 166,
- 188, 189, 372, 373, 0, 0, 410, 411, 412, 413,
- 414, 0, 423, 424, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 107, 165, 200, 0, 0, 57,
- 0, 0, 0, 0, 51, 0, 0, 0, 0, 103,
- 0, 102, 0, 0, 0, 44, 41, 0, 206, 0,
- 210, 211, 214, 215, 216, 217, 213, 218, 219, 285,
- 292, 297, 64, 70, 169, 170, 172, 182, 183, 185,
- 187, 186, 0, 184, 0, 174, 176, 177, 175, 179,
- 180, 202, 203, 171, 178, 181, 0, 0, 222, 0,
- 0, 238, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 380, 404, 396, 0, 0, 0,
- 27, 122, 123, 0, 112, 116, 117, 119, 120, 121,
- 118, 29, 40, 167, 161, 221, 237, 272, 312, 42,
- 0, 0, 43, 419, 63, 0, 0, 0, 0, 0,
- 370, 105, 371, 36, 54, 0, 205, 212, 0, 209,
- 0, 281, 284, 0, 288, 293, 0, 223, 5, 7,
+ 0, 0, 26, 112, 28, 39, 161, 221, 237, 272,
+ 312, 0, 0, 0, 0, 63, 0, 0, 411, 0,
+ 0, 163, 165, 164, 35, 53, 376, 409, 0, 0,
+ 0, 0, 4, 2, 6, 8, 10, 12, 14, 16,
+ 18, 20, 22, 24, 33, 34, 47, 48, 49, 50,
+ 52, 167, 189, 190, 373, 374, 439, 440, 441, 442,
+ 443, 0, 452, 453, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 108, 166, 201, 0, 0, 57,
+ 0, 0, 0, 0, 51, 0, 0, 0, 0, 104,
+ 0, 103, 0, 0, 0, 0, 0, 44, 41, 0,
+ 207, 0, 211, 212, 215, 216, 217, 218, 214, 219,
+ 220, 286, 293, 298, 65, 71, 170, 171, 173, 183,
+ 184, 186, 188, 187, 0, 185, 0, 175, 177, 178,
+ 176, 180, 181, 203, 204, 172, 179, 182, 0, 0,
+ 223, 0, 0, 239, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
+ 123, 124, 0, 113, 117, 118, 120, 121, 122, 119,
+ 29, 40, 168, 162, 222, 238, 273, 313, 42, 0,
+ 0, 43, 448, 64, 0, 412, 0, 371, 106, 372,
+ 36, 54, 377, 423, 410, 0, 206, 213, 0, 210,
+ 0, 282, 285, 61, 289, 294, 0, 224, 5, 7,
9, 11, 13, 15, 17, 19, 21, 23, 25, 0,
- 0, 0, 81, 72, 0, 0, 0, 0, 0, 58,
- 0, 0, 376, 0, 0, 104, 0, 81, 72, 0,
- 45, 208, 286, 0, 61, 0, 0, 239, 229, 309,
- 0, 0, 0, 0, 0, 375, 0, 0, 379, 0,
- 0, 0, 0, 0, 96, 321, 322, 0, 0, 402,
- 0, 82, 84, 86, 88, 90, 405, 92, 94, 403,
- 0, 0, 421, 0, 0, 113, 30, 201, 168, 193,
- 194, 195, 0, 273, 313, 81, 66, 0, 106, 0,
- 0, 0, 0, 150, 151, 152, 154, 156, 157, 158,
- 155, 153, 0, 0, 0, 0, 0, 159, 0, 0,
- 0, 0, 0, 0, 139, 143, 148, 282, 289, 294,
- 0, 224, 228, 0, 0, 0, 389, 0, 0, 0,
- 391, 0, 306, 386, 381, 382, 383, 384, 385, 0,
- 0, 0, 325, 352, 316, 353, 324, 0, 351, 0,
- 0, 0, 0, 0, 0, 0, 406, 407, 417, 80,
- 326, 78, 76, 422, 71, 73, 74, 0, 0, 3,
- 0, 0, 0, 228, 0, 0, 0, 0, 99, 287,
- 144, 145, 146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 249, 240,
- 0, 245, 246, 248, 247, 0, 0, 234, 231, 230,
- 395, 393, 387, 394, 0, 0, 97, 0, 0, 0,
- 0, 83, 85, 87, 89, 91, 93, 95, 0, 0,
- 0, 75, 114, 0, 191, 303, 299, 302, 280, 274,
- 279, 0, 0, 0, 397, 38, 56, 0, 149, 0,
- 0, 0, 0, 0, 0, 0, 140, 141, 142, 283,
- 290, 295, 0, 225, 227, 0, 0, 390, 307, 0,
- 0, 358, 408, 409, 317, 327, 79, 77, 0, 0,
- 0, 0, 0, 0, 0, 0, 60, 0, 0, 241,
- 235, 232, 0, 330, 337, 0, 336, 0, 0, 0,
- 115, 125, 32, 192, 304, 301, 275, 277, 315, 0,
- 0, 308, 199, 0, 332, 0, 359, 0, 318, 328,
- 0, 0, 242, 233, 0, 338, 334, 0, 0, 0,
- 0, 305, 278, 0, 197, 0, 0, 0, 341, 355,
- 356, 357, 348, 0, 347, 319, 257, 264, 262, 254,
- 261, 243, 253, 0, 339, 335, 360, 0, 343, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 198, 349,
- 345, 362, 320, 258, 265, 263, 267, 255, 260, 244,
- 252, 0, 0, 0, 0, 0, 0, 350, 346, 363,
- 266, 268, 256, 0, 369, 0, 0, 364, 367, 0,
- 368,
+ 82, 73, 0, 0, 0, 0, 0, 58, 383, 381,
+ 0, 105, 0, 82, 73, 387, 427, 0, 45, 209,
+ 287, 0, 0, 0, 0, 240, 230, 0, 450, 0,
+ 0, 114, 30, 202, 169, 194, 195, 196, 0, 274,
+ 314, 82, 0, 0, 418, 413, 107, 0, 0, 0,
+ 0, 0, 0, 151, 152, 153, 155, 157, 158, 159,
+ 156, 154, 0, 0, 0, 0, 0, 160, 0, 0,
+ 0, 0, 0, 0, 140, 144, 149, 283, 62, 290,
+ 295, 0, 225, 229, 0, 67, 97, 310, 322, 323,
+ 446, 0, 0, 83, 85, 87, 89, 91, 81, 93,
+ 95, 327, 79, 77, 451, 72, 74, 75, 0, 0,
+ 3, 0, 0, 0, 229, 0, 0, 382, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 398, 0, 386,
+ 388, 390, 392, 394, 396, 0, 0, 428, 0, 426,
+ 429, 431, 100, 288, 145, 146, 147, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 250, 241, 0, 246, 247, 249, 248, 0,
+ 0, 235, 232, 231, 0, 326, 353, 317, 354, 325,
+ 0, 352, 307, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 76, 115, 0, 192, 304, 300, 303,
+ 281, 275, 280, 0, 0, 0, 414, 38, 56, 0,
+ 0, 402, 0, 0, 0, 404, 0, 0, 379, 0,
+ 0, 0, 0, 0, 433, 436, 425, 0, 0, 0,
+ 150, 0, 0, 0, 0, 0, 0, 0, 141, 142,
+ 143, 284, 291, 296, 0, 226, 228, 0, 0, 98,
+ 0, 0, 84, 86, 88, 90, 92, 94, 96, 328,
+ 80, 78, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 408, 406, 400, 407, 0, 399, 389, 391,
+ 393, 395, 397, 0, 0, 430, 432, 0, 242, 236,
+ 233, 318, 308, 0, 116, 126, 32, 193, 305, 302,
+ 276, 278, 316, 415, 403, 0, 434, 437, 0, 0,
+ 0, 0, 329, 0, 0, 0, 0, 337, 0, 0,
+ 243, 234, 0, 319, 309, 200, 306, 279, 0, 331,
+ 0, 0, 359, 435, 438, 0, 0, 0, 0, 0,
+ 0, 333, 338, 335, 334, 0, 258, 265, 263, 255,
+ 262, 244, 254, 342, 356, 357, 358, 349, 0, 348,
+ 320, 198, 0, 417, 0, 0, 360, 0, 0, 0,
+ 0, 0, 0, 0, 0, 344, 0, 0, 0, 0,
+ 339, 336, 0, 259, 266, 264, 268, 256, 261, 245,
+ 253, 350, 346, 363, 321, 199, 0, 0, 0, 0,
+ 0, 0, 0, 0, 340, 361, 267, 269, 257, 351,
+ 347, 364, 0, 370, 0, 0, 365, 368, 0, 369,
};
short tao_yydgoto[] = { 1,
- 419, 115, 116, 117, 118, 119, 22, 23, 410, 24,
- 288, 355, 123, 124, 357, 317, 583, 606, 607, 241,
- 302, 97, 483, 233, 447, 493, 560, 576, 289, 381,
- 522, 535, 25, 26, 511, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, 328, 448, 561, 588, 165,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 553, 271, 290, 291, 292, 257, 137, 27, 28,
- 29, 30, 92, 272, 2, 32, 144, 273, 145, 274,
- 146, 275, 147, 276, 148, 37, 149, 38, 150, 39,
- 151, 40, 152, 41, 153, 42, 154, 66, 68, 226,
- 380, 490, 43, 44, 94, 284, 238, 387, 69, 196,
- 45, 46, 47, 48, 49, 95, 285, 239, 388, 182,
- 296, 453, 86, 375, 376, 370, 378, 420, 441, 440,
- 360, 361, 362, 363, 364, 278, 365, 279, 366, 350,
- 458, 190, 237, 67, 225, 379, 489, 175, 70, 50,
- 227, 51, 52, 491, 564, 71, 143, 332, 249, 416,
- 475, 417, 334, 477, 521, 476, 72, 207, 331, 473,
- 520, 562, 544, 577, 563, 578, 575, 597, 572, 574,
- 573, 595, 596, 73, 228, 450, 383, 494, 451, 495,
- 532, 244, 405, 201, 303, 140, 246, 406, 141, 247,
- 407, 382, 492, 531, 426, 503, 74, 229, 384, 496,
- 431, 529, 509, 541, 571, 439, 429, 510, 480, 506,
- 481, 507, 526, 547, 524, 546, 539, 554, 540, 555,
- 570, 593, 568, 592, 508, 538, 594, 604, 610, 53,
- 54, 55, 220, 187, 259, 260, 261, 262, 263, 264,
- 339, 342, 56, 157, 189, 455, 221, 280, 281, 282,
- 57, 58, 59, 60, 61, 62, 159, 63, 64, 65,
+ 393, 117, 118, 119, 120, 121, 22, 23, 384, 24,
+ 254, 398, 125, 126, 400, 287, 434, 230, 266, 584,
+ 615, 635, 636, 239, 272, 99, 554, 249, 419, 487,
+ 570, 592, 255, 332, 545, 560, 25, 26, 27, 28,
+ 515, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 420, 571, 608, 164, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 578, 312, 256,
+ 257, 258, 313, 139, 437, 29, 30, 31, 32, 92,
+ 314, 2, 34, 146, 315, 147, 316, 148, 317, 149,
+ 318, 150, 39, 151, 40, 152, 41, 153, 42, 154,
+ 43, 155, 44, 156, 66, 68, 224, 331, 484, 45,
+ 46, 94, 250, 234, 341, 69, 196, 47, 48, 49,
+ 50, 51, 95, 251, 235, 342, 181, 262, 425, 243,
+ 86, 326, 327, 319, 329, 394, 413, 412, 404, 405,
+ 406, 407, 408, 320, 409, 321, 410, 395, 450, 187,
+ 233, 67, 223, 330, 483, 174, 70, 52, 225, 53,
+ 54, 485, 599, 71, 145, 303, 247, 390, 467, 391,
+ 305, 469, 530, 468, 72, 207, 302, 465, 529, 572,
+ 556, 593, 573, 594, 591, 621, 588, 590, 589, 619,
+ 620, 73, 226, 422, 334, 488, 423, 489, 535, 242,
+ 379, 201, 273, 142, 244, 380, 143, 245, 381, 333,
+ 486, 534, 472, 532, 74, 227, 335, 490, 471, 544,
+ 531, 559, 598, 411, 527, 514, 537, 551, 538, 552,
+ 565, 586, 585, 617, 557, 579, 558, 580, 597, 623,
+ 595, 622, 566, 603, 624, 633, 639, 55, 56, 96,
+ 270, 236, 349, 185, 264, 263, 350, 351, 440, 352,
+ 441, 353, 442, 354, 443, 355, 444, 438, 195, 97,
+ 89, 231, 340, 492, 536, 561, 339, 271, 237, 359,
+ 360, 361, 448, 362, 449, 504, 539, 505, 540, 57,
+ 58, 59, 60, 61, 62, 158, 63, 64, 65,
};
short tao_yysindex[] = { 0,
- 0, 828, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -187, -220, -218, -130, 0, -187, -187, -187, -206,
- -206, 0, 0, 0, 0, 0, 88, 620, -110, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 807, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -216, -194, -159, -123, 0, -216, -216, 0, -217,
+ -217, 0, 0, 0, 0, 0, 0, 0, 92, 602,
+ -172, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 85, 0, 0, 0, 0,
- 0, -119, 0, 0, -119, 188, 811, 6, -187, 662,
- -187, -187, -187, -187, 0, 0, 0, 88, -187, 0,
- 88, -119, -187, -119, 0, -187, 212, 0, 220, 0,
- -68, 0, -61, 160, 170, 0, 0, -157, 0, -31,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -141, 0, 0, -141, 115, 768, -43, -216, 621,
+ -216, -216, -216, -216, 0, 0, 0, 92, -216, 0,
+ 92, -141, -216, -141, 0, -216, 0, 0, -216, 0,
+ -81, 0, -55, 97, 149, 161, 164, 0, 0, -125,
+ 0, -59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 37, 0, -19, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 88, -110, 0, 246,
- 255, 0, 194, 262, 266, 274, 280, 293, 298, 303,
- 313, 329, 337, 347, 0, 0, 0, 88, 284, 285,
- 0, 0, 0, -19, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8, 0, -29, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 92, -172,
+ 0, 255, 260, 0, 201, 272, 277, 280, 295, 300,
+ 302, 333, 340, 343, 345, 348, 92, 241, 291, 0,
+ 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 286, 0, 0, 0, -206, 109, -206, 109, -187,
- 0, 0, 0, 0, 0, -206, 0, 0, 150, 0,
- 358, 0, 0, 109, 0, 0, 387, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 264,
- 485, 109, 0, 0, -187, 296, -187, 307, 308, 0,
- -19, -206, 0, -19, 114, 0, -187, 0, 0, -19,
- 0, 0, 0, 55, 0, 55, 55, 0, 0, 0,
- -206, -206, -132, -206, 123, 0, 148, 381, 0, 384,
- 385, 386, 388, 389, 0, 0, 0, -187, -187, 0,
- 738, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 390, 395, 0, 520, 450, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -206, 0, 913,
- 886, 402, 773, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 23, 23, 23, 55, -19, 0, 336, 367,
- 424, -76, 257, 248, 0, 0, 0, 0, 0, 0,
- 369, 0, 0, 590, -193, -193, 0, -19, -187, -193,
- 0, -132, 0, 0, 0, 0, 0, 0, 0, 405,
- 426, 426, 0, 0, 0, 0, 0, -19, 0, 409,
- 411, 415, 418, 421, 425, 427, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 428, 417, 0,
- 439, 394, 232, 0, 913, -124, 365, 393, 0, 0,
- 0, 0, 0, 464, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 444, 452, 458, 250, 0, 0,
- -19, 0, 0, 0, 0, 396, 0, 0, 0, 0,
- 0, 0, 0, 0, -187, 792, 0, 0, 233, 233,
- 267, 0, 0, 0, 0, 0, 0, 0, 269, 590,
- 590, 0, 0, 828, 0, 0, 0, 0, 0, 0,
- 0, 0, 398, -206, 0, 0, 0, -206, 0, 367,
- 424, -76, 257, 257, 248, 248, 0, 0, 0, 0,
- 0, 0, 486, 0, 0, 469, -187, 0, 0, 488,
- 241, 0, 0, 0, 0, 0, 0, 0, 55, 406,
- -187, 55, 394, 407, 489, 410, 0, -19, -19, 0,
- 0, 0, -187, 0, 0, 496, 0, 499, 500, 426,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 420,
- 482, 0, 0, 792, 0, 498, 0, 0, 0, 0,
- 453, 232, 0, 0, 501, 0, 0, -206, 506, 47,
- 233, 0, 0, 48, 0, -187, 241, 513, 0, 0,
- 0, 0, 0, 515, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -187, 0, 0, 0, 792, 0, 514,
- 268, 503, 55, 505, 662, 60, 440, 48, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -187, 47, 524, 509, -187, 512, 0, 0, 0,
- 0, 0, 0, 245, 0, 531, 530, 0, 0, 253,
- 0,
+ 304, 0, 0, 0, 371, 0, -216, 0, 0, 0,
+ 0, 0, 0, 0, 0, -217, 0, 0, 172, 0,
+ 376, 0, 0, 0, 0, 0, 405, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
+ 0, 0, -216, 324, -216, 327, 330, 0, 0, 0,
+ 396, 0, -216, 0, 0, 0, 0, -29, 0, 0,
+ 0, -18, 148, -18, -18, 0, 0, -217, 0, 545,
+ 510, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -217, 148, 0, 0, 0, 926, 860, 137,
+ 887, 414, 698, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 25, 25, 25, -18, -29, 0, 337, 369,
+ 428, -85, 251, 293, 0, 0, 0, 0, 0, 0,
+ 0, 787, 0, 0, 578, 0, 0, 0, 0, 0,
+ 0, 717, 183, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 412, 408,
+ 0, 430, 381, 219, 0, 926, -29, 0, -217, 148,
+ 352, 353, -217, -217, -185, -217, 167, 0, 355, 0,
+ 0, 0, 0, 0, 0, -216, -216, 0, 356, 0,
+ 0, 0, 0, 0, 0, 0, 0, 441, -18, -18,
+ -18, -18, -18, -18, -18, -18, -18, -18, 421, 422,
+ 424, 227, 0, 0, -29, 0, 0, 0, 0, 365,
+ 0, 0, 0, 0, 433, 0, 0, 0, 0, 0,
+ -29, 0, 0, 436, 437, 459, 465, 467, 468, 470,
+ 273, 578, 578, 0, 0, 807, 0, 0, 0, 0,
+ 0, 0, 0, 0, 406, -29, 0, 0, 0, -193,
+ -193, 0, -29, -216, -193, 0, -185, 473, 0, 474,
+ 475, 477, 478, 480, 0, 0, 0, 481, 482, -217,
+ 0, 369, 428, -85, 251, 251, 293, 293, 0, 0,
+ 0, 0, 0, 0, 503, 0, 0, 486, -216, 0,
+ 289, 744, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -18, 423, -216, -18, 381, 425, 505, 426,
+ 0, 232, 0, 0, 0, 0, -216, 0, 0, 0,
+ 0, 0, 0, 507, 507, 0, 0, -29, 0, 0,
+ 0, 0, 0, 507, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 431, 496,
+ 516, -216, 0, 464, 219, -217, 517, 0, 267, 267,
+ 0, 0, 0, 0, 0, 0, 0, 0, -29, 0,
+ 521, -14, 0, 0, 0, 87, 526, 82, 267, 527,
+ 262, 0, 0, 0, 0, 533, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 536, 0,
+ 0, 0, -217, 0, 744, 290, 0, 523, -18, 525,
+ 621, -25, 460, 87, 744, 0, 546, 296, -216, -29,
+ 0, 0, -217, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -216, 550, 534, -216,
+ 535, -216, 82, 553, 0, 0, 0, 0, 0, 0,
+ 0, 0, 274, 0, 559, 557, 0, 0, 281, 0,
};
short tao_yyrindex[] = { 0,
- 0, 577, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 603, 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, 31, 59,
+ 552, 33, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 78, 62, 526, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 24, 0, 0, 24, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 46, 0, 0,
+ 68, 62, 0, 24, 0, 0, 64, 36, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 0, 21, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
- 121, 84, 0, 21, 0, 0, -22, 33, -262, 0,
- 0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -76, 0,
+ 0, 189, 191, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -76, 0, 0, 0,
+ 0, 0, 374, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
+ 0, 0, 0, 0, -67, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 178, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 509,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 101, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -82, 0, 0, 113,
- 180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -82, 0, 0,
- 0, 0, 0, 344, 0, 0, 0, 0, 0, 0,
+ -175, 0, 0, 0, 0, 0, 0, -20, 0, 0,
+ 0, 0, 509, 0, 0, 0, 0, 0, 0, 671,
+ 671, 0, 0, 0, 0, 0, 0, 0, -13, 0,
+ 0, 0, 0, 509, 0, 0, 0, 388, 417, -86,
+ 455, -4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 38, 0, 208, 119,
+ 502, 317, 130, 48, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 463, 0, 288, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
- 0, 0, 0, 463, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 324,
- 706, 463, 0, 0, 0, 0, 0, 0, 0, 0,
- -75, 0, 0, -245, 0, 0, 0, 0, 0, -13,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -126, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 577, 0, 0, 0, 484, -65, 0, 0, 318,
+ 0, 0, 0, 0, 0, 0, -121, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 706, 706, 0, 0, 0, 0, 0,
- 0, 0, 168, 0, 0, 0, 0, 0, 0, 231,
- 392, -7, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 0, 370, 343,
- 715, 141, 112, 45, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 354, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 377, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 598, 0, 0, 0, 0, 0,
+ 237, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 383, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 518, 0, 0, 0, 0,
+ 0, 0, 0, 350, 0, -163, 0, 0, 0, 0,
+ 0, 0, 384, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 576, 0, 0, 0, 419, 517, 0, 0, 0, 0,
+ 0, 607, 540, 429, 135, 168, 71, 108, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 600, 0, 0,
- 601, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -5, 584, 584,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 519, 0, 0, 0, 0, 0, 0,
- 0, 350, 0, 0, 0, 0, 0, 0, 0, 414,
- 757, 664, 152, 179, 68, 74, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 43, 0, 519, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -8, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 199, 0, 522, 0, 0, 525, -9, 0,
+ 0, 0, 0, 0, 0, -9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 583, 583,
+ 0, 0, 28, 0, 0, 0, 0, 0, -97, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9, 587,
+ 524, 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, 0, 0, 609, 0, 8, 0, 0,
- 0, 0, 0, 0, 592, 0, 0, 0, 0, 0,
- -16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 645, 0, 537, 0, 0, 608, 604, 0, 548,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 611,
- 607, 0, 0, 0, 0, 687, 0, 542, 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, 627, 0, 0, 0,
- 0,
+ 0, 0, 0, 0, 0, 631, 0, 0, 0, 0,
};
short tao_yygindex[] = { 0,
- -25, 366, 0, 0, 0, -55, -24, -26, 0, -20,
- 0, 0, 0, -53, -373, -2, 0, 0, 0, -212,
- 0, 183, -392, 44, 0, 0, 0, 0, 193, 0,
- 0, 0, 0, 659, 0, -292, 0, 279, 283, 278,
- -30, -10, -181, 46, 0, -217, 200, 118, 0, 0,
- -45, -44, -42, 628, 629, 0, 0, 0, -250, -40,
- 0, 0, 0, -444, -11, 0, 0, 206, 379, 380,
- -18, -15, -12, 7, 320, 0, 0, 9, 0, 13,
- 0, 14, 0, 15, 0, 0, 0, 0, 0, 0,
+ -21, 402, 0, 0, 0, -60, -22, -28, 0, -19,
+ 0, 0, 0, -57, -399, -17, 240, 0, 0, 0,
+ 0, 0, 0, -229, 0, 305, -401, -130, 0, 0,
+ 0, 0, 222, 0, 0, 0, 0, 678, 0, 0,
+ 0, -266, 0, 325, 323, 328, -39, 34, 4, 104,
+ 0, -120, 211, 103, 0, 0, -38, -33, -24, 634,
+ 636, 0, 0, 0, -274, -23, 0, 0, 0, -357,
+ -11, 0, 0, 176, 0, 403, 410, -15, -7, -12,
+ 10, 373, 0, 0, 12, 0, 14, 0, 15, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -79, 0, 0, 0, 0, 0, 0, 0,
+ 0, 691, 0, 472, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 20, 0, 27, 0, 0, 0, 0,
+ 0, 0, 0, 438, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 462, 375,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -142, 0, 0, 0, 0,
- 0, 0, 0, 0, 686, 0, 470, 0, 0, 0,
- 0, 0, 0, 0, 0, -167, 0, -41, 0, 0,
- 0, 0, 0, 0, 0, 483, 0, 0, 0, 0,
+ 0, 0, 117, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 179, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 461, 328, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 182, 0,
+ 0, 0, 0, 0, -460, 0, 0, 0, 0, 0,
+ 127, 0, 0, 0, 0, 0, 0, 106, 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, -319, 0, 0, 0,
- 0, 169, 0, 0, 0, 0, 0, 0, 0, 122,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 375, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 653, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 650, 0, 0, 0,
};
-#define TAO_YYTABLESIZE 1231
+#define TAO_YYTABLESIZE 1244
short tao_yytable[] = { 77,
- 76, 121, 114, 120, 87, 88, 89, 122, 31, 138,
- 33, 162, 139, 163, 34, 35, 36, 91, 93, 297,
- 359, 166, 167, 394, 168, 125, 171, 101, 329, 330,
- 101, 100, 430, 98, 100, 329, 374, 484, 399, 6,
- 46, 6, 361, 121, 174, 120, 514, 377, 340, 122,
- 75, 138, 479, 277, 139, 398, 173, 399, 176, 177,
- 178, 179, 316, 75, 164, 207, 181, 125, 207, 75,
- 184, 147, 147, 185, 398, 147, 147, 147, 65, 147,
- 202, 147, 136, 207, 16, 136, 207, 136, 79, 136,
- 420, 415, 147, 147, 316, 300, 147, 313, 203, 314,
- 378, 565, 136, 136, 197, 137, 136, 198, 137, 101,
- 137, 138, 137, 100, 138, 98, 138, 377, 138, 65,
- 69, 90, 418, 416, 75, 137, 137, 147, 147, 137,
- 392, 138, 138, 377, 192, 138, 108, 136, 136, 204,
- 337, 65, 68, 65, 173, 96, 392, 598, 556, 133,
- 536, 602, 133, 385, 204, 420, 291, 204, 147, 173,
- 137, 137, 173, 269, 109, 142, 138, 138, 136, 133,
- 133, 291, 16, 133, 291, 359, 83, 236, 131, 110,
- 315, 131, 113, 231, 65, 234, 155, 418, 454, 134,
- 530, 137, 134, 240, 580, 90, 512, 138, 131, 131,
- 46, 392, 131, 192, 133, 133, 65, 156, 200, 134,
- 134, 200, 286, 134, 293, 354, 135, 356, 46, 135,
- 467, 468, 469, 296, 299, 377, 200, 222, 46, 240,
- 199, 200, 235, 131, 131, 133, 135, 135, 296, 300,
- 135, 296, 300, 46, 134, 134, 161, 245, 335, 336,
- 338, 340, 398, 399, 191, 351, 352, 300, 298, 192,
- 180, 193, 172, 183, 131, 283, 192, 158, 358, 186,
- 158, 135, 135, 359, 515, 134, 361, 188, 378, 75,
- 585, 207, 194, 331, 404, 412, 413, 101, 414, 402,
- 415, 100, 195, 98, 403, 386, 342, 342, 342, 400,
- 125, 401, 135, 557, 409, 205, 101, 121, 192, 120,
- 100, 75, 98, 122, 206, 138, 208, 359, 139, 204,
- 209, 65, 421, 422, 210, 548, 423, 424, 411, 558,
- 559, 125, 211, 420, 420, 550, 551, 552, 212, 338,
- 222, 558, 559, 304, 305, 306, 307, 308, 309, 310,
- 90, 213, 204, 311, 312, 37, 214, 173, 391, 392,
- 393, 215, 65, 147, 147, 418, 418, 463, 464, 291,
- 354, 216, 356, 136, 136, 304, 305, 306, 307, 308,
- 309, 310, 90, 127, 65, 311, 312, 217, 256, 465,
- 466, 78, 81, 82, 84, 218, 137, 137, 487, 488,
- 127, 127, 138, 138, 127, 219, 223, 224, 230, 232,
- 126, 242, 478, 121, 121, 120, 120, 243, 287, 122,
- 122, 138, 138, 358, 139, 139, 248, 126, 126, 294,
- 295, 126, 343, 298, 341, 127, 296, 125, 125, 344,
- 133, 133, 345, 346, 347, 389, 348, 349, 367, 226,
- 31, 498, 33, 368, 128, 499, 34, 35, 36, 395,
- 396, 397, 126, 427, 293, 428, 127, 432, 354, 433,
- 356, 128, 128, 434, 314, 128, 435, 443, 293, 436,
- 134, 134, 445, 437, 446, 438, 442, 323, 449, 456,
- 77, 523, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 459, 470, 128, 135, 135, 323,
- 323, 197, 354, 471, 356, 310, 55, 457, 323, 472,
- 474, 358, 497, 485, 482, 486, 500, 501, 504, 505,
- 513, 517, 518, 293, 519, 240, 525, 128, 527, 528,
- 534, 537, 533, 59, 545, 542, 549, 250, 121, 587,
- 120, 77, 579, 567, 122, 569, 138, 581, 323, 139,
- 582, 584, 586, 600, 590, 358, 601, 605, 251, 252,
- 603, 608, 125, 609, 374, 611, 1, 253, 254, 293,
- 229, 229, 255, 293, 270, 67, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 124, 229, 229, 229, 229, 229, 229, 67, 310, 270,
- 388, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 75, 229, 229, 229, 229,
- 408, 99, 100, 354, 190, 103, 104, 105, 106, 401,
- 204, 250, 361, 31, 369, 10, 276, 400, 323, 333,
- 196, 344, 229, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 365, 251, 366, 390, 502,
- 323, 323, 80, 460, 462, 323, 310, 229, 461, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 516, 589, 169, 170, 90, 323, 323, 444,
- 85, 132, 258, 310, 132, 265, 323, 4, 301, 333,
- 7, 452, 591, 543, 599, 566, 425, 160, 0, 323,
- 0, 132, 132, 8, 9, 132, 10, 0, 0, 0,
- 11, 0, 0, 250, 0, 266, 267, 0, 0, 0,
- 265, 0, 4, 12, 0, 7, 323, 371, 372, 373,
- 0, 0, 0, 0, 0, 129, 132, 132, 8, 9,
- 0, 10, 0, 0, 0, 11, 20, 21, 250, 0,
- 266, 267, 129, 129, 0, 265, 129, 4, 12, 0,
- 7, 0, 268, 0, 0, 0, 0, 132, 0, 0,
- 0, 0, 269, 8, 9, 0, 10, 130, 0, 0,
- 11, 20, 21, 250, 0, 266, 267, 129, 129, 0,
- 0, 0, 0, 12, 130, 130, 0, 0, 130, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 20, 21, 129, 0,
- 0, 0, 0, 0, 0, 418, 75, 0, 0, 130,
- 130, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 8, 9, 0, 10, 110, 111, 112,
- 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
- 130, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 8, 9, 0, 10, 110, 111, 112,
+ 76, 123, 91, 93, 87, 88, 161, 122, 116, 162,
+ 124, 33, 127, 35, 140, 36, 37, 38, 306, 368,
+ 102, 286, 141, 102, 283, 416, 284, 201, 165, 564,
+ 201, 330, 101, 166, 332, 101, 99, 402, 378, 75,
+ 75, 123, 167, 170, 528, 201, 46, 122, 173, 163,
+ 124, 202, 127, 533, 140, 385, 172, 384, 175, 176,
+ 177, 178, 141, 75, 286, 6, 180, 362, 341, 203,
+ 183, 75, 513, 184, 148, 148, 186, 299, 148, 148,
+ 148, 66, 148, 301, 148, 137, 301, 432, 137, 109,
+ 137, 270, 137, 449, 444, 148, 148, 447, 445, 148,
+ 6, 301, 102, 144, 110, 137, 137, 285, 138, 137,
+ 90, 138, 299, 138, 101, 138, 66, 70, 99, 66,
+ 69, 380, 375, 300, 301, 420, 111, 518, 138, 138,
+ 148, 148, 138, 338, 189, 405, 197, 419, 555, 198,
+ 137, 137, 90, 16, 420, 139, 66, 79, 139, 98,
+ 139, 405, 139, 46, 268, 223, 419, 581, 449, 128,
+ 115, 148, 447, 138, 138, 139, 139, 134, 46, 139,
+ 134, 137, 135, 160, 232, 135, 128, 128, 238, 16,
+ 128, 66, 336, 83, 66, 601, 380, 134, 134, 205,
+ 46, 134, 135, 135, 138, 612, 135, 402, 311, 174,
+ 139, 139, 199, 200, 205, 136, 405, 205, 136, 427,
+ 252, 128, 259, 171, 174, 416, 516, 174, 208, 191,
+ 267, 208, 134, 134, 46, 136, 136, 135, 135, 136,
+ 238, 139, 292, 385, 297, 384, 208, 157, 75, 208,
+ 157, 188, 128, 372, 373, 337, 189, 292, 127, 297,
+ 292, 397, 297, 134, 399, 127, 568, 569, 135, 625,
+ 136, 136, 628, 386, 630, 127, 127, 190, 387, 127,
+ 328, 192, 189, 383, 563, 201, 123, 388, 389, 332,
+ 102, 75, 122, 193, 385, 124, 194, 127, 328, 140,
+ 358, 136, 101, 374, 401, 375, 99, 141, 189, 102,
+ 127, 362, 274, 275, 276, 277, 278, 279, 280, 90,
+ 402, 101, 281, 282, 205, 99, 343, 343, 343, 206,
+ 402, 426, 605, 208, 66, 430, 431, 433, 435, 378,
+ 209, 301, 455, 456, 376, 210, 449, 449, 211, 377,
+ 447, 447, 567, 445, 446, 274, 275, 276, 277, 278,
+ 279, 280, 90, 212, 132, 281, 282, 132, 213, 66,
+ 214, 227, 66, 221, 380, 519, 148, 148, 568, 569,
+ 575, 576, 577, 618, 132, 132, 137, 137, 132, 459,
+ 460, 461, 179, 123, 123, 182, 365, 366, 367, 122,
+ 122, 215, 124, 124, 127, 127, 140, 140, 216, 138,
+ 138, 217, 205, 218, 141, 141, 219, 457, 458, 132,
+ 132, 397, 174, 222, 399, 78, 81, 493, 494, 433,
+ 308, 495, 496, 82, 84, 33, 228, 35, 229, 36,
+ 37, 38, 508, 240, 208, 241, 139, 139, 481, 482,
+ 132, 343, 344, 204, 246, 292, 253, 297, 248, 260,
+ 345, 346, 261, 265, 401, 347, 259, 363, 134, 134,
+ 369, 220, 370, 135, 135, 371, 133, 403, 415, 133,
+ 414, 418, 259, 417, 315, 421, 428, 429, 436, 439,
+ 447, 451, 462, 463, 525, 464, 133, 133, 197, 466,
+ 133, 470, 230, 230, 473, 474, 136, 136, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 37, 230, 230, 230, 230, 475, 549, 77,
+ 546, 133, 133, 476, 397, 477, 478, 399, 479, 480,
+ 491, 498, 499, 500, 397, 501, 502, 399, 503, 506,
+ 507, 55, 130, 509, 510, 512, 526, 517, 522, 521,
+ 523, 524, 133, 541, 542, 543, 547, 550, 553, 130,
+ 130, 562, 123, 130, 230, 600, 574, 401, 122, 607,
+ 582, 124, 587, 127, 583, 140, 596, 401, 563, 424,
+ 131, 604, 606, 141, 610, 238, 77, 616, 614, 613,
+ 626, 627, 632, 629, 130, 130, 634, 131, 131, 637,
+ 638, 131, 1, 640, 259, 230, 230, 259, 59, 259,
+ 271, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 130, 230, 230, 230, 230,
+ 125, 68, 131, 131, 325, 191, 205, 68, 251, 355,
+ 401, 362, 31, 277, 324, 197, 422, 129, 345, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 324, 252, 366, 131, 129, 129, 324, 324, 129, 311,
+ 421, 367, 311, 324, 364, 324, 497, 230, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 511, 80, 453, 452, 609, 324, 324, 520, 454, 129,
+ 168, 311, 169, 416, 324, 85, 269, 348, 304, 424,
+ 611, 324, 602, 548, 159, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 631, 0,
+ 129, 0, 0, 324, 324, 0, 0, 0, 0, 311,
+ 324, 0, 324, 0, 324, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 0, 0, 0,
+ 0, 0, 324, 324, 0, 307, 0, 4, 311, 0,
+ 7, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 324, 8, 9, 0, 10, 0, 0, 0,
+ 11, 0, 0, 308, 0, 309, 310, 0, 0, 0,
+ 307, 0, 4, 12, 0, 7, 0, 322, 323, 324,
+ 0, 324, 0, 0, 0, 0, 0, 0, 8, 9,
+ 0, 10, 0, 0, 0, 11, 20, 21, 308, 0,
+ 309, 310, 0, 392, 75, 0, 0, 0, 12, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 8, 9, 0, 10, 112, 113, 114, 75, 0,
+ 0, 20, 21, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 8, 9, 75, 10, 112,
+ 113, 114, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 8, 9, 0, 10, 112, 113,
+ 114, 260, 0, 115, 0, 90, 260, 260, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
+ 0, 260, 260, 260, 260, 0, 0, 324, 0, 90,
+ 0, 0, 324, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 0, 0, 0, 0, 90, 324,
+ 324, 0, 0, 0, 75, 311, 0, 0, 324, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 0, 260, 75, 0, 112, 113, 114, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 0, 0, 0, 0, 0, 113, 114, 0, 324, 0,
+ 75, 0, 0, 0, 396, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 0, 0, 0,
+ 0, 0, 113, 114, 75, 90, 0, 0, 0, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
+ 0, 0, 0, 75, 90, 0, 113, 114, 382, 101,
+ 102, 0, 0, 105, 106, 107, 108, 0, 0, 0,
+ 0, 0, 3, 10, 4, 5, 6, 7, 0, 0,
+ 0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 9, 0, 10, 0, 0, 0, 11, 0, 0,
+ 0, 0, 0, 0, 0, 90, 0, 0, 0, 0,
+ 12, 13, 14, 15, 0, 0, 0, 0, 0, 16,
+ 17, 0, 0, 18, 90, 307, 19, 4, 0, 0,
+ 7, 0, 0, 20, 21, 0, 0, 0, 0, 0,
+ 0, 0, 0, 8, 9, 0, 10, 0, 0, 0,
+ 11, 0, 307, 308, 4, 309, 310, 7, 0, 0,
+ 0, 0, 0, 12, 0, 0, 0, 322, 323, 324,
+ 8, 9, 0, 10, 0, 0, 0, 11, 0, 0,
+ 308, 0, 309, 310, 0, 0, 20, 21, 0, 0,
+ 12, 307, 0, 4, 356, 0, 7, 0, 0, 0,
+ 0, 0, 0, 0, 357, 0, 0, 0, 0, 8,
+ 9, 0, 10, 20, 21, 0, 11, 0, 0, 308,
+ 0, 309, 310, 0, 0, 0, 0, 0, 0, 12,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 90, 75, 0,
- 0, 113, 0, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 8, 9, 0, 10, 110,
- 111, 112, 0, 259, 0, 0, 0, 90, 259, 259,
- 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
- 259, 259, 323, 259, 259, 259, 259, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 0,
- 0, 0, 0, 0, 323, 323, 0, 0, 0, 90,
- 310, 0, 0, 323, 75, 0, 0, 0, 0, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 0, 0, 0, 259, 0, 111, 112, 0, 0,
- 0, 0, 0, 0, 0, 353, 0, 0, 0, 75,
- 0, 0, 0, 323, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 0, 0, 75, 0,
- 110, 111, 112, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 90, 0, 75, 0, 0,
- 111, 112, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 0, 3, 0, 4, 5, 6, 7, 111,
- 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 90, 8, 9, 0, 10, 0, 0, 0, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
- 0, 12, 13, 14, 15, 0, 0, 0, 0, 0,
- 16, 17, 0, 0, 18, 0, 0, 19, 90, 0,
- 0, 265, 0, 4, 20, 21, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
- 9, 0, 10, 0, 0, 0, 11, 0, 265, 250,
- 4, 266, 267, 7, 0, 0, 0, 0, 0, 12,
- 0, 0, 0, 371, 372, 373, 8, 9, 0, 10,
- 0, 0, 0, 11, 0, 0, 250, 0, 266, 267,
- 0, 0, 20, 21, 0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
- 21,
+ 0, 0, 20, 21,
};
short tao_yycheck[] = { 12,
- 12, 28, 28, 28, 17, 18, 19, 28, 2, 28,
- 2, 67, 28, 67, 2, 2, 2, 20, 21, 232,
- 271, 67, 67, 316, 67, 28, 67, 41, 246, 247,
- 44, 41, 352, 41, 44, 41, 59, 430, 301, 260,
- 123, 260, 59, 70, 70, 70, 491, 123, 41, 70,
- 257, 70, 426, 221, 70, 301, 69, 320, 71, 72,
- 73, 74, 40, 257, 67, 41, 79, 70, 44, 257,
- 83, 37, 38, 86, 320, 41, 42, 43, 58, 45,
- 44, 47, 38, 59, 303, 41, 62, 43, 307, 45,
- 58, 59, 58, 59, 40, 238, 62, 43, 62, 45,
- 123, 546, 58, 59, 262, 38, 62, 265, 41, 123,
- 43, 38, 45, 123, 41, 123, 43, 285, 45, 58,
- 59, 328, 58, 59, 257, 58, 59, 93, 94, 62,
- 257, 58, 59, 301, 328, 62, 59, 93, 94, 44,
- 273, 58, 59, 123, 44, 58, 273, 592, 541, 38,
- 524, 596, 41, 296, 59, 123, 44, 62, 124, 59,
- 93, 94, 62, 59, 59, 276, 93, 94, 124, 58,
- 59, 59, 303, 62, 62, 426, 307, 190, 38, 59,
- 126, 41, 302, 186, 123, 188, 123, 123, 313, 38,
- 510, 124, 41, 196, 568, 328, 489, 124, 58, 59,
- 123, 328, 62, 328, 93, 94, 123, 123, 41, 58,
- 59, 44, 225, 62, 227, 271, 38, 271, 301, 41,
- 402, 403, 404, 44, 237, 301, 59, 123, 123, 232,
- 262, 263, 189, 93, 94, 124, 58, 59, 59, 41,
- 62, 62, 44, 123, 93, 94, 59, 204, 251, 252,
- 253, 254, 329, 330, 323, 268, 269, 59, 91, 328,
- 78, 323, 257, 81, 124, 222, 328, 62, 271, 58,
- 65, 93, 94, 524, 492, 124, 293, 58, 301, 257,
- 573, 257, 123, 289, 37, 331, 331, 301, 331, 42,
- 331, 301, 123, 301, 47, 298, 289, 290, 291, 43,
- 303, 45, 124, 256, 331, 60, 320, 334, 328, 334,
- 320, 257, 320, 334, 60, 334, 123, 568, 334, 137,
- 59, 301, 335, 336, 59, 538, 339, 340, 331, 282,
- 283, 334, 59, 301, 302, 289, 290, 291, 59, 342,
- 158, 282, 283, 321, 322, 323, 324, 325, 326, 327,
- 328, 59, 257, 331, 332, 125, 59, 257, 313, 314,
- 315, 59, 301, 329, 330, 301, 302, 398, 399, 257,
- 426, 59, 426, 329, 330, 321, 322, 323, 324, 325,
- 326, 327, 328, 41, 301, 331, 332, 59, 125, 400,
- 401, 13, 14, 14, 15, 59, 329, 330, 440, 441,
- 58, 59, 329, 330, 62, 59, 123, 123, 123, 301,
- 41, 262, 425, 440, 441, 440, 441, 60, 123, 440,
- 441, 440, 441, 426, 440, 441, 40, 58, 59, 123,
- 123, 62, 285, 320, 312, 93, 257, 440, 441, 59,
- 329, 330, 59, 59, 59, 44, 59, 59, 59, 125,
- 444, 454, 444, 59, 41, 458, 444, 444, 444, 124,
- 94, 38, 93, 59, 477, 40, 124, 59, 524, 59,
- 524, 58, 59, 59, 125, 62, 59, 61, 491, 59,
- 329, 330, 44, 59, 91, 59, 59, 257, 257, 125,
- 503, 503, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 41, 62, 93, 329, 330, 279,
- 280, 262, 568, 62, 568, 285, 125, 125, 288, 62,
- 125, 524, 125, 257, 292, 257, 41, 59, 41, 289,
- 125, 125, 44, 546, 125, 538, 41, 124, 40, 40,
- 59, 44, 123, 125, 44, 93, 41, 284, 575, 575,
- 575, 564, 564, 41, 575, 41, 575, 44, 328, 575,
- 293, 59, 58, 40, 125, 568, 58, 323, 305, 306,
- 59, 41, 575, 44, 125, 323, 0, 314, 315, 592,
- 256, 257, 319, 596, 59, 123, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- 257, 277, 278, 279, 280, 256, 257, 320, 285, 125,
- 257, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 257, 277, 278, 279, 280,
- 262, 263, 264, 257, 59, 267, 268, 269, 270, 123,
- 41, 41, 59, 125, 125, 277, 125, 123, 257, 41,
- 59, 41, 328, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 59, 125, 41, 303, 477,
- 279, 280, 14, 395, 397, 257, 285, 328, 396, 288,
- 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 273, 493, 576, 67, 67, 328, 279, 280, 380,
- 15, 38, 220, 285, 41, 256, 288, 258, 239, 249,
- 261, 384, 578, 532, 593, 547, 342, 65, -1, 328,
- -1, 58, 59, 274, 275, 62, 277, -1, -1, -1,
+ 12, 30, 20, 21, 17, 18, 67, 30, 30, 67,
+ 30, 2, 30, 2, 30, 2, 2, 2, 248, 286,
+ 41, 40, 30, 44, 43, 123, 45, 41, 67, 44,
+ 44, 41, 41, 67, 44, 44, 41, 312, 125, 257,
+ 257, 70, 67, 67, 505, 59, 123, 70, 70, 67,
+ 70, 44, 70, 514, 70, 123, 69, 123, 71, 72,
+ 73, 74, 70, 257, 40, 260, 79, 59, 41, 62,
+ 83, 257, 472, 86, 37, 38, 89, 91, 41, 42,
+ 43, 58, 45, 41, 47, 38, 44, 273, 41, 59,
+ 43, 59, 45, 58, 59, 58, 59, 58, 59, 62,
+ 260, 59, 123, 276, 59, 58, 59, 126, 38, 62,
+ 328, 41, 243, 43, 123, 45, 58, 59, 123, 58,
+ 59, 58, 59, 244, 245, 301, 59, 485, 58, 59,
+ 93, 94, 62, 264, 328, 257, 262, 301, 540, 265,
+ 93, 94, 328, 303, 320, 38, 123, 307, 41, 58,
+ 43, 273, 45, 123, 234, 123, 320, 559, 123, 41,
+ 302, 124, 123, 93, 94, 58, 59, 38, 123, 62,
+ 41, 124, 38, 59, 187, 41, 58, 59, 196, 303,
+ 62, 123, 262, 307, 123, 585, 123, 58, 59, 44,
+ 123, 62, 58, 59, 124, 595, 62, 472, 285, 44,
+ 93, 94, 262, 263, 59, 38, 328, 62, 41, 340,
+ 223, 93, 225, 257, 59, 313, 483, 62, 41, 123,
+ 233, 44, 93, 94, 301, 58, 59, 93, 94, 62,
+ 248, 124, 44, 301, 44, 301, 59, 62, 257, 62,
+ 65, 323, 124, 329, 330, 263, 328, 59, 41, 59,
+ 62, 312, 62, 124, 312, 273, 282, 283, 124, 617,
+ 93, 94, 620, 302, 622, 58, 59, 323, 302, 62,
+ 251, 123, 328, 302, 289, 289, 305, 302, 302, 289,
+ 301, 257, 305, 123, 302, 305, 123, 305, 269, 305,
+ 271, 124, 301, 43, 312, 45, 301, 305, 328, 320,
+ 93, 293, 321, 322, 323, 324, 325, 326, 327, 328,
+ 585, 320, 331, 332, 60, 320, 289, 290, 291, 60,
+ 595, 339, 589, 123, 301, 343, 344, 345, 346, 37,
+ 59, 289, 372, 373, 42, 59, 301, 302, 59, 47,
+ 301, 302, 256, 356, 357, 321, 322, 323, 324, 325,
+ 326, 327, 328, 59, 38, 331, 332, 41, 59, 301,
+ 59, 125, 301, 123, 301, 486, 329, 330, 282, 283,
+ 289, 290, 291, 603, 58, 59, 329, 330, 62, 376,
+ 377, 378, 78, 412, 413, 81, 283, 284, 285, 412,
+ 413, 59, 412, 413, 412, 413, 412, 413, 59, 329,
+ 330, 59, 257, 59, 412, 413, 59, 374, 375, 93,
+ 94, 472, 257, 123, 472, 13, 14, 430, 431, 437,
+ 284, 434, 435, 14, 15, 416, 123, 416, 58, 416,
+ 416, 416, 450, 262, 257, 60, 329, 330, 412, 413,
+ 124, 305, 306, 139, 40, 257, 123, 257, 301, 123,
+ 314, 315, 123, 58, 472, 319, 469, 44, 329, 330,
+ 124, 157, 94, 329, 330, 38, 38, 285, 61, 41,
+ 59, 91, 485, 44, 125, 257, 125, 125, 312, 125,
+ 125, 41, 62, 62, 497, 62, 58, 59, 262, 125,
+ 62, 59, 256, 257, 59, 59, 329, 330, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 125, 277, 278, 279, 280, 59, 536, 532,
+ 532, 93, 94, 59, 585, 59, 59, 585, 59, 257,
+ 125, 59, 59, 59, 595, 59, 59, 595, 59, 59,
+ 59, 125, 41, 41, 59, 257, 40, 125, 44, 125,
+ 125, 320, 124, 123, 59, 40, 93, 41, 292, 58,
+ 59, 41, 591, 62, 328, 583, 41, 585, 591, 591,
+ 44, 591, 40, 591, 313, 591, 41, 595, 289, 125,
+ 41, 59, 58, 591, 125, 603, 599, 599, 293, 44,
+ 41, 58, 40, 59, 93, 94, 323, 58, 59, 41,
+ 44, 62, 0, 323, 617, 256, 257, 620, 125, 622,
+ 59, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 124, 277, 278, 279, 280,
+ 257, 123, 93, 94, 125, 59, 41, 320, 41, 257,
+ 257, 59, 125, 125, 257, 59, 123, 41, 41, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 125, 59, 124, 58, 59, 279, 280, 62, 125,
+ 123, 41, 285, 257, 273, 288, 437, 328, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 469, 14, 370, 369, 592, 279, 280, 487, 371, 93,
+ 67, 285, 67, 331, 288, 15, 235, 270, 247, 335,
+ 594, 257, 586, 535, 65, 328, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 623, -1,
+ 124, -1, -1, 279, 280, -1, -1, -1, -1, 285,
+ 257, -1, 288, -1, 328, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, -1, -1, -1,
+ -1, -1, 279, 280, -1, 256, -1, 258, 285, -1,
+ 261, 288, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 328, 274, 275, -1, 277, -1, -1, -1,
281, -1, -1, 284, -1, 286, 287, -1, -1, -1,
- 256, -1, 258, 294, -1, 261, 328, 298, 299, 300,
- -1, -1, -1, -1, -1, 41, 93, 94, 274, 275,
+ 256, -1, 258, 294, -1, 261, -1, 298, 299, 300,
+ -1, 328, -1, -1, -1, -1, -1, -1, 274, 275,
-1, 277, -1, -1, -1, 281, 317, 318, 284, -1,
- 286, 287, 58, 59, -1, 256, 62, 258, 294, -1,
- 261, -1, 298, -1, -1, -1, -1, 124, -1, -1,
- -1, -1, 308, 274, 275, -1, 277, 41, -1, -1,
- 281, 317, 318, 284, -1, 286, 287, 93, 94, -1,
- -1, -1, -1, 294, 58, 59, -1, -1, 62, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 317, 318, 124, -1,
- -1, -1, -1, -1, -1, 256, 257, -1, -1, 93,
- 94, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, -1, 277, 278, 279, 280,
- -1, -1, -1, -1, -1, -1, 257, -1, -1, -1,
- 124, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, -1, 277, 278, 279, 280,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 328, 257, -1,
- -1, 302, -1, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, -1, 277, 278,
- 279, 280, -1, 257, -1, -1, -1, 328, 262, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- 274, 275, 257, 277, 278, 279, 280, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- -1, -1, -1, -1, 279, 280, -1, -1, -1, 328,
- 285, -1, -1, 288, 257, -1, -1, -1, -1, 262,
+ 286, 287, -1, 256, 257, -1, -1, -1, 294, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, -1, -1, -1, 328, -1, 279, 280, -1, -1,
- -1, -1, -1, -1, -1, 288, -1, -1, -1, 257,
- -1, -1, -1, 328, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, -1, -1, 257, -1,
- 278, 279, 280, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 328, -1, 257, -1, -1,
+ 273, 274, 275, -1, 277, 278, 279, 280, 257, -1,
+ -1, 317, 318, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 257, 277, 278,
279, 280, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, -1, 256, -1, 258, 259, 260, 261, 279,
- 280, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 328, 274, 275, -1, 277, -1, -1, -1, 281, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 328,
- -1, 294, 295, 296, 297, -1, -1, -1, -1, -1,
- 303, 304, -1, -1, 307, -1, -1, 310, 328, -1,
- -1, 256, -1, 258, 317, 318, 261, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
- 275, -1, 277, -1, -1, -1, 281, -1, 256, 284,
- 258, 286, 287, 261, -1, -1, -1, -1, -1, 294,
- -1, -1, -1, 298, 299, 300, 274, 275, -1, 277,
- -1, -1, -1, 281, -1, -1, 284, -1, 286, 287,
- -1, -1, 317, 318, -1, -1, 294, -1, -1, -1,
+ 270, 271, 272, 273, 274, 275, -1, 277, 278, 279,
+ 280, 257, -1, 302, -1, 328, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ -1, 277, 278, 279, 280, -1, -1, 257, -1, 328,
+ -1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, -1, -1, -1, -1, 328, 279,
+ 280, -1, -1, -1, 257, 285, -1, -1, 288, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, -1, 328, 257, -1, 278, 279, 280, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ -1, -1, -1, -1, -1, 279, 280, -1, 328, -1,
+ 257, -1, -1, -1, 288, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, -1, -1, -1,
+ -1, -1, 279, 280, 257, 328, -1, -1, -1, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
+ -1, -1, -1, 257, 328, -1, 279, 280, 262, 263,
+ 264, -1, -1, 267, 268, 269, 270, -1, -1, -1,
+ -1, -1, 256, 277, 258, 259, 260, 261, -1, -1,
+ -1, 328, -1, -1, -1, -1, -1, -1, -1, -1,
+ 274, 275, -1, 277, -1, -1, -1, 281, -1, -1,
+ -1, -1, -1, -1, -1, 328, -1, -1, -1, -1,
+ 294, 295, 296, 297, -1, -1, -1, -1, -1, 303,
+ 304, -1, -1, 307, 328, 256, 310, 258, -1, -1,
+ 261, -1, -1, 317, 318, -1, -1, -1, -1, -1,
+ -1, -1, -1, 274, 275, -1, 277, -1, -1, -1,
+ 281, -1, 256, 284, 258, 286, 287, 261, -1, -1,
+ -1, -1, -1, 294, -1, -1, -1, 298, 299, 300,
+ 274, 275, -1, 277, -1, -1, -1, 281, -1, -1,
+ 284, -1, 286, 287, -1, -1, 317, 318, -1, -1,
+ 294, 256, -1, 258, 298, -1, 261, -1, -1, -1,
+ -1, -1, -1, -1, 308, -1, -1, -1, -1, 274,
+ 275, -1, 277, 317, 318, -1, 281, -1, -1, 284,
+ -1, 286, 287, -1, -1, -1, -1, -1, -1, 294,
+ -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, 317,
- 318,
+ -1, -1, 317, 318,
};
#define TAO_YYFINAL 1
#ifndef TAO_YYDEBUG
@@ -842,9 +867,10 @@ const char *tao_yyrule[] = {
"$$26 :",
"$$27 :",
"value_abs_decl : IDL_ABSTRACT value_header $$25 '{' $$26 exports $$27 '}'",
-"value_header : value_decl opt_truncatable inheritance_spec supports_spec",
"$$28 :",
-"value_decl : IDL_VALUETYPE $$28 id",
+"value_header : value_decl opt_truncatable inheritance_spec $$28 supports_spec",
+"$$29 :",
+"value_decl : IDL_VALUETYPE $$29 id",
"opt_truncatable : IDL_TRUNCATABLE",
"opt_truncatable :",
"supports_spec : IDL_SUPPORTS at_least_one_scoped_name",
@@ -857,46 +883,46 @@ const char *tao_yyrule[] = {
"value_element : state_member",
"value_element : export",
"value_element : init_decl ';'",
-"$$29 :",
-"state_member : IDL_PUBLIC $$29 member_i",
"$$30 :",
-"state_member : IDL_PRIVATE $$30 member_i",
+"state_member : IDL_PUBLIC $$30 member_i",
+"$$31 :",
+"state_member : IDL_PRIVATE $$31 member_i",
"exports : exports export",
"exports :",
-"$$31 :",
-"export : type_dcl $$31 ';'",
"$$32 :",
-"export : typeid_dcl $$32 ';'",
+"export : type_dcl $$32 ';'",
"$$33 :",
-"export : typeprefix_dcl $$33 ';'",
+"export : typeid_dcl $$33 ';'",
"$$34 :",
-"export : const_dcl $$34 ';'",
+"export : typeprefix_dcl $$34 ';'",
"$$35 :",
-"export : exception $$35 ';'",
+"export : const_dcl $$35 ';'",
"$$36 :",
-"export : attribute $$36 ';'",
+"export : exception $$36 ';'",
"$$37 :",
-"export : operation $$37 ';'",
+"export : attribute $$37 ';'",
"$$38 :",
-"export : error $$38 ';'",
-"at_least_one_scoped_name : scoped_name scoped_names",
+"export : operation $$38 ';'",
"$$39 :",
-"scoped_names : scoped_names ',' $$39 scoped_name",
+"export : error $$39 ';'",
+"at_least_one_scoped_name : scoped_name scoped_names",
+"$$40 :",
+"scoped_names : scoped_names ',' $$40 scoped_name",
"scoped_names :",
"scoped_name : id",
-"$$40 :",
-"scoped_name : IDL_SCOPE_DELIMITOR $$40 id",
"$$41 :",
-"scoped_name : scoped_name IDL_SCOPE_DELIMITOR $$41 id",
+"scoped_name : IDL_SCOPE_DELIMITOR $$41 id",
+"$$42 :",
+"scoped_name : scoped_name IDL_SCOPE_DELIMITOR $$42 id",
"id : IDENTIFIER",
"interface_forward : interface_decl",
"interface_forward : IDL_LOCAL interface_decl",
"interface_forward : IDL_ABSTRACT interface_decl",
-"$$42 :",
"$$43 :",
"$$44 :",
"$$45 :",
-"const_dcl : IDL_CONST $$42 const_type $$43 id $$44 '=' $$45 expression",
+"$$46 :",
+"const_dcl : IDL_CONST $$43 const_type $$44 id $$45 '=' $$46 expression",
"const_type : integer_type",
"const_type : char_type",
"const_type : octet_type",
@@ -941,15 +967,15 @@ const char *tao_yyrule[] = {
"literal : IDL_TRUETOK",
"literal : IDL_FALSETOK",
"positive_int_expr : const_expr",
-"$$46 :",
-"type_dcl : IDL_TYPEDEF $$46 type_declarator",
+"$$47 :",
+"type_dcl : IDL_TYPEDEF $$47 type_declarator",
"type_dcl : struct_type",
"type_dcl : union_type",
"type_dcl : enum_type",
"type_dcl : IDL_NATIVE simple_declarator",
"type_dcl : constructed_forward_type_spec",
-"$$47 :",
-"type_declarator : type_spec $$47 at_least_one_declarator",
+"$$48 :",
+"type_declarator : type_spec $$48 at_least_one_declarator",
"type_spec : simple_type_spec",
"type_spec : constructed_type_spec",
"simple_type_spec : base_type_spec",
@@ -972,14 +998,14 @@ const char *tao_yyrule[] = {
"constructed_forward_type_spec : struct_forward_type",
"constructed_forward_type_spec : union_forward_type",
"at_least_one_declarator : declarator declarators",
-"$$48 :",
-"declarators : declarators ',' $$48 declarator",
+"$$49 :",
+"declarators : declarators ',' $$49 declarator",
"declarators :",
"declarator : simple_declarator",
"declarator : complex_declarator",
"at_least_one_simple_declarator : simple_declarator simple_declarators",
-"$$49 :",
-"simple_declarators : simple_declarators ',' $$49 simple_declarator",
+"$$50 :",
+"simple_declarators : simple_declarators ',' $$50 simple_declarator",
"simple_declarators :",
"simple_declarator : id",
"complex_declarator : array_declarator",
@@ -1001,31 +1027,31 @@ const char *tao_yyrule[] = {
"boolean_type : IDL_BOOLEAN",
"any_type : IDL_ANY",
"object_type : IDL_OBJECT",
-"$$50 :",
-"struct_decl : IDL_STRUCT $$50 id",
"$$51 :",
+"struct_decl : IDL_STRUCT $$51 id",
"$$52 :",
"$$53 :",
-"struct_type : struct_decl $$51 '{' $$52 at_least_one_member $$53 '}'",
+"$$54 :",
+"struct_type : struct_decl $$52 '{' $$53 at_least_one_member $$54 '}'",
"at_least_one_member : member members",
"members : members member",
"members :",
-"$$54 :",
-"member : $$54 member_i",
"$$55 :",
+"member : $$55 member_i",
"$$56 :",
-"member_i : type_spec $$55 at_least_one_declarator $$56 ';'",
"$$57 :",
-"member_i : error $$57 ';'",
+"member_i : type_spec $$56 at_least_one_declarator $$57 ';'",
"$$58 :",
-"union_decl : IDL_UNION $$58 id",
+"member_i : error $$58 ';'",
"$$59 :",
+"union_decl : IDL_UNION $$59 id",
"$$60 :",
"$$61 :",
"$$62 :",
"$$63 :",
"$$64 :",
-"union_type : union_decl IDL_SWITCH $$59 '(' $$60 switch_type_spec $$61 ')' $$62 '{' $$63 at_least_one_case_branch $$64 '}'",
+"$$65 :",
+"union_type : union_decl IDL_SWITCH $$60 '(' $$61 switch_type_spec $$62 ')' $$63 '{' $$64 at_least_one_case_branch $$65 '}'",
"switch_type_spec : integer_type",
"switch_type_spec : char_type",
"switch_type_spec : octet_type",
@@ -1035,103 +1061,103 @@ const char *tao_yyrule[] = {
"at_least_one_case_branch : case_branch case_branches",
"case_branches : case_branches case_branch",
"case_branches :",
-"$$65 :",
"$$66 :",
-"case_branch : at_least_one_case_label $$65 element_spec $$66 ';'",
"$$67 :",
-"case_branch : error $$67 ';'",
+"case_branch : at_least_one_case_label $$66 element_spec $$67 ';'",
+"$$68 :",
+"case_branch : error $$68 ';'",
"at_least_one_case_label : case_label case_labels",
"case_labels : case_labels case_label",
"case_labels :",
-"$$68 :",
-"case_label : IDL_DEFAULT $$68 ':'",
"$$69 :",
+"case_label : IDL_DEFAULT $$69 ':'",
"$$70 :",
-"case_label : IDL_CASE $$69 const_expr $$70 ':'",
"$$71 :",
-"element_spec : type_spec $$71 declarator",
+"case_label : IDL_CASE $$70 const_expr $$71 ':'",
+"$$72 :",
+"element_spec : type_spec $$72 declarator",
"struct_forward_type : struct_decl",
"union_forward_type : union_decl",
-"$$72 :",
"$$73 :",
"$$74 :",
"$$75 :",
-"enum_type : IDL_ENUM $$72 id $$73 '{' $$74 at_least_one_enumerator $$75 '}'",
-"at_least_one_enumerator : enumerator enumerators",
"$$76 :",
-"enumerators : enumerators ',' $$76 enumerator",
+"enum_type : IDL_ENUM $$73 id $$74 '{' $$75 at_least_one_enumerator $$76 '}'",
+"at_least_one_enumerator : enumerator enumerators",
+"$$77 :",
+"enumerators : enumerators ',' $$77 enumerator",
"enumerators :",
"enumerator : IDENTIFIER",
-"$$77 :",
"$$78 :",
-"sequence_type_spec : seq_head ',' $$77 positive_int_expr $$78 '>'",
-"sequence_type_spec : seq_head '>'",
"$$79 :",
+"sequence_type_spec : seq_head ',' $$78 positive_int_expr $$79 '>'",
+"sequence_type_spec : seq_head '>'",
"$$80 :",
-"seq_head : IDL_SEQUENCE $$79 '<' $$80 simple_type_spec",
"$$81 :",
+"seq_head : IDL_SEQUENCE $$80 '<' $$81 simple_type_spec",
"$$82 :",
-"string_type_spec : string_head '<' $$81 positive_int_expr $$82 '>'",
+"$$83 :",
+"string_type_spec : string_head '<' $$82 positive_int_expr $$83 '>'",
"string_type_spec : string_head",
"string_head : IDL_STRING",
-"$$83 :",
"$$84 :",
-"wstring_type_spec : wstring_head '<' $$83 positive_int_expr $$84 '>'",
+"$$85 :",
+"wstring_type_spec : wstring_head '<' $$84 positive_int_expr $$85 '>'",
"wstring_type_spec : wstring_head",
"wstring_head : IDL_WSTRING",
-"$$85 :",
-"array_declarator : id $$85 at_least_one_array_dim",
+"$$86 :",
+"array_declarator : id $$86 at_least_one_array_dim",
"at_least_one_array_dim : array_dim array_dims",
"array_dims : array_dims array_dim",
"array_dims :",
-"$$86 :",
"$$87 :",
-"array_dim : '[' $$86 positive_int_expr $$87 ']'",
"$$88 :",
+"array_dim : '[' $$87 positive_int_expr $$88 ']'",
"$$89 :",
-"attribute : opt_readonly IDL_ATTRIBUTE $$88 param_type_spec $$89 at_least_one_simple_declarator",
+"$$90 :",
+"attribute : opt_readonly IDL_ATTRIBUTE $$89 param_type_spec $$90 at_least_one_simple_declarator",
"opt_readonly : IDL_READONLY",
"opt_readonly :",
-"$$90 :",
"$$91 :",
"$$92 :",
"$$93 :",
-"exception : IDL_EXCEPTION $$90 id $$91 '{' $$92 members $$93 '}'",
"$$94 :",
+"exception : IDL_EXCEPTION $$91 id $$92 '{' $$93 members $$94 '}'",
"$$95 :",
"$$96 :",
"$$97 :",
-"operation : opt_op_attribute op_type_spec $$94 IDENTIFIER $$95 parameter_list $$96 opt_raises $$97 opt_context",
+"$$98 :",
+"operation : opt_op_attribute op_type_spec $$95 IDENTIFIER $$96 parameter_list $$97 opt_raises $$98 opt_context",
"opt_op_attribute : IDL_ONEWAY",
"opt_op_attribute : IDL_IDEMPOTENT",
"opt_op_attribute :",
"op_type_spec : param_type_spec",
"op_type_spec : IDL_VOID",
-"$$98 :",
"$$99 :",
-"init_decl : IDL_FACTORY $$98 IDENTIFIER $$99 init_parameter_list",
"$$100 :",
-"init_parameter_list : '(' $$100 ')'",
+"init_decl : IDL_FACTORY $$99 IDENTIFIER $$100 init_parameter_list",
"$$101 :",
-"init_parameter_list : '(' $$101 at_least_one_in_parameter ')'",
-"at_least_one_in_parameter : in_parameter in_parameters",
+"init_parameter_list : '(' $$101 ')'",
"$$102 :",
-"in_parameters : in_parameters ',' $$102 in_parameter",
-"in_parameters :",
+"init_parameter_list : '(' $$102 at_least_one_in_parameter ')'",
+"at_least_one_in_parameter : in_parameters in_parameter",
"$$103 :",
+"in_parameters : in_parameters ',' $$103 in_parameter",
+"in_parameters :",
"$$104 :",
-"in_parameter : IDL_IN $$103 param_type_spec $$104 declarator",
"$$105 :",
-"parameter_list : '(' $$105 ')'",
+"in_parameter : IDL_IN $$104 param_type_spec $$105 declarator",
"$$106 :",
-"parameter_list : '(' $$106 at_least_one_parameter ')'",
-"at_least_one_parameter : parameter parameters",
+"parameter_list : '(' $$106 ')'",
"$$107 :",
-"parameters : parameters ',' $$107 parameter",
-"parameters :",
+"parameter_list : '(' $$107 at_least_one_parameter ')'",
+"at_least_one_parameter : parameter parameters",
"$$108 :",
+"parameters : parameters ',' $$108 parameter",
+"parameters :",
"$$109 :",
-"parameter : direction $$108 param_type_spec $$109 declarator",
+"$$110 :",
+"parameter : direction $$109 param_type_spec $$110 declarator",
"param_type_spec : base_type_spec",
"param_type_spec : string_type_spec",
"param_type_spec : wstring_type_spec",
@@ -1139,35 +1165,47 @@ const char *tao_yyrule[] = {
"direction : IDL_IN",
"direction : IDL_OUT",
"direction : IDL_INOUT",
-"$$110 :",
"$$111 :",
-"opt_raises : IDL_RAISES $$110 '(' $$111 at_least_one_scoped_name ')'",
-"opt_raises :",
"$$112 :",
+"opt_raises : IDL_RAISES $$111 '(' $$112 at_least_one_scoped_name ')'",
+"opt_raises :",
"$$113 :",
-"opt_context : IDL_CONTEXT $$112 '(' $$113 at_least_one_string_literal ')'",
+"$$114 :",
+"opt_context : IDL_CONTEXT $$113 '(' $$114 at_least_one_string_literal ')'",
"opt_context :",
"at_least_one_string_literal : IDL_STRING_LITERAL string_literals",
-"$$114 :",
-"string_literals : string_literals ',' $$114 IDL_STRING_LITERAL",
+"$$115 :",
+"string_literals : string_literals ',' $$115 IDL_STRING_LITERAL",
"string_literals :",
"typeid_dcl : IDL_TYPEID scoped_name IDL_STRING_LITERAL",
"typeprefix_dcl : IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL",
"component : component_decl",
"component : component_forward_decl",
"component_forward_decl : IDL_COMPONENT id",
-"component_decl : component_header '{' component_exports '}'",
-"component_header : IDL_COMPONENT id component_inheritance_spec supports_spec",
-"component_inheritance_spec : ':' scoped_name",
+"$$116 :",
+"$$117 :",
+"$$118 :",
+"component_decl : component_header $$116 '{' $$117 component_exports $$118 '}'",
+"$$119 :",
+"$$120 :",
+"component_header : IDL_COMPONENT id $$119 component_inheritance_spec $$120 supports_spec",
+"$$121 :",
+"component_inheritance_spec : ':' $$121 scoped_name",
"component_inheritance_spec :",
"component_exports : component_exports component_export",
"component_exports :",
-"component_export : provides_decl ';'",
-"component_export : uses_decl ';'",
-"component_export : emits_decl ';'",
-"component_export : publishes_decl ';'",
-"component_export : consumes_decl ';'",
-"component_export : attribute ';'",
+"$$122 :",
+"component_export : provides_decl $$122 ';'",
+"$$123 :",
+"component_export : uses_decl $$123 ';'",
+"$$124 :",
+"component_export : emits_decl $$124 ';'",
+"$$125 :",
+"component_export : publishes_decl $$125 ';'",
+"$$126 :",
+"component_export : consumes_decl $$126 ';'",
+"$$127 :",
+"component_export : attribute $$127 ';'",
"provides_decl : IDL_PROVIDES interface_type id",
"interface_type : scoped_name",
"interface_type : IDL_OBJECT",
@@ -1177,20 +1215,36 @@ const char *tao_yyrule[] = {
"emits_decl : IDL_EMITS scoped_name id",
"publishes_decl : IDL_PUBLISHES scoped_name id",
"consumes_decl : IDL_CONSUMES scoped_name id",
-"home_decl : home_header home_body",
-"home_header : IDL_HOME id home_inheritance_spec supports_spec IDL_MANAGES scoped_name primary_key_spec",
-"home_inheritance_spec : ':' scoped_name",
+"$$128 :",
+"home_decl : home_header $$128 home_body",
+"$$129 :",
+"$$130 :",
+"$$131 :",
+"$$132 :",
+"$$133 :",
+"$$134 :",
+"home_header : IDL_HOME $$129 id $$130 home_inheritance_spec $$131 supports_spec $$132 IDL_MANAGES $$133 scoped_name $$134 primary_key_spec",
+"$$135 :",
+"home_inheritance_spec : ':' $$135 scoped_name",
"home_inheritance_spec :",
"primary_key_spec : IDL_PRIMARYKEY scoped_name",
"primary_key_spec :",
-"home_body : '{' home_exports '}'",
+"$$136 :",
+"$$137 :",
+"home_body : '{' $$136 home_exports $$137 '}'",
"home_exports : home_exports home_export",
"home_exports :",
"home_export : export",
-"home_export : factory_decl ';'",
-"home_export : finder_decl ';'",
-"factory_decl : IDL_FACTORY id init_parameter_list opt_raises",
-"finder_decl : IDL_FINDER id init_parameter_list opt_raises",
+"$$138 :",
+"home_export : factory_decl $$138 ';'",
+"$$139 :",
+"home_export : finder_decl $$139 ';'",
+"$$140 :",
+"$$141 :",
+"factory_decl : IDL_FACTORY id $$140 init_parameter_list $$141 opt_raises",
+"$$142 :",
+"$$143 :",
+"finder_decl : IDL_FINDER id $$142 init_parameter_list $$143 opt_raises",
"event : event_decl",
"event : event_abs_decl",
"event : event_forward_decl",
@@ -1640,7 +1694,7 @@ break;
case 18:
{
/* | value_def*/
- idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeDeclSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen);
}
break;
case 19:
@@ -1652,7 +1706,7 @@ break;
case 20:
{
/* | component*/
- idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen);
}
break;
case 21:
@@ -1676,7 +1730,7 @@ break;
case 24:
{
/* | event*/
- idl_global->set_parse_state (IDL_GlobalData::PS_EventSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen);
}
break;
case 25:
@@ -1758,7 +1812,7 @@ case 35:
AST_Interface *i = 0;
/*
- * Make a new interface node and add it to its enclosing scope
+ * Make a new interface node and add it to its enclosing scope.
*/
if (s != 0 && tao_yyvsp[0].ihval != 0)
{
@@ -1778,17 +1832,17 @@ case 35:
* Add the interface to its definition scope.
*/
(void) s->fe_add_interface (i);
+
+ /* This FE_InterfaceHeader class isn't destroyed with the AST.*/
+ tao_yyvsp[0].ihval->name ()->destroy ();
+ delete tao_yyvsp[0].ihval;
+ tao_yyvsp[0].ihval = 0;
}
/*
* Push it on the scope stack.
*/
idl_global->scopes ().push (i);
-
- /* This FE_InterfaceHeader class isn't destroyed with the AST.*/
- tao_yyvsp[0].ihval->name ()->destroy ();
- delete tao_yyvsp[0].ihval;
- tao_yyvsp[0].ihval = 0;
}
break;
case 36:
@@ -1874,13 +1928,23 @@ break;
case 43:
{
/* | IDL_ABSTRACT interface_decl inheritance_spec*/
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("error in %s line %d\n"),
- idl_global->filename ()->get_string (),
- idl_global->lineno ()));
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Sorry, I (TAO_IDL) can't handle abstract")
- ACE_TEXT (" interfaces yet\n")));
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen);
+
+ /*
+ * Create an AST representation of the information in the header
+ * part of an interface - this representation contains a computed
+ * list of all interfaces which this interface inherits from,
+ * recursively
+ */
+ UTL_ScopedName n (tao_yyvsp[-1].idval,
+ 0);
+ ACE_NEW_RETURN (tao_yyval.ihval,
+ FE_InterfaceHeader (&n,
+ tao_yyvsp[0].nlval,
+ I_FALSE,
+ I_TRUE,
+ I_TRUE),
+ 1);
}
break;
case 44:
@@ -1939,10 +2003,10 @@ case 53:
i = AST_Interface::narrow_from_decl (v);
AST_Interface::fwd_redefinition_helper (i,
s);
- v = AST_ValueType::narrow_from_decl (i);
/*
* Add the valuetype to its definition scope
*/
+ v = AST_ValueType::narrow_from_decl (i);
(void) s->fe_add_valuetype (v);
}
@@ -1955,22 +2019,22 @@ break;
case 54:
{
/* '{'*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen);
}
break;
case 55:
{
/* value_elements*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen);
}
break;
case 56:
{
/* '}'*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen);
/*
- * Done with this interface - pop it off the scopes stack
+ * Done with this value type - pop it off the scopes stack
*/
UTL_Scope* s = idl_global->scopes ().top ();
AST_Interface* m = AST_Interface::narrow_from_scope (s);
@@ -2004,10 +2068,10 @@ case 57:
i = AST_Interface::narrow_from_decl (v);
AST_Interface::fwd_redefinition_helper (i,
s);
- v = AST_ValueType::narrow_from_decl (i);
/*
* Add the valuetype to its definition scope
*/
+ v = AST_ValueType::narrow_from_decl (i);
(void) s->fe_add_valuetype (v);
}
@@ -2020,19 +2084,19 @@ break;
case 58:
{
/* '{'*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen);
}
break;
case 59:
{
/* exports*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen);
}
break;
case 60:
{
/* '}'*/
- idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen);
/*
* Done with this interface - pop it off the scopes stack.
@@ -2045,34 +2109,42 @@ case 60:
break;
case 61:
{
-/* value_header : value_decl opt_truncatable inheritance_spec supports_spec*/
+/* value_header : value_decl opt_truncatable inheritance_spec */
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen);
+ }
+break;
+case 62:
+{
+/* supports_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen);
+
UTL_ScopedName *sn = 0;
ACE_NEW_RETURN (sn,
- UTL_ScopedName (tao_yyvsp[-3].idval,
+ UTL_ScopedName (tao_yyvsp[-4].idval,
0),
1);
ACE_NEW_RETURN (tao_yyval.vhval,
- FE_obv_header (sn,
- tao_yyvsp[-1].nlval,
- tao_yyvsp[0].nlval,
- tao_yyvsp[-2].bval),
+ FE_OBVHeader (sn,
+ tao_yyvsp[-2].nlval,
+ tao_yyvsp[0].nlval,
+ tao_yyvsp[-3].bval),
1);
}
break;
-case 62:
+case 63:
{
/* value_decl : IDL_VALUETYPE*/
- idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen);
}
break;
-case 63:
+case 64:
{
/* id*/
- idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeIDSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen);
tao_yyval.idval = tao_yyvsp[0].idval;
}
break;
-case 64:
+case 65:
{
/* opt_truncatable : IDL_TRUNCATABLE*/
ACE_DEBUG ((LM_DEBUG,
@@ -2082,35 +2154,35 @@ case 64:
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("truncatable modifier not supported ")
ACE_TEXT ("and is ignored\n")));
- tao_yyval.bval = I_TRUE;
+ tao_yyval.bval = I_FALSE;
}
break;
-case 65:
+case 66:
{
/* | /* EMPTY * /*/
tao_yyval.bval = I_FALSE;
}
break;
-case 66:
+case 67:
{
/* supports_spec : IDL_SUPPORTS at_least_one_scoped_name*/
tao_yyval.nlval = tao_yyvsp[0].nlval;
}
break;
-case 67:
+case 68:
{
/* | /* EMPTY * /*/
tao_yyval.nlval = 0;
}
break;
-case 68:
+case 69:
{
/* value_forward_decl : IDL_ABSTRACT value_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
UTL_ScopedName n (tao_yyvsp[0].idval,
0);
AST_ValueTypeFwd *f = 0;
- idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeForwardSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeForwardSeen);
/*
* Create a node representing a forward declaration of an
@@ -2119,19 +2191,19 @@ case 68:
if (s != 0)
{
f = idl_global->gen ()->create_valuetype_fwd (&n,
- I_TRUE);
+ I_TRUE);
(void) s->fe_add_valuetype_fwd (f);
}
}
break;
-case 69:
+case 70:
{
/* | value_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
UTL_ScopedName n (tao_yyvsp[0].idval,
0);
AST_ValueTypeFwd *f = 0;
- idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeForwardSeen);
+ idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeForwardSeen);
/*
* Create a node representing a forward declaration of an
@@ -2145,7 +2217,7 @@ case 69:
}
}
break;
-case 70:
+case 71:
{
/* value_box_decl : value_decl type_spec*/
ACE_DEBUG ((LM_DEBUG,
@@ -2157,118 +2229,118 @@ case 70:
ACE_TEXT (" boxes yet\n")));
}
break;
-case 76:
+case 77:
{
/* state_member : IDL_PUBLIC*/
/* is $0 to member_i */
tao_yyval.vival = AST_Field::vis_PUBLIC;
}
break;
-case 78:
+case 79:
{
/* IDL_PRIVATE*/
/* is $0 to member_i */
tao_yyval.vival = AST_Field::vis_PRIVATE;
}
break;
-case 82:
+case 83:
{
/* export : type_dcl*/
idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen);
}
break;
-case 83:
+case 84:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 84:
+case 85:
{
/* | typeid_dcl*/
idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen);
}
break;
-case 85:
+case 86:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 86:
+case 87:
{
/* | typeprefix_dcl*/
idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen);
}
break;
-case 87:
+case 88:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 88:
+case 89:
{
/* | const_dcl*/
idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen);
}
break;
-case 89:
+case 90:
{
/* ';'*/
idl_global->set_parse_state(IDL_GlobalData::PS_NoState);
}
break;
-case 90:
+case 91:
{
/* | exception*/
idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen);
}
break;
-case 91:
+case 92:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 92:
+case 93:
{
/* | attribute*/
idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen);
}
break;
-case 93:
+case 94:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 94:
+case 95:
{
/* | operation*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen);
}
break;
-case 95:
+case 96:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
}
break;
-case 96:
+case 97:
{
/* | error*/
idl_global->err()->syntax_error (idl_global->parse_state());
}
break;
-case 97:
+case 98:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
tao_yyerrok;
}
break;
-case 98:
+case 99:
{
/* at_least_one_scoped_name : scoped_name scoped_names*/
ACE_NEW_RETURN (tao_yyval.nlval,
@@ -2277,13 +2349,13 @@ case 98:
1);
}
break;
-case 99:
+case 100:
{
/* scoped_names : scoped_names ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen);
}
break;
-case 100:
+case 101:
{
/* scoped_name*/
idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen);
@@ -2307,13 +2379,13 @@ case 100:
}
}
break;
-case 101:
+case 102:
{
/* | /* EMPTY * /*/
tao_yyval.nlval = 0;
}
break;
-case 102:
+case 103:
{
/* scoped_name : id*/
idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen);
@@ -2324,13 +2396,13 @@ case 102:
1);
}
break;
-case 103:
+case 104:
{
/* | IDL_SCOPE_DELIMITOR*/
idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen);
}
break;
-case 104:
+case 105:
{
/* id*/
idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen);
@@ -2350,13 +2422,13 @@ case 104:
1);
}
break;
-case 105:
+case 106:
{
/* | scoped_name IDL_SCOPE_DELIMITOR*/
idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen);
}
break;
-case 106:
+case 107:
{
/* id*/
idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen);
@@ -2370,7 +2442,7 @@ case 106:
tao_yyval.idlist = tao_yyvsp[-3].idlist;
}
break;
-case 107:
+case 108:
{
/* id: IDENTIFIER*/
ACE_NEW_RETURN (tao_yyval.idval,
@@ -2379,7 +2451,7 @@ case 107:
ACE_OS::free (tao_yyvsp[0].strval);
}
break;
-case 108:
+case 109:
{
/* interface_forward : interface_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -2401,7 +2473,7 @@ case 108:
}
}
break;
-case 109:
+case 110:
{
/* | IDL_LOCAL interface_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -2425,7 +2497,7 @@ case 109:
}
}
break;
-case 110:
+case 111:
{
/* | IDL_ABSTRACT interface_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -2449,31 +2521,31 @@ case 110:
}
}
break;
-case 111:
+case 112:
{
/* const_dcl : IDL_CONST*/
idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen);
}
break;
-case 112:
+case 113:
{
/* const_type*/
idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen);
}
break;
-case 113:
+case 114:
{
/* id*/
idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen);
}
break;
-case 114:
+case 115:
{
/* '='*/
idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen);
}
break;
-case 115:
+case 116:
{
/* expression*/
UTL_ScopedName n (tao_yyvsp[-4].idval,
@@ -2514,7 +2586,7 @@ case 115:
}
}
break;
-case 122:
+case 123:
{
/* const_type*/
/* : integer_type*/
@@ -2527,13 +2599,13 @@ case 122:
tao_yyval.etval = AST_Expression::EV_string;
}
break;
-case 123:
+case 124:
{
/* | wstring_type_spec*/
tao_yyval.etval = AST_Expression::EV_wstring;
}
break;
-case 124:
+case 125:
{
/* | scoped_name*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -2601,7 +2673,7 @@ case 124:
}
}
break;
-case 128:
+case 129:
{
/* or_expr : xor_expr*/
/* | or_expr '|' xor_expr*/
@@ -2613,7 +2685,7 @@ case 128:
);
}
break;
-case 130:
+case 131:
{
/* xor_expr : and_expr*/
/* | xor_expr '^' and_expr*/
@@ -2625,7 +2697,7 @@ case 130:
);
}
break;
-case 132:
+case 133:
{
/* and_expr : shift_expr | and_expr '&' shift_expr*/
tao_yyval.exval =
@@ -2636,7 +2708,7 @@ case 132:
);
}
break;
-case 134:
+case 135:
{
/* shift_expr : add_expr | shift_expr IDL_LEFT_SHIFT add_expr*/
tao_yyval.exval =
@@ -2647,7 +2719,7 @@ case 134:
);
}
break;
-case 135:
+case 136:
{
/* | shift_expr IDL_RIGHT_SHIFT add_expr*/
tao_yyval.exval =
@@ -2658,7 +2730,7 @@ case 135:
);
}
break;
-case 137:
+case 138:
{
/* add_expr : mult_expr | add_expr '+' mult_expr*/
tao_yyval.exval =
@@ -2669,7 +2741,7 @@ case 137:
);
}
break;
-case 138:
+case 139:
{
/* | add_expr '-' mult_expr*/
tao_yyval.exval =
@@ -2680,7 +2752,7 @@ case 138:
);
}
break;
-case 140:
+case 141:
{
/* mult_expr : unary_expr | mult_expr '*' unary_expr*/
tao_yyval.exval =
@@ -2691,7 +2763,7 @@ case 140:
);
}
break;
-case 141:
+case 142:
{
/* | mult_expr '/' unary_expr*/
tao_yyval.exval =
@@ -2702,7 +2774,7 @@ case 141:
);
}
break;
-case 142:
+case 143:
{
/* | mult_expr '%' unary_expr*/
tao_yyval.exval =
@@ -2713,7 +2785,7 @@ case 142:
);
}
break;
-case 144:
+case 145:
{
/* unary_expr : primary_expr | '+' primary_expr*/
tao_yyval.exval =
@@ -2724,7 +2796,7 @@ case 144:
);
}
break;
-case 145:
+case 146:
{
/* | '-' primary_expr*/
tao_yyval.exval =
@@ -2735,7 +2807,7 @@ case 145:
);
}
break;
-case 146:
+case 147:
{
/* | '~' primary_expr*/
tao_yyval.exval =
@@ -2746,7 +2818,7 @@ case 146:
);
}
break;
-case 147:
+case 148:
{
/* primary_expr : scoped_name*/
/*
@@ -2756,7 +2828,7 @@ case 147:
*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
AST_Decl *d = s->lookup_by_name (tao_yyvsp[0].idlist,
- 1);
+ I_TRUE);
/*
* If the scoped name is an IDL constant, it may be used in an
@@ -2777,71 +2849,71 @@ case 147:
}
}
break;
-case 149:
+case 150:
{
/* | literal*/
/* | '(' const_expr ')'*/
tao_yyval.exval = tao_yyvsp[-1].exval;
}
break;
-case 150:
+case 151:
{
/* literal : IDL_INTEGER_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].ival);
}
break;
-case 151:
+case 152:
{
/* | IDL_UINTEGER_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].uival);
}
break;
-case 152:
+case 153:
{
/* | IDL_STRING_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].sval);
}
break;
-case 153:
+case 154:
{
/* | IDL_WSTRING_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].wsval);
}
break;
-case 154:
+case 155:
{
/* | IDL_CHARACTER_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].cval);
}
break;
-case 155:
+case 156:
{
/* | IDL_WCHAR_LITERAL*/
ACE_OutputCDR::from_wchar wc (tao_yyvsp[0].wcval);
tao_yyval.exval = idl_global->gen ()->create_expr (wc);
}
break;
-case 156:
+case 157:
{
/* | IDL_FLOATING_PT_LITERAL*/
tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].dval);
}
break;
-case 157:
+case 158:
{
/* | IDL_TRUETOK*/
tao_yyval.exval = idl_global->gen ()->create_expr ((idl_bool) I_TRUE,
AST_Expression::EV_bool);
}
break;
-case 158:
+case 159:
{
/* | IDL_FALSETOK*/
tao_yyval.exval = idl_global->gen ()->create_expr ((idl_bool) I_FALSE,
AST_Expression::EV_bool);
}
break;
-case 159:
+case 160:
{
/* positive_int_expr : const_expr*/
int good_expression = 1;
@@ -2910,37 +2982,37 @@ case 159:
}
}
break;
-case 160:
+case 161:
{
/* type_dcl : IDL_TYPEDEF*/
idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen);
}
break;
-case 161:
+case 162:
{
/* type_declarator */
tao_yyval.ival = 0;
}
break;
-case 162:
+case 163:
{
/* | struct_type */
tao_yyval.ival = 0;
}
break;
-case 163:
+case 164:
{
/* | union_type */
tao_yyval.ival = 0;
}
break;
-case 164:
+case 165:
{
/* | enum_type */
tao_yyval.ival = 0;
}
break;
-case 165:
+case 166:
{
/* | IDL_NATIVE simple_declarator*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -2964,19 +3036,19 @@ case 165:
}
}
break;
-case 166:
+case 167:
{
/* | constructed_forward_type_spec*/
tao_yyval.ival = 0;
}
break;
-case 167:
+case 168:
{
/* type_declarator : type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen);
}
break;
-case 168:
+case 169:
{
/* at_least_one_declarator*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3022,7 +3094,7 @@ case 168:
}
}
break;
-case 171:
+case 172:
{
/* simple_type_spec : base_type_spec*/
tao_yyval.dcval =
@@ -3031,7 +3103,7 @@ case 171:
);
}
break;
-case 173:
+case 174:
{
/* | template_type_spec*/
/* | scoped_name*/
@@ -3052,7 +3124,7 @@ case 173:
tao_yyval.dcval = d;
}
break;
-case 190:
+case 191:
{
/* at_least_one_declarator : declarator declarators*/
ACE_NEW_RETURN (tao_yyval.dlval,
@@ -3061,13 +3133,13 @@ case 190:
1);
}
break;
-case 191:
+case 192:
{
/* declarators : declarators ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen);
}
break;
-case 192:
+case 193:
{
/* declarator*/
idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen);
@@ -3091,13 +3163,13 @@ case 192:
}
}
break;
-case 193:
+case 194:
{
/* | /* EMPTY * /*/
tao_yyval.dlval = 0;
}
break;
-case 196:
+case 197:
{
/* at_least_one_simple_declarator : simple_declarator simple_declarators*/
ACE_NEW_RETURN (tao_yyval.dlval,
@@ -3106,13 +3178,13 @@ case 196:
1);
}
break;
-case 197:
+case 198:
{
/* simple_declarators : simple_declarators ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen);
}
break;
-case 198:
+case 199:
{
/* simple_declarator*/
idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen);
@@ -3136,13 +3208,13 @@ case 198:
}
}
break;
-case 199:
+case 200:
{
/* | /* EMPTY * /*/
tao_yyval.dlval = 0;
}
break;
-case 200:
+case 201:
{
/* simple_declarator : id*/
UTL_ScopedName *sn = 0;
@@ -3157,7 +3229,7 @@ case 200:
1);
}
break;
-case 201:
+case 202:
{
/* complex_declarator : array_declarator*/
UTL_ScopedName *sn = 0;
@@ -3174,61 +3246,61 @@ case 201:
1);
}
break;
-case 204:
+case 205:
{
/* signed_int : IDL_LONG*/
tao_yyval.etval = AST_Expression::EV_long;
}
break;
-case 205:
+case 206:
{
/* | IDL_LONG IDL_LONG*/
tao_yyval.etval = AST_Expression::EV_longlong;
}
break;
-case 206:
+case 207:
{
/* | IDL_SHORT*/
tao_yyval.etval = AST_Expression::EV_short;
}
break;
-case 207:
+case 208:
{
/* unsigned_int : IDL_UNSIGNED IDL_LONG*/
tao_yyval.etval = AST_Expression::EV_ulong;
}
break;
-case 208:
+case 209:
{
/* | IDL_UNSIGNED IDL_LONG IDL_LONG*/
tao_yyval.etval = AST_Expression::EV_ulonglong;
}
break;
-case 209:
+case 210:
{
/* | IDL_UNSIGNED IDL_SHORT*/
tao_yyval.etval = AST_Expression::EV_ushort;
}
break;
-case 210:
+case 211:
{
/* floating_pt_type : IDL_DOUBLE*/
tao_yyval.etval = AST_Expression::EV_double;
}
break;
-case 211:
+case 212:
{
/* | IDL_FLOAT*/
tao_yyval.etval = AST_Expression::EV_float;
}
break;
-case 212:
+case 213:
{
/* | IDL_LONG IDL_DOUBLE*/
tao_yyval.etval = AST_Expression::EV_longdouble;
}
break;
-case 213:
+case 214:
{
/* fixed_type : IDL_FIXED*/
ACE_DEBUG ((LM_DEBUG,
@@ -3240,56 +3312,56 @@ case 213:
ACE_TEXT (" fixed types yet\n")));
}
break;
-case 214:
+case 215:
{
/* char_type : IDL_CHAR*/
tao_yyval.etval = AST_Expression::EV_char;
}
break;
-case 215:
+case 216:
{
/* | IDL_WCHAR*/
tao_yyval.etval = AST_Expression::EV_wchar;
}
break;
-case 216:
+case 217:
{
/* octet_type : IDL_OCTET*/
tao_yyval.etval = AST_Expression::EV_octet;
}
break;
-case 217:
+case 218:
{
/* boolean_type : IDL_BOOLEAN*/
tao_yyval.etval = AST_Expression::EV_bool;
}
break;
-case 218:
+case 219:
{
/* any_type : IDL_ANY*/
tao_yyval.etval = AST_Expression::EV_any;
}
break;
-case 219:
+case 220:
{
/* object_type : IDL_OBJECT*/
tao_yyval.etval = AST_Expression::EV_object;
}
break;
-case 220:
+case 221:
{
/* struct_decl : IDL_STRUCT*/
idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen);
}
break;
-case 221:
+case 222:
{
/* id*/
idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen);
tao_yyval.idval = tao_yyvsp[0].idval;
}
break;
-case 222:
+case 223:
{
/* struct_type : struct_header*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3318,19 +3390,19 @@ case 222:
idl_global->scopes ().push (d);
}
break;
-case 223:
+case 224:
{
/* '{'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen);
}
break;
-case 224:
+case 225:
{
/* at_least_one_member*/
idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen);
}
break;
-case 225:
+case 226:
{
/* '}'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen);
@@ -3344,26 +3416,26 @@ case 225:
idl_global->scopes ().pop ();
}
break;
-case 229:
+case 230:
{
/* member :*/
/* is $0 to member_i */
tao_yyval.vival = AST_Field::vis_NA;
}
break;
-case 231:
+case 232:
{
/* member_i : type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen);
}
break;
-case 232:
+case 233:
{
/* at_least_one_declarator*/
idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen);
}
break;
-case 233:
+case 234:
{
/* ';'*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3418,51 +3490,51 @@ case 233:
}
}
break;
-case 234:
+case 235:
{
/* | error*/
idl_global->err()->syntax_error (idl_global->parse_state ());
}
break;
-case 235:
+case 236:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
tao_yyerrok;
}
break;
-case 236:
+case 237:
{
/* union_decl : IDL_UNION*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen);
}
break;
-case 237:
+case 238:
{
/* id*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen);
tao_yyval.idval = tao_yyvsp[0].idval;
}
break;
-case 238:
+case 239:
{
/* union_type : union_decl IDL_SWITCH*/
idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen);
}
break;
-case 239:
+case 240:
{
/* '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_SwitchOpenParSeen);
}
break;
-case 240:
+case 241:
{
/* switch_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen);
}
break;
-case 241:
+case 242:
{
/* ')'*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3502,19 +3574,19 @@ case 241:
idl_global->scopes ().push (u);
}
break;
-case 242:
+case 243:
{
/* '{'*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen);
}
break;
-case 243:
+case 244:
{
/* at_least_one_case_branch*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen);
}
break;
-case 244:
+case 245:
{
/* '}'*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen);
@@ -3532,7 +3604,7 @@ case 244:
}
}
break;
-case 245:
+case 246:
{
/* switch_type_spec : integer_type*/
tao_yyval.dcval =
@@ -3541,7 +3613,7 @@ case 245:
);
}
break;
-case 246:
+case 247:
{
/* | char_type*/
/* wchars are not allowed. */
@@ -3556,7 +3628,7 @@ case 246:
);
}
break;
-case 247:
+case 248:
{
/* | octet_type*/
/* octets are not allowed. */
@@ -3567,7 +3639,7 @@ case 247:
);
}
break;
-case 248:
+case 249:
{
/* | boolean_type*/
tao_yyval.dcval =
@@ -3576,7 +3648,7 @@ case 248:
);
}
break;
-case 250:
+case 251:
{
/* | enum_type*/
/* | scoped_name*/
@@ -3672,19 +3744,19 @@ case 250:
}
}
break;
-case 254:
+case 255:
{
/* case_branch : at_least_one_case_label*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen);
}
break;
-case 255:
+case 256:
{
/* element_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen);
}
break;
-case 256:
+case 257:
{
/* ';'*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3710,20 +3782,20 @@ case 256:
}
}
break;
-case 257:
+case 258:
{
/* | error*/
idl_global->err()->syntax_error (idl_global->parse_state());
}
break;
-case 258:
+case 259:
{
/* ';'*/
idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
tao_yyerrok;
}
break;
-case 259:
+case 260:
{
/* at_least_one_case_label : case_label case_labels*/
ACE_NEW_RETURN (tao_yyval.llval,
@@ -3732,7 +3804,7 @@ case 259:
1);
}
break;
-case 260:
+case 261:
{
/* case_labels : case_labels case_label*/
if (tao_yyvsp[-1].llval == 0)
@@ -3754,19 +3826,19 @@ case 260:
}
}
break;
-case 261:
+case 262:
{
/* | /* EMPTY * /*/
tao_yyval.llval = 0;
}
break;
-case 262:
+case 263:
{
/* case_label : IDL_DEFAULT*/
idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen);
}
break;
-case 263:
+case 264:
{
/* ':'*/
idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen);
@@ -3777,18 +3849,18 @@ case 263:
);
}
break;
-case 264:
+case 265:
{
/* | IDL_CASE*/
idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen);
}
break;
-case 265:
+case 266:
{
idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen);
}
break;
-case 266:
+case 267:
{
/* const_expr*/
idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen);
@@ -3799,13 +3871,13 @@ case 266:
);
}
break;
-case 267:
+case 268:
{
/* element_spec : type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen);
}
break;
-case 268:
+case 269:
{
/* declarator*/
idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen);
@@ -3845,7 +3917,7 @@ case 268:
}
}
break;
-case 269:
+case 270:
{
/* struct_forward_type : struct_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3863,7 +3935,7 @@ case 269:
}
}
break;
-case 270:
+case 271:
{
/* union_forward_type : union_decl*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3881,13 +3953,13 @@ case 270:
}
}
break;
-case 271:
+case 272:
{
/* enum_type : IDL_ENUM*/
idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen);
}
break;
-case 272:
+case 273:
{
/* id*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3917,19 +3989,19 @@ case 272:
idl_global->scopes ().push (e);
}
break;
-case 273:
+case 274:
{
/* '{'*/
idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen);
}
break;
-case 274:
+case 275:
{
/* at_least_one_enumerator*/
idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen);
}
break;
-case 275:
+case 276:
{
/* '}'*/
idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen);
@@ -3950,13 +4022,13 @@ case 275:
}
}
break;
-case 277:
+case 278:
{
/* enumerators : enumerators ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen);
}
break;
-case 280:
+case 281:
{
/* enumerator : IDENTIFIER*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -3987,19 +4059,19 @@ case 280:
}
}
break;
-case 281:
+case 282:
{
/* sequence_type_spec : seq_head ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen);
}
break;
-case 282:
+case 283:
{
/* positive_int_expr*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen);
}
break;
-case 283:
+case 284:
{
/* '>'*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen);
@@ -4053,7 +4125,7 @@ case 283:
}
}
break;
-case 284:
+case 285:
{
/* | seq_head '>'*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen);
@@ -4101,7 +4173,7 @@ case 284:
}
}
break;
-case 285:
+case 286:
{
/* seq_head : IDL_SEQUENCE*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen);
@@ -4112,32 +4184,32 @@ case 285:
idl_global->scopes ().push (0);
}
break;
-case 286:
+case 287:
{
/* '<'*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen);
}
break;
-case 287:
+case 288:
{
/* simple_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen);
tao_yyval.dcval = tao_yyvsp[0].dcval;
}
break;
-case 288:
+case 289:
{
/* string_type_spec : string_head '<'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen);
}
break;
-case 289:
+case 290:
{
/* positive_int_expr*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen);
}
break;
-case 290:
+case 291:
{
/* '>'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen);
@@ -4166,7 +4238,7 @@ case 290:
}
}
break;
-case 291:
+case 292:
{
/* | string_head*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted);
@@ -4187,25 +4259,25 @@ case 291:
);
}
break;
-case 292:
+case 293:
{
/* string_head : IDL_STRING*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen);
}
break;
-case 293:
+case 294:
{
/* wstring_type_spec : wstring_head '<'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen);
}
break;
-case 294:
+case 295:
{
/* positive_int_expr*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen);
}
break;
-case 295:
+case 296:
{
/* '>'*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen);
@@ -4232,7 +4304,7 @@ case 295:
}
}
break;
-case 296:
+case 297:
{
/* | wstring_head*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted);
@@ -4252,19 +4324,19 @@ case 296:
);
}
break;
-case 297:
+case 298:
{
/* wstring_head : IDL_WSTRING*/
idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen);
}
break;
-case 298:
+case 299:
{
/* array_declarator : id*/
idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen);
}
break;
-case 299:
+case 300:
{
/* at_least_one_array_dim*/
idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted);
@@ -4287,7 +4359,7 @@ case 299:
}
}
break;
-case 300:
+case 301:
{
/* at_least_one_array_dim : array_dim array_dims*/
ACE_NEW_RETURN (tao_yyval.elval,
@@ -4296,7 +4368,7 @@ case 300:
1);
}
break;
-case 301:
+case 302:
{
/* array_dims : array_dims array_dim*/
if (tao_yyvsp[-1].elval == 0)
@@ -4318,25 +4390,25 @@ case 301:
}
}
break;
-case 302:
+case 303:
{
/* | /* EMPTY * /*/
tao_yyval.elval = 0;
}
break;
-case 303:
+case 304:
{
/* array_dim : '['*/
idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen);
}
break;
-case 304:
+case 305:
{
/* positive_int_expr*/
idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen);
}
break;
-case 305:
+case 306:
{
/* ']'*/
idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen);
@@ -4358,19 +4430,19 @@ case 305:
}
}
break;
-case 306:
+case 307:
{
/* attribute : opt_readonly IDL_ATTRIBUTE*/
idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen);
}
break;
-case 307:
+case 308:
{
/* param_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen);
}
break;
-case 308:
+case 309:
{
/* at_least_one_simple_declarator*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4420,26 +4492,26 @@ case 308:
}
}
break;
-case 309:
+case 310:
{
/* opt_readonly : IDL_READONLY*/
idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen);
tao_yyval.bval = I_TRUE;
}
break;
-case 310:
+case 311:
{
/* | /* EMPTY * /*/
tao_yyval.bval = I_FALSE;
}
break;
-case 311:
+case 312:
{
/* exception : IDL_EXCEPTION*/
idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen);
}
break;
-case 312:
+case 313:
{
/* id*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4466,19 +4538,19 @@ case 312:
idl_global->scopes ().push (e);
}
break;
-case 313:
+case 314:
{
/* '{'*/
idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen);
}
break;
-case 314:
+case 315:
{
/* members*/
idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen);
}
break;
-case 315:
+case 316:
{
/* '}'*/
idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen);
@@ -4488,18 +4560,19 @@ case 315:
idl_global->scopes ().pop ();
}
break;
-case 316:
+case 317:
{
/* operation : opt_op_attribute op_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen);
}
break;
-case 317:
+case 318:
{
/* IDENTIFIER*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
Identifier id (tao_yyvsp[0].strval);
- UTL_ScopedName n (&id, 0);
+ UTL_ScopedName n (&id,
+ 0);
AST_Operation *o = 0;
idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen);
@@ -4541,19 +4614,19 @@ case 317:
idl_global->scopes ().push (o);
}
break;
-case 318:
+case 319:
{
/* parameter_list*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted);
}
break;
-case 319:
+case 320:
{
/* opt_raises*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted);
}
break;
-case 320:
+case 321:
{
/* opt_context*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4584,27 +4657,27 @@ case 320:
idl_global->scopes ().pop ();
}
break;
-case 321:
+case 322:
{
/* opt_op_attribute : IDL_ONEWAY*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen);
tao_yyval.ofval = AST_Operation::OP_oneway;
}
break;
-case 322:
+case 323:
{
/* | IDL_IDEMPOTENT*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen);
tao_yyval.ofval = AST_Operation::OP_idempotent;
}
break;
-case 323:
+case 324:
{
/* | /* EMPTY * /*/
tao_yyval.ofval = AST_Operation::OP_noflags;
}
break;
-case 325:
+case 326:
{
/* op_type_spec : param_type_spec | IDL_VOID*/
tao_yyval.dcval =
@@ -4613,14 +4686,14 @@ case 325:
);
}
break;
-case 326:
+case 327:
{
/* init_decl : IDL_FACTORY */
/*@@ PS_FactorySeen?*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen);
}
break;
-case 327:
+case 328:
{
/* IDENTIFIER */
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4658,7 +4731,7 @@ case 327:
idl_global->scopes ().push (factory);
}
break;
-case 328:
+case 329:
{
/* init_parameter_list*/
/* TODO: replace parameter_list with rule that accepts only IN args */
@@ -4667,49 +4740,49 @@ case 328:
idl_global->scopes ().pop ();
}
break;
-case 329:
+case 330:
{
/* init_parameter_list : '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen);
}
break;
-case 330:
+case 331:
{
/* ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen);
}
break;
-case 331:
+case 332:
{
/* | '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen);
}
break;
-case 332:
+case 333:
{
/* at_least_one_in_parameter ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen);
}
break;
-case 334:
+case 335:
{
/* in_parameters : in_parameters ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen);
}
break;
-case 337:
+case 338:
{
/* in_parameter : IDL_IN*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen);
}
break;
-case 338:
+case 339:
{
/* param_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen);
}
break;
-case 339:
+case 340:
{
/* declarator*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4739,49 +4812,49 @@ case 339:
}
}
break;
-case 340:
+case 341:
{
/* parameter_list : '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen);
}
break;
-case 341:
+case 342:
{
/* ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen);
}
break;
-case 342:
+case 343:
{
/* | '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen);
}
break;
-case 343:
+case 344:
{
/* at_least_one_parameter ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen);
}
break;
-case 345:
+case 346:
{
/* parameters : parameters ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen);
}
break;
-case 348:
+case 349:
{
/* parameter : direction*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen);
}
break;
-case 349:
+case 350:
{
/* param_type_spec*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen);
}
break;
-case 350:
+case 351:
{
/* declarator*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -4825,7 +4898,7 @@ case 350:
}
}
break;
-case 351:
+case 352:
{
/* param_type_spec : base_type_spec*/
tao_yyval.dcval =
@@ -4834,7 +4907,7 @@ case 351:
);
}
break;
-case 354:
+case 355:
{
/* | string_type_spec*/
/* | wstring_type_spec*/
@@ -4871,75 +4944,75 @@ case 354:
tao_yyval.dcval = d;
}
break;
-case 355:
+case 356:
{
/* direction : IDL_IN*/
tao_yyval.dival = AST_Argument::dir_IN;
}
break;
-case 356:
+case 357:
{
/* | IDL_OUT*/
tao_yyval.dival = AST_Argument::dir_OUT;
}
break;
-case 357:
+case 358:
{
/* | IDL_INOUT*/
tao_yyval.dival = AST_Argument::dir_INOUT;
}
break;
-case 358:
+case 359:
{
/* opt_raises : IDL_RAISES*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen);
}
break;
-case 359:
+case 360:
{
/* '('*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen);
}
break;
-case 360:
+case 361:
{
/* at_least_one_scoped_name ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen);
tao_yyval.nlval = tao_yyvsp[-1].nlval;
}
break;
-case 361:
+case 362:
{
tao_yyval.nlval = 0;
/* | /* EMPTY * /*/
}
break;
-case 362:
+case 363:
{
/* opt_context : IDL_CONTEXT*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen);
}
break;
-case 363:
+case 364:
{
idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen);
/* '('*/
}
break;
-case 364:
+case 365:
{
/* at_least_one_string_literal ')'*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen);
tao_yyval.slval = tao_yyvsp[-1].slval;
}
break;
-case 365:
+case 366:
{
/* | /* EMPTY * /*/
tao_yyval.slval = 0;
}
break;
-case 366:
+case 367:
{
/* at_least_one_string_literal : IDL_STRING_LITERAL string_literals*/
ACE_NEW_RETURN (tao_yyval.slval,
@@ -4948,13 +5021,13 @@ case 366:
1);
}
break;
-case 367:
+case 368:
{
/* string_literals : string_literals ','*/
idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen);
}
break;
-case 368:
+case 369:
{
/* IDL_STRING_LITERAL*/
if (tao_yyvsp[-3].slval == 0)
@@ -4976,13 +5049,13 @@ case 368:
}
}
break;
-case 369:
+case 370:
{
/* | /* EMPTY * /*/
tao_yyval.slval = 0;
}
break;
-case 370:
+case 371:
{
/* typeid_dcl : IDL_TYPEID scoped_name IDL_STRING_LITERAL*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -5001,7 +5074,7 @@ case 370:
}
}
break;
-case 371:
+case 372:
{
/* typeprefix_dcl : IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL*/
UTL_Scope *s = idl_global->scopes ().top_non_null ();
@@ -5020,6 +5093,661 @@ case 371:
}
}
break;
+case 375:
+{
+/* component_forward_decl : IDL_COMPONENT id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ UTL_ScopedName n (tao_yyvsp[0].idval,
+ 0);
+ AST_ComponentFwd *f = 0;
+ idl_global->set_parse_state (
+ IDL_GlobalData::PS_ComponentForwardSeen
+ );
+
+ /*
+ * Create a node representing a forward declaration of a
+ * component. Store it in the enclosing scope.
+ */
+ if (s != 0)
+ {
+ f = idl_global->gen ()->create_component_fwd (&n);
+ (void) s->fe_add_component_fwd (f);
+ }
+ }
+break;
+case 376:
+{
+/* component_decl : component_header */
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Component *c = 0;
+
+ /*
+ * Make a new component node and add it to the enclosing scope.
+ */
+ if (s != 0 && tao_yyvsp[0].chval != 0)
+ {
+ c =
+ idl_global->gen ()->create_component (
+ tao_yyvsp[0].chval->name (),
+ tao_yyvsp[0].chval->base_component (),
+ tao_yyvsp[0].chval->supports (),
+ tao_yyvsp[0].chval->n_supports (),
+ tao_yyvsp[0].chval->supports_flat (),
+ tao_yyvsp[0].chval->n_supports_flat ()
+ );
+ AST_Interface *i = AST_Interface::narrow_from_decl (c);
+ AST_Interface::fwd_redefinition_helper (i,
+ s);
+ /*
+ * Add the component to its definition scope.
+ */
+ c = AST_Component::narrow_from_decl (i);
+ (void) s->fe_add_component (c);
+
+ /* This FE_ComponentHeader class isn't destroyed with the AST.*/
+ tao_yyvsp[0].chval->name ()->destroy ();
+ delete tao_yyvsp[0].chval;
+ tao_yyvsp[0].chval = 0;
+ }
+
+ /*
+ * Push it on the scope stack.
+ */
+ idl_global->scopes ().push (c);
+ }
+break;
+case 377:
+{
+/* '{'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen);
+ }
+break;
+case 378:
+{
+/* component_exports*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen);
+ }
+break;
+case 379:
+{
+/* '}'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen);
+
+ /*
+ * Done with this component - pop it off the scopes stack.
+ */
+ UTL_Scope* s = idl_global->scopes ().top ();
+ AST_Interface* m = AST_Interface::narrow_from_scope (s);
+ m->inherited_name_clash ();
+ idl_global->scopes ().pop ();
+ }
+break;
+case 380:
+{
+/* id*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen);
+ }
+break;
+case 381:
+{
+/* component_inheritance_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen);
+ }
+break;
+case 382:
+{
+/* supports_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen);
+
+ /*
+ * Create an AST representation of the information in the header
+ * part of a component.
+ */
+ UTL_ScopedName n (tao_yyvsp[-4].idval,
+ 0);
+ ACE_NEW_RETURN (tao_yyval.chval,
+ FE_ComponentHeader (&n,
+ tao_yyvsp[-2].idlist,
+ tao_yyvsp[0].nlval,
+ I_FALSE),
+ 1);
+ }
+break;
+case 383:
+{
+/* component_inheritance_spec : ':'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen);
+ }
+break;
+case 384:
+{
+/* scoped_name*/
+ tao_yyval.idlist = tao_yyvsp[0].idlist;
+ }
+break;
+case 385:
+{
+/* | /* EMPTY * /*/
+ tao_yyval.idlist = 0;
+ }
+break;
+case 388:
+{
+/* component_export : provides_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen);
+ }
+break;
+case 389:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 390:
+{
+/* | uses_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen);
+ }
+break;
+case 391:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 392:
+{
+/* | emits_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen);
+ }
+break;
+case 393:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 394:
+{
+/* | publishes_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen);
+ }
+break;
+case 395:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 396:
+{
+/* | consumes_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen);
+ }
+break;
+case 397:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 398:
+{
+/* | attribute*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen);
+ }
+break;
+case 399:
+{
+/* ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 400:
+{
+/* provides_decl : IDL_PROVIDES interface_type id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Component *c = AST_Component::narrow_from_scope (s);
+
+ if (c != 0)
+ {
+ AST_Component::port_description pd;
+ pd.id = tao_yyvsp[0].idval;
+ pd.impl = tao_yyvsp[-1].idlist;
+ c->provides ().enqueue_tail (pd);
+ }
+ }
+break;
+case 401:
+{
+/* interface_type : scoped_name*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name (tao_yyvsp[0].idlist,
+ I_TRUE);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error (tao_yyvsp[0].idlist);
+ }
+ else if (d->node_type () != AST_Decl::NT_interface)
+ {
+ idl_global->err ()->interface_expected (d);
+ }
+
+ tao_yyval.idlist = tao_yyvsp[0].idlist;
+ }
+break;
+case 402:
+{
+/* | IDL_OBJECT*/
+ Identifier *corba_id = 0;
+ ACE_NEW_RETURN (corba_id,
+ Identifier ("Object"),
+ 1);
+ UTL_IdList *conc_name = 0;
+ ACE_NEW_RETURN (conc_name,
+ UTL_IdList (corba_id,
+ 0),
+ 1);
+ ACE_NEW_RETURN (corba_id,
+ Identifier ("CORBA"),
+ 1);
+ UTL_IdList *corba_name = 0;
+ ACE_NEW_RETURN (corba_name,
+ UTL_IdList (corba_id,
+ conc_name),
+ 1);
+ tao_yyval.idlist = corba_name;
+ }
+break;
+case 403:
+{
+/* uses_decl : IDL_USES opt_multiple interface_type id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Component *c = AST_Component::narrow_from_scope (s);
+
+ if (c != 0)
+ {
+ AST_Component::uses_description ud;
+ ud.id = tao_yyvsp[0].idval;
+ ud.impl = tao_yyvsp[-1].idlist;
+ ud.is_multiple = tao_yyvsp[-2].bval;
+ c->uses ().enqueue_tail (ud);
+ }
+ }
+break;
+case 404:
+{
+/* opt_multiple : IDL_MULTIPLE*/
+ tao_yyval.bval = I_TRUE;
+ }
+break;
+case 405:
+{
+/* | /* EMPTY * /*/
+ tao_yyval.bval = I_FALSE;
+ }
+break;
+case 406:
+{
+/* emits_decl : IDL_EMITS scoped_name id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name (tao_yyvsp[-1].idlist,
+ I_TRUE);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error (tao_yyvsp[-1].idlist);
+ }
+ else if (d->node_type () != AST_Decl::NT_valuetype)
+ {
+ idl_global->err ()->valuetype_expected (d);
+ }
+
+ AST_Component *c = AST_Component::narrow_from_scope (s);
+
+ if (c != 0)
+ {
+ AST_Component::port_description pd;
+ pd.id = tao_yyvsp[0].idval;
+ pd.impl = tao_yyvsp[-1].idlist;
+ c->emits ().enqueue_tail (pd);
+ }
+ }
+break;
+case 407:
+{
+/* publishes_decl : IDL_PUBLISHES scoped_name id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name (tao_yyvsp[-1].idlist,
+ I_TRUE);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error (tao_yyvsp[-1].idlist);
+ }
+ else if (d->node_type () != AST_Decl::NT_valuetype)
+ {
+ idl_global->err ()->valuetype_expected (d);
+ }
+
+ AST_Component *c = AST_Component::narrow_from_scope (s);
+
+ if (c != 0)
+ {
+ AST_Component::port_description pd;
+ pd.id = tao_yyvsp[0].idval;
+ pd.impl = tao_yyvsp[-1].idlist;
+ c->publishes ().enqueue_tail (pd);
+ }
+ }
+break;
+case 408:
+{
+/* consumes_decl : IDL_CONSUMES scoped_name id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Decl *d = s->lookup_by_name (tao_yyvsp[-1].idlist,
+ I_TRUE);
+
+ if (d == 0)
+ {
+ idl_global->err ()->lookup_error (tao_yyvsp[-1].idlist);
+ }
+ else if (d->node_type () != AST_Decl::NT_valuetype)
+ {
+ idl_global->err ()->valuetype_expected (d);
+ }
+
+ AST_Component *c = AST_Component::narrow_from_scope (s);
+
+ if (c != 0)
+ {
+ AST_Component::port_description pd;
+ pd.id = tao_yyvsp[0].idval;
+ pd.impl = tao_yyvsp[-1].idlist;
+ c->consumes ().enqueue_tail (pd);
+ }
+ }
+break;
+case 409:
+{
+/* home_decl : home_header */
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ AST_Home *h = 0;
+
+ /*
+ * Make a new home node and add it to the enclosing scope.
+ */
+ if (s != 0 && tao_yyvsp[0].hhval != 0)
+ {
+ h =
+ idl_global->gen ()->create_home (
+ tao_yyvsp[0].hhval->name (),
+ tao_yyvsp[0].hhval->base_home (),
+ tao_yyvsp[0].hhval->managed_component (),
+ tao_yyvsp[0].hhval->primary_key (),
+ tao_yyvsp[0].hhval->supports (),
+ tao_yyvsp[0].hhval->n_supports (),
+ tao_yyvsp[0].hhval->supports_flat (),
+ tao_yyvsp[0].hhval->n_supports_flat ()
+ );
+ /*
+ * Add the home to its definition scope.
+ */
+ (void) s->fe_add_home (h);
+
+ /* This FE_HomeHeader class isn't destroyed with the AST.*/
+ tao_yyvsp[0].hhval->name ()->destroy ();
+ delete tao_yyvsp[0].hhval;
+ tao_yyvsp[0].hhval = 0;
+ }
+
+ /*
+ * Push it on the scope stack.
+ */
+ idl_global->scopes ().push (h);
+ }
+break;
+case 411:
+{
+/* home_header : IDL_HOME*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen);
+ }
+break;
+case 412:
+{
+/* id*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen);
+ }
+break;
+case 413:
+{
+/* home_inheritance_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen);
+ }
+break;
+case 414:
+{
+/* supports_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen);
+ }
+break;
+case 415:
+{
+/* IDL_MANAGES*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen);
+ }
+break;
+case 416:
+{
+/* scoped_name*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen);
+ }
+break;
+case 417:
+{
+/* primary_key_spec*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen);
+
+ /*
+ * Create an AST representation of the information in the header
+ * part of a component home.
+ */
+ UTL_ScopedName n (tao_yyvsp[-10].idval,
+ 0);
+ ACE_NEW_RETURN (tao_yyval.hhval,
+ FE_HomeHeader (&n,
+ tao_yyvsp[-8].idlist,
+ tao_yyvsp[-6].nlval,
+ tao_yyvsp[-2].idlist,
+ tao_yyvsp[0].idlist),
+ 1);
+ }
+break;
+case 418:
+{
+/* home_inheritance_spec ':' */
+ idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen);
+ }
+break;
+case 419:
+{
+/* scoped_name*/
+ tao_yyval.idlist = tao_yyvsp[0].idlist;
+ }
+break;
+case 420:
+{
+/* | /* EMPTY * /*/
+ tao_yyval.idlist = 0;
+ }
+break;
+case 421:
+{
+/* primary_key_spec : IDL_PRIMARYKEY scoped_name*/
+ tao_yyval.idlist = tao_yyvsp[0].idlist;
+ }
+break;
+case 422:
+{
+/* | /* EMPTY * /*/
+ tao_yyval.idlist = 0;
+ }
+break;
+case 423:
+{
+/* home_body : '{'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen);
+ }
+break;
+case 424:
+{
+/* home_exports*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen);
+ }
+break;
+case 425:
+{
+/* '}'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen);
+ }
+break;
+case 429:
+{
+/* home_export : factory_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen);
+ }
+break;
+case 430:
+{
+/* | ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 431:
+{
+/* | finder_decl*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen);
+ }
+break;
+case 432:
+{
+/* | ';'*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_NoState);
+ }
+break;
+case 433:
+{
+/* factory_decl : IDL_FACTORY id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ UTL_ScopedName n (tao_yyvsp[0].idval,
+ 0);
+ AST_Operation *o = 0;
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen);
+
+ /*
+ * Create a node representing a factory operation
+ * and add it to the enclosing scope.
+ */
+ if (s != 0)
+ {
+ AST_Home *home = AST_Home::narrow_from_scope (s);
+ AST_Component *rt = home->managed_component ();
+
+ o =
+ idl_global->gen ()->create_operation (
+ rt,
+ AST_Operation::OP_noflags,
+ &n,
+ I_TRUE,
+ I_FALSE
+ );
+ (void) s->fe_add_operation (o);
+ home->factories ().enqueue_tail (o);
+ }
+
+ ACE_OS::free (tao_yyvsp[0].idval);
+ tao_yyvsp[0].idval = 0;
+
+ /*
+ * Push the operation scope onto the scopes stack.
+ */
+ idl_global->scopes ().push (o);
+ }
+break;
+case 434:
+{
+/* init_parameter_list*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted);
+ }
+break;
+case 435:
+{
+/* opt_raises*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted);
+
+ /*
+ * Done with this operation. Pop its scope from the scopes stack.
+ */
+ idl_global->scopes ().pop ();
+ }
+break;
+case 436:
+{
+/* finder_decl : IDL_FINDER id*/
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+ UTL_ScopedName n (tao_yyvsp[0].idval,
+ 0);
+ AST_Operation *o = 0;
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen);
+
+ /*
+ * Create a node representing a finder operation
+ * and add it to the enclosing scope.
+ */
+ if (s != 0)
+ {
+ AST_Home *home = AST_Home::narrow_from_scope (s);
+ AST_Component *rt = home->managed_component ();
+
+ o =
+ idl_global->gen ()->create_operation (
+ rt,
+ AST_Operation::OP_noflags,
+ &n,
+ I_TRUE,
+ I_FALSE
+ );
+ (void) s->fe_add_operation (o);
+ home->finders ().enqueue_tail (o);
+ }
+
+ ACE_OS::free (tao_yyvsp[0].idval);
+ tao_yyvsp[0].idval = 0;
+
+ /*
+ * Push the operation scope onto the scopes stack.
+ */
+ idl_global->scopes ().push (o);
+ }
+break;
+case 437:
+{
+/* init_parameter_list*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted);
+ }
+break;
+case 438:
+{
+/* opt_raises*/
+ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted);
+
+ /*
+ * Done with this operation. Pop its scope from the scopes stack.
+ */
+ idl_global->scopes ().pop ();
+ }
+break;
}
tao_yyssp -= tao_yym;
tao_yystate = *tao_yyssp;