#################################################################### # # This file was generated using Parse::Yapp version 1.05. # # Don't edit this file, use source file instead. # # ANY CHANGE MADE HERE WILL BE LOST ! # #################################################################### package CORBA::IDL::Parser; use vars qw ( @ISA ); use strict; @ISA= qw ( Parse::Yapp::Driver ); use Parse::Yapp::Driver; sub new { my($class)=shift; ref($class) and $class=ref($class); my($self)=$class->SUPER::new( yyversion => '1.05', yystates => [ {#State 0 ACTIONS => { '' => -3, 'ENUM' => -394, 'INTERFACE' => -394, 'VALUETYPE' => -394, 'CUSTOM' => -394, 'IMPORT' => 21, 'UNION' => -394, 'NATIVE' => -394, 'CODE_FRAGMENT' => -394, 'TYPEDEF' => -394, 'EXCEPTION' => -394, 'error' => 23, "[" => -394, 'LOCAL' => -394, 'IDENTIFIER' => 12, 'TYPEID' => 25, 'MODULE' => -394, 'STRUCT' => -394, 'CONST' => -394, 'ABSTRACT' => -394, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, GOTOS => { 'value_dcl' => 1, 'code_frag' => 2, 'value_box_dcl' => 3, 'definitions' => 18, 'module_header' => 20, 'definition' => 19, 'value_box_header' => 4, 'specification' => 22, 'declspec' => 5, 'except_dcl' => 6, 'value_header' => 7, 'interface' => 8, 'type_dcl' => 9, 'module' => 24, 'interface_header' => 11, 'value_forward_dcl' => 10, 'imports' => 26, 'value' => 13, 'value_abs_dcl' => 27, 'import' => 28, 'value_abs_header' => 14, 'forward_dcl' => 30, 'exception_header' => 15, 'const_dcl' => 16, 'type_prefix_dcl' => 32, 'interface_dcl' => 17, 'type_id_dcl' => 33 } }, {#State 1 DEFAULT => -65 }, {#State 2 DEFAULT => -18 }, {#State 3 DEFAULT => -67 }, {#State 4 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, "[" => 42, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'DOUBLE' => 79, 'IDENTIFIER' => 49, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, DEFAULT => -396, GOTOS => { 'union_type' => 34, 'enum_header' => 35, 'unsigned_short_int' => 36, 'struct_type' => 38, 'union_header' => 39, 'struct_header' => 40, 'signed_longlong_int' => 45, 'enum_type' => 46, 'any_type' => 47, 'template_type_spec' => 48, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'string_type' => 52, 'props' => 53, 'char_type' => 54, 'fixed_pt_type' => 58, 'signed_short_int' => 57, 'signed_long_int' => 56, 'wide_char_type' => 59, 'octet_type' => 61, 'wide_string_type' => 62, 'object_type' => 65, 'type_spec' => 66, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 70, 'unsigned_longlong_int' => 72, 'constr_type_spec' => 74, 'floating_pt_type' => 75, 'value_base_type' => 77, 'base_type_spec' => 81, 'signed_int' => 83, 'simple_type_spec' => 84, 'boolean_type' => 86 } }, {#State 5 ACTIONS => { 'MODULE' => 96, 'CONST' => 97, 'CODE_FRAGMENT' => 90, 'EXCEPTION' => 91, "[" => 42 }, DEFAULT => -396, GOTOS => { 'union_type' => 88, 'enum_type' => 92, 'enum_header' => 35, 'type_dcl_def' => 93, 'struct_type' => 89, 'union_header' => 39, 'props' => 94, 'struct_header' => 40, 'constr_forward_decl' => 95 } }, {#State 6 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 98 } }, {#State 7 ACTIONS => { "{" => 101 } }, {#State 8 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 102 } }, {#State 9 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 103 } }, {#State 10 DEFAULT => -68 }, {#State 11 ACTIONS => { "{" => 104 } }, {#State 12 ACTIONS => { 'error' => 105 } }, {#State 13 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 106 } }, {#State 14 ACTIONS => { "{" => 107 } }, {#State 15 ACTIONS => { "{" => 109, 'error' => 108 } }, {#State 16 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 110 } }, {#State 17 DEFAULT => -28 }, {#State 18 DEFAULT => -1 }, {#State 19 ACTIONS => { '' => -7, "}" => -7, 'IMPORT' => 21, 'IDENTIFIER' => 12, 'TYPEID' => 25, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, DEFAULT => -394, GOTOS => { 'value_dcl' => 1, 'code_frag' => 2, 'value_box_dcl' => 3, 'definitions' => 111, 'definition' => 19, 'module_header' => 20, 'value_box_header' => 4, 'declspec' => 5, 'except_dcl' => 6, 'value_header' => 7, 'interface' => 8, 'type_dcl' => 9, 'module' => 24, 'interface_header' => 11, 'value_forward_dcl' => 10, 'imports' => 112, 'value' => 13, 'value_abs_dcl' => 27, 'import' => 28, 'value_abs_header' => 14, 'forward_dcl' => 30, 'exception_header' => 15, 'const_dcl' => 16, 'type_prefix_dcl' => 32, 'interface_dcl' => 17, 'type_id_dcl' => 33 } }, {#State 20 ACTIONS => { "{" => 114, 'error' => 113 } }, {#State 21 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'STRING_LITERAL' => 119, 'error' => 118 }, GOTOS => { 'imported_scope' => 117, 'scoped_name' => 116, 'string_literal' => 115 } }, {#State 22 ACTIONS => { '' => 120 } }, {#State 23 DEFAULT => -4 }, {#State 24 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 121 } }, {#State 25 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 123 }, GOTOS => { 'scoped_name' => 122 } }, {#State 26 ACTIONS => { 'IDENTIFIER' => 12, 'TYPEID' => 25, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, DEFAULT => -394, GOTOS => { 'value_dcl' => 1, 'code_frag' => 2, 'value_box_dcl' => 3, 'definitions' => 124, 'definition' => 19, 'module_header' => 20, 'value_box_header' => 4, 'declspec' => 5, 'except_dcl' => 6, 'value_header' => 7, 'interface' => 8, 'type_dcl' => 9, 'module' => 24, 'interface_header' => 11, 'value_forward_dcl' => 10, 'value' => 13, 'value_abs_dcl' => 27, 'value_abs_header' => 14, 'forward_dcl' => 30, 'exception_header' => 15, 'const_dcl' => 16, 'type_prefix_dcl' => 32, 'interface_dcl' => 17, 'type_id_dcl' => 33 } }, {#State 27 DEFAULT => -66 }, {#State 28 ACTIONS => { 'IMPORT' => 21 }, DEFAULT => -5, GOTOS => { 'imports' => 125, 'import' => 28 } }, {#State 29 DEFAULT => -395 }, {#State 30 DEFAULT => -29 }, {#State 31 ACTIONS => { "::" => 127, 'IDENTIFIER' => 49, 'error' => 128 }, GOTOS => { 'scoped_name' => 126 } }, {#State 32 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 129 } }, {#State 33 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 130 } }, {#State 34 DEFAULT => -206 }, {#State 35 ACTIONS => { "{" => 132, 'error' => 131 } }, {#State 36 DEFAULT => -227 }, {#State 37 DEFAULT => -236 }, {#State 38 DEFAULT => -205 }, {#State 39 ACTIONS => { 'SWITCH' => 133 } }, {#State 40 ACTIONS => { "{" => 134 } }, {#State 41 ACTIONS => { 'SHORT' => 136, 'LONG' => 135 } }, {#State 42 DEFAULT => -397, GOTOS => { '@2-1' => 137 } }, {#State 43 DEFAULT => -237 }, {#State 44 ACTIONS => { 'DOUBLE' => 139, 'LONG' => 138 }, DEFAULT => -225 }, {#State 45 DEFAULT => -223 }, {#State 46 DEFAULT => -207 }, {#State 47 DEFAULT => -198 }, {#State 48 DEFAULT => -189 }, {#State 49 DEFAULT => -60 }, {#State 50 DEFAULT => -228 }, {#State 51 ACTIONS => { "::" => 140 }, DEFAULT => -190 }, {#State 52 DEFAULT => -202 }, {#State 53 ACTIONS => { 'UNION' => 143, 'ENUM' => 142, 'STRUCT' => 141 } }, {#State 54 DEFAULT => -194 }, {#State 55 DEFAULT => -191 }, {#State 56 DEFAULT => -222 }, {#State 57 DEFAULT => -221 }, {#State 58 DEFAULT => -204 }, {#State 59 DEFAULT => -195 }, {#State 60 DEFAULT => -234 }, {#State 61 DEFAULT => -197 }, {#State 62 DEFAULT => -203 }, {#State 63 ACTIONS => { 'IDENTIFIER' => 144, 'error' => 145 } }, {#State 64 DEFAULT => -233 }, {#State 65 DEFAULT => -199 }, {#State 66 DEFAULT => -71 }, {#State 67 DEFAULT => -193 }, {#State 68 DEFAULT => -238 }, {#State 69 DEFAULT => -220 }, {#State 70 DEFAULT => -201 }, {#State 71 ACTIONS => { "<" => 146 }, DEFAULT => -287 }, {#State 72 DEFAULT => -229 }, {#State 73 ACTIONS => { "<" => 147 }, DEFAULT => -290 }, {#State 74 DEFAULT => -187 }, {#State 75 DEFAULT => -192 }, {#State 76 DEFAULT => -216 }, {#State 77 DEFAULT => -200 }, {#State 78 ACTIONS => { "<" => 148, 'error' => 149 } }, {#State 79 DEFAULT => -217 }, {#State 80 DEFAULT => -224 }, {#State 81 DEFAULT => -188 }, {#State 82 DEFAULT => -235 }, {#State 83 DEFAULT => -219 }, {#State 84 DEFAULT => -186 }, {#State 85 ACTIONS => { "<" => 150, 'error' => 151 } }, {#State 86 DEFAULT => -196 }, {#State 87 DEFAULT => -356 }, {#State 88 DEFAULT => -178 }, {#State 89 DEFAULT => -177 }, {#State 90 DEFAULT => -393 }, {#State 91 ACTIONS => { 'IDENTIFIER' => 152, 'error' => 153 } }, {#State 92 DEFAULT => -179 }, {#State 93 DEFAULT => -175 }, {#State 94 ACTIONS => { 'ENUM' => 142, 'VALUETYPE' => -87, 'CUSTOM' => 154, 'STRUCT' => 159, 'ABSTRACT' => 160, 'UNION' => 161, 'NATIVE' => 155, 'TYPEDEF' => 156, 'LOCAL' => 162 }, DEFAULT => -37, GOTOS => { 'value_mod' => 158, 'interface_mod' => 157 } }, {#State 95 DEFAULT => -183 }, {#State 96 ACTIONS => { 'IDENTIFIER' => 163, 'error' => 164 } }, {#State 97 ACTIONS => { 'DOUBLE' => 79, "::" => 63, 'IDENTIFIER' => 49, 'SHORT' => 80, 'CHAR' => 64, 'BOOLEAN' => 82, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'FIXED' => 176, 'error' => 173, 'FLOAT' => 76, 'LONG' => 44, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 170, 'integer_type' => 171, 'unsigned_int' => 69, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 172, 'const_type' => 174, 'signed_longlong_int' => 45, 'unsigned_long_int' => 50, 'scoped_name' => 165, 'string_type' => 166, 'signed_int' => 83, 'fixed_pt_const_type' => 175, 'char_type' => 167, 'signed_short_int' => 57, 'signed_long_int' => 56, 'boolean_type' => 177, 'wide_char_type' => 168, 'octet_type' => 169 } }, {#State 98 DEFAULT => -12 }, {#State 99 DEFAULT => -20 }, {#State 100 DEFAULT => -21 }, {#State 101 ACTIONS => { "}" => 178, 'OCTET' => -394, 'NATIVE' => -394, 'UNSIGNED' => -394, 'CODE_FRAGMENT' => -394, 'TYPEDEF' => -394, 'EXCEPTION' => -394, "[" => -394, 'ANY' => -394, 'LONG' => -394, 'IDENTIFIER' => -394, 'STRUCT' => -394, 'VOID' => -394, 'WCHAR' => -394, 'FACTORY' => -394, 'ENUM' => -394, "::" => -394, 'PRIVATE' => -394, 'CHAR' => -394, 'OBJECT' => -394, 'ONEWAY' => -394, 'STRING' => -394, 'WSTRING' => -394, 'UNION' => -394, 'error' => 193, 'FLOAT' => -394, 'ATTRIBUTE' => -394, 'PUBLIC' => -394, 'SEQUENCE' => -394, 'DOUBLE' => -394, 'SHORT' => -394, 'TYPEID' => 25, 'BOOLEAN' => -394, 'CONST' => -394, 'READONLY' => -394, 'DECLSPEC' => 29, 'FIXED' => -394, 'TYPEPREFIX' => 31, 'VALUEBASE' => -394 }, GOTOS => { 'op_header' => 188, 'init_header_param' => 189, 'code_frag' => 179, 'readonly_attr_spec' => 180, 'init_header' => 190, 'op_dcl' => 191, 'attr_dcl' => 192, 'declspec' => 181, 'except_dcl' => 182, 'state_member' => 194, 'export' => 183, 'type_dcl' => 184, 'value_elements' => 195, 'value_element' => 185, 'exception_header' => 15, 'attr_spec' => 186, 'const_dcl' => 187, 'type_prefix_dcl' => 196, 'type_id_dcl' => 198, 'init_dcl' => 197 } }, {#State 102 DEFAULT => -13 }, {#State 103 DEFAULT => -10 }, {#State 104 ACTIONS => { "}" => 199, 'OCTET' => -394, 'NATIVE' => -394, 'UNSIGNED' => -394, 'CODE_FRAGMENT' => -394, 'TYPEDEF' => -394, 'EXCEPTION' => -394, "[" => -394, 'ANY' => -394, 'LONG' => -394, 'IDENTIFIER' => -394, 'STRUCT' => -394, 'VOID' => -394, 'WCHAR' => -394, 'FACTORY' => -394, 'ENUM' => -394, "::" => -394, 'PRIVATE' => -394, 'CHAR' => -394, 'OBJECT' => -394, 'ONEWAY' => -394, 'STRING' => -394, 'WSTRING' => -394, 'UNION' => -394, 'error' => 204, 'FLOAT' => -394, 'ATTRIBUTE' => -394, 'PUBLIC' => -394, 'SEQUENCE' => -394, 'DOUBLE' => -394, 'SHORT' => -394, 'TYPEID' => 25, 'BOOLEAN' => -394, 'CONST' => -394, 'READONLY' => -394, 'DECLSPEC' => 29, 'FIXED' => -394, 'TYPEPREFIX' => 31, 'VALUEBASE' => -394 }, GOTOS => { 'op_header' => 188, 'interface_body' => 202, 'init_header_param' => 189, 'code_frag' => 179, 'readonly_attr_spec' => 180, 'init_header' => 190, 'op_dcl' => 191, 'exports' => 203, 'attr_dcl' => 192, 'declspec' => 181, 'except_dcl' => 182, 'state_member' => 205, 'type_dcl' => 184, 'export' => 200, '_export' => 201, 'exception_header' => 15, 'attr_spec' => 186, 'const_dcl' => 187, 'type_prefix_dcl' => 196, 'init_dcl' => 206, 'type_id_dcl' => 198 } }, {#State 105 ACTIONS => { ";" => 207 } }, {#State 106 DEFAULT => -15 }, {#State 107 ACTIONS => { "}" => 208, 'OCTET' => -394, 'NATIVE' => -394, 'UNSIGNED' => -394, 'CODE_FRAGMENT' => -394, 'TYPEDEF' => -394, 'EXCEPTION' => -394, "[" => -394, 'ANY' => -394, 'LONG' => -394, 'IDENTIFIER' => -394, 'STRUCT' => -394, 'VOID' => -394, 'WCHAR' => -394, 'FACTORY' => -394, 'ENUM' => -394, "::" => -394, 'PRIVATE' => -394, 'CHAR' => -394, 'OBJECT' => -394, 'ONEWAY' => -394, 'STRING' => -394, 'WSTRING' => -394, 'UNION' => -394, 'error' => 210, 'FLOAT' => -394, 'ATTRIBUTE' => -394, 'PUBLIC' => -394, 'SEQUENCE' => -394, 'DOUBLE' => -394, 'SHORT' => -394, 'TYPEID' => 25, 'BOOLEAN' => -394, 'CONST' => -394, 'READONLY' => -394, 'DECLSPEC' => 29, 'FIXED' => -394, 'TYPEPREFIX' => 31, 'VALUEBASE' => -394 }, GOTOS => { 'op_header' => 188, 'init_header_param' => 189, 'code_frag' => 179, 'readonly_attr_spec' => 180, 'init_header' => 190, 'op_dcl' => 191, 'exports' => 209, 'attr_dcl' => 192, 'declspec' => 181, 'except_dcl' => 182, 'state_member' => 205, 'type_dcl' => 184, 'export' => 200, '_export' => 201, 'exception_header' => 15, 'attr_spec' => 186, 'const_dcl' => 187, 'type_prefix_dcl' => 196, 'init_dcl' => 206, 'type_id_dcl' => 198 } }, {#State 108 DEFAULT => -302 }, {#State 109 ACTIONS => { "}" => 211, "::" => -396, 'ENUM' => -396, 'CHAR' => -396, 'OBJECT' => -396, 'STRING' => -396, 'OCTET' => -396, 'WSTRING' => -396, 'UNION' => -396, 'UNSIGNED' => -396, 'error' => 216, "[" => 42, 'ANY' => -396, 'FLOAT' => -396, 'LONG' => -396, 'SEQUENCE' => -396, 'DOUBLE' => -396, 'IDENTIFIER' => -396, 'SHORT' => -396, 'BOOLEAN' => -396, 'STRUCT' => -396, 'VOID' => -396, 'FIXED' => -396, 'VALUEBASE' => -396, 'WCHAR' => -396 }, GOTOS => { 'union_type' => 34, 'enum_type' => 46, 'member' => 213, 'enum_header' => 35, 'struct_type' => 38, 'union_header' => 39, 'constr_type_spec' => 215, 'props' => 214, 'struct_header' => 40, 'member_list' => 212 } }, {#State 110 DEFAULT => -11 }, {#State 111 DEFAULT => -8 }, {#State 112 ACTIONS => { 'IDENTIFIER' => 12, 'TYPEID' => 25, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, DEFAULT => -394, GOTOS => { 'value_dcl' => 1, 'code_frag' => 2, 'value_box_dcl' => 3, 'definitions' => 217, 'definition' => 19, 'module_header' => 20, 'value_box_header' => 4, 'declspec' => 5, 'except_dcl' => 6, 'value_header' => 7, 'interface' => 8, 'type_dcl' => 9, 'module' => 24, 'interface_header' => 11, 'value_forward_dcl' => 10, 'value' => 13, 'value_abs_dcl' => 27, 'value_abs_header' => 14, 'forward_dcl' => 30, 'exception_header' => 15, 'const_dcl' => 16, 'type_prefix_dcl' => 32, 'interface_dcl' => 17, 'type_id_dcl' => 33 } }, {#State 113 ACTIONS => { "}" => 218 } }, {#State 114 ACTIONS => { "}" => 219, 'ENUM' => -394, 'INTERFACE' => -394, 'VALUETYPE' => -394, 'CUSTOM' => -394, 'UNION' => -394, 'NATIVE' => -394, 'CODE_FRAGMENT' => -394, 'TYPEDEF' => -394, 'EXCEPTION' => -394, 'error' => 221, "[" => -394, 'LOCAL' => -394, 'IDENTIFIER' => 12, 'TYPEID' => 25, 'MODULE' => -394, 'STRUCT' => -394, 'CONST' => -394, 'ABSTRACT' => -394, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, GOTOS => { 'value_dcl' => 1, 'code_frag' => 2, 'value_box_dcl' => 3, 'definitions' => 220, 'definition' => 19, 'module_header' => 20, 'value_box_header' => 4, 'declspec' => 5, 'except_dcl' => 6, 'value_header' => 7, 'interface' => 8, 'type_dcl' => 9, 'module' => 24, 'interface_header' => 11, 'value_forward_dcl' => 10, 'value' => 13, 'value_abs_dcl' => 27, 'value_abs_header' => 14, 'forward_dcl' => 30, 'exception_header' => 15, 'const_dcl' => 16, 'type_prefix_dcl' => 32, 'interface_dcl' => 17, 'type_id_dcl' => 33 } }, {#State 115 DEFAULT => -364 }, {#State 116 ACTIONS => { "::" => 140 }, DEFAULT => -363 }, {#State 117 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 222 } }, {#State 118 DEFAULT => -362 }, {#State 119 ACTIONS => { 'STRING_LITERAL' => 119 }, DEFAULT => -168, GOTOS => { 'string_literal' => 223 } }, {#State 120 DEFAULT => 0 }, {#State 121 DEFAULT => -14 }, {#State 122 ACTIONS => { "::" => 140, 'STRING_LITERAL' => 119, 'error' => 225 }, GOTOS => { 'string_literal' => 224 } }, {#State 123 DEFAULT => -367 }, {#State 124 DEFAULT => -2 }, {#State 125 DEFAULT => -6 }, {#State 126 ACTIONS => { "::" => 140, 'STRING_LITERAL' => 119, 'error' => 227 }, GOTOS => { 'string_literal' => 226 } }, {#State 127 ACTIONS => { 'IDENTIFIER' => 144, 'STRING_LITERAL' => 119, 'error' => 145 }, GOTOS => { 'string_literal' => 228 } }, {#State 128 DEFAULT => -371 }, {#State 129 DEFAULT => -17 }, {#State 130 DEFAULT => -16 }, {#State 131 DEFAULT => -273 }, {#State 132 ACTIONS => { 'IDENTIFIER' => 229, 'error' => 231 }, GOTOS => { 'enumerators' => 232, 'enumerator' => 230 } }, {#State 133 ACTIONS => { "(" => 233, 'error' => 234 } }, {#State 134 ACTIONS => { "::" => -396, 'ENUM' => -396, 'CHAR' => -396, 'OBJECT' => -396, 'STRING' => -396, 'OCTET' => -396, 'WSTRING' => -396, 'UNION' => -396, 'UNSIGNED' => -396, 'error' => 236, "[" => 42, 'ANY' => -396, 'FLOAT' => -396, 'LONG' => -396, 'SEQUENCE' => -396, 'DOUBLE' => -396, 'IDENTIFIER' => -396, 'SHORT' => -396, 'BOOLEAN' => -396, 'STRUCT' => -396, 'VOID' => -396, 'FIXED' => -396, 'VALUEBASE' => -396, 'WCHAR' => -396 }, GOTOS => { 'union_type' => 34, 'enum_type' => 46, 'member' => 213, 'enum_header' => 35, 'struct_type' => 38, 'union_header' => 39, 'constr_type_spec' => 215, 'props' => 214, 'struct_header' => 40, 'member_list' => 235 } }, {#State 135 ACTIONS => { 'LONG' => 237 }, DEFAULT => -231 }, {#State 136 DEFAULT => -230 }, {#State 137 ACTIONS => { 'PROP_KEY' => 238 }, GOTOS => { 'prop_list' => 239 } }, {#State 138 DEFAULT => -226 }, {#State 139 DEFAULT => -218 }, {#State 140 ACTIONS => { 'IDENTIFIER' => 240, 'error' => 241 } }, {#State 141 ACTIONS => { 'IDENTIFIER' => 242, 'error' => 243 } }, {#State 142 ACTIONS => { 'IDENTIFIER' => 244, 'error' => 245 } }, {#State 143 ACTIONS => { 'IDENTIFIER' => 246, 'error' => 247 } }, {#State 144 DEFAULT => -61 }, {#State 145 DEFAULT => -62 }, {#State 146 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 266, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 273, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 147 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 277, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 278, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 148 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'error' => 279, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 62, 'object_type' => 65, 'integer_type' => 67, 'sequence_type' => 70, 'unsigned_int' => 69, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'template_type_spec' => 48, 'base_type_spec' => 81, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'signed_int' => 83, 'string_type' => 52, 'simple_type_spec' => 280, 'char_type' => 54, 'signed_short_int' => 57, 'signed_long_int' => 56, 'fixed_pt_type' => 58, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 149 DEFAULT => -285 }, {#State 150 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 281, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 282, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 151 DEFAULT => -354 }, {#State 152 DEFAULT => -303 }, {#State 153 DEFAULT => -304 }, {#State 154 DEFAULT => -86 }, {#State 155 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarator' => 283 } }, {#State 156 ACTIONS => { 'ENUM' => -396, "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNION' => -396, 'UNSIGNED' => 41, 'error' => 288, "[" => 42, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'DOUBLE' => 79, 'IDENTIFIER' => 49, 'SHORT' => 80, 'BOOLEAN' => 82, 'STRUCT' => -396, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'union_type' => 34, 'enum_header' => 35, 'unsigned_short_int' => 36, 'struct_type' => 38, 'union_header' => 39, 'struct_header' => 40, 'type_declarator' => 286, 'signed_longlong_int' => 45, 'enum_type' => 46, 'any_type' => 47, 'template_type_spec' => 48, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'string_type' => 52, 'props' => 53, 'char_type' => 54, 'fixed_pt_type' => 58, 'signed_short_int' => 57, 'signed_long_int' => 56, 'wide_char_type' => 59, 'octet_type' => 61, 'wide_string_type' => 62, 'object_type' => 65, 'type_spec' => 287, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 70, 'unsigned_longlong_int' => 72, 'constr_type_spec' => 74, 'floating_pt_type' => 75, 'value_base_type' => 77, 'base_type_spec' => 81, 'signed_int' => 83, 'simple_type_spec' => 84, 'boolean_type' => 86 } }, {#State 157 ACTIONS => { 'INTERFACE' => 289 } }, {#State 158 ACTIONS => { 'VALUETYPE' => 290 } }, {#State 159 ACTIONS => { 'IDENTIFIER' => 291, 'error' => 292 } }, {#State 160 ACTIONS => { 'INTERFACE' => -35, 'VALUETYPE' => 293, 'error' => 294 } }, {#State 161 ACTIONS => { 'IDENTIFIER' => 295, 'error' => 296 } }, {#State 162 DEFAULT => -36 }, {#State 163 DEFAULT => -26 }, {#State 164 DEFAULT => -27 }, {#State 165 ACTIONS => { "::" => 140 }, DEFAULT => -132 }, {#State 166 DEFAULT => -129 }, {#State 167 DEFAULT => -125 }, {#State 168 DEFAULT => -126 }, {#State 169 DEFAULT => -133 }, {#State 170 DEFAULT => -130 }, {#State 171 DEFAULT => -124 }, {#State 172 DEFAULT => -128 }, {#State 173 DEFAULT => -123 }, {#State 174 ACTIONS => { 'IDENTIFIER' => 297, 'error' => 298 } }, {#State 175 DEFAULT => -131 }, {#State 176 DEFAULT => -355 }, {#State 177 DEFAULT => -127 }, {#State 178 DEFAULT => -79 }, {#State 179 DEFAULT => -53 }, {#State 180 DEFAULT => -297 }, {#State 181 ACTIONS => { 'CODE_FRAGMENT' => 90, 'EXCEPTION' => 91, "[" => 42, 'CONST' => 97 }, DEFAULT => -396, GOTOS => { 'union_type' => 88, 'enum_type' => 92, 'enum_header' => 35, 'type_dcl_def' => 93, 'struct_type' => 89, 'union_header' => 39, 'props' => 299, 'struct_header' => 40, 'constr_forward_decl' => 95 } }, {#State 182 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 300 } }, {#State 183 DEFAULT => -99 }, {#State 184 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 301 } }, {#State 185 ACTIONS => { "}" => -82, 'TYPEID' => 25, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, DEFAULT => -394, GOTOS => { 'op_header' => 188, 'init_header_param' => 189, 'code_frag' => 179, 'readonly_attr_spec' => 180, 'init_header' => 190, 'op_dcl' => 191, 'attr_dcl' => 192, 'declspec' => 181, 'except_dcl' => 182, 'state_member' => 194, 'export' => 183, 'type_dcl' => 184, 'value_elements' => 302, 'value_element' => 185, 'exception_header' => 15, 'attr_spec' => 186, 'const_dcl' => 187, 'type_prefix_dcl' => 196, 'type_id_dcl' => 198, 'init_dcl' => 197 } }, {#State 186 DEFAULT => -298 }, {#State 187 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 303 } }, {#State 188 ACTIONS => { "(" => 304, 'error' => 305 }, GOTOS => { 'parameter_dcls' => 306 } }, {#State 189 ACTIONS => { 'RAISES' => 307 }, DEFAULT => -333, GOTOS => { 'raises_expr' => 308 } }, {#State 190 ACTIONS => { "(" => 309, 'error' => 310 } }, {#State 191 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 311 } }, {#State 192 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 312 } }, {#State 193 ACTIONS => { "}" => 313 } }, {#State 194 DEFAULT => -100 }, {#State 195 ACTIONS => { "}" => 314 } }, {#State 196 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 315 } }, {#State 197 DEFAULT => -101 }, {#State 198 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 316 } }, {#State 199 DEFAULT => -30 }, {#State 200 DEFAULT => -43 }, {#State 201 ACTIONS => { "}" => -41, 'TYPEID' => 25, 'DECLSPEC' => 29, 'TYPEPREFIX' => 31 }, DEFAULT => -394, GOTOS => { 'op_header' => 188, 'init_header_param' => 189, 'code_frag' => 179, 'readonly_attr_spec' => 180, 'init_header' => 190, 'op_dcl' => 191, 'exports' => 317, 'attr_dcl' => 192, 'declspec' => 181, 'except_dcl' => 182, 'state_member' => 205, 'type_dcl' => 184, 'export' => 200, '_export' => 201, 'exception_header' => 15, 'attr_spec' => 186, 'const_dcl' => 187, 'type_prefix_dcl' => 196, 'init_dcl' => 206, 'type_id_dcl' => 198 } }, {#State 202 ACTIONS => { "}" => 318 } }, {#State 203 DEFAULT => -40 }, {#State 204 ACTIONS => { "}" => 319 } }, {#State 205 DEFAULT => -44 }, {#State 206 DEFAULT => -45 }, {#State 207 DEFAULT => -19 }, {#State 208 DEFAULT => -73 }, {#State 209 ACTIONS => { "}" => 320 } }, {#State 210 ACTIONS => { "}" => 321 } }, {#State 211 DEFAULT => -299 }, {#State 212 ACTIONS => { "}" => 322 } }, {#State 213 ACTIONS => { "}" => -243, "[" => 42 }, DEFAULT => -396, GOTOS => { 'union_type' => 34, 'enum_type' => 46, 'member' => 213, 'enum_header' => 35, 'struct_type' => 38, 'union_header' => 39, 'constr_type_spec' => 215, 'props' => 214, 'struct_header' => 40, 'member_list' => 323 } }, {#State 214 ACTIONS => { 'ENUM' => 142, "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNION' => 143, 'UNSIGNED' => 41, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'STRUCT' => 141, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 62, 'object_type' => 65, 'integer_type' => 67, 'sequence_type' => 70, 'unsigned_int' => 69, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'template_type_spec' => 48, 'base_type_spec' => 81, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'signed_int' => 83, 'string_type' => 52, 'simple_type_spec' => 324, 'char_type' => 54, 'signed_short_int' => 57, 'signed_long_int' => 56, 'fixed_pt_type' => 58, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 215 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'declarators' => 328, 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 327, 'complex_declarator' => 330 } }, {#State 216 ACTIONS => { "}" => 331 } }, {#State 217 DEFAULT => -9 }, {#State 218 DEFAULT => -25 }, {#State 219 DEFAULT => -24 }, {#State 220 ACTIONS => { "}" => 332 } }, {#State 221 ACTIONS => { "}" => 333 } }, {#State 222 DEFAULT => -361 }, {#State 223 DEFAULT => -169 }, {#State 224 DEFAULT => -365 }, {#State 225 DEFAULT => -366 }, {#State 226 DEFAULT => -368 }, {#State 227 DEFAULT => -369 }, {#State 228 DEFAULT => -370 }, {#State 229 DEFAULT => -280 }, {#State 230 ACTIONS => { ";" => 334, "," => 335 }, DEFAULT => -276 }, {#State 231 ACTIONS => { "}" => 336 } }, {#State 232 ACTIONS => { "}" => 337 } }, {#State 233 ACTIONS => { 'ENUM' => -396, "::" => 63, 'IDENTIFIER' => 49, 'SHORT' => 80, 'CHAR' => 64, 'BOOLEAN' => 82, 'UNSIGNED' => 41, 'error' => 344, "[" => 42, 'LONG' => 338 }, GOTOS => { 'signed_longlong_int' => 45, 'enum_type' => 339, 'integer_type' => 343, 'unsigned_long_int' => 50, 'unsigned_int' => 69, 'scoped_name' => 340, 'enum_header' => 35, 'signed_int' => 83, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'props' => 341, 'char_type' => 342, 'signed_short_int' => 57, 'signed_long_int' => 56, 'boolean_type' => 346, 'switch_type_spec' => 345 } }, {#State 234 DEFAULT => -251 }, {#State 235 ACTIONS => { "}" => 347 } }, {#State 236 ACTIONS => { "}" => 348 } }, {#State 237 DEFAULT => -232 }, {#State 238 ACTIONS => { 'PROP_VALUE' => 349 }, DEFAULT => -401 }, {#State 239 ACTIONS => { "," => 351, "]" => 350 } }, {#State 240 DEFAULT => -63 }, {#State 241 DEFAULT => -64 }, {#State 242 DEFAULT => -241 }, {#State 243 DEFAULT => -242 }, {#State 244 DEFAULT => -274 }, {#State 245 DEFAULT => -275 }, {#State 246 DEFAULT => -252 }, {#State 247 DEFAULT => -253 }, {#State 248 DEFAULT => -153 }, {#State 249 DEFAULT => -155 }, {#State 250 DEFAULT => -157 }, {#State 251 DEFAULT => -173 }, {#State 252 DEFAULT => -174 }, {#State 253 ACTIONS => { "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'literal' => 250, 'primary_expr' => 352, 'scoped_name' => 257, 'wide_string_literal' => 275, 'boolean_literal' => 270, 'string_literal' => 254 } }, {#State 254 DEFAULT => -161 }, {#State 255 ACTIONS => { "&" => 353 }, DEFAULT => -137 }, {#State 256 ACTIONS => { "|" => 354 }, DEFAULT => -134 }, {#State 257 ACTIONS => { "::" => 140 }, DEFAULT => -156 }, {#State 258 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 356, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'shift_expr' => 264, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'const_exp' => 355, 'xor_expr' => 276, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 259 DEFAULT => -147 }, {#State 260 DEFAULT => -164 }, {#State 261 DEFAULT => -172 }, {#State 262 DEFAULT => -154 }, {#State 263 DEFAULT => -160 }, {#State 264 ACTIONS => { "<<" => 358, ">>" => 357 }, DEFAULT => -139 }, {#State 265 DEFAULT => -166 }, {#State 266 ACTIONS => { ">" => 359 } }, {#State 267 ACTIONS => { 'WIDE_STRING_LITERAL' => 267 }, DEFAULT => -170, GOTOS => { 'wide_string_literal' => 360 } }, {#State 268 DEFAULT => -163 }, {#State 269 ACTIONS => { "%" => 361, "*" => 362, "/" => 363 }, DEFAULT => -144 }, {#State 270 DEFAULT => -167 }, {#State 271 ACTIONS => { "-" => 364, "+" => 365 }, DEFAULT => -141 }, {#State 272 DEFAULT => -165 }, {#State 273 ACTIONS => { ">" => 366 } }, {#State 274 DEFAULT => -152 }, {#State 275 DEFAULT => -162 }, {#State 276 ACTIONS => { "^" => 367 }, DEFAULT => -135 }, {#State 277 ACTIONS => { ">" => 368 } }, {#State 278 ACTIONS => { ">" => 369 } }, {#State 279 ACTIONS => { ">" => 370 } }, {#State 280 ACTIONS => { "," => 372, ">" => 371 } }, {#State 281 ACTIONS => { ">" => 373 } }, {#State 282 ACTIONS => { "," => 374 } }, {#State 283 ACTIONS => { "(" => 375 }, DEFAULT => -180 }, {#State 284 DEFAULT => -212 }, {#State 285 ACTIONS => { ";" => 376, "," => 377 } }, {#State 286 DEFAULT => -176 }, {#State 287 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'declarators' => 378, 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 327, 'complex_declarator' => 330 } }, {#State 288 DEFAULT => -184 }, {#State 289 ACTIONS => { 'IDENTIFIER' => 379, 'error' => 380 } }, {#State 290 ACTIONS => { 'IDENTIFIER' => 381, 'error' => 382 } }, {#State 291 ACTIONS => { "{" => -241 }, DEFAULT => -357 }, {#State 292 ACTIONS => { "{" => -242 }, DEFAULT => -358 }, {#State 293 ACTIONS => { 'IDENTIFIER' => 383, 'error' => 384 } }, {#State 294 DEFAULT => -78 }, {#State 295 ACTIONS => { 'SWITCH' => -252 }, DEFAULT => -359 }, {#State 296 ACTIONS => { 'SWITCH' => -253 }, DEFAULT => -360 }, {#State 297 ACTIONS => { 'error' => 385, "=" => 386 } }, {#State 298 DEFAULT => -122 }, {#State 299 ACTIONS => { 'FACTORY' => 389, 'ENUM' => 142, 'PRIVATE' => 390, 'ONEWAY' => 391, 'UNION' => 161, 'NATIVE' => 155, 'TYPEDEF' => 156, 'ATTRIBUTE' => 392, 'PUBLIC' => 394, 'STRUCT' => 159, 'READONLY' => 395 }, DEFAULT => -310, GOTOS => { 'op_mod' => 388, 'op_attribute' => 387, 'state_mod' => 393 } }, {#State 300 DEFAULT => -48 }, {#State 301 DEFAULT => -46 }, {#State 302 DEFAULT => -83 }, {#State 303 DEFAULT => -47 }, {#State 304 ACTIONS => { "::" => -396, 'CHAR' => -396, 'OBJECT' => -396, 'STRING' => -396, 'OCTET' => -396, 'WSTRING' => -396, 'UNSIGNED' => -396, 'error' => 399, "[" => 42, 'ANY' => -396, 'FLOAT' => -396, ")" => 400, 'LONG' => -396, 'SEQUENCE' => -396, 'DOUBLE' => -396, 'IDENTIFIER' => -396, 'SHORT' => -396, 'BOOLEAN' => -396, 'INOUT' => -396, "..." => 401, 'OUT' => -396, 'IN' => -396, 'VOID' => -396, 'FIXED' => -396, 'VALUEBASE' => -396, 'WCHAR' => -396 }, GOTOS => { 'props' => 397, 'param_dcl' => 396, 'param_dcls' => 398 } }, {#State 305 DEFAULT => -306 }, {#State 306 ACTIONS => { 'RAISES' => 307 }, DEFAULT => -333, GOTOS => { 'raises_expr' => 402 } }, {#State 307 ACTIONS => { "(" => 403, 'error' => 404 } }, {#State 308 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 405 } }, {#State 309 ACTIONS => { 'error' => 408, ")" => 409, 'IN' => 411 }, GOTOS => { 'init_param_decl' => 407, 'init_param_decls' => 410, 'init_param_attribute' => 406 } }, {#State 310 DEFAULT => -111 }, {#State 311 DEFAULT => -50 }, {#State 312 DEFAULT => -49 }, {#State 313 DEFAULT => -81 }, {#State 314 DEFAULT => -80 }, {#State 315 DEFAULT => -52 }, {#State 316 DEFAULT => -51 }, {#State 317 DEFAULT => -42 }, {#State 318 DEFAULT => -31 }, {#State 319 DEFAULT => -32 }, {#State 320 DEFAULT => -74 }, {#State 321 DEFAULT => -75 }, {#State 322 DEFAULT => -300 }, {#State 323 DEFAULT => -244 }, {#State 324 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'declarators' => 412, 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 327, 'complex_declarator' => 330 } }, {#State 325 DEFAULT => -210 }, {#State 326 ACTIONS => { "[" => 414 }, DEFAULT => -212, GOTOS => { 'fixed_array_sizes' => 413, 'fixed_array_size' => 415 } }, {#State 327 ACTIONS => { "," => 416 }, DEFAULT => -208 }, {#State 328 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 417 } }, {#State 329 DEFAULT => -215 }, {#State 330 DEFAULT => -211 }, {#State 331 DEFAULT => -301 }, {#State 332 DEFAULT => -22 }, {#State 333 DEFAULT => -23 }, {#State 334 DEFAULT => -279 }, {#State 335 ACTIONS => { 'IDENTIFIER' => 229 }, DEFAULT => -278, GOTOS => { 'enumerators' => 418, 'enumerator' => 230 } }, {#State 336 DEFAULT => -272 }, {#State 337 DEFAULT => -271 }, {#State 338 ACTIONS => { 'LONG' => 138 }, DEFAULT => -225 }, {#State 339 DEFAULT => -257 }, {#State 340 ACTIONS => { "::" => 140 }, DEFAULT => -258 }, {#State 341 ACTIONS => { 'ENUM' => 142 } }, {#State 342 DEFAULT => -255 }, {#State 343 DEFAULT => -254 }, {#State 344 ACTIONS => { ")" => 419 } }, {#State 345 ACTIONS => { ")" => 420 } }, {#State 346 DEFAULT => -256 }, {#State 347 DEFAULT => -239 }, {#State 348 DEFAULT => -240 }, {#State 349 DEFAULT => -399 }, {#State 350 DEFAULT => -398 }, {#State 351 ACTIONS => { 'PROP_KEY' => 421 } }, {#State 352 DEFAULT => -151 }, {#State 353 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'mult_expr' => 269, 'shift_expr' => 422, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 354 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'and_expr' => 255, 'mult_expr' => 269, 'shift_expr' => 264, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'xor_expr' => 423, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 355 ACTIONS => { ")" => 424 } }, {#State 356 ACTIONS => { ")" => 425 } }, {#State 357 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'literal' => 250, 'add_expr' => 426, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 358 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'literal' => 250, 'add_expr' => 427, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 359 DEFAULT => -288 }, {#State 360 DEFAULT => -171 }, {#State 361 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 428, 'unary_operator' => 253, 'scoped_name' => 257, 'wide_string_literal' => 275, 'boolean_literal' => 270, 'string_literal' => 254 } }, {#State 362 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 429, 'unary_operator' => 253, 'scoped_name' => 257, 'wide_string_literal' => 275, 'boolean_literal' => 270, 'string_literal' => 254 } }, {#State 363 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 430, 'unary_operator' => 253, 'scoped_name' => 257, 'wide_string_literal' => 275, 'boolean_literal' => 270, 'string_literal' => 254 } }, {#State 364 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'mult_expr' => 431, 'scoped_name' => 257, 'boolean_literal' => 270, 'literal' => 250, 'unary_expr' => 259, 'primary_expr' => 274, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 365 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'mult_expr' => 432, 'scoped_name' => 257, 'boolean_literal' => 270, 'literal' => 250, 'unary_expr' => 259, 'primary_expr' => 274, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 366 DEFAULT => -286 }, {#State 367 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, 'IDENTIFIER' => 49, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FIXED_PT_LITERAL' => 272, "(" => 258, 'FALSE' => 251, 'STRING_LITERAL' => 119, 'WIDE_STRING_LITERAL' => 267, 'WIDE_CHARACTER_LITERAL' => 260, 'CHARACTER_LITERAL' => 268 }, GOTOS => { 'and_expr' => 433, 'mult_expr' => 269, 'shift_expr' => 264, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 368 DEFAULT => -291 }, {#State 369 DEFAULT => -289 }, {#State 370 DEFAULT => -284 }, {#State 371 DEFAULT => -283 }, {#State 372 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 434, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 435, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 373 DEFAULT => -353 }, {#State 374 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 436, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 437, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 375 DEFAULT => -181, GOTOS => { '@1-4' => 438 } }, {#State 376 DEFAULT => -214 }, {#State 377 DEFAULT => -213 }, {#State 378 DEFAULT => -185 }, {#State 379 ACTIONS => { ":" => 439, "{" => -56 }, DEFAULT => -33, GOTOS => { 'interface_inheritance_spec' => 440 } }, {#State 380 ACTIONS => { "{" => -39 }, DEFAULT => -34 }, {#State 381 ACTIONS => { ":" => 441, 'SUPPORTS' => 442, ";" => -69, 'error' => -69, "{" => -97 }, DEFAULT => -72, GOTOS => { 'supported_interface_spec' => 444, 'value_inheritance_spec' => 443 } }, {#State 382 DEFAULT => -85 }, {#State 383 ACTIONS => { ":" => 441, 'SUPPORTS' => 442, "{" => -97 }, DEFAULT => -70, GOTOS => { 'supported_interface_spec' => 444, 'value_inheritance_spec' => 445 } }, {#State 384 DEFAULT => -77 }, {#State 385 DEFAULT => -121 }, {#State 386 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 447, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'shift_expr' => 264, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'const_exp' => 446, 'xor_expr' => 276, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 387 DEFAULT => -309 }, {#State 388 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 450, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 452, 'object_type' => 65, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 453, 'op_param_type_spec' => 454, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'base_type_spec' => 455, 'unsigned_long_int' => 50, 'scoped_name' => 448, 'signed_int' => 83, 'string_type' => 449, 'char_type' => 54, 'signed_long_int' => 56, 'fixed_pt_type' => 451, 'signed_short_int' => 57, 'op_type_spec' => 456, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 389 ACTIONS => { 'IDENTIFIER' => 457, 'error' => 458 } }, {#State 390 DEFAULT => -106 }, {#State 391 DEFAULT => -311 }, {#State 392 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'error' => 464, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 459, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 452, 'object_type' => 65, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 462, 'op_param_type_spec' => 463, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'base_type_spec' => 455, 'unsigned_long_int' => 50, 'scoped_name' => 448, 'signed_int' => 83, 'string_type' => 449, 'char_type' => 54, 'signed_long_int' => 56, 'fixed_pt_type' => 460, 'signed_short_int' => 57, 'param_type_spec' => 461, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 393 ACTIONS => { 'ENUM' => -396, "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNION' => -396, 'UNSIGNED' => 41, 'error' => 466, "[" => 42, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'DOUBLE' => 79, 'IDENTIFIER' => 49, 'SHORT' => 80, 'BOOLEAN' => 82, 'STRUCT' => -396, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'union_type' => 34, 'enum_header' => 35, 'unsigned_short_int' => 36, 'struct_type' => 38, 'union_header' => 39, 'struct_header' => 40, 'signed_longlong_int' => 45, 'enum_type' => 46, 'any_type' => 47, 'template_type_spec' => 48, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'string_type' => 52, 'props' => 53, 'char_type' => 54, 'fixed_pt_type' => 58, 'signed_short_int' => 57, 'signed_long_int' => 56, 'wide_char_type' => 59, 'octet_type' => 61, 'wide_string_type' => 62, 'object_type' => 65, 'type_spec' => 465, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 70, 'unsigned_longlong_int' => 72, 'constr_type_spec' => 74, 'floating_pt_type' => 75, 'value_base_type' => 77, 'base_type_spec' => 81, 'signed_int' => 83, 'simple_type_spec' => 84, 'boolean_type' => 86 } }, {#State 394 DEFAULT => -105 }, {#State 395 ACTIONS => { 'error' => 467, 'ATTRIBUTE' => 468 } }, {#State 396 ACTIONS => { ";" => 469 }, DEFAULT => -322 }, {#State 397 ACTIONS => { 'INOUT' => 471, 'OUT' => 472, 'IN' => 473 }, DEFAULT => -329, GOTOS => { 'param_attribute' => 470 } }, {#State 398 ACTIONS => { "," => 474, ")" => 475 } }, {#State 399 ACTIONS => { ")" => 476 } }, {#State 400 DEFAULT => -319 }, {#State 401 ACTIONS => { ")" => 477 } }, {#State 402 ACTIONS => { 'CONTEXT' => 479 }, DEFAULT => -340, GOTOS => { 'context_expr' => 478 } }, {#State 403 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 481 }, GOTOS => { 'exception_names' => 482, 'scoped_name' => 480, 'exception_name' => 483 } }, {#State 404 DEFAULT => -332 }, {#State 405 DEFAULT => -107 }, {#State 406 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'error' => 485, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 459, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 452, 'object_type' => 65, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 462, 'op_param_type_spec' => 463, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'base_type_spec' => 455, 'unsigned_long_int' => 50, 'scoped_name' => 448, 'signed_int' => 83, 'string_type' => 449, 'char_type' => 54, 'signed_long_int' => 56, 'fixed_pt_type' => 460, 'signed_short_int' => 57, 'param_type_spec' => 484, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 407 ACTIONS => { "," => 486 }, DEFAULT => -114 }, {#State 408 ACTIONS => { ")" => 487 } }, {#State 409 DEFAULT => -108 }, {#State 410 ACTIONS => { ")" => 488 } }, {#State 411 DEFAULT => -118 }, {#State 412 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 489 } }, {#State 413 DEFAULT => -292 }, {#State 414 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 490, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'shift_expr' => 264, 'literal' => 250, 'const_exp' => 252, 'unary_operator' => 253, 'string_literal' => 254, 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'positive_int_const' => 491, 'unary_expr' => 259, 'primary_expr' => 274, 'wide_string_literal' => 275, 'xor_expr' => 276 } }, {#State 415 ACTIONS => { "[" => 414 }, DEFAULT => -293, GOTOS => { 'fixed_array_sizes' => 492, 'fixed_array_size' => 415 } }, {#State 416 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'declarators' => 493, 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 327, 'complex_declarator' => 330 } }, {#State 417 DEFAULT => -246 }, {#State 418 DEFAULT => -277 }, {#State 419 DEFAULT => -250 }, {#State 420 ACTIONS => { "{" => 495, 'error' => 494 } }, {#State 421 ACTIONS => { 'PROP_VALUE' => 496 }, DEFAULT => -402 }, {#State 422 ACTIONS => { "<<" => 358, ">>" => 357 }, DEFAULT => -140 }, {#State 423 ACTIONS => { "^" => 367 }, DEFAULT => -136 }, {#State 424 DEFAULT => -158 }, {#State 425 DEFAULT => -159 }, {#State 426 ACTIONS => { "-" => 364, "+" => 365 }, DEFAULT => -142 }, {#State 427 ACTIONS => { "-" => 364, "+" => 365 }, DEFAULT => -143 }, {#State 428 DEFAULT => -150 }, {#State 429 DEFAULT => -148 }, {#State 430 DEFAULT => -149 }, {#State 431 ACTIONS => { "%" => 361, "*" => 362, "/" => 363 }, DEFAULT => -146 }, {#State 432 ACTIONS => { "%" => 361, "*" => 362, "/" => 363 }, DEFAULT => -145 }, {#State 433 ACTIONS => { "&" => 353 }, DEFAULT => -138 }, {#State 434 ACTIONS => { ">" => 497 } }, {#State 435 ACTIONS => { ">" => 498 } }, {#State 436 ACTIONS => { ">" => 499 } }, {#State 437 ACTIONS => { ">" => 500 } }, {#State 438 ACTIONS => { 'NATIVE_TYPE' => 501 } }, {#State 439 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 503 }, GOTOS => { 'interface_name' => 505, 'interface_names' => 504, 'scoped_name' => 502 } }, {#State 440 DEFAULT => -38 }, {#State 441 ACTIONS => { 'TRUNCATABLE' => 507 }, DEFAULT => -92, GOTOS => { 'inheritance_mod' => 506 } }, {#State 442 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 508 }, GOTOS => { 'interface_name' => 505, 'interface_names' => 509, 'scoped_name' => 502 } }, {#State 443 DEFAULT => -84 }, {#State 444 DEFAULT => -90 }, {#State 445 DEFAULT => -76 }, {#State 446 DEFAULT => -119 }, {#State 447 DEFAULT => -120 }, {#State 448 ACTIONS => { "::" => 140 }, DEFAULT => -350 }, {#State 449 DEFAULT => -348 }, {#State 450 DEFAULT => -313 }, {#State 451 DEFAULT => -315 }, {#State 452 DEFAULT => -349 }, {#State 453 DEFAULT => -314 }, {#State 454 DEFAULT => -312 }, {#State 455 DEFAULT => -347 }, {#State 456 ACTIONS => { 'IDENTIFIER' => 510, 'error' => 511 } }, {#State 457 DEFAULT => -112 }, {#State 458 DEFAULT => -113 }, {#State 459 DEFAULT => -344 }, {#State 460 DEFAULT => -346 }, {#State 461 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'attr_declarator' => 513, 'simple_declarator' => 512 } }, {#State 462 DEFAULT => -345 }, {#State 463 DEFAULT => -343 }, {#State 464 DEFAULT => -380 }, {#State 465 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 514 }, GOTOS => { 'declarators' => 515, 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 327, 'complex_declarator' => 330 } }, {#State 466 ACTIONS => { ";" => 516 } }, {#State 467 DEFAULT => -374 }, {#State 468 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'error' => 518, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 459, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 452, 'object_type' => 65, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 462, 'op_param_type_spec' => 463, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'base_type_spec' => 455, 'unsigned_long_int' => 50, 'scoped_name' => 448, 'signed_int' => 83, 'string_type' => 449, 'char_type' => 54, 'signed_long_int' => 56, 'fixed_pt_type' => 460, 'signed_short_int' => 57, 'param_type_spec' => 517, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 469 DEFAULT => -324 }, {#State 470 ACTIONS => { "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNSIGNED' => 41, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'VOID' => 459, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 452, 'object_type' => 65, 'integer_type' => 67, 'unsigned_int' => 69, 'sequence_type' => 462, 'op_param_type_spec' => 463, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'base_type_spec' => 455, 'unsigned_long_int' => 50, 'scoped_name' => 448, 'signed_int' => 83, 'string_type' => 449, 'char_type' => 54, 'signed_long_int' => 56, 'fixed_pt_type' => 460, 'signed_short_int' => 57, 'param_type_spec' => 519, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 471 DEFAULT => -328 }, {#State 472 DEFAULT => -327 }, {#State 473 DEFAULT => -326 }, {#State 474 ACTIONS => { "[" => 42, ")" => 521, "..." => 522 }, DEFAULT => -396, GOTOS => { 'props' => 397, 'param_dcl' => 520 } }, {#State 475 DEFAULT => -316 }, {#State 476 DEFAULT => -321 }, {#State 477 DEFAULT => -320 }, {#State 478 DEFAULT => -305 }, {#State 479 ACTIONS => { "(" => 523, 'error' => 524 } }, {#State 480 ACTIONS => { "::" => 140 }, DEFAULT => -336 }, {#State 481 ACTIONS => { ")" => 525 } }, {#State 482 ACTIONS => { ")" => 526 } }, {#State 483 ACTIONS => { "," => 527 }, DEFAULT => -334 }, {#State 484 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarator' => 528 } }, {#State 485 DEFAULT => -117 }, {#State 486 ACTIONS => { 'IN' => 411 }, GOTOS => { 'init_param_decl' => 407, 'init_param_decls' => 529, 'init_param_attribute' => 406 } }, {#State 487 DEFAULT => -110 }, {#State 488 DEFAULT => -109 }, {#State 489 DEFAULT => -245 }, {#State 490 ACTIONS => { "]" => 530 } }, {#State 491 ACTIONS => { "]" => 531 } }, {#State 492 DEFAULT => -294 }, {#State 493 DEFAULT => -209 }, {#State 494 DEFAULT => -249 }, {#State 495 ACTIONS => { 'DEFAULT' => 537, 'error' => 535, 'CASE' => 532 }, GOTOS => { 'case_label' => 538, 'switch_body' => 533, 'case' => 534, 'case_labels' => 536 } }, {#State 496 DEFAULT => -400 }, {#State 497 DEFAULT => -282 }, {#State 498 DEFAULT => -281 }, {#State 499 DEFAULT => -352 }, {#State 500 DEFAULT => -351 }, {#State 501 DEFAULT => -182 }, {#State 502 ACTIONS => { "::" => 140 }, DEFAULT => -59 }, {#State 503 DEFAULT => -55 }, {#State 504 DEFAULT => -54 }, {#State 505 ACTIONS => { "," => 539 }, DEFAULT => -57 }, {#State 506 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 543 }, GOTOS => { 'value_name' => 540, 'value_names' => 541, 'scoped_name' => 542 } }, {#State 507 DEFAULT => -91 }, {#State 508 DEFAULT => -96 }, {#State 509 DEFAULT => -95 }, {#State 510 DEFAULT => -307 }, {#State 511 DEFAULT => -308 }, {#State 512 ACTIONS => { 'SETRAISES' => 549, 'GETRAISES' => 545, "," => 546 }, DEFAULT => -386, GOTOS => { 'get_except_expr' => 547, 'attr_raises_expr' => 544, 'set_except_expr' => 548 } }, {#State 513 DEFAULT => -379 }, {#State 514 ACTIONS => { ";" => 550, "," => 377 } }, {#State 515 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 551 } }, {#State 516 DEFAULT => -104 }, {#State 517 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'readonly_attr_declarator' => 552, 'simple_declarator' => 553 } }, {#State 518 DEFAULT => -373 }, {#State 519 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarator' => 554 } }, {#State 520 DEFAULT => -323 }, {#State 521 DEFAULT => -318 }, {#State 522 ACTIONS => { ")" => 555 } }, {#State 523 ACTIONS => { 'STRING_LITERAL' => 119, 'error' => 558 }, GOTOS => { 'string_literals' => 557, 'string_literal' => 556 } }, {#State 524 DEFAULT => -339 }, {#State 525 DEFAULT => -331 }, {#State 526 DEFAULT => -330 }, {#State 527 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49 }, GOTOS => { 'exception_names' => 559, 'scoped_name' => 480, 'exception_name' => 483 } }, {#State 528 DEFAULT => -116 }, {#State 529 DEFAULT => -115 }, {#State 530 DEFAULT => -296 }, {#State 531 DEFAULT => -295 }, {#State 532 ACTIONS => { "-" => 248, "::" => 63, 'TRUE' => 261, "+" => 262, "~" => 249, 'INTEGER_LITERAL' => 263, 'FLOATING_PT_LITERAL' => 265, 'FALSE' => 251, 'error' => 561, 'WIDE_STRING_LITERAL' => 267, 'CHARACTER_LITERAL' => 268, 'IDENTIFIER' => 49, "(" => 258, 'FIXED_PT_LITERAL' => 272, 'STRING_LITERAL' => 119, 'WIDE_CHARACTER_LITERAL' => 260 }, GOTOS => { 'and_expr' => 255, 'or_expr' => 256, 'mult_expr' => 269, 'shift_expr' => 264, 'scoped_name' => 257, 'boolean_literal' => 270, 'add_expr' => 271, 'literal' => 250, 'primary_expr' => 274, 'unary_expr' => 259, 'unary_operator' => 253, 'const_exp' => 560, 'xor_expr' => 276, 'wide_string_literal' => 275, 'string_literal' => 254 } }, {#State 533 ACTIONS => { "}" => 562 } }, {#State 534 ACTIONS => { 'DEFAULT' => 537, 'CASE' => 532 }, DEFAULT => -259, GOTOS => { 'case_label' => 538, 'switch_body' => 563, 'case' => 534, 'case_labels' => 536 } }, {#State 535 ACTIONS => { "}" => 564 } }, {#State 536 ACTIONS => { "[" => 42 }, DEFAULT => -396, GOTOS => { 'union_type' => 34, 'enum_type' => 46, 'element_spec' => 565, 'enum_header' => 35, 'struct_type' => 38, 'union_header' => 39, 'constr_type_spec' => 567, 'props' => 566, 'struct_header' => 40 } }, {#State 537 ACTIONS => { ":" => 568, 'error' => 569 } }, {#State 538 ACTIONS => { 'CASE' => 532, 'DEFAULT' => 537 }, DEFAULT => -262, GOTOS => { 'case_label' => 538, 'case_labels' => 570 } }, {#State 539 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49 }, GOTOS => { 'interface_name' => 505, 'interface_names' => 571, 'scoped_name' => 502 } }, {#State 540 ACTIONS => { "," => 572 }, DEFAULT => -93 }, {#State 541 ACTIONS => { 'SUPPORTS' => 442 }, DEFAULT => -97, GOTOS => { 'supported_interface_spec' => 573 } }, {#State 542 ACTIONS => { "::" => 140 }, DEFAULT => -98 }, {#State 543 DEFAULT => -89 }, {#State 544 DEFAULT => -381 }, {#State 545 ACTIONS => { "(" => 575, 'error' => 576 }, GOTOS => { 'exception_list' => 574 } }, {#State 546 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarators' => 578, 'simple_declarator' => 577 } }, {#State 547 ACTIONS => { 'SETRAISES' => 549 }, DEFAULT => -384, GOTOS => { 'set_except_expr' => 579 } }, {#State 548 DEFAULT => -385 }, {#State 549 ACTIONS => { "(" => 575, 'error' => 581 }, GOTOS => { 'exception_list' => 580 } }, {#State 550 ACTIONS => { ";" => -214, "," => -214, 'error' => -214 }, DEFAULT => -103 }, {#State 551 DEFAULT => -102 }, {#State 552 DEFAULT => -372 }, {#State 553 ACTIONS => { 'RAISES' => 307, "," => 582 }, DEFAULT => -333, GOTOS => { 'raises_expr' => 583 } }, {#State 554 DEFAULT => -325 }, {#State 555 DEFAULT => -317 }, {#State 556 ACTIONS => { "," => 584 }, DEFAULT => -341 }, {#State 557 ACTIONS => { ")" => 585 } }, {#State 558 ACTIONS => { ")" => 586 } }, {#State 559 DEFAULT => -335 }, {#State 560 ACTIONS => { ":" => 587, 'error' => 588 } }, {#State 561 DEFAULT => -266 }, {#State 562 DEFAULT => -247 }, {#State 563 DEFAULT => -260 }, {#State 564 DEFAULT => -248 }, {#State 565 ACTIONS => { ";" => 99, 'error' => 100 }, GOTOS => { 'check_semicolon' => 589 } }, {#State 566 ACTIONS => { 'ENUM' => 142, "::" => 63, 'CHAR' => 64, 'OBJECT' => 68, 'STRING' => 71, 'OCTET' => 37, 'WSTRING' => 73, 'UNION' => 143, 'UNSIGNED' => 41, 'ANY' => 43, 'FLOAT' => 76, 'LONG' => 44, 'SEQUENCE' => 78, 'IDENTIFIER' => 49, 'DOUBLE' => 79, 'SHORT' => 80, 'BOOLEAN' => 82, 'STRUCT' => 141, 'VOID' => 55, 'FIXED' => 85, 'VALUEBASE' => 87, 'WCHAR' => 60 }, GOTOS => { 'wide_string_type' => 62, 'object_type' => 65, 'integer_type' => 67, 'sequence_type' => 70, 'unsigned_int' => 69, 'unsigned_short_int' => 36, 'unsigned_longlong_int' => 72, 'floating_pt_type' => 75, 'value_base_type' => 77, 'signed_longlong_int' => 45, 'any_type' => 47, 'template_type_spec' => 48, 'base_type_spec' => 81, 'unsigned_long_int' => 50, 'scoped_name' => 51, 'signed_int' => 83, 'string_type' => 52, 'simple_type_spec' => 590, 'char_type' => 54, 'signed_short_int' => 57, 'signed_long_int' => 56, 'fixed_pt_type' => 58, 'boolean_type' => 86, 'wide_char_type' => 59, 'octet_type' => 61 } }, {#State 567 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 591, 'complex_declarator' => 330 } }, {#State 568 DEFAULT => -267 }, {#State 569 DEFAULT => -268 }, {#State 570 DEFAULT => -263 }, {#State 571 DEFAULT => -58 }, {#State 572 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49 }, GOTOS => { 'value_name' => 540, 'value_names' => 592, 'scoped_name' => 542 } }, {#State 573 DEFAULT => -88 }, {#State 574 DEFAULT => -387 }, {#State 575 ACTIONS => { "::" => 63, 'IDENTIFIER' => 49, 'error' => 593 }, GOTOS => { 'exception_names' => 594, 'scoped_name' => 480, 'exception_name' => 483 } }, {#State 576 DEFAULT => -388 }, {#State 577 ACTIONS => { "," => 595 }, DEFAULT => -377 }, {#State 578 DEFAULT => -382 }, {#State 579 DEFAULT => -383 }, {#State 580 DEFAULT => -389 }, {#State 581 DEFAULT => -390 }, {#State 582 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarators' => 596, 'simple_declarator' => 577 } }, {#State 583 DEFAULT => -375 }, {#State 584 ACTIONS => { 'STRING_LITERAL' => 119 }, GOTOS => { 'string_literals' => 597, 'string_literal' => 556 } }, {#State 585 DEFAULT => -337 }, {#State 586 DEFAULT => -338 }, {#State 587 DEFAULT => -264 }, {#State 588 DEFAULT => -265 }, {#State 589 DEFAULT => -261 }, {#State 590 ACTIONS => { 'IDENTIFIER' => 326, 'error' => 285 }, GOTOS => { 'array_declarator' => 329, 'simple_declarator' => 325, 'declarator' => 598, 'complex_declarator' => 330 } }, {#State 591 DEFAULT => -270 }, {#State 592 DEFAULT => -94 }, {#State 593 ACTIONS => { ")" => 599 } }, {#State 594 ACTIONS => { ")" => 600 } }, {#State 595 ACTIONS => { 'IDENTIFIER' => 284, 'error' => 285 }, GOTOS => { 'simple_declarators' => 601, 'simple_declarator' => 577 } }, {#State 596 DEFAULT => -376 }, {#State 597 DEFAULT => -342 }, {#State 598 DEFAULT => -269 }, {#State 599 DEFAULT => -392 }, {#State 600 DEFAULT => -391 }, {#State 601 DEFAULT => -378 } ], yyrules => [ [#Rule 0 '$start', 2, undef ], [#Rule 1 'specification', 1, sub #line 79 "ParserXp.yp" { $_[0]->YYData->{root} = new CORBA::IDL::Specification($_[0], 'list_decl' => $_[1], ); } ], [#Rule 2 'specification', 2, sub #line 85 "ParserXp.yp" { $_[0]->YYData->{root} = new CORBA::IDL::Specification($_[0], 'list_import' => $_[1], 'list_decl' => $_[2], ); } ], [#Rule 3 'specification', 0, sub #line 92 "ParserXp.yp" { $_[0]->Error("Empty specification.\n"); } ], [#Rule 4 'specification', 1, sub #line 96 "ParserXp.yp" { $_[0]->Error("definition declaration expected.\n"); } ], [#Rule 5 'imports', 1, sub #line 103 "ParserXp.yp" { [$_[1]]; } ], [#Rule 6 'imports', 2, sub #line 107 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 7 'definitions', 1, sub #line 115 "ParserXp.yp" { [$_[1]->getRef()]; } ], [#Rule 8 'definitions', 2, sub #line 119 "ParserXp.yp" { unshift @{$_[2]}, $_[1]->getRef(); $_[2]; } ], [#Rule 9 'definitions', 3, sub #line 124 "ParserXp.yp" { $_[0]->Error("import after definition.\n"); unshift @{$_[3]}, $_[1]->getRef(); $_[3]; } ], [#Rule 10 'definition', 2, undef ], [#Rule 11 'definition', 2, undef ], [#Rule 12 'definition', 2, undef ], [#Rule 13 'definition', 2, undef ], [#Rule 14 'definition', 2, undef ], [#Rule 15 'definition', 2, undef ], [#Rule 16 'definition', 2, undef ], [#Rule 17 'definition', 2, undef ], [#Rule 18 'definition', 1, undef ], [#Rule 19 'definition', 3, sub #line 152 "ParserXp.yp" { # when IDENTIFIER is a future keyword $_[0]->Error("'$_[1]' unexpected.\n"); $_[0]->YYErrok(); new CORBA::IDL::Node($_[0], 'idf' => $_[1] ); } ], [#Rule 20 'check_semicolon', 1, undef ], [#Rule 21 'check_semicolon', 1, sub #line 166 "ParserXp.yp" { $_[0]->Warning("';' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 22 'module', 4, sub #line 175 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentRoot($_[1]); $_[1]->Configure($_[0], 'list_decl' => $_[3] ) if (defined $_[1]); } ], [#Rule 23 'module', 4, sub #line 182 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentRoot($_[1]); $_[0]->Error("definition declaration expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 24 'module', 3, sub #line 189 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentRoot($_[1]); $_[0]->Error("Empty module.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 25 'module', 3, sub #line 196 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentRoot($_[1]); $_[0]->Error("'\x7b' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 26 'module_header', 3, sub #line 206 "ParserXp.yp" { new CORBA::IDL::Module($_[0], 'declspec' => $_[1], 'idf' => $_[3], ); } ], [#Rule 27 'module_header', 3, sub #line 213 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 28 'interface', 1, undef ], [#Rule 29 'interface', 1, undef ], [#Rule 30 'interface_dcl', 3, sub #line 230 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => [] ) if (defined $_[1]); } ], [#Rule 31 'interface_dcl', 4, sub #line 238 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => $_[3] ) if (defined $_[1]); } ], [#Rule 32 'interface_dcl', 4, sub #line 246 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[0]->Error("export declaration expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 33 'forward_dcl', 5, sub #line 258 "ParserXp.yp" { $_[0]->Warning("Ignoring properties for forward declaration.\n") if (defined $_[2]); if (defined $_[3] and $_[3] eq 'abstract') { new CORBA::IDL::ForwardAbstractInterface($_[0], 'declspec' => $_[1], 'idf' => $_[5] ); } elsif (defined $_[3] and $_[3] eq 'local') { new CORBA::IDL::ForwardLocalInterface($_[0], 'declspec' => $_[1], 'idf' => $_[5] ); } else { new CORBA::IDL::ForwardRegularInterface($_[0], 'declspec' => $_[1], 'idf' => $_[5] ); } } ], [#Rule 34 'forward_dcl', 5, sub #line 281 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 35 'interface_mod', 1, undef ], [#Rule 36 'interface_mod', 1, undef ], [#Rule 37 'interface_mod', 0, undef ], [#Rule 38 'interface_header', 6, sub #line 299 "ParserXp.yp" { if (defined $_[3] and $_[3] eq 'abstract') { new CORBA::IDL::AbstractInterface($_[0], 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[5], 'inheritance' => $_[6] ); } elsif (defined $_[3] and $_[3] eq 'local') { new CORBA::IDL::LocalInterface($_[0], 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[5], 'inheritance' => $_[6] ); } else { new CORBA::IDL::RegularInterface($_[0], 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[5], 'inheritance' => $_[6] ); } } ], [#Rule 39 'interface_header', 5, sub #line 326 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 40 'interface_body', 1, undef ], [#Rule 41 'exports', 1, sub #line 340 "ParserXp.yp" { [$_[1]->getRef()]; } ], [#Rule 42 'exports', 2, sub #line 344 "ParserXp.yp" { unshift @{$_[2]}, $_[1]->getRef(); $_[2]; } ], [#Rule 43 '_export', 1, undef ], [#Rule 44 '_export', 1, sub #line 355 "ParserXp.yp" { $_[0]->Error("state member unexpected.\n"); $_[1]; #default action } ], [#Rule 45 '_export', 1, sub #line 360 "ParserXp.yp" { $_[0]->Error("initializer unexpected.\n"); $_[1]; #default action } ], [#Rule 46 'export', 2, undef ], [#Rule 47 'export', 2, undef ], [#Rule 48 'export', 2, undef ], [#Rule 49 'export', 2, undef ], [#Rule 50 'export', 2, undef ], [#Rule 51 'export', 2, undef ], [#Rule 52 'export', 2, undef ], [#Rule 53 'export', 1, undef ], [#Rule 54 'interface_inheritance_spec', 2, sub #line 388 "ParserXp.yp" { new CORBA::IDL::InheritanceSpec($_[0], 'list_interface' => $_[2] ); } ], [#Rule 55 'interface_inheritance_spec', 2, sub #line 394 "ParserXp.yp" { $_[0]->Error("Interface name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 56 'interface_inheritance_spec', 0, undef ], [#Rule 57 'interface_names', 1, sub #line 404 "ParserXp.yp" { [$_[1]]; } ], [#Rule 58 'interface_names', 3, sub #line 408 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 59 'interface_name', 1, sub #line 417 "ParserXp.yp" { CORBA::IDL::Interface->Lookup($_[0], $_[1]); } ], [#Rule 60 'scoped_name', 1, undef ], [#Rule 61 'scoped_name', 2, sub #line 427 "ParserXp.yp" { $_[1] . $_[2]; } ], [#Rule 62 'scoped_name', 2, sub #line 431 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); ''; } ], [#Rule 63 'scoped_name', 3, sub #line 437 "ParserXp.yp" { $_[1] . $_[2] . $_[3]; } ], [#Rule 64 'scoped_name', 3, sub #line 441 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 65 'value', 1, undef ], [#Rule 66 'value', 1, undef ], [#Rule 67 'value', 1, undef ], [#Rule 68 'value', 1, undef ], [#Rule 69 'value_forward_dcl', 5, sub #line 463 "ParserXp.yp" { $_[0]->Warning("Ignoring properties for forward declaration.\n") if (defined $_[2]); $_[0]->Warning("CUSTOM unexpected.\n") if (defined $_[3]); new CORBA::IDL::ForwardRegularValue($_[0], 'declspec' => $_[1], 'idf' => $_[4] ); } ], [#Rule 70 'value_forward_dcl', 5, sub #line 474 "ParserXp.yp" { $_[0]->Warning("Ignoring properties for forward declaration.\n") if (defined $_[2]); new CORBA::IDL::ForwardAbstractValue($_[0], 'declspec' => $_[1], 'idf' => $_[5] ); } ], [#Rule 71 'value_box_dcl', 2, sub #line 487 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'type' => $_[2] ) if (defined $_[1]); } ], [#Rule 72 'value_box_header', 5, sub #line 498 "ParserXp.yp" { $_[0]->Warning("CUSTOM unexpected.\n") if (defined $_[3]); new CORBA::IDL::BoxedValue($_[0], 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[4], ); } ], [#Rule 73 'value_abs_dcl', 3, sub #line 512 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => [] ) if (defined $_[1]); } ], [#Rule 74 'value_abs_dcl', 4, sub #line 520 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => $_[3] ) if (defined $_[1]); } ], [#Rule 75 'value_abs_dcl', 4, sub #line 528 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[0]->Error("export declaration expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 76 'value_abs_header', 6, sub #line 539 "ParserXp.yp" { new CORBA::IDL::AbstractValue($_[0], 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[5], 'inheritance' => $_[6] ); } ], [#Rule 77 'value_abs_header', 5, sub #line 548 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 78 'value_abs_header', 4, sub #line 553 "ParserXp.yp" { $_[0]->Error("'valuetype' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 79 'value_dcl', 3, sub #line 562 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => [] ) if (defined $_[1]); } ], [#Rule 80 'value_dcl', 4, sub #line 570 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[1]->Configure($_[0], 'list_decl' => $_[3] ) if (defined $_[1]); } ], [#Rule 81 'value_dcl', 4, sub #line 578 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->YYData->{curr_itf} = undef; $_[0]->Error("value_element expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 82 'value_elements', 1, sub #line 589 "ParserXp.yp" { [$_[1]->getRef()]; } ], [#Rule 83 'value_elements', 2, sub #line 593 "ParserXp.yp" { unshift @{$_[2]}, $_[1]->getRef(); $_[2]; } ], [#Rule 84 'value_header', 6, sub #line 602 "ParserXp.yp" { new CORBA::IDL::RegularValue($_[0], 'declspec' => $_[1], 'props' => $_[2], 'modifier' => $_[3], 'idf' => $_[5], 'inheritance' => $_[6] ); } ], [#Rule 85 'value_header', 5, sub #line 612 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 86 'value_mod', 1, undef ], [#Rule 87 'value_mod', 0, undef ], [#Rule 88 'value_inheritance_spec', 4, sub #line 628 "ParserXp.yp" { new CORBA::IDL::InheritanceSpec($_[0], 'modifier' => $_[2], 'list_value' => $_[3], 'list_interface' => $_[4] ); } ], [#Rule 89 'value_inheritance_spec', 3, sub #line 636 "ParserXp.yp" { $_[0]->Error("value_name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 90 'value_inheritance_spec', 1, sub #line 641 "ParserXp.yp" { new CORBA::IDL::InheritanceSpec($_[0], 'list_interface' => $_[1] ); } ], [#Rule 91 'inheritance_mod', 1, undef ], [#Rule 92 'inheritance_mod', 0, undef ], [#Rule 93 'value_names', 1, sub #line 657 "ParserXp.yp" { [$_[1]]; } ], [#Rule 94 'value_names', 3, sub #line 661 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 95 'supported_interface_spec', 2, sub #line 669 "ParserXp.yp" { $_[2]; } ], [#Rule 96 'supported_interface_spec', 2, sub #line 673 "ParserXp.yp" { $_[0]->Error("Interface name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 97 'supported_interface_spec', 0, undef ], [#Rule 98 'value_name', 1, sub #line 684 "ParserXp.yp" { CORBA::IDL::Value->Lookup($_[0], $_[1]); } ], [#Rule 99 'value_element', 1, undef ], [#Rule 100 'value_element', 1, undef ], [#Rule 101 'value_element', 1, undef ], [#Rule 102 'state_member', 6, sub #line 702 "ParserXp.yp" { new CORBA::IDL::StateMembers($_[0], 'declspec' => $_[1], 'props' => $_[2], 'modifier' => $_[3], 'type' => $_[4], 'list_expr' => $_[5] ); } ], [#Rule 103 'state_member', 6, sub #line 712 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 104 'state_member', 5, sub #line 717 "ParserXp.yp" { $_[0]->Error("type_spec expected.\n"); $_[0]->YYErrok(); } ], [#Rule 105 'state_mod', 1, undef ], [#Rule 106 'state_mod', 1, undef ], [#Rule 107 'init_dcl', 3, sub #line 733 "ParserXp.yp" { $_[1]->Configure($_[0], 'list_raise' => $_[2] ) if (defined $_[1]); } ], [#Rule 108 'init_header_param', 3, sub #line 742 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[1]; #default action } ], [#Rule 109 'init_header_param', 4, sub #line 748 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[1]->Configure($_[0], 'list_param' => $_[3] ) if (defined $_[1]); } ], [#Rule 110 'init_header_param', 4, sub #line 756 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[0]->Error("init_param_decls expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 111 'init_header_param', 2, sub #line 764 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 112 'init_header', 4, sub #line 775 "ParserXp.yp" { new CORBA::IDL::Initializer($_[0], # like Operation 'declspec' => $_[1], 'props' => $_[2], 'idf' => $_[4] ); } ], [#Rule 113 'init_header', 4, sub #line 783 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 114 'init_param_decls', 1, sub #line 792 "ParserXp.yp" { [$_[1]]; } ], [#Rule 115 'init_param_decls', 3, sub #line 796 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 116 'init_param_decl', 3, sub #line 805 "ParserXp.yp" { new CORBA::IDL::Parameter($_[0], 'attr' => $_[1], 'type' => $_[2], 'idf' => $_[3] ); } ], [#Rule 117 'init_param_decl', 2, sub #line 813 "ParserXp.yp" { $_[0]->Error("Type expected.\n"); $_[0]->YYErrok(); } ], [#Rule 118 'init_param_attribute', 1, undef ], [#Rule 119 'const_dcl', 6, sub #line 828 "ParserXp.yp" { new CORBA::IDL::Constant($_[0], 'declspec' => $_[1], 'type' => $_[3], 'idf' => $_[4], 'list_expr' => $_[6] ); } ], [#Rule 120 'const_dcl', 6, sub #line 837 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 121 'const_dcl', 5, sub #line 842 "ParserXp.yp" { $_[0]->Error("'=' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 122 'const_dcl', 4, sub #line 847 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 123 'const_dcl', 3, sub #line 852 "ParserXp.yp" { $_[0]->Error("const_type expected.\n"); $_[0]->YYErrok(); } ], [#Rule 124 'const_type', 1, undef ], [#Rule 125 'const_type', 1, undef ], [#Rule 126 'const_type', 1, undef ], [#Rule 127 'const_type', 1, undef ], [#Rule 128 'const_type', 1, undef ], [#Rule 129 'const_type', 1, undef ], [#Rule 130 'const_type', 1, undef ], [#Rule 131 'const_type', 1, undef ], [#Rule 132 'const_type', 1, sub #line 877 "ParserXp.yp" { CORBA::IDL::TypeDeclarator->Lookup($_[0], $_[1]); } ], [#Rule 133 'const_type', 1, undef ], [#Rule 134 'const_exp', 1, undef ], [#Rule 135 'or_expr', 1, undef ], [#Rule 136 'or_expr', 3, sub #line 895 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 137 'xor_expr', 1, undef ], [#Rule 138 'xor_expr', 3, sub #line 905 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 139 'and_expr', 1, undef ], [#Rule 140 'and_expr', 3, sub #line 915 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 141 'shift_expr', 1, undef ], [#Rule 142 'shift_expr', 3, sub #line 925 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 143 'shift_expr', 3, sub #line 929 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 144 'add_expr', 1, undef ], [#Rule 145 'add_expr', 3, sub #line 939 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 146 'add_expr', 3, sub #line 943 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 147 'mult_expr', 1, undef ], [#Rule 148 'mult_expr', 3, sub #line 953 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 149 'mult_expr', 3, sub #line 957 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 150 'mult_expr', 3, sub #line 961 "ParserXp.yp" { BuildBinop($_[1], $_[2], $_[3]); } ], [#Rule 151 'unary_expr', 2, sub #line 969 "ParserXp.yp" { BuildUnop($_[1], $_[2]); } ], [#Rule 152 'unary_expr', 1, undef ], [#Rule 153 'unary_operator', 1, undef ], [#Rule 154 'unary_operator', 1, undef ], [#Rule 155 'unary_operator', 1, undef ], [#Rule 156 'primary_expr', 1, sub #line 989 "ParserXp.yp" { [ CORBA::IDL::Constant->Lookup($_[0], $_[1]) ]; } ], [#Rule 157 'primary_expr', 1, sub #line 995 "ParserXp.yp" { [ $_[1] ]; } ], [#Rule 158 'primary_expr', 3, sub #line 999 "ParserXp.yp" { $_[2]; } ], [#Rule 159 'primary_expr', 3, sub #line 1003 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 160 'literal', 1, sub #line 1012 "ParserXp.yp" { new CORBA::IDL::IntegerLiteral($_[0], 'value' => $_[1], 'lexeme' => $_[0]->YYData->{lexeme} ); } ], [#Rule 161 'literal', 1, sub #line 1019 "ParserXp.yp" { new CORBA::IDL::StringLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 162 'literal', 1, sub #line 1025 "ParserXp.yp" { new CORBA::IDL::WideStringLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 163 'literal', 1, sub #line 1031 "ParserXp.yp" { new CORBA::IDL::CharacterLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 164 'literal', 1, sub #line 1037 "ParserXp.yp" { new CORBA::IDL::WideCharacterLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 165 'literal', 1, sub #line 1043 "ParserXp.yp" { new CORBA::IDL::FixedPtLiteral($_[0], 'value' => $_[1], 'lexeme' => $_[0]->YYData->{lexeme} ); } ], [#Rule 166 'literal', 1, sub #line 1050 "ParserXp.yp" { new CORBA::IDL::FloatingPtLiteral($_[0], 'value' => $_[1], 'lexeme' => $_[0]->YYData->{lexeme} ); } ], [#Rule 167 'literal', 1, undef ], [#Rule 168 'string_literal', 1, undef ], [#Rule 169 'string_literal', 2, sub #line 1064 "ParserXp.yp" { $_[1] . $_[2]; } ], [#Rule 170 'wide_string_literal', 1, undef ], [#Rule 171 'wide_string_literal', 2, sub #line 1073 "ParserXp.yp" { $_[1] . $_[2]; } ], [#Rule 172 'boolean_literal', 1, sub #line 1081 "ParserXp.yp" { new CORBA::IDL::BooleanLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 173 'boolean_literal', 1, sub #line 1087 "ParserXp.yp" { new CORBA::IDL::BooleanLiteral($_[0], 'value' => $_[1] ); } ], [#Rule 174 'positive_int_const', 1, sub #line 1097 "ParserXp.yp" { new CORBA::IDL::Expression($_[0], 'list_expr' => $_[1] ); } ], [#Rule 175 'type_dcl', 2, sub #line 1107 "ParserXp.yp" { $_[2]->Configure($_[0], 'declspec' => $_[1] ) if ($_[2]); } ], [#Rule 176 'type_dcl_def', 3, sub #line 1116 "ParserXp.yp" { $_[3]->Configure($_[0], 'props' => $_[1] ); } ], [#Rule 177 'type_dcl_def', 1, undef ], [#Rule 178 'type_dcl_def', 1, undef ], [#Rule 179 'type_dcl_def', 1, undef ], [#Rule 180 'type_dcl_def', 3, sub #line 1128 "ParserXp.yp" { new CORBA::IDL::NativeType($_[0], 'props' => $_[1], 'idf' => $_[3], ); } ], [#Rule 181 '@1-4', 0, sub #line 1135 "ParserXp.yp" { $_[0]->YYData->{native} = 1; } ], [#Rule 182 'type_dcl_def', 6, sub #line 1139 "ParserXp.yp" { $_[0]->YYData->{native} = 0; new CORBA::IDL::NativeType($_[0], 'props' => $_[1], 'idf' => $_[3], 'native' => $_[6], ); } ], [#Rule 183 'type_dcl_def', 1, undef ], [#Rule 184 'type_dcl_def', 3, sub #line 1150 "ParserXp.yp" { $_[0]->Error("type_declarator expected.\n"); $_[0]->YYErrok(); } ], [#Rule 185 'type_declarator', 2, sub #line 1159 "ParserXp.yp" { new CORBA::IDL::TypeDeclarators($_[0], 'type' => $_[1], 'list_expr' => $_[2] ); } ], [#Rule 186 'type_spec', 1, undef ], [#Rule 187 'type_spec', 1, undef ], [#Rule 188 'simple_type_spec', 1, undef ], [#Rule 189 'simple_type_spec', 1, undef ], [#Rule 190 'simple_type_spec', 1, sub #line 1182 "ParserXp.yp" { CORBA::IDL::TypeDeclarator->Lookup($_[0], $_[1]); } ], [#Rule 191 'simple_type_spec', 1, sub #line 1186 "ParserXp.yp" { $_[0]->Error("simple_type_spec expected.\n"); new CORBA::IDL::VoidType($_[0], 'value' => $_[1] ); } ], [#Rule 192 'base_type_spec', 1, undef ], [#Rule 193 'base_type_spec', 1, undef ], [#Rule 194 'base_type_spec', 1, undef ], [#Rule 195 'base_type_spec', 1, undef ], [#Rule 196 'base_type_spec', 1, undef ], [#Rule 197 'base_type_spec', 1, undef ], [#Rule 198 'base_type_spec', 1, undef ], [#Rule 199 'base_type_spec', 1, undef ], [#Rule 200 'base_type_spec', 1, undef ], [#Rule 201 'template_type_spec', 1, undef ], [#Rule 202 'template_type_spec', 1, undef ], [#Rule 203 'template_type_spec', 1, undef ], [#Rule 204 'template_type_spec', 1, undef ], [#Rule 205 'constr_type_spec', 1, undef ], [#Rule 206 'constr_type_spec', 1, undef ], [#Rule 207 'constr_type_spec', 1, undef ], [#Rule 208 'declarators', 1, sub #line 1241 "ParserXp.yp" { [$_[1]]; } ], [#Rule 209 'declarators', 3, sub #line 1245 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 210 'declarator', 1, sub #line 1254 "ParserXp.yp" { [$_[1]]; } ], [#Rule 211 'declarator', 1, undef ], [#Rule 212 'simple_declarator', 1, undef ], [#Rule 213 'simple_declarator', 2, sub #line 1266 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 214 'simple_declarator', 2, sub #line 1271 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 215 'complex_declarator', 1, undef ], [#Rule 216 'floating_pt_type', 1, sub #line 1286 "ParserXp.yp" { new CORBA::IDL::FloatingPtType($_[0], 'value' => $_[1] ); } ], [#Rule 217 'floating_pt_type', 1, sub #line 1292 "ParserXp.yp" { new CORBA::IDL::FloatingPtType($_[0], 'value' => $_[1] ); } ], [#Rule 218 'floating_pt_type', 2, sub #line 1298 "ParserXp.yp" { new CORBA::IDL::FloatingPtType($_[0], 'value' => $_[1] . q{ } . $_[2] ); } ], [#Rule 219 'integer_type', 1, undef ], [#Rule 220 'integer_type', 1, undef ], [#Rule 221 'signed_int', 1, undef ], [#Rule 222 'signed_int', 1, undef ], [#Rule 223 'signed_int', 1, undef ], [#Rule 224 'signed_short_int', 1, sub #line 1326 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] ); } ], [#Rule 225 'signed_long_int', 1, sub #line 1336 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] ); } ], [#Rule 226 'signed_longlong_int', 2, sub #line 1346 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] . q{ } . $_[2] ); } ], [#Rule 227 'unsigned_int', 1, undef ], [#Rule 228 'unsigned_int', 1, undef ], [#Rule 229 'unsigned_int', 1, undef ], [#Rule 230 'unsigned_short_int', 2, sub #line 1366 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] . q{ } . $_[2] ); } ], [#Rule 231 'unsigned_long_int', 2, sub #line 1376 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] . q{ } . $_[2] ); } ], [#Rule 232 'unsigned_longlong_int', 3, sub #line 1386 "ParserXp.yp" { new CORBA::IDL::IntegerType($_[0], 'value' => $_[1] . q{ } . $_[2] . q{ } . $_[3] ); } ], [#Rule 233 'char_type', 1, sub #line 1396 "ParserXp.yp" { new CORBA::IDL::CharType($_[0], 'value' => $_[1] ); } ], [#Rule 234 'wide_char_type', 1, sub #line 1406 "ParserXp.yp" { new CORBA::IDL::WideCharType($_[0], 'value' => $_[1] ); } ], [#Rule 235 'boolean_type', 1, sub #line 1416 "ParserXp.yp" { new CORBA::IDL::BooleanType($_[0], 'value' => $_[1] ); } ], [#Rule 236 'octet_type', 1, sub #line 1426 "ParserXp.yp" { new CORBA::IDL::OctetType($_[0], 'value' => $_[1] ); } ], [#Rule 237 'any_type', 1, sub #line 1436 "ParserXp.yp" { new CORBA::IDL::AnyType($_[0], 'value' => $_[1] ); } ], [#Rule 238 'object_type', 1, sub #line 1446 "ParserXp.yp" { new CORBA::IDL::ObjectType($_[0], 'value' => $_[1] ); } ], [#Rule 239 'struct_type', 4, sub #line 1456 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[1]->Configure($_[0], 'list_expr' => $_[3] ) if (defined $_[1]); } ], [#Rule 240 'struct_type', 4, sub #line 1463 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("member expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 241 'struct_header', 3, sub #line 1473 "ParserXp.yp" { new CORBA::IDL::StructType($_[0], 'props' => $_[1], 'idf' => $_[3] ); } ], [#Rule 242 'struct_header', 3, sub #line 1480 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 243 'member_list', 1, sub #line 1489 "ParserXp.yp" { [$_[1]]; } ], [#Rule 244 'member_list', 2, sub #line 1493 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 245 'member', 4, sub #line 1502 "ParserXp.yp" { new CORBA::IDL::Members($_[0], 'props' => $_[1], 'type' => $_[2], 'list_expr' => $_[3] ); } ], [#Rule 246 'member', 3, sub #line 1510 "ParserXp.yp" { new CORBA::IDL::Members($_[0], 'type' => $_[1], 'list_expr' => $_[2] ); } ], [#Rule 247 'union_type', 8, sub #line 1521 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[1]->Configure($_[0], 'type' => $_[4], 'list_expr' => $_[7] ) if (defined $_[1]); } ], [#Rule 248 'union_type', 8, sub #line 1529 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("switch_body expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 249 'union_type', 6, sub #line 1536 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("'\x7b' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 250 'union_type', 5, sub #line 1543 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("switch_type_spec expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 251 'union_type', 3, sub #line 1550 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 252 'union_header', 3, sub #line 1560 "ParserXp.yp" { new CORBA::IDL::UnionType($_[0], 'props' => $_[1], 'idf' => $_[3], ); } ], [#Rule 253 'union_header', 3, sub #line 1567 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 254 'switch_type_spec', 1, undef ], [#Rule 255 'switch_type_spec', 1, undef ], [#Rule 256 'switch_type_spec', 1, undef ], [#Rule 257 'switch_type_spec', 1, undef ], [#Rule 258 'switch_type_spec', 1, sub #line 1584 "ParserXp.yp" { CORBA::IDL::TypeDeclarator->Lookup($_[0], $_[1]); } ], [#Rule 259 'switch_body', 1, sub #line 1592 "ParserXp.yp" { [$_[1]]; } ], [#Rule 260 'switch_body', 2, sub #line 1596 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 261 'case', 3, sub #line 1605 "ParserXp.yp" { new CORBA::IDL::Case($_[0], 'list_label' => $_[1], 'element' => $_[2] ); } ], [#Rule 262 'case_labels', 1, sub #line 1615 "ParserXp.yp" { [$_[1]]; } ], [#Rule 263 'case_labels', 2, sub #line 1619 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 264 'case_label', 3, sub #line 1628 "ParserXp.yp" { $_[2]; # here only a expression, type is not known } ], [#Rule 265 'case_label', 3, sub #line 1632 "ParserXp.yp" { $_[0]->Error("':' expected.\n"); $_[0]->YYErrok(); $_[2]; } ], [#Rule 266 'case_label', 2, sub #line 1638 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 267 'case_label', 2, sub #line 1643 "ParserXp.yp" { new CORBA::IDL::Default($_[0]); } ], [#Rule 268 'case_label', 2, sub #line 1647 "ParserXp.yp" { $_[0]->Error("':' expected.\n"); $_[0]->YYErrok(); new CORBA::IDL::Default($_[0]); } ], [#Rule 269 'element_spec', 3, sub #line 1657 "ParserXp.yp" { new CORBA::IDL::Element($_[0], 'props' => $_[1], 'type' => $_[2], 'list_expr' => $_[3] ); } ], [#Rule 270 'element_spec', 2, sub #line 1665 "ParserXp.yp" { new CORBA::IDL::Element($_[0], 'type' => $_[1], 'list_expr' => $_[2] ); } ], [#Rule 271 'enum_type', 4, sub #line 1676 "ParserXp.yp" { $_[1]->Configure($_[0], 'list_expr' => $_[3] ) if (defined $_[1]); } ], [#Rule 272 'enum_type', 4, sub #line 1682 "ParserXp.yp" { $_[0]->Error("enumerator expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 273 'enum_type', 2, sub #line 1688 "ParserXp.yp" { $_[0]->Error("'\x7b' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 274 'enum_header', 3, sub #line 1697 "ParserXp.yp" { new CORBA::IDL::EnumType($_[0], 'props' => $_[1], 'idf' => $_[3], ); } ], [#Rule 275 'enum_header', 3, sub #line 1704 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 276 'enumerators', 1, sub #line 1712 "ParserXp.yp" { [$_[1]]; } ], [#Rule 277 'enumerators', 3, sub #line 1716 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 278 'enumerators', 2, sub #line 1721 "ParserXp.yp" { $_[0]->Warning("',' unexpected.\n"); [$_[1]]; } ], [#Rule 279 'enumerators', 2, sub #line 1726 "ParserXp.yp" { $_[0]->Error("';' unexpected.\n"); [$_[1]]; } ], [#Rule 280 'enumerator', 1, sub #line 1735 "ParserXp.yp" { new CORBA::IDL::Enum($_[0], 'idf' => $_[1] ); } ], [#Rule 281 'sequence_type', 6, sub #line 1745 "ParserXp.yp" { new CORBA::IDL::SequenceType($_[0], 'value' => $_[1], 'type' => $_[3], 'max' => $_[5] ); } ], [#Rule 282 'sequence_type', 6, sub #line 1753 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 283 'sequence_type', 4, sub #line 1758 "ParserXp.yp" { new CORBA::IDL::SequenceType($_[0], 'value' => $_[1], 'type' => $_[3] ); } ], [#Rule 284 'sequence_type', 4, sub #line 1765 "ParserXp.yp" { $_[0]->Error("simple_type_spec expected.\n"); $_[0]->YYErrok(); } ], [#Rule 285 'sequence_type', 2, sub #line 1770 "ParserXp.yp" { $_[0]->Error("'<' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 286 'string_type', 4, sub #line 1779 "ParserXp.yp" { new CORBA::IDL::StringType($_[0], 'value' => $_[1], 'max' => $_[3] ); } ], [#Rule 287 'string_type', 1, sub #line 1786 "ParserXp.yp" { new CORBA::IDL::StringType($_[0], 'value' => $_[1] ); } ], [#Rule 288 'string_type', 4, sub #line 1792 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 289 'wide_string_type', 4, sub #line 1801 "ParserXp.yp" { new CORBA::IDL::WideStringType($_[0], 'value' => $_[1], 'max' => $_[3] ); } ], [#Rule 290 'wide_string_type', 1, sub #line 1808 "ParserXp.yp" { new CORBA::IDL::WideStringType($_[0], 'value' => $_[1] ); } ], [#Rule 291 'wide_string_type', 4, sub #line 1814 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 292 'array_declarator', 2, sub #line 1823 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 293 'fixed_array_sizes', 1, sub #line 1831 "ParserXp.yp" { [$_[1]]; } ], [#Rule 294 'fixed_array_sizes', 2, sub #line 1835 "ParserXp.yp" { unshift @{$_[2]}, $_[1]; $_[2]; } ], [#Rule 295 'fixed_array_size', 3, sub #line 1844 "ParserXp.yp" { $_[2]; } ], [#Rule 296 'fixed_array_size', 3, sub #line 1848 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 297 'attr_dcl', 1, undef ], [#Rule 298 'attr_dcl', 1, undef ], [#Rule 299 'except_dcl', 3, sub #line 1865 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[1]; } ], [#Rule 300 'except_dcl', 4, sub #line 1870 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[1]->Configure($_[0], 'list_expr' => $_[3] ) if (defined $_[1]); } ], [#Rule 301 'except_dcl', 4, sub #line 1877 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("'members expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 302 'except_dcl', 2, sub #line 1884 "ParserXp.yp" { $_[0]->YYData->{symbtab}->PopCurrentScope($_[1]); $_[0]->Error("'\x7b' expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 303 'exception_header', 3, sub #line 1894 "ParserXp.yp" { new CORBA::IDL::Exception($_[0], 'declspec' => $_[1], 'idf' => $_[3], ); } ], [#Rule 304 'exception_header', 3, sub #line 1901 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 305 'op_dcl', 4, sub #line 1910 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[1]->Configure($_[0], 'list_param' => $_[2], 'list_raise' => $_[3], 'list_context' => $_[4] ) if (defined $_[1]); } ], [#Rule 306 'op_dcl', 2, sub #line 1920 "ParserXp.yp" { delete $_[0]->YYData->{unnamed_symbtab} if (exists $_[0]->YYData->{unnamed_symbtab}); $_[0]->Error("parameters declaration expected.\n"); $_[0]->YYErrok(); $_[1]; } ], [#Rule 307 'op_header', 5, sub #line 1931 "ParserXp.yp" { new CORBA::IDL::Operation($_[0], 'declspec' => $_[1], 'props' => $_[2], 'modifier' => $_[3], 'type' => $_[4], 'idf' => $_[5] ); } ], [#Rule 308 'op_header', 5, sub #line 1941 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 309 'op_mod', 1, undef ], [#Rule 310 'op_mod', 0, undef ], [#Rule 311 'op_attribute', 1, undef ], [#Rule 312 'op_type_spec', 1, undef ], [#Rule 313 'op_type_spec', 1, sub #line 1965 "ParserXp.yp" { new CORBA::IDL::VoidType($_[0], 'value' => $_[1] ); } ], [#Rule 314 'op_type_spec', 1, sub #line 1971 "ParserXp.yp" { $_[0]->Error("op_type_spec expected.\n"); $_[1]; #default action } ], [#Rule 315 'op_type_spec', 1, sub #line 1976 "ParserXp.yp" { $_[0]->Error("op_type_spec expected.\n"); $_[1]; #default action } ], [#Rule 316 'parameter_dcls', 3, sub #line 1985 "ParserXp.yp" { $_[2]; } ], [#Rule 317 'parameter_dcls', 5, sub #line 1989 "ParserXp.yp" { push @{$_[2]}, new CORBA::IDL::Ellipsis($_[0]); $_[2]; } ], [#Rule 318 'parameter_dcls', 4, sub #line 1994 "ParserXp.yp" { $_[0]->Warning("',' unexpected.\n"); $_[2]; } ], [#Rule 319 'parameter_dcls', 2, sub #line 1999 "ParserXp.yp" { undef; } ], [#Rule 320 'parameter_dcls', 3, sub #line 2003 "ParserXp.yp" { $_[0]->Error("'...' unexpected.\n"); undef; } ], [#Rule 321 'parameter_dcls', 3, sub #line 2008 "ParserXp.yp" { new CORBA::IDL::Ellipsis($_[0]); } ], [#Rule 322 'param_dcls', 1, sub #line 2015 "ParserXp.yp" { [$_[1]]; } ], [#Rule 323 'param_dcls', 3, sub #line 2019 "ParserXp.yp" { push @{$_[1]}, $_[3]; $_[1]; } ], [#Rule 324 'param_dcls', 2, sub #line 2024 "ParserXp.yp" { $_[0]->Error("';' unexpected.\n"); [$_[1]]; } ], [#Rule 325 'param_dcl', 4, sub #line 2033 "ParserXp.yp" { new CORBA::IDL::Parameter($_[0], 'props' => $_[1], 'attr' => $_[2], 'type' => $_[3], 'idf' => $_[4] ); } ], [#Rule 326 'param_attribute', 1, undef ], [#Rule 327 'param_attribute', 1, undef ], [#Rule 328 'param_attribute', 1, undef ], [#Rule 329 'param_attribute', 0, sub #line 2052 "ParserXp.yp" { $_[0]->Error("(in|out|inout) expected.\n"); $_[0]->YYErrok(); } ], [#Rule 330 'raises_expr', 4, sub #line 2061 "ParserXp.yp" { $_[3]; } ], [#Rule 331 'raises_expr', 4, sub #line 2065 "ParserXp.yp" { $_[0]->Error("name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 332 'raises_expr', 2, sub #line 2070 "ParserXp.yp" { $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 333 'raises_expr', 0, undef ], [#Rule 334 'exception_names', 1, sub #line 2080 "ParserXp.yp" { [$_[1]]; } ], [#Rule 335 'exception_names', 3, sub #line 2084 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 336 'exception_name', 1, sub #line 2092 "ParserXp.yp" { CORBA::IDL::Interface->Lookup($_[0], $_[1], 1); } ], [#Rule 337 'context_expr', 4, sub #line 2100 "ParserXp.yp" { $_[3]; } ], [#Rule 338 'context_expr', 4, sub #line 2104 "ParserXp.yp" { $_[0]->Error("string expected.\n"); $_[0]->YYErrok(); } ], [#Rule 339 'context_expr', 2, sub #line 2109 "ParserXp.yp" { $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 340 'context_expr', 0, undef ], [#Rule 341 'string_literals', 1, sub #line 2119 "ParserXp.yp" { [$_[1]]; } ], [#Rule 342 'string_literals', 3, sub #line 2123 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 343 'param_type_spec', 1, undef ], [#Rule 344 'param_type_spec', 1, sub #line 2134 "ParserXp.yp" { $_[0]->Error("param_type_spec expected.\n"); $_[1]; #default action } ], [#Rule 345 'param_type_spec', 1, sub #line 2139 "ParserXp.yp" { $_[0]->Error("param_type_spec expected.\n"); $_[1]; #default action } ], [#Rule 346 'param_type_spec', 1, sub #line 2144 "ParserXp.yp" { $_[0]->Error("param_type_spec expected.\n"); $_[1]; #default action } ], [#Rule 347 'op_param_type_spec', 1, undef ], [#Rule 348 'op_param_type_spec', 1, undef ], [#Rule 349 'op_param_type_spec', 1, undef ], [#Rule 350 'op_param_type_spec', 1, sub #line 2158 "ParserXp.yp" { CORBA::IDL::TypeDeclarator->Lookup($_[0], $_[1]); } ], [#Rule 351 'fixed_pt_type', 6, sub #line 2166 "ParserXp.yp" { new CORBA::IDL::FixedPtType($_[0], 'value' => $_[1], 'd' => $_[3], 's' => $_[5] ); } ], [#Rule 352 'fixed_pt_type', 6, sub #line 2174 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 353 'fixed_pt_type', 4, sub #line 2179 "ParserXp.yp" { $_[0]->Error("Expression expected.\n"); $_[0]->YYErrok(); } ], [#Rule 354 'fixed_pt_type', 2, sub #line 2184 "ParserXp.yp" { $_[0]->Error("'<' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 355 'fixed_pt_const_type', 1, sub #line 2193 "ParserXp.yp" { new CORBA::IDL::FixedPtConstType($_[0], 'value' => $_[1] ); } ], [#Rule 356 'value_base_type', 1, sub #line 2203 "ParserXp.yp" { new CORBA::IDL::ValueBaseType($_[0], 'value' => $_[1] ); } ], [#Rule 357 'constr_forward_decl', 3, sub #line 2213 "ParserXp.yp" { $_[0]->Warning("Ignoring properties for forward declaration.\n") if (defined $_[1]); new CORBA::IDL::ForwardStructType($_[0], 'idf' => $_[3] ); } ], [#Rule 358 'constr_forward_decl', 3, sub #line 2221 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 359 'constr_forward_decl', 3, sub #line 2226 "ParserXp.yp" { $_[0]->Warning("Ignoring properties for forward declaration.\n") if (defined $_[1]); new CORBA::IDL::ForwardUnionType($_[0], 'idf' => $_[3] ); } ], [#Rule 360 'constr_forward_decl', 3, sub #line 2234 "ParserXp.yp" { $_[0]->Error("Identifier expected.\n"); $_[0]->YYErrok(); } ], [#Rule 361 'import', 3, sub #line 2243 "ParserXp.yp" { new CORBA::IDL::Import($_[0], 'value' => $_[2] ); } ], [#Rule 362 'import', 2, sub #line 2249 "ParserXp.yp" { $_[0]->Error("Scoped name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 363 'imported_scope', 1, undef ], [#Rule 364 'imported_scope', 1, undef ], [#Rule 365 'type_id_dcl', 3, sub #line 2266 "ParserXp.yp" { new CORBA::IDL::TypeId($_[0], 'idf' => $_[2], 'value' => $_[3] ); } ], [#Rule 366 'type_id_dcl', 3, sub #line 2273 "ParserXp.yp" { $_[0]->Error("String literal expected.\n"); $_[0]->YYErrok(); } ], [#Rule 367 'type_id_dcl', 2, sub #line 2278 "ParserXp.yp" { $_[0]->Error("Scoped name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 368 'type_prefix_dcl', 3, sub #line 2287 "ParserXp.yp" { new CORBA::IDL::TypePrefix($_[0], 'idf' => $_[2], 'value' => $_[3] ); } ], [#Rule 369 'type_prefix_dcl', 3, sub #line 2294 "ParserXp.yp" { $_[0]->Error("String literal expected.\n"); $_[0]->YYErrok(); } ], [#Rule 370 'type_prefix_dcl', 3, sub #line 2299 "ParserXp.yp" { new CORBA::IDL::TypePrefix($_[0], 'idf' => '', 'value' => $_[3] ); } ], [#Rule 371 'type_prefix_dcl', 2, sub #line 2306 "ParserXp.yp" { $_[0]->Error("Scoped name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 372 'readonly_attr_spec', 6, sub #line 2315 "ParserXp.yp" { new CORBA::IDL::Attributes($_[0], 'declspec' => $_[1], 'props' => $_[2], 'modifier' => $_[3], 'type' => $_[5], 'list_expr' => $_[6]->{list_expr}, 'list_getraise' => $_[6]->{list_getraise}, ); } ], [#Rule 373 'readonly_attr_spec', 5, sub #line 2326 "ParserXp.yp" { $_[0]->Error("type expected.\n"); $_[0]->YYErrok(); } ], [#Rule 374 'readonly_attr_spec', 4, sub #line 2331 "ParserXp.yp" { $_[0]->Error("'attribute' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 375 'readonly_attr_declarator', 2, sub #line 2340 "ParserXp.yp" { { 'list_expr' => [$_[1]], 'list_getraise' => $_[2] }; } ], [#Rule 376 'readonly_attr_declarator', 3, sub #line 2347 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; { 'list_expr' => $_[3] }; } ], [#Rule 377 'simple_declarators', 1, sub #line 2357 "ParserXp.yp" { [$_[1]]; } ], [#Rule 378 'simple_declarators', 3, sub #line 2361 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; $_[3]; } ], [#Rule 379 'attr_spec', 5, sub #line 2370 "ParserXp.yp" { new CORBA::IDL::Attributes($_[0], 'declspec' => $_[1], 'props' => $_[2], 'type' => $_[4], 'list_expr' => $_[5]->{list_expr}, 'list_getraise' => $_[5]->{list_getraise}, 'list_setraise' => $_[5]->{list_setraise}, ); } ], [#Rule 380 'attr_spec', 4, sub #line 2381 "ParserXp.yp" { $_[0]->Error("type expected.\n"); $_[0]->YYErrok(); } ], [#Rule 381 'attr_declarator', 2, sub #line 2390 "ParserXp.yp" { { 'list_expr' => [$_[1]], 'list_getraise' => $_[2]->{list_getraise}, 'list_setraise' => $_[2]->{list_setraise} }; } ], [#Rule 382 'attr_declarator', 3, sub #line 2398 "ParserXp.yp" { unshift @{$_[3]}, $_[1]; { 'list_expr' => $_[3] }; } ], [#Rule 383 'attr_raises_expr', 2, sub #line 2409 "ParserXp.yp" { { 'list_getraise' => $_[1], 'list_setraise' => $_[2] }; } ], [#Rule 384 'attr_raises_expr', 1, sub #line 2416 "ParserXp.yp" { { 'list_getraise' => $_[1], }; } ], [#Rule 385 'attr_raises_expr', 1, sub #line 2422 "ParserXp.yp" { { 'list_setraise' => $_[1] }; } ], [#Rule 386 'attr_raises_expr', 0, undef ], [#Rule 387 'get_except_expr', 2, sub #line 2434 "ParserXp.yp" { $_[2]; } ], [#Rule 388 'get_except_expr', 2, sub #line 2438 "ParserXp.yp" { $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 389 'set_except_expr', 2, sub #line 2447 "ParserXp.yp" { $_[2]; } ], [#Rule 390 'set_except_expr', 2, sub #line 2451 "ParserXp.yp" { $_[0]->Error("'(' expected.\n"); $_[0]->YYErrok(); } ], [#Rule 391 'exception_list', 3, sub #line 2460 "ParserXp.yp" { $_[2]; } ], [#Rule 392 'exception_list', 3, sub #line 2464 "ParserXp.yp" { $_[0]->Error("name expected.\n"); $_[0]->YYErrok(); } ], [#Rule 393 'code_frag', 2, sub #line 2474 "ParserXp.yp" { new CORBA::IDL::CodeFragment($_[0], 'declspec' => $_[1], 'value' => $_[2], ); } ], [#Rule 394 'declspec', 0, undef ], [#Rule 395 'declspec', 1, undef ], [#Rule 396 'props', 0, undef ], [#Rule 397 '@2-1', 0, sub #line 2493 "ParserXp.yp" { $_[0]->YYData->{prop} = 1; } ], [#Rule 398 'props', 4, sub #line 2497 "ParserXp.yp" { $_[0]->YYData->{prop} = 0; $_[3]; } ], [#Rule 399 'prop_list', 2, sub #line 2505 "ParserXp.yp" { my $hash = {}; $hash->{$_[1]} = $_[2]; $hash; } ], [#Rule 400 'prop_list', 4, sub #line 2511 "ParserXp.yp" { $_[1]->{$_[3]} = $_[4]; $_[1]; } ], [#Rule 401 'prop_list', 1, sub #line 2516 "ParserXp.yp" { my $hash = {}; $hash->{$_[1]} = undef; $hash; } ], [#Rule 402 'prop_list', 3, sub #line 2522 "ParserXp.yp" { $_[1]->{$_[3]} = undef; $_[1]; } ] ], @_); bless($self,$class); } #line 2528 "ParserXp.yp" use warnings; our $VERSION = '2.61'; our $IDL_VERSION = '3.0'; sub BuildUnop { my ($op, $expr) = @_; my $node = new CORBA::IDL::UnaryOp($_[0], 'op' => $op ); push @$expr, $node; return $expr; } sub BuildBinop { my ($left, $op, $right) = @_; my $node = new CORBA::IDL::BinaryOp($_[0], 'op' => $op ); push @$left, @$right; push @$left, $node; return $left; } 1;