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

📄 print..c

📁 CFront1.0的源代码,第一代C++编译器的思想...
💻 C
📖 第 1 页 / 共 5 页
字号:
#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/print.c"extern struct _iobuf * out_file ; #line 26 "../../src/print.c"bit print_mode = 0 ; #line 27 "../../src/print.c"extern int ntok ; #line 28 "../../src/print.c"int ntok = 0 ; #line 29 "../../src/print.c"int forced_sm = 0 ; #line 30 "../../src/print.c"bit Cast = 0 ; #line 31 "../../src/print.c"Pin curr_icall ; #line 33 "../../src/print.c"int MAIN = 0 ; #line 35 "../../src/print.c"int puttok ( _auto_t ) int _auto_t ; #line 39 "../../src/print.c"{ #line 39 "../../src/print.c"char * _auto_s ; #line 41 "../../src/print.c"if ( ( _auto_t <= 0 ) || ( 256 <= _auto_t ) ) errorFPC__E ( ( char #line 41 "../../src/print.c"* ) "illegal token %d", _auto_t ) ; #line 42 "../../src/print.c"_auto_s = ( keys [ _auto_t ] ) ; #line 43 "../../src/print.c"if ( _auto_s == 0 ) errorFPC__E ( ( char * ) "V representation token %d", _auto_t ) ; #line 44 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%s ", _auto_s ) ; #line 45 "../../src/print.c"if ( 12 < ( ntok ++ ) ) { #line 45 "../../src/print.c"forced_sm = 1 ; #line 47 "../../src/print.c"ntok = 0 ; #line 49 "../../src/print.c"_loc_putline ( ( struct loc * ) ( & last_line ) ) ; } else #line 51 "../../src/print.c"if ( _auto_t == 72 ) { #line 51 "../../src/print.c"forced_sm = 1 ; #line 53 "../../src/print.c"ntok = 0 ; #line 54 "../../src/print.c"( ( -- out_file -> __iobuf__cnt ) >= 0 ) ? ( ( ( int ) #line 54 "../../src/print.c"( ( * ( out_file -> __iobuf__ptr ++ ) ) = 10) ) ) : _flsbuf ( #line 54 "../../src/print.c"10, ( struct _iobuf * ) out_file ) ; #line 55 "../../src/print.c"last_line . _loc_line ++ ; } } ; #line 61 "../../src/print.c"struct dcl_buf { /* sizeof = 176 */Pbase _dcl_buf_b ; Pname _dcl_buf_n ; TOK _dcl_buf_left [ 20] ; TOK _dcl_buf_right [ 20] ; Pnode _dcl_buf_rnode [ 20] ; int _dcl_buf_li ; int _dcl_buf_ri ; } ; int _dcl_buf_put ( ) ; #line 86 "../../src/print.c"struct dcl_buf * tbufvec [ 10] = { 0 } ; #line 86 "../../src/print.c"struct dcl_buf * tbuf = 0 ; #line 88 "../../src/print.c"int freetbuf = 0 ; #line 90 "../../src/print.c"int _dcl_buf_put ( _auto_this ) register struct dcl_buf * _auto_this ; #line 91 "../../src/print.c"{ #line 91 "../../src/print.c"int _auto_i ; #line 94 "../../src/print.c"if ( ( 20 <= _auto_this -> _dcl_buf_li ) || ( 20 <= _auto_this -> _dcl_buf_ri ) ) errorFI_PC__E ( ( #line 94 "../../src/print.c"int ) 'i' , ( char * ) "T buffer overflow") ; #line 95 "../../src/print.c"if ( _auto_this -> _dcl_buf_b == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * #line 95 "../../src/print.c") "noBT%s", Cast ? " in cast": "") ; #line 97 "../../src/print.c"if ( _auto_this -> _dcl_buf_n && _auto_this -> _dcl_buf_n -> _name_n_sto ) puttok ( ( int ) _auto_this -> _dcl_buf_n -> _name_n_sto ) #line 97 "../../src/print.c"; #line 99 "../../src/print.c"_basetype_dcl_print ( ( struct basetype * ) _auto_this -> _dcl_buf_b ) ; #line 101 "../../src/print.c"for ( ;_auto_this -> _dcl_buf_li ;( _auto_this -> _dcl_buf_li -- ) ) switch ( _auto_this -> _dcl_buf_left [ _auto_this -> _dcl_buf_li ] #line 101 "../../src/print.c") #line 102 "../../src/print.c"{ #line 102 "../../src/print.c"case 40 : puttok ( 40 ) ; #line 105 "../../src/print.c"break ; #line 106 "../../src/print.c"case 163 : puttok ( 50 ) ; #line 108 "../../src/print.c"if ( print_mode != 3 ) puttok ( 26 ) ; #line 109 "../../src/print.c"break ; #line 110 "../../src/print.c"case 164 : if ( print_mode == 3 ) puttok ( 50 ) ; else #line 114 "../../src/print.c"puttok ( 112 ) ; #line 115 "../../src/print.c"if ( print_mode != 3 ) puttok ( 26 ) ; #line 116 "../../src/print.c"break ; #line 117 "../../src/print.c"case 125 : puttok ( 50 ) ; #line 119 "../../src/print.c"break ; #line 120 "../../src/print.c"case 158 : if ( print_mode == 3 ) puttok ( 50 ) ; else #line 124 "../../src/print.c"puttok ( 112 ) ; } #line 127 "../../src/print.c"if ( _auto_this -> _dcl_buf_n ) _name_print ( ( struct name * ) _auto_this -> _dcl_buf_n ) ; #line 129 "../../src/print.c"for ( _auto_i = 1 ;( _auto_i <= _auto_this -> _dcl_buf_ri ) ;( _auto_i ++ ) ) switch ( _auto_this -> #line 129 "../../src/print.c"_dcl_buf_right [ _auto_i ] ) #line 130 "../../src/print.c"{ #line 130 "../../src/print.c"case 41 : puttok ( 41 ) ; #line 133 "../../src/print.c"break ; #line 134 "../../src/print.c"case 110 : puttok ( 42 ) ; #line 136 "../../src/print.c"{ #line 136 "../../src/print.c"Pvec _auto_v ; Pexpr _auto_d ; int _auto_s ; #line 136 "../../src/print.c"_auto_v = ( ( ( struct vec * ) ( _auto_this -> _dcl_buf_rnode [ _auto_i ] ) ) ) #line 136 "../../src/print.c"; #line 137 "../../src/print.c"_auto_d = _auto_v -> _vec_dim ; #line 138 "../../src/print.c"_auto_s = _auto_v -> _vec_size ; #line 139 "../../src/print.c"if ( _auto_d ) _expr_print ( ( struct expr * ) _auto_d ) ; #line 140 "../../src/print.c"if ( _auto_s ) fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%d", #line 140 "../../src/print.c"_auto_s ) ; } #line 142 "../../src/print.c"puttok ( 43 ) ; #line 143 "../../src/print.c"break ; #line 144 "../../src/print.c"case 108 : { #line 145 "../../src/print.c"Pfct _auto_f ; #line 145 "../../src/print.c"_auto_f = ( ( ( struct fct * ) ( _auto_this -> _dcl_buf_rnode [ _auto_i ] ) ) ) #line 145 "../../src/print.c"; #line 146 "../../src/print.c"_fct_dcl_print ( ( struct fct * ) _auto_f ) ; } #line 148 "../../src/print.c"break ; #line 149 "../../src/print.c"case 114 : { #line 150 "../../src/print.c"Pbase _auto_f ; Pexpr _auto_d ; int _auto_s ; #line 150 "../../src/print.c"_auto_f = ( ( ( struct basetype * ) ( _auto_this -> _dcl_buf_rnode [ _auto_i ] ) ) ) #line 150 "../../src/print.c"; #line 151 "../../src/print.c"_auto_d = ( ( ( struct expr * ) ( _auto_f -> _basetype_b_name ) ) ) ; #line 152 "../../src/print.c"_auto_s = _auto_f -> _basetype_b_bits ; #line 153 "../../src/print.c"puttok ( 69 ) ; #line 154 "../../src/print.c"if ( _auto_d ) _expr_print ( ( struct expr * ) _auto_d ) ; #line 155 "../../src/print.c"if ( _auto_s ) fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%d", #line 155 "../../src/print.c"_auto_s ) ; } #line 157 "../../src/print.c"break ; } } ; #line 163 "../../src/print.c"int Eprint ( _auto_e ) struct expr * _auto_e ; #line 164 "../../src/print.c"{ #line 164 "../../src/print.c"switch ( _auto_e -> _node_base ) { #line 165 "../../src/print.c"case 144 : break ; #line 168 "../../src/print.c"case 85 : case 80 : case 86 : case 82 : case 84 : case 83 : case 81 : #line 168 "../../src/print.c"#line 175 "../../src/print.c"case 150 : case 165 : case 71 : case 140 : case 69 : case 124 : case 45 : #line 175 "../../src/print.c"#line 182 "../../src/print.c"case 44 : case 34 : case 109 : case 146 : case 168 : case 169 : _expr_print ( ( #line 182 "../../src/print.c"struct expr * ) _auto_e ) ; #line 189 "../../src/print.c"break ; #line 190 "../../src/print.c"default : puttok ( 40 ) ; #line 192 "../../src/print.c"_expr_print ( ( struct expr * ) _auto_e ) ; #line 193 "../../src/print.c"puttok ( 41 ) ; #line 194 "../../src/print.c"break ; } } ; #line 198 "../../src/print.c"int _name_dcl_print ( _auto_this , _auto_list ) register struct name * _auto_this ; int _auto_list ; #line 211 "../../src/print.c"{ #line 211 "../../src/print.c"Pname _auto_n ; #line 214 "../../src/print.c"if ( _auto_this == 0 ) errorFPC__E ( ( char * ) "0->name.dcl_print()") ; #line 216 "../../src/print.c"for ( _auto_n = ( struct name * ) _auto_this ;_auto_n ;( _auto_n = _auto_n -> _name_n_list ) ) { #line 216 "../../src/print.c"Ptype _auto_t ; #line 216 "../../src/print.c"int _auto_sm ; #line 217 "../../src/print.c"_auto_t = _auto_n -> _expr__O2.__C2_tp ; #line 218 "../../src/print.c"_auto_sm = 0 ; #line 220 "../../src/print.c"if ( _auto_t == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 220 "../../src/print.c""name.dcl_print(%n)T missing", _auto_n ) ; #line 221 "../../src/print.c"if ( ( print_mode == 3 ) && ( _auto_n -> _name_n_stclass == 13 ) ) continue ; #line 223 "../../src/print.c"if ( _auto_n -> _name_n_stclass == 31 ) _loc_putline ( ( struct loc * ) ( & _auto_n -> _name_where ) #line 223 "../../src/print.c") ; #line 225 "../../src/print.c"switch ( _auto_t -> _node_base ) { #line 225 "../../src/print.c"case 6 : { #line 227 "../../src/print.c"Pclass _auto_cl ; #line 227 "../../src/print.c"_auto_cl = ( ( ( struct classdef * ) ( _auto_t ) ) ) ; #line 228 "../../src/print.c"if ( _auto_n -> _node_base == 123 ) break ; #line 229 "../../src/print.c"_classdef_dcl_print ( ( struct classdef * ) _auto_cl , ( struct name * ) _auto_n ) ; #line 230 "../../src/print.c"_auto_sm = 1 ; #line 231 "../../src/print.c"break ; } #line 234 "../../src/print.c"case 13 : _enumdef_dcl_print ( ( struct enumdef * ) ( ( ( struct enumdef * ) #line 234 "../../src/print.c"( _auto_t ) ) ) , ( struct name * ) _auto_n ) ; #line 236 "../../src/print.c"_auto_sm = 1 ; #line 237 "../../src/print.c"break ; #line 239 "../../src/print.c"case 108 : { #line 240 "../../src/print.c"Pfct _auto_f ; struct name * _auto__Xthis_use_name ; #line 240 "../../src/print.c"_auto_f = ( ( ( struct fct * ) ( _auto_t ) ) ) ; #line 241 "../../src/print.c"if ( _auto_n -> _node_base == 123 ) puttok ( 35 ) ; #line 242 "../../src/print.c"if ( ( debug == 0 ) && _auto_f -> _fct_f_inline ) { #line 242 "../../src/print.c"if ( print_mode == 3 ) #line 242 "../../src/print.c"#line 243 "../../src/print.c"{ #line 243 "../../src/print.c"if ( _auto_f -> _fct_f_virtual || _auto_n -> _name_n_addr_taken ) { #line 244 "../../src/print.c"TOK _auto_st ; Pblock _auto_b ; #line 245 "../../src/print.c"_auto_st = _auto_n -> _name_n_sto ; #line 246 "../../src/print.c"_auto_b = _auto_f -> _fct_body ; #line 247 "../../src/print.c"_auto_f -> _fct_body = 0 ; #line 249 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 250 "../../src/print.c"_auto_n -> _name_n_sto = _auto_st ; #line 251 "../../src/print.c"_auto_f -> _fct_body = _auto_b ; } } else 

⌨️ 快捷键说明

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