📄 parser.c
字号:
767, 768, 769, 772, 773, 776, 777, 780, 787, 793, 794, 798, 802, 808, 809, 810, 811, 817, 818, 821, 822, 825, 830, 835, 836, 837, 838, 839, 840, 841, 842, 843, 846, 849, 850, 853, 854, 857, 858, 861, 862, 863, 866, 867, 868, 871, 872, 873, 874, 877, 878, 881, 882, 883, 886, 900, 901, 904, 905, 906, 907, 908, 909, 912, 914, 922, 930, 931, 932, 961, 962, 966, 967, 970, 985, 986, 987, 988, 989, 990, 991, 992, 993, 996, 997, 998, 999, 1002, 1005, 1010, 1011, 1012, 1015, 1020, 1023, 1024, 1027, 1028, 1029, 1032, 1035, 1038, 1041, 1042, 1043, 1046, 1049, 1052, 1055, 1058, 1061, 1064, 1067, 1070, 1073, 1076, 1079, 1082, 1085, 1088, 1089, 1093, 1094, 1097, 1100, 1103, 1104, 1108, 1123, 1124, 1128, 1129, 1132, 1137, 1143, 1147, 1154, 1157, 1165, 1177, 1193, 1203, 1241, 1259, 1284, 1303, 1304, 1308, 1345, 1346, 1352, 1353, 1362, 1365, 1368, 1371, 1374, 1377, 1380, 1381, 1384, 1390, 1391, 1399, 1406};#endif#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)static const char * const yytname[] = { "$","error","$undefined.","TOK_ANY","TOK_ATTRIBUTE","TOK_BOOLEAN","TOK_CASE","TOK_CHAR","TOK_CONST","TOK_CONTEXT","TOK_DEFAULT","TOK_DOUBLE","TOK_ENUM","TOK_EXCEPTION","TOK_FALSE","TOK_FIXED","TOK_FLOAT","TOK_IN","TOK_INOUT","TOK_INTERFACE","TOK_LONG","TOK_MODULE","TOK_NATIVE","TOK_OBJECT","TOK_OCTET","TOK_ONEWAY","TOK_OP_SCOPE","TOK_OP_SHL","TOK_OP_SHR","TOK_OUT","TOK_RAISES","TOK_READONLY","TOK_SEQUENCE","TOK_SHORT","TOK_STRING","TOK_STRUCT","TOK_SWITCH","TOK_TRUE","TOK_TYPECODE","TOK_TYPEDEF","TOK_UNION","TOK_UNSIGNED","TOK_VARARGS","TOK_VOID","TOK_WCHAR","TOK_WSTRING","TOK_FLOATP","TOK_INTEGER","TOK_DECLSPEC","TOK_PROP_KEY","TOK_PROP_VALUE","TOK_NATIVE_TYPE","TOK_IDENT","TOK_SQSTRING","TOK_DQSTRING","TOK_FIXEDP","TOK_CODEFRAG","';'","','","'{'","'}'","':'","'('","')'","'='","'|'","'^'","'&'","'+'","'-'","'*'","'/'","'%'","'~'","'<'","'>'","'['","']'","specification","z_definition_list","definition_list","check_semicolon","useless_semicolon","check_comma","illegal_ident","definition","module_declspec","module","@1","interface_catch_ident","interface","@2","@3","z_inheritance","scoped_name_list","interface_body","export_list","export","type_dcl","type_dcl_def","@4","type_declarator","type_spec","simple_type_spec","constr_type_spec","z_new_ident_catch","z_new_scope_catch","struct_type","@5","@6","union_type","@7","@8","switch_type_spec","switch_body","case_stmt_list","case_stmt","element_spec","case_label_list","case_label","const_dcl","const_dcl_def","except_dcl","except_dcl_def","member_zlist","is_readonly","attr_dcl","attr_dcl_def","@9","param_type_spec","op_param_type_spec_illegal","op_param_type_spec","is_oneway","op_dcl","op_dcl_def","op_type_spec","@10","is_varargs","is_cvarargs","parameter_dcls","param_dcl_list","param_dcl","@11","param_attribute","is_raises_expr","is_context_expr","raises_expr","context_expr","const_type","const_exp","or_expr","xor_expr","and_expr","shift_expr","add_expr","mult_expr","unary_expr","unary_op","primary_expr","literal","enum_type","@12","scoped_name","ns_scoped_name","enumerator_list","member_list","member","base_type_spec","template_type_spec","sequence_type","floating_pt_type","fixed_pt_type","fixed_pt_const_type","integer_type","signed_int","signed_short_int","signed_long_int","signed_longlong_int","unsigned_int","unsigned_short_int","unsigned_long_int","unsigned_longlong_int","char_type","wide_char_type","boolean_type","octet_type","any_type","object_type","typecode_type","string_type","wide_string_type","declarator_list","declarator","simple_declarator","complex_declarator","simple_declarator_list","array_declarator","fixed_array_size_list","fixed_array_size","prop_hash","ident","new_ident","new_scope","new_or_prev_scope","pop_scope","ns_new_ident","ns_prev_ident","cur_ns_new_or_prev_ident","ns_global_ident","string_lit_list","positive_int_const","z_declspec","z_props","@13","integer_lit","string_lit","char_lit","fixed_pt_lit","floating_pt_lit","boolean_lit","codefrag","dqstring_cat","dqstring","sqstring", NULL};#endifstatic const short yyr1[] = { 0, 78, 78, 79, 79, 80, 80, 81, 81, 82, 83, 83, 84, 85, 85, 85, 85, 85, 85, 85, 85, 86, 88, 87, 89, 89, 89, 91, 92, 90, 90, 93, 93, 94, 94, 95, 96, 96, 97, 97, 97, 97, 97, 97, 97, 98, 99, 99, 99, 99, 99, 100, 99, 101, 102, 102, 103, 103, 103, 104, 104, 104, 105, 105, 106, 106, 108, 109, 107, 111, 112, 110, 113, 113, 113, 113, 113, 114, 115, 115, 116, 117, 118, 118, 119, 119, 120, 121, 122, 123, 124, 124, 125, 125, 126, 128, 127, 129, 129, 130, 130, 131, 131, 131, 131, 131, 131, 132, 132, 133, 134, 136, 135, 135, 137, 137, 138, 138, 139, 139, 140, 140, 142, 141, 143, 143, 143, 143, 144, 144, 145, 145, 146, 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 150, 150, 151, 151, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 155, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 159, 159, 159, 159, 161, 160, 162, 163, 163, 163, 164, 164, 165, 165, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 168, 168, 168, 169, 169, 170, 170, 170, 171, 172, 173, 173, 174, 174, 174, 175, 176, 177, 178, 178, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 189, 190, 190, 191, 191, 192, 192, 193, 194, 195, 195, 196, 197, 197, 198, 198, 199, 199, 199, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 209, 210, 211, 211, 212, 213, 212, 214, 215, 216, 217, 218, 219, 219, 220, 221, 221, 222, 223};static const short yyr2[] = { 0, 0, 1, 0, 1, 1, 2, 1, 0, 1, 1, 0, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 0, 7, 1, 1, 1, 0, 0, 12, 5, 0, 2, 1, 3, 1, 0, 2, 2, 2, 2, 2, 2, 1, 1, 2, 3, 1, 1, 1, 3, 0, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 9, 0, 0, 13, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 1, 2, 3, 2, 2, 5, 2, 6, 0, 2, 0, 1, 2, 0, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 2, 8, 0, 2, 1, 0, 1, 0, 2, 4, 3, 1, 3, 0, 5, 1, 1, 1, 1, 0, 1, 0, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 0, 7, 1, 1, 2, 3, 1, 3, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 4, 1, 1, 2, 6, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, 1, 2, 3, 2, 2, 4, 1, 3, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 3, 1, 0, 1, 0, 0, 4, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1};static const short yydefact[] = { 259, 0, 260, 247, 9, 259, 20, 19, 5, 0, 8, 8, 8, 8, 8, 12, 176, 253, 177, 261, 18, 255, 178, 6, 254, 22, 250, 7, 17, 16, 13, 14, 15, 0, 0, 0, 21, 271, 262, 45, 47, 48, 86, 88, 49, 0, 0, 179, 221, 219, 201, 204, 200, 211, 210, 227, 0, 220, 229, 0, 142, 138, 141, 134, 205, 207, 208, 209, 206, 213, 214, 215, 135, 136, 137, 139, 140, 252, 0, 249, 0, 174, 0, 0, 66, 261, 69, 259, 202, 212, 0, 217, 216, 0, 0, 248, 90, 245, 0, 62, 25, 26, 251, 24, 50, 234, 64, 223, 0, 224, 222, 0, 225, 46, 0, 54, 55, 59, 60, 61, 58, 56, 57, 194, 185, 197, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 0, 64, 0, 259, 270, 269, 268, 264, 275, 274, 267, 0, 163, 162, 164, 258, 143, 144, 146, 148, 150, 153, 156, 0, 161, 166, 165, 0, 168, 169, 170, 171, 172, 173, 265, 272, 266, 218, 0, 0, 261, 243, 0, 263, 0, 63, 251, 30, 51, 0, 65, 0, 0, 53, 230, 232, 233, 235, 234, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 226, 273, 228, 87, 251, 0, 91, 246, 0, 31, 0, 67, 0, 0, 10, 0, 0, 238, 239, 0, 23, 167, 145, 147, 149, 152, 151, 154, 155, 157, 158, 159, 89, 8, 244, 11, 180, 0, 28, 52, 261, 0, 0, 199, 231, 242, 0, 240, 261, 184, 175, 0, 11, 33, 0, 261, 182, 0, 0, 241, 211, 0, 75, 76, 72, 73, 74, 0, 181, 0, 36, 251, 183, 203, 198, 0, 34, 0, 259, 68, 70, 251, 44, 37, 8, 8, 8, 8, 8, 261, 43, 0, 29, 38, 42, 39, 41, 40, 94, 109, 107, 0, 0, 0, 77, 78, 261, 82, 108, 93, 0, 111, 0, 85, 251, 79, 0, 8, 83, 95, 113, 0, 261, 84, 71, 81, 80, 261, 0, 100, 106, 112, 105, 101, 99, 104, 102, 103, 98, 0, 97, 261, 251, 236, 96, 115, 0, 11, 120, 261, 128, 0, 119, 10, 261, 0, 124, 126, 125, 127, 122, 0, 130, 129, 237, 117, 121, 118, 261, 0, 0, 110, 131, 0, 11, 0, 123, 132, 11, 256, 133, 0, 257, 0, 0, 0};static const short yydefgoto[] = { 392, 138, 5, 28, 6, 224, 7, 8, 9, 10, 46, 102, 11, 182, 263, 247, 261, 286, 287, 292, 12, 39, 219, 113, 214, 115, 116, 180, 185, 117, 106, 249, 118, 137, 300, 270, 312, 313, 314, 326, 315, 316, 13, 42, 14, 43, 176, 319, 296, 307, 336, 348, 339, 349, 320, 297, 308, 330, 331, 355, 364, 351, 356, 357, 377, 369, 371, 380, 372, 381, 59, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 119, 99, 162, 16, 244, 264, 215, 121, 122, 123, 124, 125, 62, 126, 64, 65, 66, 67, 68, 69, 70, 71, 127, 128, 129, 130, 131, 132, 133, 134, 135, 189, 190, 191, 192, 353, 193, 226, 227, 98, 17, 105, 186, 25, 183, 95, 18, 26, 22, 387, 163, 19, 136, 80, 164, 165, 166, 167, 168, 169, 20, 170, 171, 172};static const short yypact[] = { 36, 25,-32768,-32768,-32768, 76,-32768,-32768,-32768, 25, 34, 34, 34, 34, 34,-32768, 14,-32768,-32768, 43,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 25, 640, 25,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 249, -2,-32768,-32768,-32768,-32768,-32768,-32768, 27,-32768, 20, 112,-32768, 44, 25,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 81,-32768, 61,-32768, 23, 25,-32768, 553,-32768, 125,-32768,-32768, 564, 127,-32768, 564, 85,-32768,-32768, 126, -29, 25,-32768,-32768, 6,-32768, 108,-32768, 25,-32768, 118,-32768,-32768, 123,-32768,-32768, 25,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 154, 25, 139, 172,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 564,-32768,-32768,-32768,-32768, 145, 124, 169, 130, 146, 136,-32768, 211,-32768,-32768,-32768, 144,-32768,-32768,-32768,-32768,-32768,-32768, 167,-32768,-32768,-32768, 163, 564, 415,-32768, 194,-32768, 188,-32768,-32768,-32768,-32768, 196,-32768, 564, 620, 54,-32768,-32768,-32768,-32768, 180, 224,-32768, 209, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,-32768,-32768,-32768,-32768,-32768,-32768, 25,-32768, 225, 25, 213, 226,-32768, 218, -4,-32768, 25, 149, 180,-32768, 216,-32768,-32768, 124, 169, 130, 146, 146, 136, 136,-32768,-32768,-32768,-32768, 170,-32768, -15,-32768, 11,-32768,-32768, 553, 234, 564,-32768,-32768,-32768, 205,-32768, 115,-32768,-32768, 25, 191,-32768, 228, 461,-32768, 210, 215,-32768, 271, 229,-32768,-32768,-32768,-32768,-32768, 286,-32768, 11,-32768,-32768,-32768,-32768,-32768, 247,-32768, 251, 152,-32768,-32768,-32768,-32768,-32768, 34, 34, 34, 34, 34, 47,-32768, 140,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 303, 564, 248, 252, 140,-32768, 63,-32768,-32768,-32768, 309, 273, 253,-32768,-32768,-32768, 25, 34,-32768,-32768,-32768, 25, 553,-32768,-32768,-32768,-32768, 507, 255,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 25,-32768, 79,-32768,-32768, 54,-32768, 256, 51,-32768, 369, 288, 25,-32768, 279, 246, 260,-32768,-32768,-32768,-32768,-32768, 269, 324,-32768,-32768,-32768,-32768,-32768, 507, 11, 275,-32768,-32768, 25, 116, 167,-32768,-32768, 120,-32768,-32768, 167,-32768, 335, 339,-32768};static const short yypgoto[] = {-32768,-32768, 257, 0, 53, -219,-32768, 22,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -30,-32768,-32768,-32768, 64,-32768,-32768,-32768, -69, 162, -305,-32768, 217, 1,-32768,-32768, 4,-32768,-32768,-32768,-32768,-32768, 39,-32768,-32768, 38, 68,-32768, 69,-32768,-32768,-32768,-32768,-32768,-32768, -328,-32768, 26,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -5,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -123,-32768, 164, 161, 165, 29, 49, 28,-32768, 202,-32768, -12,-32768, 5,-32768,-32768,-32768, -164, -206,-32768, -205, 330, -193,-32768, -17,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -16, 332, -13,-32768,-32768,-32768,-32768, -31, -28, 153, -196, -81,-32768,-32768,-32768,-32768, 142,-32768, -1, -55, -20, 287, -163, -26,-32768,-32768,-32768,-32768, -71, 83, -18,-32768, 121, -349,-32768,-32768,-32768,-32768, 86,-32768, 207,-32768};#define YYLAST 692static const short yytable[] = { 21, 45, 104, 75, 94, 15, 76, 44, 24, 79, 15, 29, 30, 31, 32, 78, 114, 63, 72, 218, 40, 74, 174, 41, 197, 260, 338, 23, 253, 178, 368, 338, 47, 229, 77, 388, -1, 1, 88, 60, 33, 391, 278, 223, 181, 259, 100, 89, 179, 382, 241, 34, 212, 338, 251, 34, 35, 87, 77, 194, 35, 101, 1, 3, 36, -27, 107, -27, 48, 310, 49, 252, 338, 311, 50, 3, -2, 3, 108, 52, 79, 24, 77, 53, 2, 265, 109, 110, 3, 1, 120, 27, 15, 4, 90, 111, 54, 55, 77, 37, 281, 112, 1, 37, 56, 77, -11, 57, 58, 362, 97, 79, 223, 77, -116, 3, 221, 288, 93, 38, 48, 354, 49, 38, 2, 342, 343, 301, 3, 334, 342, 343, 91, 4, 360, 269, 77, 363, 344, 38, 96, 1, -114, 344, 15, 92, 310, 173, 54, 175, 311, 1, 342, 343, 255, 38, 56, 201, 202, 194, 333, 23, 245, 140, 278, 344, 81, 3, 390, 194, 184, 342, 343, 2, 223, 1, 177, 3, 223, 386, 267, 120, 4, 389, 344, -3, 141, 321, 359, 84, 199, 38, 187, 120, 86, 142, 143, 188, 1, 196, 2, 3, 144, 145, 146, 277, 205, 206, 207, 4, 198, 147, -35, 77, 203, 204, 77, 148, 149, 209, 2, 145, 150, 77, 3, 140, 254, 27, 223, 4, 234, 235, -4, 238, 239, 240, 200, 1, 211, 276, 273, 274, 258, 216, 275, 271, 325, 217, 141, 223, -32, 262, 236, 237, 120, 220, 225, 142, 143, 77, 228, 81, 272, 3, 144, 145, 146, 352, 82, 120, 194, 83, 230, 147, 246, 243, 250, 248, 257, 373, 309, 143, 268, 285, 84, 282, 44, 279, 85, 86, 283, 89, 284, 302, 303, 304, 305, 306, 81, 40, 345, 385, 41, 346, 79, 345, 289, -92, 346, 322, 337, 290, 323, 328, 332, 81, 329, 350, 370, 361, 120, 374, 38, 376, 77, 83, 335, 345, 317, 77, 346, 378, 358, 379, 318, 393, 341, 384, 84, 394, 291, 341, 85, 86, 139, 358, 345, 77, 383, 346, 222, 293, 324, 327, 195, 294, 295, 340, 375, 77, 232, 208, 231, 341, 61, 233, 73, 242, 256, 103, 298, 266, 107, 299, 48, 0, 49, 210, 0, 0, 50, 77, 341, 262, 108, 52, 365, 366, 0, 53, 0, 0, 109, 110, 0, 1, 0, 0, 367, 0, 0, 111, 54, 55, 0, 0, 0, 112, 0, 0, 56, 0, 347, 57, 58, 0, 0, 0, 107, 0, 48, 3, 49, 0, 0, 0, 50, 0, 0, 0, 108, 52, 0, 0, 0, 53, 0, 0, 109, 110, 0, 1, 0, 0, 0, 38, 0, 111, 54, 55, 0, 0, 0, 112, 0, 0, 56, 0, 0, 57, 58, 0, 0, 0, 107, 0, 48, 3, 49, 0, 0, 0, 50, 0, 0, 213, 108, 52, 0, 0, 0, 53, 0, 0, 109, 110, 0, 1, 0, 0, 0, 38, 0, 111, 54, 55, 0, 0, 0, 112, 0, 0, 56, 0, 0, 57, 58, 0, 0, 0, 107, 0, 48, 3, 49, 0, 0, 0, 50, 0, 0, 280, 108, 52, 0, 0, 0, 53, 0, 0, 109, 110, 0, 1, 0, 0, 0, 38, 0, 111, 54, 55, 0, 0, 0, 112, 0, 0, 56, 0, 347, 57, 58, 0, 0, 0, 107, 0, 48, 3, 49, 0, 0, 0, 50, 0, 0, 0, 108, 52, 0, 0, 0, 53, 0, 0, 109, 110, 140, 1, 0, 0, 0, 38, 0, 111, 54, 55, 0, 0, 1, 112, 0, 0, 56, 0, 0, 57, 58, 0, 0, 141, 0, 0, 0, 3, 0, 0, 0, 0, 142, 143, 0, 0, 0, 0, 3, 144, 145, 146, 0, 0, 0, 107, 0, 48, 147, 49, 0, 38, 0, 50, 148, 149, 0, 108, 52, 150, 0, 0, 53, 0, 0, 109, 110, 48, 1, 49, 0, 0, 0, 50, 111, 54, 55, 51, 52, 0, 112, 0, 53, 56, 0, 0, 57, 58, 1, 0, 0, 0, 0, 0, 3, 54, 55, 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, 58, 0, 0, 0, 0, 0, 0, 3};static const short yycheck[] = { 1, 19, 83, 34, 59, 0, 34, 19, 9, 35, 5, 11, 12, 13, 14, 35, 85, 34, 34, 182, 19, 34, 93, 19, 147, 244, 331, 5, 224, 58, 358, 336, 33, 196, 35, 384, 0, 26, 11, 34, 26, 390, 261, 58, 99, 60, 23, 20, 77, 377, 213, 8, 175, 358, 58, 8, 13, 59, 59, 114, 13, 38, 26, 52, 21, 59, 3, 61, 5, 6, 7, 75, 377, 10, 11, 52, 0, 52, 15, 16, 106, 82, 83, 20, 48, 249, 23, 24, 52, 26, 85, 57, 87, 57, 74, 32, 33, 34, 99, 56, 264, 38, 26, 56, 41, 106, 52, 44, 45, 58, 49,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -