diff options
Diffstat (limited to 'TAO/TAO_IDL/fe/y.tab.cpp')
-rw-r--r-- | TAO/TAO_IDL/fe/y.tab.cpp | 1978 |
1 files changed, 1089 insertions, 889 deletions
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp index c74013ced4b..ce77354aec5 100644 --- a/TAO/TAO_IDL/fe/y.tab.cpp +++ b/TAO/TAO_IDL/fe/y.tab.cpp @@ -18,8 +18,8 @@ char tao_yysccsid[] = "@(#)yaccpar 1.4 (Berkeley) 02/25/90 \n\ #include "utl_err.h" #include "ast_generator.h" #include "ast_module.h" -#include "ast_interface.h" -#include "ast_interface_fwd.h" +#include "ast_valuetype.h" +#include "ast_valuetype_fwd.h" #include "utl_string.h" #include "ast_constant.h" #include "fe_declarator.h" @@ -158,511 +158,596 @@ typedef union { #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, 92, - 76, 93, 94, 95, 96, 88, 86, 86, 99, 101, - 102, 97, 103, 69, 33, 33, 33, 104, 22, 22, - 90, 90, 90, 90, 105, 105, 110, 112, 113, 109, - 114, 115, 116, 106, 34, 117, 70, 68, 68, 24, - 24, 107, 107, 108, 111, 111, 118, 118, 118, 123, - 119, 124, 119, 100, 100, 125, 120, 126, 120, 127, - 120, 128, 120, 129, 120, 131, 120, 133, 120, 134, - 120, 20, 135, 21, 21, 16, 136, 16, 137, 16, - 73, 98, 98, 98, 138, 139, 140, 141, 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, 143, 74, 74, 74, 74, 74, 74, - 145, 142, 1, 1, 2, 2, 2, 59, 59, 59, - 59, 59, 59, 59, 59, 4, 4, 4, 3, 3, - 3, 144, 144, 29, 148, 30, 30, 64, 64, 31, - 149, 32, 32, 65, 66, 51, 51, 57, 57, 57, - 58, 58, 58, 54, 54, 54, 55, 52, 52, 60, - 53, 56, 61, 150, 72, 151, 153, 154, 7, 152, - 156, 156, 157, 155, 158, 159, 122, 160, 122, 161, - 71, 162, 163, 164, 165, 167, 168, 10, 9, 9, - 9, 9, 9, 9, 166, 170, 170, 171, 172, 169, - 173, 169, 27, 28, 28, 174, 48, 175, 176, 48, - 177, 49, 146, 147, 178, 179, 181, 182, 8, 180, - 185, 184, 184, 183, 186, 187, 5, 5, 188, 189, - 13, 191, 192, 6, 6, 190, 194, 195, 14, 14, - 193, 196, 11, 25, 26, 26, 197, 198, 47, 199, - 200, 130, 67, 67, 201, 202, 203, 204, 84, 205, - 207, 208, 209, 132, 63, 63, 63, 12, 12, 210, - 212, 121, 213, 211, 215, 211, 214, 218, 217, 217, - 219, 220, 216, 221, 206, 223, 206, 222, 226, 225, - 225, 227, 228, 224, 15, 15, 15, 15, 62, 62, - 62, 229, 230, 23, 23, 231, 232, 17, 17, 18, - 233, 19, 19, 78, 80, + 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, }; short tao_yylen[] = { 2, 1, 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, + 3, 0, 3, 0, 3, 0, 3, 0, 0, 0, + 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, 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, 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, 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, + 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, }; short tao_yydefred[] = { 3, - 0, 0, 20, 105, 22, 33, 154, 214, 230, 265, - 305, 0, 0, 0, 0, 56, 0, 0, 156, 158, - 157, 29, 47, 0, 0, 0, 0, 4, 2, 6, - 8, 10, 12, 14, 16, 18, 27, 28, 41, 42, - 43, 44, 46, 160, 182, 183, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 159, 194, 0, 51, - 0, 0, 0, 45, 0, 97, 0, 96, 0, 0, - 0, 38, 35, 0, 200, 0, 204, 205, 208, 209, - 210, 211, 207, 212, 213, 279, 286, 291, 58, 64, - 163, 164, 166, 176, 177, 179, 181, 180, 0, 178, - 0, 168, 170, 171, 169, 173, 174, 196, 197, 165, - 172, 175, 0, 0, 216, 0, 0, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 21, 116, 117, - 0, 106, 110, 111, 113, 114, 115, 112, 23, 34, - 161, 155, 215, 231, 266, 306, 36, 0, 37, 57, - 0, 364, 99, 365, 30, 48, 0, 199, 206, 0, - 203, 0, 275, 278, 0, 282, 287, 0, 217, 5, - 7, 9, 11, 13, 15, 17, 19, 0, 0, 0, - 0, 0, 52, 98, 0, 75, 66, 0, 39, 202, - 280, 0, 0, 55, 0, 0, 233, 223, 107, 24, - 195, 162, 187, 188, 189, 0, 267, 307, 75, 100, - 0, 0, 0, 0, 144, 145, 146, 148, 150, 151, - 152, 149, 147, 0, 0, 0, 0, 0, 153, 0, - 0, 0, 0, 0, 0, 133, 137, 142, 276, 0, - 283, 288, 0, 218, 222, 0, 0, 3, 0, 0, - 0, 222, 0, 90, 303, 315, 316, 0, 0, 76, - 78, 80, 82, 84, 0, 74, 86, 88, 320, 72, - 70, 0, 65, 67, 68, 0, 93, 281, 138, 139, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 243, 234, 0, 239, - 240, 242, 241, 0, 0, 228, 225, 224, 108, 0, - 185, 297, 293, 296, 274, 268, 273, 0, 0, 0, - 319, 346, 310, 347, 318, 0, 345, 300, 0, 0, - 0, 0, 0, 32, 0, 0, 0, 0, 0, 50, - 69, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 134, 135, 136, 277, 284, 289, 0, 219, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, - 91, 0, 0, 77, 79, 81, 83, 85, 87, 89, - 321, 73, 71, 0, 235, 229, 226, 109, 119, 26, - 186, 298, 295, 269, 271, 309, 311, 301, 0, 0, - 0, 0, 0, 0, 0, 0, 322, 236, 227, 299, - 272, 0, 312, 302, 193, 0, 0, 0, 0, 0, - 0, 0, 324, 331, 0, 330, 251, 258, 256, 248, - 255, 237, 247, 335, 349, 350, 351, 342, 0, 341, - 352, 313, 191, 0, 326, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 0, 0, 0, 332, - 328, 252, 259, 257, 261, 249, 254, 238, 246, 343, - 339, 353, 356, 314, 192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 333, 329, 260, 262, 250, 344, - 340, 0, 357, 354, 0, 363, 0, 0, 358, 361, - 0, 362, + 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, + 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, }; short tao_yydgoto[] = { 1, - 307, 91, 92, 93, 94, 95, 96, 97, 298, 98, - 201, 323, 99, 100, 325, 228, 474, 497, 498, 189, - 213, 73, 442, 194, 313, 366, 430, 451, 202, 249, - 414, 422, 22, 23, 388, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 314, 431, 466, 132, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 438, 258, 203, 204, 205, 259, 113, 24, 25, - 114, 115, 68, 260, 2, 29, 120, 261, 121, 262, - 122, 263, 123, 264, 124, 34, 125, 35, 126, 36, - 127, 47, 49, 179, 248, 363, 37, 38, 70, 211, - 186, 265, 50, 157, 39, 40, 41, 42, 43, 71, - 212, 187, 272, 148, 209, 319, 65, 273, 274, 266, - 276, 308, 339, 338, 329, 330, 331, 332, 333, 267, - 335, 268, 336, 320, 342, 151, 185, 48, 178, 247, - 362, 142, 51, 44, 180, 45, 46, 364, 459, 52, - 119, 244, 198, 304, 359, 305, 246, 361, 401, 360, - 53, 168, 243, 357, 400, 432, 418, 452, 433, 453, - 450, 480, 447, 449, 448, 478, 479, 54, 181, 316, - 251, 367, 317, 368, 403, 192, 293, 162, 214, 116, - 195, 294, 117, 196, 295, 250, 365, 402, 373, 405, - 55, 182, 252, 369, 372, 413, 404, 421, 458, 337, - 407, 399, 416, 425, 417, 426, 446, 477, 444, 476, - 419, 439, 420, 440, 456, 482, 454, 481, 457, 483, - 484, 495, 501, + 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, }; short tao_yysindex[] = { 0, - 0, 675, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -192, -186, -203, -226, 0, -194, -194, 0, 0, - 0, 0, 0, 68, 464, -143, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 636, -110, -192, - 483, -192, -192, -192, -192, 0, 0, 0, 68, 0, - 68, -145, -145, 0, -192, 0, -204, 0, -201, 37, - 41, 0, 0, -189, 0, -152, 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, 0, 0, 0, 0, 0, 0, 0, 126, 0, - -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 68, -143, 0, 111, 127, 0, 75, 146, - 154, 160, 173, 178, 191, 199, 202, 0, 0, 0, - -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, - -192, 0, 0, 0, 0, 0, -194, 0, 0, 27, - 0, 209, 0, 0, -14, 0, 0, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -192, 169, -192, - 189, 190, 0, 0, -192, 0, 0, -161, 0, 0, - 0, -24, -194, 0, -24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 748, 721, 274, 515, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 38, 38, -24, -161, 0, 172, - 236, 295, -199, -8, 144, 0, 0, 0, 0, -161, - 0, 0, 655, 0, 0, 445, 273, 0, 291, 245, - 80, 0, 748, 0, 0, 0, 0, 582, 53, 0, - 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 288, 0, 0, 0, 0, - 0, 307, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, 293, 294, 305, 95, 0, 0, -161, 0, - 0, 0, 0, 243, 0, 0, 0, 0, 0, 675, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 313, - 0, 0, 0, 0, 0, -161, 0, 0, 316, 318, - 319, 322, 323, 0, 325, 326, 129, 445, 445, 0, - 0, -194, 0, 236, 295, -199, -8, -8, 144, 144, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 330, - -192, -24, 267, -192, -24, 245, 271, 347, 272, 0, - 0, 141, 617, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 359, 278, - 344, 311, 80, 365, -192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 366, 119, -120, 368, -43, - 114, 367, 0, 0, 372, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, - 0, 0, 0, 617, 0, 371, 357, -24, 360, 483, - -80, 292, -120, 617, 0, 375, 383, 132, -192, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -192, 119, 369, -192, 374, - -192, -43, -194, 384, 0, 0, 0, 0, 0, 0, - 0, 385, 0, 0, 105, 0, 390, 388, 0, 0, - 113, 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, }; short tao_yyrindex[] = { 0, - 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 577, 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, 0, 0, -25, -10, 378, 2, 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, 23, 0, - 25, 31, -31, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -91, 0, 0, 117, 133, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 181, 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, 0, 0, 0, 0, 0, 97, - 0, 0, 0, 0, 317, 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, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, - 270, 297, -26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 13, 0, 247, - 576, 569, 252, 91, 21, 0, 0, 0, 0, 320, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 324, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 401, 0, 0, 403, 0, - 0, 0, 0, 0, 219, 0, 0, 0, 0, 321, - 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, + 576, 0, 0, 0, 419, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 581, 574, 561, 131, 142, 50, 58, + 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, 0, 0, 201, 0, 327, 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, 0, 0, 0, 0, - 0, 0, 0, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, - 0, -17, 0, 0, 0, 0, 0, 0, 0, 0, - -30, 391, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 199, 0, 522, 0, 0, 525, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 410, 0, 0, 0, 0, - 550, 0, 328, 0, 0, 413, 0, 396, 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, 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, 415, 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, }; short tao_yygindex[] = { 0, - -20, 244, 0, 0, 0, -44, 9, 6, 0, 11, - 0, 0, 0, -42, -326, -15, 0, 0, 0, -21, - 0, 62, 0, 0, 0, 0, 0, 0, 98, 0, - 0, 0, 0, 443, 0, -197, 0, 180, 182, 185, - -79, -32, -205, 28, 0, -127, 99, 22, 0, 0, - -9, -4, -3, 426, 429, 0, 0, 0, -177, -2, - 0, 0, 0, -270, -11, 0, 0, 0, 265, 266, - 15, 18, -12, 5, 230, 0, 0, 7, 0, 10, - 0, 12, 0, 16, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, - 0, 0, 0, 0, 0, 0, 0, 0, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, - 0, -54, 0, 0, 0, 0, 0, 0, 0, 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, + 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, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 281, 253, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 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, 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, - 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, - 0, 0, 0, 40, 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, }; -#define TAO_YYTABLESIZE 1066 -short tao_yytable[] = { 58, - 57, 67, 69, 129, 90, 130, 28, 20, 30, 101, - 19, 31, 21, 32, 92, 227, 26, 33, 224, 27, - 225, 95, 94, 334, 95, 94, 59, 323, 355, 282, - 141, 40, 131, 102, 288, 101, 289, 140, 133, 143, - 144, 145, 146, 134, 135, 138, 398, 59, 63, 141, - 141, 198, 150, 141, 141, 141, 6, 141, 130, 141, - 263, 130, 56, 130, 56, 130, 198, 241, 242, 198, - 141, 141, 158, 6, 141, 159, 16, 227, 130, 130, - 327, 103, 130, 104, 351, 352, 353, 131, 59, 62, - 131, 59, 131, 391, 131, 132, 92, 40, 132, 16, - 132, 226, 132, 95, 94, 141, 141, 131, 131, 160, - 161, 131, 59, 130, 130, 132, 132, 460, 152, 132, - 147, 154, 149, 153, 216, 72, 153, 470, 127, 286, - 287, 127, 118, 66, 128, 427, 141, 201, 184, 167, - 201, 188, 131, 131, 130, 40, 139, 40, 127, 127, - 132, 132, 127, 59, 167, 201, 89, 167, 201, 155, - 285, 428, 429, 156, 389, 199, 153, 206, 128, 163, - 166, 128, 210, 131, 165, 285, 290, 240, 285, 129, - 292, 132, 129, 127, 127, 290, 167, 164, 128, 128, - 291, 290, 128, 194, 290, 327, 194, 169, 101, 129, - 129, 428, 429, 129, 170, 485, 347, 348, 488, 40, - 490, 194, 171, 322, 127, 324, 20, 20, 172, 19, - 19, 21, 21, 128, 128, 26, 26, 299, 27, 27, - 101, 173, 56, 300, 129, 129, 174, 392, 301, 302, - 303, 294, 326, 292, 294, 435, 436, 437, 297, 175, - 463, 279, 280, 281, 128, 349, 350, 176, 20, 294, - 177, 19, 355, 21, 198, 129, 327, 26, 191, 59, - 27, 336, 336, 336, 92, 325, 327, 59, 61, 62, - 63, 95, 94, 382, 383, 183, 193, 120, 190, 125, - 59, 200, 125, 197, 56, 283, 215, 216, 217, 218, - 219, 220, 221, 66, 120, 120, 222, 223, 120, 125, - 125, 207, 208, 125, 28, 20, 30, 277, 19, 31, - 21, 32, 101, 101, 26, 33, 384, 27, 322, 284, - 324, 59, 285, 309, 311, 312, 315, 328, 334, 120, - 340, 141, 141, 220, 125, 125, 341, 343, 206, 130, - 130, 206, 167, 201, 354, 355, 158, 326, 215, 216, - 217, 218, 219, 220, 221, 66, 356, 358, 222, 223, - 308, 371, 370, 285, 374, 125, 375, 376, 131, 131, - 377, 378, 385, 379, 380, 381, 132, 132, 386, 290, - 395, 390, 58, 415, 31, 394, 396, 397, 406, 322, - 408, 324, 409, 410, 412, 441, 423, 424, 434, 322, - 443, 324, 445, 455, 461, 462, 468, 464, 471, 127, - 127, 49, 472, 493, 473, 494, 487, 496, 326, 465, - 499, 500, 489, 1, 101, 502, 264, 118, 326, 61, - 184, 198, 60, 244, 348, 25, 58, 475, 53, 190, - 327, 270, 245, 338, 359, 360, 60, 278, 387, 128, - 128, 492, 344, 206, 393, 345, 206, 188, 206, 346, - 129, 129, 467, 136, 223, 223, 137, 310, 245, 64, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 253, 223, 223, 223, 223, 469, - 275, 223, 223, 411, 318, 486, 0, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 491, 223, 223, 223, 223, 317, 0, 0, 0, - 0, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 0, 0, 0, 223, 0, 317, 317, - 0, 0, 0, 317, 304, 0, 0, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 0, 0, 0, 223, 0, 317, 317, 0, 0, 0, - 317, 304, 0, 0, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 126, 0, - 0, 126, 317, 317, 0, 0, 0, 0, 304, 123, - 0, 317, 0, 0, 124, 0, 121, 0, 126, 126, - 0, 122, 126, 0, 317, 0, 123, 123, 0, 0, - 123, 124, 124, 121, 121, 124, 0, 121, 122, 122, - 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, - 0, 317, 0, 126, 126, 0, 0, 0, 0, 0, - 0, 123, 123, 0, 0, 0, 124, 124, 121, 0, - 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 0, 0, 123, 0, 0, 0, 0, 124, 0, 121, - 306, 56, 0, 0, 122, 0, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 8, 9, - 56, 10, 86, 87, 88, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 8, 9, 56, - 10, 86, 87, 88, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 8, 9, 0, 10, - 86, 87, 88, 0, 0, 89, 0, 0, 0, 0, - 0, 56, 66, 0, 0, 0, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 0, 0, - 0, 66, 86, 87, 88, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 66, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 0, 253, 253, 253, 253, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, - 0, 0, 66, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 0, 0, 0, 0, 0, - 87, 88, 0, 0, 0, 0, 0, 0, 0, 321, - 0, 0, 0, 56, 0, 0, 0, 253, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 0, 0, 56, 0, 0, 87, 88, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 0, 0, 66, - 0, 56, 0, 0, 87, 88, 296, 75, 76, 0, - 0, 79, 80, 81, 82, 0, 0, 0, 0, 0, - 3, 10, 4, 5, 6, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 8, 9, - 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 0, 0, 0, 12, 13, - 14, 15, 0, 0, 0, 0, 254, 16, 4, 0, - 0, 7, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 18, 0, 8, 9, 0, 10, 0, 0, - 0, 11, 0, 254, 255, 4, 256, 257, 7, 0, - 0, 0, 0, 0, 12, 0, 0, 0, 269, 270, - 271, 8, 9, 0, 10, 0, 0, 0, 11, 0, - 0, 255, 0, 256, 257, 0, 0, 17, 18, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, +#define TAO_YYTABLESIZE 1231 +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, + 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, 17, 18, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, + 21, }; short tao_yycheck[] = { 12, - 12, 17, 18, 48, 25, 48, 2, 2, 2, 25, - 2, 2, 2, 2, 41, 40, 2, 2, 43, 2, - 45, 41, 41, 41, 44, 44, 58, 41, 59, 227, - 51, 123, 48, 59, 43, 51, 45, 50, 48, 52, - 53, 54, 55, 48, 48, 48, 373, 58, 59, 37, - 38, 44, 65, 41, 42, 43, 260, 45, 38, 47, - 59, 41, 257, 43, 257, 45, 59, 195, 196, 62, - 58, 59, 262, 260, 62, 265, 303, 40, 58, 59, - 258, 59, 62, 59, 290, 291, 292, 38, 58, 59, - 41, 123, 43, 364, 45, 38, 123, 123, 41, 303, - 43, 126, 45, 123, 123, 93, 94, 58, 59, 262, - 263, 62, 123, 93, 94, 58, 59, 444, 323, 62, - 59, 323, 61, 328, 123, 58, 328, 454, 38, 329, - 330, 41, 276, 328, 59, 256, 124, 41, 151, 44, - 44, 157, 93, 94, 124, 123, 257, 123, 58, 59, - 93, 94, 62, 123, 59, 59, 302, 62, 62, 123, - 44, 282, 283, 123, 362, 178, 328, 180, 38, 44, - 60, 41, 185, 124, 113, 59, 44, 193, 62, 38, - 37, 124, 41, 93, 94, 42, 60, 62, 58, 59, - 47, 59, 62, 41, 62, 373, 44, 123, 214, 58, - 59, 282, 283, 62, 59, 476, 286, 287, 479, 301, - 481, 59, 59, 258, 124, 258, 211, 212, 59, 211, - 212, 211, 212, 93, 94, 211, 212, 243, 211, 212, - 246, 59, 257, 243, 93, 94, 59, 365, 243, 243, - 243, 41, 258, 91, 44, 289, 290, 291, 243, 59, - 448, 224, 225, 226, 124, 288, 289, 59, 253, 59, - 59, 253, 293, 253, 257, 124, 444, 253, 60, 301, - 253, 289, 290, 291, 301, 289, 454, 13, 14, 14, - 15, 301, 301, 338, 339, 123, 301, 41, 262, 38, - 301, 123, 41, 40, 257, 124, 321, 322, 323, 324, - 325, 326, 327, 328, 58, 59, 331, 332, 62, 58, - 59, 123, 123, 62, 310, 310, 310, 44, 310, 310, - 310, 310, 338, 339, 310, 310, 342, 310, 373, 94, - 373, 301, 38, 61, 44, 91, 257, 285, 125, 93, - 125, 329, 330, 125, 93, 94, 59, 41, 361, 329, - 330, 364, 257, 257, 62, 62, 262, 373, 321, 322, - 323, 324, 325, 326, 327, 328, 62, 125, 331, 332, - 125, 59, 125, 257, 59, 124, 59, 59, 329, 330, - 59, 59, 41, 59, 59, 257, 329, 330, 59, 257, - 44, 125, 405, 405, 125, 125, 125, 257, 40, 444, - 123, 444, 59, 93, 40, 292, 41, 289, 41, 454, - 44, 454, 41, 41, 44, 59, 125, 58, 44, 329, - 330, 125, 40, 40, 293, 41, 58, 323, 444, 450, - 41, 44, 59, 0, 450, 323, 59, 257, 454, 123, - 59, 41, 123, 41, 257, 125, 459, 459, 125, 59, - 41, 125, 125, 41, 59, 41, 14, 214, 361, 329, - 330, 483, 283, 476, 366, 284, 479, 483, 481, 285, - 329, 330, 451, 48, 256, 257, 48, 248, 198, 15, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 209, 277, 278, 279, 280, 453, - 212, 256, 257, 403, 252, 477, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 482, 277, 278, 279, 280, 257, -1, -1, -1, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, -1, -1, -1, 328, -1, 279, 280, - -1, -1, -1, 257, 285, -1, -1, 288, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - -1, -1, -1, 328, -1, 279, 280, -1, -1, -1, - 257, 285, -1, -1, 288, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 328, 38, -1, - -1, 41, 279, 280, -1, -1, -1, -1, 285, 41, - -1, 288, -1, -1, 41, -1, 41, -1, 58, 59, - -1, 41, 62, -1, 328, -1, 58, 59, -1, -1, - 62, 58, 59, 58, 59, 62, -1, 62, 58, 59, - -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, - -1, 328, -1, 93, 94, -1, -1, -1, -1, -1, - -1, 93, 94, -1, -1, -1, 93, 94, 93, -1, - -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, -1, -1, -1, -1, -1, - -1, -1, 124, -1, -1, -1, -1, 124, -1, 124, - 256, 257, -1, -1, 124, -1, 262, 263, 264, 265, + 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, 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, 274, 275, -1, 277, - 278, 279, 280, -1, -1, 302, -1, -1, -1, -1, - -1, 257, 328, -1, -1, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, -1, -1, - -1, 328, 278, 279, 280, -1, -1, -1, -1, -1, + 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, + 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, + -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, - 328, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 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, 257, -1, - -1, -1, 328, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, -1, -1, -1, -1, -1, - 279, 280, -1, -1, -1, -1, -1, -1, -1, 288, - -1, -1, -1, 257, -1, -1, -1, 328, 262, 263, + -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, - -1, -1, 257, -1, -1, 279, 280, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, -1, -1, 328, - -1, 257, -1, -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, -1, - -1, -1, -1, -1, 328, -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, 256, 303, 258, -1, - -1, 261, 328, -1, -1, -1, -1, -1, -1, -1, - -1, 317, 318, -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, -1, -1, -1, -1, -1, + 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, + 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, + 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 317, 318, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 317, + 318, }; #define TAO_YYFINAL 1 #ifndef TAO_YYDEBUG @@ -717,25 +802,31 @@ const char *tao_yyrule[] = { "$$8 :", "definition : value_def $$8 ';'", "$$9 :", -"definition : error $$9 ';'", +"definition : component $$9 ';'", "$$10 :", +"definition : home_decl $$10 ';'", "$$11 :", +"definition : event $$11 ';'", "$$12 :", +"definition : error $$12 ';'", "$$13 :", -"module : IDL_MODULE $$10 IDENTIFIER $$11 '{' $$12 definitions $$13 '}'", -"interface_def : interface", -"interface_def : interface_forward", "$$14 :", "$$15 :", "$$16 :", -"interface : interface_header $$14 '{' $$15 exports $$16 '}'", +"module : IDL_MODULE $$13 IDENTIFIER $$14 '{' $$15 definitions $$16 '}'", +"interface_def : interface", +"interface_def : interface_forward", "$$17 :", -"interface_decl : IDL_INTERFACE $$17 id", +"$$18 :", +"$$19 :", +"interface : interface_header $$17 '{' $$18 exports $$19 '}'", +"$$20 :", +"interface_decl : IDL_INTERFACE $$20 id", "interface_header : interface_decl inheritance_spec", "interface_header : IDL_LOCAL interface_decl inheritance_spec", "interface_header : IDL_ABSTRACT interface_decl inheritance_spec", -"$$18 :", -"inheritance_spec : ':' $$18 at_least_one_scoped_name", +"$$21 :", +"inheritance_spec : ':' $$21 at_least_one_scoped_name", "inheritance_spec :", "value_def : valuetype", "value_def : value_abs_decl", @@ -743,20 +834,20 @@ const char *tao_yyrule[] = { "value_def : value_box_decl", "valuetype : IDL_CUSTOM value_concrete_decl", "valuetype : value_concrete_decl", -"$$19 :", -"$$20 :", -"$$21 :", -"value_concrete_decl : value_header $$19 '{' $$20 value_elements $$21 '}'", "$$22 :", "$$23 :", "$$24 :", -"value_abs_decl : IDL_ABSTRACT value_header $$22 '{' $$23 exports $$24 '}'", -"value_header : value_decl opt_truncatable inheritance_spec supports_spec", +"value_concrete_decl : value_header $$22 '{' $$23 value_elements $$24 '}'", "$$25 :", -"value_decl : IDL_VALUETYPE $$25 id", +"$$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", "opt_truncatable : IDL_TRUNCATABLE", "opt_truncatable :", -"supports_spec : IDL_SUPPORTS scoped_name", +"supports_spec : IDL_SUPPORTS at_least_one_scoped_name", "supports_spec :", "value_forward_decl : IDL_ABSTRACT value_decl", "value_forward_decl : value_decl", @@ -766,46 +857,46 @@ const char *tao_yyrule[] = { "value_element : state_member", "value_element : export", "value_element : init_decl ';'", -"$$26 :", -"state_member : IDL_PUBLIC $$26 member_i", -"$$27 :", -"state_member : IDL_PRIVATE $$27 member_i", -"exports : exports export", -"exports :", -"$$28 :", -"export : type_dcl $$28 ';'", "$$29 :", -"export : typeid_dcl $$29 ';'", +"state_member : IDL_PUBLIC $$29 member_i", "$$30 :", -"export : typeprefix_dcl $$30 ';'", +"state_member : IDL_PRIVATE $$30 member_i", +"exports : exports export", +"exports :", "$$31 :", -"export : const_dcl $$31 ';'", +"export : type_dcl $$31 ';'", "$$32 :", -"export : exception $$32 ';'", +"export : typeid_dcl $$32 ';'", "$$33 :", -"export : attribute $$33 ';'", +"export : typeprefix_dcl $$33 ';'", "$$34 :", -"export : operation $$34 ';'", +"export : const_dcl $$34 ';'", "$$35 :", -"export : error $$35 ';'", -"at_least_one_scoped_name : scoped_name scoped_names", +"export : exception $$35 ';'", "$$36 :", -"scoped_names : scoped_names ',' $$36 scoped_name", -"scoped_names :", -"scoped_name : id", +"export : attribute $$36 ';'", "$$37 :", -"scoped_name : IDL_SCOPE_DELIMITOR $$37 id", +"export : operation $$37 ';'", "$$38 :", -"scoped_name : scoped_name IDL_SCOPE_DELIMITOR $$38 id", +"export : error $$38 ';'", +"at_least_one_scoped_name : scoped_name scoped_names", +"$$39 :", +"scoped_names : scoped_names ',' $$39 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", "id : IDENTIFIER", "interface_forward : interface_decl", "interface_forward : IDL_LOCAL interface_decl", "interface_forward : IDL_ABSTRACT interface_decl", -"$$39 :", -"$$40 :", -"$$41 :", "$$42 :", -"const_dcl : IDL_CONST $$39 const_type $$40 id $$41 '=' $$42 expression", +"$$43 :", +"$$44 :", +"$$45 :", +"const_dcl : IDL_CONST $$42 const_type $$43 id $$44 '=' $$45 expression", "const_type : integer_type", "const_type : char_type", "const_type : octet_type", @@ -850,15 +941,15 @@ const char *tao_yyrule[] = { "literal : IDL_TRUETOK", "literal : IDL_FALSETOK", "positive_int_expr : const_expr", -"$$43 :", -"type_dcl : IDL_TYPEDEF $$43 type_declarator", +"$$46 :", +"type_dcl : IDL_TYPEDEF $$46 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", -"$$44 :", -"type_declarator : type_spec $$44 at_least_one_declarator", +"$$47 :", +"type_declarator : type_spec $$47 at_least_one_declarator", "type_spec : simple_type_spec", "type_spec : constructed_type_spec", "simple_type_spec : base_type_spec", @@ -881,14 +972,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", -"$$45 :", -"declarators : declarators ',' $$45 declarator", +"$$48 :", +"declarators : declarators ',' $$48 declarator", "declarators :", "declarator : simple_declarator", "declarator : complex_declarator", "at_least_one_simple_declarator : simple_declarator simple_declarators", -"$$46 :", -"simple_declarators : simple_declarators ',' $$46 simple_declarator", +"$$49 :", +"simple_declarators : simple_declarators ',' $$49 simple_declarator", "simple_declarators :", "simple_declarator : id", "complex_declarator : array_declarator", @@ -910,31 +1001,31 @@ const char *tao_yyrule[] = { "boolean_type : IDL_BOOLEAN", "any_type : IDL_ANY", "object_type : IDL_OBJECT", -"$$47 :", -"struct_decl : IDL_STRUCT $$47 id", -"$$48 :", -"$$49 :", "$$50 :", -"struct_type : struct_decl $$48 '{' $$49 at_least_one_member $$50 '}'", -"at_least_one_member : member members", -"members : members member", -"members :", +"struct_decl : IDL_STRUCT $$50 id", "$$51 :", -"member : $$51 member_i", "$$52 :", "$$53 :", -"member_i : type_spec $$52 at_least_one_declarator $$53 ';'", +"struct_type : struct_decl $$51 '{' $$52 at_least_one_member $$53 '}'", +"at_least_one_member : member members", +"members : members member", +"members :", "$$54 :", -"member_i : error $$54 ';'", +"member : $$54 member_i", "$$55 :", -"union_decl : IDL_UNION $$55 id", "$$56 :", +"member_i : type_spec $$55 at_least_one_declarator $$56 ';'", "$$57 :", +"member_i : error $$57 ';'", "$$58 :", +"union_decl : IDL_UNION $$58 id", "$$59 :", "$$60 :", "$$61 :", -"union_type : union_decl IDL_SWITCH $$56 '(' $$57 switch_type_spec $$58 ')' $$59 '{' $$60 at_least_one_case_branch $$61 '}'", +"$$62 :", +"$$63 :", +"$$64 :", +"union_type : union_decl IDL_SWITCH $$59 '(' $$60 switch_type_spec $$61 ')' $$62 '{' $$63 at_least_one_case_branch $$64 '}'", "switch_type_spec : integer_type", "switch_type_spec : char_type", "switch_type_spec : octet_type", @@ -944,103 +1035,103 @@ const char *tao_yyrule[] = { "at_least_one_case_branch : case_branch case_branches", "case_branches : case_branches case_branch", "case_branches :", -"$$62 :", -"$$63 :", -"case_branch : at_least_one_case_label $$62 element_spec $$63 ';'", -"$$64 :", -"case_branch : error $$64 ';'", -"at_least_one_case_label : case_label case_labels", -"case_labels : case_labels case_label", -"case_labels :", "$$65 :", -"case_label : IDL_DEFAULT $$65 ':'", "$$66 :", +"case_branch : at_least_one_case_label $$65 element_spec $$66 ';'", "$$67 :", -"case_label : IDL_CASE $$66 const_expr $$67 ':'", +"case_branch : error $$67 ';'", +"at_least_one_case_label : case_label case_labels", +"case_labels : case_labels case_label", +"case_labels :", "$$68 :", -"element_spec : type_spec $$68 declarator", -"struct_forward_type : struct_decl", -"union_forward_type : union_decl", +"case_label : IDL_DEFAULT $$68 ':'", "$$69 :", "$$70 :", +"case_label : IDL_CASE $$69 const_expr $$70 ':'", "$$71 :", +"element_spec : type_spec $$71 declarator", +"struct_forward_type : struct_decl", +"union_forward_type : union_decl", "$$72 :", -"enum_type : IDL_ENUM $$69 id $$70 '{' $$71 at_least_one_enumerator $$72 '}'", -"at_least_one_enumerator : enumerator enumerators", "$$73 :", -"enumerators : enumerators ',' $$73 enumerator", -"enumerators :", -"enumerator : IDENTIFIER", "$$74 :", "$$75 :", -"sequence_type_spec : seq_head ',' $$74 positive_int_expr $$75 '>'", -"sequence_type_spec : seq_head '>'", +"enum_type : IDL_ENUM $$72 id $$73 '{' $$74 at_least_one_enumerator $$75 '}'", +"at_least_one_enumerator : enumerator enumerators", "$$76 :", +"enumerators : enumerators ',' $$76 enumerator", +"enumerators :", +"enumerator : IDENTIFIER", "$$77 :", -"seq_head : IDL_SEQUENCE $$76 '<' $$77 simple_type_spec", "$$78 :", +"sequence_type_spec : seq_head ',' $$77 positive_int_expr $$78 '>'", +"sequence_type_spec : seq_head '>'", "$$79 :", -"string_type_spec : string_head '<' $$78 positive_int_expr $$79 '>'", -"string_type_spec : string_head", -"string_head : IDL_STRING", "$$80 :", +"seq_head : IDL_SEQUENCE $$79 '<' $$80 simple_type_spec", "$$81 :", -"wstring_type_spec : wstring_head '<' $$80 positive_int_expr $$81 '>'", +"$$82 :", +"string_type_spec : string_head '<' $$81 positive_int_expr $$82 '>'", +"string_type_spec : string_head", +"string_head : IDL_STRING", +"$$83 :", +"$$84 :", +"wstring_type_spec : wstring_head '<' $$83 positive_int_expr $$84 '>'", "wstring_type_spec : wstring_head", "wstring_head : IDL_WSTRING", -"$$82 :", -"array_declarator : id $$82 at_least_one_array_dim", +"$$85 :", +"array_declarator : id $$85 at_least_one_array_dim", "at_least_one_array_dim : array_dim array_dims", "array_dims : array_dims array_dim", "array_dims :", -"$$83 :", -"$$84 :", -"array_dim : '[' $$83 positive_int_expr $$84 ']'", -"$$85 :", "$$86 :", -"attribute : opt_readonly IDL_ATTRIBUTE $$85 param_type_spec $$86 at_least_one_simple_declarator", -"opt_readonly : IDL_READONLY", -"opt_readonly :", "$$87 :", +"array_dim : '[' $$86 positive_int_expr $$87 ']'", "$$88 :", "$$89 :", +"attribute : opt_readonly IDL_ATTRIBUTE $$88 param_type_spec $$89 at_least_one_simple_declarator", +"opt_readonly : IDL_READONLY", +"opt_readonly :", "$$90 :", -"exception : IDL_EXCEPTION $$87 id $$88 '{' $$89 members $$90 '}'", "$$91 :", "$$92 :", "$$93 :", +"exception : IDL_EXCEPTION $$90 id $$91 '{' $$92 members $$93 '}'", "$$94 :", -"operation : opt_op_attribute op_type_spec $$91 IDENTIFIER $$92 parameter_list $$93 opt_raises $$94 opt_context", +"$$95 :", +"$$96 :", +"$$97 :", +"operation : opt_op_attribute op_type_spec $$94 IDENTIFIER $$95 parameter_list $$96 opt_raises $$97 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", -"$$95 :", -"$$96 :", -"init_decl : IDL_FACTORY $$95 IDENTIFIER $$96 init_parameter_list", -"$$97 :", -"init_parameter_list : '(' $$97 ')'", "$$98 :", -"init_parameter_list : '(' $$98 at_least_one_in_parameter ')'", -"at_least_one_in_parameter : in_parameter in_parameters", "$$99 :", -"in_parameters : in_parameters ',' $$99 in_parameter", -"in_parameters :", +"init_decl : IDL_FACTORY $$98 IDENTIFIER $$99 init_parameter_list", "$$100 :", +"init_parameter_list : '(' $$100 ')'", "$$101 :", -"in_parameter : IDL_IN $$100 param_type_spec $$101 declarator", +"init_parameter_list : '(' $$101 at_least_one_in_parameter ')'", +"at_least_one_in_parameter : in_parameter in_parameters", "$$102 :", -"parameter_list : '(' $$102 ')'", +"in_parameters : in_parameters ',' $$102 in_parameter", +"in_parameters :", "$$103 :", -"parameter_list : '(' $$103 at_least_one_parameter ')'", -"at_least_one_parameter : parameter parameters", "$$104 :", -"parameters : parameters ',' $$104 parameter", -"parameters :", +"in_parameter : IDL_IN $$103 param_type_spec $$104 declarator", "$$105 :", +"parameter_list : '(' $$105 ')'", "$$106 :", -"parameter : direction $$105 param_type_spec $$106 declarator", +"parameter_list : '(' $$106 at_least_one_parameter ')'", +"at_least_one_parameter : parameter parameters", +"$$107 :", +"parameters : parameters ',' $$107 parameter", +"parameters :", +"$$108 :", +"$$109 :", +"parameter : direction $$108 param_type_spec $$109 declarator", "param_type_spec : base_type_spec", "param_type_spec : string_type_spec", "param_type_spec : wstring_type_spec", @@ -1048,20 +1139,73 @@ const char *tao_yyrule[] = { "direction : IDL_IN", "direction : IDL_OUT", "direction : IDL_INOUT", -"$$107 :", -"$$108 :", -"opt_raises : IDL_RAISES $$107 '(' $$108 at_least_one_scoped_name ')'", -"opt_raises :", -"$$109 :", "$$110 :", -"opt_context : IDL_CONTEXT $$109 '(' $$110 at_least_one_string_literal ')'", +"$$111 :", +"opt_raises : IDL_RAISES $$110 '(' $$111 at_least_one_scoped_name ')'", +"opt_raises :", +"$$112 :", +"$$113 :", +"opt_context : IDL_CONTEXT $$112 '(' $$113 at_least_one_string_literal ')'", "opt_context :", "at_least_one_string_literal : IDL_STRING_LITERAL string_literals", -"$$111 :", -"string_literals : string_literals ',' $$111 IDL_STRING_LITERAL", +"$$114 :", +"string_literals : string_literals ',' $$114 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", +"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 ';'", +"provides_decl : IDL_PROVIDES interface_type id", +"interface_type : scoped_name", +"interface_type : IDL_OBJECT", +"uses_decl : IDL_USES opt_multiple interface_type id", +"opt_multiple : IDL_MULTIPLE", +"opt_multiple :", +"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", +"home_inheritance_spec :", +"primary_key_spec : IDL_PRIMARYKEY scoped_name", +"primary_key_spec :", +"home_body : '{' home_exports '}'", +"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", +"event : event_decl", +"event : event_abs_decl", +"event : event_forward_decl", +"event_forward_decl : event_abs_forward_decl", +"event_forward_decl : event_concrete_forward_decl", +"event_concrete_forward_decl : IDL_EVENTTYPE id", +"event_abs_forward_decl : IDL_ABSTRACT IDL_EVENTTYPE id", +"event_abs_decl : event_abs_header event_rest_of_header '{' exports '}'", +"event_abs_header : IDL_ABSTRACT IDL_EVENTTYPE id", +"event_custom_header : IDL_CUSTOM IDL_EVENTTYPE id", +"event_plain_header : IDL_EVENTTYPE id", +"event_rest_of_header : opt_truncatable inheritance_spec supports_spec", +"event_decl : event_header event_rest_of_header '{' value_elements '}'", +"event_header : event_custom_header", +"event_header : event_plain_header", }; #endif #define tao_yyclearin (tao_yychar=(-1)) @@ -1507,24 +1651,60 @@ case 19: break; case 20: { +/* | component*/ + idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSeen); + } +break; +case 21: +{ +/* ';'*/ + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + } +break; +case 22: +{ +/* | home_decl*/ + idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); + } +break; +case 23: +{ +/* ';'*/ + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + } +break; +case 24: +{ +/* | event*/ + idl_global->set_parse_state (IDL_GlobalData::PS_EventSeen); + } +break; +case 25: +{ +/* ';'*/ + idl_global->set_parse_state (IDL_GlobalData::PS_NoState); + } +break; +case 26: +{ /* | error*/ idl_global->err()->syntax_error (idl_global->parse_state()); } break; -case 21: +case 27: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); tao_yyerrok; } break; -case 22: +case 28: { /* module : IDL_MODULE*/ idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } break; -case 23: +case 29: { /* IDENTIFIER*/ Identifier id (tao_yyvsp[0].strval); @@ -1549,19 +1729,19 @@ case 23: idl_global->scopes ().push (m); } break; -case 24: +case 30: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } break; -case 25: +case 31: { /* definitions*/ idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } break; -case 26: +case 32: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); @@ -1571,7 +1751,7 @@ case 26: idl_global->scopes ().pop (); } break; -case 29: +case 35: { /* interface : interface_header */ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -1584,7 +1764,7 @@ case 29: { i = idl_global->gen ()->create_interface ( - tao_yyvsp[0].ihval->interface_name (), + tao_yyvsp[0].ihval->name (), tao_yyvsp[0].ihval->inherits (), tao_yyvsp[0].ihval->n_inherits (), tao_yyvsp[0].ihval->inherits_flat (), @@ -1606,24 +1786,24 @@ case 29: idl_global->scopes ().push (i); /* This FE_InterfaceHeader class isn't destroyed with the AST.*/ - tao_yyvsp[0].ihval->interface_name ()->destroy (); + tao_yyvsp[0].ihval->name ()->destroy (); delete tao_yyvsp[0].ihval; tao_yyvsp[0].ihval = 0; } break; -case 30: +case 36: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } break; -case 31: +case 37: { /* exports*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } break; -case 32: +case 38: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -1634,20 +1814,20 @@ case 32: idl_global->scopes ().pop (); } break; -case 33: +case 39: { /* interface_decl : IDL_INTERFACE*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } break; -case 34: +case 40: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); tao_yyval.idval = tao_yyvsp[0].idval; } break; -case 35: +case 41: { /* interface_header : interface_decl inheritance_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -1662,11 +1842,14 @@ case 35: 0); ACE_NEW_RETURN (tao_yyval.ihval, FE_InterfaceHeader (&n, - tao_yyvsp[0].nlval), + tao_yyvsp[0].nlval, + I_FALSE, + I_FALSE, + I_TRUE), 1); } break; -case 36: +case 42: { /* | IDL_LOCAL interface_decl inheritance_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -1681,11 +1864,14 @@ case 36: 0); ACE_NEW_RETURN (tao_yyval.ihval, FE_InterfaceHeader (&n, - tao_yyvsp[0].nlval), + tao_yyvsp[0].nlval, + I_TRUE, + I_FALSE, + I_TRUE), 1); } break; -case 37: +case 43: { /* | IDL_ABSTRACT interface_decl inheritance_spec*/ ACE_DEBUG ((LM_DEBUG, @@ -1697,25 +1883,25 @@ case 37: ACE_TEXT (" interfaces yet\n"))); } break; -case 38: +case 44: { /* inheritance_spec : ':'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } break; -case 39: +case 45: { /* at_least_one_scoped_name*/ tao_yyval.nlval = tao_yyvsp[0].nlval; } break; -case 40: +case 46: { /* | /* EMPTY * /*/ tao_yyval.nlval = 0; } break; -case 45: +case 51: { /* valuetype : IDL_CUSTOM value_concrete_decl*/ ACE_DEBUG ((LM_DEBUG, @@ -1727,47 +1913,58 @@ case 45: ACE_TEXT (" custom yet\n"))); } break; -case 47: +case 53: { /* value_concrete_decl : value_header*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); + AST_ValueType *v = 0; AST_Interface *i = 0; if (s != 0 && tao_yyvsp[0].vhval != 0) { - i = + v = idl_global->gen ()->create_valuetype ( - tao_yyvsp[0].vhval->interface_name (), - tao_yyvsp[0].vhval->inherits (), - tao_yyvsp[0].vhval->n_inherits () - ); + tao_yyvsp[0].vhval->name (), + tao_yyvsp[0].vhval->inherits (), + tao_yyvsp[0].vhval->n_inherits (), + tao_yyvsp[0].vhval->inherits_concrete (), + tao_yyvsp[0].vhval->inherits_flat (), + tao_yyvsp[0].vhval->n_inherits_flat (), + tao_yyvsp[0].vhval->supports (), + tao_yyvsp[0].vhval->n_supports (), + tao_yyvsp[0].vhval->supports_concrete (), + I_FALSE, + tao_yyvsp[0].vhval->truncatable () + ); + 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 */ - (void) s->fe_add_interface (i); + (void) s->fe_add_valuetype (v); } /* * Push it on the scope stack */ - idl_global->scopes ().push (i); + idl_global->scopes ().push (v); } break; -case 48: +case 54: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } break; -case 49: +case 55: { /* value_elements*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } break; -case 50: +case 56: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -1781,55 +1978,58 @@ case 50: idl_global->scopes ().pop (); } break; -case 51: +case 57: { /* value_abs_decl : IDL_ABSTRACT value_header*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); + AST_ValueType *v = 0; AST_Interface *i = 0; if (s != 0 && tao_yyvsp[0].vhval != 0) { - if (tao_yyvsp[0].vhval->n_concrete() > 0) - { - idl_global->err ()->abstract_inheritance_error ( - tao_yyvsp[0].vhval->interface_name () - ); - } - - i = + v = idl_global->gen ()->create_valuetype ( - tao_yyvsp[0].vhval->interface_name (), - tao_yyvsp[0].vhval->inherits (), - tao_yyvsp[0].vhval->n_inherits () - ); - i->set_abstract_valuetype (); + tao_yyvsp[0].vhval->name (), + tao_yyvsp[0].vhval->inherits (), + tao_yyvsp[0].vhval->n_inherits (), + tao_yyvsp[0].vhval->inherits_concrete (), + tao_yyvsp[0].vhval->inherits_flat (), + tao_yyvsp[0].vhval->n_inherits_flat (), + tao_yyvsp[0].vhval->supports (), + tao_yyvsp[0].vhval->n_supports (), + tao_yyvsp[0].vhval->supports_concrete (), + I_TRUE, + I_FALSE + ); + 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 */ - (void) s->fe_add_interface (i); + (void) s->fe_add_valuetype (v); } /* * Push it on the scope stack. */ - idl_global->scopes ().push (i); + idl_global->scopes ().push (v); } break; -case 52: +case 58: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } break; -case 53: +case 59: { /* exports*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } break; -case 54: +case 60: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -1843,7 +2043,7 @@ case 54: idl_global->scopes ().pop (); } break; -case 55: +case 61: { /* value_header : value_decl opt_truncatable inheritance_spec supports_spec*/ UTL_ScopedName *sn = 0; @@ -1854,24 +2054,25 @@ case 55: ACE_NEW_RETURN (tao_yyval.vhval, FE_obv_header (sn, tao_yyvsp[-1].nlval, - tao_yyvsp[0].nlval), + tao_yyvsp[0].nlval, + tao_yyvsp[-2].bval), 1); } break; -case 56: +case 62: { /* value_decl : IDL_VALUETYPE*/ idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeSeen); } break; -case 57: +case 63: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeIDSeen); tao_yyval.idval = tao_yyvsp[0].idval; } break; -case 58: +case 64: { /* opt_truncatable : IDL_TRUNCATABLE*/ ACE_DEBUG ((LM_DEBUG, @@ -1881,38 +2082,35 @@ case 58: ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("truncatable modifier not supported ") ACE_TEXT ("and is ignored\n"))); - tao_yyval.bval = I_FALSE; + tao_yyval.bval = I_TRUE; } break; -case 59: +case 65: { /* | /* EMPTY * /*/ tao_yyval.bval = I_FALSE; } break; -case 60: +case 66: { -/* supports_spec : IDL_SUPPORTS scoped_name*/ - ACE_NEW_RETURN (tao_yyval.nlval, - UTL_NameList (tao_yyvsp[0].idlist, - 0), - 1); +/* supports_spec : IDL_SUPPORTS at_least_one_scoped_name*/ + tao_yyval.nlval = tao_yyvsp[0].nlval; } break; -case 61: +case 67: { /* | /* EMPTY * /*/ tao_yyval.nlval = 0; } break; -case 62: +case 68: { /* 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_InterfaceFwd *f = 0; - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceForwardSeen); + AST_ValueTypeFwd *f = 0; + idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeForwardSeen); /* * Create a node representing a forward declaration of an @@ -1920,20 +2118,20 @@ case 62: */ if (s != 0) { - f = idl_global->gen()->create_valuetype_fwd (&n); - f->set_abstract_valuetype (); - (void) s->fe_add_interface_fwd (f); + f = idl_global->gen ()->create_valuetype_fwd (&n, + I_TRUE); + (void) s->fe_add_valuetype_fwd (f); } } break; -case 63: +case 69: { /* | value_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n (tao_yyvsp[0].idval, 0); - AST_InterfaceFwd *f = 0; - idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceForwardSeen); + AST_ValueTypeFwd *f = 0; + idl_global->set_parse_state (IDL_GlobalData::PS_ValuetypeForwardSeen); /* * Create a node representing a forward declaration of an @@ -1941,12 +2139,13 @@ case 63: */ if (s != 0) { - f = idl_global->gen ()->create_valuetype_fwd (&n); - (void) s->fe_add_interface_fwd (f); + f = idl_global->gen ()->create_valuetype_fwd (&n, + I_FALSE); + (void) s->fe_add_valuetype_fwd (f); } } break; -case 64: +case 70: { /* value_box_decl : value_decl type_spec*/ ACE_DEBUG ((LM_DEBUG, @@ -1958,118 +2157,118 @@ case 64: ACE_TEXT (" boxes yet\n"))); } break; -case 70: +case 76: { /* state_member : IDL_PUBLIC*/ /* is $0 to member_i */ tao_yyval.vival = AST_Field::vis_PUBLIC; } break; -case 72: +case 78: { /* IDL_PRIVATE*/ /* is $0 to member_i */ tao_yyval.vival = AST_Field::vis_PRIVATE; } break; -case 76: +case 82: { /* export : type_dcl*/ idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } break; -case 77: +case 83: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 78: +case 84: { /* | typeid_dcl*/ idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } break; -case 79: +case 85: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 80: +case 86: { /* | typeprefix_dcl*/ idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } break; -case 81: +case 87: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 82: +case 88: { /* | const_dcl*/ idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } break; -case 83: +case 89: { /* ';'*/ idl_global->set_parse_state(IDL_GlobalData::PS_NoState); } break; -case 84: +case 90: { /* | exception*/ idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } break; -case 85: +case 91: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 86: +case 92: { /* | attribute*/ idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } break; -case 87: +case 93: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 88: +case 94: { /* | operation*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } break; -case 89: +case 95: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } break; -case 90: +case 96: { /* | error*/ idl_global->err()->syntax_error (idl_global->parse_state()); } break; -case 91: +case 97: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); tao_yyerrok; } break; -case 92: +case 98: { /* at_least_one_scoped_name : scoped_name scoped_names*/ ACE_NEW_RETURN (tao_yyval.nlval, @@ -2078,13 +2277,13 @@ case 92: 1); } break; -case 93: +case 99: { /* scoped_names : scoped_names ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } break; -case 94: +case 100: { /* scoped_name*/ idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -2108,13 +2307,13 @@ case 94: } } break; -case 95: +case 101: { /* | /* EMPTY * /*/ tao_yyval.nlval = 0; } break; -case 96: +case 102: { /* scoped_name : id*/ idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -2125,13 +2324,13 @@ case 96: 1); } break; -case 97: +case 103: { /* | IDL_SCOPE_DELIMITOR*/ idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } break; -case 98: +case 104: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -2151,13 +2350,13 @@ case 98: 1); } break; -case 99: +case 105: { /* | scoped_name IDL_SCOPE_DELIMITOR*/ idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } break; -case 100: +case 106: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -2171,7 +2370,7 @@ case 100: tao_yyval.idlist = tao_yyvsp[-3].idlist; } break; -case 101: +case 107: { /* id: IDENTIFIER*/ ACE_NEW_RETURN (tao_yyval.idval, @@ -2180,7 +2379,7 @@ case 101: ACE_OS::free (tao_yyvsp[0].strval); } break; -case 102: +case 108: { /* interface_forward : interface_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2202,7 +2401,7 @@ case 102: } } break; -case 103: +case 109: { /* | IDL_LOCAL interface_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2226,7 +2425,7 @@ case 103: } } break; -case 104: +case 110: { /* | IDL_ABSTRACT interface_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2250,31 +2449,31 @@ case 104: } } break; -case 105: +case 111: { /* const_dcl : IDL_CONST*/ idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } break; -case 106: +case 112: { /* const_type*/ idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } break; -case 107: +case 113: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } break; -case 108: +case 114: { /* '='*/ idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } break; -case 109: +case 115: { /* expression*/ UTL_ScopedName n (tao_yyvsp[-4].idval, @@ -2315,7 +2514,7 @@ case 109: } } break; -case 116: +case 122: { /* const_type*/ /* : integer_type*/ @@ -2328,13 +2527,13 @@ case 116: tao_yyval.etval = AST_Expression::EV_string; } break; -case 117: +case 123: { /* | wstring_type_spec*/ tao_yyval.etval = AST_Expression::EV_wstring; } break; -case 118: +case 124: { /* | scoped_name*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2402,7 +2601,7 @@ case 118: } } break; -case 122: +case 128: { /* or_expr : xor_expr*/ /* | or_expr '|' xor_expr*/ @@ -2414,7 +2613,7 @@ case 122: ); } break; -case 124: +case 130: { /* xor_expr : and_expr*/ /* | xor_expr '^' and_expr*/ @@ -2426,7 +2625,7 @@ case 124: ); } break; -case 126: +case 132: { /* and_expr : shift_expr | and_expr '&' shift_expr*/ tao_yyval.exval = @@ -2437,7 +2636,7 @@ case 126: ); } break; -case 128: +case 134: { /* shift_expr : add_expr | shift_expr IDL_LEFT_SHIFT add_expr*/ tao_yyval.exval = @@ -2448,7 +2647,7 @@ case 128: ); } break; -case 129: +case 135: { /* | shift_expr IDL_RIGHT_SHIFT add_expr*/ tao_yyval.exval = @@ -2459,7 +2658,7 @@ case 129: ); } break; -case 131: +case 137: { /* add_expr : mult_expr | add_expr '+' mult_expr*/ tao_yyval.exval = @@ -2470,7 +2669,7 @@ case 131: ); } break; -case 132: +case 138: { /* | add_expr '-' mult_expr*/ tao_yyval.exval = @@ -2481,7 +2680,7 @@ case 132: ); } break; -case 134: +case 140: { /* mult_expr : unary_expr | mult_expr '*' unary_expr*/ tao_yyval.exval = @@ -2492,7 +2691,7 @@ case 134: ); } break; -case 135: +case 141: { /* | mult_expr '/' unary_expr*/ tao_yyval.exval = @@ -2503,7 +2702,7 @@ case 135: ); } break; -case 136: +case 142: { /* | mult_expr '%' unary_expr*/ tao_yyval.exval = @@ -2514,7 +2713,7 @@ case 136: ); } break; -case 138: +case 144: { /* unary_expr : primary_expr | '+' primary_expr*/ tao_yyval.exval = @@ -2525,7 +2724,7 @@ case 138: ); } break; -case 139: +case 145: { /* | '-' primary_expr*/ tao_yyval.exval = @@ -2536,7 +2735,7 @@ case 139: ); } break; -case 140: +case 146: { /* | '~' primary_expr*/ tao_yyval.exval = @@ -2547,7 +2746,7 @@ case 140: ); } break; -case 141: +case 147: { /* primary_expr : scoped_name*/ /* @@ -2578,71 +2777,71 @@ case 141: } } break; -case 143: +case 149: { /* | literal*/ /* | '(' const_expr ')'*/ tao_yyval.exval = tao_yyvsp[-1].exval; } break; -case 144: +case 150: { /* literal : IDL_INTEGER_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].ival); } break; -case 145: +case 151: { /* | IDL_UINTEGER_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].uival); } break; -case 146: +case 152: { /* | IDL_STRING_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].sval); } break; -case 147: +case 153: { /* | IDL_WSTRING_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].wsval); } break; -case 148: +case 154: { /* | IDL_CHARACTER_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].cval); } break; -case 149: +case 155: { /* | IDL_WCHAR_LITERAL*/ ACE_OutputCDR::from_wchar wc (tao_yyvsp[0].wcval); tao_yyval.exval = idl_global->gen ()->create_expr (wc); } break; -case 150: +case 156: { /* | IDL_FLOATING_PT_LITERAL*/ tao_yyval.exval = idl_global->gen ()->create_expr (tao_yyvsp[0].dval); } break; -case 151: +case 157: { /* | IDL_TRUETOK*/ tao_yyval.exval = idl_global->gen ()->create_expr ((idl_bool) I_TRUE, AST_Expression::EV_bool); } break; -case 152: +case 158: { /* | IDL_FALSETOK*/ tao_yyval.exval = idl_global->gen ()->create_expr ((idl_bool) I_FALSE, AST_Expression::EV_bool); } break; -case 153: +case 159: { /* positive_int_expr : const_expr*/ int good_expression = 1; @@ -2711,37 +2910,37 @@ case 153: } } break; -case 154: +case 160: { /* type_dcl : IDL_TYPEDEF*/ idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); } break; -case 155: +case 161: { /* type_declarator */ tao_yyval.ival = 0; } break; -case 156: +case 162: { /* | struct_type */ tao_yyval.ival = 0; } break; -case 157: +case 163: { /* | union_type */ tao_yyval.ival = 0; } break; -case 158: +case 164: { /* | enum_type */ tao_yyval.ival = 0; } break; -case 159: +case 165: { /* | IDL_NATIVE simple_declarator*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2765,19 +2964,19 @@ case 159: } } break; -case 160: +case 166: { /* | constructed_forward_type_spec*/ tao_yyval.ival = 0; } break; -case 161: +case 167: { /* type_declarator : type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } break; -case 162: +case 168: { /* at_least_one_declarator*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -2823,7 +3022,7 @@ case 162: } } break; -case 165: +case 171: { /* simple_type_spec : base_type_spec*/ tao_yyval.dcval = @@ -2832,7 +3031,7 @@ case 165: ); } break; -case 167: +case 173: { /* | template_type_spec*/ /* | scoped_name*/ @@ -2853,7 +3052,7 @@ case 167: tao_yyval.dcval = d; } break; -case 184: +case 190: { /* at_least_one_declarator : declarator declarators*/ ACE_NEW_RETURN (tao_yyval.dlval, @@ -2862,13 +3061,13 @@ case 184: 1); } break; -case 185: +case 191: { /* declarators : declarators ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } break; -case 186: +case 192: { /* declarator*/ idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -2892,13 +3091,13 @@ case 186: } } break; -case 187: +case 193: { /* | /* EMPTY * /*/ tao_yyval.dlval = 0; } break; -case 190: +case 196: { /* at_least_one_simple_declarator : simple_declarator simple_declarators*/ ACE_NEW_RETURN (tao_yyval.dlval, @@ -2907,13 +3106,13 @@ case 190: 1); } break; -case 191: +case 197: { /* simple_declarators : simple_declarators ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } break; -case 192: +case 198: { /* simple_declarator*/ idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -2937,13 +3136,13 @@ case 192: } } break; -case 193: +case 199: { /* | /* EMPTY * /*/ tao_yyval.dlval = 0; } break; -case 194: +case 200: { /* simple_declarator : id*/ UTL_ScopedName *sn = 0; @@ -2958,7 +3157,7 @@ case 194: 1); } break; -case 195: +case 201: { /* complex_declarator : array_declarator*/ UTL_ScopedName *sn = 0; @@ -2975,61 +3174,61 @@ case 195: 1); } break; -case 198: +case 204: { /* signed_int : IDL_LONG*/ tao_yyval.etval = AST_Expression::EV_long; } break; -case 199: +case 205: { /* | IDL_LONG IDL_LONG*/ tao_yyval.etval = AST_Expression::EV_longlong; } break; -case 200: +case 206: { /* | IDL_SHORT*/ tao_yyval.etval = AST_Expression::EV_short; } break; -case 201: +case 207: { /* unsigned_int : IDL_UNSIGNED IDL_LONG*/ tao_yyval.etval = AST_Expression::EV_ulong; } break; -case 202: +case 208: { /* | IDL_UNSIGNED IDL_LONG IDL_LONG*/ tao_yyval.etval = AST_Expression::EV_ulonglong; } break; -case 203: +case 209: { /* | IDL_UNSIGNED IDL_SHORT*/ tao_yyval.etval = AST_Expression::EV_ushort; } break; -case 204: +case 210: { /* floating_pt_type : IDL_DOUBLE*/ tao_yyval.etval = AST_Expression::EV_double; } break; -case 205: +case 211: { /* | IDL_FLOAT*/ tao_yyval.etval = AST_Expression::EV_float; } break; -case 206: +case 212: { /* | IDL_LONG IDL_DOUBLE*/ tao_yyval.etval = AST_Expression::EV_longdouble; } break; -case 207: +case 213: { /* fixed_type : IDL_FIXED*/ ACE_DEBUG ((LM_DEBUG, @@ -3041,56 +3240,56 @@ case 207: ACE_TEXT (" fixed types yet\n"))); } break; -case 208: +case 214: { /* char_type : IDL_CHAR*/ tao_yyval.etval = AST_Expression::EV_char; } break; -case 209: +case 215: { /* | IDL_WCHAR*/ tao_yyval.etval = AST_Expression::EV_wchar; } break; -case 210: +case 216: { /* octet_type : IDL_OCTET*/ tao_yyval.etval = AST_Expression::EV_octet; } break; -case 211: +case 217: { /* boolean_type : IDL_BOOLEAN*/ tao_yyval.etval = AST_Expression::EV_bool; } break; -case 212: +case 218: { /* any_type : IDL_ANY*/ tao_yyval.etval = AST_Expression::EV_any; } break; -case 213: +case 219: { /* object_type : IDL_OBJECT*/ tao_yyval.etval = AST_Expression::EV_object; } break; -case 214: +case 220: { /* struct_decl : IDL_STRUCT*/ idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } break; -case 215: +case 221: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); tao_yyval.idval = tao_yyvsp[0].idval; } break; -case 216: +case 222: { /* struct_type : struct_header*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3119,19 +3318,19 @@ case 216: idl_global->scopes ().push (d); } break; -case 217: +case 223: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } break; -case 218: +case 224: { /* at_least_one_member*/ idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } break; -case 219: +case 225: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -3145,26 +3344,26 @@ case 219: idl_global->scopes ().pop (); } break; -case 223: +case 229: { /* member :*/ /* is $0 to member_i */ tao_yyval.vival = AST_Field::vis_NA; } break; -case 225: +case 231: { /* member_i : type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } break; -case 226: +case 232: { /* at_least_one_declarator*/ idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } break; -case 227: +case 233: { /* ';'*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3219,51 +3418,51 @@ case 227: } } break; -case 228: +case 234: { /* | error*/ idl_global->err()->syntax_error (idl_global->parse_state ()); } break; -case 229: +case 235: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); tao_yyerrok; } break; -case 230: +case 236: { /* union_decl : IDL_UNION*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } break; -case 231: +case 237: { /* id*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); tao_yyval.idval = tao_yyvsp[0].idval; } break; -case 232: +case 238: { /* union_type : union_decl IDL_SWITCH*/ idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } break; -case 233: +case 239: { /* '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_SwitchOpenParSeen); } break; -case 234: +case 240: { /* switch_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } break; -case 235: +case 241: { /* ')'*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3303,19 +3502,19 @@ case 235: idl_global->scopes ().push (u); } break; -case 236: +case 242: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } break; -case 237: +case 243: { /* at_least_one_case_branch*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } break; -case 238: +case 244: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -3333,7 +3532,7 @@ case 238: } } break; -case 239: +case 245: { /* switch_type_spec : integer_type*/ tao_yyval.dcval = @@ -3342,7 +3541,7 @@ case 239: ); } break; -case 240: +case 246: { /* | char_type*/ /* wchars are not allowed. */ @@ -3357,7 +3556,7 @@ case 240: ); } break; -case 241: +case 247: { /* | octet_type*/ /* octets are not allowed. */ @@ -3368,7 +3567,7 @@ case 241: ); } break; -case 242: +case 248: { /* | boolean_type*/ tao_yyval.dcval = @@ -3377,7 +3576,7 @@ case 242: ); } break; -case 244: +case 250: { /* | enum_type*/ /* | scoped_name*/ @@ -3473,19 +3672,19 @@ case 244: } } break; -case 248: +case 254: { /* case_branch : at_least_one_case_label*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } break; -case 249: +case 255: { /* element_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } break; -case 250: +case 256: { /* ';'*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3511,20 +3710,20 @@ case 250: } } break; -case 251: +case 257: { /* | error*/ idl_global->err()->syntax_error (idl_global->parse_state()); } break; -case 252: +case 258: { /* ';'*/ idl_global->set_parse_state (IDL_GlobalData::PS_NoState); tao_yyerrok; } break; -case 253: +case 259: { /* at_least_one_case_label : case_label case_labels*/ ACE_NEW_RETURN (tao_yyval.llval, @@ -3533,7 +3732,7 @@ case 253: 1); } break; -case 254: +case 260: { /* case_labels : case_labels case_label*/ if (tao_yyvsp[-1].llval == 0) @@ -3555,19 +3754,19 @@ case 254: } } break; -case 255: +case 261: { /* | /* EMPTY * /*/ tao_yyval.llval = 0; } break; -case 256: +case 262: { /* case_label : IDL_DEFAULT*/ idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } break; -case 257: +case 263: { /* ':'*/ idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -3578,18 +3777,18 @@ case 257: ); } break; -case 258: +case 264: { /* | IDL_CASE*/ idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } break; -case 259: +case 265: { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } break; -case 260: +case 266: { /* const_expr*/ idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -3600,13 +3799,13 @@ case 260: ); } break; -case 261: +case 267: { /* element_spec : type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } break; -case 262: +case 268: { /* declarator*/ idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -3646,9 +3845,9 @@ case 262: } } break; -case 263: +case 269: { -/* struct_forward_type : struct_header*/ +/* struct_forward_type : struct_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n (tao_yyvsp[0].idval, 0); @@ -3664,8 +3863,9 @@ case 263: } } break; -case 264: +case 270: { +/* union_forward_type : union_decl*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n (tao_yyvsp[0].idval, 0); @@ -3681,13 +3881,13 @@ case 264: } } break; -case 265: +case 271: { /* enum_type : IDL_ENUM*/ idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } break; -case 266: +case 272: { /* id*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3717,19 +3917,19 @@ case 266: idl_global->scopes ().push (e); } break; -case 267: +case 273: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } break; -case 268: +case 274: { /* at_least_one_enumerator*/ idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } break; -case 269: +case 275: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -3750,13 +3950,13 @@ case 269: } } break; -case 271: +case 277: { /* enumerators : enumerators ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } break; -case 274: +case 280: { /* enumerator : IDENTIFIER*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -3787,19 +3987,19 @@ case 274: } } break; -case 275: +case 281: { /* sequence_type_spec : seq_head ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } break; -case 276: +case 282: { /* positive_int_expr*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } break; -case 277: +case 283: { /* '>'*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -3853,7 +4053,7 @@ case 277: } } break; -case 278: +case 284: { /* | seq_head '>'*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -3901,7 +4101,7 @@ case 278: } } break; -case 279: +case 285: { /* seq_head : IDL_SEQUENCE*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -3912,32 +4112,32 @@ case 279: idl_global->scopes ().push (0); } break; -case 280: +case 286: { /* '<'*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } break; -case 281: +case 287: { /* simple_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); tao_yyval.dcval = tao_yyvsp[0].dcval; } break; -case 282: +case 288: { /* string_type_spec : string_head '<'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } break; -case 283: +case 289: { /* positive_int_expr*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } break; -case 284: +case 290: { /* '>'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -3966,7 +4166,7 @@ case 284: } } break; -case 285: +case 291: { /* | string_head*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -3987,25 +4187,25 @@ case 285: ); } break; -case 286: +case 292: { /* string_head : IDL_STRING*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } break; -case 287: +case 293: { /* wstring_type_spec : wstring_head '<'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } break; -case 288: +case 294: { /* positive_int_expr*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } break; -case 289: +case 295: { /* '>'*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -4032,7 +4232,7 @@ case 289: } } break; -case 290: +case 296: { /* | wstring_head*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -4052,19 +4252,19 @@ case 290: ); } break; -case 291: +case 297: { /* wstring_head : IDL_WSTRING*/ idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } break; -case 292: +case 298: { /* array_declarator : id*/ idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } break; -case 293: +case 299: { /* at_least_one_array_dim*/ idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -4087,7 +4287,7 @@ case 293: } } break; -case 294: +case 300: { /* at_least_one_array_dim : array_dim array_dims*/ ACE_NEW_RETURN (tao_yyval.elval, @@ -4096,7 +4296,7 @@ case 294: 1); } break; -case 295: +case 301: { /* array_dims : array_dims array_dim*/ if (tao_yyvsp[-1].elval == 0) @@ -4118,25 +4318,25 @@ case 295: } } break; -case 296: +case 302: { /* | /* EMPTY * /*/ tao_yyval.elval = 0; } break; -case 297: +case 303: { /* array_dim : '['*/ idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } break; -case 298: +case 304: { /* positive_int_expr*/ idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } break; -case 299: +case 305: { /* ']'*/ idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -4158,19 +4358,19 @@ case 299: } } break; -case 300: +case 306: { /* attribute : opt_readonly IDL_ATTRIBUTE*/ idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } break; -case 301: +case 307: { /* param_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } break; -case 302: +case 308: { /* at_least_one_simple_declarator*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4220,26 +4420,26 @@ case 302: } } break; -case 303: +case 309: { /* opt_readonly : IDL_READONLY*/ idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); tao_yyval.bval = I_TRUE; } break; -case 304: +case 310: { /* | /* EMPTY * /*/ tao_yyval.bval = I_FALSE; } break; -case 305: +case 311: { /* exception : IDL_EXCEPTION*/ idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } break; -case 306: +case 312: { /* id*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4266,19 +4466,19 @@ case 306: idl_global->scopes ().push (e); } break; -case 307: +case 313: { /* '{'*/ idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } break; -case 308: +case 314: { /* members*/ idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } break; -case 309: +case 315: { /* '}'*/ idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); @@ -4288,13 +4488,13 @@ case 309: idl_global->scopes ().pop (); } break; -case 310: +case 316: { /* operation : opt_op_attribute op_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } break; -case 311: +case 317: { /* IDENTIFIER*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4341,19 +4541,19 @@ case 311: idl_global->scopes ().push (o); } break; -case 312: +case 318: { /* parameter_list*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } break; -case 313: +case 319: { /* opt_raises*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } break; -case 314: +case 320: { /* opt_context*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4384,27 +4584,27 @@ case 314: idl_global->scopes ().pop (); } break; -case 315: +case 321: { /* opt_op_attribute : IDL_ONEWAY*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); tao_yyval.ofval = AST_Operation::OP_oneway; } break; -case 316: +case 322: { /* | IDL_IDEMPOTENT*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); tao_yyval.ofval = AST_Operation::OP_idempotent; } break; -case 317: +case 323: { /* | /* EMPTY * /*/ tao_yyval.ofval = AST_Operation::OP_noflags; } break; -case 319: +case 325: { /* op_type_spec : param_type_spec | IDL_VOID*/ tao_yyval.dcval = @@ -4413,14 +4613,14 @@ case 319: ); } break; -case 320: +case 326: { /* init_decl : IDL_FACTORY */ /*@@ PS_FactorySeen?*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } break; -case 321: +case 327: { /* IDENTIFIER */ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4458,7 +4658,7 @@ case 321: idl_global->scopes ().push (factory); } break; -case 322: +case 328: { /* init_parameter_list*/ /* TODO: replace parameter_list with rule that accepts only IN args */ @@ -4467,49 +4667,49 @@ case 322: idl_global->scopes ().pop (); } break; -case 323: +case 329: { /* init_parameter_list : '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } break; -case 324: +case 330: { /* ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } break; -case 325: +case 331: { /* | '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } break; -case 326: +case 332: { /* at_least_one_in_parameter ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } break; -case 328: +case 334: { /* in_parameters : in_parameters ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } break; -case 331: +case 337: { /* in_parameter : IDL_IN*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } break; -case 332: +case 338: { /* param_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } break; -case 333: +case 339: { /* declarator*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4539,49 +4739,49 @@ case 333: } } break; -case 334: +case 340: { /* parameter_list : '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } break; -case 335: +case 341: { /* ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } break; -case 336: +case 342: { /* | '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } break; -case 337: +case 343: { /* at_least_one_parameter ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } break; -case 339: +case 345: { /* parameters : parameters ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } break; -case 342: +case 348: { /* parameter : direction*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } break; -case 343: +case 349: { /* param_type_spec*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } break; -case 344: +case 350: { /* declarator*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4625,7 +4825,7 @@ case 344: } } break; -case 345: +case 351: { /* param_type_spec : base_type_spec*/ tao_yyval.dcval = @@ -4634,7 +4834,7 @@ case 345: ); } break; -case 348: +case 354: { /* | string_type_spec*/ /* | wstring_type_spec*/ @@ -4671,75 +4871,75 @@ case 348: tao_yyval.dcval = d; } break; -case 349: +case 355: { /* direction : IDL_IN*/ tao_yyval.dival = AST_Argument::dir_IN; } break; -case 350: +case 356: { /* | IDL_OUT*/ tao_yyval.dival = AST_Argument::dir_OUT; } break; -case 351: +case 357: { /* | IDL_INOUT*/ tao_yyval.dival = AST_Argument::dir_INOUT; } break; -case 352: +case 358: { /* opt_raises : IDL_RAISES*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } break; -case 353: +case 359: { /* '('*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } break; -case 354: +case 360: { /* at_least_one_scoped_name ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); tao_yyval.nlval = tao_yyvsp[-1].nlval; } break; -case 355: +case 361: { tao_yyval.nlval = 0; /* | /* EMPTY * /*/ } break; -case 356: +case 362: { /* opt_context : IDL_CONTEXT*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } break; -case 357: +case 363: { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); /* '('*/ } break; -case 358: +case 364: { /* at_least_one_string_literal ')'*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); tao_yyval.slval = tao_yyvsp[-1].slval; } break; -case 359: +case 365: { /* | /* EMPTY * /*/ tao_yyval.slval = 0; } break; -case 360: +case 366: { /* at_least_one_string_literal : IDL_STRING_LITERAL string_literals*/ ACE_NEW_RETURN (tao_yyval.slval, @@ -4748,13 +4948,13 @@ case 360: 1); } break; -case 361: +case 367: { /* string_literals : string_literals ','*/ idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } break; -case 362: +case 368: { /* IDL_STRING_LITERAL*/ if (tao_yyvsp[-3].slval == 0) @@ -4776,13 +4976,13 @@ case 362: } } break; -case 363: +case 369: { /* | /* EMPTY * /*/ tao_yyval.slval = 0; } break; -case 364: +case 370: { /* typeid_dcl : IDL_TYPEID scoped_name IDL_STRING_LITERAL*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -4801,7 +5001,7 @@ case 364: } } break; -case 365: +case 371: { /* typeprefix_dcl : IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL*/ UTL_Scope *s = idl_global->scopes ().top_non_null (); |