📄 del..c
字号:
#line 717 "../../src/cfront.h"extern int Nspy ; #line 718 "../../src/cfront.h"extern int Nfile ; #line 718 "../../src/cfront.h"extern int Nline ; #line 718 "../../src/cfront.h"extern int Ntoken ; #line 718 "../../src/cfront.h"extern int Nname ; #line 718 "../../src/cfront.h"extern int Nfree_store ; #line 718 "../../src/cfront.h"extern int Nalloc ; #line 718 "../../src/cfront.h"extern int Nfree ; #line 719 "../../src/cfront.h"extern int NFn ; #line 719 "../../src/cfront.h"extern int NFtn ; #line 719 "../../src/cfront.h"extern int NFpv ; #line 719 "../../src/cfront.h"extern int NFbt ; #line 719 "../../src/cfront.h"extern int NFf ; #line 719 "../../src/cfront.h"extern int NFs ; #line 719 "../../src/cfront.h"extern int NFc ; #line 719 "../../src/cfront.h"extern int NFe ; #line 719 "../../src/cfront.h"extern int NFl ; #line 720 "../../src/cfront.h"extern char * line_format ; #line 722 "../../src/cfront.h"extern Plist isf_list ; #line 723 "../../src/cfront.h"extern Pstmt st_ilist ; #line 724 "../../src/cfront.h"extern Pstmt st_dlist ; #line 725 "../../src/cfront.h"extern Ptable sti_tbl ; #line 726 "../../src/cfront.h"extern Ptable std_tbl ; #line 728 "../../src/cfront.h"extern Ptype np_promote ( ) ; #line 729 "../../src/cfront.h"extern int new_key ( ) ; #line 731 "../../src/cfront.h"extern Pname dcl_list ; #line 732 "../../src/cfront.h"extern int over_call ( ) ; #line 733 "../../src/cfront.h"extern Pname Nover ; #line 734 "../../src/cfront.h"extern Pname Ncoerce ; #line 735 "../../src/cfront.h"extern int Nover_coerce ; #line 737 "../../src/cfront.h"#line 738 "../../src/cfront.h"struct iline { /* sizeof = 108 */Pname _iline_fct_name ; Pin _iline_i_next ; Ptable _iline_i_table ; Pname _iline_local [ 8] ; Pexpr _iline_arg [ 8] ; Ptype _iline_tp [ 8] ; } ; #line 747 "../../src/cfront.h"extern Pexpr curr_expr ; #line 748 "../../src/cfront.h"extern Pin curr_icall ; #line 751 "../../src/cfront.h"extern Pstmt curr_loop ; #line 752 "../../src/cfront.h"extern Pblock curr_block ; #line 753 "../../src/cfront.h"extern Pstmt curr_switch ; #line 754 "../../src/cfront.h"extern bit arg_err_suppress ; #line 755 "../../src/cfront.h"extern struct loc last_line ; #line 757 "../../src/cfront.h"extern int no_of_undcl ; #line 758 "../../src/cfront.h"extern int no_of_badcall ; #line 759 "../../src/cfront.h"extern Pname undcl ; #line 759 "../../src/cfront.h"extern Pname badcall ; #line 761 "../../src/cfront.h"extern int strlen ( ) ; #line 762 "../../src/cfront.h"extern int strcpy ( ) ; #line 763 "../../src/cfront.h"extern int strcmp ( ) ; #line 764 "../../src/cfront.h"extern int str_to_int ( ) ; #line 765 "../../src/cfront.h"extern int c_strlen ( ) ; #line 767 "../../src/cfront.h"extern Pname vec_new_fct ; #line 768 "../../src/cfront.h"extern Pname vec_del_fct ; #line 777 "../../src/cfront.h"extern Pname find_hidden ( ) ; #line 778 "../../src/cfront.h"extern TOK lalex ( ) ; #line 779 "../../src/cfront.h"extern int Nstd ; #line 781 "../../src/cfront.h"extern int stcount ; #line 20 "../../src/del.c"int _name_del ( _auto_this ) register struct name * _auto_this ; #line 21 "../../src/del.c"{ #line 21 "../../src/del.c"Pexpr _auto_i ; #line 23 "../../src/del.c"_auto_i = _auto_this -> _expr__O4.__C4_n_initializer ; #line 25 "../../src/del.c"NFn ++ ; #line 26 "../../src/del.c"if ( _auto_this -> _expr__O2.__C2_tp && ( _auto_this -> _expr__O2.__C2_tp -> _node_permanent == 0 ) ) _type_del ( ( struct #line 26 "../../src/del.c"type * ) _auto_this -> _expr__O2.__C2_tp ) ; #line 27 "../../src/del.c"if ( _auto_i && ( _auto_i != ( ( ( struct expr * ) ( 1 ) ) #line 27 "../../src/del.c") ) ) #line 27 "../../src/del.c"if ( _auto_i && ( _auto_i -> _node_permanent == 0 ) ) _expr_del ( ( #line 27 "../../src/del.c"struct expr * ) _auto_i ) ; #line 28 "../../src/del.c"_auto_this -> _name_n_tbl_list = name_free ; #line 29 "../../src/del.c"name_free = ( struct name * ) _auto_this ; } ; #line 32 "../../src/del.c"int _type_del ( _auto_this ) register struct type * _auto_this ; #line 33 "../../src/del.c"{ #line 33 "../../src/del.c"_auto_this -> _node_permanent = 3 ; #line 36 "../../src/del.c"switch ( _auto_this -> _node_base ) { #line 36 "../../src/del.c"case 123 : case 85 : errorFI_PC__E ( ( int ) 'i' , #line 36 "../../src/del.c"( char * ) "%d->T.del():N %s %d", _auto_this , ( ( ( struct name * ) ( _auto_this ) #line 36 "../../src/del.c") ) -> _expr__O3.__C3_string , _auto_this -> _node_base ) ; #line 40 "../../src/del.c"case 97 : { #line 41 "../../src/del.c"Pbase _auto_b ; #line 41 "../../src/del.c"_auto_b = ( ( ( struct basetype * ) ( _auto_this ) ) ) ; #line 42 "../../src/del.c"break ; } #line 44 "../../src/del.c"case 108 : { #line 45 "../../src/del.c"Pfct _auto_f ; #line 45 "../../src/del.c"_auto_f = ( ( ( struct fct * ) ( _auto_this ) ) ) ; #line 46 "../../src/del.c"if ( _auto_f -> _fct_returns && ( _auto_f -> _fct_returns -> _node_permanent == 0 ) ) _type_del ( ( struct #line 46 "../../src/del.c"type * ) _auto_f -> _fct_returns ) ; #line 49 "../../src/del.c"break ; } #line 51 "../../src/del.c"case 110 : { #line 52 "../../src/del.c"Pvec _auto_v ; #line 52 "../../src/del.c"_auto_v = ( ( ( struct vec * ) ( _auto_this ) ) ) ; #line 53 "../../src/del.c"if ( _auto_v -> _vec_dim && ( _auto_v -> _vec_dim -> _node_permanent == 0 ) ) _expr_del ( ( struct #line 53 "../../src/del.c"expr * ) _auto_v -> _vec_dim ) ; #line 54 "../../src/del.c"if ( _auto_v -> _vec_typ && ( _auto_v -> _vec_typ -> _node_permanent == 0 ) ) _type_del ( ( struct #line 54 "../../src/del.c"type * ) _auto_v -> _vec_typ ) ; #line 55 "../../src/del.c"break ; } #line 57 "../../src/del.c"case 125 : case 158 : { #line 59 "../../src/del.c"Pptr _auto_p ; #line 59 "../../src/del.c"_auto_p = ( ( ( struct ptr * ) ( _auto_this ) ) ) ; #line 60 "../../src/del.c"if ( _auto_p -> _ptr_typ && ( _auto_p -> _ptr_typ -> _node_permanent == 0 ) ) _type_del ( ( struct #line 60 "../../src/del.c"type * ) _auto_p -> _ptr_typ ) ; #line 61 "../../src/del.c"break ; } } #line 73 "../../src/del.c"_delete ( ( int * ) _auto_this ) ; } ; #line 76 "../../src/del.c"int _expr_del ( _auto_this ) register struct expr * _auto_this ; #line 77 "../../src/del.c"{ #line 77 "../../src/del.c"_auto_this -> _node_permanent = 3 ; #line 80 "../../src/del.c"switch ( _auto_this -> _node_base ) { #line 80 "../../src/del.c"case 150 : if ( _auto_this == ( struct expr * ) #line 80 "../../src/del.c"one ) #line 82 "../../src/del.c"{ #line 82 "../../src/del.c"return ; } #line 83 "../../src/del.c"case 82 : case 83 : case 84 : case 34 : case 81 : case 165 : case #line 83 "../../src/del.c"151 : #line 90 "../../src/del.c"goto dd ; #line 91 "../../src/del.c"case 144 : case 86 : case 85 : { #line 94 "../../src/del.c"return ; } #line 95 "../../src/del.c"case 113 : case 30 : case 23 : case 157 : if ( _auto_this -> _expr__O5.__C5_tp2 && ( #line 95 "../../src/del.c"_auto_this -> _expr__O5.__C5_tp2 -> _node_permanent == 0 ) ) #line 99 "../../src/del.c"_type_del ( ( struct type * ) _auto_this -> _expr__O5.__C5_tp2 ) ; #line 99 "../../src/del.c"#line 100 "../../src/del.c"break ; #line 101 "../../src/del.c"case 44 : case 45 : if ( _auto_this -> _expr__O3.__C3_e1 && ( _auto_this -> _expr__O3.__C3_e1 -> _node_permanent == 0 ) #line 101 "../../src/del.c") #line 103 "../../src/del.c"_expr_del ( ( struct expr * ) _auto_this -> _expr__O3.__C3_e1 ) ; #line 104 "../../src/del.c"if ( _auto_this -> _expr__O5.__C5_mem && ( _auto_this -> _expr__O5.__C5_mem -> _node_permanent == 0 ) ) _name_del ( ( struct #line 104 "../../src/del.c"name * ) _auto_this -> _expr__O5.__C5_mem ) ; #line 105 "../../src/del.c"goto dd ; #line 106 "../../src/del.c"case 68 : if ( _auto_this -> _expr__O5.__C5_cond && ( _auto_this -> _expr__O5.__C5_cond -> _node_permanent == 0 ) ) _expr_del ( #line 106 "../../src/del.c"( struct expr * ) _auto_this -> _expr__O5.__C5_cond ) ; #line 108 "../../src/del.c"break ; #line 109 "../../src/del.c"case 168 : _delete ( ( int * ) _auto_this -> _expr__O5.__C5_il ) ; #line 111 "../../src/del.c"goto dd ; } #line 114 "../../src/del.c"if ( _auto_this -> _expr__O3.__C3_e1 && ( _auto_this -> _expr__O3.__C3_e1 -> _node_permanent == 0 ) ) _expr_del ( ( #line 114 "../../src/del.c"struct expr * ) _auto_this -> _expr__O3.__C3_e1 ) ; #line 115 "../../src/del.c"if ( _auto_this -> _expr__O4.__C4_e2 && ( _auto_this -> _expr__O4.__C4_e2 -> _node_permanent == 0 ) ) _expr_del ( ( struct #line 115 "../../src/del.c"expr * ) _auto_this -> _expr__O4.__C4_e2 ) ; #line 117 "../../src/del.c"dd : _auto_this -> _expr__O3.__C3_e1 = expr_free ; #line 119 "../../src/del.c"expr_free = ( struct expr * ) _auto_this ; #line 120 "../../src/del.c"NFe ++ ; } ; #line 123 "../../src/del.c"int _stmt_del ( _auto_this ) register struct stmt * _auto_this ; #line 124 "../../src/del.c"{ #line 124 "../../src/del.c"_auto_this -> _node_permanent = 3 ; #line 127 "../../src/del.c"switch ( _auto_this -> _node_base ) { #line 127 "../../src/del.c"case 72 : case 39 : case 10 : case 28 : case #line 127 "../../src/del.c"4 : #line 133 "../../src/del.c"case 33 : if ( _auto_this -> _stmt__O8.__C8_e && ( _auto_this -> _stmt__O8.__C8_e -> _node_permanent == 0 ) ) #line 133 "../../src/del.c"#line 134 "../../src/del.c"_expr_del ( ( struct expr * ) _auto_this -> _stmt__O8.__C8_e ) ; #line 135 "../../src/del.c"break ; #line 136 "../../src/del.c"case 166 : if ( _auto_this -> _stmt__O8.__C8_s2 && ( _auto_this -> _stmt__O8.__C8_s2 -> _node_permanent == 0 ) ) _stmt_del ( #line 136 "../../src/del.c"( struct stmt * ) _auto_this -> _stmt__O8.__C8_s2 ) ; #line 138 "../../src/del.c"break ; #line 139 "../../src/del.c"case 116 : if ( _auto_this -> _stmt__O7.__C7_d && ( _auto_this -> _stmt__O7.__C7_d -> _node_permanent == 0 ) ) _name_del ( #line 139 "../../src/del.c"( struct name * ) _auto_this -> _stmt__O7.__C7_d ) ; #line 141 "../../src/del.c"if ( _auto_this -> _stmt_s && ( _auto_this -> _stmt_s -> _node_permanent == 0 ) ) _stmt_del ( ( struct #line 141 "../../src/del.c"stmt * ) _auto_this -> _stmt_s ) ; #line 142 "../../src/del.c"if ( _auto_this -> _stmt__O8.__C8_own_tbl ) if ( _auto_this -> _stmt_memtbl && ( _auto_this -> _stmt_memtbl -> _node_permanent == 0 ) #line 142 "../../src/del.c") #line 142 "../../src/del.c"_table_del ( ( struct table * ) _auto_this -> _stmt_memtbl ) ; #line 143 "../../src/del.c"if ( _auto_this -> _stmt_s_list && ( _auto_this -> _stmt_s_list -> _node_permanent == 0 ) ) _stmt_del ( ( struct #line 143 "../../src/del.c"stmt * ) _auto_this -> _stmt_s_list ) ; #line 144 "../../src/del.c"goto dd ; #line 145 "../../src/del.c"case 16 : if ( _auto_this -> _stmt__O8.__C8_e && ( _auto_this -> _stmt__O8.__C8_e -> _node_permanent == 0 ) ) _expr_del ( #line 145 "../../src/del.c"( struct expr * ) _auto_this -> _stmt__O8.__C8_e ) ; #line 147 "../../src/del.c"if ( _auto_this -> _stmt__O7.__C7_e2 && ( _auto_this -> _stmt__O7.__C7_e2 -> _node_permanent == 0 ) ) _expr_del ( ( struct #line 147 "../../src/del.c"expr * ) _auto_this -> _stmt__O7.__C7_e2 ) ; #line 148 "../../src/del.c"if ( _auto_this -> _stmt__O9.__C9_for_init && ( _auto_this -> _stmt__O9.__C9_for_init -> _node_permanent == 0 ) ) _stmt_del ( ( struct #line 148 "../../src/del.c"stmt * ) _auto_this -> _stmt__O9.__C9_for_init ) ; #line 149 "../../src/del.c"break ; #line 150 "../../src/del.c"case 20 : if ( _auto_this -> _stmt__O8.__C8_e && ( _auto_this -> _stmt__O8.__C8_e -> _node_permanent == 0 ) ) _expr_del ( #line 150 "../../src/del.c"( struct expr * ) _auto_this -> _stmt__O8.__C8_e ) ; #line 152 "../../src/del.c"if ( _auto_this -> _stmt__O9.__C9_else_stmt && ( _auto_this -> _stmt__O9.__C9_else_stmt -> _node_permanent == 0 ) ) _stmt_del ( ( struct #line 152 "../../src/del.c"stmt * ) _auto_this -> _stmt__O9.__C9_else_stmt ) ; #line 153 "../../src/del.c"break ; } #line 156 "../../src/del.c"if ( _auto_this -> _stmt_s && ( _auto_this -> _stmt_s -> _node_permanent == 0 ) ) _stmt_del ( ( #line 156 "../../src/del.c"struct stmt * ) _auto_this -> _stmt_s ) ; #line 157 "../../src/del.c"if ( _auto_this -> _stmt_s_list && ( _auto_this -> _stmt_s_list -> _node_permanent == 0 ) ) _stmt_del ( ( struct #line 157 "../../src/del.c"stmt * ) _auto_this -> _stmt_s_list ) ; #line 158 "../../src/del.c"dd : _auto_this -> _stmt_s_list = stmt_free ; #line 160 "../../src/del.c"stmt_free = ( struct stmt * ) _auto_this ; #line 161 "../../src/del.c"NFs ++ ; } ; #line 164 "../../src/del.c"int _table_del ( _auto_this ) register struct table * _auto_this ; #line 165 "../../src/del.c"{ #line 165 "../../src/del.c"register int _auto_i ; #line 169 "../../src/del.c"for ( _auto_i = 1 ;( _auto_i < _auto_this -> _table_free_slot ) ;( _auto_i ++ ) ) { #line 169 "../../src/del.c"Pname _auto_n ; #line 170 "../../src/del.c"_auto_n = ( _auto_this -> _table_entries [ _auto_i ] ) ; #line 171 "../../src/del.c"if ( _auto_n == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 171 "../../src/del.c""table.del(0)") ; #line 172 "../../src/del.c"if ( _auto_n -> _name_n_stclass == 31 ) continue ; #line 173 "../../src/del.c"switch ( _auto_n -> _name_n_scope ) { #line 173 "../../src/del.c"case 136 : case 139 : break ; #line 177 "../../src/del.c"default : { #line 178 "../../src/del.c"char * _auto_s ; #line 178 "../../src/del.c"_auto_s = _auto_n -> _expr__O3.__C3_string ; #line 179 "../../src/del.c"if ( _auto_s && ( ( ( _auto_s [ 0 ] ) != '_' ) || ( #line 179 "../../src/del.c"( _auto_s [ 1 ] ) != 'X' ) ) ) #line 179 "../../src/del.c"_delete ( ( int * ) _auto_s ) #line 179 "../../src/del.c"; #line 181 "../../src/del.c"_name_del ( ( struct name * ) _auto_n ) ; } } } #line 185 "../../src/del.c"_delete ( ( int * ) _auto_this -> _table_entries ) ; #line 186 "../../src/del.c"_delete ( ( int * ) _auto_this -> _table_hashtbl ) ; #line 187 "../../src/del.c"_delete ( ( int * ) _auto_this ) ; } ; /* the end */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -