gcc 源码阅读---语法树

gcc 语法树定义在 tree.def中

Line 41: DEFTREECODE (ERROR_MARK, "error_mark", tcc_exceptional, 0)
    Line 47: DEFTREECODE (IDENTIFIER_NODE, "identifier_node", tcc_exceptional, 0)
    Line 54: DEFTREECODE (TREE_LIST, "tree_list", tcc_exceptional, 0)
    Line 57: DEFTREECODE (TREE_VEC, "tree_vec", tcc_exceptional, 0)
    Line 75: DEFTREECODE (BLOCK, "block", tcc_exceptional, 0)
    Line 122: DEFTREECODE (OFFSET_TYPE, "offset_type", tcc_type, 0)
    Line 135: DEFTREECODE (ENUMERAL_TYPE, "enumeral_type", tcc_type, 0)
    Line 139: DEFTREECODE (BOOLEAN_TYPE, "boolean_type", tcc_type, 0)
    Line 145: DEFTREECODE (INTEGER_TYPE, "integer_type", tcc_type, 0)
    Line 152: DEFTREECODE (BITINT_TYPE, "bitint_type", tcc_type, 0)
    Line 156: DEFTREECODE (REAL_TYPE, "real_type", tcc_type, 0)
    Line 165: DEFTREECODE (POINTER_TYPE, "pointer_type", tcc_type, 0)
    Line 169: DEFTREECODE (REFERENCE_TYPE, "reference_type", tcc_type, 0)
    Line 172: DEFTREECODE (NULLPTR_TYPE, "nullptr_type", tcc_type, 0)
    Line 177: DEFTREECODE (FIXED_POINT_TYPE, "fixed_point_type", tcc_type, 0)
    Line 186: DEFTREECODE (COMPLEX_TYPE, "complex_type", tcc_type, 0)
    Line 191: DEFTREECODE (VECTOR_TYPE, "vector_type", tcc_type, 0)
    Line 207: DEFTREECODE (ARRAY_TYPE, "array_type", tcc_type, 0)
    Line 217: DEFTREECODE (RECORD_TYPE, "record_type", tcc_type, 0)
    Line 223: DEFTREECODE (UNION_TYPE, "union_type", tcc_type, 0)    /* C union type */
    Line 229: DEFTREECODE (QUAL_UNION_TYPE, "qual_union_type", tcc_type, 0)
    Line 236: DEFTREECODE (VOID_TYPE, "void_type", tcc_type, 0)
    Line 246: DEFTREECODE (FUNCTION_TYPE, "function_type", tcc_type, 0)
    Line 253: DEFTREECODE (METHOD_TYPE, "method_type", tcc_type, 0)
    Line 259: DEFTREECODE (LANG_TYPE, "lang_type", tcc_type, 0)
    Line 265: DEFTREECODE (OPAQUE_TYPE, "opaque_type", tcc_type, 0)
    Line 271: DEFTREECODE (VOID_CST, "void_cst", tcc_constant, 0)
    Line 291: DEFTREECODE (INTEGER_CST, "integer_cst", tcc_constant, 0)
    Line 294: DEFTREECODE (POLY_INT_CST, "poly_int_cst", tcc_constant, 0)
    Line 297: DEFTREECODE (REAL_CST, "real_cst", tcc_constant, 0)
    Line 300: DEFTREECODE (FIXED_CST, "fixed_cst", tcc_constant, 0)
    Line 304: DEFTREECODE (COMPLEX_CST, "complex_cst", tcc_constant, 0)
    Line 307: DEFTREECODE (VECTOR_CST, "vector_cst", tcc_constant, 0)
    Line 310: DEFTREECODE (STRING_CST, "string_cst", tcc_constant, 0)
    Line 320: DEFTREECODE (RAW_DATA_CST, "raw_data_cst", tcc_constant, 0)
    Line 380: DEFTREECODE (FUNCTION_DECL, "function_decl", tcc_declaration, 0)
    Line 381: DEFTREECODE (LABEL_DECL, "label_decl", tcc_declaration, 0)
    Line 386: DEFTREECODE (FIELD_DECL, "field_decl", tcc_declaration, 0)
    Line 387: DEFTREECODE (VAR_DECL, "var_decl", tcc_declaration, 0)
    Line 388: DEFTREECODE (CONST_DECL, "const_decl", tcc_declaration, 0)
    Line 389: DEFTREECODE (PARM_DECL, "parm_decl", tcc_declaration, 0)
    Line 390: DEFTREECODE (TYPE_DECL, "type_decl", tcc_declaration, 0)
    Line 391: DEFTREECODE (RESULT_DECL, "result_decl", tcc_declaration, 0)
    Line 395: DEFTREECODE (DEBUG_EXPR_DECL, "debug_expr_decl", tcc_declaration, 0)
    Line 398: DEFTREECODE (DEBUG_BEGIN_STMT, "debug_begin_stmt", tcc_statement, 0)
    Line 402: DEFTREECODE (NAMESPACE_DECL, "namespace_decl", tcc_declaration, 0)
    Line 413: DEFTREECODE (IMPORTED_DECL, "imported_decl", tcc_declaration, 0)
    Line 423: DEFTREECODE (NAMELIST_DECL, "namelist_decl", tcc_declaration, 0)
    Line 427: DEFTREECODE (TRANSLATION_UNIT_DECL, "translation_unit_decl",\
    Line 440: DEFTREECODE (COMPONENT_REF, "component_ref", tcc_reference, 3)
    Line 450: DEFTREECODE (BIT_FIELD_REF, "bit_field_ref", tcc_reference, 3)
    Line 457: DEFTREECODE (ARRAY_REF, "array_ref", tcc_reference, 4)
    Line 462: DEFTREECODE (ARRAY_RANGE_REF, "array_range_ref", tcc_reference, 4)
    Line 466: DEFTREECODE (REALPART_EXPR, "realpart_expr", tcc_reference, 1)
    Line 467: DEFTREECODE (IMAGPART_EXPR, "imagpart_expr", tcc_reference, 1)
    Line 479: DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", tcc_reference, 1)
    Line 482: DEFTREECODE (INDIRECT_REF, "indirect_ref", tcc_reference, 1)
    Line 495: DEFTREECODE (OBJ_TYPE_REF, "obj_type_ref", tcc_expression, 3)
    Line 522: DEFTREECODE (CONSTRUCTOR, "constructor", tcc_exceptional, 0)
    Line 525:    of DEFTREECODE saying how many operands there are.
    Line 532: DEFTREECODE (COMPOUND_EXPR, "compound_expr", tcc_expression, 2)
    Line 535: DEFTREECODE (MODIFY_EXPR, "modify_expr", tcc_expression, 2)
    Line 540: DEFTREECODE (INIT_EXPR, "init_expr", tcc_expression, 2)
    Line 548: DEFTREECODE (TARGET_EXPR, "target_expr", tcc_expression, 4)
    Line 562: DEFTREECODE (COND_EXPR, "cond_expr", tcc_expression, 3)
    Line 565: DEFTREECODE (VEC_DUPLICATE_EXPR, "vec_duplicate_expr", tcc_unary, 1)
    Line 575: DEFTREECODE (VEC_SERIES_EXPR, "vec_series_expr", tcc_binary, 2)
    Line 587: DEFTREECODE (VEC_COND_EXPR, "vec_cond_expr", tcc_expression, 3)
    Line 606: DEFTREECODE (VEC_PERM_EXPR, "vec_perm_expr", tcc_expression, 3)
    Line 629: DEFTREECODE (BIND_EXPR, "bind_expr", tcc_expression, 3)
    Line 637: DEFTREECODE (CALL_EXPR, "call_expr", tcc_vl_exp, 3)
    Line 644: DEFTREECODE (WITH_CLEANUP_EXPR, "with_cleanup_expr", tcc_expression, 1)
    Line 661: DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", tcc_expression, 1)
    Line 713: DEFTREECODE (PLACEHOLDER_EXPR, "placeholder_expr", tcc_exceptional, 0)
    Line 716: DEFTREECODE (PLUS_EXPR, "plus_expr", tcc_binary

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoldKey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值