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

📄 simpl..c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 5 页
字号:
#line 93 "../../src/simpl.c"_name__dtor ( ( struct name * ) _auto_vn , 1) ; #line 94 "../../src/simpl.c"vec_new_fct -> _expr__O2.__C2_tp = ( struct type * ) _fct__ctor ( ( struct fct * ) 0 , ( #line 94 "../../src/simpl.c"struct type * ) Pvoid_type , ( struct name * ) _auto_al , 1 ) ; #line 95 "../../src/simpl.c"vec_new_fct -> _name_n_scope = 14 ; #line 96 "../../src/simpl.c"vec_new_fct -> _node_permanent = 1 ; #line 97 "../../src/simpl.c"vec_new_fct -> _expr__O2.__C2_tp -> _node_permanent = 1 ; #line 98 "../../src/simpl.c"{ #line 561 "../../src/cfront.h"( ( struct name * ) vec_new_fct ) -> _name_n_used ++ ; } #line 99 "../../src/simpl.c"_name_dcl_print ( ( struct name * ) vec_new_fct , ( int ) 0 ) ; #line 101 "../../src/simpl.c"_auto_a = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 101 "../../src/simpl.c"* ) 0 ) ; #line 102 "../../src/simpl.c"_auto_a -> _expr__O2.__C2_tp = ( struct type * ) int_type ; #line 103 "../../src/simpl.c"_auto_al = _auto_a ; #line 104 "../../src/simpl.c"_auto_a = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 104 "../../src/simpl.c"* ) 0 ) ; #line 105 "../../src/simpl.c"_auto_a -> _expr__O2.__C2_tp = Pvoid_type ; #line 106 "../../src/simpl.c"_auto_a -> _name_n_list = _auto_al ; #line 107 "../../src/simpl.c"_auto_al = _auto_a ; #line 108 "../../src/simpl.c"_auto_a = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 108 "../../src/simpl.c"* ) 0 ) ; #line 109 "../../src/simpl.c"_auto_a -> _expr__O2.__C2_tp = ( struct type * ) int_type ; #line 110 "../../src/simpl.c"_auto_a -> _name_n_list = _auto_al ; #line 111 "../../src/simpl.c"_auto_al = _auto_a ; #line 112 "../../src/simpl.c"_auto_a = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 112 "../../src/simpl.c"* ) 0 ) ; #line 113 "../../src/simpl.c"_auto_a -> _expr__O2.__C2_tp = ( struct type * ) int_type ; #line 114 "../../src/simpl.c"_auto_a -> _name_n_list = _auto_al ; #line 115 "../../src/simpl.c"_auto_al = _auto_a ; #line 116 "../../src/simpl.c"_auto_a = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 116 "../../src/simpl.c"* ) 0 ) ; #line 117 "../../src/simpl.c"_auto_a -> _expr__O2.__C2_tp = Pvoid_type ; #line 118 "../../src/simpl.c"_auto_a -> _name_n_list = _auto_al ; #line 119 "../../src/simpl.c"_auto_al = _auto_a ; #line 121 "../../src/simpl.c"vec_del_fct = _table_insert ( ( struct table * ) gtbl , ( struct name * ) _auto_vd , ( int #line 121 "../../src/simpl.c") 0 ) ; #line 122 "../../src/simpl.c"_name__dtor ( ( struct name * ) _auto_vd , 1) ; #line 123 "../../src/simpl.c"vec_del_fct -> _expr__O2.__C2_tp = ( struct type * ) _fct__ctor ( ( struct fct * ) 0 , ( #line 123 "../../src/simpl.c"struct type * ) void_type , ( struct name * ) _auto_al , 1 ) ; #line 124 "../../src/simpl.c"vec_del_fct -> _name_n_scope = 14 ; #line 125 "../../src/simpl.c"vec_del_fct -> _node_permanent = 1 ; #line 126 "../../src/simpl.c"vec_del_fct -> _expr__O2.__C2_tp -> _node_permanent = 1 ; #line 127 "../../src/simpl.c"{ #line 561 "../../src/cfront.h"( ( struct name * ) vec_del_fct ) -> _name_n_used ++ ; } #line 128 "../../src/simpl.c"_name_dcl_print ( ( struct name * ) vec_del_fct , ( int ) 0 ) ; #line 130 "../../src/simpl.c"one = ( struct expr * ) _expr__ctor ( ( struct expr * ) 0 , 150 , ( #line 130 "../../src/simpl.c"struct expr * ) ( ( ( struct expr * ) ( 1 ) ) ) , #line 130 "../../src/simpl.c"( struct expr * ) 0 ) ; #line 131 "../../src/simpl.c"one -> _expr__O2.__C2_tp = ( struct type * ) int_type ; #line 132 "../../src/simpl.c"one -> _node_permanent = 1 ; } ; #line 135 "../../src/simpl.c"Ptable scope ; #line 136 "../../src/simpl.c"Pname expand_fn ; #line 137 "../../src/simpl.c"Ptable expand_tbl ; #line 139 "../../src/simpl.c"Pname _classdef_has_oper ( _auto_this , _auto_op ) register struct classdef * _auto_this ; int _auto_op ; #line 140 "../../src/simpl.c"{ #line 140 "../../src/simpl.c"Pname _auto__result ; char * _auto_s ; Pname _auto_n ; #line 141 "../../src/simpl.c"_auto_s = oper_name ( _auto_op ) ; #line 143 "../../src/simpl.c"if ( _auto_this == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 143 "../../src/simpl.c""0->has_oper(%s)", _auto_s ) ; #line 144 "../../src/simpl.c"_auto_n = _table_lookc ( ( struct table * ) _auto_this -> _classdef_memtbl , _auto_s , ( int ) 0 ) #line 144 "../../src/simpl.c"; #line 145 "../../src/simpl.c"if ( _auto_n == 0 ) { #line 145 "../../src/simpl.c"{ _auto__result = 0 ; #line 145 "../../src/simpl.c"return _auto__result ; } } #line 146 "../../src/simpl.c"switch ( _auto_n -> _name_n_scope ) { #line 146 "../../src/simpl.c"case 0 : case 25 : { #line 148 "../../src/simpl.c"{ #line 148 "../../src/simpl.c"#line 148 "../../src/simpl.c"_auto__result = _auto_n ; #line 148 "../../src/simpl.c"return _auto__result ; } } #line 149 "../../src/simpl.c"default : { #line 149 "../../src/simpl.c"{ _auto__result = 0 ; #line 149 "../../src/simpl.c"return _auto__result ; } } } } ; #line 153 "../../src/simpl.c"int no_of_returns = 0 ; #line 155 "../../src/simpl.c"int _name_simpl ( _auto_this ) register struct name * _auto_this ; #line 156 "../../src/simpl.c"{ #line 156 "../../src/simpl.c"if ( _auto_this -> _node_base == 25 ) { #line 157 "../../src/simpl.c"return ; } #line 159 "../../src/simpl.c"if ( _auto_this -> _expr__O2.__C2_tp == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char #line 159 "../../src/simpl.c"* ) "%n->name.simple(tp==0)", _auto_this ) ; #line 161 "../../src/simpl.c"switch ( _auto_this -> _expr__O2.__C2_tp -> _node_base ) { #line 161 "../../src/simpl.c"case 0 : errorFI_PC__E ( ( int ) 'i' , #line 161 "../../src/simpl.c"( char * ) "%n->name.simpl(tp->base==0)", _auto_this ) ; #line 165 "../../src/simpl.c"case 76 : { #line 166 "../../src/simpl.c"Plist _auto_gl ; #line 167 "../../src/simpl.c"for ( _auto_gl = ( ( ( struct gen * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) #line 167 "../../src/simpl.c"-> _gen_fct_list ;_auto_gl ;( _auto_gl = _auto_gl -> _name_list_l ) ) #line 167 "../../src/simpl.c"_name_simpl ( ( struct name * ) _auto_gl -> _name_list_f ) ; #line 167 "../../src/simpl.c"#line 168 "../../src/simpl.c"break ; } #line 171 "../../src/simpl.c"case 108 : { #line 172 "../../src/simpl.c"Pfct _auto_f ; Pname _auto_n ; Pname _auto_th ; #line 172 "../../src/simpl.c"_auto_f = ( ( ( struct fct * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) ; #line 174 "../../src/simpl.c"_auto_th = _auto_f -> _fct_f_this ; #line 176 "../../src/simpl.c"if ( _auto_th ) { #line 176 "../../src/simpl.c"_auto_th -> _name_n_list = _auto_f -> _fct_argtype ; #line 178 "../../src/simpl.c"if ( _auto_this -> _name_n_oper == 161 ) _auto_f -> _fct_s_returns = _auto_th -> _expr__O2.__C2_tp ; } #line 181 "../../src/simpl.c"if ( _auto_this -> _expr__O2.__C2_tp -> _type_defined & -2) { #line 181 "../../src/simpl.c"return ; } #line 184 "../../src/simpl.c"for ( _auto_n = ( _auto_th ? _auto_th : _auto_f -> _fct_argtype ) ;_auto_n ;( _auto_n = _auto_n -> _name_n_list ) ) #line 184 "../../src/simpl.c"#line 184 "../../src/simpl.c"_name_simpl ( ( struct name * ) _auto_n ) ; #line 186 "../../src/simpl.c"if ( _auto_f -> _fct_body ) { #line 186 "../../src/simpl.c"Ptable _auto_oscope ; #line 187 "../../src/simpl.c"_auto_oscope = scope ; #line 188 "../../src/simpl.c"scope = _auto_f -> _fct_body -> _stmt_memtbl ; #line 189 "../../src/simpl.c"if ( scope == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 189 "../../src/simpl.c""%n memtbl missing", _auto_this ) ; #line 190 "../../src/simpl.c"curr_fct = ( struct name * ) _auto_this ; #line 191 "../../src/simpl.c"_fct_simpl ( ( struct fct * ) _auto_f ) ; #line 192 "../../src/simpl.c"if ( _auto_f -> _fct_f_inline && ( debug == 0 ) ) { #line 192 "../../src/simpl.c"if ( 8<= _auto_f -> #line 192 "../../src/simpl.c"_fct_nargs ) #line 193 "../../src/simpl.c"{ #line 193 "../../src/simpl.c"errorFI_PC__E ( ( int ) 'w' , ( char * ) "too many arguments for inline%n (inline ignored)", _auto_this ) ; #line 193 "../../src/simpl.c"#line 195 "../../src/simpl.c"_auto_f -> _fct_f_inline = 0 ; #line 196 "../../src/simpl.c"scope = _auto_oscope ; #line 197 "../../src/simpl.c"break ; } #line 199 "../../src/simpl.c"{ #line 199 "../../src/simpl.c"int _auto_i ; #line 199 "../../src/simpl.c"_auto_i = 0 ; #line 200 "../../src/simpl.c"for ( _auto_n = ( _auto_th ? _auto_th : _auto_f -> _fct_argtype ) ;_auto_n ;( _auto_n = _auto_n -> _name_n_list ) ) { #line 200 "../../src/simpl.c"#line 200 "../../src/simpl.c"#line 201 "../../src/simpl.c"_auto_n -> _node_base = 169 ; #line 202 "../../src/simpl.c"_auto_n -> _name_n_val = ( _auto_i ++ ) ; #line 203 "../../src/simpl.c"if ( _auto_n -> _expr__O5.__C5_n_table != scope ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 203 "../../src/simpl.c""%s %d %d\n", _auto_n -> _expr__O3.__C3_string , _auto_n -> _expr__O5.__C5_n_table , scope ) ; } #line 205 "../../src/simpl.c"expand_tbl = ( ( ( _auto_f -> _fct_returns -> _node_base != 38 ) || ( _auto_this -> _name_n_oper == 161 ) #line 205 "../../src/simpl.c") ? scope : ( ( ( struct table * ) ( 0 ) ) ) #line 205 "../../src/simpl.c") ; #line 206 "../../src/simpl.c"expand_fn = ( struct name * ) _auto_this ; #line 207 "../../src/simpl.c"if ( expand_tbl ) { #line 207 "../../src/simpl.c"Pexpr _auto_ee ; #line 209 "../../src/simpl.c"_auto_ee = ( ( ( struct expr * ) ( _stmt_expand ( ( struct stmt * ) _auto_f -> #line 209 "../../src/simpl.c"_fct_body ) ) ) ) ; #line 211 "../../src/simpl.c"_auto_f -> _fct_f_expr = ( ( _auto_ee -> _node_base == 71 ) ? _auto_ee : _expr__ctor ( ( struct expr * ) #line 211 "../../src/simpl.c"0 , 71 , ( struct expr * ) zero , ( struct expr * ) _auto_ee ) ) #line 211 "../../src/simpl.c"; } else #line 214 "../../src/simpl.c"{ #line 214 "../../src/simpl.c"_auto_f -> _fct_f_expr = 0 ; #line 216 "../../src/simpl.c"_auto_f -> _fct_body = ( ( ( struct block * ) ( _stmt_expand ( ( struct stmt * ) #line 216 "../../src/simpl.c"_auto_f -> _fct_body ) ) ) ) ; } #line 218 "../../src/simpl.c"expand_fn = 0 ; #line 219 "../../src/simpl.c"expand_tbl = 0 ; } } #line 221 "../../src/simpl.c"scope = _auto_oscope ; } #line 223 "../../src/simpl.c"break ; } #line 226 "../../src/simpl.c"case 6 : _classdef_simpl ( ( struct classdef * ) ( ( ( struct classdef * ) #line 226 "../../src/simpl.c"( _auto_this -> _expr__O2.__C2_tp ) ) ) ) ; #line 228 "../../src/simpl.c"break ; #line 234 "../../src/simpl.c"default : break ; } #line 239 "../../src/simpl.c"if ( _auto_this -> _expr__O4.__C4_n_initializer ) _expr_simpl ( ( struct expr * ) _auto_this -> _expr__O4.__C4_n_initializer ) ; #line 240 "../../src/simpl.c"_auto_this -> _expr__O2.__C2_tp -> _type_defined |= 02 ; } ; #line 243 "../../src/simpl.c"int _fct_simpl ( _auto_this ) register struct fct * _auto_this ; #line 265 "../../src/simpl.c"{ #line 265 "../../src/simpl.c"Pexpr _auto_th ; Ptable _auto_tbl ; Pstmt _auto_ss ; Pstmt _auto_tail ; Pname _auto_cln ; Pclass _auto_cl ; Pstmt _auto_dtail ; int _auto_ass_count ; #line 266 "../../src/simpl.c"_auto_th = ( struct expr * ) _auto_this -> _fct_f_this ; #line 267 "../../src/simpl.c"_auto_tbl = _auto_this -> _fct_body -> _stmt_memtbl ; #line 268 "../../src/simpl.c"_auto_ss = 0 ; #line 272 "../../src/simpl.c"_auto_dtail = 0 ; #line 274 "../../src/simpl.c"not_inl = ( debug || ( _auto_this -> _fct_f_inline == 0 ) ) ; #line 275 "../../src/simpl.c"ret_var = _table_look ( ( struct table * ) _auto_tbl , ( char * ) "_result", ( int #line 275 "../../src/simpl.c") 0 ) ; #line 276 "../../src/simpl.c"if ( ret_var && ( not_inl == 0 ) ) ret_var -> _name_n_used = ( ret_var -> _name_n_assigned_to = ( #line 276 "../../src/simpl.c"ret_var -> _name_n_addr_taken = 0 ) ) ; #line 278 "../../src/simpl.c"del_list = 0 ; #line 279 "../../src/simpl.c"block_del_list = 0 ; #line 280 "../../src/simpl.c"scope = _auto_tbl ; #line 281 "../../src/simpl.c"if ( scope == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 281 "../../src/simpl.c""fct.simpl()") ; #line 283 "../../src/simpl.c"if ( _auto_th ) { #line 283 "../../src/simpl.c"Pptr _auto_p ; #line 284 "../../src/simpl.c"_auto_p = ( ( ( struct ptr * ) ( _auto_th -> _expr__O2.__C2_tp ) ) ) ; #line 285 "../../src/simpl.c"_auto_cln = ( ( ( struct basetype * ) ( _auto_p -> _ptr_typ ) ) ) -> _basetype_b_name ; #line 285 "../../src/simpl.c"#line 286 "../../src/simpl.c"_auto_cl = ( ( ( struct classdef * ) ( _auto_cln -> _expr__O2.__C2_tp ) ) ) ; } #line 289 "../../src/simpl.c"if ( curr_fct -> _name_n_oper == 162 ) { #line 289 "../../src/simpl.c"Pexpr _auto_ee ; Pstmt _auto_es ; struct ifstmt * _auto_ifs ; Pname _auto_bcln ; Pclass _auto_bcl ; Pname _auto_d ; Pname _auto_fa ; Pname _auto_free_arg ; Ptable _auto_tbl ; int _auto_i ; Pname _auto_m ; struct ifstmt * _auto__Xthis__ctor_ifstmt ; #line 293 "../../src/simpl.c"_auto_bcln = _auto_cl -> _classdef_clbase ; #line 297 "../../src/simpl.c"_auto_fa = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 297 "../../src/simpl.c"* ) "_free") ; #line 298 "../../src/simpl.c"_auto_fa -> _expr__O2.__C2_tp = ( struct type * ) int_type ; #line 299 "../../src/simpl.c"_auto_free_arg = _name_dcl ( ( struct name * ) _auto_fa , ( struct table * ) _auto_this -> _fct_body -> _stmt_memtbl , #line 299 "../../src/simpl.c"136 ) ; #line 300 "../../src/simpl.c"_name__dtor ( ( struct name * ) _auto_fa , 1) ; #line 301 "../../src/simpl.c"_auto_this -> _fct_f_this -> _name_n_list = _auto_free_arg ; #line 303 "../../src/simpl.c"_auto_tbl = _auto_cl -> _classdef_memtbl ; #line 303 "../../src/simpl.c"

⌨️ 快捷键说明

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