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

📄 expr..c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 5 页
字号:
#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 21 "../../src/expr.c"int const_save = 0 ; #line 23 "../../src/expr.c"Pexpr _expr_address ( _auto_this ) register struct expr * _auto_this ; #line 24 "../../src/expr.c"{ #line 24 "../../src/expr.c"Pexpr _auto__result ; register Pexpr _auto_ee ; struct ptr * _auto__Xthis__ctor_ptr ; #line 25 "../../src/expr.c"if ( ( _auto_this -> _node_base == 111 ) && ( _auto_this -> _expr__O4.__C4_e2 == 0 ) ) { #line 25 "../../src/expr.c"#line 25 "../../src/expr.c"#line 25 "../../src/expr.c"{ _auto__result = _auto_this -> _expr__O3.__C3_e1 ; #line 25 "../../src/expr.c"return _auto__result ; } } #line 26 "../../src/expr.c"if ( _auto_this -> _node_base == 71 ) { #line 26 "../../src/expr.c"_auto_this -> _expr__O4.__C4_e2 = _expr_address ( ( struct expr * #line 26 "../../src/expr.c") _auto_this -> _expr__O4.__C4_e2 ) ; #line 28 "../../src/expr.c"{ #line 28 "../../src/expr.c"{ _auto__result = ( struct expr * ) _auto_this ; #line 28 "../../src/expr.c"return _auto__result ; } } } #line 30 "../../src/expr.c"_auto_ee = ( struct expr * ) _expr__ctor ( ( struct expr * ) 0 #line 30 "../../src/expr.c", 145 , ( struct expr * ) 0 , ( struct expr * ) _auto_this ) ; #line 30 "../../src/expr.c"#line 31 "../../src/expr.c"_auto_ee -> _expr__O2.__C2_tp = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( #line 31 "../../src/expr.c"_auto__Xthis__ctor_ptr = ( struct ptr * ) _new ( ( long ) 16) ) , ( ( #line 31 "../../src/expr.c"Nt ++ ) , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( #line 31 "../../src/expr.c"( struct type * ) _auto_this -> _expr__O2.__C2_tp ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( #line 31 "../../src/expr.c"int ) 0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 32 "../../src/expr.c"if ( _auto_this -> _node_base == 85 ) { #line 564 "../../src/cfront.h"( ( struct name * ) ( ( ( #line 564 "../../src/cfront.h"struct name * ) ( _auto_this ) ) ) ) -> _name_n_addr_taken ++ ; } #line 33 "../../src/expr.c"{ #line 33 "../../src/expr.c"{ _auto__result = _auto_ee ; #line 33 "../../src/expr.c"return _auto__result ; } } } ; #line 36 "../../src/expr.c"Pexpr _expr_contents ( _auto_this ) register struct expr * _auto_this ; #line 37 "../../src/expr.c"{ #line 37 "../../src/expr.c"Pexpr _auto__result ; register Pexpr _auto_ee ; #line 38 "../../src/expr.c"if ( ( _auto_this -> _node_base == 112 ) || ( _auto_this -> _node_base == 145 ) ) { #line 38 "../../src/expr.c"{ #line 38 "../../src/expr.c"#line 38 "../../src/expr.c"_auto__result = _auto_this -> _expr__O4.__C4_e2 ; #line 38 "../../src/expr.c"return _auto__result ; } } #line 39 "../../src/expr.c"_auto_ee = ( struct expr * ) _expr__ctor ( ( struct expr * ) 0 , #line 39 "../../src/expr.c"111 , ( struct expr * ) _auto_this , ( struct expr * ) 0 ) ; #line 40 "../../src/expr.c"if ( _auto_this -> _expr__O2.__C2_tp ) _auto_ee -> _expr__O2.__C2_tp = ( ( ( struct ptr * ) ( _auto_this -> #line 40 "../../src/expr.c"_expr__O2.__C2_tp ) ) ) -> _ptr_typ ; #line 41 "../../src/expr.c"{ #line 41 "../../src/expr.c"{ _auto__result = _auto_ee ; #line 41 "../../src/expr.c"return _auto__result ; } } } ; #line 44 "../../src/expr.c"Pexpr _table_find_name ( _auto_this , _auto_n , _auto_f , _auto__A10 ) register struct table * _auto_this ; register struct name * _auto_n ; int _auto_f ; struct expr * _auto__A10 ; #line 50 "../../src/expr.c"{ #line 50 "../../src/expr.c"Pexpr _auto__result ; Pname _auto_q ; register Pname _auto_qn ; register Pname _auto_nn ; Pclass _auto_cl ; #line 51 "../../src/expr.c"_auto_q = _auto_n -> _name__O6.__C6_n_qualifier ; #line 52 "../../src/expr.c"_auto_qn = 0 ; #line 56 "../../src/expr.c"if ( _auto_n -> _expr__O5.__C5_n_table ) { #line 56 "../../src/expr.c"_auto_nn = _auto_n ; #line 58 "../../src/expr.c"_auto_n = 0 ; #line 59 "../../src/expr.c"goto xx ; } #line 62 "../../src/expr.c"if ( _auto_q ) { #line 62 "../../src/expr.c"Ptable _auto_tbl ; #line 65 "../../src/expr.c"if ( _auto_q == sta_name ) _auto_tbl = gtbl ; else #line 67 "../../src/expr.c"{ #line 67 "../../src/expr.c"Ptype _auto_t ; #line 68 "../../src/expr.c"_auto_t = ( struct type * ) ( ( ( struct classdef * ) ( _auto_q -> _expr__O2.__C2_tp ) #line 68 "../../src/expr.c") ) ; #line 69 "../../src/expr.c"if ( _auto_t == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 69 "../../src/expr.c""Qr%n'sT missing", _auto_q ) ; #line 71 "../../src/expr.c"if ( _auto_q -> _node_base == 123 ) { #line 71 "../../src/expr.c"if ( _auto_t -> _node_base != 119 ) { #line 72 "../../src/expr.c"errorFPC__E ( ( #line 72 "../../src/expr.c"char * ) "badT%k forQr%n", _auto_t -> _node_base , _auto_q ) ; #line 74 "../../src/expr.c"goto nq ; } #line 76 "../../src/expr.c"_auto_t = ( ( ( struct basetype * ) ( _auto_t ) ) ) -> _basetype_b_name -> #line 76 "../../src/expr.c"_expr__O2.__C2_tp ; } #line 78 "../../src/expr.c"if ( _auto_t -> _node_base != 6 ) { #line 78 "../../src/expr.c"errorFPC__E ( ( char * ) "badQr%n(%k)", _auto_q , #line 78 "../../src/expr.c"_auto_t -> _node_base ) ; #line 80 "../../src/expr.c"goto nq ; } #line 82 "../../src/expr.c"_auto_cl = ( ( ( struct classdef * ) ( _auto_t ) ) ) ; #line 83 "../../src/expr.c"_auto_tbl = _auto_cl -> _classdef_memtbl ; } #line 86 "../../src/expr.c"_auto_qn = _table_look ( ( struct table * ) _auto_tbl , _auto_n -> _expr__O3.__C3_string , ( int ) 0 #line 86 "../../src/expr.c") ; #line 88 "../../src/expr.c"if ( _auto_qn == 0 ) { #line 88 "../../src/expr.c"_auto_n -> _name__O6.__C6_n_qualifier = 0 ; #line 90 "../../src/expr.c"_auto_nn = 0 ; #line 91 "../../src/expr.c"goto def ; } #line 94 "../../src/expr.c"if ( _auto_q == sta_name ) { #line 94 "../../src/expr.c"{ #line 561 "../../src/cfront.h"( ( struct name * ) _auto_qn ) -> #line 561 "../../src/cfront.h"_name_n_used ++ ; } #line 96 "../../src/expr.c"_name__dtor ( ( struct name * ) _auto_n , 1) ; #line 97 "../../src/expr.c"{ #line 97 "../../src/expr.c"{ _auto__result = ( struct expr * ) _auto_qn ; #line 97 "../../src/expr.c"return _auto__result ; } } } } #line 102 "../../src/expr.c"nq : if ( cc -> _dcl_context_tot ) { #line 103 "../../src/expr.c"{ #line 104 "../../src/expr.c"{ #line 104 "../../src/expr.c"Ptable _auto_tbl ; #line 104 "../../src/expr.c"_auto_tbl = ( struct table * ) _auto_this ; #line 104 "../../src/expr.c"for ( ;;) { #line 104 "../../src/expr.c"_auto_nn = _table_lookc ( ( struct table * ) _auto_tbl , _auto_n -> _expr__O3.__C3_string , ( #line 104 "../../src/expr.c"int ) 0 ) ; #line 108 "../../src/expr.c"if ( _auto_nn == 0 ) goto qq ; #line 110 "../../src/expr.c"switch ( _auto_nn -> _name_n_scope ) { #line 110 "../../src/expr.c"case 0 : case 25 : if ( _auto_nn -> _name_n_stclass == #line 110 "../../src/expr.c"13 ) #line 113 "../../src/expr.c"break ; #line 115 "../../src/expr.c"if ( _auto_nn -> _expr__O2.__C2_tp -> _node_base == 76 ) break ; #line 117 "../../src/expr.c"if ( ( ( Ebase && cc -> _dcl_context_cot -> _classdef_clbase ) && ( Ebase != ( struct classdef * #line 117 "../../src/expr.c") cc -> _dcl_context_cot -> _classdef_clbase -> _expr__O2.__C2_tp ) ) && ( ! _classdef_has_friend ( ( struct classdef * ) #line 117 "../../src/expr.c"Ebase , ( struct name * ) cc -> _dcl_context_nof ) ) ) #line 121 "../../src/expr.c"errorFPC__E ( ( char * ) #line 121 "../../src/expr.c""%n is from a privateBC", _auto_n ) ; #line 123 "../../src/expr.c"if ( ( Epriv && ( Epriv != cc -> _dcl_context_cot ) ) && ( ! _classdef_has_friend ( ( #line 123 "../../src/expr.c"struct classdef * ) Epriv , ( struct name * ) cc -> _dcl_context_nof ) ) ) #line 126 "../../src/expr.c"errorFPC__E ( ( #line 126 "../../src/expr.c"char * ) "%n is private", _auto_n ) ; } #line 129 "../../src/expr.c"if ( ( _auto_qn == 0 ) || ( _auto_qn == _auto_nn ) ) break ; #line 129 "../../src/expr.c"#line 131 "../../src/expr.c"if ( ( _auto_tbl = _auto_tbl -> _table_next ) == 0 ) { #line 131 "../../src/expr.c"if ( ( _auto_qn -> #line 131 "../../src/expr.c"_name_n_scope == 25 ) || _classdef_has_friend ( ( struct classdef * ) _auto_cl , ( struct name * ) cc -> #line 131 "../../src/expr.c"_dcl_context_nof ) ) #line 136 "../../src/expr.c"{ #line 136 "../../src/expr.c"_auto_nn = _auto_qn ; #line 142 "../../src/expr.c"break ; 

⌨️ 快捷键说明

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