📄 itcl.c
字号:
} } if (equaltIdent (yyP3, (ipublic))) {/* line 469 "itcl.puma" */ {/* line 470 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PUBLIC); } return; } if (equaltIdent (yyP3, (iprotected))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) {/* line 472 "itcl.puma" */ {/* line 474 "itcl.puma" */ if (! (yyP2->one_word.ident == ivariable || yyP2->one_word.ident == icommon)) goto yyL13; {/* line 475 "itcl.puma" */ yyP3 = yyP2->one_word.ident; yyP2 = yyP2->one_word.next; attr = PAF_PROTECTED; goto yyRecursion; } }yyL13:; } } } if (equaltIdent (yyP3, (iprotected))) { if (yyP2->word_c.next->Kind == knoword) {/* line 477 "itcl.puma" */ {/* line 478 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, PAF_PROTECTED); } return; } } if (equaltIdent (yyP3, (iprotected))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) { if (yyP2->word_c.next->word_c.next->Kind == kqual_word) {/* line 480 "itcl.puma" */ {/* line 483 "itcl.puma" */ relocate (yyP2->word_c.next->word_c.next->qual_word.qualification, menv (mnoobject (), yyP2->word_c.next->word_c.next->qual_word.env, yyP2->word_c.next->word_c.next));/* line 484 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PROTECTED); } return; } } } if (equaltIdent (yyP3, (iprotected))) {/* line 486 "itcl.puma" */ {/* line 487 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PROTECTED); } return; } if (equaltIdent (yyP3, (iprivate))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) {/* line 489 "itcl.puma" */ {/* line 491 "itcl.puma" */ if (! (yyP2->one_word.ident == ivariable || yyP2->one_word.ident == icommon)) goto yyL17; {/* line 492 "itcl.puma" */ yyP3 = yyP2->one_word.ident; yyP2 = yyP2->one_word.next; attr = PAF_PRIVATE; goto yyRecursion; } }yyL17:; } } } if (equaltIdent (yyP3, (iprivate))) { if (yyP2->word_c.next->Kind == knoword) {/* line 494 "itcl.puma" */ {/* line 495 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, PAF_PRIVATE); } return; } } if (equaltIdent (yyP3, (iprivate))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) { if (yyP2->word_c.next->word_c.next->Kind == kqual_word) {/* line 497 "itcl.puma" */ {/* line 500 "itcl.puma" */ relocate (yyP2->word_c.next->word_c.next->qual_word.qualification, menv (mnoobject (), yyP2->word_c.next->word_c.next->qual_word.env, yyP2->word_c.next->word_c.next));/* line 501 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PRIVATE); } return; } } } if (equaltIdent (yyP3, (iprivate))) {/* line 503 "itcl.puma" */ {/* line 504 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PRIVATE); } return; } if (equaltIdent (yyP3, (iinherit))) {/* line 514 "itcl.puma" */ {/* line 515 "itcl.puma" */ need_pass_2 = rtrue; } return; } if (equaltIdent (yyP3, (iappend))) {/* line 517 "itcl.puma" */ {/* line 518 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, default_attr); } return; } if (equaltIdent (yyP3, (ilappend))) {/* line 520 "itcl.puma" */ {/* line 521 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, default_attr); } return; } if (equaltIdent (yyP3, (iarray))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (iset))) {/* line 523 "itcl.puma" */ {/* line 525 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_WRITE, default_attr); } return; } } } } if (equaltIdent (yyP3, (iarray))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) {/* line 527 "itcl.puma" */ {/* line 528 "itcl.puma" */ add_var (yyP2->word_c.next, PAF_REF_READ, default_attr); } return; } } if (equaltIdent (yyP3, (ibinary))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next->word_c.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (iscan))) {/* line 530 "itcl.puma" */ {/* line 534 "itcl.puma" */ add_vars (yyP2->one_word.next->word_c.next->word_c.next, PAF_REF_WRITE); } return; } } } } } } if (equaltIdent (yyP3, (iscan))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) { if (Tree_IsType (yyP2->word_c.next->word_c.next, kword_c)) {/* line 536 "itcl.puma" */ {/* line 539 "itcl.puma" */ add_vars (yyP2->word_c.next->word_c.next, PAF_REF_WRITE); } return; } } } if (equaltIdent (yyP3, (iforeach))) {/* line 541 "itcl.puma" */ {/* line 542 "itcl.puma" */ add_foreach_vars (yyP2); } return; } if (equaltIdent (yyP3, (ivwait))) {/* line 544 "itcl.puma" */ {/* line 545 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, default_attr); } return; } if (equaltIdent (yyP3, (iincr))) {/* line 547 "itcl.puma" */ {/* line 548 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, default_attr); } return; } if (equaltIdent (yyP3, (iparray))) {/* line 550 "itcl.puma" */ {/* line 551 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, default_attr); } return; } if (equaltIdent (yyP3, (icatch))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) {/* line 553 "itcl.puma" */ {/* line 554 "itcl.puma" */ add_var (yyP2->word_c.next, PAF_REF_WRITE, default_attr); } return; } } if (equaltIdent (yyP3, (igets))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) {/* line 556 "itcl.puma" */ {/* line 557 "itcl.puma" */ add_var (yyP2->word_c.next, PAF_REF_WRITE, default_attr); } return; } } if (equaltIdent (yyP3, (iinfo))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (iexists))) {/* line 559 "itcl.puma" */ {/* line 561 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_READ, default_attr); } return; } } } } if (equaltIdent (yyP3, (iinfo))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (iargs))) {/* line 563 "itcl.puma" */ {/* line 565 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_READ, default_attr); } return; } } } } if (equaltIdent (yyP3, (iinfo))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (ibody))) {/* line 567 "itcl.puma" */ {/* line 569 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_READ, default_attr); } return; } } } } if (equaltIdent (yyP3, (iinfo))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next->word_c.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (idefault))) {/* line 571 "itcl.puma" */ {/* line 575 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_READ, default_attr);/* line 576 "itcl.puma" */ add_var (yyP2->one_word.next->word_c.next->word_c.next, PAF_REF_WRITE, default_attr); } return; } } } } } } if (equaltIdent (yyP3, (itkinfo))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (ivariable))) {/* line 578 "itcl.puma" */ {/* line 580 "itcl.puma" */ add_var (yyP2->one_word.next, PAF_REF_READ, default_attr); } return; } } } } if (equaltIdent (yyP3, (ifile))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (ilstat))) {/* line 582 "itcl.puma" */ {/* line 585 "itcl.puma" */ add_var (yyP2->one_word.next->word_c.next, PAF_REF_WRITE, default_attr); } return; } } } } } if (equaltIdent (yyP3, (ifile))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) { if (Tree_IsType (yyP2->one_word.next->word_c.next, kword_c)) { if (equaltIdent (yyP2->one_word.ident, (istat))) {/* line 587 "itcl.puma" */ {/* line 590 "itcl.puma" */ add_var (yyP2->one_word.next->word_c.next, PAF_REF_WRITE, default_attr); } return; } } } } } if (equaltIdent (yyP3, (iunset))) {/* line 592 "itcl.puma" */ {/* line 593 "itcl.puma" */ add_vars (yyP2, PAF_REF_WRITE); } return; } if (equaltIdent (yyP3, (isource))) { if (yyP2->word_c.next->Kind == knoword) {/* line 603 "itcl.puma" */ {/* line 604 "itcl.puma" */ include (yyP2); } return; } };}static void include#if defined __STDC__ | defined __cplusplus(register tTree yyP4)#else(yyP4) register tTree yyP4;#endif{ if (yyP4->Kind == kone_word) {/* line 611 "itcl.puma" */ {/* line 612 "itcl.puma" */ put_symbol (PAF_INCLUDE_DEF, NULL, GetCStr (yyP4->one_word.ident), current_file, (int) yyP4->one_word.pos . Line, (int) yyP4->one_word.pos . Column - 1, (int) yyP4->one_word.pos . Line, (int) (yyP4->one_word.pos . Column + StLength (GetStringRef (yyP4->one_word.ident)) - 1), 0, NULL, NULL, NULL, NULL, 0, 0, 0, 0); } return; } if (yyP4->Kind == kqual_word) {/* line 617 "itcl.puma" */ return; } if (yyP4->Kind == kqual_words) {/* line 619 "itcl.puma" */ return; };}static void add_global_vars#if defined __STDC__ | defined __cplusplus(register tTree w)#else(w) register tTree w;#endif{ yyRecursion: if (w->Kind == kone_word) {/* line 635 "itcl.puma" */ { register tTree yyV1; register tTree yyV2; {/* line 636 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead) yyV1->object.object = w; yyV1->object.ident = w->one_word.ident; yyV1->object.next = genv -> env . objects; genv -> env . objects = yyV1;/* line 637 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV2,kobject,Tree_InitHead) yyV2->object.object = w; yyV2->object.ident = w->one_word.ident; yyV2->object.next = w->one_word.env -> env . objects; w->one_word.env -> env . objects = yyV2;/* line 638 "itcl.puma" */ w->one_word.env = genv;/* line 639 "itcl.puma" */ dcl (genv -> env . objects, PAF_PUBLIC);/* line 640 "itcl.puma" */ w = w->one_word.next; goto yyRecursion; } } } if (w->Kind == kqual_word) { if (w->qual_word.qualification->Kind == kglobal_ident) {/* line 652 "itcl.puma" */ { register tTree yyV1; register tTree yyV2; {/* line 654 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead) yyV1->object.object = w->qual_word.qualification; yyV1->object.ident = w->qual_word.qualification->global_ident.ident; yyV1->object.next = genv -> env . objects; genv -> env . objects = yyV1;/* line 655 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV2,kobject,Tree_InitHead) yyV2->object.object = w->qual_word.qualification; yyV2->object.ident = w->qual_word.qualification->global_ident.ident; yyV2->object.next = w->qual_word.qualification->global_ident.env -> env . objects; w->qual_word.qualification->global_ident.env -> env . objects = yyV2;/* line 656 "itcl.puma" */ w->qual_word.qualification->global_ident.env = genv;/* line 657 "itcl.puma" */ dcl (w->qual_word.qualification->global_ident.env -> env . objects, PAF_PUBLIC);/* line 658 "itcl.puma" */ w = w->qual_word.next; goto yyRecursion; } } }/* line 660 "itcl.puma" */ {/* line 662 "itcl.puma" */ w = w->qual_word.next; goto yyRecursion; } } if (w->Kind == kqual_words) {/* line 660 "itcl.puma" */ {/* line 662 "itcl.puma" */ w = w->qual_words.next; goto yyRecursion; } };}static void add_variable_vars#if defined __STDC__ | defined __cplusplus(register tTree w, register int acc, register int attr)#else(w, acc, attr) register tTree w; register int acc; register int attr;#endif{/* line 669 "itcl.puma" */ tTree obj, e2; yyRecursion: if (w->Kind == kone_word) { if (w->one_word.env->Kind == kenv) {/* line 671 "itcl.puma" */ { register tTree yyV1; {/* line 672 "itcl.puma" */ if (! (! Tree_IsType (w->one_word.env->env.object, kproc_c))) goto yyL1; {/* line 673 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead) yyV1->object.object = w; yyV1->object.ident = w->one_word.ident; yyV1->object.next = w->one_word.env -> env . objects; w->one_word.env -> env . objects = yyV1;/* line 674 "itcl.puma" */ dcl (w->one_word.env -> env . objects, attr);/* line 675 "itcl.puma" */ if (acc == PAF_REF_WRITE) use (w->one_word.env->env.objects, w->one_word.pos, acc); } } return; }yyL1:; }/* line 677 "itcl.puma" */ {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -