⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tparser.cpp

📁 UC Library Extensions UnderC comes with a pocket implementation of the standard C++ libraries, wh
💻 CPP
📖 第 1 页 / 共 5 页
字号:
   449,   452,   456,   459,   462,   466,   467,   468,   469,   475,
   485,   495,   496,   497,   500,   501,   507,   510,   511,   515,
   518,   519,   522,   530,   533,   534,   537,   538,   547,   549,
   550,   553,   553,   556,   556,   556,   559,   560,   561,   564,
   565,   569,   571,   574,   575,   576,   580,   583,   583,   588,
   598,   605,   609,   613,   615,   615,   624,   626,   631,   634,
   635,   638,   639,   640,   643,   650,   651,   652,   658,   660,
   666,   668,   669,   672,   683,   686,   688,   693,   694,   695,
   698,   700,   706,   720,   724,   728,   729,   729,   729,   729,
   730,   730,   730,   730,   730,   733,   734,   736,   740,   744,
   745,   748,   752,   752,   752,   752,   755,   760,   762,   764,
   766,   767,   768,   769,   770,   771,   772,   774,   775,   777,
   778,   779,   780,   781,   782,   783,   784,   785,   787,   788,
   790,   791,   792,   793,   797,   801,   802,   803,   804,   807,
   808,   810,   812,   813,   814,   816,   819,   822,   826,   827,
   828,   829,   830,   831,   833,   836,   838,   841,   843,   846,
   849,   852,   854,   857,   858,   861,   862,   865,   866,   869,
   875,   877,   878,   882,   887,   888,   891,   894,   897,   901,
   905,   908,   911,   913,   914,   918,   921,   924,   925,   926,
   929,   931,   932,   934,   939,   941,   943,   947,   950,   954,
   958,   964,   969,   974,   976,   983,   988,   990,   992,   995,
  1002,  1004,  1008,  1010,  1011,  1015,  1017,  1018,  1021,  1026,
  1032,  1037,  1045,  1052,  1060,  1061,  1064,  1069,  1070,  1074,
  1076,  1079,  1081,  1085,  1087,  1090,  1092,  1095,  1103,  1108,
  1109
};

static const char * const yytname[] = {   "$","error","$undefined.","TOKEN",
"IDEN","CONSTANT","TYPENAME","TYPENAME_FUNCTION","TEMPLATE_NAME","TEMPLATE_NAME_EXPR",
"THIS_CLASSNAME","FLOAT","DOUBLE","UNSIGNED","INT","SHORT","LONG","CHAR","VOID",
"BOOL","TYPEDEF","CLASS","STRUCT","ENUM","OPERATOR","GOTO","UNION","STATIC_CAST",
"CONST_CAST","DYNAMIC_CAST","REINTERPRET_CAST","STRUCT_X","CLASS_X","STRUCT_Y",
"CLASS_Y","UNION_Y","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","RETURN",
"CONTINUE","BREAK","DEFAULT","NAMESPACE","USING","TRY","CATCH","THROW","TEMPLATE",
"EXTERN","THREEDOT","TYPEOF","EXPLICIT","FRIEND","LAMBDA","FAKE_INIT_LIST","CONST",
"STATIC","STDCALL","API","VIRTUAL","PRIVATE","PROTECTED","PUBLIC","COMMA","ASSIGN",
"MUL_A","DIV_A","MOD_A","ADD_A","MINUS_A","SHL_A","SHR_A","BAND_A","BOR_A","XOR_A",
"ARITH_IF","LOG_OR","LOG_AND","BIN_OR","BIN_XOR","BIN_AND","EQUAL","NOT_EQUAL",
"LESS_THAN","LEQ","GREATER","GEQ","LSHIFT","RSHIFT","PLUS","MINUS","STAR","DIVIDE",
"MODULO","MEMBER_ARROW","MEMBER_DOT","NEW","DELETE","TYPECAST","DEREF","ADDR",
"UPLUS","UMINUS","LOG_NOT","BIN_NOT","INCR","DECR","SIZEOF","TYPE_CONSTRUCT",
"FUN_CALL","ARRAY","ARROW","DOT","BINARY_SCOPE","UNARY_SCOPE","'{'","'}'","';'",
"':'","'('","')'","'['","']'","','","program","statement_list","block","@1",
"statement","declaration","typedef_stmt","@2","declaration_stmt","this_classname",
"construct_destruct","conversion_operator","function_front","explicit_mod","ctor_dtor_dcl",
"function_declaration","extern_c_declaration","any_declaration","extern_c","extern_qualifier",
"function_definition","ctor_dtor","poss_class_init_list","@3","class_init_list",
"class_init_item","type_expr","poss_const","mod_type_name","modifiers","open_parens",
"close_parens","type_name","integer","pointer_expr","array_expr","@4","tname_expr",
"tname_exp2","token","begin_list","end_list","arg_list","type_list","type_expr_init",
"init_tname_expr","tname_expr_list","poss_int_const","init_assign","poss_initialization",
"@5","brace_expr","brace_item","brace_list","access_modifier","poss_access_modifier",
"class_or_struct","class_or_struct_ex","poss_derived","token_or_typename","class_name",
"class_id","@6","class_declaration","@7","access_specifier","friend_declaration",
"@8","enum_stmt","@9","@10","poss_enum_list","poss_tag","enum_item","enum_list",
"namespace_declaration","@11","@12","poss_class_name","using_directive","using_declaration",
"goto_stmt","@13","@14","goto_label","scope","global_scope","end_scope","assign_op",
"scoped_name","expr","poss_size","type_expression","typecast_type","type_bracket",
"_expr","@15","@16","@17","@18","poss_array","function_arg_list","init_list",
"expr_list","condition","poss_expr","controlled_statement","@19","if_front",
"if_stmt","if_else_stmt","@20","while_stmt","@21","@22","do_stmt","@23","for_init",
"for_stmt","@24","@25","@26","switch_stmt","@27","return_stmt","case_label",
"break_stmt","continue_stmt","try_catch_stmt","try_block","@28","except_block",
"catch_block","@29","catch_block_list","throw_stmt","typename_function","typename_class",
"typename_expr","template_class","template_expr","template_header","template_function_declaration",
"template_class_declaration","struct_or_class_x","template_class_header","template_class_name",
"begin_templ_list","end_templ_list","template_type_list","templ_item_list","class_item",
"class_parm","templ_item","class_item"
};
#endif

static const short yyr1[] = {     0,
   129,   130,   130,   130,   132,   131,   133,   133,   133,   133,
   133,   133,   133,   133,   133,   133,   133,   133,   133,   133,
   133,   133,   133,   133,   133,   133,   133,   133,   133,   133,
   133,   133,   133,   133,   133,   133,   134,   136,   135,   137,
   137,   138,   139,   139,   140,   141,   142,   143,   144,   144,
   144,   144,   145,   145,   145,   146,   146,   147,   148,   149,
   149,   149,   149,   150,   151,   152,   151,   153,   153,   153,
   154,   154,   155,   156,   156,   157,   157,   157,   157,   158,
   158,   158,   158,   159,   160,   161,   161,   161,   161,   161,
   161,   161,   161,   161,   161,   161,    -1,    -1,    -1,    -1,
   162,   162,   162,   162,   163,   165,   164,   166,   166,   166,
   166,   166,   166,   166,   166,   166,   166,   166,   167,   167,
   167,   168,   169,   170,   171,   172,   172,   172,   172,   173,
   174,   175,   175,   175,   176,   176,   177,   178,   178,   178,
   179,   178,   178,   180,   181,   181,   182,   182,   183,   183,
   183,   184,   184,   185,   185,   185,   186,   186,   186,   187,
   187,   188,   188,   189,   189,   189,   189,   191,   190,   193,
   192,   192,   194,   196,   195,   195,   198,   199,   197,   200,
   200,   201,   201,   201,   202,   203,   203,   203,   205,   206,
   204,   207,   207,   208,   209,   209,   209,   211,   212,   210,
   213,   213,   214,   215,   216,   217,   217,   217,   217,   217,
   217,   217,   217,   217,   217,   218,   218,   218,   219,   220,
   220,   221,   222,   222,   222,   222,   223,   224,   224,   224,
   224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
   224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
   224,   224,   224,   224,   224,   224,   224,   224,   224,   225,
   224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
   224,   224,   224,   224,   224,   224,   226,   224,   227,   224,
   228,   224,   224,   229,   229,    -1,    -1,   230,   230,   231,
   232,   232,   232,   233,   234,   234,   236,   235,   237,   238,
   240,   239,   242,   243,   241,   245,   244,   246,   246,   246,
   248,   249,   250,   247,   252,   251,   253,   254,   254,   255,
   256,   257,   259,   258,   260,   262,   261,   263,   263,   264,
   265,   265,   266,   266,   266,   267,   267,   267,   268,   269,
   270,   271,   272,   272,   273,   273,   274,   275,   275,   276,
   277,   278,   278,   279,   279,   280,   280,   281,   282,   282,
   282
};

static const short yyr2[] = {     0,
     1,     0,     1,     2,     0,     4,     1,     1,     1,     1,
     1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     1,     2,     3,     0,     3,     1,
     1,     1,     1,     2,     4,     5,     1,     3,     2,     1,
     2,     2,     2,     4,     2,     1,     1,     2,     1,     2,
     1,     2,     2,     4,     0,     0,     3,     1,     1,     3,
     2,     2,     2,     0,     1,     1,     2,     2,     3,     1,
     1,     1,     1,     1,     1,     1,     4,     1,     2,     1,
     1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
     1,     1,     1,     1,     4,     0,     4,     0,     1,     2,
     7,     3,     2,     3,     3,     2,     2,     1,     0,     2,
     2,     1,     1,     1,     3,     0,     1,     3,     1,     2,
     2,     0,     1,     3,     0,     1,     1,     0,     2,     1,
     0,     5,     2,     3,     1,     1,     1,     3,     1,     1,
     1,     0,     1,     1,     1,     1,     1,     1,     1,     0,
     3,     1,     1,     0,     1,     1,     1,     0,     2,     0,
     7,     2,     2,     0,     3,     4,     0,     0,     5,     0,
     3,     0,     1,     1,     2,     0,     1,     3,     0,     0,
     5,     0,     1,     4,     3,     4,     3,     0,     0,     5,
     2,     2,     2,     1,     0,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     1,     1,     3,     3,     1,     0,
     3,     1,     1,     1,     1,     1,     3,     1,     1,     3,
     3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
     3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
     2,     2,     2,     2,     4,     4,     5,     3,     3,     0,
     4,     3,     3,     2,     2,     5,     2,     4,     2,     3,
     3,     3,     3,     3,     4,     2,     0,     4,     0,     4,
     0,     4,     1,     0,     2,     0,     1,     2,     1,     3,
     1,     3,     1,     3,     0,     1,     0,     2,     2,     2,
     0,     5,     0,     0,     5,     0,     5,     1,     2,     1,
     0,     0,     0,    11,     0,     6,     3,     3,     2,     2,
     2,     2,     0,     3,     3,     0,     4,     1,     2,     3,
     1,     1,     1,     1,     3,     1,     1,     3,     2,     2,
     2,     2,     2,     3,     1,     1,     2,     1,     1,     1,
     1,     2,     3,     1,     3,     2,     2,     1,     1,     1,
     1
};

static const short yydefact[] = {     0,
   283,     0,   216,   228,   333,   336,     0,     0,    42,    91,
    92,    90,   101,   102,   103,   104,    94,    93,    38,   154,
   155,   177,     0,   198,   156,   223,   224,   225,   226,   158,
   157,   159,     0,   303,   306,     0,     0,     0,     0,     0,
     0,     0,   189,     0,   323,     0,     0,    59,     0,    47,
   174,     0,    80,    82,    83,    81,   150,   151,   149,     0,
     0,     0,     0,   284,     0,     0,     0,     0,     0,     0,
   204,     5,     7,     0,     0,     8,     3,     9,    14,    43,
     0,     0,     0,     0,    50,    10,    35,     0,     0,    11,
    61,     0,     0,    76,    88,     0,   168,   168,    95,    15,
    12,    96,    32,    33,    34,    26,    27,     0,     0,   229,
     0,     0,   219,   297,    16,    17,    18,    19,    20,    21,
    22,    23,    24,    25,    30,     0,    31,    86,     0,   334,
   337,     0,    29,    28,     0,    36,   201,   202,   123,     0,
   267,   289,   350,     0,   339,   340,    89,     0,   182,   336,
   119,     0,     0,     0,   299,     0,   297,   311,     0,   283,
   216,     0,     0,     0,   296,     0,   321,   320,   319,   164,
     0,     0,     0,     0,     0,     0,   341,    58,    84,     0,
   164,     0,    78,   238,   239,   264,   260,   220,     0,     0,
   265,   240,    44,   269,   252,   254,     0,     0,   222,     0,
     0,     0,     4,   123,   126,    65,    52,    63,    49,    60,
     0,    51,    62,     0,    57,     0,     0,     0,     0,    56,
    55,    53,   118,   122,    74,     0,     0,     0,   138,   109,
   133,     0,     0,     0,    77,   173,   160,   164,   172,   205,
   205,     0,   205,    13,     0,     0,     0,     0,   206,   207,
   208,   209,   210,   211,   212,   213,   214,   215,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   281,     0,   251,
   253,   279,   277,     0,     0,   276,   300,     0,     0,   328,
   322,   203,   345,   346,   342,     0,   347,   348,   349,   343,
   288,   283,   291,     0,   360,   154,   351,   359,   352,     0,
   358,   361,   354,    40,    39,    41,   183,   184,   178,   119,
   119,     0,   199,     0,   304,     0,     0,     0,   318,   317,
   162,   163,   167,   165,   193,   190,   166,     0,   205,   195,
   197,     0,   324,   330,     0,     0,   175,     0,     0,   259,
   262,   285,   263,     0,     0,     0,    73,     0,   230,   129,
   138,     0,   127,    48,    66,     0,     0,     0,    75,     0,
   113,     0,     0,   106,   117,   110,   137,     0,   116,     0,
    74,     0,   131,   140,     0,    37,   205,   205,     0,    79,
   152,     0,   169,   217,   335,   338,   218,     0,     0,   258,
   249,     0,   248,   247,   237,   273,   236,   245,   246,   241,
   243,   242,   244,   270,   271,   234,   235,   231,   232,   233,
     0,   272,     0,     0,     0,   250,   301,   298,   326,   329,
     0,   344,   124,     0,   290,   356,   357,     0,   353,   180,
   120,   121,    45,     0,   294,   297,     0,   308,   310,     0,
     0,   312,   315,     0,   194,   196,     0,    85,    87,   176,
   261,     0,   256,   255,     6,   268,   130,   125,   126,     0,
    64,    54,   112,     0,     0,     0,   143,   138,   141,   139,
   138,   134,   115,   114,   153,     0,   170,   227,     0,     0,
   282,   280,   278,   275,   297,     0,   292,   355,   186,   179,
   200,   305,   307,   309,     0,     0,   191,   325,   221,   128,
     0,   331,    68,    67,    69,     0,   332,   105,     0,     0,
   136,    46,     0,   161,     0,   266,   257,   302,   327,   138,
   187,     0,     0,   316,    72,     0,    71,   205,   107,     0,
   146,   147,     0,   145,     0,   185,   181,     0,     0,    70,
     0,     0,   142,     0,   171,   188,     0,   111,   144,   148,
   313,   297,   314,     0,     0,     0
};

static const short yydefgoto[] = {   564,
    75,    76,   198,    77,    78,    79,   148,   315,    80,    81,
    82,    83,    84,    85,    86,    87,   221,    88,    89,    90,
    91,   366,   470,   514,   515,   199,   370,    92,    93,   180,
   459,    94,    95,   228,   379,   476,   481,   322,   230,   140,
   435,   381,   362,   363,   231,   232,   520,   382,   383,   523,
   541,   542,   543,    96,   486,    97,    98,   392,   334,   335,
   237,   238,    99,   525,   100,   101,   182,   102,   149,   440,
   500,   319,   531,   532,   103,   170,   454,   336,   104,   105,
   106,   153,   444,   107,   163,   109,   394,   285,   110,   111,
   350,   201,   112,   246,   113,   348,   424,   423,   421,   190,
   286,   142,   304,   155,   166,   287,   288,   114,   115,   116,
   495,   117,   156,   446,   118,   157,   452,   119,   327,   505,
   562,   120,   506,   121,   122,   123,   124,   125,   126,   175,
   343,   290,   496,   291,   127,   516,   128,   129,   130,   131,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -