📄 norm..c
字号:
#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 24 "../../src/norm.c"extern int syn_init ( ) ; #line 25 "../../src/norm.c"extern int syn_init ( ) #line 26 "../../src/norm.c"{ #line 26 "../../src/norm.c"any_type = ( struct basetype * ) _basetype__ctor ( ( struct basetype * #line 26 "../../src/norm.c") 0 , 141 , ( struct name * ) 0 ) ; #line 28 "../../src/norm.c"any_type -> _node_permanent = 1 ; #line 29 "../../src/norm.c"dummy = ( struct expr * ) _expr__ctor ( ( struct expr * ) 0 , 144 , ( #line 29 "../../src/norm.c"struct expr * ) 0 , ( struct expr * ) 0 ) ; #line 30 "../../src/norm.c"dummy -> _node_permanent = 1 ; #line 31 "../../src/norm.c"dummy -> _expr__O2.__C2_tp = ( struct type * ) any_type ; #line 32 "../../src/norm.c"zero = ( struct expr * ) _expr__ctor ( ( struct expr * ) 0 , 86 , ( #line 32 "../../src/norm.c"struct expr * ) 0 , ( struct expr * ) 0 ) ; #line 33 "../../src/norm.c"zero -> _node_permanent = 1 ; } ; #line 37 "../../src/norm.c"int stcount = 0 ; #line 39 "../../src/norm.c"extern char * make_name ( _auto_c ) int _auto_c ; #line 40 "../../src/norm.c"{ #line 40 "../../src/norm.c"char * _auto__result ; char * _auto_s ; int _auto_count ; int _auto_i ; #line 42 "../../src/norm.c"_auto_s = ( ( ( char * ) ( _new ( ( long ) 8 ) ) #line 42 "../../src/norm.c") ) ; #line 45 "../../src/norm.c"if ( 99999 <= ( ++ stcount ) ) errorFI_PC__E ( ( int ) 'i' , ( char #line 45 "../../src/norm.c"* ) "too many generated names") ; #line 47 "../../src/norm.c"( _auto_s [ 0 ] ) = '_' ; #line 48 "../../src/norm.c"( _auto_s [ 1 ] ) = _auto_c ; #line 49 "../../src/norm.c"_auto_count = stcount ; #line 49 "../../src/norm.c"_auto_i = 2 ; #line 51 "../../src/norm.c"if ( 10000 <= _auto_count ) { #line 51 "../../src/norm.c"( _auto_s [ _auto_i ++ ] ) = ( '0' + ( #line 51 "../../src/norm.c"_auto_count / 10000 ) ) ; #line 53 "../../src/norm.c"_auto_count %= 10000 ; } #line 55 "../../src/norm.c"if ( 1000 <= _auto_count ) { #line 55 "../../src/norm.c"( _auto_s [ _auto_i ++ ] ) = ( '0' + #line 55 "../../src/norm.c"( _auto_count / 1000 ) ) ; #line 57 "../../src/norm.c"_auto_count %= 1000 ; } else #line 59 "../../src/norm.c"if ( 2 < _auto_i ) ( _auto_s [ _auto_i ++ ] ) = '0' ; #line 61 "../../src/norm.c"if ( 100 <= _auto_count ) { #line 61 "../../src/norm.c"( _auto_s [ _auto_i ++ ] ) = ( '0' + ( #line 61 "../../src/norm.c"_auto_count / 100 ) ) ; #line 63 "../../src/norm.c"_auto_count %= 100 ; } else #line 65 "../../src/norm.c"if ( 2 < _auto_i ) ( _auto_s [ _auto_i ++ ] ) = '0' ; #line 67 "../../src/norm.c"if ( 10 <= _auto_count ) { #line 67 "../../src/norm.c"( _auto_s [ _auto_i ++ ] ) = ( '0' + ( #line 67 "../../src/norm.c"_auto_count / 10 ) ) ; #line 69 "../../src/norm.c"_auto_count %= 10 ; } else #line 71 "../../src/norm.c"if ( 2 < _auto_i ) ( _auto_s [ _auto_i ++ ] ) = '0' ; #line 73 "../../src/norm.c"( _auto_s [ _auto_i ++ ] ) = ( '0' + _auto_count ) ; #line 74 "../../src/norm.c"( _auto_s [ _auto_i ] ) = 0 ; #line 76 "../../src/norm.c"{ #line 76 "../../src/norm.c"{ _auto__result = _auto_s ; #line 76 "../../src/norm.c"return _auto__result ; } } } ; #line 79 "../../src/norm.c"Pbase _basetype_type_adj ( _auto_this , _auto_t ) register struct basetype * _auto_this ; int _auto_t ; #line 80 "../../src/norm.c"{ #line 80 "../../src/norm.c"Pbase _auto__result ; #line 81 "../../src/norm.c"switch ( _auto_this -> _node_base ) { #line 81 "../../src/norm.c"case 119 : case 121 : { #line 84 "../../src/norm.c"Pbase _auto_bt ; #line 84 "../../src/norm.c"_auto_bt = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , ( int #line 84 "../../src/norm.c") 0 , ( struct name * ) 0 ) ; #line 85 "../../src/norm.c"( * _auto_bt ) = ( * _auto_this ) ; #line 86 "../../src/norm.c"if ( _auto_this && ( _auto_this -> _node_permanent == 0 ) ) _type_del ( ( struct type * ) #line 86 "../../src/norm.c"_auto_this ) ; #line 87 "../../src/norm.c"_auto_this = ( struct basetype * ) _auto_bt ; } } #line 91 "../../src/norm.c"if ( _auto_this -> _basetype__O1.__C1_b_xname ) { #line 91 "../../src/norm.c"if ( _auto_this -> _node_base ) errorFPC__E ( ( char #line 91 "../../src/norm.c"* ) "badBT:%n%k", _auto_this -> _basetype__O1.__C1_b_xname , _auto_t ) ; else #line 94 "../../src/norm.c"{ #line 94 "../../src/norm.c"_auto_this -> _node_base = 97 ; #line 96 "../../src/norm.c"_auto_this -> _basetype_b_name = _auto_this -> _basetype__O1.__C1_b_xname ; } #line 98 "../../src/norm.c"_auto_this -> _basetype__O1.__C1_b_xname = 0 ; } #line 101 "../../src/norm.c"switch ( _auto_t ) { #line 101 "../../src/norm.c"case 35 : _auto_this -> _basetype_b_typedef = 1 ; #line 102 "../../src/norm.c"break ; #line 103 "../../src/norm.c"case 75 : _auto_this -> _basetype_b_inline = 1 ; #line 103 "../../src/norm.c"break ; #line 104 "../../src/norm.c"case 77 : _auto_this -> _basetype_b_virtual = 1 ; #line 104 "../../src/norm.c"break ; #line 105 "../../src/norm.c"case 26 : _auto_this -> _basetype_b_const = 1 ; #line 105 "../../src/norm.c"break ; #line 106 "../../src/norm.c"case 37 : _auto_this -> _basetype_b_unsigned = 1 ; #line 106 "../../src/norm.c"break ; #line 107 "../../src/norm.c"case 29 : _auto_this -> _basetype_b_short = 1 ; #line 107 "../../src/norm.c"break ; #line 108 "../../src/norm.c"case 22 : _auto_this -> _basetype_b_long = 1 ; #line 108 "../../src/norm.c"break ; #line 109 "../../src/norm.c"case 18 : case 76 : case 14 : case 31 : case 2 : case 27 : if ( #line 109 "../../src/norm.c"_auto_this -> _basetype_b_sto ) #line 116 "../../src/norm.c"errorFPC__E ( ( char * ) "badBT:%k%k", _auto_this -> _basetype_b_sto , _auto_t ) ; else #line 118 "../../src/norm.c"_auto_this -> _basetype_b_sto = _auto_t ; #line 119 "../../src/norm.c"break ; #line 120 "../../src/norm.c"case 38 : case 5 : case 21 : case 15 : case 11 : if ( _auto_this -> _node_base ) #line 120 "../../src/norm.c"#line 126 "../../src/norm.c"errorFPC__E ( ( char * ) "badBT:%k%k", _auto_this -> _node_base , _auto_t ) ; else #line 128 "../../src/norm.c"_auto_this -> _node_base = _auto_t ; #line 129 "../../src/norm.c"break ; #line 130 "../../src/norm.c"default : errorFI_PC__E ( ( int ) 'i' , ( char * ) "basetype.type_adj(%k)", _auto_t ) ; #line 130 "../../src/norm.c"} #line 133 "../../src/norm.c"{ #line 133 "../../src/norm.c"{ _auto__result = ( struct basetype * ) _auto_this ; #line 133 "../../src/norm.c"return _auto__result ; } } } ; #line 136 "../../src/norm.c"Pbase _basetype_name_adj ( _auto_this , _auto_n ) register struct basetype * _auto_this ; struct name * _auto_n ; #line 137 "../../src/norm.c"{ #line 137 "../../src/norm.c"Pbase _auto__result ; #line 138 "../../src/norm.c"if ( _auto_this -> _basetype__O1.__C1_b_xname ) { #line 138 "../../src/norm.c"if ( _auto_this -> _node_base ) errorFPC__E ( ( char * ) #line 138 "../../src/norm.c""badBT:%n%n", _auto_this -> _basetype__O1.__C1_b_xname , _auto_n ) ; else #line 141 "../../src/norm.c"{ #line 141 "../../src/norm.c"_auto_this -> _node_base = 97 ; #line 143 "../../src/norm.c"_auto_this -> _basetype_b_name = _auto_this -> _basetype__O1.__C1_b_xname ; } #line 145 "../../src/norm.c"_auto_this -> _basetype__O1.__C1_b_xname = 0 ; } #line 147 "../../src/norm.c"_auto_this -> _basetype__O1.__C1_b_xname = _auto_n ; #line 148 "../../src/norm.c"{ #line 148 "../../src/norm.c"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -