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

📄 error..c

📁 CFront1.0的源代码,第一代C++编译器的思想...
💻 C
📖 第 1 页 / 共 3 页
字号:
#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 23 "../../src/error.c"int error_count = 0 ; #line 24 "../../src/error.c"static int no_of_warnings ; #line 25 "../../src/error.c"char scan_started = 0 ; #line 29 "../../src/error.c"static char * abbrev_tbl [ 91] ; #line 31 "../../src/error.c"extern int error_init ( ) ; #line 32 "../../src/error.c"extern int error_init ( ) #line 33 "../../src/error.c"{ #line 33 "../../src/error.c"#line 34 "../../src/error.c"static char _static_errbuf [ 1024] ; #line 35 "../../src/error.c"setbuf ( ( struct _iobuf * ) ( & ( _iob [ 2 ] ) ) , ( #line 35 "../../src/error.c"char * ) _static_errbuf ) ; #line 37 "../../src/error.c"( abbrev_tbl [ 'A' ] ) = " argument"; #line 38 "../../src/error.c"( abbrev_tbl [ 'B' ] ) = " base"; #line 39 "../../src/error.c"( abbrev_tbl [ 'C' ] ) = " class"; #line 40 "../../src/error.c"( abbrev_tbl [ 'D' ] ) = " declaration"; #line 41 "../../src/error.c"( abbrev_tbl [ 'E' ] ) = " expression"; #line 42 "../../src/error.c"( abbrev_tbl [ 'F' ] ) = " function"; #line 43 "../../src/error.c"( abbrev_tbl [ 'I' ] ) = " initialize"; #line 44 "../../src/error.c"( abbrev_tbl [ 'J' ] ) = " J"; #line 45 "../../src/error.c"( abbrev_tbl [ 'K' ] ) = " K"; #line 46 "../../src/error.c"( abbrev_tbl [ 'L' ] ) = " list"; #line 47 "../../src/error.c"( abbrev_tbl [ 'M' ] ) = " member"; #line 48 "../../src/error.c"( abbrev_tbl [ 'N' ] ) = " name"; #line 49 "../../src/error.c"( abbrev_tbl [ 'O' ] ) = " object"; #line 50 "../../src/error.c"( abbrev_tbl [ 'P' ] ) = " pointer"; #line 51 "../../src/error.c"( abbrev_tbl [ 'Q' ] ) = " qualifie"; #line 52 "../../src/error.c"( abbrev_tbl [ 'R' ] ) = " R"; #line 53 "../../src/error.c"( abbrev_tbl [ 'S' ] ) = " statement"; #line 54 "../../src/error.c"( abbrev_tbl [ 'T' ] ) = " type"; #line 55 "../../src/error.c"( abbrev_tbl [ 'U' ] ) = " undefined"; #line 56 "../../src/error.c"( abbrev_tbl [ 'V' ] ) = " variable"; #line 57 "../../src/error.c"( abbrev_tbl [ 'W' ] ) = " W"; #line 58 "../../src/error.c"( abbrev_tbl [ 'X' ] ) = " expected"; #line 59 "../../src/error.c"( abbrev_tbl [ 'Y' ] ) = " Y"; #line 60 "../../src/error.c"( abbrev_tbl [ 'Z' ] ) = " Z"; } ; #line 66 "../../src/error.c"extern int ext ( _auto__A10 ) int _auto__A10 ; #line 70 "../../src/error.c"{ #line 70 "../../src/error.c"if ( error_count == 0 ) error_count = 1 ; #line 73 "../../src/error.c"exit ( error_count ) ; } ; #line 76 "../../src/error.c"static int print_loc ( ) #line 77 "../../src/error.c"{ #line 77 "../../src/error.c"struct loc * _auto_sl ; struct loc * _auto_dl ; #line 78 "../../src/error.c"_auto_sl = ( struct loc * ) ( Cstmt ? ( & Cstmt -> _stmt_where ) : ( ( #line 78 "../../src/error.c"( struct loc * ) ( 0 ) ) ) ) ; #line 79 "../../src/error.c"_auto_dl = ( struct loc * ) ( Cdcl ? ( & Cdcl -> _name_where ) : ( ( #line 79 "../../src/error.c"( struct loc * ) ( 0 ) ) ) ) ; #line 81 "../../src/error.c"if ( ( _auto_sl && _auto_dl ) && ( _auto_sl -> _loc_file == _auto_dl -> _loc_file ) ) if ( #line 81 "../../src/error.c"_auto_sl -> _loc_line <= _auto_dl -> _loc_line ) #line 83 "../../src/error.c"_loc_put ( ( struct loc * ) _auto_dl , ( struct _iobuf * ) #line 83 "../../src/error.c"out_file ) ; else #line 85 "../../src/error.c"_loc_put ( ( struct loc * ) _auto_sl , ( struct _iobuf * ) out_file ) ; else #line 86 "../../src/error.c"if ( _auto_sl && ( _auto_sl -> _loc_file == curr_file ) ) _loc_put ( ( struct loc * ) #line 86 "../../src/error.c"_auto_sl , ( struct _iobuf * ) out_file ) ; else #line 88 "../../src/error.c"if ( _auto_dl && ( _auto_dl -> _loc_file == curr_file ) ) _loc_put ( ( struct loc * ) #line 88 "../../src/error.c"_auto_dl , ( struct _iobuf * ) out_file ) ; else #line 91 "../../src/error.c"_loc_put ( ( struct loc * ) ( & curloc ) , ( struct _iobuf * ) #line 91 "../../src/error.c"out_file ) ; } ; #line 94 "../../src/error.c"static int print_context ( ) #line 95 "../../src/error.c"{ #line 95 "../../src/error.c"( ( -- out_file -> __iobuf__cnt ) >= 0 ) ? #line 95 "../../src/error.c"( ( ( int ) ( ( * ( out_file -> __iobuf__ptr ++ ) ) = #line 95 "../../src/error.c"10) ) ) : _flsbuf ( 10, ( struct _iobuf * ) out_file ) ; } ; #line 99 "../../src/error.c"static char in_error = 0 ; #line 100 "../../src/error.c"struct loc dummy_loc ; #line 102 "../../src/error.c"extern int yyerror ( _auto_s ) char * _auto_s ; #line 103 "../../src/error.c"{ #line 103 "../../src/error.c"error ( ( int ) 0 , ( struct loc * ) ( & dummy_loc ) #line 103 "../../src/error.c", _auto_s ) ; } ; #line 107 "../../src/error.c"extern int errorFPC__E ( _auto_s ) char * _auto_s ; #line 108 "../../src/error.c"{ #line 108 "../../src/error.c"int _auto__result ; register int * _auto_a ; #line 109 "../../src/error.c"_auto_a = ( ( ( int * ) ( & _auto_s ) ) ) ; #line 110 "../../src/error.c"{ #line 110 "../../src/error.c"{ _auto__result = error ( ( int ) 0 , ( struct loc * ) ( #line 110 "../../src/error.c"& dummy_loc ) , _auto_s , _auto_a [ 1 ] , _auto_a [ 2 ] , _auto_a [ 3 ] , _auto_a [ #line 110 "../../src/error.c"4 ] , _auto_a [ 5 ] , _auto_a [ 6 ] , _auto_a [ 7 ] , _auto_a [ 8 ] ) #line 110 "../../src/error.c"; #line 110 "../../src/error.c"return _auto__result ; } } } ; #line 113 "../../src/error.c"extern int errorFI_PC__E ( _auto_t , _auto_s ) int _auto_t ; char * _auto_s ; #line 114 "../../src/error.c"{ #line 114 "../../src/error.c"int _auto__result ; register int * _auto_a ; #line 115 "../../src/error.c"_auto_a = ( ( ( int * ) ( & _auto_s ) ) ) ; #line 116 "../../src/error.c"{ #line 116 "../../src/error.c"{ _auto__result = error ( _auto_t , ( struct loc * ) ( & dummy_loc ) , _auto_s , #line 116 "../../src/error.c"_auto_a [ 1 ] , _auto_a [ 2 ] , _auto_a [ 3 ] , _auto_a [ 4 ] , _auto_a [ 5 ] #line 116 "../../src/error.c", _auto_a [ 6 ] , _auto_a [ 7 ] , _auto_a [ 8 ] ) ; #line 116 "../../src/error.c"return _auto__result ; } } } ; #line 119 "../../src/error.c"extern int errorFPCloc__PC__E ( _auto_l , _auto_s ) struct loc * _auto_l ; char * _auto_s ; #line 120 "../../src/error.c"{ #line 120 "../../src/error.c"int _auto__result ; register int * _auto_a ; #line 121 "../../src/error.c"_auto_a = ( ( ( int * ) ( & _auto_s ) ) ) ; #line 122 "../../src/error.c"{ #line 122 "../../src/error.c"{ _auto__result = error ( ( int ) 0 , ( struct loc * ) _auto_l , #line 122 "../../src/error.c"_auto_s , _auto_a [ 1 ] , _auto_a [ 2 ] , _auto_a [ 3 ] , _auto_a [ 4 ] , _auto_a [ #line 122 "../../src/error.c"5 ] , _auto_a [ 6 ] , _auto_a [ 7 ] , _auto_a [ 8 ] ) ; #line 122 "../../src/error.c"return _auto__result ; } } } ; #line 125 "../../src/error.c"extern int error ( _auto_t , _auto_lc , _auto_s ) int _auto_t ; struct loc * _auto_lc ; char * _auto_s ; #line 138 "../../src/error.c"{ #line 138 "../../src/error.c"int _auto__result ; struct _iobuf * _auto_of ; int _auto_c ; char _auto_format [ 3] ; int * _auto_a ; int _auto_argn ; int _auto_si ; int _auto_scp ; int _auto_ssp ; #line 139 "../../src/error.c"_auto_of = out_file ; #line 142 "../../src/error.c"_auto_a = ( & _auto_t ) ; #line 143 "../../src/error.c"_auto_argn = 3 ; #line 146 "../../src/error.c"_auto_si = 4; #line 147 "../../src/error.c"_auto_scp = 4; #line 148 "../../src/error.c"_auto_ssp = 4; #line 150 "../../src/error.c"if ( ( ( ( _auto_si != _auto_ssp ) || ( _auto_si != _auto_scp ) ) || ( #line 150 "../../src/error.c"_auto_ssp != _auto_scp ) ) || ( ( & ( _auto_a [ 2 ] ) ) != ( #line 150 "../../src/error.c"( ( int * ) ( & _auto_s ) ) ) ) ) #line 150 "../../src/error.c"{ #line 150 "../../src/error.c"fprintf ( #line 150 "../../src/error.c"( struct _iobuf * ) ( & ( _iob [ 2 ] ) ) , ( char #line 150 "../../src/error.c"* ) "\n%s: this c can't handle varargs (%d,%d,%d -- %d %d)\n", prog_name , _auto_si , _auto_scp , _auto_ssp , & ( _auto_a [ 1 ] ) , & #line 150 "../../src/error.c"_auto_s ) ; #line 154 "../../src/error.c"ext ( 12 ) ; } #line 157 "../../src/error.c"if ( ( _auto_t == 'w' ) && ( warn == 0 ) ) { #line 157 "../../src/error.c"{ #line 157 "../../src/error.c"#line 157 "../../src/error.c"_auto__result = 0 ; #line 157 "../../src/error.c"return _auto__result ; } } #line 159 "../../src/error.c"if ( in_error ++ ) if ( ( _auto_t != 't' ) || ( 4 < #line 159 "../../src/error.c"in_error ) ) #line 160 "../../src/error.c"{ #line 160 "../../src/error.c"fprintf ( ( struct _iobuf * ) ( & ( _iob [ 2 ] ) #line 160 "../../src/error.c") , ( char * ) "\nUPS!, error while handling error\n") ; #line 162 "../../src/error.c"ext ( 13 ) ; } else #line 164 "../../src/error.c"if ( _auto_t == 't' ) _auto_t = 'i' ; #line 167 "../../src/error.c"out_file = ( struct _iobuf * ) ( & ( _iob [ 2 ] ) ) ; #line 168 "../../src/error.c"if ( ! scan_started ) ( ( -- out_file -> __iobuf__cnt ) >= 0 ) ? ( #line 168 "../../src/error.c"( ( int ) ( ( * ( out_file -> __iobuf__ptr ++ ) ) = 10) #line 168 "../../src/error.c") ) : _flsbuf ( 10, ( struct _iobuf * ) out_file ) ; else #line 171 "../../src/error.c"if ( _auto_t == 't' ) ( ( -- out_file -> __iobuf__cnt ) >= 0 ) ? #line 171 "../../src/error.c"( ( ( int ) ( ( * ( out_file -> __iobuf__ptr ++ ) ) = #line 171 "../../src/error.c"10) ) ) : _flsbuf ( 10, ( struct _iobuf * ) out_file ) ; else #line 173 "../../src/error.c"if ( _auto_lc != ( & dummy_loc ) ) _loc_put ( ( struct loc * ) _auto_lc , #line 173 "../../src/error.c"( struct _iobuf * ) out_file ) ; else #line 176 "../../src/error.c"print_loc ( ) ; #line 178 "../../src/error.c"switch ( _auto_t ) { #line 178 "../../src/error.c"case 0 : fprintf ( ( struct _iobuf * ) out_file , ( #line 178 "../../src/error.c"char * ) "error: ") ; #line 181 "../../src/error.c"break ; #line 182 "../../src/error.c"case 'w' : no_of_warnings ++ ; #line 184 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "warning: ") ; #line 185 "../../src/error.c"break ; #line 186 "../../src/error.c"case 's' : fprintf ( ( struct _iobuf * ) out_file , ( char * ) "sorry, not implemented: ") ; #line 186 "../../src/error.c"#line 188 "../../src/error.c"break ; #line 189 "../../src/error.c"case 'i' : if ( error_count ++ ) { #line 190 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( #line 190 "../../src/error.c"char * ) "sorry, %s cannot recover from earlier errors\n", prog_name ) ; #line 192 "../../src/error.c"ext ( 127 ) ; } else #line 195 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) "internal %s error: ", prog_name ) #line 195 "../../src/error.c"; #line 196 "../../src/error.c"break ; } #line 199 "../../src/error.c"while ( _auto_c = ( * ( _auto_s ++ ) ) ) { #line 199 "../../src/error.c"if ( #line 199 "../../src/error.c"( ( 'A' <= _auto_c ) && ( _auto_c <= 'Z' ) ) && ( abbrev_tbl [ 'A' ] ) #line 199 "../../src/error.c") #line 201 "../../src/error.c"fputs ( ( char * ) ( abbrev_tbl [ _auto_c ] ) , ( struct _iobuf * #line 201 "../../src/error.c") out_file ) ; else #line 202 "../../src/error.c"if ( _auto_c == '%' ) switch ( _auto_c = ( * ( _auto_s ++ ) ) #line 202 "../../src/error.c") #line 203 "../../src/error.c"{ #line 203 "../../src/error.c"case 'k' : { #line 205 "../../src/error.c"TOK _auto_x ; #line 205 "../../src/error.c"_auto_x = ( _auto_a [ _auto_argn ] ) ; #line 206 "../../src/error.c"if ( ( ( 0 < _auto_x ) && ( _auto_x < 256 ) ) && ( #line 206 "../../src/error.c"keys [ _auto_x ] ) ) #line 207 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) #line 207 "../../src/error.c"" %s", keys [ _auto_x ] ) ; else #line 209 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) " token(%d)", _auto_x ) ; #line 209 "../../src/error.c"#line 210 "../../src/error.c"_auto_argn ++ ; #line 211 "../../src/error.c"break ; } #line 213 "../../src/error.c"case 't' : { #line 214 "../../src/error.c"Ptype _auto_tt ; #line 214 "../../src/error.c"_auto_tt = ( ( ( struct type * ) ( _auto_a [ _auto_argn ] ) ) ) ; #line 214 "../../src/error.c"#line 215 "../../src/error.c"if ( _auto_tt ) { #line 215 "../../src/error.c"TOK _auto_pm ; #line 217 "../../src/error.c"extern int ntok ; int _auto_nt ; #line 216 "../../src/error.c"_auto_pm = print_mode ; #line 218 "../../src/error.c"_auto_nt = ntok ; #line 219 "../../src/error.c"print_mode = 4 ; #line 220 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) " ") ; #line 221 "../../src/error.c"_type_dcl_print ( ( struct type * ) _auto_tt , ( struct name * ) 0 ) ; #line 222 "../../src/error.c"print_mode = _auto_pm ; #line 223 "../../src/error.c"ntok = _auto_nt ; #line 224 "../../src/error.c"_auto_argn ++ ; } #line 226 "../../src/error.c"break ; } #line 228 "../../src/error.c"case 'n' : { #line 229 "../../src/error.c"Pname _auto_nn ; #line 229 "../../src/error.c"_auto_nn = ( ( ( struct name * ) ( _auto_a [ _auto_argn ] ) ) ) ; #line 229 "../../src/error.c"#line 230 "../../src/error.c"if ( _auto_nn ) { #line 230 "../../src/error.c"TOK _auto_pm ; #line 231 "../../src/error.c"_auto_pm = print_mode ; #line 232 "../../src/error.c"print_mode = 4 ; #line 233 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) " ") ; #line 234 "../../src/error.c"_name_print ( ( struct name * ) _auto_nn ) ; #line 235 "../../src/error.c"print_mode = _auto_pm ; } else #line 238 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) " ?") ; #line 238 "../../src/error.c"#line 239 "../../src/error.c"_auto_argn ++ ; #line 240 "../../src/error.c"break ; } #line 242 "../../src/error.c"default : ( _auto_format [ 0 ] ) = '%' ; #line 244 "../../src/error.c"( _auto_format [ 1 ] ) = _auto_c ; #line 245 "../../src/error.c"( _auto_format [ 2 ] ) = '\0' ; #line 246 "../../src/error.c"fprintf ( ( struct _iobuf * ) out_file , ( char * ) _auto_format , _auto_a [ _auto_argn ++ ] #line 246 "../../src/error.c") ; #line 247 "../../src/error.c"break ; } else #line 250 "../../src/error.c"( ( -- out_file -> __iobuf__cnt ) >= 0 ) ? ( ( ( #line 250 "../../src/error.c"int ) ( ( * ( out_file -> __iobuf__ptr ++ ) ) = ( ( ( #line 250 "../../src/error.c"unsigned int ) ( _auto_c ) ) ) ) ) ) : _flsbuf ( ( ( #line 250 "../../src/error.c"unsigned int ) ( _auto_c ) ) , ( struct _iobuf * ) out_file ) ; } #line 253 "../../src/error.c"if ( ! scan_started ) ext ( 4 ) ; #line 255 "../../src/error.c"switch ( _auto_t ) { #line 255 "../../src/error.c"case 'd' : case 't' : case 'w' : ( ( -- out_file -> #line 255 "../../src/error.c"__iobuf__cnt ) >= 0 ) ? ( ( ( int ) ( ( * ( #line 255 "../../src/error.c"out_file -> __iobuf__ptr ++ ) ) = 10) ) ) : _flsbuf ( 10, ( struct _iobuf * #line 255 "../../src/error.c") out_file ) ; #line 260 "../../src/error.c"break ; #line 261 "../../src/error.c"default : print_context ( ) ; } #line 264 "../../src/error.c"fflush ( ( struct _iobuf * ) ( & ( _iob [ 2 ] ) ) ) #line 264 "../../src/error.c"; #line 267 "../../src/error.c"out_file = _auto_of ; #line 269 "../../src/error.c"switch ( _auto_t ) { #line 269 "../../src/error.c"case 't' : if ( -- in_error ) { #line 271 "../../src/error.c"{ _auto__result = 0 #line 271 "../../src/error.c"; #line 271 "../../src/error.c"return _auto__result ; } } #line 272 "../../src/error.c"case 'i' : ext ( 127 ) ; #line 274 "../../src/error.c"case 0 : case 's' : if ( 20 < ( ++ error_count ) ) { #line 276 "../../src/error.c"fprintf ( #line 276 "../../src/error.c"( struct _iobuf * ) ( & ( _iob [ 2 ] ) ) , ( char #line 276 "../../src/error.c"* ) "Sorry, too many errors\n") ; #line 278 "../../src/error.c"ext ( 7 ) ; } } #line 282 "../../src/error.c"in_error = 0 ; #line 283 "../../src/error.c"{ #line 283 "../../src/error.c"{ _auto__result = 0 ; #line 283 "../../src/error.c"return _auto__result ; } } } ; /* the end */

⌨️ 快捷键说明

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