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

📄 typ2..c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 4 页
字号:
#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/typ2.c"extern int typ_init ( ) ; #line 20 "../../src/typ2.c"extern int typ_init ( ) #line 21 "../../src/typ2.c"{ #line 21 "../../src/typ2.c"struct ptr * _auto__Xthis__ctor_ptr ; #line 22 "../../src/typ2.c"defa_type = ( int_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , #line 22 "../../src/typ2.c"21 , ( struct name * ) 0 ) ) ; #line 23 "../../src/typ2.c"int_type -> _node_permanent = 1 ; #line 25 "../../src/typ2.c"moe_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 21 , ( #line 25 "../../src/typ2.c"struct name * ) 0 ) ; #line 26 "../../src/typ2.c"moe_type -> _node_permanent = 1 ; #line 27 "../../src/typ2.c"moe_type -> _basetype_b_const = 1 ; #line 28 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) moe_type , ( struct name * ) 0 ) ; #line 30 "../../src/typ2.c"uint_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 21 , ( #line 30 "../../src/typ2.c"struct name * ) 0 ) ; #line 31 "../../src/typ2.c"uint_type -> _node_permanent = 1 ; #line 32 "../../src/typ2.c"_basetype_type_adj ( ( struct basetype * ) uint_type , 37 ) ; #line 33 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) uint_type , ( struct name * ) 0 ) ; #line 35 "../../src/typ2.c"long_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 22 , ( #line 35 "../../src/typ2.c"struct name * ) 0 ) ; #line 36 "../../src/typ2.c"long_type -> _node_permanent = 1 ; #line 37 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) long_type , ( struct name * ) 0 ) ; #line 39 "../../src/typ2.c"ulong_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 22 , ( #line 39 "../../src/typ2.c"struct name * ) 0 ) ; #line 40 "../../src/typ2.c"ulong_type -> _node_permanent = 1 ; #line 41 "../../src/typ2.c"_basetype_type_adj ( ( struct basetype * ) ulong_type , 37 ) ; #line 42 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) ulong_type , ( struct name * ) 0 ) ; #line 44 "../../src/typ2.c"short_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 29 , ( #line 44 "../../src/typ2.c"struct name * ) 0 ) ; #line 45 "../../src/typ2.c"short_type -> _node_permanent = 1 ; #line 46 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) short_type , ( struct name * ) 0 ) ; #line 48 "../../src/typ2.c"ushort_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 29 , ( #line 48 "../../src/typ2.c"struct name * ) 0 ) ; #line 49 "../../src/typ2.c"ushort_type -> _node_permanent = 1 ; #line 50 "../../src/typ2.c"_basetype_type_adj ( ( struct basetype * ) ushort_type , 37 ) ; #line 51 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) ushort_type , ( struct name * ) 0 ) ; #line 53 "../../src/typ2.c"float_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 15 , ( #line 53 "../../src/typ2.c"struct name * ) 0 ) ; #line 54 "../../src/typ2.c"float_type -> _node_permanent = 1 ; #line 56 "../../src/typ2.c"double_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 11 , ( #line 56 "../../src/typ2.c"struct name * ) 0 ) ; #line 57 "../../src/typ2.c"double_type -> _node_permanent = 1 ; #line 59 "../../src/typ2.c"zero_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 138 , ( #line 59 "../../src/typ2.c"struct name * ) 0 ) ; #line 60 "../../src/typ2.c"zero_type -> _node_permanent = 1 ; #line 61 "../../src/typ2.c"zero -> _expr__O2.__C2_tp = ( struct type * ) zero_type ; #line 63 "../../src/typ2.c"void_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 38 , ( #line 63 "../../src/typ2.c"struct name * ) 0 ) ; #line 64 "../../src/typ2.c"void_type -> _node_permanent = 1 ; #line 66 "../../src/typ2.c"char_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 5 , ( #line 66 "../../src/typ2.c"struct name * ) 0 ) ; #line 67 "../../src/typ2.c"char_type -> _node_permanent = 1 ; #line 69 "../../src/typ2.c"uchar_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 5 , ( #line 69 "../../src/typ2.c"struct name * ) 0 ) ; #line 70 "../../src/typ2.c"uchar_type -> _node_permanent = 1 ; #line 71 "../../src/typ2.c"_basetype_type_adj ( ( struct basetype * ) uchar_type , 37 ) ; #line 72 "../../src/typ2.c"_basetype_check ( ( struct basetype * ) uchar_type , ( struct name * ) 0 ) ; #line 74 "../../src/typ2.c"Pchar_type = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = #line 74 "../../src/typ2.c"( struct ptr * ) _new ( ( long ) 16) ) , ( ( Nt ++ #line 74 "../../src/typ2.c") , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( #line 74 "../../src/typ2.c"struct type * ) char_type ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) #line 74 "../../src/typ2.c"0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 75 "../../src/typ2.c"Pchar_type -> _node_permanent = 1 ; #line 77 "../../src/typ2.c"Pint_type = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = #line 77 "../../src/typ2.c"( struct ptr * ) _new ( ( long ) 16) ) , ( ( Nt ++ #line 77 "../../src/typ2.c") , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( #line 77 "../../src/typ2.c"struct type * ) int_type ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) #line 77 "../../src/typ2.c"0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 78 "../../src/typ2.c"Pint_type -> _node_permanent = 1 ; #line 80 "../../src/typ2.c"Pvoid_type = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = #line 80 "../../src/typ2.c"( struct ptr * ) _new ( ( long ) 16) ) , ( ( Nt ++ #line 80 "../../src/typ2.c") , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( #line 80 "../../src/typ2.c"struct type * ) void_type ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) #line 80 "../../src/typ2.c"0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 81 "../../src/typ2.c"Pvoid_type -> _node_permanent = 1 ; #line 83 "../../src/typ2.c"Pfctvec_type = ( struct type * ) _fct__ctor ( ( struct fct * ) 0 , ( struct #line 83 "../../src/typ2.c"type * ) int_type , ( struct name * ) 0 , ( int ) 0 ) #line 83 "../../src/typ2.c"; #line 84 "../../src/typ2.c"Pfctvec_type = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = #line 84 "../../src/typ2.c"( struct ptr * ) _new ( ( long ) 16) ) , ( ( Nt ++ #line 84 "../../src/typ2.c") , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( #line 84 "../../src/typ2.c"struct type * ) Pfctvec_type ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) #line 84 "../../src/typ2.c"0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 85 "../../src/typ2.c"Pfctvec_type = ( struct type * ) ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = #line 85 "../../src/typ2.c"( struct ptr * ) _new ( ( long ) 16) ) , ( ( Nt ++ #line 85 "../../src/typ2.c") , ( ( _auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( #line 85 "../../src/typ2.c"struct type * ) Pfctvec_type ) ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) #line 85 "../../src/typ2.c"0 ) ) , _auto__Xthis__ctor_ptr ) ) ) ) ) ) ; #line 86 "../../src/typ2.c"Pfctvec_type -> _node_permanent = 1 ; #line 88 "../../src/typ2.c"any_tbl = ( struct table * ) _table__ctor ( ( struct table * ) 0 , 20 , ( #line 88 "../../src/typ2.c"struct table * ) 0 , ( struct name * ) 0 ) ; #line 89 "../../src/typ2.c"gtbl = ( struct table * ) _table__ctor ( ( struct table * ) 0 , 257 , ( #line 89 "../../src/typ2.c"struct table * ) 0 , ( struct name * ) 0 ) ; #line 90 "../../src/typ2.c"gtbl -> _table_t_name = ( struct name * ) _name__ctor ( ( struct name * ) 0 , ( #line 90 "../../src/typ2.c"char * ) "global") ; } ; #line 93 "../../src/typ2.c"Pbase _basetype_arit_conv ( _auto_this , _auto_t ) register struct basetype * _auto_this ; struct basetype * _auto_t ; #line 100 "../../src/typ2.c"{ #line 100 "../../src/typ2.c"Pbase _auto__result ; bit _auto_l ; bit _auto_u ; bit _auto_f ; bit _auto_l1 ; bit _auto_u1 ; bit _auto_f1 ; #line 104 "../../src/typ2.c"_auto_l1 = ( _auto_this -> _node_base == 22 ) ; #line 105 "../../src/typ2.c"_auto_u1 = _auto_this -> _basetype_b_unsigned ; #line 106 "../../src/typ2.c"_auto_f1 = ( ( _auto_this -> _node_base == 15 ) || ( _auto_this -> _node_base == 11 ) ) ; #line 107 "../../src/typ2.c"if ( _auto_t ) { #line 107 "../../src/typ2.c"bit _auto_l2 ; bit _auto_u2 ; bit _auto_f2 ; #line 108 "../../src/typ2.c"_auto_l2 = ( _auto_t -> _node_base == 22 ) ; #line 109 "../../src/typ2.c"_auto_u2 = _auto_t -> _basetype_b_unsigned ; #line 110 "../../src/typ2.c"_auto_f2 = ( ( _auto_t -> _node_base == 15 ) || ( _auto_t -> _node_base == 11 ) ) ; #line 111 "../../src/typ2.c"_auto_l = ( _auto_l1 || _auto_l2 ) ; #line 112 "../../src/typ2.c"_auto_u = ( _auto_u1 || _auto_u2 ) ; #line 113 "../../src/typ2.c"_auto_f = ( _auto_f1 || _auto_f2 ) ; } else #line 115 "../../src/typ2.c"{ #line 115 "../../src/typ2.c"_auto_l = _auto_l1 ; #line 117 "../../src/typ2.c"_auto_u = _auto_u1 ; #line 118 "../../src/typ2.c"_auto_f = _auto_f1 ; } #line 121 "../../src/typ2.c"if ( _auto_f ) { #line 121 "../../src/typ2.c"{ _auto__result = double_type ; #line 121 "../../src/typ2.c"return _auto__result ; } } #line 122 "../../src/typ2.c"if ( _auto_l & _auto_u ) { #line 122 "../../src/typ2.c"{ _auto__result = ulong_type ; #line 122 "../../src/typ2.c"return _auto__result ; } } #line 123 "../../src/typ2.c"if ( _auto_l & ( ! _auto_u ) ) { #line 123 "../../src/typ2.c"{ _auto__result = long_type ; #line 123 "../../src/typ2.c"return _auto__result ; } } #line 124 "../../src/typ2.c"if ( _auto_u ) { #line 124 "../../src/typ2.c"{ _auto__result = uint_type ; #line 124 "../../src/typ2.c"return _auto__result ; } } #line 125 "../../src/typ2.c"{ #line 125 "../../src/typ2.c"{ _auto__result = int_type ; #line 125 "../../src/typ2.c"return _auto__result ; } } } ; #line 128 "../../src/typ2.c"bit vec_const = 0 ; #line 130 "../../src/typ2.c"bit _type_tconst ( _auto_this ) register struct type * _auto_this ; #line 134 "../../src/typ2.c"{ #line 134 "../../src/typ2.c"bit _auto__result ; Ptype _auto_t ; #line 135 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 136 "../../src/typ2.c"vec_const = 0 ; #line 137 "../../src/typ2.c"xxx : switch ( _auto_t -> _node_base ) { #line 138 "../../src/typ2.c"case 97 : if ( ( ( ( struct #line 138 "../../src/typ2.c"basetype * ) ( _auto_t ) ) ) -> _basetype_b_const ) #line 139 "../../src/typ2.c"{ #line 139 "../../src/typ2.c"{ _auto__result = 1 ; #line 139 "../../src/typ2.c"return _auto__result ; } } #line 140 "../../src/typ2.c"_auto_t = ( ( ( struct basetype * ) ( _auto_t ) ) ) -> #line 140 "../../src/typ2.c"_basetype_b_name -> _expr__O2.__C2_tp ; #line 140 "../../src/typ2.c"goto xxx ; #line 141 "../../src/typ2.c"case 110 : vec_const = 1 ; #line 141 "../../src/typ2.c"{ #line 141 "../../src/typ2.c"{ _auto__result = 1 ; #line 141 "../../src/typ2.c"return _auto__result ; } } #line 142 "../../src/typ2.c"case 125 : case 158 : { #line 143 "../../src/typ2.c"{ _auto__result = ( ( ( struct ptr * #line 143 "../../src/typ2.c") ( _auto_t ) ) ) -> _ptr_rdo ; #line 143 "../../src/typ2.c"return _auto__result ; } } #line 144 "../../src/typ2.c"

⌨️ 快捷键说明

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