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

📄 dcl2..c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 5 页
字号:
Pexpr _elist_head ; Pexpr _elist_tail ; } ; #line 692 "../../src/cfront.h"extern Pexpr expr_unlist ( ) ; #line 694 "../../src/cfront.h"extern struct dcl_context * cc ; #line 696 "../../src/cfront.h"struct dcl_context { /* sizeof = 24 */Pname _dcl_context_c_this ; Ptype _dcl_context_tot ; Pname _dcl_context_not ; Pclass _dcl_context_cot ; Ptable _dcl_context_ftbl ; Pname _dcl_context_nof ; } ; #line 710 "../../src/cfront.h"extern struct dcl_context ccvec [ 20] ; #line 712 "../../src/cfront.h"extern bit can_coerce ( ) ; #line 713 "../../src/cfront.h"extern int yyerror ( ) ; #line 714 "../../src/cfront.h"extern TOK back ; #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 41 "../../src/size.h"extern int BI_IN_WORD ; #line 42 "../../src/size.h"extern int BI_IN_BYTE ; #line 44 "../../src/size.h"extern int SZ_CHAR ; #line 45 "../../src/size.h"extern int AL_CHAR ; #line 47 "../../src/size.h"extern int SZ_SHORT ; #line 48 "../../src/size.h"extern int AL_SHORT ; #line 50 "../../src/size.h"extern int SZ_INT ; #line 51 "../../src/size.h"extern int AL_INT ; #line 53 "../../src/size.h"extern int SZ_LONG ; #line 54 "../../src/size.h"extern int AL_LONG ; #line 56 "../../src/size.h"extern int SZ_FLOAT ; #line 57 "../../src/size.h"extern int AL_FLOAT ; #line 59 "../../src/size.h"extern int SZ_DOUBLE ; #line 60 "../../src/size.h"extern int AL_DOUBLE ; #line 62 "../../src/size.h"extern int SZ_STRUCT ; #line 63 "../../src/size.h"extern int AL_STRUCT ; #line 65 "../../src/size.h"extern int SZ_FRAME ; #line 66 "../../src/size.h"extern int AL_FRAME ; #line 68 "../../src/size.h"extern int SZ_WORD ; #line 70 "../../src/size.h"extern int SZ_WPTR ; #line 71 "../../src/size.h"extern int AL_WPTR ; #line 73 "../../src/size.h"extern int SZ_BPTR ; #line 74 "../../src/size.h"extern int AL_BPTR ; #line 77 "../../src/size.h"extern int SZ_TOP ; #line 78 "../../src/size.h"extern int SZ_BOTTOM ; #line 80 "../../src/size.h"extern char * LARGEST_INT ; #line 81 "../../src/size.h"extern int F_SENSITIVE ; #line 82 "../../src/size.h"extern int F_OPTIMIZED ; #line 19 "../../src/dcl2.c"Pname _classdef_has_ictor ( _auto_this ) register struct classdef * _auto_this ; #line 23 "../../src/dcl2.c"{ #line 23 "../../src/dcl2.c"Pname _auto__result ; Pname _auto_c ; Pfct _auto_f ; Plist _auto_l ; #line 24 "../../src/dcl2.c"_auto_c = ( _table_look ( ( struct table * ) _auto_this -> _classdef_memtbl , ( char * ) "_ctor", #line 24 "../../src/dcl2.c"( int ) 0 ) ) ; #line 28 "../../src/dcl2.c"if ( _auto_c == 0 ) { #line 28 "../../src/dcl2.c"{ _auto__result = 0 ; #line 28 "../../src/dcl2.c"return _auto__result ; } } #line 30 "../../src/dcl2.c"_auto_f = ( ( ( struct fct * ) ( _auto_c -> _expr__O2.__C2_tp ) ) ) #line 30 "../../src/dcl2.c"; #line 32 "../../src/dcl2.c"switch ( _auto_f -> _node_base ) { #line 32 "../../src/dcl2.c"default : errorFI_PC__E ( ( int ) 'i' , ( char #line 32 "../../src/dcl2.c"* ) "%s: bad constructor (%k)", _auto_this -> _classdef_string , _auto_c -> _expr__O2.__C2_tp -> _node_base ) ; #line 36 "../../src/dcl2.c"case 108 : switch ( _auto_f -> _fct_nargs ) { #line 37 "../../src/dcl2.c"case 0 : { #line 38 "../../src/dcl2.c"{ _auto__result = _auto_c ; #line 38 "../../src/dcl2.c"#line 38 "../../src/dcl2.c"return _auto__result ; } } #line 39 "../../src/dcl2.c"default : if ( _auto_f -> _fct_argtype -> _expr__O4.__C4_n_initializer ) { #line 39 "../../src/dcl2.c"{ _auto__result = _auto_c ; #line 39 "../../src/dcl2.c"return _auto__result ; } } } #line 41 "../../src/dcl2.c"{ #line 41 "../../src/dcl2.c"{ _auto__result = 0 ; #line 41 "../../src/dcl2.c"return _auto__result ; } } #line 43 "../../src/dcl2.c"case 76 : for ( _auto_l = ( ( ( struct gen * ) ( #line 43 "../../src/dcl2.c"_auto_f ) ) ) -> _gen_fct_list ;_auto_l ;( _auto_l = _auto_l -> _name_list_l ) ) #line 44 "../../src/dcl2.c"{ #line 44 "../../src/dcl2.c"Pname _auto_n ; #line 45 "../../src/dcl2.c"_auto_n = _auto_l -> _name_list_f ; #line 46 "../../src/dcl2.c"_auto_f = ( ( ( struct fct * ) ( _auto_n -> _expr__O2.__C2_tp ) ) ) ; #line 47 "../../src/dcl2.c"switch ( _auto_f -> _fct_nargs ) { #line 47 "../../src/dcl2.c"case 0 : { #line 48 "../../src/dcl2.c"{ _auto__result = _auto_n ; #line 48 "../../src/dcl2.c"return _auto__result ; } } #line 49 "../../src/dcl2.c"default : if ( _auto_f -> _fct_argtype -> _expr__O4.__C4_n_initializer ) { #line 49 "../../src/dcl2.c"{ _auto__result = _auto_n ; #line 49 "../../src/dcl2.c"return _auto__result ; } } } } #line 52 "../../src/dcl2.c"{ #line 52 "../../src/dcl2.c"{ _auto__result = 0 ; #line 52 "../../src/dcl2.c"return _auto__result ; } } } } ; #line 56 "../../src/dcl2.c"struct gen * _gen__ctor ( _auto_this , _auto_s ) register struct gen * _auto_this ; char * _auto_s ; #line 57 "../../src/dcl2.c"{ #line 57 "../../src/dcl2.c"char * _auto_p ; #line 63 "../../src/dcl2.c"if ( _auto_this == 0 ) _auto_this = ( struct gen * ) _new ( ( long ) #line 63 "../../src/dcl2.c"16) ; #line 58 "../../src/dcl2.c"_auto_p = ( ( ( char * ) ( _new ( ( long ) ( strlen ( #line 58 "../../src/dcl2.c"_auto_s ) + 1 ) ) ) ) ) ; #line 59 "../../src/dcl2.c"_auto_this -> _node_base = 76 ; #line 60 "../../src/dcl2.c"strcpy ( _auto_p , _auto_s ) ; #line 61 "../../src/dcl2.c"_auto_this -> _gen_string = _auto_p ; #line 62 "../../src/dcl2.c"_auto_this -> _gen_fct_list = 0 ; #line 63 "../../src/dcl2.c"return _auto_this ; } ; #line 65 "../../src/dcl2.c"Pname _gen_add ( _auto_this , _auto_n , _auto_sig ) register struct gen * _auto_this ; struct name * _auto_n ; int _auto_sig ; #line 74 "../../src/dcl2.c"{ #line 74 "../../src/dcl2.c"Pname _auto__result ; Pfct _auto_f ; Pname _auto_nx ; #line 75 "../../src/dcl2.c"_auto_f = ( ( ( struct fct * ) ( _auto_n -> _expr__O2.__C2_tp ) ) ) ; #line 78 "../../src/dcl2.c"if ( _auto_f -> _node_base != 108 ) errorFI_PC__E ( ( int ) 0 , ( char * #line 78 "../../src/dcl2.c") "%n: overloaded non-F", _auto_n ) ; #line 80 "../../src/dcl2.c"if ( _auto_this -> _gen_fct_list && ( _auto_nx = _gen_find ( _auto_this , ( struct fct * ) _auto_f ) ) #line 80 "../../src/dcl2.c") #line 80 "../../src/dcl2.c"{ #line 80 "../../src/dcl2.c"Nold = 1 ; } else #line 95 "../../src/dcl2.c"{ #line 95 "../../src/dcl2.c"char * _auto_s ; struct name_list * _auto__Xthis__ctor_name_list ; #line 96 "../../src/dcl2.c"_auto_s = _auto_this -> _gen_string ; #line 99 "../../src/dcl2.c"if ( ( _auto_this -> _gen_fct_list || _auto_sig ) || _auto_n -> _name_n_oper ) { #line 99 "../../src/dcl2.c"char _auto_buf [ 128] ; #line 99 "../../src/dcl2.c"char * _auto_bb ; int _auto_l1 ; int _auto_l2 ; char * _auto_p ; #line 101 "../../src/dcl2.c"_auto_bb = _type_signature ( ( struct type * ) _auto_n -> _expr__O2.__C2_tp , ( char * ) _auto_buf ) ; #line 101 "../../src/dcl2.c"#line 102 "../../src/dcl2.c"_auto_l1 = strlen ( _auto_s ) ; #line 103 "../../src/dcl2.c"_auto_l2 = ( ( _auto_bb - _auto_buf ) - 1 ) ; #line 104 "../../src/dcl2.c"_auto_p = ( ( ( char * ) ( _new ( ( long ) ( ( #line 104 "../../src/dcl2.c"_auto_l1 + _auto_l2 ) + 1 ) ) ) ) ) ; #line 105 "../../src/dcl2.c"strcpy ( _auto_p , _auto_s ) ; #line 106 "../../src/dcl2.c"strcpy ( _auto_p + _auto_l1 , ( char * ) _auto_buf ) ; #line 107 "../../src/dcl2.c"_auto_n -> _expr__O3.__C3_string = _auto_p ; } else #line 110 "../../src/dcl2.c"_auto_n -> _expr__O3.__C3_string = _auto_s ; #line 112 "../../src/dcl2.c"_auto_nx = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( char #line 112 "../../src/dcl2.c"* ) 0 ) ; #line 113 "../../src/dcl2.c"( * _auto_nx ) = ( * _auto_n ) ; #line 114 "../../src/dcl2.c"_auto_nx -> _node_permanent = 1 ; #line 115 "../../src/dcl2.c"Nold = 0 ; #line 116 "../../src/dcl2.c"if ( _auto_this -> _gen_fct_list ) { #line 116 "../../src/dcl2.c"Plist _auto_gl ; struct name_list * _auto__Xthis__ctor_name_list ; #line 118 "../../src/dcl2.c"for ( _auto_gl = _auto_this -> _gen_fct_list ;_auto_gl -> _name_list_l ;( _auto_gl = _auto_gl -> _name_list_l ) ) ; #line 119 "../../src/dcl2.c"_auto_gl -> _name_list_l = ( struct name_list * ) ( ( _auto__Xthis__ctor_name_list = 0 ) , ( ( #line 119 "../../src/dcl2.c"_auto__Xthis__ctor_name_list = ( struct name_list * ) _new ( ( long ) 8) ) , ( ( #line 119 "../../src/dcl2.c"_auto__Xthis__ctor_name_list -> _name_list_f = ( ( struct name * ) _auto_nx ) ) , ( ( _auto__Xthis__ctor_name_list -> _name_list_l = #line 119 "../../src/dcl2.c"( ( struct name_list * ) 0 ) ) , _auto__Xthis__ctor_name_list ) ) ) ) ; #line 119 "../../src/dcl2.c"} else #line 122 "../../src/dcl2.c"_auto_this -> _gen_fct_list = ( struct name_list * ) ( ( _auto__Xthis__ctor_name_list = 0 ) , 

⌨️ 快捷键说明

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