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

📄 print..c

📁 CFront1.0的源代码,第一代C++编译器的思想...
💻 C
📖 第 1 页 / 共 5 页
字号:
#line 254 "../../src/print.c"{ #line 254 "../../src/print.c"if ( print_mode != 3 ) puttok ( 75 ) ; else #line 258 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%s ", "/* inline */") ; #line 258 "../../src/print.c"#line 259 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; } } else #line 262 "../../src/print.c"{ #line 262 "../../src/print.c"if ( ( _auto_n -> _expr__O5.__C5_n_table == gtbl ) && ( strcmp ( _auto_n -> #line 262 "../../src/print.c"_expr__O3.__C3_string , ( char * ) "main") == 0 ) ) #line 263 "../../src/print.c"{ #line 263 "../../src/print.c"MAIN = 1 ; #line 265 "../../src/print.c"{ #line 418 "../../src/print.c"_auto__Xthis_use_name = ( struct name * ) _table_look ( ( struct table * ) gtbl , ( char #line 418 "../../src/print.c"* ) "main", ( int ) 0 ) ; #line 561 "../../src/cfront.h"{ #line 561 "../../src/cfront.h"_auto__Xthis_use_name -> _name_n_used ++ ; } } #line 266 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 266 "../../src/print.c"#line 267 "../../src/print.c"MAIN = 0 ; } else #line 270 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 270 "../../src/print.c"} #line 272 "../../src/print.c"break ; } #line 275 "../../src/print.c"case 76 : { #line 276 "../../src/print.c"Pgen _auto_g ; Plist _auto_gl ; #line 276 "../../src/print.c"_auto_g = ( ( ( struct gen * ) ( _auto_t ) ) ) ; #line 278 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "\t/* overload %s: */\n", _auto_g -> _gen_string ) ; #line 278 "../../src/print.c"#line 279 "../../src/print.c"for ( _auto_gl = _auto_g -> _gen_fct_list ;_auto_gl ;( _auto_gl = _auto_gl -> _name_list_l ) ) { #line 279 "../../src/print.c"Pname _auto_nn ; #line 280 "../../src/print.c"_auto_nn = _auto_gl -> _name_list_f ; #line 281 "../../src/print.c"_name_dcl_print ( ( struct name * ) _auto_nn , ( int ) 0 ) ; #line 282 "../../src/print.c"_auto_sm = 1 ; } #line 284 "../../src/print.c"break ; } #line 287 "../../src/print.c"case 1 : fprintf ( ( struct _iobuf * ) out_file , ( char * ) "asm(\"%s\")\n", #line 287 "../../src/print.c"( ( char * ) ( ( ( ( struct basetype * ) ( _auto_t ) #line 287 "../../src/print.c") ) -> _basetype_b_name ) ) ) ; #line 289 "../../src/print.c"break ; #line 291 "../../src/print.c"case 21 : case 5 : case 22 : case 29 : if ( ( ( ( print_mode == #line 291 "../../src/print.c"3 ) && ( ( ( struct basetype * ) ( _auto_t ) ) ) -> _basetype_b_const ) #line 291 "../../src/print.c"&& ( _auto_n -> _name_n_sto != 14 ) ) && ( ( ( _auto_n -> _name_n_scope == 14 ) || #line 291 "../../src/print.c"( _auto_n -> _name_n_scope == 31 ) ) || ( _auto_n -> _name_n_scope == 108 ) ) ) #line 305 "../../src/print.c"{ #line 305 "../../src/print.c"if #line 305 "../../src/print.c"( _auto_n -> _name_n_evaluated ) #line 307 "../../src/print.c"{ #line 307 "../../src/print.c"_auto_sm = 1 ; #line 309 "../../src/print.c"break ; } } #line 313 "../../src/print.c"default : { #line 314 "../../src/print.c"Pexpr _auto_i ; #line 314 "../../src/print.c"_auto_i = _auto_n -> _expr__O4.__C4_n_initializer ; #line 315 "../../src/print.c"if ( _auto_n -> _node_base == 123 ) puttok ( 35 ) ; #line 317 "../../src/print.c"if ( _auto_i ) { #line 317 "../../src/print.c"if ( ( _auto_n -> _name_n_sto == 14 ) && ( _auto_n -> _name_n_stclass == #line 317 "../../src/print.c"31 ) ) #line 318 "../../src/print.c"{ #line 318 "../../src/print.c"_auto_n -> _expr__O4.__C4_n_initializer = 0 ; #line 320 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 321 "../../src/print.c"puttok ( 72 ) ; #line 322 "../../src/print.c"_auto_n -> _expr__O4.__C4_n_initializer = _auto_i ; #line 323 "../../src/print.c"_auto_n -> _name_n_sto = 0 ; #line 324 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 325 "../../src/print.c"_auto_n -> _name_n_sto = 14 ; } else #line 328 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 328 "../../src/print.c"} else #line 330 "../../src/print.c"{ #line 330 "../../src/print.c"if ( ( ( ( fct_void == 0 ) && ( _auto_n -> #line 330 "../../src/print.c"_name_n_sto == 0 ) ) && ( _auto_this -> _name_n_stclass == 31 ) ) && ( _auto_n -> _expr__O5.__C5_n_table == #line 330 "../../src/print.c"gtbl ) ) #line 334 "../../src/print.c"{ #line 334 "../../src/print.c"switch ( _auto_t -> _node_base ) { #line 335 "../../src/print.c"case 5 : case 29 : case 21 : #line 335 "../../src/print.c"#line 339 "../../src/print.c"case 22 : case 15 : case 11 : case 121 : case 125 : _auto_n -> _expr__O4.__C4_n_initializer = ( _auto_i = #line 339 "../../src/print.c"zero ) ; } } #line 348 "../../src/print.c"_type_dcl_print ( ( struct type * ) _auto_t , ( struct name * ) _auto_n ) ; #line 348 "../../src/print.c"} #line 351 "../../src/print.c"if ( _auto_n -> _name_n_scope != 136 ) { #line 351 "../../src/print.c"if ( _auto_i ) { #line 352 "../../src/print.c"puttok ( 70 ) ; #line 352 "../../src/print.c"#line 354 "../../src/print.c"if ( ( ( _auto_t != _auto_i -> _expr__O2.__C2_tp ) && ( _auto_i -> _node_base != 86 ) ) && #line 354 "../../src/print.c"( _auto_i -> _node_base != 124 ) ) #line 356 "../../src/print.c"{ #line 356 "../../src/print.c"Ptype _auto_t1 ; #line 357 "../../src/print.c"_auto_t1 = _auto_n -> _expr__O2.__C2_tp ; #line 358 "../../src/print.c"cmp : switch ( _auto_t1 -> _node_base ) { #line 360 "../../src/print.c"default : _expr_print ( ( struct expr * ) _auto_i ) #line 360 "../../src/print.c"; #line 363 "../../src/print.c"break ; #line 364 "../../src/print.c"case 97 : _auto_t1 = ( ( ( struct basetype * ) ( _auto_t1 ) ) ) -> #line 364 "../../src/print.c"_basetype_b_name -> _expr__O2.__C2_tp ; #line 366 "../../src/print.c"goto cmp ; #line 367 "../../src/print.c"case 110 : if ( ( ( ( struct vec * ) ( _auto_t1 ) ) ) #line 367 "../../src/print.c"-> _vec_typ -> _node_base == 5 ) #line 368 "../../src/print.c"{ #line 368 "../../src/print.c"_expr_print ( ( struct expr * ) _auto_i ) ; #line 370 "../../src/print.c"break ; } #line 372 "../../src/print.c"case 125 : case 158 : puttok ( 40 ) ; #line 375 "../../src/print.c"{ #line 375 "../../src/print.c"bit _auto_oc ; #line 375 "../../src/print.c"_auto_oc = Cast ; #line 376 "../../src/print.c"Cast = 1 ; #line 377 "../../src/print.c"_type_print ( ( struct type * ) _auto_t ) ; #line 378 "../../src/print.c"Cast = _auto_oc ; } #line 380 "../../src/print.c"puttok ( 41 ) ; #line 381 "../../src/print.c"if ( _auto_i ) Eprint ( ( struct expr * ) _auto_i ) ; } } else #line 385 "../../src/print.c"_expr_print ( ( struct expr * ) _auto_i ) ; } else #line 387 "../../src/print.c"if ( _auto_n -> _name_n_evaluated ) { #line 387 "../../src/print.c"puttok ( 70 ) ; #line 389 "../../src/print.c"if ( _auto_n -> _expr__O2.__C2_tp -> _node_base != 21 ) { #line 389 "../../src/print.c"puttok ( 40 ) ; #line 391 "../../src/print.c"puttok ( 40 ) ; #line 392 "../../src/print.c"{ #line 392 "../../src/print.c"bit _auto_oc ; #line 392 "../../src/print.c"_auto_oc = Cast ; #line 393 "../../src/print.c"Cast = 1 ; #line 394 "../../src/print.c"_type_print ( ( struct type * ) _auto_n -> _expr__O2.__C2_tp ) ; #line 395 "../../src/print.c"Cast = _auto_oc ; } #line 397 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) ")%d)", _auto_n -> _name_n_val ) #line 397 "../../src/print.c"; } else #line 400 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%d", _auto_n -> #line 400 "../../src/print.c"_name_n_val ) ; } } } } #line 406 "../../src/print.c"switch ( _auto_list ) { #line 406 "../../src/print.c"case 72 : if ( _auto_sm == 0 #line 406 "../../src/print.c") #line 408 "../../src/print.c"puttok ( 72 ) ; #line 409 "../../src/print.c"break ; #line 410 "../../src/print.c"case 0 : if ( _auto_sm == 0 ) puttok ( 72 ) ; #line 412 "../../src/print.c"{ #line 412 "../../src/print.c"return ; } #line 413 "../../src/print.c"case 71 : if ( _auto_n -> _name_n_list ) puttok ( 71 ) ; #line 415 "../../src/print.c"break ; } } } ; #line 420 "../../src/print.c"int _name_print ( _auto_this ) register struct name * _auto_this ; #line 424 "../../src/print.c"{ #line 424 "../../src/print.c"if ( _auto_this == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * #line 424 "../../src/print.c") "0->name.print()") ; #line 427 "../../src/print.c"if ( _auto_this -> _expr__O3.__C3_string == 0 ) { #line 427 "../../src/print.c"if ( print_mode == 4 ) fprintf ( ( struct #line 427 "../../src/print.c"_iobuf * ) out_file , ( char * ) "%s ", " ?") ; #line 429 "../../src/print.c"{ #line 429 "../../src/print.c"return ; } } #line 432 "../../src/print.c"switch ( _auto_this -> _node_base ) { #line 432 "../../src/print.c"default : errorFI_PC__E ( ( int ) 'i' , #line 432 "../../src/print.c"( char * ) "%d->name.print() base=%d", _auto_this , _auto_this -> _node_base ) ; #line 435 "../../src/print.c"case 123 : fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%s ", _auto_this -> #line 435 "../../src/print.c"_expr__O3.__C3_string ) ; #line 437 "../../src/print.c"{ #line 437 "../../src/print.c"return ; } #line 438 "../../src/print.c"case 85 : case 169 : break ; } #line 443 "../../src/print.c"switch ( print_mode ) { #line 443 "../../src/print.c"case 3 : { #line 445 "../../src/print.c"Ptable _auto_tbl ; int _auto_i ; #line 446 "../../src/print.c"_auto_i = _auto_this -> _name_n_union ; #line 447 "../../src/print.c"if ( _auto_this -> _expr__O2.__C2_tp ) { #line 447 "../../src/print.c"switch ( _auto_this -> _expr__O2.__C2_tp -> _node_base ) { #line 448 "../../src/print.c"default : if #line 448 "../../src/print.c"( _auto_tbl = _auto_this -> _expr__O5.__C5_n_table ) #line 450 "../../src/print.c"{ #line 450 "../../src/print.c"Pname _auto_tn ; #line 453 "../../src/print.c"if ( _auto_tbl == gtbl ) break ; #line 454 "../../src/print.c"if ( _auto_tn = _auto_tbl -> _table_t_name ) { #line 454 "../../src/print.c"if ( _auto_i ) fprintf ( ( struct _iobuf * ) #line 454 "../../src/print.c"out_file , ( char * ) "_%s__O%d.__C%d_", _auto_tn -> _expr__O3.__C3_string , _auto_i , _auto_i ) ; else #line 458 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "_%s_", _auto_tn -> _expr__O3.__C3_string ) #line 458 "../../src/print.c"; #line 459 "../../src/print.c"break ; } } #line 463 "../../src/print.c"switch ( _auto_this -> _name_n_stclass ) { #line 463 "../../src/print.c"case 31 : case 14 : if ( _auto_i ) #line 463 "../../src/print.c"#line 467 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "_O%d.__C%d_", _auto_i , _auto_i ) ; #line 467 "../../src/print.c"else #line 468 "../../src/print.c"if ( ( _auto_this -> _name_n_sto == 31 ) && ( _auto_this -> _expr__O2.__C2_tp -> _node_base != 108 ) ) #line 468 "../../src/print.c"#line 469 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "_static_") ; #line 470 "../../src/print.c"break ; #line 471 "../../src/print.c"default : if ( _auto_i ) fprintf ( ( struct _iobuf * ) out_file , ( char * #line 471 "../../src/print.c") "_auto__O%d.__C%d_", _auto_i , _auto_i ) ; else #line 475 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "_auto_") ; } #line 477 "../../src/print.c"break ; #line 478 "../../src/print.c"case 6 : case 13 : break ; } } #line 483 "../../src/print.c"break ; } #line 485 "../../src/print.c"case 4 : { #line 486 "../../src/print.c"Ptable _auto_tbl ; char * _auto_cs ; bit _auto_f ; #line 487 "../../src/print.c"_auto_cs = 0 ; #line 488 "../../src/print.c"_auto_f = 0 ; #line 489 "../../src/print.c"if ( _auto_this -> _expr__O2.__C2_tp ) { #line 489 "../../src/print.c"switch ( _auto_this -> _expr__O2.__C2_tp -> _node_base ) { #line 490 "../../src/print.c"case 76 : case #line 490 "../../src/print.c"108 : #line 493 "../../src/print.c"_auto_f = 1 ; #line 494 "../../src/print.c"default : if ( _auto_tbl = _auto_this -> _expr__O5.__C5_n_table ) { #line 495 "../../src/print.c"if ( _auto_tbl == gtbl ) { #line 496 "../../src/print.c"if #line 496 "../../src/print.c"( _auto_f == 0 ) #line 497 "../../src/print.c"fputs ( ( char * ) "::", ( struct _iobuf * ) #line 497 "../../src/print.c"out_file ) ; } else #line 499 "../../src/print.c"{ #line 499 "../../src/print.c"if ( _auto_tbl -> _table_t_name ) { #line 500 "../../src/print.c"_auto_cs = _auto_tbl -> _table_t_name -> _expr__O3.__C3_string ; #line 502 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%s::", _auto_cs ) ; } } } #line 506 "../../src/print.c"if ( ( ( _auto_this -> _name_n_sto == 27 ) && ( _auto_this -> _name_n_scope == #line 506 "../../src/print.c"136 ) ) && ( strcmp ( _auto_this -> _expr__O3.__C3_string , ( char * ) "this") == 0 #line 506 "../../src/print.c") ) #line 508 "../../src/print.c"{ #line 508 "../../src/print.c"Ptype _auto_tt ; Pname _auto_cn ; #line 509 "../../src/print.c"_auto_tt = ( ( ( struct ptr * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) -> _ptr_typ ; #line 509 "../../src/print.c"#line 510 "../../src/print.c"_auto_cn = ( ( ( struct basetype * ) ( _auto_tt ) ) ) -> _basetype_b_name ; #line 511 "../../src/print.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "%s::", _auto_cn -> _expr__O3.__C3_string ) ; #line 511 "../../src/print.c"} #line 513 "../../src/print.c"break ; #line 514 "../../src/print.c"case 6 : case 13 : break ; } #line 520 "../../src/print.c"switch ( _auto_this -> _name_n_oper ) { #line 520 "../../src/print.c"case 97 : fputs ( ( char * ) "operator ", #line 520 "../../src/print.c"( struct _iobuf * ) out_file ) ; #line 523 "../../src/print.c"_type_dcl_print ( ( struct type * ) ( ( ( struct fct * ) ( _auto_this -> _expr__O2.__C2_tp ) #line 523 "../../src/print.c") ) -> _fct_returns , ( struct name * ) 0 ) ; #line 524 "../../src/print.c"break ; #line 525 "../../src/print.c"case 0 : fputs ( ( char * ) _auto_this -> _expr__O3.__C3_string , ( struct _iobuf * ) #line 525 "../../src/print.c"out_file ) ; #line 527 "../../src/print.c"break ; #line 528 "../../src/print.c"case 162 : puttok ( 47 ) ; #line 530 "../../src/print.c"case 161 : if ( _auto_cs ) fputs ( ( char * ) _auto_cs , ( struct _iobuf * #line 530 "../../src/print.c") out_file ) ; else #line 533 "../../src/print.c"{ #line 533 "../../src/print.c"fputs ( ( char * ) "constructor", ( struct _iobuf * ) out_file ) ; #line 533 "../../src/print.c"#line 535 "../../src/print.c"_auto_f = 0 ; } 

⌨️ 快捷键说明

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