📄 tree.h
字号:
tPosition pos; tTree env; tTree expression; } yget_class_of_expr;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree type; } yget_class;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree base; tTree index; } ysubscript;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree expression; tTree type; } ytype_compare;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree type; tTree dims; tTree expression; } ytype_cast;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree type; tTree dims; tTree expression_list; tTree expression; } ynew;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree type; tTree expression_list; tTree block; } yanonymous;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tTree condition; tTree true_expr; tTree false_expr; } yconditional;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; } ysuper;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; } ythis;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; } ynull;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; long value; } yint_literal;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; long value; } ylong_literal;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; rbool value; } ybool_literal;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tStringRef value; } yfloat_literal;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tStringRef value; } ychar_literal;typedef struct { Tree_tNodeHead yyHead;tPosition pos; tTree env; tStringRef value; } ystring_literal;typedef struct { Tree_tNodeHead yyHead;} yenvs;typedef struct { Tree_tNodeHead yyHead;tTree objects; tTree env; tTree object; tHashTable HashTable; int HashSize; } yenv;typedef struct { Tree_tNodeHead yyHead;tTree env1; tTree env2; } yenv2;typedef struct { Tree_tNodeHead yyHead;} yobjects;typedef struct { Tree_tNodeHead yyHead;tTree object; tIdent ident; tTree next; tTree collision; } yobject;typedef struct { Tree_tNodeHead yyHead;} ynoobject;union Tree_Node { Tree_tKind Kind; Tree_tNodeHead yyHead; ycompilation_unit compilation_unit; yimport_list import_list; ynoimport noimport; yimport import; yimport_asterisk import_asterisk; yfield_list field_list; ynofield nofield; yfield field; yfunction function; ymethod method; yconstructor constructor; yvar_decl var_decl; ystatic_initializer static_initializer; yinitializer initializer; ytype_decl type_decl; yclass class; yinterface my_interface; ydecl_list decl_list; ynodecl nodecl; ydecl decl; yvariable variable; yparameter parameter; ystatement_list statement_list; ynostatement nostatement; ystatement statement; ystatement_c statement_c; ycompound_stmt compound_stmt; yexpression_stmt expression_stmt; yvar_decl_stmt var_decl_stmt; ytype_decl_stmt type_decl_stmt; yif_stmt if_stmt; yif_else_stmt if_else_stmt; ywhile_stmt while_stmt; ydo_stmt do_stmt; ybreak_stmt break_stmt; ybreak_id_stmt break_id_stmt; ycontinue_stmt continue_stmt; ycontinue_id_stmt continue_id_stmt; yreturn_stmt return_stmt; yreturn_expr_stmt return_expr_stmt; yfor_stmt for_stmt; ythrow_stmt throw_stmt; ysynchronized_stmt synchronized_stmt; ylabeled_stmt labeled_stmt; ytry_stmt try_stmt; yswitch_stmt switch_stmt; ynull_stmt null_stmt; yswitch_list switch_list; ynoswitch noswitch; yswitch_ switch_; ycatch_list catch_list; ynocatch nocatch; ycatch catch; ytype_name_list type_name_list; ynotype_name notype_name; ytype_name type_name; ytype type; ysimple_type simple_type; ynamed_type named_type; yarray_type array_type; ynotype notype; yexpression_list expression_list; ynoexpression_l noexpression_l; yexpression expression; yexpression_c expression_c; yqualified_symbol qualified_symbol; yqualification qualification; yident ident; ynoexpression noexpression; yunary unary; ybinary binary; yassign assign; yaggregate aggregate; ycall call; yselect select; yget_class_of_expr get_class_of_expr; yget_class get_class; ysubscript subscript; ytype_compare type_compare; ytype_cast type_cast; ynew new; yanonymous anonymous; yconditional conditional; ysuper super; ythis this; ynull null; yint_literal int_literal; ylong_literal long_literal; ybool_literal bool_literal; yfloat_literal float_literal; ychar_literal char_literal; ystring_literal string_literal; yenvs envs; yenv env; yenv2 env2; yobjects objects; yobject object; ynoobject noobject;};extern const unsigned short Tree_NodeSize [99];extern const char * const Tree_NodeName [];extern tTree TreeRoot;extern unsigned long Tree_HeapUsed;extern yytTree_BlockPtr Tree_BlockList;extern char * Tree_PoolFreePtr, * Tree_PoolStartPtr;extern void (* Tree_Exit) ARGS ((void));extern tTree Tree_Alloc ARGS ((unsigned short yySize));extern tTree MakeTree ARGS ((Tree_tKind yyKind));extern rbool Tree_IsType ARGS ((register tTree yyt, register Tree_tKind yyKind));extern tTree mcompilation_unit ARGS ((tTree ppackage, tTree pimport_list, tTree pfield_list));extern tTree mimport_list ARGS ((void));extern tTree mnoimport ARGS ((void));extern tTree mimport ARGS ((tTree pnext, tTree pqualified_symbol));extern tTree mimport_asterisk ARGS ((tTree pnext, tTree pqualified_symbol));extern tTree mfield_list ARGS ((void));extern tTree mnofield ARGS ((void));extern tTree mfield ARGS ((tTree pnext));extern tTree mfunction ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pdecl_list, tTree pthrows, tTree pblock));extern tTree mmethod ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pdecl_list, tTree pthrows, tTree pblock, tTree ptype, tTree parray));extern tTree mconstructor ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pdecl_list, tTree pthrows, tTree pblock));extern tTree mvar_decl ARGS ((tTree pnext, long pmodifiers, tTree ptype, tTree pdecl_list));extern tTree mstatic_initializer ARGS ((tTree pnext, tTree pstatement_c));extern tTree minitializer ARGS ((tTree pnext, tTree pstatement_c));extern tTree mtype_decl ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pblock));extern tTree mclass ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pblock, tTree pextends, tTree pinterfaces));extern tTree minterface ARGS ((tTree pnext, long pmodifiers, tIdent pident, tPosition ppos, tTree pblock, tTree pextends));extern tTree mdecl_list ARGS ((void));extern tTree mnodecl ARGS ((void));extern tTree mdecl ARGS ((tTree pnext, long pmodifiers, tTree ptype, tIdent pident, tPosition ppos, tTree parray));extern tTree mvariable ARGS ((tTree pnext, long pmodifiers, tTree ptype, tIdent pident, tPosition ppos, tTree parray, tTree pexpression));extern tTree mparameter ARGS ((tTree pnext, long pmodifiers, tTree ptype, tIdent pident, tPosition ppos, tTree parray));extern tTree mstatement_list ARGS ((void));extern tTree mnostatement ARGS ((void));extern tTree mstatement ARGS ((tTree pnext, tTree pstatement));extern tTree mstatement_c ARGS ((void));extern tTree mcompound_stmt ARGS ((tTree pstatement_list));extern tTree mexpression_stmt ARGS ((tTree pexpression));extern tTree mvar_decl_stmt ARGS ((tTree ptype, tTree pdecl_list));extern tTree mtype_decl_stmt ARGS ((tTree ptype_decl));extern tTree mif_stmt ARGS ((tTree pexpression, tTree pthen));extern tTree mif_else_stmt ARGS ((tTree pexpression, tTree pthen, tTree pElse));extern tTree mwhile_stmt ARGS ((tTree pexpression, tTree pstatement));extern tTree mdo_stmt ARGS ((tTree pstatement, tTree pexpression));extern tTree mbreak_stmt ARGS ((void));extern tTree mbreak_id_stmt ARGS ((tTree pexpression));extern tTree mcontinue_stmt ARGS ((void));extern tTree mcontinue_id_stmt ARGS ((tTree pexpression));extern tTree mreturn_stmt ARGS ((void));extern tTree mreturn_expr_stmt ARGS ((tTree pexpression));extern tTree mfor_stmt ARGS ((tTree pfor_init, tTree pexpression, tTree pfor_incr, tTree pstatement));extern tTree mthrow_stmt ARGS ((tTree pexpression));extern tTree msynchronized_stmt ARGS ((tTree pexpression, tTree pstatement));extern tTree mlabeled_stmt ARGS ((tIdent pident, tPosition ppos, tTree pstatement));extern tTree mtry_stmt ARGS ((tTree pstatement, tTree pcatch_list, tTree pfinally));extern tTree mswitch_stmt ARGS ((tTree pexpression, tTree pswitch_list));extern tTree mnull_stmt ARGS ((void));extern tTree mswitch_list ARGS ((void));extern tTree mnoswitch ARGS ((void));extern tTree mswitch_ ARGS ((tTree pnext, tTree pexpression_list, tTree pstatement_list));extern tTree mcatch_list ARGS ((void));extern tTree mnocatch ARGS ((void));extern tTree mcatch ARGS ((tTree pnext, tTree pdecl_list, tTree pstatement));extern tTree mtype_name_list ARGS ((void));extern tTree mnotype_name ARGS ((void));extern tTree mtype_name ARGS ((tTree pnext, tTree pnamed_type));extern tTree mtype ARGS ((void));extern tTree msimple_type ARGS ((ttype ptype));extern tTree mnamed_type ARGS ((tTree pqualified_symbol));extern tTree marray_type ARGS ((tTree ptype));extern tTree mnotype ARGS ((void));extern tTree mexpression_list ARGS ((void));extern tTree mnoexpression_l ARGS ((void));extern tTree mexpression ARGS ((tTree pnext, tTree pexpression));extern tTree mexpression_c ARGS ((tPosition ppos));extern tTree mqualified_symbol ARGS ((tPosition ppos));extern tTree mqualification ARGS ((tPosition ppos, tTree pqualified_symbol, tIdent pident));extern tTree mident ARGS ((tPosition ppos, tIdent pident));extern tTree mnoexpression ARGS ((tPosition ppos));extern tTree munary ARGS ((tPosition ppos, tTree pexpression, toperator poperator));extern tTree mbinary ARGS ((tPosition ppos, tTree plop, tTree prop, toperator poperator));extern tTree massign ARGS ((tPosition ppos, tTree plval, tTree prval, toperator poperator));extern tTree maggregate ARGS ((tPosition ppos, tTree pexpression_list));extern tTree mcall ARGS ((tPosition ppos, tTree pexpression, tTree pexpression_list));extern tTree mselect ARGS ((tPosition ppos, tTree pexpression, tIdent pident));extern tTree mget_class_of_expr ARGS ((tPosition ppos, tTree pexpression));extern tTree mget_class ARGS ((tPosition ppos, tTree ptype));extern tTree msubscript ARGS ((tPosition ppos, tTree pbase, tTree pindex));extern tTree mtype_compare ARGS ((tPosition ppos, tTree pexpression, tTree ptype));extern tTree mtype_cast ARGS ((tPosition ppos, tTree ptype, tTree pdims, tTree pexpression));extern tTree mnew ARGS ((tPosition ppos, tTree ptype, tTree pdims, tTree pexpression_list, tTree pexpression));extern tTree manonymous ARGS ((tPosition ppos, tTree ptype, tTree pexpression_list, tTree pblock));extern tTree mconditional ARGS ((tPosition ppos, tTree pcondition, tTree ptrue_expr, tTree pfalse_expr));extern tTree msuper ARGS ((tPosition ppos));extern tTree mthis ARGS ((tPosition ppos));extern tTree mnull ARGS ((tPosition ppos));extern tTree mint_literal ARGS ((tPosition ppos, long pvalue));extern tTree mlong_literal ARGS ((tPosition ppos, long pvalue));extern tTree mbool_literal ARGS ((tPosition ppos, rbool pvalue));extern tTree mfloat_literal ARGS ((tPosition ppos, tStringRef pvalue));extern tTree mchar_literal ARGS ((tPosition ppos, tStringRef pvalue));extern tTree mstring_literal ARGS ((tPosition ppos, tStringRef pvalue));extern tTree menvs ARGS ((void));extern tTree menv ARGS ((tTree pobjects, tTree penv, tTree pobject, tHashTable pHashTable, int pHashSize));extern tTree menv2 ARGS ((tTree penv1, tTree penv2));extern tTree mobjects ARGS ((void));extern tTree mobject ARGS ((tTree pobject, tIdent pident, tTree pnext));extern tTree mnoobject ARGS ((void));extern void ReleaseTree ARGS ((tTree yyt));extern void ReleaseTreeModule ARGS ((void));extern void WriteTreeNode ARGS ((FILE * yyyf, tTree yyt));extern void WriteTree ARGS ((FILE * yyyf, tTree yyt));extern tTree ReadTree ARGS ((FILE * yyyf));extern void PutTree ARGS ((FILE * yyyf, tTree yyt));extern tTree GetTree ARGS ((FILE * yyyf));extern void TraverseTreeTD ARGS ((tTree yyt, Tree_tProcTree yyyProc));extern void TraverseTreeBU ARGS ((tTree yyt, Tree_tProcTree yyProc));extern tTree ReverseTree ARGS ((tTree yyt));extern void ForallTree ARGS ((tTree yyt, Tree_tProcTree yyProc));extern tTree CopyTree ARGS ((tTree yyt));extern rbool CheckTree ARGS ((tTree yyt));extern void QueryTree ARGS ((tTree yyt));extern void DrawTree ARGS ((tTree yyt));extern void SetDepthTree ARGS ((int yyDepth));extern rbool IsEqualTree ARGS ((tTree yyt1, tTree yyt2));extern void InitTree ARGS ((register tTree yyt));extern void BeginTree ARGS ((void));extern void CloseTree ARGS ((void));#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -