📄 lalex..c
字号:
#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 3 "../../src/yystype.h"union _C10 { /* sizeof = 4 */char * __C10_s ; TOK __C10_t ; int __C10_i ; struct loc __C10_l ; Pname __C10_pn ; Ptype __C10_pt ; Pexpr __C10_pe ; Pstmt __C10_ps ; PP __C10_p ; } ; typedef union _C10 YYSTYPE ; #line 14 "../../src/yystype.h"extern union _C10 yylval ; #line 7 "../../src/tqueue.h"extern int printf ( ) ; #line 8 "../../src/tqueue.h"extern int fprintf ( ) ; #line 10 "../../src/tqueue.h"struct toknode { /* sizeof = 16 */TOK _toknode_tok ; union _C10 _toknode_retval ; struct toknode * _toknode_next ; struct toknode * _toknode_last ; } ; struct toknode * _toknode__ctor ( ) ; #line 18 "../../src/tqueue.h"extern struct toknode * front ; #line 19 "../../src/tqueue.h"extern struct toknode * rear ; #line 21 "../../src/tqueue.h"extern int addtok ( ) ; #line 22 "../../src/tqueue.h"extern TOK deltok ( ) ; #line 25 "../../src/tqueue.h"extern int tlex ( ) ; #line 26 "../../src/tqueue.h"extern TOK lalex ( ) ; #line 27 "../../src/tqueue.h"extern int * malloc ( ) ; #line 29 "../../src/tqueue.h"extern union _C10 yylval ; #line 30 "../../src/tqueue.h"extern TOK tk ; #line 32 "../../src/tqueue.h"extern char * image ( ) ; #line 32 "../../src/lalex.c"struct toknode * front = 0 ; #line 33 "../../src/lalex.c"struct toknode * rear = 0 ; #line 35 "../../src/lalex.c"struct toknode * free_toks = 0 ; #line 37 "../../src/lalex.c"struct toknode * _toknode__ctor ( _auto_this , _auto_t , _auto_r ) register struct toknode * _auto_this ; int _auto_t ; union _C10 _auto_r ; #line 38 "../../src/lalex.c"{ #line 38 "../../src/lalex.c"if ( free_toks == 0 ) { #line 39 "../../src/lalex.c"register struct toknode * _auto_q ; #line 40 "../../src/lalex.c"_auto_q = ( ( ( struct toknode * ) ( malloc ( ( unsigned int ) 256) #line 40 "../../src/lalex.c") ) ) ; #line 41 "../../src/lalex.c"free_toks = _auto_q ; #line 42 "../../src/lalex.c"for ( ( ( _auto_q += 15) , ( _auto_q -> _toknode_next = 0 ) ) ;( #line 42 "../../src/lalex.c"_auto_q != free_toks ) ;( _auto_q -- ) ) #line 42 "../../src/lalex.c"( _auto_q - 1 ) -> _toknode_next = _auto_q ; } #line 44 "../../src/lalex.c"_auto_this = ( struct toknode * ) free_toks ; #line 45 "../../src/lalex.c"free_toks = free_toks -> _toknode_next ; #line 46 "../../src/lalex.c"_auto_this -> _toknode_tok = _auto_t ; #line 47 "../../src/lalex.c"_auto_this -> _toknode_retval = _auto_r ; #line 48 "../../src/lalex.c"_auto_this -> _toknode_next = ( _auto_this -> _toknode_last = 0 ) ; #line 49 "../../src/lalex.c"return _auto_this ; } ; #line 51 "../../src/lalex.c"; #line 59 "../../src/lalex.c"extern int addtok ( _auto_t , _auto_r ) int _auto_t ; union _C10 _auto_r ; #line 60 "../../src/lalex.c"{ #line 60 "../../src/lalex.c"struct toknode * _auto_T ; #line 61 "../../src/lalex.c"_auto_T = ( struct toknode * ) _toknode__ctor ( ( struct toknode * ) 0 , _auto_t , _auto_r ) #line 61 "../../src/lalex.c"; #line 62 "../../src/lalex.c"if ( front == 0 ) front = ( rear = _auto_T ) ; else #line 64 "../../src/lalex.c"{ #line 64 "../../src/lalex.c"rear -> _toknode_next = _auto_T ; #line 66 "../../src/lalex.c"_auto_T -> _toknode_last = rear ; #line 67 "../../src/lalex.c"rear = _auto_T ; } } ; #line 72 "../../src/lalex.c"TOK tk ; #line 74 "../../src/lalex.c"extern TOK deltok ( ) #line 75 "../../src/lalex.c"{ #line 75 "../../src/lalex.c"TOK _auto__result ; struct toknode * _auto_T ; struct toknode * _auto__Xthis__dtor_toknode ; #line 76 "../../src/lalex.c"_auto_T = front ; #line 77 "../../src/lalex.c"tk = _auto_T -> _toknode_tok ; #line 78 "../../src/lalex.c"yylval = _auto_T -> _toknode_retval ; #line 79 "../../src/lalex.c"if ( front = front -> _toknode_next ) front -> _toknode_last = 0 ; #line 80 "../../src/lalex.c"{ #line 82 "../../src/lalex.c"_auto__Xthis__dtor_toknode = ( struct toknode * ) _auto_T ; #line 52 "../../src/lalex.c"{ #line 52 "../../src/lalex.c"_auto__Xthis__dtor_toknode -> _toknode_next = free_toks ; #line 54 "../../src/lalex.c"free_toks = ( struct toknode * ) _auto__Xthis__dtor_toknode ; #line 55 "../../src/lalex.c"_auto__Xthis__dtor_toknode = 0 ; #line 56 "../../src/lalex.c"if ( _auto__Xthis__dtor_toknode ) _delete ( ( int * ) _auto__Xthis__dtor_toknode ) ; } } #line 81 "../../src/lalex.c"{ #line 81 "../../src/lalex.c"{ _auto__result = tk ; #line 81 "../../src/lalex.c"return _auto__result ; } } } ; #line 84 "../../src/lalex.c"int scan_type ( ) ; #line 85 "../../src/lalex.c"int scan_mod ( ) ; #line 86 "../../src/lalex.c"int scan_tlist ( ) ; #line 87 "../../src/lalex.c"int scan_suf ( ) ; #line 88 "../../src/lalex.c"int get_tag ( ) ; #line 89 "../../src/lalex.c"int scan_e ( ) ; #line 92 "../../src/lalex.c"struct toknode * latok = 0 ; #line 94 "../../src/lalex.c"; #line 101 "../../src/lalex.c"; #line 108 "../../src/lalex.c"; #line 114 "../../src/lalex.c"int insert_tok ( _auto_t ) int _auto_t ; #line 115 "../../src/lalex.c"{ #line 115 "../../src/lalex.c"struct toknode * _auto_nt ; #line 116 "../../src/lalex.c"_auto_nt = ( struct toknode * ) _toknode__ctor ( ( struct toknode * ) 0 , _auto_t , yylval ) #line 116 "../../src/lalex.c"; #line 117 "../../src/lalex.c"_auto_nt -> _toknode_last = latok -> _toknode_last ; #line 118 "../../src/lalex.c"_auto_nt -> _toknode_last -> _toknode_next = _auto_nt ; #line 119 "../../src/lalex.c"_auto_nt -> _toknode_next = latok ; #line 120 "../../src/lalex.c"latok -> _toknode_last = _auto_nt ; #line 121 "../../src/lalex.c"latok = _auto_nt ; } ; #line 124 "../../src/lalex.c"int rep_cast ( ) #line 126 "../../src/lalex.c"{ #line 126 "../../src/lalex.c"struct toknode * _auto_tt ; struct toknode * _auto_junk ; struct toknode * _auto__Xthis__dtor_toknode ; #line 127 "../../src/lalex.c"_auto_tt = front -> _toknode_next ; #line 128 "../../src/lalex.c"_auto_junk = _auto_tt -> _toknode_next ; #line 129 "../../src/lalex.c"if ( _auto_junk == latok ) { #line 129 "../../src/lalex.c"return ; } #line 130 "../../src/lalex.c"_auto_tt -> _toknode_tok = 97 ; #line 131 "../../src/lalex.c"_auto_tt -> _toknode_retval . __C10_pt = ( struct type * ) any_type ; #line 132 "../../src/lalex.c"_auto_tt -> _toknode_next = latok ; #line 133 "../../src/lalex.c"latok -> _toknode_last -> _toknode_next = 0 ; #line 134 "../../src/lalex.c"latok -> _toknode_last = _auto_tt ; #line 135 "../../src/lalex.c"for ( _auto_tt = _auto_junk ;_auto_tt ;( _auto_tt = _auto_tt -> _toknode_next ) ) { #line 136 "../../src/lalex.c"_auto__Xthis__dtor_toknode = ( struct toknode * ) #line 136 "../../src/lalex.c"_auto_tt ; #line 52 "../../src/lalex.c"{ #line 52 "../../src/lalex.c"_auto__Xthis__dtor_toknode -> _toknode_next = free_toks ; #line 54 "../../src/lalex.c"free_toks = ( struct toknode * ) _auto__Xthis__dtor_toknode ; #line 55 "../../src/lalex.c"_auto__Xthis__dtor_toknode = 0 ; #line 56 "../../src/lalex.c"if ( _auto__Xthis__dtor_toknode ) _delete ( ( int * ) _auto__Xthis__dtor_toknode ) ; } } } ; #line 144 "../../src/lalex.c"int bad_cast = 0 ; #line 146 "../../src/lalex.c"extern TOK lalex ( ) #line 147 "../../src/lalex.c"{ #line 147 "../../src/lalex.c"TOK _auto__result ; #line 148 "../../src/lalex.c"static int _static_nocast = 0 ; #line 150 "../../src/lalex.c"static int _static_incast = 0 ; #line 151 "../../src/lalex.c"static int _static_in_enum ; #line 152 "../../src/lalex.c"static int _static_fr ; char _auto_en ; #line 153 "../../src/lalex.c"_auto_en = 0 ; #line 155 "../../src/lalex.c"switch ( ( ( ( front == 0 ) ? tlex ( ) : 0 ) #line 155 "../../src/lalex.c", ( ( latok = front ) , latok -> _toknode_tok ) ) ) #line 155 "../../src/lalex.c"{ #line 155 "../../src/lalex.c"case 170 : case #line 155 "../../src/lalex.c"171 : #line 158 "../../src/lalex.c"errorFI_PC__E ( ( int ) 'w' , ( char * ) "keyword%k (ignored)", latok -> _toknode_tok ) ; #line 158 "../../src/lalex.c"#line 159 "../../src/lalex.c"{ #line 159 "../../src/lalex.c"{ _auto__result = lalex ( ) ; #line 159 "../../src/lalex.c"return _auto__result ; } } #line 160 "../../src/lalex.c"case 13 : _auto_en = 1 ; #line 162 "../../src/lalex.c"case 156 : switch ( tk ) { #line 163 "../../src/lalex.c"case 0 : case 40 : case 71 : case #line 163 "../../src/lalex.c"23 : #line 174 "../../src/lalex.c"case 113 : case 41 : case 24 : case 10 : case 97 : case 69 : case #line 174 "../../src/lalex.c"72 : #line 181 "../../src/lalex.c"case 74 : case 73 : break ; #line 184 "../../src/lalex.c"default : errorFPCloc__PC__E ( ( struct loc * ) ( & curloc ) , ( char * #line 184 "../../src/lalex.c") "';' missing afterS orD before\"%k\"", latok -> _toknode_tok ) ; #line 186 "../../src/lalex.c"{ #line 186 "../../src/lalex.c"{ _auto__result = ( tk = 72 ) ; #line 186 "../../src/lalex.c"return _auto__result ; } } } #line 189 "../../src/lalex.c"{ #line 189 "../../src/lalex.c"TOK _auto_t ; TOK _auto_x ; #line 189 "../../src/lalex.c"_auto_t = ( ( ( latok == rear ) ? tlex ( ) : 0 ) , ( #line 189 "../../src/lalex.c"( latok = latok -> _toknode_next ) , latok -> _toknode_tok ) ) ; #line 192 "../../src/lalex.c"switch ( _auto_t ) { #line 192 "../../src/lalex.c"case 123 : _auto_x = ( ( ( latok == rear ) ? tlex ( #line 192 "../../src/lalex.c") : 0 ) , ( ( latok = latok -> _toknode_next ) , latok -> _toknode_tok ) ) #line 192 "../../src/lalex.c"; #line 195 "../../src/lalex.c"break ; #line 196 "../../src/lalex.c"case 80 : _auto_x = ( ( ( latok == rear ) ? tlex ( ) : 0 ) #line 196 "../../src/lalex.c", ( ( latok = latok -> _toknode_next ) , latok -> _toknode_tok ) ) ; #line 198 "../../src/lalex.c"{ #line 109 "../../src/lalex.c"if ( latok -> _toknode_last == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char #line 109 "../../src/lalex.c"* ) "token q backup") ; #line 111 "../../src/lalex.c"latok = latok -> _toknode_last ; } #line 200 "../../src/lalex.c"switch ( _auto_x ) { #line 200 "../../src/lalex.c"case 73 : _static_in_enum = _auto_en ; #line 203 "../../src/lalex.c"case 69 : { #line 109 "../../src/lalex.c"if ( latok -> _toknode_last == 0 ) errorFI_PC__E ( ( int ) 'i' , #line 109 "../../src/lalex.c"( char * ) "token q backup") ; #line 111 "../../src/lalex.c"latok = latok -> _toknode_last ; } #line 205 "../../src/lalex.c"_static_fr = 0 ; #line 206 "../../src/lalex.c"goto ret ; #line 207 "../../src/lalex.c"default : { #line 208 "../../src/lalex.c"Pname _auto_n ; #line 208 "../../src/lalex.c"_auto_n = _table_look ( ( struct table * ) ktbl , latok -> _toknode_retval . __C10_s , 159 ) ; #line 209 "../../src/lalex.c"if ( _auto_n == 0 ) { #line 209 "../../src/lalex.c"_auto_n = ( struct name * ) _name__ctor ( ( struct #line 209 "../../src/lalex.c"name * ) 0 , latok -> _toknode_retval . __C10_s ) ; #line 211 "../../src/lalex.c"_auto_n -> _name_lex_level = 0 ; #line 212 "../../src/lalex.c"_auto_n = _name_tname ( ( struct name * ) _auto_n , ( int ) latok -> _toknode_last -> _toknode_retval . __C10_t ) #line 212 "../../src/lalex.c"; #line 213 "../../src/lalex.c"modified_tn = modified_tn -> _name_list_l ; } else #line 215 "../../src/lalex.c"{ #line 215 "../../src/lalex.c"switch ( _auto_n -> _expr__O2.__C2_tp -> _node_base ) { #line 216 "../../src/lalex.c"case 119 : case 121 : break #line 216 "../../src/lalex.c"; #line 220 "../../src/lalex.c"default : errorFI_PC__E ( ( int ) 'i' , ( char * ) "hidden%n:%t", _auto_n , _auto_n -> #line 220 "../../src/lalex.c"_expr__O2.__C2_tp ) ; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -