📄 lex..c
字号:
#line 220 "../../src/lex.c"int lxget ( _auto_c , _auto_m ) register int _auto_c ; register int _auto_m ; #line 226 "../../src/lex.c"{ #line 226 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 226 "../../src/lex.c""input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) ) #line 226 "../../src/lex.c"= _auto_c ) ) ) ; #line 228 "../../src/lex.c"while ( ( ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) #line 228 "../../src/lex.c"? ( ( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( #line 228 "../../src/lex.c"struct _iobuf * ) in_file ) ) ) , ( ( lxmask [ _auto_c + 1 ] ) & #line 228 "../../src/lex.c"_auto_m ) ) ) #line 228 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char #line 228 "../../src/lex.c"* ) "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ #line 228 "../../src/lex.c") ) = _auto_c ) ) ) ; #line 229 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; #line 230 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 230 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 230 "../../src/lex.c"'\0' ) ) ) ; } ; #line 233 "../../src/lex.c"struct LXDOPE { /* sizeof = 8 */short _LXDOPE_lxch ; short _LXDOPE_lxact ; TOK _LXDOPE_lxtok ; } ; #line 237 "../../src/lex.c"struct LXDOPE lxdope [ 33] = { '$' , 0 , 0 , '_' , 1 , 0 , #line 237 "../../src/lex.c"'0' , 2 , 0 , ' ' , 10 , 0 , '\n' , 11 , 0 , '"' , 4 , #line 237 "../../src/lex.c"0 , '\'' , 5 , 0 , '`' , 6 , 0 , '(' , 14 , 40 , ')' , #line 237 "../../src/lex.c"15 , 41 , '{' , 12 , 73 , '}' , 13 , 74 , '[' , 3 , 42 , ']' , 3 , 43 , #line 237 "../../src/lex.c"'*' , 26 , 50 , '?' , 3 , 68 , ':' , 28 , 69 , '+' , 27 , 54 , '-' , 25 , #line 237 "../../src/lex.c"55 , '/' , 7 , 51 , '%' , 23 , 53 , '&' , 22 , 52 , '|' , 21 , 65 , '^' , #line 237 "../../src/lex.c"20 , 64 , '!' , 24 , 46 , '~' , 3 , 47 , ',' , 3 , 71 , ';' , 3 , 72 , #line 237 "../../src/lex.c"'.' , 8 , 45 , '<' , 18 , 58 , '>' , 19 , 60 , '=' , 17 , 70 , - 1 , #line 237 "../../src/lex.c"16 , 0 } ; #line 274 "../../src/lex.c"static struct LXDOPE * lxcp [ 129] ; #line 276 "../../src/lex.c"extern int lex_init ( ) ; #line 278 "../../src/lex.c"extern int lex_init ( ) #line 279 "../../src/lex.c"{ #line 279 "../../src/lex.c"register struct LXDOPE * _auto_p ; register int _auto_i ; register char * _auto_cp ; #line 286 "../../src/lex.c"for ( _auto_i = 0 ;( _auto_i <= 128 ) ;( _auto_i ++ ) ) ( lxmask [ _auto_i ] #line 286 "../../src/lex.c") = 0 ; #line 288 "../../src/lex.c"lxenter ( ( char * ) "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_", 01 ) ; #line 289 "../../src/lex.c"lxenter ( ( char * ) "0123456789", 02 ) ; #line 290 "../../src/lex.c"lxenter ( ( char * ) "0123456789abcdefABCDEF", 010 ) ; #line 292 "../../src/lex.c"lxenter ( ( char * ) " \t\r\b\f\013", 020 ) ; #line 293 "../../src/lex.c"( lxmask [ 47] ) |= 040 ; #line 299 "../../src/lex.c"for ( _auto_i = 0 ;( _auto_i <= 128 ) ;( ++ _auto_i ) ) ( lxcp [ _auto_i ] #line 299 "../../src/lex.c") = ( struct LXDOPE * ) lxdope ; #line 303 "../../src/lex.c"for ( _auto_p = ( struct LXDOPE * ) lxdope ;;( ++ _auto_p ) ) { #line 303 "../../src/lex.c"( lxcp [ #line 303 "../../src/lex.c"_auto_p -> _LXDOPE_lxch + 1 ] ) = _auto_p ; #line 305 "../../src/lex.c"if ( _auto_p -> _LXDOPE_lxch < 0 ) break ; } #line 311 "../../src/lex.c"_auto_cp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; #line 312 "../../src/lex.c"while ( * _auto_cp ) ( lxcp [ ( * ( _auto_cp ++ ) ) + 1 ] #line 312 "../../src/lex.c") = ( struct LXDOPE * ) ( & ( lxdope [ 1 ] ) ) ; #line 312 "../../src/lex.c"#line 313 "../../src/lex.c"_auto_cp = "123456789"; #line 314 "../../src/lex.c"while ( * _auto_cp ) ( lxcp [ ( * ( _auto_cp ++ ) ) + 1 ] #line 314 "../../src/lex.c") = ( struct LXDOPE * ) ( & ( lxdope [ 2 ] ) ) ; #line 314 "../../src/lex.c"#line 315 "../../src/lex.c"_auto_cp = "\t\b\r\f\013"; #line 316 "../../src/lex.c"while ( * _auto_cp ) ( lxcp [ ( * ( _auto_cp ++ ) ) + 1 ] #line 316 "../../src/lex.c") = ( struct LXDOPE * ) ( & ( lxdope [ 3 ] ) ) ; #line 316 "../../src/lex.c"#line 318 "../../src/lex.c"( file_name [ 0 ] ) = src_file_name ; #line 319 "../../src/lex.c"curloc . _loc_file = 0 ; #line 320 "../../src/lex.c"curloc . _loc_line = 1 ; #line 322 "../../src/lex.c"ktbl_init ( ) ; #line 324 "../../src/lex.c"lex_clear ( ) ; #line 326 "../../src/lex.c"saved = lxtitle ( ) ; } ; #line 329 "../../src/lex.c"extern int lex_clear ( ) #line 330 "../../src/lex.c"{ #line 330 "../../src/lex.c"txtstart = ( txtfree = inbuf ) ; } ; #line 334 "../../src/lex.c"int int_val ( _auto_hex ) int _auto_hex ; #line 335 "../../src/lex.c"{ #line 335 "../../src/lex.c"int _auto__result ; #line 336 "../../src/lex.c"switch ( _auto_hex ) { #line 336 "../../src/lex.c"case '0' : case '1' : case '2' : case '3' : case '4' : #line 336 "../../src/lex.c"#line 338 "../../src/lex.c"case '5' : case '6' : case '7' : case '8' : case '9' : { #line 339 "../../src/lex.c"{ _auto__result = ( #line 339 "../../src/lex.c"_auto_hex - '0' ) ; #line 339 "../../src/lex.c"return _auto__result ; } } #line 340 "../../src/lex.c"case 'a' : case 'b' : case 'c' : case 'd' : case 'e' : case 'f' : #line 340 "../../src/lex.c"#line 341 "../../src/lex.c"{ #line 341 "../../src/lex.c"{ _auto__result = ( ( _auto_hex - 'a' ) + 10 ) ; #line 341 "../../src/lex.c"return _auto__result ; } } #line 342 "../../src/lex.c"case 'A' : case 'B' : case 'C' : case 'D' : case 'E' : case 'F' : #line 342 "../../src/lex.c"#line 343 "../../src/lex.c"{ #line 343 "../../src/lex.c"{ _auto__result = ( ( _auto_hex - 'A' ) + 10 ) ; #line 343 "../../src/lex.c"return _auto__result ; } } } } ; #line 347 "../../src/lex.c"int hex_to_oct ( ) #line 352 "../../src/lex.c"{ #line 352 "../../src/lex.c"int _auto_i ; int _auto_c ; #line 353 "../../src/lex.c"_auto_i = 0 ; #line 355 "../../src/lex.c"_auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( ( * #line 355 "../../src/lex.c"( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * ) in_file ) #line 355 "../../src/lex.c") ; #line 356 "../../src/lex.c"if ( ( lxmask [ _auto_c + 1 ] ) & 010 ) { #line 356 "../../src/lex.c"_auto_i = int_val ( _auto_c ) ; #line 356 "../../src/lex.c"#line 358 "../../src/lex.c"_auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( ( * #line 358 "../../src/lex.c"( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * ) in_file ) #line 358 "../../src/lex.c") ; #line 359 "../../src/lex.c"if ( ( lxmask [ _auto_c + 1 ] ) & 010 ) { #line 359 "../../src/lex.c"_auto_i = ( ( _auto_i << #line 359 "../../src/lex.c"4 ) + int_val ( _auto_c ) ) ; #line 361 "../../src/lex.c"_auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( ( * #line 361 "../../src/lex.c"( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * ) in_file ) #line 361 "../../src/lex.c") ; #line 362 "../../src/lex.c"if ( ( lxmask [ _auto_c + 1 ] ) & 010 ) { #line 362 "../../src/lex.c"_auto_i = ( ( _auto_i << #line 362 "../../src/lex.c"4 ) + int_val ( _auto_c ) ) ; } else #line 366 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; } else #line 369 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; } else #line 371 "../../src/lex.c"{ #line 371 "../../src/lex.c"errorFPC__E ( ( char * ) "hexadecimal digitE after \\x") ; #line 373 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; } #line 376 "../../src/lex.c"if ( 0777 < _auto_i ) errorFI_PC__E ( ( int ) 's' , ( char * ) #line 376 "../../src/lex.c""hexadecimal constant too large") ; #line 378 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 378 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 378 "../../src/lex.c"( '0' + ( _auto_i >> 6 ) ) ) ) ) ; #line 379 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 379 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 379 "../../src/lex.c"( '0' + ( ( _auto_i & 070 ) >> 3 ) ) ) ) ) ; #line 380 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 380 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 380 "../../src/lex.c"( '0' + ( _auto_i & 7 ) ) ) ) ) ; } ; #line 384 "../../src/lex.c"char * chconst ( ) #line 388 "../../src/lex.c"{ #line 388 "../../src/lex.c"char * _auto__result ; register int _auto_c ; int _auto_nch ; #line 390 "../../src/lex.c"_auto_nch = 0 ; #line 392 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 392 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 392 "../../src/lex.c"'\'' ) ) ) ; #line 394 "../../src/lex.c"for ( ;;) { #line 394 "../../src/lex.c"if ( SZ_INT < ( _auto_nch ++ ) ) { #line 395 "../../src/lex.c"errorFPC__E ( ( #line 395 "../../src/lex.c"char * ) "char constant too long") ; #line 397 "../../src/lex.c"goto ex ; } #line 400 "../../src/lex.c"switch ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? #line 400 "../../src/lex.c"( ( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct #line 400 "../../src/lex.c"_iobuf * ) in_file ) ) ) #line 400 "../../src/lex.c"{ #line 400 "../../src/lex.c"case '\'' : goto ex ; #line 403 "../../src/lex.c"case -1: errorFPC__E ( ( char * ) "eof in char constant") ; #line 405 "../../src/lex.c"goto ex ; #line 406 "../../src/lex.c"case '\n' : errorFPC__E ( ( char * ) "newline in char constant") ; #line 408 "../../src/lex.c"goto ex ; #line 409 "../../src/lex.c"case '\\' : ( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * #line 409 "../../src/lex.c") "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) #line 409 "../../src/lex.c") = _auto_c ) ) ) ; #line 411 "../../src/lex.c"switch ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( #line 411 "../../src/lex.c"( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * #line 411 "../../src/lex.c") in_file ) ) ) #line 411 "../../src/lex.c"{ #line 411 "../../src/lex.c"case '\n' : ++ curloc . _loc_line ; #line 414 "../../src/lex.c"default : ( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * #line 414 "../../src/lex.c") "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) #line 414 "../../src/lex.c") = _auto_c ) ) ) ; #line 416 "../../src/lex.c"break ; #line 417 "../../src/lex.c"case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : #line 417 "../../src/lex.c"#line 418 "../../src/lex.c"case '7' : ( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * #line 418 "../../src/lex.c") "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) #line 418 "../../src/lex.c") = _auto_c ) ) ) ; #line 420 "../../src/lex.c"_auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( ( * #line 420 "../../src/lex.c"( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * ) in_file ) #line 420 "../../src/lex.c") ; #line 421 "../../src/lex.c"if ( ( ( lxmask [ _auto_c + 1 ] ) & 02 ) && ( _auto_c < '8' ) #line 421 "../../src/lex.c") #line 421 "../../src/lex.c"{ #line 421 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * #line 421 "../../src/lex.c") "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) #line 421 "../../src/lex.c") = _auto_c ) ) ) ; #line 423 "../../src/lex.c"_auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 ) ? ( ( * #line 423 "../../src/lex.c"( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( ( struct _iobuf * ) in_file ) #line 423 "../../src/lex.c") ; #line 424 "../../src/lex.c"if ( ( ( lxmask [ _auto_c + 1 ] ) & 02 ) && ( _auto_c < '8' ) #line 424 "../../src/lex.c") #line 425 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 425 "../../src/lex.c""input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) ) #line 425 "../../src/lex.c"= _auto_c ) ) ) ; else #line 427 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; } else #line 430 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; #line 431 "../../src/lex.c"break ; #line 432 "../../src/lex.c"case 'x' : hex_to_oct ( ) ; #line 434 "../../src/lex.c"break ; } #line 435 "../../src/lex.c"; #line 436 "../../src/lex.c"break ; #line 437 "../../src/lex.c"default : ( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * #line 437 "../../src/lex.c") "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ ) #line 437 "../../src/lex.c") = _auto_c ) ) ) ; } } #line 441 "../../src/lex.c"ex : ( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char #line 441 "../../src/lex.c"* ) "input buffer overflow") : ( ( ( int ) ( ( * ( txtfree ++ #line 441 "../../src/lex.c") ) = '\'' ) ) ) ; #line 443 "../../src/lex.c"( txtmax <= txtfree ) ? errorFI_PC__E ( ( int ) 'i' , ( char * ) "input buffer overflow") #line 443 "../../src/lex.c": ( ( ( int ) ( ( * ( txtfree ++ ) ) = #line 443 "../../src/lex.c"'\0' ) ) ) ; #line 444 "../../src/lex.c"{ #line 444 "../../src/lex.c"{ _auto__result = txtstart ; #line 444 "../../src/lex.c"return _auto__result ; } } } ; #line 447 "../../src/lex.c"int lxcom ( ) #line 449 "../../src/lex.c"{ #line 449 "../../src/lex.c"register int _auto_c ; #line 452 "../../src/lex.c"for ( ;;) switch ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 #line 452 "../../src/lex.c") ? ( ( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( #line 452 "../../src/lex.c"( struct _iobuf * ) in_file ) ) ) #line 453 "../../src/lex.c"{ #line 453 "../../src/lex.c"case -1: errorFPC__E ( ( char * #line 453 "../../src/lex.c") "eof in comment") ; #line 456 "../../src/lex.c"{ #line 456 "../../src/lex.c"return ; } #line 457 "../../src/lex.c"case '\n' : curloc . _loc_line ++ ; #line 459 "../../src/lex.c"Nline ++ ; #line 460 "../../src/lex.c"break ; #line 461 "../../src/lex.c"case '*' : if ( ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 #line 461 "../../src/lex.c") ? ( ( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( #line 461 "../../src/lex.c"( struct _iobuf * ) in_file ) ) ) == '/' ) #line 462 "../../src/lex.c"{ #line 462 "../../src/lex.c"return ; } #line 463 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; #line 464 "../../src/lex.c"break ; #line 465 "../../src/lex.c"case '/' : if ( ( _auto_c = ( ( ( -- in_file -> __iobuf__cnt ) >= 0 #line 465 "../../src/lex.c") ? ( ( * ( in_file -> __iobuf__ptr ++ ) ) & 0377 ) : _filbuf ( #line 465 "../../src/lex.c"( struct _iobuf * ) in_file ) ) ) == '*' ) #line 466 "../../src/lex.c"errorFI_PC__E ( ( int ) 'w' , #line 466 "../../src/lex.c"( char * ) "``/*'' in comment") ; #line 467 "../../src/lex.c"ungetc ( _auto_c , ( struct _iobuf * ) in_file ) ; #line 468 "../../src/lex.c"break ; } } ; #line 473 "../../src/lex.c"int linecom ( ) #line 475 "../../src/lex.c"{ #line 475 "../../src/lex.c"register int _auto_c ; #line 478 "../../src/lex.c"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -