Changeset 451
- Timestamp:
- 08/19/07 14:21:25 (1 year ago)
- Files:
-
- branches/thune/thread_safe/charset.c (modified) (1 diff)
- branches/thune/thread_safe/doc/thune.vim (modified) (2 diffs)
- branches/thune/thread_safe/tokenize.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/thune/thread_safe/charset.c
r408 r451 24 24 25 25 26 /* St rictWord: a-z A-Z ?!.*&|=_~ and all ascii >= 127 */26 /* Start of Word: a-z A-Z ?!.*&|=_~ and all ascii >= 127 */ 27 27 uint8_t charset_sword[32] = { 28 28 #ifdef UR_CONFIG_MACROS branches/thune/thread_safe/doc/thune.vim
r442 r451 49 49 " Integers 50 50 syn match thuneInteger "\<[+-]\=\d\+\('\d*\)*\>" 51 " Hex number 52 syn match thuneInteger "\$\x\+" 51 53 " Decimals 52 54 syn match thuneDecimal "[+-]\=\(\d\+\('\d*\)*\)\=[,.]\d*\(e[+-]\=\d\+\)\=" … … 66 68 " DD.MM.YYYY format 67 69 syn match thuneDate "\d\{1,2}\.\d\{1,2}\.\d\{4}\>" 68 " Money69 syn match thuneMoney "\a*\$\d\+\('\d*\)*\([,.]\d\+\)\="70 70 " Strings 71 71 syn region thuneString oneline start=+"+ skip=+^"+ end=+"+ contains=thuneSpecialChar branches/thune/thread_safe/tokenize.c
r450 r451 310 310 int tn; // Each state can use tn & mode as it wishes. 311 311 int mode = 0; 312 int eol = 0;312 int sol = 0; 313 313 int lines = 0; 314 314 #ifdef UR_CONFIG_MACROS … … 332 332 { 333 333 ++lines; 334 eol = 1;334 sol = 1; 335 335 } 336 336 } … … 342 342 { 343 343 ++it; 344 if( ch == '.' && (it != end) ) 345 { 346 ch = *it; 347 if( IS_DIGIT(ch) ) 348 { 349 --it; 350 goto number; 351 } 352 } 344 353 goto word; 345 354 } … … 347 356 { 348 357 ++it; 349 goto integer;358 goto number; 350 359 } 351 360 else … … 400 409 case '[': mode = UT_BLOCK; break; 401 410 case '(': mode = UT_PAREN; break; 411 #ifdef UR_CONFIG_MACROS 402 412 case '<': mode = UT_MACRO; 403 #ifdef UR_CONFIG_MACROS404 413 #ifdef MACRO_CONTEXT 405 414 if( ! macroNest ) … … 415 424 416 425 ++stack.used; 417 if( eol )426 if( sol ) 418 427 { 419 428 cell->id.flags |= UR_FLAG_SOL; 420 eol = 0;429 sol = 0; 421 430 } 422 431 break; … … 424 433 case ']': 425 434 case ')': 435 #ifdef UR_CONFIG_MACROS 426 436 case '>': 437 #endif 427 438 if( stack.used == 1 ) 428 439 { … … 433 444 } 434 445 --stack.used; 435 if( eol )436 eol = 0;446 if( sol ) 447 sol = 0; 437 448 #ifdef UR_CONFIG_MACROS 438 449 if( ch == '>' && macroNest ) … … 488 499 set_eol: 489 500 490 if( eol )501 if( sol ) 491 502 { 492 503 cell->id.flags |= UR_FLAG_SOL; 493 eol = 0;504 sol = 0; 494 505 } 495 506 goto start; … … 590 601 ch = *it; 591 602 if( IS_DIGIT(ch) ) 592 goto integer;603 goto number; 593 604 goto word; 594 605 … … 685 696 syntaxError( "Invalid word" ); 686 697 687 integer:698 number: 688 699 689 700 mode = UT_INT;
