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

📄 itcl.c

📁 这是一个Linux下的集成开发环境
💻 C
📖 第 1 页 / 共 5 页
字号:
  register tTree yyV1;  {/* line 678 "itcl.puma" */   e2 = get_namespace (w->one_word.env);/* line 679 "itcl.puma" */   obj = IdentifyLocal (w->one_word.ident, e2 -> env . objects);/* line 680 "itcl.puma" */   if (! (obj != NULL)) goto yyL2;  {/* line 681 "itcl.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead)    yyV1->object.object = obj -> object . object;    yyV1->object.ident = w->one_word.ident;    yyV1->object.next = w->one_word.env -> env . objects;   w->one_word.env -> env . objects = yyV1;/* line 682 "itcl.puma" */   use (w->one_word.env -> env . objects, w->one_word.pos, acc);  }  }   return; }yyL2:;/* line 684 "itcl.puma" */ {  register tTree yyV1;  register tTree yyV2;  {/* line 685 "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 = e2 -> env . objects;   e2 -> env . objects = yyV1;/* line 686 "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 687 "itcl.puma" */   w->one_word.env = e2;/* line 688 "itcl.puma" */   dcl (e2 -> env . objects, attr);/* line 689 "itcl.puma" */  if (acc == PAF_REF_WRITE) use (e2->env.objects, w->one_word.pos, acc);   }   return; }  }  if (w->Kind == kqual_word) {/* line 691 "itcl.puma" */  {/* line 692 "itcl.puma" */   w = w->qual_word.qualification;   goto yyRecursion;  }  }  if (w->Kind == kqual_words) {/* line 694 "itcl.puma" */   return;  }  if (w->Kind == kglobal_ident) {/* line 696 "itcl.puma" */ {  register tTree yyV1;  {/* line 697 "itcl.puma" */   obj = IdentifyGlobal (w->global_ident.ident);/* line 698 "itcl.puma" */   if (! (obj != NULL)) goto yyL6;  {/* line 699 "itcl.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead)    yyV1->object.object = obj -> object . object;    yyV1->object.ident = w->global_ident.ident;    yyV1->object.next = w->global_ident.env -> env . objects;   w->global_ident.env -> env . objects = yyV1;/* line 700 "itcl.puma" */   use (w->global_ident.env -> env . objects, w->global_ident.pos, acc);  }  }   return; }yyL6:;/* line 702 "itcl.puma" */ {  register tTree yyV1;  register tTree yyV2;  {/* line 703 "itcl.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead)    yyV1->object.object = w;    yyV1->object.ident = w->global_ident.ident;    yyV1->object.next = genv -> env . objects;   genv -> env . objects = yyV1;/* line 704 "itcl.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yobject,MakeTree,yyV2,kobject,Tree_InitHead)    yyV2->object.object = w;    yyV2->object.ident = w->global_ident.ident;    yyV2->object.next = w->global_ident.env -> env . objects;   w->global_ident.env -> env . objects = yyV2;/* line 705 "itcl.puma" */   w->global_ident.env = genv;/* line 706 "itcl.puma" */   dcl (genv -> env . objects, attr);/* line 707 "itcl.puma" */  if (acc == PAF_REF_WRITE) use (genv->env.objects, w->global_ident.pos, acc);   }   return; }  }  if (w->Kind == kqualification) {/* line 709 "itcl.puma" */  {/* line 711 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->Kind == kcomplex_qual) {/* line 709 "itcl.puma" */  {/* line 711 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  };}static void add_vars#if defined __STDC__ | defined __cplusplus(register tTree yyP5, register int acc)#else(yyP5, acc) register tTree yyP5; register int acc;#endif{ yyRecursion:  if (Tree_IsType (yyP5, kword_c)) {/* line 718 "itcl.puma" */  {/* line 719 "itcl.puma" */   add_var (yyP5, acc, default_attr);/* line 720 "itcl.puma" */   yyP5 = yyP5->word_c.next;   goto yyRecursion;  }  };}static void add_foreach_vars#if defined __STDC__ | defined __cplusplus(register tTree yyP6)#else(yyP6) register tTree yyP6;#endif{ yyRecursion:  if (yyP6->Kind == kqual_word) {  if (Tree_IsType (yyP6->qual_word.next, kword_c)) {  if (yyP6->qual_word.qualification->Kind == klocal_text) {  if (yyP6->qual_word.qualification->local_text.texts->Kind == kblock) {/* line 727 "itcl.puma" */  {/* line 729 "itcl.puma" */   add_foreach_vars (yyP6->qual_word.qualification->local_text.texts->block.stmts);/* line 730 "itcl.puma" */   yyP6 = yyP6->qual_word.next->word_c.next;   goto yyRecursion;  }  }  }  }  }  if (Tree_IsType (yyP6, kword_c)) {  if (Tree_IsType (yyP6->word_c.next, kword_c)) {/* line 732 "itcl.puma" */  {/* line 733 "itcl.puma" */   add_var (yyP6, PAF_REF_WRITE, default_attr);/* line 734 "itcl.puma" */   yyP6 = yyP6->word_c.next->word_c.next;   goto yyRecursion;  }  }  }  if (yyP6->Kind == kstmt) {/* line 736 "itcl.puma" */  {/* line 737 "itcl.puma" */   add_vars (yyP6->stmt.words, PAF_REF_WRITE);/* line 738 "itcl.puma" */   yyP6 = yyP6->stmt.next;   goto yyRecursion;  }  };}static void add_var#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{  if (w->Kind == kone_word) {/* line 745 "itcl.puma" */  {/* line 746 "itcl.puma" */   add_var_2 (w->one_word.ident, w->one_word.pos, w, w->one_word.env, acc, attr);  }   return;  }  if (w->Kind == kqual_word) {  if (w->qual_word.qualification->Kind == ksubscription) {  if (w->qual_word.qualification->subscription.qualification->Kind == klocal_ident) {/* line 748 "itcl.puma" */  {/* line 750 "itcl.puma" */   add_var_2 (w->qual_word.qualification->subscription.qualification->local_ident.ident, w->qual_word.qualification->subscription.qualification->local_ident.pos, w->qual_word.qualification->subscription.qualification, w->qual_word.env, acc, attr);  }   return;  }/* line 755 "itcl.puma" */  {/* line 759 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kqualification) {/* line 755 "itcl.puma" */  {/* line 759 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kcomplex_qual) {/* line 755 "itcl.puma" */  {/* line 759 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kglobal_ident) {/* line 755 "itcl.puma" */  {/* line 759 "itcl.puma" */   need_pass_2 = rtrue;  }   return;  }  }  if (w->Kind == kobj_word) {/* line 752 "itcl.puma" */  {/* line 753 "itcl.puma" */   add_var_2 (w->obj_word.ident, w->obj_word.pos, w, w->obj_word.env, acc, attr);  }   return;  };}static void add_var_2#if defined __STDC__ | defined __cplusplus(register tIdent i, tPosition pos, register tTree w, register tTree e, register int acc, register int attr)#else(i, pos, w, e, acc, attr) register tIdent i; tPosition pos; register tTree w; register tTree e; register int acc; register int attr;#endif{/* line 767 "itcl.puma" */ {  tTree obj;  {/* line 768 "itcl.puma" *//* line 768 "itcl.puma" */   obj = IdentifyVariable (i, e);/* line 769 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  {/* line 770 "itcl.puma" */   use (obj, pos, acc);  }  }   return; }yyL1:;/* line 772 "itcl.puma" */ {  register tTree yyV1;  {/* line 773 "itcl.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead)    yyV1->object.object = w;    yyV1->object.ident = i;    yyV1->object.next = e -> env . objects;   e -> env . objects = yyV1;/* line 774 "itcl.puma" */   dcl (e -> env . objects, attr);/* line 775 "itcl.puma" */  if (acc == PAF_REF_WRITE) use (e->env.objects, pos, acc);   }   return; };}static tTree IdentifyLocal#if defined __STDC__ | defined __cplusplus(register tIdent i, register tTree o)#else(i, o) register tIdent i; register tTree o;#endif{ yyRecursion:  if (o->Kind == kobject) {/* line 782 "itcl.puma" */  {/* line 783 "itcl.puma" */   if (! (o->object.ident == i && ! Tree_IsType (o->object.object, kproc_c))) goto yyL1;  }   return o;yyL1:;/* line 786 "itcl.puma" */   o = o->object.next;   goto yyRecursion;  }/* line 789 "itcl.puma" */   return NULL;}static tTree IdentifyGlobal#if defined __STDC__ | defined __cplusplus(register tIdent yyP7)#else(yyP7) register tIdent yyP7;#endif{/* line 797 "itcl.puma" */   return IdentifyLocal (yyP7, genv -> env . objects);}static tTree Identify#if defined __STDC__ | defined __cplusplus(register tIdent yyP9, register tTree yyP8)#else(yyP9, yyP8) register tIdent yyP9; register tTree yyP8;#endif{ yyRecursion:/* line 803 "itcl.puma" */ {  tTree obj;  {/* line 804 "itcl.puma" *//* line 804 "itcl.puma" */   obj = IdentifyMember (yyP9, yyP8);/* line 805 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;  if (yyP8->Kind == kenv) {  if (yyP8->env.env == NULL) {/* line 808 "itcl.puma" */   return NULL;  }/* line 811 "itcl.puma" */   yyP8 = yyP8->env.env;   goto yyRecursion;  }  if (yyP8->Kind == kenv2) {/* line 811 "itcl.puma" */   yyP8 = yyP8->env2.env2;   goto yyRecursion;  }/* line 815 "itcl.puma" */   return NULL;}static tTree IdentifyMember#if defined __STDC__ | defined __cplusplus(register tIdent yyP11, register tTree yyP10)#else(yyP11, yyP10) register tIdent yyP11; register tTree yyP10;#endif{  if (yyP10->Kind == kenv) {/* line 823 "itcl.puma" */ {  tTree obj;  {/* line 824 "itcl.puma" *//* line 824 "itcl.puma" */   obj = IdentifyLocal (yyP11, yyP10->env.objects);/* line 825 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;/* line 828 "itcl.puma" */   return IdentifySuper (yyP11, yyP10->env.env);  }/* line 831 "itcl.puma" */   return NULL;}static tTree IdentifySuper#if defined __STDC__ | defined __cplusplus(register tIdent yyP13, register tTree yyP12)#else(yyP13, yyP12) register tIdent yyP13; register tTree yyP12;#endif{ yyRecursion:  if (yyP12 == NULL) {/* line 839 "itcl.puma" */   return NULL;  }  if (yyP12->Kind == kenv2) {/* line 842 "itcl.puma" */ {  tTree obj;  {/* line 843 "itcl.puma" *//* line 843 "itcl.puma" */   obj = IdentifyMember (yyP13, yyP12->env2.env1);/* line 844 "itcl.puma" */   if (! (obj != NULL)) goto yyL2;  }  {   return obj;  } }yyL2:;/* line 847 "itcl.puma" */   yyP12 = yyP12->env2.env2;   goto yyRecursion;  }/* line 850 "itcl.puma" */   return NULL;}static tTree IdentifyVariable#if defined __STDC__ | defined __cplusplus(register tIdent yyP15, register tTree yyP14)#else(yyP15, yyP14) register tIdent yyP15; register tTree yyP14;#endif{  if (yyP14->Kind == kenv) {/* line 858 "itcl.puma" */ {  tTree obj;  {/* line 859 "itcl.puma" *//* line 859 "itcl.puma" */   obj = IdentifyLocal (yyP15, yyP14->env.objects);/* line 860 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;  if (yyP14->env.env == NULL) {/* line 863 "itcl.puma" */   return NULL;  }  if (yyP14->env.env->Kind == kenv) {  if (yyP14->env.env->env.object->Kind == kclass) {/* line 866 "itcl.puma" */ {  tTree obj;  {/* line 868 "itcl.puma" *//* line 868 "itcl.puma" */   obj = IdentifyMember (yyP15, yyP14->env.env);/* line 869 "itcl.puma" */

⌨️ 快捷键说明

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