1 #line 2 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/tclscanner.cpp" 3 #line 4 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/tclscanner.cpp" 5 #define YY_INT_ALIGNED short int 9 #define yy_create_buffer tclscannerYY_create_buffer 10 #define yy_delete_buffer tclscannerYY_delete_buffer 11 #define yy_flex_debug tclscannerYY_flex_debug 12 #define yy_init_buffer tclscannerYY_init_buffer 13 #define yy_flush_buffer tclscannerYY_flush_buffer 14 #define yy_load_buffer_state tclscannerYY_load_buffer_state 15 #define yy_switch_to_buffer tclscannerYY_switch_to_buffer 16 #define yyin tclscannerYYin 17 #define yyleng tclscannerYYleng 18 #define yylex tclscannerYYlex 19 #define yylineno tclscannerYYlineno 20 #define yyout tclscannerYYout 21 #define yyrestart tclscannerYYrestart 22 #define yytext tclscannerYYtext 23 #define yywrap tclscannerYYwrap 24 #define yyalloc tclscannerYYalloc 25 #define yyrealloc tclscannerYYrealloc 26 #define yyfree tclscannerYYfree 29 #define YY_FLEX_MAJOR_VERSION 2 30 #define YY_FLEX_MINOR_VERSION 5 31 #define YY_FLEX_SUBMINOR_VERSION 35 32 #if YY_FLEX_SUBMINOR_VERSION > 0 53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 58 #ifndef __STDC_LIMIT_MACROS 59 #define __STDC_LIMIT_MACROS 1 80 #define INT8_MIN (-128) 83 #define INT16_MIN (-32767-1) 86 #define INT32_MIN (-2147483647-1) 89 #define INT8_MAX (127) 92 #define INT16_MAX (32767) 95 #define INT32_MAX (2147483647) 98 #define UINT8_MAX (255U) 101 #define UINT16_MAX (65535U) 104 #define UINT32_MAX (4294967295U) 117 #if defined (__STDC__) 125 #define yyconst const 138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 144 #define BEGIN (yy_start) = 1 + 2 * 150 #define YY_START (((yy_start) - 1) / 2) 151 #define YYSTATE YY_START 154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 157 #define YY_NEW_FILE tclscannerYYrestart(tclscannerYYin ) 159 #define YY_END_OF_BUFFER_CHAR 0 163 #define YY_BUF_SIZE 16384 168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 171 #define YY_TYPEDEF_YY_BUFFER_STATE 179 #define EOB_ACT_CONTINUE_SCAN 0 180 #define EOB_ACT_END_OF_FILE 1 181 #define EOB_ACT_LAST_MATCH 2 190 #define YY_LESS_LINENO(n) \ 193 for ( yyl = n; yyl < tclscannerYYleng; ++yyl )\ 194 if ( tclscannerYYtext[yyl] == '\n' )\ 195 --tclscannerYYlineno;\ 203 int yyless_macro_arg = (n); \ 204 YY_LESS_LINENO(yyless_macro_arg);\ 205 *yy_cp = (yy_hold_char); \ 206 YY_RESTORE_YY_MORE_OFFSET \ 207 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 208 YY_DO_BEFORE_ACTION; \ 212 #define unput(c) yyunput( c, (yytext_ptr) ) 214 #ifndef YY_TYPEDEF_YY_SIZE_T 215 #define YY_TYPEDEF_YY_SIZE_T 219 #ifndef YY_STRUCT_YY_BUFFER_STATE 220 #define YY_STRUCT_YY_BUFFER_STATE 267 #define YY_BUFFER_NEW 0 268 #define YY_BUFFER_NORMAL 1 279 #define YY_BUFFER_EOF_PENDING 2 295 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 296 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 302 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 331 #define YY_FLUSH_BUFFER tclscannerYY_flush_buffer(YY_CURRENT_BUFFER ) 341 #define yy_new_buffer tclscannerYY_create_buffer 343 #define yy_set_interactive(is_interactive) \ 345 if ( ! YY_CURRENT_BUFFER ){ \ 346 tclscannerYYensure_buffer_stack (); \ 347 YY_CURRENT_BUFFER_LVALUE = \ 348 tclscannerYY_create_buffer(tclscannerYYin,YY_BUF_SIZE ); \ 350 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 353 #define yy_set_bol(at_bol) \ 355 if ( ! YY_CURRENT_BUFFER ){\ 356 tclscannerYYensure_buffer_stack (); \ 357 YY_CURRENT_BUFFER_LVALUE = \ 358 tclscannerYY_create_buffer(tclscannerYYin,YY_BUF_SIZE ); \ 360 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 363 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 367 #define tclscannerYYwrap(n) 1 368 #define YY_SKIP_YYWRAP 378 int tclscannerYYlineno = 1;
381 #define yytext_ptr tclscannerYYtext 391 #define YY_DO_BEFORE_ACTION \ 392 (yytext_ptr) = yy_bp; \ 393 (yytext_ptr) -= (yy_more_len); \ 394 tclscannerYYleng = (size_t) (yy_cp - (yytext_ptr)); \ 395 (yy_hold_char) = *yy_cp; \ 397 (yy_c_buf_p) = yy_cp; 399 #define YY_NUM_RULES 55 400 #define YY_END_OF_BUFFER 56 410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411 5, 5, 0, 0, 0, 0, 0, 0, 26, 26,
412 0, 0, 56, 55, 1, 4, 3, 3, 2, 4,
413 40, 37, 36, 34, 35, 40, 40, 54, 50, 52,
414 53, 49, 48, 51, 46, 54, 47, 44, 45, 15,
415 5, 14, 15, 55, 23, 24, 55, 55, 17, 18,
416 55, 55, 20, 21, 55, 29, 26, 29, 25, 29,
417 55, 31, 32, 55, 3, 0, 37, 36, 34, 35,
418 0, 0, 0, 0, 39, 0, 42, 43, 41, 5,
419 0, 12, 13, 0, 0, 0, 0, 23, 24, 0,
421 22, 0, 17, 18, 0, 0, 20, 21, 0, 0,
422 25, 26, 0, 0, 31, 32, 0, 30, 33, 0,
423 0, 0, 8, 13, 0, 0, 0, 0, 11, 0,
424 0, 0, 28, 25, 0, 38, 0, 6, 13, 0,
425 7, 0, 0, 0, 0, 27, 6, 0, 0, 0,
426 0, 0, 0, 0, 0, 12, 0, 0, 0, 9,
427 9, 0, 0, 0, 0, 0, 0, 0, 16, 0,
428 12, 0, 10, 10, 0, 0, 19, 0
433 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 4, 1, 1, 1, 1,
436 1, 5, 1, 6, 7, 1, 1, 1, 1, 1,
437 1, 8, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 9, 10,
439 1, 1, 1, 11, 12, 13, 14, 15, 16, 1,
440 1, 1, 17, 1, 1, 1, 18, 19, 20, 1,
441 1, 21, 1, 22, 1, 23, 1, 1, 1, 1,
442 24, 25, 26, 1, 1, 1, 27, 28, 29, 30,
444 31, 1, 1, 1, 32, 1, 1, 1, 33, 34,
445 35, 1, 1, 36, 1, 37, 1, 38, 1, 1,
446 1, 1, 39, 1, 40, 1, 1, 1, 1, 1,
447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
465 1, 2, 3, 1, 2, 2, 4, 1, 2, 1,
466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
467 1, 1, 1, 2, 5, 2, 1, 1, 1, 1,
468 1, 1, 1, 1, 1, 1, 1, 1, 2, 2
473 0, 0, 126, 112, 0, 8, 32, 70, 108, 147,
474 14, 22, 19, 27, 35, 42, 44, 51, 57, 63,
475 73, 77, 107, 615, 615, 615, 80, 91, 615, 100,
476 615, 116, 615, 615, 99, 96, 89, 615, 615, 615,
477 615, 615, 615, 615, 615, 3, 615, 615, 615, 615,
478 38, 615, 119, 83, 615, 132, 134, 87, 615, 124,
479 151, 136, 615, 139, 157, 88, 161, 615, 84, 4,
480 142, 615, 166, 171, 175, 81, 0, 615, 615, 183,
481 75, 187, 59, 60, 615, 16, 615, 615, 615, 48,
482 194, 615, 198, 200, 223, 259, 206, 615, 210, 213,
484 615, 202, 615, 217, 225, 229, 615, 236, 239, 8,
485 0, 245, 241, 250, 615, 254, 256, 615, 615, 0,
486 261, 264, 615, 268, 273, 287, 291, 297, 615, 299,
487 301, 304, 615, 306, 311, 615, 320, 615, 334, 336,
488 615, 338, 344, 340, 347, 615, 615, 363, 368, 370,
489 353, 379, 383, 386, 397, 213, 394, 399, 414, 615,
490 278, 408, 420, 434, 423, 439, 441, 451, 615, 455,
491 294, 457, 615, 325, 460, 462, 615, 615, 493, 498,
492 503, 508, 513, 518, 523, 528, 533, 538, 543, 547,
493 549, 554, 559, 564, 569, 574, 579, 584, 589, 594,
500 179, 179, 180, 180, 181, 181, 182, 182, 183, 183,
501 184, 184, 185, 185, 186, 186, 187, 187, 188, 188,
502 189, 189, 178, 178, 178, 178, 178, 178, 178, 178,
503 178, 178, 178, 178, 178, 190, 178, 178, 178, 178,
504 178, 178, 178, 178, 178, 191, 178, 178, 178, 178,
505 178, 178, 192, 193, 178, 193, 193, 194, 178, 194,
506 194, 195, 178, 195, 195, 196, 196, 178, 196, 196,
507 197, 178, 197, 197, 178, 178, 32, 178, 178, 178,
508 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
509 192, 178, 192, 198, 192, 192, 193, 178, 193, 193,
511 178, 194, 178, 194, 194, 195, 178, 195, 195, 196,
512 196, 196, 199, 197, 178, 197, 197, 178, 178, 200,
513 192, 198, 178, 198, 201, 198, 192, 192, 178, 194,
514 195, 199, 178, 199, 199, 178, 201, 178, 201, 201,
515 178, 192, 192, 194, 195, 178, 178, 192, 192, 194,
516 195, 192, 192, 194, 195, 202, 192, 194, 195, 178,
517 202, 192, 194, 195, 192, 194, 195, 192, 178, 195,
518 203, 195, 178, 203, 195, 195, 178, 0, 178, 178,
519 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
520 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
527 178, 27, 28, 111, 27, 88, 29, 111, 27, 27,
528 28, 111, 27, 113, 29, 51, 27, 52, 51, 178,
529 53, 55, 56, 51, 30, 52, 51, 89, 53, 55,
530 56, 178, 30, 32, 33, 34, 32, 59, 60, 90,
531 35, 61, 90, 57, 59, 60, 63, 64, 61, 90,
532 65, 57, 90, 63, 64, 120, 36, 65, 67, 68,
533 69, 67, 82, 70, 67, 68, 69, 67, 119, 70,
534 37, 32, 33, 34, 32, 72, 73, 77, 35, 72,
535 73, 75, 75, 75, 75, 98, 99, 111, 75, 103,
536 104, 111, 75, 75, 36, 75, 86, 74, 77, 75,
538 82, 74, 75, 82, 76, 83, 178, 100, 37, 39,
539 40, 41, 42, 43, 24, 76, 44, 77, 78, 79,
540 77, 92, 93, 84, 80, 94, 103, 104, 24, 95,
541 178, 45, 46, 47, 98, 99, 101, 99, 107, 108,
542 81, 107, 108, 96, 115, 116, 48, 49, 39, 40,
543 41, 42, 43, 103, 104, 44, 100, 178, 100, 107,
544 108, 105, 112, 178, 111, 112, 117, 109, 115, 116,
545 45, 46, 47, 118, 116, 105, 75, 75, 178, 75,
546 178, 109, 178, 75, 82, 48, 49, 82, 82, 83,
547 117, 82, 178, 83, 178, 117, 92, 93, 178, 76,
549 92, 93, 123, 124, 103, 104, 125, 84, 98, 99,
550 178, 84, 98, 99, 161, 101, 99, 161, 121, 103,
551 104, 178, 121, 178, 126, 92, 93, 103, 104, 178,
552 100, 107, 108, 178, 100, 178, 127, 100, 107, 108,
553 130, 107, 108, 133, 134, 128, 112, 121, 111, 112,
554 178, 127, 115, 116, 131, 130, 115, 116, 118, 116,
555 128, 129, 93, 129, 93, 135, 123, 124, 178, 131,
556 123, 124, 127, 178, 117, 138, 139, 178, 117, 161,
557 117, 128, 161, 121, 178, 121, 178, 127, 126, 141,
558 124, 178, 126, 92, 93, 174, 128, 140, 174, 92,
560 93, 103, 104, 107, 108, 178, 133, 134, 133, 134,
561 142, 126, 143, 146, 134, 121, 178, 144, 178, 145,
562 178, 121, 138, 139, 178, 142, 174, 143, 135, 174,
563 135, 178, 144, 178, 145, 135, 138, 139, 147, 139,
564 92, 93, 103, 104, 140, 178, 92, 93, 178, 107,
565 108, 178, 148, 178, 150, 107, 108, 178, 140, 178,
566 140, 151, 121, 178, 149, 92, 93, 148, 121, 150,
567 92, 93, 103, 104, 178, 155, 151, 178, 152, 149,
568 153, 156, 93, 154, 178, 92, 93, 121, 103, 104,
569 155, 178, 121, 152, 157, 153, 92, 93, 154, 107,
571 108, 103, 104, 121, 178, 158, 178, 121, 178, 157,
572 92, 93, 159, 163, 178, 162, 107, 108, 121, 178,
573 158, 178, 103, 104, 165, 92, 93, 159, 163, 178,
574 162, 178, 121, 178, 164, 166, 107, 108, 178, 165,
575 168, 169, 104, 107, 108, 178, 167, 121, 178, 164,
576 166, 178, 170, 171, 93, 168, 178, 107, 108, 107,
577 108, 167, 107, 108, 177, 108, 178, 170, 178, 178,
578 178, 178, 178, 175, 178, 121, 172, 176, 178, 178,
579 178, 178, 178, 178, 178, 178, 178, 178, 175, 178,
580 178, 172, 176, 24, 24, 24, 24, 24, 25, 25,
582 25, 25, 25, 26, 26, 26, 26, 26, 31, 31,
583 31, 31, 31, 38, 38, 38, 38, 38, 50, 50,
584 50, 50, 50, 54, 54, 54, 54, 54, 58, 58,
585 58, 58, 58, 62, 62, 62, 62, 62, 66, 66,
586 66, 66, 66, 71, 71, 71, 71, 71, 85, 85,
587 87, 87, 178, 87, 91, 91, 91, 91, 91, 97,
588 97, 97, 97, 97, 102, 102, 102, 102, 102, 106,
589 106, 106, 106, 106, 110, 110, 178, 110, 110, 114,
590 114, 114, 114, 114, 122, 122, 122, 122, 122, 132,
591 132, 132, 132, 132, 136, 136, 178, 136, 136, 137,
593 137, 137, 137, 137, 160, 160, 160, 178, 160, 173,
594 173, 173, 178, 173, 23, 178, 178, 178, 178, 178,
595 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
596 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
597 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
598 178, 178, 178, 178, 178
603 0, 5, 5, 111, 5, 46, 5, 70, 5, 6,
604 6, 110, 6, 70, 6, 11, 6, 11, 11, 0,
605 11, 13, 13, 12, 5, 12, 12, 46, 12, 14,
606 14, 0, 6, 7, 7, 7, 7, 15, 15, 51,
607 7, 15, 51, 13, 16, 16, 17, 17, 16, 90,
608 17, 14, 90, 18, 18, 86, 7, 18, 19, 19,
609 19, 19, 84, 19, 20, 20, 20, 20, 83, 20,
610 7, 8, 8, 8, 8, 21, 21, 81, 8, 22,
611 22, 27, 27, 76, 27, 54, 54, 69, 27, 58,
612 58, 66, 28, 28, 8, 28, 37, 21, 36, 28,
614 35, 22, 30, 35, 27, 35, 23, 54, 8, 9,
615 9, 9, 9, 9, 4, 28, 9, 32, 32, 32,
616 32, 53, 53, 35, 32, 53, 60, 60, 3, 53,
617 0, 9, 9, 9, 56, 56, 57, 57, 62, 62,
618 32, 64, 64, 53, 71, 71, 9, 9, 10, 10,
619 10, 10, 10, 61, 61, 10, 56, 0, 57, 65,
620 65, 61, 67, 0, 67, 67, 71, 65, 73, 73,
621 10, 10, 10, 74, 74, 61, 75, 75, 0, 75,
622 0, 65, 0, 75, 80, 10, 10, 80, 82, 80,
623 73, 82, 0, 82, 0, 74, 91, 91, 0, 75,
625 93, 93, 94, 94, 102, 102, 94, 80, 97, 97,
626 0, 82, 99, 99, 156, 100, 100, 156, 91, 104,
627 104, 0, 93, 0, 94, 95, 95, 105, 105, 0,
628 97, 106, 106, 0, 99, 0, 95, 100, 108, 108,
629 105, 109, 109, 113, 113, 95, 112, 95, 112, 112,
630 0, 95, 114, 114, 109, 105, 116, 116, 117, 117,
631 95, 96, 96, 121, 121, 113, 122, 122, 0, 109,
632 124, 124, 96, 0, 114, 125, 125, 0, 116, 161,
633 117, 96, 161, 96, 0, 121, 0, 96, 122, 126,
634 126, 0, 124, 127, 127, 171, 96, 125, 171, 128,
636 128, 130, 130, 131, 131, 0, 132, 132, 134, 134,
637 127, 126, 128, 135, 135, 127, 0, 130, 0, 131,
638 0, 128, 137, 137, 0, 127, 174, 128, 132, 174,
639 134, 0, 130, 0, 131, 135, 139, 139, 140, 140,
640 142, 142, 144, 144, 137, 0, 143, 143, 0, 145,
641 145, 0, 142, 0, 144, 151, 151, 0, 139, 0,
642 140, 145, 142, 0, 143, 148, 148, 142, 143, 144,
643 149, 149, 150, 150, 0, 151, 145, 0, 148, 143,
644 149, 152, 152, 150, 0, 153, 153, 148, 154, 154,
645 151, 0, 149, 148, 153, 149, 157, 157, 150, 155,
647 155, 158, 158, 152, 0, 154, 0, 153, 0, 153,
648 162, 162, 155, 158, 0, 157, 159, 159, 157, 0,
649 154, 0, 163, 163, 162, 165, 165, 155, 158, 0,
650 157, 0, 162, 0, 159, 163, 164, 164, 0, 162,
651 165, 166, 166, 167, 167, 0, 164, 165, 0, 159,
652 163, 0, 167, 168, 168, 165, 0, 170, 170, 172,
653 172, 164, 175, 175, 176, 176, 0, 167, 0, 0,
654 0, 0, 0, 172, 0, 168, 170, 175, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 172, 0,
656 0, 170, 175, 179, 179, 179, 179, 179, 180, 180,
658 180, 180, 180, 181, 181, 181, 181, 181, 182, 182,
659 182, 182, 182, 183, 183, 183, 183, 183, 184, 184,
660 184, 184, 184, 185, 185, 185, 185, 185, 186, 186,
661 186, 186, 186, 187, 187, 187, 187, 187, 188, 188,
662 188, 188, 188, 189, 189, 189, 189, 189, 190, 190,
663 191, 191, 0, 191, 192, 192, 192, 192, 192, 193,
664 193, 193, 193, 193, 194, 194, 194, 194, 194, 195,
665 195, 195, 195, 195, 196, 196, 0, 196, 196, 197,
666 197, 197, 197, 197, 198, 198, 198, 198, 198, 199,
667 199, 199, 199, 199, 200, 200, 0, 200, 200, 201,
669 201, 201, 201, 201, 202, 202, 202, 0, 202, 203,
670 203, 203, 0, 203, 178, 178, 178, 178, 178, 178,
671 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
672 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
673 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
674 178, 178, 178, 178, 178
680 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1,
681 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0,
682 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, };
688 int tclscannerYY_flex_debug = 0;
693 #define REJECT reject_used_but_not_detected 696 #define yymore() ((yy_more_flag) = 1) 697 #define YY_MORE_ADJ (yy_more_len) 698 #define YY_RESTORE_YY_MORE_OFFSET 700 #line 1 "tclscanner.l" 717 #line 19 "tclscanner.l" 753 #define YY_NO_INPUT 1 754 #define YY_NO_UNISTD_H 1 756 #define MAX_INCLUDE_DEPTH 10 760 printf("Error %d %s() at line %d! ",__LINE__,tcl.file_name.data(),tclscannerYYlineno); \ 761 yy_push_state(ERROR); \ 767 printf("Warning %d %s() at line %d: ",__LINE__,tcl.file_name.data(),tclscannerYYlineno); \ 772 if (0) printf("--- %.4d %d@%d: ",__LINE__,tclscannerYYlineno,yy_start_stack_ptr) && printf 776 if (0) printf("--- %.4d %d@%d: %s\n",__LINE__,tclscannerYYlineno,yy_start_stack_ptr,tclscannerYYtext); 783 #define UCHAR (unsigned char) 786 #define ckalloc malloc 788 #define TclCopyAndCollapse(size,src,dest) memcpy(dest,src,size); *(dest+size)=0 794 CONST char **elementPtr,
796 CONST char **nextPtr,
805 CONST char *elemStart;
818 limit = (list + listLength);
819 while ((p < limit) && (isspace(
UCHAR(*p))))
842 *bracePtr = openBraces;
875 else if (openBraces == 1)
877 size = (
int)(p - elemStart);
879 if ((p >= limit) || isspace(
UCHAR(*p)))
914 if ((openBraces == 0) && !inQuotes)
916 size = (
int)(p - elemStart);
928 size = (
int)(p - elemStart);
930 if ((p >= limit) || isspace(
UCHAR(*p)))
959 size = (
int)(p - elemStart);
963 while ((p < limit) && (isspace(
UCHAR(*p))))
967 *elementPtr = elemStart;
980 CONST char ***argvPtr)
994 for (size = 2, l = list; *l != 0; l++)
996 if (isspace(
UCHAR(*l)))
1006 char next = *(l + 1);
1013 if (isspace(
UCHAR(next)))
1021 length = (
int)(l - list);
1023 ((size *
sizeof(
char *)) + length + 1));
1024 for (i = 0, p = ((
char *)
argv) + size*
sizeof(
char *);
1027 CONST char *prevList = list;
1031 length -= (
int)(list - prevList);
1049 memcpy(p, element, (
size_t) elSize);
1074 if (str.
left(1)==
"{" && str.
right(1)==
"}")
1078 else if (str.
left(1)==
"\"" && str.
right(1)==
"\"")
1088 for (
int i = 0; i < argc; i++)
1157 static int yyread(
char *buf,
int max_size);
1160 static void tcl_comment(
int what,
const char *text);
1161 static void tcl_word(
int what,
const char *text);
1162 static void tcl_command(
int what,
const char *text);
1174 myEntry->
brief =
"";
1186 tcl.entry.insert(0,myEntry);
1213 myNm = name0.
mid(2);
1215 else if (ns0.
length() && ns0 !=
" ")
1217 myNm = ns0 +
"::" + name0;
1231 ns = myNm.
mid(0,myStart);
1232 name = myNm.
mid(myStart+2);
1244 if (i>=0 &&
tcl.memberdef)
1261 myEntry =
tcl.ns.find(ns);
1265 myEntry =
tcl.ns.find(
"::");
1267 if (myEntry == NULL)
1272 tcl.entry_main->addSubEntry(myEntry);
1273 tcl.ns.insert(ns,myEntry);
1283 if (!cl.
length())
return(NULL);
1285 myEntry =
tcl.cl.find(cl);
1286 if (myEntry == NULL)
1291 tcl.entry_main->addSubEntry(myEntry);
1292 tcl.cl.insert(cl,myEntry);
1302 static int myInit=1;
1306 myList <<
"append"<<
"apply"<<
"array"<<
"auto_execok"<<
"auto_import"<<
"auto_load"<<
"auto_mkindex"<<
"auto_qualify"<<
"auto_reset";
1308 myList <<
"catch"<<
"cd"<<
"close"<<
"clock"<<
"concat";
1309 myList <<
"eof"<<
"eval"<<
"exec"<<
"exit"<<
"expr";
1310 myList <<
"fblocked"<<
"fconfigure"<<
"file"<<
"fileevent"<<
"flush"<<
"for"<<
"foreach"<<
"format";
1311 myList <<
"gets"<<
"global";
1313 myList <<
"if"<<
"incr"<<
"info"<<
"interp";
1315 myList <<
"lappend"<<
"lassign"<<
"lindex"<<
"linsert"<<
"llength"<<
"load"<<
"lrange"<<
"lrepeat"<<
"lreplace"<<
"lreverse"<<
"lset";
1316 myList <<
"namespace";
1317 myList <<
"package"<<
"parray"<<
"pid"<<
"pkg_mkIndex"<<
"proc"<<
"puts"<<
"pwd";
1318 myList <<
"registry"<<
"rename"<<
"return";
1319 myList <<
"scan"<<
"set"<<
"split"<<
"string"<<
"switch";
1320 myList <<
"tclLog"<<
"tcl_endOfWord"<<
"tcl_findLibrary"<<
"tcl_startOfNextWord"<<
"tcl_startOfPreviousWord"<<
"tcl_wordBreakAfter"<<
"tcl_wordBreakBefore"<<
"tell"<<
"time";
1321 myList <<
"unknown"<<
"upvar";
1322 myList <<
"variable"<<
"vwait";
1324 myList <<
"bell"<<
"bind"<<
"bindtags";
1325 myList <<
"clipboard"<<
"console"<<
"consoleinterp";
1332 myList <<
"pack"<<
"place";
1335 myList <<
"tkerror"<<
"tkwait"<<
"tk_bisque"<<
"tk_focusNext"<<
"tk_focusPrev"<<
"tk_focusFollowsMouse"<<
"tk_popup"<<
"tk_setPalette"<<
"tk_textCut"<<
"tk_TextCopy"<<
"tk_textPaste"<<
"chooseColor"<<
"tk_chooseColor"<<
"tk_chooseDirectory"<<
"tk_dialog"<<
"tk_getOpenFile"<<
"tkDialog"<<
"tk_getSaveFile"<<
"tk_messageBox";
1336 myList <<
"winfo"<<
"wm";
1337 myList <<
"button"<<
"canvas"<<
"checkbutton"<<
"entry"<<
"frame"<<
"image"<<
"label"<<
"labelframe"<<
"listbox"<<
"menu"<<
"menubutton"<<
"message"<<
"panedwindow"<<
"radiobutton"<<
"scale"<<
"scrollbar"<<
"spinbox"<<
"toplevel";
1342 if (str.
left(2)==
"::") {str=str.
mid(2);}
1343 if (myList.
findIndex(str) != -1)
return(1);
1350 if (!
tcl.code)
return;
1353 tcl.code->endFontClass();
1361 if (!
tcl.code || !str)
return;
1362 if (s &&
qstrcmp(s,
"NULL")!=0)
1365 tcl.code->startFontClass(s);
1368 char *
tmp = (
char *) malloc(strlen(str)+1);
1376 while ((c=*p++) && c!=
'\n') {}
1384 tcl.code->codify(sp);
1387 tcl.code->endFontClass();
1389 tcl.code->endCodeLine();
1390 tcl.code->startCodeLine(
tcl.code_linenumbers);
1391 if (
tcl.code_linenumbers)
1393 tcl.code->writeLineNumber(0,0,0,
tcl.code_line);
1397 tcl.code->startFontClass(
tcl.code_font);
1402 tcl.code->codify(sp);
1414 if (
tcl.code==NULL)
return;
1415 char *
tmp= (
char *) malloc(strlen(str)+1);
1424 if (
tcl.code==NULL)
return;
1431 if (!
tcl.code)
return;
1461 if (
qstrcmp(type,
"script") == 0)
1463 myScan =
tcl.scan.at(0);
1477 #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); 1489 #line 1490 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/tclscanner.cpp" 1497 #define COMMENT_NL 6 1498 #define COMMENT_CODE 7 1499 #define COMMENT_VERB 8 1500 #define COMMENTLINE 9 1501 #define COMMENTLINE_NL 10 1503 #ifndef YY_NO_UNISTD_H 1511 #ifndef YY_EXTRA_TYPE 1512 #define YY_EXTRA_TYPE void * 1550 #ifndef YY_SKIP_YYWRAP 1558 static void yyunput (
int c,
char *buf_ptr );
1561 static void yy_flex_strncpy (
char *,
yyconst char *,
int );
1564 #ifdef YY_NEED_STRLEN 1565 static int yy_flex_strlen (
yyconst char * );
1571 static int yyinput (
void );
1573 static int input (
void );
1589 #ifndef YY_READ_BUF_SIZE 1590 #define YY_READ_BUF_SIZE 8192 1598 #define ECHO do { if (fwrite( tclscannerYYtext, tclscannerYYleng, 1, tclscannerYYout )) {} } while (0) 1605 #define YY_INPUT(buf,result,max_size) \ 1606 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 1610 for ( n = 0; n < max_size && \ 1611 (c = getc( tclscannerYYin )) != EOF && c != '\n'; ++n ) \ 1612 buf[n] = (char) c; \ 1614 buf[n++] = (char) c; \ 1615 if ( c == EOF && ferror( tclscannerYYin ) ) \ 1616 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1622 while ( (result = fread(buf, 1, max_size, tclscannerYYin))==0 && ferror(tclscannerYYin)) \ 1624 if( errno != EINTR) \ 1626 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1630 clearerr(tclscannerYYin); \ 1642 #define yyterminate() return YY_NULL 1646 #ifndef YY_START_STACK_INCR 1647 #define YY_START_STACK_INCR 25 1651 #ifndef YY_FATAL_ERROR 1652 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 1661 #define YY_DECL_IS_OURS 1 1665 #define YY_DECL int tclscannerYYlex (void) 1671 #ifndef YY_USER_ACTION 1672 #define YY_USER_ACTION 1677 #define YY_BREAK break; 1680 #define YY_RULE_SETUP \ 1687 register yy_state_type yy_current_state;
1691 #line 797 "tclscanner.l" 1693 #line 1694 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/tclscanner.cpp" 1724 if ( (yy_more_flag) )
1744 if ( yy_accept[yy_current_state] )
1749 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1751 yy_current_state = (
int) yy_def[yy_current_state];
1752 if ( yy_current_state >= 179 )
1753 yy_c = yy_meta[(
unsigned int) yy_c];
1755 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
1758 while ( yy_current_state != 178 );
1763 yy_act = yy_accept[yy_current_state];
1771 if ( tclscannerYYtext[yyl] ==
'\n' )
1773 tclscannerYYlineno++;
1786 goto yy_find_action;
1790 #line 798 "tclscanner.l" 1807 #line 802 "tclscanner.l" 1810 if (
tcl.scan.count()<1)
1813 tcl_err(
"Tcl parser stack empty! Parser error in file '%s'.\n",
tcl.file_name.data());
1816 else if (
tcl.scan.count()==1)
1831 #line 822 "tclscanner.l" 1842 #line 828 "tclscanner.l" 1850 #line 832 "tclscanner.l" 1860 #line 839 "tclscanner.l" 1869 #line 843 "tclscanner.l" 1879 #line 848 "tclscanner.l" 1893 #line 857 "tclscanner.l" 1903 #line 862 "tclscanner.l" 1916 #line 870 "tclscanner.l" 1929 #line 878 "tclscanner.l" 1943 #line 887 "tclscanner.l" 1952 #line 892 "tclscanner.l" 1956 t = t.mid(0,t.length()-1);
1958 t = t.mid(1,t.length());
1965 #line 901 "tclscanner.l" 1975 #line 906 "tclscanner.l" 1985 #line 912 "tclscanner.l" 1989 t = t.left(t.length()-10);
1999 #line 921 "tclscanner.l" 2007 #line 925 "tclscanner.l" 2017 #line 931 "tclscanner.l" 2021 t = t.left(t.length()-14);
2031 #line 940 "tclscanner.l" 2039 #line 944 "tclscanner.l" 2049 #line 950 "tclscanner.l" 2059 #line 955 "tclscanner.l" 2069 #line 961 "tclscanner.l" 2078 #line 967 "tclscanner.l" 2087 #line 972 "tclscanner.l" 2096 #line 976 "tclscanner.l" 2103 tcl.string_commentline +=
t;
2110 #line 985 "tclscanner.l" 2114 tcl.string_commentline += (tclscannerYYtext+2);
2120 #line 990 "tclscanner.l" 2124 if (
tcl.string_commentline.length())
2126 tcl.entry_current->brief =
tcl.string_commentline;
2127 tcl.entry_current->briefLine =
tcl.line_commentline;
2128 tcl.entry_current->briefFile =
tcl.file_name;
2132 tcl.string_commentline=
"";
2133 tcl.string_commentcodify=
"";
2139 #line 1005 "tclscanner.l" 2146 tcl.string_commentline +=
t;
2152 #line 1013 "tclscanner.l" 2162 #line 1019 "tclscanner.l" 2166 t = t.left(t.length()-1);
2167 tcl.string_commentcodify +=
t;
2168 tcl.string_commentline +=
t;
2176 #line 1029 "tclscanner.l" 2180 tcl.string_commentcodify =
tcl.string_commentcodify.left(
tcl.string_commentcodify.length()-2);
2181 tcl.string_commentline =
"";
2192 #line 1040 "tclscanner.l" 2195 tcl.string_commentcodify =
"";
2196 tcl.string_commentline =
"";
2204 #line 1047 "tclscanner.l" 2207 tcl.string_commentcodify =
"";
2208 tcl.string_commentline =
"";
2216 #line 1054 "tclscanner.l" 2219 tcl.string_commentcodify =
"";
2220 tcl.string_commentline =
"";
2221 tcl.line_body1=tclscannerYYlineno-1;
2228 #line 1061 "tclscanner.l" 2236 #line 1065 "tclscanner.l" 2240 tcl.string_last =
"{*}";
2246 #line 1071 "tclscanner.l" 2250 tcl.string_last =
"";
2256 #line 1077 "tclscanner.l" 2260 if (tclscannerYYtext[0]==
'{'||tclscannerYYtext[0]==
'['||tclscannerYYtext[0]==
'"')
tcl.word_is = tclscannerYYtext[0];
2261 tcl.string_last =
"";
2266 #line 1086 "tclscanner.l" 2269 #line 1086 "tclscanner.l" 2277 #line 1089 "tclscanner.l" 2284 #line 1092 "tclscanner.l" 2291 #line 1095 "tclscanner.l" 2298 #line 1098 "tclscanner.l" 2305 #line 1101 "tclscanner.l" 2312 #line 1104 "tclscanner.l" 2319 #line 1107 "tclscanner.l" 2326 #line 1110 "tclscanner.l" 2333 #line 1113 "tclscanner.l" 2341 #line 1116 "tclscanner.l" 2348 #line 1119 "tclscanner.l" 2355 #line 1122 "tclscanner.l" 2362 #line 1125 "tclscanner.l" 2365 #line 2366 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/tclscanner.cpp" 2370 int yy_amount_of_matched_text = (
int) (yy_cp - (
yytext_ptr)) - 1;
2401 yy_state_type yy_next_state;
2420 if ( yy_next_state )
2424 yy_current_state = yy_next_state;
2432 goto yy_find_action;
2485 goto yy_find_action;
2492 "fatal flex scanner internal error--no action found" );
2508 register int number_to_move, i;
2513 "fatal flex scanner internal error--end of buffer missed" );
2539 for ( i = 0; i < number_to_move; ++i )
2540 *(dest++) = *(source++);
2553 while ( num_to_read <= 0 )
2559 int yy_c_buf_p_offset =
2566 if ( new_size <= 0 )
2581 "fatal error - scanner input buffer overflow" );
2624 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
2640 register yy_state_type yy_current_state;
2641 register char *
yy_cp;
2648 if ( yy_accept[yy_current_state] )
2653 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2655 yy_current_state = (
int) yy_def[yy_current_state];
2656 if ( yy_current_state >= 179 )
2657 yy_c = yy_meta[(
unsigned int) yy_c];
2659 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
2662 return yy_current_state;
2672 register int yy_is_jam;
2676 if ( yy_accept[yy_current_state] )
2681 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2683 yy_current_state = (
int) yy_def[yy_current_state];
2684 if ( yy_current_state >= 179 )
2685 yy_c = yy_meta[(
unsigned int) yy_c];
2687 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
2688 yy_is_jam = (yy_current_state == 178);
2690 return yy_is_jam ? 0 : yy_current_state;
2695 register char *
yy_cp;
2702 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->
yy_ch_buf + 2 )
2705 register int number_to_move = (
yy_n_chars) + 2;
2708 register char *source =
2712 *--dest = *--source;
2714 yy_cp += (
int) (dest - source);
2715 yy_bp += (
int) (dest - source);
2719 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->
yy_ch_buf + 2 )
2723 *--yy_cp = (char) c;
2736 static int yyinput (
void)
2738 static int input (
void)
2806 tclscannerYYlineno++;
2886 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYY_create_buffer()" );
2895 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYY_create_buffer()" );
2986 if (new_buffer == NULL)
3037 if (!(yy_buffer_stack)) {
3047 if ( ! (yy_buffer_stack) )
3048 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYYensure_buffer_stack()" );
3050 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3067 if ( ! (yy_buffer_stack) )
3068 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYYensure_buffer_stack()" );
3094 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYY_scan_buffer()" );
3140 n = _yybytes_len + 2;
3143 YY_FATAL_ERROR(
"out of dynamic memory in tclscannerYY_scan_bytes()" );
3145 for ( i = 0; i < _yybytes_len; ++i )
3146 buf[i] = yybytes[i];
3164 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3171 if ( ! (yy_start_stack) )
3177 if ( ! (yy_start_stack) )
3178 YY_FATAL_ERROR(
"out of memory expanding start-condition stack" );
3188 if ( --(yy_start_stack_ptr) < 0 )
3191 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3199 #ifndef YY_EXIT_FAILURE 3200 #define YY_EXIT_FAILURE 2 3205 (void) fprintf(
stderr,
"%s\n", msg );
3216 int yyless_macro_arg = (n); \ 3217 YY_LESS_LINENO(yyless_macro_arg);\ 3218 tclscannerYYtext[tclscannerYYleng] = (yy_hold_char); \ 3219 (yy_c_buf_p) = tclscannerYYtext + yyless_macro_arg; \ 3220 (yy_hold_char) = *(yy_c_buf_p); \ 3221 *(yy_c_buf_p) = '\0'; \ 3222 tclscannerYYleng = yyless_macro_arg; \ 3277 tclscannerYYlineno = line_number;
3303 tclscannerYY_flex_debug = bdebug ;
3313 tclscannerYYlineno = 1;
3372 static void yy_flex_strncpy (
char* s1,
yyconst char * s2,
int n )
3375 for ( i = 0; i <
n; ++i )
3380 #ifdef YY_NEED_STRLEN 3381 static int yy_flex_strlen (
yyconst char * s )
3384 for ( n = 0; s[
n]; ++
n )
3393 return (
void *) malloc( size );
3405 return (
void *) realloc( (
char *) ptr, size );
3410 free( (
char *) ptr );
3413 #define YYTABLES_NAME "yytables" 3415 #line 1125 "tclscanner.l" 3424 tcl_inf(
"line=%d type=%d '%s'\n",
tcl.line_body0,type,content.
ascii());
3430 myScan->
type[0] =
' ';
3431 myScan->
type[1] =
'\0';
3439 if (content[0]==
'"' && content[content.
length()-1]==
'"') myScan->
type[0]=
'"';
3440 if (content[0]==
'{' && content[content.
length()-1]==
'}') myScan->
type[0]=
'{';
3441 if (content[0]==
'[' && content[content.
length()-1]==
']') myScan->
type[0]=
'[';
3443 if (myScan->
type[0]!=
' ')
3446 content = content.
mid(1,content.
length()-2);
3448 content += (char)0x1A;
3457 tclscannerYYlineno=myScan->
line0;
3462 tcl.scan.insert(0,myScan);
3474 if (myScan->
type[0]==
'{') myScan->
type[0]=
'}';
3475 if (myScan->
type[0]==
'[') myScan->
type[0]=
']';
3478 for (
unsigned int i=0;i<myScan->
after.
count();i=i+2)
3480 if (myScan->
after[i]==
"script") {
3490 tclscannerYYlineno=myScan1->
line1;
3495 for (
unsigned int i=myStart+2;i<myScan->
after.
count();i++)
3503 tcl.scan.removeFirst();
3510 static char myList[1024]=
"";
3511 static int myLevel=0;
3512 static int myWhite=0;
3523 case '"': myWord = text[0];
break;
3524 default: myWord =
'.';
3533 tcl_err(
"expected word separator: %s\n",text);
3549 tcl_inf(
"(\\\n) ?%s?\n",
tcl.string_last.data());
3552 switch (myList[myLevel-1])
3564 tcl_inf(
"(\\\n) ?%s?\n",
tcl.string_last.data());
3574 tcl_err(
"expected word separator: %s\n",text);
3577 switch (myList[myLevel-1])
3581 myList[myLevel++]=
'{';
3592 tcl_err(
"expected word separator: %s\n",text);
3595 switch (myList[myLevel-1])
3599 if (myLevel==0 && !
tcl.code)
3613 tcl_err(
"expected word separator: %s\n",text);
3616 switch (myList[myLevel-1])
3623 myList[myLevel++]=
'[';
3631 tcl_err(
"expected word separator: %s\n",text);
3634 switch (myList[myLevel-1])
3650 tcl_err(
"expected word separator: %s\n",text);
3653 switch (myList[myLevel-1])
3658 myList[myLevel++]=
'"';
3675 tcl_inf(
"(%d) ?%s?\n",what,
tcl.string_last.data());
3678 switch (myList[myLevel-1])
3690 tcl_inf(
"(.%d) ?%s?\n",what,
tcl.string_last.data());
3707 tcl_inf(
"(%d) ?%s?\n",what,
tcl.string_last.data());
3710 if (myLevel!=1 || myList[0] !=
'.')
3712 tcl_war(
"level=%d expected=%c\n",myLevel,myList[myLevel-1]);
3717 tcl_inf(
"(.%d) ?%s?\n",what,
tcl.string_last.data());
3722 tcl_err(
"wrong state: %d\n",what);
3725 tcl.string_last += text;
3735 tcl_err(
"comment in comment\n");
3740 tcl.string_comment=
"";
3749 tcl.string_comment=text;
3756 tcl.string_comment+=text;
3759 else if (what==-1 || what == -2)
3763 tcl.string_last=
tcl.string_comment;
3768 tcl.string_last =
"";
3769 tcl_inf(
"-> %s\n",(
const char *)
tcl.string_comment);
3772 tcl.string_comment=
"";
3775 else if (what==98 || what==99)
3777 if (
tcl.this_parser &&
tcl.string_comment.length())
3779 tcl_inf(
"-> %s\n",(
const char *)
tcl.string_comment);
3782 int myLine=
tcl.line_comment;
3789 myI.
addArray(
tcl.string_comment.data(),
tcl.string_comment.length());
3803 Entry *myEntry1=NULL;
3804 if (
tcl.scan.at(0)->entry_fn)
3806 myEntry1=
tcl.scan.at(0)->entry_fn;
3808 else if (
tcl.scan.at(0)->entry_cl)
3810 myEntry1=
tcl.scan.at(0)->entry_cl;
3816 myLine,
FALSE,
tcl.config_autobrief,
FALSE, myProt, myPos, myNew))
3823 myLine0,
FALSE,
tcl.config_autobrief,
FALSE, myProt, myPos0, myNew);
3824 tcl.entry_inside->addSubEntry(myEntry);
3833 myLine0,
FALSE,
tcl.config_autobrief,
FALSE, myProt, myPos0, myNew);
3843 myLine0,
FALSE,
tcl.config_autobrief,
FALSE, myProt, myPos0, myNew);
3844 tcl.entry_inside->addSubEntry(myEntry);
3853 myLine0,
FALSE,
tcl.config_autobrief,
FALSE, myProt, myPos0, myNew);
3861 myProt, myPos, myNew))
3865 tcl.entry_inside->addSubEntry(
tcl.entry_current);
3870 tcl.entry_current->section =
tcl.entry_inside->section;
3871 tcl.entry_current->name =
tcl.entry_inside->name;
3876 tcl.entry_inside->addSubEntry(
tcl.entry_current);
3881 tcl.entry_current->section =
tcl.entry_inside->section;
3882 tcl.entry_current->name =
tcl.entry_inside->name;
3885 if (
tcl.protection != myProt)
3887 tcl.scan.at(0)->protection =
tcl.protection = myProt;
3906 if (!
tcl.entry_current->argList)
3917 if (myArgs1.
count()==2)
3919 myArg->name= (*myArgs1.
at(0)).utf8();
3920 myArg->defval= (*myArgs1.
at(1)).utf8();
3921 if (myArg->defval.isEmpty())
3923 myArg->defval =
" ";
3925 myArglist +=
"?" +
QCString(myArg->name) +
"? ";
3929 myArg->name= (*myArgs.
at(i)).utf8();
3930 myArglist +=
QString(myArg->name) +
" ";
3932 tcl.entry_current->argList->append(myArg);
3934 arglist = myArglist;
3935 tcl.entry_current->args = arglist.
utf8();
3941 if (
tcl.code == NULL || name.
isEmpty())
return;
3951 for (mni.toFirst();(mn=mni.current());++mni)
3959 for (fni.toFirst();(mn=fni.current());++fni)
3970 if (name.
mid(0,2)==
"::")
3972 myName = myName.
mid(2);
3973 myDef = fn.
find(myName);
3979 myName1 =
tcl.scan.at(0)->ns;
3980 if (myName1 ==
" " || myName1 ==
"")
3986 myName1 = myName1 +
"::" + myName;
3988 myDef = fn.
find(myName1);
3991 myDef = fn.
find(myName);
4004 tcl.memberdef->addSourceReferences(myDef);
4009 for (i=0;i<
tcl.scan.count();i++)
4011 callerEntry=
tcl.scan.at(i)->entry_scan;
4017 if (i<
tcl.scan.count())
4021 if (callerName.
mid(0,2)==
"::")
4023 callerName = callerName.
mid(2);
4027 if (!(
tcl.scan.at(0)->ns.stripWhiteSpace().isEmpty()))
4029 callerName =
tcl.scan.at(0)->ns +
"::" + callerEntry->
name;
4033 callerDef = fn.
find(callerName);
4034 if (callerDef!=NULL && myDef!= NULL &&
tcl.collectXRefs)
4061 bool insideQuotes=
false;
4062 unsigned int insideBrackets=0;
4063 unsigned int insideBraces=0;
4064 myName = (*
tcl.list_commandwords.at(i)).utf8();
4074 for (j=0;j<myName.
length();j++)
4077 bool backslashed =
false;
4080 backslashed = myName[j-1]==
'\\';
4086 if (c==
'[' && !backslashed && insideBraces==0)
4090 if (c==
']' && !backslashed && insideBraces==0 && insideBrackets>0)
4094 if (c==
'{' && !backslashed && !insideQuotes && !(ignoreOutermostBraces && j==0))
4098 if (c==
'}' && !backslashed && !insideQuotes && insideBraces>0)
4102 if (c==
'"' && !backslashed && insideBraces==0)
4104 insideQuotes=!insideQuotes;
4107 if (c==
'[' && !backslashed && insideBrackets==1 && insideBraces==0)
4114 else if (c==
']' && !backslashed && insideBrackets==0 && insideBraces==0)
4126 if (i == 0 && myScan == NULL)
4150 for (
unsigned int i = 1; i <
tcl.list_commandwords.count(); i++)
4152 myString += (*
tcl.list_commandwords.at(i)).utf8();
4170 unsigned int lastOptionIndex = 0;
4171 for (i = 2; i<
tcl.list_commandwords.count(); i += 2)
4173 token = (*
tcl.list_commandwords.at(i)).utf8();
4176 lastOptionIndex = i;
4179 if (token[0] ==
'-' && i - lastOptionIndex == 2)
4182 lastOptionIndex = i;
4186 for (i = 2; i <= lastOptionIndex; i++)
4191 if (
tcl.list_commandwords.count() - lastOptionIndex == 5)
4199 bool inBraces =
false;
4200 bool nextIsPattern =
true;
4204 token = (*
tcl.list_commandwords.at(lastOptionIndex + 4)).utf8();
4205 if (token[0] ==
'{')
4208 token = token.
mid(1, token.
length() - 2);
4212 while (token.
length() > 0)
4219 if (elem - token > 0)
4234 if (next - elem - size > 0)
4236 myScan =
tcl_codify_token(myScan,
"NULL", token.
mid(elem - token + size, next - elem - size));
4238 nextIsPattern = !nextIsPattern;
4239 token = token.
mid(next - token);
4247 tcl_war(
"Invalid switch syntax: last token is not a list of even elements.\n");
4251 else if ((
tcl.list_commandwords.count() - lastOptionIndex > 6) &&
4252 ((
tcl.list_commandwords.count() - lastOptionIndex-3) % 4 == 0))
4258 for (i = lastOptionIndex + 3; i <
tcl.list_commandwords.count(); i += 4)
4271 tcl_war(
"Invalid switch syntax: %d options followed by %d tokens.\n",
4272 lastOptionIndex / 2, (
tcl.list_commandwords.count() - 1) / 2 - lastOptionIndex / 2);
4273 for (i = lastOptionIndex + 1; i <=
tcl.list_commandwords.count(); i++)
4290 for (
unsigned int i = 3; i <
tcl.list_commandwords.count(); i++)
4305 for (
unsigned int i = 3;i<
tcl.list_commandwords.count();i++)
4307 if (type[i] ==
"expr")
4315 myScan->
after << type[i] <<
tcl.list_commandwords[i];
4319 myScan=
tcl.scan.at(0);
4336 myScan->
after <<
"NULL" <<
tcl.list_commandwords[3];
4338 myScan->
after <<
"NULL" <<
tcl.list_commandwords[5];
4339 myScan->
after <<
"script" <<
tcl.list_commandwords[6];
4340 myScan->
after <<
"NULL" <<
tcl.list_commandwords[7];
4341 myScan->
after <<
"script" <<
tcl.list_commandwords[8];
4353 for (i = 1;i<
tcl.list_commandwords.count()-1;i++)
4359 myScan->
after <<
"script" <<
tcl.list_commandwords[
tcl.list_commandwords.count()-1];
4363 myScan=
tcl.scan.at(0);
4381 myScan->
after <<
"script" <<
tcl.list_commandwords[4];
4385 myScan=
tcl.scan.at(0);
4396 for (
unsigned int i=0; i<
tcl.list_commandwords.count(); i++)
4429 tcl.entry_current->name = myName;
4430 tcl.entry_current->startLine =
tcl.line_command;
4431 tcl.entry_current->bodyLine =
tcl.line_body0;
4432 tcl.entry_current->endBodyLine =
tcl.line_body1;
4436 myEntry =
tcl.entry_current;
4437 tcl.fn.insert(myName,myEntry);
4439 myEntryNs->
name,NULL,myEntry);
4447 Entry *myEntryCl, *myEntry;
4456 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(2)).utf8(),myNs,myName);
4468 tcl.fn.remove(myName);
4471 tcl.entry_current->name = myName;
4472 tcl.entry_current->startLine =
tcl.line_command;
4473 tcl.entry_current->bodyLine =
tcl.line_body0;
4474 tcl.entry_current->endBodyLine =
tcl.line_body1;
4478 tcl.fn.insert(myName,
tcl.entry_current);
4479 myEntry =
tcl.entry_current;
4481 myNs, myEntryCl, myEntry);
4489 Entry *myEntryCl, *myEntry;
4496 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(0)).utf8(),myNs,myName);
4508 tcl.entry_current->name = myName;
4509 tcl.entry_current->startLine =
tcl.line_command;
4510 tcl.entry_current->bodyLine =
tcl.line_body0;
4511 tcl.entry_current->endBodyLine =
tcl.line_body1;
4515 myEntry =
tcl.entry_current;
4516 tcl.fn.insert(myName,myEntry);
4518 myNs, myEntryCl, myEntry);
4526 Entry *myEntryCl, *myEntry;
4531 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(0)).utf8(),myNs,myName);
4543 tcl.entry_current->name = myName;
4544 tcl.entry_current->startLine =
tcl.line_command;
4545 tcl.entry_current->bodyLine =
tcl.line_body0;
4546 tcl.entry_current->endBodyLine =
tcl.line_body1;
4549 myEntry =
tcl.entry_current;
4550 tcl.fn.insert(myName,myEntry);
4552 myNs, myEntryCl, myEntry);
4569 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(4)).utf8(),myNs,myName);
4572 myName = myNs+
"::"+myName;
4575 tcl.entry_current->name = myName;
4576 tcl.entry_current->startLine =
tcl.line_command;
4577 tcl.entry_current->bodyLine =
tcl.line_body0;
4578 tcl.entry_current->endBodyLine =
tcl.line_body1;
4579 tcl.entry_main->addSubEntry(
tcl.entry_current);
4580 tcl.ns.insert(myName,
tcl.entry_current);
4582 myStr = (*
tcl.list_commandwords.at(6)).utf8();
4583 if (
tcl.list_commandwords.count() > 7)
4585 for (
uint i=7;i<
tcl.list_commandwords.count();i++)
4587 myStr.append((*
tcl.list_commandwords.at(i)).utf8());
4606 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(2)).utf8(),myNs,myName);
4609 myName = myNs+
"::"+myName;
4612 tcl.entry_current->name = myName;
4613 tcl.entry_current->startLine =
tcl.line_command;
4614 tcl.entry_current->bodyLine =
tcl.line_body0;
4615 tcl.entry_current->endBodyLine =
tcl.line_body1;
4616 tcl.entry_main->addSubEntry(
tcl.entry_current);
4617 tcl.cl.insert(myName,
tcl.entry_current);
4618 myEntryCl =
tcl.entry_current;
4620 myName, myEntryCl, NULL);
4638 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(4)).utf8(),myNs,myName);
4641 myName = myNs+
"::"+myName;
4644 tcl.entry_current->name = myName;
4645 tcl.entry_current->startLine =
tcl.line_command;
4646 tcl.entry_current->bodyLine =
tcl.line_body0;
4647 tcl.entry_current->endBodyLine =
tcl.line_body1;
4648 tcl.entry_main->addSubEntry(
tcl.entry_current);
4650 tcl.cl.insert(myName,
tcl.entry_current);
4651 myEntryCl =
tcl.entry_current;
4653 myName, myEntryCl, NULL);
4668 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(2)).utf8(),myNs,myName);
4671 myName = myNs+
"::"+myName;
4674 myStr = (*
tcl.list_commandwords.at(4)).utf8();
4680 unsigned int n =
tcl.list_commandwords.count();
4681 if ((myStr ==
"method" && n == 11) ||
4682 (myStr ==
"constructor" && n == 9) ||
4683 (myStr ==
"destructor" && n == 7))
4685 for (
unsigned int i = 4; i < n-1; i++)
4691 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(n==11?6:4)).utf8(),myNs,myMethod);
4693 tcl.fn.remove(myMethod);
4696 tcl.entry_current->name = myMethod;
4697 tcl.entry_current->startLine =
tcl.line_command;
4698 tcl.entry_current->bodyLine =
tcl.line_body0;
4699 tcl.entry_current->endBodyLine =
tcl.line_body1;
4710 tcl.fn.insert(myMethod,
tcl.entry_current);
4711 myEntry =
tcl.entry_current;
4713 myNs, myEntryCl, myEntry);
4721 if (
tcl.list_commandwords.count() > 5)
4723 for (
uint i=5;i<
tcl.list_commandwords.count();i++)
4725 myStr.append((*
tcl.list_commandwords.at(i)).utf8());
4742 for (
unsigned int i=1; i<
tcl.list_commandwords.count(); i++)
4746 tcl_name(myScan->
ns,(*
tcl.list_commandwords.at(2)).utf8(),myNs,myName);
4750 tcl.entry_current->stat =
true;
4757 tcl.entry_current->stat =
false;
4762 tcl.entry_current->stat =
true;
4766 tcl.entry_current->name = myName;
4767 tcl.entry_current->startLine =
tcl.line_command;
4768 tcl.entry_current->bodyLine =
tcl.line_body0;
4769 tcl.entry_current->endBodyLine =
tcl.line_body1;
4788 tcl.list_commandwords.clear();
4789 tcl.string_command=
"";
4796 if (
tcl.string_last.length())
4798 tcl.list_commandwords.append(
tcl.string_last);
4803 tcl.list_commandwords.append(text);
4818 if (
tcl.string_last !=
"")
4820 tcl.list_commandwords.append(
tcl.string_last);
4826 QCString myStr = (*
tcl.list_commandwords.at(0)).utf8();
4831 if (
tcl.list_commandwords.count() < 3)
4837 if (myStr.
left(2)==
"::") myStr = myStr.
mid(2);
4838 if (
tcl.config_subst.contains(myStr))
4840 myStr=
tcl.config_subst[myStr].utf8();
4842 if (myStr==
"private")
4847 else if (myStr==
"protected")
4852 else if (myStr==
"public")
4861 tcl.list_commandwords.remove(
tcl.list_commandwords.at(1));
4862 tcl.list_commandwords.remove(
tcl.list_commandwords.at(0));
4863 if (
tcl.list_commandwords.count()==1)
4868 myProt =
tcl.protection;
4871 myStr = (*
tcl.list_commandwords.at(0)).utf8();
4873 if (myStr.
left(2)==
"::") myStr = myStr.
mid(2);
4874 if (
tcl.config_subst.contains(myStr))
4876 myStr=
tcl.config_subst[myStr].utf8();
4881 if (
tcl.list_commandwords.count() == 5)
4883 tcl.list_commandwords.append(
"");
4884 tcl.list_commandwords.append(
"");
4886 if (
tcl.list_commandwords.count() != 7) {myLine=__LINE__;
goto command_warn;}
4890 if (myStr==
"method")
4892 if (
tcl.list_commandwords.count() == 5)
4894 tcl.list_commandwords.append(
"");
4895 tcl.list_commandwords.append(
"");
4897 if (
tcl.list_commandwords.count() != 7) {myLine=__LINE__;
goto command_warn;}
4901 if (myStr==
"constructor")
4903 if (
tcl.list_commandwords.count() != 5) {myLine=__LINE__;
goto command_warn;}
4907 if (myStr==
"destructor")
4909 if (
tcl.list_commandwords.count() != 3) {myLine=__LINE__;
goto command_warn;}
4913 if (myStr==
"namespace")
4915 if ((*
tcl.list_commandwords.at(2)).utf8()==
"eval")
4917 if (
tcl.list_commandwords.count() < 7) {myLine=__LINE__;
goto command_warn;}
4924 if (myStr==
"itcl::class")
4926 if (
tcl.list_commandwords.count() != 5) {myLine=__LINE__;
goto command_warn;}
4930 if (myStr==
"itcl::body")
4932 if (
tcl.list_commandwords.count() != 7) {myLine=__LINE__;
goto command_warn;}
4936 if (myStr==
"oo::class")
4938 if ((*
tcl.list_commandwords.at(2)).utf8()==
"create")
4940 if (
tcl.list_commandwords.count() != 7) {myLine=__LINE__;
goto command_warn;}
4947 if (myStr==
"oo::define")
4949 if (
tcl.list_commandwords.count() < 5) {myLine=__LINE__;
goto command_warn;}
4953 if (myStr==
"variable")
4955 if (
tcl.list_commandwords.count() < 3) {myLine=__LINE__;
goto command_warn;}
4956 if (
tcl.scan.at(0)->entry_fn == NULL)
4962 if (myStr==
"common")
4964 if (
tcl.list_commandwords.count() < 3) {myLine=__LINE__;
goto command_warn;}
4965 if (
tcl.scan.at(0)->entry_fn == NULL)
4971 if (myStr==
"inherit" || myStr==
"superclass")
4973 if (
tcl.list_commandwords.count() < 3) {myLine=__LINE__;
goto command_warn;}
4974 if (
tcl.scan.at(0)->entry_cl &&
tcl.scan.at(0)->entry_cl->name!=
"")
4976 for (
unsigned int i = 2; i <
tcl.list_commandwords.count(); i = i + 2)
4987 if (myStr==
"switch")
4989 if (
tcl.list_commandwords.count() < 5) {myLine=__LINE__;
goto command_warn;}
4995 if (
tcl.list_commandwords.count() < 3) {myLine=__LINE__;
goto command_warn;}
5001 if (
tcl.list_commandwords.count() < 3) {myLine=__LINE__;
goto command_warn;}
5007 if (
tcl.list_commandwords.count() != 9) {myLine=__LINE__;
goto command_warn;}
5011 if (myStr==
"foreach")
5013 if (
tcl.list_commandwords.count() < 7 ||
tcl.list_commandwords.count()%2==0) {myLine=__LINE__;
goto command_warn;}
5020 if (myStr==
"if" &&
tcl.list_commandwords.count() > 4)
5023 myType <<
"keyword" <<
"NULL" <<
"expr" <<
"NULL";
5025 for (
unsigned int i = 4; i <
tcl.list_commandwords.count(); i = i + 2)
5027 QCString myStr=(*
tcl.list_commandwords.at(i)).utf8();
5033 myType <<
"keyword" <<
"NULL";
5038 myType <<
"script" <<
"NULL";
5041 else if (myState==
't')
5044 myType <<
"script" <<
"NULL";
5046 else if (myState==
'b')
5048 if (myStr==
"elseif") {
5050 myType <<
"keyword" <<
"NULL";
5052 else if (myStr==
"else" && i==
tcl.list_commandwords.count()-3)
5055 myType <<
"keyword" <<
"NULL" <<
"script";
5056 i =
tcl.list_commandwords.count();
5058 else if (i==
tcl.list_commandwords.count()-1)
5062 i =
tcl.list_commandwords.count();
5066 myLine=__LINE__;
goto command_warn;
5069 else if (myState==
'i')
5072 myType <<
"expr" <<
"NULL";
5075 if (myState !=
'b') {myLine=__LINE__;
goto command_warn;}
5081 if (
tcl.list_commandwords.count() != 5) {myLine=__LINE__;
goto command_warn;}
5088 tcl_war(
"%d count=%d: %s\n",myLine,
tcl.list_commandwords.count(),
tcl.list_commandwords.join(
" ").ascii());
5093 if(myScanBackup==
tcl.scan.at(0))
5099 tcl.scan.at(0)->after <<
"comment" << myText;
5102 tcl.list_commandwords.clear();
5104 tcl.protection = myProt;
5112 tcl.config_subst.clear();
5116 const char *s=myStrList.
first();
5120 int i=myStr.
find(
'=');
5126 tcl_inf(
"TCL_SUBST: use '%s'\n",s);
5127 tcl.config_subst[myName] = myValue;
5129 s = myStrList.
next();
5133 if (
tcl.input_string.at(
tcl.input_string.length()-1) == 0x1A)
5136 else if (
tcl.input_string.at(
tcl.input_string.length()-1) ==
'\n')
5138 tcl.input_string[
tcl.input_string.length()-1] = 0x1A;
5142 tcl.input_string += 0x1A;
5148 tcl.code_linenumbers=1;
5150 tcl.input_position = 0;
5151 tcl.file_name = NULL;
5152 tcl.this_parser = NULL;
5156 tcl.bracket_level=0;
5157 tcl.bracket_quote=0;
5159 tcl.string_command=
"";
5160 tcl.string_commentline=
"";
5161 tcl.string_commentcodify=
"";
5162 tcl.string_comment =
"";
5163 tcl.string_last =
"";
5164 tcl.entry_main = NULL;
5165 tcl.entry_file = NULL;
5166 tcl.entry_current = NULL;
5167 tcl.entry_inside = NULL;
5168 tcl.list_commandwords.clear();
5173 tclscannerYYlineno = 1;
5175 tcl.memberdef = NULL;
5184 tcl.entry_file->name =
tcl.file_name;
5187 tcl.entry_main->addSubEntry(
tcl.entry_file);
5190 tcl.entry_main->addSubEntry(myEntry);
5191 tcl.ns.insert(
"::",myEntry);
5196 tclscannerYYlineno=1;
5198 myScan->
type[0]=
' ';myScan->
type[1]=
'\n';
5206 tcl.entry_inside =
tcl.entry_file;
5208 tcl.scan.insert(0,myScan);
5228 if (strlen(input)<1)
return;
5231 if (
tcl.input_string.length()<1)
return;
5232 printlex(tclscannerYY_flex_debug,
TRUE, __FILE__, fileName);
5234 msg(
"Parsing %s...\n",fileName);
5240 tcl.this_parser =
this;
5241 tcl.entry_main = root;
5246 printlex(tclscannerYY_flex_debug,
FALSE, __FILE__, fileName);
5251 const char * scopeName,
5254 bool isExampleBlock,
5255 const char * exampleName,
5259 bool inlineFragment,
5261 bool showLineNumbers,
5271 (void)inlineFragment;
5275 if (input.
length()<1)
return;
5317 tcl_inf(
"%s (%d,%d) %d %d\n",myStr.
ascii(),startLine,endLine,isExampleBlock,inlineFragment);
5326 tcl.memberdef = memberDef;
5327 tcl.code = &codeOutIntf;
5332 tclscannerYYlineno=startLine;
5333 tcl.code_linenumbers = showLineNumbers;
5335 tcl.code->startCodeLine(
tcl.code_linenumbers);
5336 if (
tcl.code_linenumbers)
5338 tcl.code->writeLineNumber(0,0,0,
tcl.code_line);
5341 tcl.this_parser = NULL;
5344 tcl.code->endCodeLine();
5373 while ( c < max_size &&
tcl.input_string.at(
tcl.input_position) )
5375 *buf =
tcl.input_string.at(
tcl.input_position++) ;
5390 #if !defined(YY_FLEX_SUBMINOR_VERSION) 5393 void tclscannerYYdummy() { yy_flex_realloc(0,0); }
YY_BUFFER_STATE tclscannerYY_scan_string(yyconst char *yy_str)
void tclscannerYYpop_buffer_state(void)
QGString program
the program text
unsigned char flex_uint8_t
Q_EXPORT int qstrncmp(const char *str1, const char *str2, uint len)
static MemberNameSDict * functionNameSDict
static int yy_start_stack_depth
int TclFindElement(CONST char *list, int listLength, CONST char **elementPtr, CONST char **nextPtr, int *sizePtr, int *bracePtr)
#define tcl_err
Application error.
static void tcl_command(int what, const char *text)
unsigned int flex_uint32_t
QCString string_commentline
This class represents an function or template argument list.
static int yy_get_next_buffer(void)
static int yy_start_stack_ptr
QCString stripWhiteSpace() const
static tcl_scan * tcl_scan_start(char type, QString content, QCString ns, Entry *entry_cls, Entry *entry_fn)
Start new scan context for given 'content'.
static yyconst flex_int32_t yy_rule_can_match_eol[56]
#define YY_RESTORE_YY_MORE_OFFSET
FILE * tclscannerYYget_out(void)
static YY_BUFFER_STATE * yy_buffer_stack
Iterator append(const T &x)
void parsePrototype(const char *text)
static void tcl_command_OTHER()
Handle all other commands.
static void yyunput(int c, char *buf_ptr)
QCString getReference() const
void msg(const char *fmt,...)
void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
static void tcl_command_FOREACH()
! Handle internal tcl commands.
void tclscannerYYset_in(FILE *in_str)
void tclscannerYYset_out(FILE *out_str)
QCString displayName(bool=TRUE) const
static void tcl_command_EVAL()
Handle internal tcl commands.
Abstract interface for programming language parsers.
type * find(const char *k) const
void insert(const char *k, const type *d)
QString mid(uint index, uint len=0xffffffff) const
static int yy_top_state(void)
#define tcl_inf
Application message.
void tcl_split_list(QString &str, QStringList &list)
unsigned short int flex_uint16_t
void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)
Parse file and codify.
YY_BUFFER_STATE buffer_state
#define YY_INPUT(buf, result, max_size)
void addSubEntry(Entry *e)
const std::string instance
#define Config_getList(val)
QCString left(uint len) const
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
int tclscannerYYlex_destroy(void)
char * tclscannerYYget_text(void)
int errno
Contains the last error code.
QCString displayName(bool includeScope=TRUE) const
int find(char c, int index=0, bool cs=TRUE) const
static yyconst flex_int16_t yy_accept[179]
static yy_state_type yy_get_previous_state(void)
void setName(const QString &name)
void parseInput(const char *fileName, const char *fileBuf, Entry *root, bool sameTranslationUnit, QStrList &filesInSameTranslationUnit)
Parse text file and build up entry tree.
The QChar class provides a light-weight Unicode character.
int findRev(char c, int index=-1, bool cs=TRUE) const
void tclscannerYYset_debug(int debug_flag)
static void yy_pop_state(void)
int tclscannerYYlex(void)
static tcl_scan * tcl_codify_token(tcl_scan *myScan, const QCString type, const QCString string)
codify a string token
static int yy_did_buffer_switch_on_eof
Entry * tcl_entry_class(const QCString cl)
QCString string_commentcodify
YY_BUFFER_STATE tclscannerYY_create_buffer(FILE *file, int size)
static yyconst flex_int32_t yy_meta[41]
static yyconst flex_int16_t yy_chk[656]
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
static void tcl_command_NAMESPACE()
Handle namespace statements.
This class contains the information about the argument of a function or template. ...
static void yy_push_state(int new_state)
static yyconst flex_int16_t yy_def[204]
static void tcl_parse(const QCString ns, const QCString cls)
Start parsing.
static void tcl_comment(int what, const char *text)
Handling of comment parsing.
static int yy_init_globals(void)
static void tcl_command_CATCH()
Handle internal tcl commands.
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
static int tcl_keyword(QCString str)
Check for keywords.
static char * yy_last_accepting_cpos
#define tclscannerYYwrap(n)
YY_EXTRA_TYPE tclscannerYYget_extra(void)
const char * ascii() const
QCString brief
brief description (doc block)
void addArray(const char *a, int len)
void tclscannerYY_flush_buffer(YY_BUFFER_STATE b)
static void tcl_font_end()
End codifying with special font class.
QString left(uint len) const
static void tcl_init()
Common initializations.
QCString right(uint len) const
static yyconst flex_int16_t yy_base[204]
void * tclscannerYYrealloc(void *, yy_size_t)
static void yy_fatal_error(yyconst char msg[])
QStringList list_commandwords
static void tcl_scan_end()
Close current scan context.
#define TclCopyAndCollapse(size, src, dest)
static size_t yy_buffer_stack_top
#define YY_STATE_EOF(state)
static tcl_scan * tcl_command_ARG(tcl_scan *myScan, unsigned int i, bool ignoreOutermostBraces)
scan general argument for brackets
YY_BUFFER_STATE tclscannerYY_scan_bytes(yyconst char *bytes, int len)
A bunch of utility functions.
static void tcl_command_ARGLIST(QString &arglist)
Parse given arglist .
#define EOB_ACT_LAST_MATCH
const char * data() const
CodeOutputInterface * code
bool needsPreprocessing(const QCString &extension)
Protection protection
class protection
#define Config_getBool(val)
int findIndex(const T &x) const
#define EOB_ACT_END_OF_FILE
ClassDef * getClassDef() const
Entry * tcl_entry_namespace(const QCString ns)
static void tcl_command_PROC()
Handle proc statements.
static void tcl_codify_cmd(const char *s, int i)
static void tcl_command_METHOD()
Handle itcl::body statements and oo::define method and method inside itcl::class statements.
void tclscannerYYrestart(FILE *input_file)
void tcl_protection(Entry *entry)
Set protection level.
Entry * tcl_entry_new()
Create new entry.
#define YY_START_STACK_INCR
int tclscannerYYget_leng(void)
Buffer used to store strings.
QCString mid(uint index, uint len=0xffffffff) const
#define YY_CURRENT_BUFFER
The QFile class is an I/O device that operates on files.
static void tcl_command_OO_DEFINE()
Handle oo::define statements.
FILE * tclscannerYYget_in(void)
static void tcl_codify_link(QCString name)
Create link.
void addDocCrossReference(MemberDef *src, MemberDef *dst)
void tclscannerYYpush_buffer_state(YY_BUFFER_STATE new_buffer)
static void tclscannerYYensure_buffer_stack(void)
#define YY_DO_BEFORE_ACTION
#define tcl_war
Application warning.
struct yy_buffer_state * YY_BUFFER_STATE
QCString qualifiedName() const
static MemberNameSDict * memberNameSDict
static yyconst flex_int16_t yy_nxt[656]
static int yyread(char *buf, int max_size)
static void tcl_command_DESTRUCTOR()
Handle destructor statements inside class definitions.
void addSourceReferencedBy(MemberDef *d)
void tclscannerYYfree(void *)
QCString fileName() const
static void tclscannerYY_load_buffer_state(void)
static int * yy_start_stack
#define YY_CURRENT_BUFFER_LVALUE
QCString fileName
file this entry was extracted from
QCString getOutputFileBase() const
QMap< QString, QString > config_subst
void resetCodeParserState()
NamespaceDef * getNamespaceDef() const
int Tcl_SplitList(CONST char *list, int *argcPtr, CONST char ***argvPtr)
void tclscannerYYset_extra(YY_EXTRA_TYPE user_defined)
void tclscannerYY_switch_to_buffer(YY_BUFFER_STATE new_buffer)
static void tcl_command_ITCL_CLASS()
Handle itcl::class statements.
QCString memberTypeName() const
static yyconst flex_int32_t yy_ec[256]
static void tcl_command_WHILE()
! Handle internal tcl commands.
MethodTypes mtype
signal, slot, (dcop) method, or property?
ParserInterface * this_parser
#define YY_FATAL_ERROR(msg)
static void tcl_word(int what, const char *text)
Handling of word parsing.
static void tcl_command_FOR()
Handle internal tcl commands.
static void tcl_name_SnippetAware(const QCString &ns0, const QCString &name0, QCString &ns, QCString &name)
Check name. Strip namespace qualifiers from name0 if inside inlined code segment. ...
void tclscannerYY_delete_buffer(YY_BUFFER_STATE b)
static void tcl_command_IF(QStringList type)
Handle internal tcl commands.
static void tcl_command_VARIABLE(int inclass)
Handle variable statements.
void tclscannerYYset_lineno(int line_number)
void * tclscannerYYalloc(yy_size_t)
Q_EXPORT int qstrcmp(const char *str1, const char *str2)
SrcLangExt lang
programming language in which this entry was found
static size_t yy_buffer_stack_max
int tclscannerYY_flex_debug
int tclscannerYYget_debug(void)
static void tcl_command_SWITCH()
Handle internal tcl commands.
YY_BUFFER_STATE tclscannerYY_scan_buffer(char *base, yy_size_t size)
#define EOB_ACT_CONTINUE_SCAN
byte bytes
Alias for common language habits.
static void tcl_name(const QCString &ns0, const QCString &name0, QCString &ns, QCString &name)
Check name.
#define YY_END_OF_BUFFER_CHAR
static void tclscannerYY_init_buffer(YY_BUFFER_STATE b, FILE *file)
void dropFromStart(uint bytes)
Portable versions of functions that are platform dependent.
QString right(uint len) const
static void tcl_command_OO_CLASS()
Handle oo::class statements.
static yy_state_type yy_last_accepting_state
QCString & append(const char *s)
static void tcl_command_CONSTRUCTOR()
Handle constructor statements inside class definitions.
int tclscannerYYget_lineno(void)
Structure containing information about current scan context.
int section
entry type (see Sections);
static void tcl_codify(const char *s, const char *str)
Codify 'str' with special font class 's'.
#define YY_BUFFER_EOF_PENDING