diff options
Diffstat (limited to 'TAO/TAO_IDL/fe/y.tab.cpp')
-rw-r--r-- | TAO/TAO_IDL/fe/y.tab.cpp | 2546 |
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; |