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

📄 tree_no_comment.h

📁 使用yacc和lex编写的cmm语言的词法分析和语法分析程序.
💻 H
字号:
enum tree_code {  LAST_AND_UNUSED_TREE_CODE	};extern char **tree_code_type;extern int *tree_code_length;extern char **tree_code_name;enum built_in_function{  NOT_BUILT_IN,  BUILT_IN_ALLOCA,  BUILT_IN_ABS,  BUILT_IN_FABS,  BUILT_IN_LABS,  BUILT_IN_FFS,  BUILT_IN_DIV,  BUILT_IN_LDIV,  BUILT_IN_FFLOOR,  BUILT_IN_FCEIL,  BUILT_IN_FMOD,  BUILT_IN_FREM,  BUILT_IN_MEMCPY,  BUILT_IN_MEMCMP,  BUILT_IN_MEMSET,  BUILT_IN_STRCPY,  BUILT_IN_STRCMP,  BUILT_IN_STRLEN,  BUILT_IN_FSQRT,  BUILT_IN_GETEXP,  BUILT_IN_GETMAN,  BUILT_IN_SAVEREGS,  BUILT_IN_CLASSIFY_TYPE,  BUILT_IN_NEXT_ARG,  BUILT_IN_ARGS_INFO,  BUILT_IN_CONSTANT_P,  BUILT_IN_FRAME_ADDRESS,  BUILT_IN_RETURN_ADDRESS,  BUILT_IN_CALLER_RETURN_ADDRESS,    BUILT_IN_NEW,  BUILT_IN_VEC_NEW,  BUILT_IN_DELETE,  BUILT_IN_VEC_DELETE};typedef union tree_node *tree;struct tree_common{  union tree_node *chain;  union tree_node *type;  unsigned int code : 8;  enum tree_code code : 8;  unsigned side_effects_flag : 1;  unsigned constant_flag : 1;  unsigned permanent_flag : 1;  unsigned addressable_flag : 1;  unsigned volatile_flag : 1;  unsigned readonly_flag : 1;  unsigned unsigned_flag : 1;  unsigned asm_written_flag: 1;  unsigned used_flag : 1;  unsigned raises_flag : 1;  unsigned static_flag : 1;  unsigned public_flag : 1;  unsigned private_flag : 1;  unsigned protected_flag : 1;  unsigned lang_flag_0 : 1;  unsigned lang_flag_1 : 1;  unsigned lang_flag_2 : 1;  unsigned lang_flag_3 : 1;  unsigned lang_flag_4 : 1;  unsigned lang_flag_5 : 1;  unsigned lang_flag_6 : 1;  };  while ((TREE_CODE (EXP) == NOP_EXPR				\	  || TREE_CODE (EXP) == CONVERT_EXPR			\	  || TREE_CODE (EXP) == NON_LVALUE_EXPR)		\	 && (TYPE_MODE (TREE_TYPE (EXP))			\	     == TYPE_MODE (TREE_TYPE (TREE_OPERAND (EXP, 0)))))	\    (EXP) = TREE_OPERAND (EXP, 0);(TREE_INT_CST_HIGH (A) < TREE_INT_CST_HIGH (B)			\ || (TREE_INT_CST_HIGH (A) == TREE_INT_CST_HIGH (B)		\     && ((unsigned) TREE_INT_CST_LOW (A) < (unsigned) TREE_INT_CST_LOW (B))))((unsigned) TREE_INT_CST_HIGH (A) < (unsigned) TREE_INT_CST_HIGH (B)	  \ || ((unsigned) TREE_INT_CST_HIGH (A) == (unsigned) TREE_INT_CST_HIGH (B) \     && ((unsigned) TREE_INT_CST_LOW (A) < (unsigned) TREE_INT_CST_LOW (B))))struct tree_int_cst{  char common[sizeof (struct tree_common)];  long int_cst_low;  long int_cst_high;};struct tree_real_cst{  char common[sizeof (struct tree_common)];  struct rtx_def *rtl;	  REAL_VALUE_TYPE real_cst;};struct tree_string{  char common[sizeof (struct tree_common)];  struct rtx_def *rtl;	  int length;  char *pointer;};struct tree_complex{  char common[sizeof (struct tree_common)];  struct rtx_def *rtl;	  union tree_node *real;  union tree_node *imag;};struct tree_identifier{  char common[sizeof (struct tree_common)];  int length;  char *pointer;};struct tree_list{  char common[sizeof (struct tree_common)];  union tree_node *purpose;  union tree_node *value;};struct tree_vec{  char common[sizeof (struct tree_common)];  int length;  union tree_node *a[1];};struct tree_exp{  char common[sizeof (struct tree_common)];  int complexity;  union tree_node *operands[1];};struct tree_type{  char common[sizeof (struct tree_common)];  union tree_node *values;  union tree_node *size;  unsigned uid;  int mode : 8;  enum machine_mode mode : 8;  unsigned char align;  unsigned char precision;  unsigned no_force_blk_flag : 1;  unsigned lang_flag_0 : 1;  unsigned lang_flag_1 : 1;  unsigned lang_flag_2 : 1;  unsigned lang_flag_3 : 1;  unsigned lang_flag_4 : 1;  unsigned lang_flag_5 : 1;  unsigned lang_flag_6 : 1;  union tree_node *pointer_to;  union tree_node *reference_to;  int parse_info;  int symtab_address;  union tree_node *name;  union tree_node *minval;  union tree_node *maxval;  union tree_node *next_variant;  union tree_node *main_variant;  union tree_node *binfo;  union tree_node *noncopied_parts;  union tree_node *context;    struct lang_type *lang_specific;}; ((enum built_in_function) (NODE)->decl.frame_size) ((NODE)->decl.frame_size = (int) (VAL))struct tree_decl{  char common[sizeof (struct tree_common)];  char *filename;  int linenum;  union tree_node *size;  int mode : 8;  enum machine_mode mode : 8;  unsigned char align;  unsigned external_flag : 1;  unsigned nonlocal_flag : 1;  unsigned regdecl_flag : 1;  unsigned inline_flag : 1;  unsigned bit_field_flag : 1;  unsigned virtual_flag : 1;  unsigned from_inline_flag : 1;  unsigned ignored_flag : 1;  unsigned lang_flag_0 : 1;  unsigned lang_flag_1 : 1;  unsigned lang_flag_2 : 1;  unsigned lang_flag_3 : 1;  unsigned lang_flag_4 : 1;  unsigned lang_flag_5 : 1;  unsigned lang_flag_6 : 1;  unsigned lang_flag_7 : 1;  union tree_node *name;  union tree_node *context;  union tree_node *arguments;  union tree_node *result;  union tree_node *initial;    char *print_name;  union tree_node *assembler_name;  struct rtx_def *rtl;	  int frame_size;		  struct rtx_def *saved_insns;	  union tree_node *vindex;    struct lang_decl *lang_specific;};union tree_node{  struct tree_common common;  struct tree_int_cst int_cst;  struct tree_real_cst real_cst;  struct tree_string string;  struct tree_complex complex;  struct tree_identifier identifier;  struct tree_decl decl;  struct tree_type type;  struct tree_list list;  struct tree_vec vec;  struct tree_exp exp; };extern char *oballoc ();extern char *permalloc ();extern char *savealloc ();extern tree make_node ();extern tree copy_node ();extern tree copy_list ();extern tree make_tree_vec ();extern tree get_identifier ();extern tree build_int_2 ();extern tree build_real ();extern tree build_real_from_string ();extern tree build_real_from_int_cst ();extern tree build_complex ();extern tree build_string ();extern tree build (), build1 ();extern tree build_nt (), build_parse_node ();extern tree build_tree_list (), build_decl_list ();extern tree build_op_identifier ();extern tree build_decl ();extern tree build_block ();extern tree make_signed_type ();extern tree make_unsigned_type ();extern tree signed_or_unsigned_type ();extern void fixup_unsigned_type ();extern tree build_pointer_type ();extern tree build_reference_type ();extern tree build_index_type (), build_index_2_type ();extern tree build_array_type ();extern tree build_function_type ();extern tree build_method_type ();extern tree build_offset_type ();extern tree build_complex_type ();extern tree array_type_nelts ();extern tree build_binary_op ();extern tree build_indirect_ref ();extern tree build_unary_op ();extern tree build_type_variant ();extern enum machine_mode mode_for_size ();extern void layout_type ();extern tree type_hash_canon ();extern void layout_decl ();extern tree fold ();extern tree non_lvalue ();extern tree convert ();extern tree size_in_bytes ();extern tree size_binop ();extern tree size_int ();extern tree round_up ();extern tree get_pending_sizes ();extern tree get_permanent_types (), get_temporary_types ();extern tree sizetype;extern tree chainon ();extern tree tree_cons (), perm_tree_cons (), temp_tree_cons ();extern tree saveable_tree_cons (), decl_tree_cons ();extern tree tree_last ();extern tree nreverse ();extern tree copy_chain ();extern int list_length ();extern int integer_zerop ();extern int integer_onep ();extern int integer_all_onesp ();extern int integer_pow2p ();extern int type_unsigned_p ();extern int staticp ();extern int lvalue_or_else ();extern tree save_expr ();extern tree stabilize_reference ();extern tree get_unwidened ();extern tree get_narrower ();extern tree type_for_mode ();extern tree type_for_size ();extern tree unsigned_type ();extern tree signed_type ();extern tree maybe_build_cleanup ();extern tree get_floating_type ();extern tree get_inner_reference ();extern tree decl_function_context ();extern tree decl_type_context ();extern char *function_cannot_inline_p ();extern tree integer_zero_node;extern tree integer_one_node;extern tree size_zero_node;extern tree size_one_node;extern tree null_pointer_node;extern tree error_mark_node;extern tree void_type_node;extern tree integer_type_node;extern tree unsigned_type_node;extern tree char_type_node;extern char *input_filename;extern int lineno;extern int pedantic;extern int immediate_size_expand;extern tree current_function_decl;extern int current_function_calls_setjmp;extern int current_function_calls_longjmp;extern int all_types_permanent;extern char *(*decl_printable_name) ();extern tree make_tree ();extern tree expand_start_stmt_expr ();extern tree expand_end_stmt_expr ();extern void expand_expr_stmt (), clear_last_expr ();extern void expand_label (), expand_goto (), expand_asm ();extern void expand_start_cond (), expand_end_cond ();extern void expand_start_else (), expand_start_elseif ();extern struct nesting *expand_start_loop ();extern struct nesting *expand_start_loop_continue_elsewhere ();extern void expand_loop_continue_here ();extern void expand_end_loop ();extern int expand_continue_loop ();extern int expand_exit_loop (), expand_exit_loop_if_false ();extern int expand_exit_something ();extern void expand_start_delayed_expr ();extern tree expand_end_delayed_expr ();extern void expand_emit_delayed_expr ();extern void expand_null_return (), expand_return ();extern void expand_start_bindings (), expand_end_bindings ();extern tree last_cleanup_this_contour ();extern void expand_start_case (), expand_end_case ();extern int pushcase (), pushcase_range ();extern void expand_start_function (), expand_end_function ();extern tree invert_truthvalue ();extern void init_lex ();extern void init_decl_processing ();extern void lang_init ();extern void lang_finish ();extern int yyparse ();extern int lang_decode_option ();extern void pushlevel ();extern tree poplevel ();extern tree pushdecl ();extern tree getdecls ();extern tree gettags ();

⌨️ 快捷键说明

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