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

📄 itcl.c

📁 这是一个Linux下的集成开发环境
💻 C
📖 第 1 页 / 共 5 页
字号:
   if (! (obj != NULL)) goto yyL3;  }  {   return obj;  } }yyL3:;  }  if (yyP14->env.env->env.object->Kind == kitcl_class) {/* line 866 "itcl.puma" */ {  tTree obj;  {/* line 868 "itcl.puma" *//* line 868 "itcl.puma" */   obj = IdentifyMember (yyP15, yyP14->env.env);/* line 869 "itcl.puma" */   if (! (obj != NULL)) goto yyL4;  }  {   return obj;  } }yyL4:;  }  }  }/* line 872 "itcl.puma" */   return NULL;}static tTree IdentifyProcLocal#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 880 "itcl.puma" */  {/* line 881 "itcl.puma" */   if (! (o->object.ident == i && Tree_IsType (o->object.object, kproc_c))) goto yyL1;  }   return o;yyL1:;/* line 884 "itcl.puma" */   o = o->object.next;   goto yyRecursion;  }/* line 887 "itcl.puma" */   return NULL;}static tTree IdentifyProcGlobal#if defined __STDC__ | defined __cplusplus(register tIdent yyP16)#else(yyP16) register tIdent yyP16;#endif{/* line 895 "itcl.puma" */   return IdentifyProcLocal (yyP16, genv -> env . objects);}static tTree IdentifyProc#if defined __STDC__ | defined __cplusplus(register tIdent yyP18, register tTree yyP17)#else(yyP18, yyP17) register tIdent yyP18; register tTree yyP17;#endif{ yyRecursion:/* line 901 "itcl.puma" */ {  tTree obj;  {/* line 902 "itcl.puma" *//* line 902 "itcl.puma" */   obj = IdentifyProcMember (yyP18, yyP17);/* line 903 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;  if (yyP17->Kind == kenv) {  if (yyP17->env.env == NULL) {/* line 906 "itcl.puma" */   return NULL;  }/* line 909 "itcl.puma" */   yyP17 = yyP17->env.env;   goto yyRecursion;  }  if (yyP17->Kind == kenv2) {/* line 909 "itcl.puma" */   yyP17 = yyP17->env2.env2;   goto yyRecursion;  }/* line 913 "itcl.puma" */   return NULL;}static tTree IdentifyProcMember#if defined __STDC__ | defined __cplusplus(register tIdent yyP20, register tTree yyP19)#else(yyP20, yyP19) register tIdent yyP20; register tTree yyP19;#endif{  if (yyP19->Kind == kenv) {/* line 921 "itcl.puma" */ {  tTree obj;  {/* line 922 "itcl.puma" *//* line 922 "itcl.puma" */   obj = IdentifyProcLocal (yyP20, yyP19->env.objects);/* line 923 "itcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;/* line 926 "itcl.puma" */   return IdentifyProcSuper (yyP20, yyP19->env.env);  }/* line 929 "itcl.puma" */   return NULL;}static tTree IdentifyProcSuper#if defined __STDC__ | defined __cplusplus(register tIdent yyP22, register tTree yyP21)#else(yyP22, yyP21) register tIdent yyP22; register tTree yyP21;#endif{ yyRecursion:  if (yyP21 == NULL) {/* line 937 "itcl.puma" */   return NULL;  }  if (yyP21->Kind == kenv2) {/* line 940 "itcl.puma" */ {  tTree obj;  {/* line 941 "itcl.puma" *//* line 941 "itcl.puma" */   obj = IdentifyProcMember (yyP22, yyP21->env2.env1);/* line 942 "itcl.puma" */   if (! (obj != NULL)) goto yyL2;  }  {   return obj;  } }yyL2:;/* line 945 "itcl.puma" */   yyP21 = yyP21->env2.env2;   goto yyRecursion;  }/* line 948 "itcl.puma" */   return NULL;}static tTree get_namespace#if defined __STDC__ | defined __cplusplus(register tTree yyP23)#else(yyP23) register tTree yyP23;#endif{ yyRecursion:  if (yyP23->Kind == kenv) {  if (Tree_IsType (yyP23->env.object, knamespace_c)) {/* line 956 "itcl.puma" */   return yyP23;  }  if (yyP23->env.object->Kind == kprogram) {/* line 956 "itcl.puma" */   return yyP23;  }/* line 959 "itcl.puma" */   yyP23 = yyP23->env.env;   goto yyRecursion;  } yyAbort ("get_namespace"); return 0;}static void pass2#if defined __STDC__ | defined __cplusplus(register tTree t)#else(t) register tTree t;#endif{ yyRecursion:  if (t->Kind == kstmt) {  if (t->stmt.words->Kind == kone_word) {  if (Tree_IsType (t->stmt.words->one_word.next, kword_c)) {/* line 965 "itcl.puma" */  {/* line 967 "itcl.puma" */   add_qualifications (t->stmt.words->one_word.ident, t->stmt.words->one_word.next, default_attr);/* line 968 "itcl.puma" */   pass2 (t->stmt.words);/* line 969 "itcl.puma" */   t = t->stmt.next;   goto yyRecursion;  }  }  }/* line 971 "itcl.puma" */  {/* line 972 "itcl.puma" */   pass2 (t->stmt.words);/* line 973 "itcl.puma" */   t = t->stmt.next;   goto yyRecursion;  }  }  if (t->Kind == kconfigbody) {/* line 975 "itcl.puma" */ {  tString prev_proc;  {/* line 976 "itcl.puma" *//* line 976 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 977 "itcl.puma" */   cur_proc_ptr = "";/* line 978 "itcl.puma" */   get_objects (t->configbody.block);/* line 979 "itcl.puma" */   pass2 (t->configbody.block);/* line 980 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 981 "itcl.puma" */   t = t->configbody.next;   goto yyRecursion;  } }  }  if (Tree_IsType (t, kproc_c)) {  if (t->proc_c.qualification->Kind == klocal_ident) {/* line 983 "itcl.puma" */ {  tString prev_proc;  {/* line 985 "itcl.puma" *//* line 985 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 986 "itcl.puma" */   cur_proc_ptr = GetCStr (t->proc_c.qualification->local_ident.ident);/* line 987 "itcl.puma" */   pass2 (t->proc_c.block);/* line 988 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 989 "itcl.puma" */   t = t->proc_c.next;   goto yyRecursion;  } }  }  if (t->proc_c.qualification->Kind == kglobal_ident) {/* line 983 "itcl.puma" */ {  tString prev_proc;  {/* line 985 "itcl.puma" *//* line 985 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 986 "itcl.puma" */   cur_proc_ptr = GetCStr (t->proc_c.qualification->global_ident.ident);/* line 987 "itcl.puma" */   pass2 (t->proc_c.block);/* line 988 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 989 "itcl.puma" */   t = t->proc_c.next;   goto yyRecursion;  } }  }  if (t->proc_c.qualification->Kind == klocal_text) {/* line 991 "itcl.puma" */ {  tString prev_proc;  {/* line 993 "itcl.puma" *//* line 993 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 994 "itcl.puma" */   cur_proc_ptr = GetCStr (get_ident (t->proc_c.qualification));/* line 995 "itcl.puma" */   pass2 (t->proc_c.block);/* line 996 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 997 "itcl.puma" */   t = t->proc_c.next;   goto yyRecursion;  } }  }  if (t->proc_c.qualification->Kind == kglobal_text) {/* line 991 "itcl.puma" */ {  tString prev_proc;  {/* line 993 "itcl.puma" *//* line 993 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 994 "itcl.puma" */   cur_proc_ptr = GetCStr (get_ident (t->proc_c.qualification));/* line 995 "itcl.puma" */   pass2 (t->proc_c.block);/* line 996 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 997 "itcl.puma" */   t = t->proc_c.next;   goto yyRecursion;  } }  }  if (t->proc_c.block->texts.env->Kind == kenv) {/* line 999 "itcl.puma" */ {  tTree e;  tIdent ident;  tString prev_proc;  tString prev_class;  {/* line 1002 "itcl.puma" *//* line 1002 "itcl.puma" */   e = get_env (t->proc_c.qualification);/* line 1003 "itcl.puma" *//* line 1003 "itcl.puma" */   ident = get_ident (t->proc_c.qualification);/* line 1004 "itcl.puma" */  if (e) {      t->proc_c.env = e;      t->proc_c.block->texts.env->env.env = e;      e->env.objects = mobject (t, ident, e->env.objects);      dcl (e->env.objects, t->proc_c.attribute);   } else {      t->proc_c.env->env.objects = mobject (t, ident, t->proc_c.env->env.objects);      dcl (t->proc_c.env->env.objects, t->proc_c.attribute);   }/* line 1014 "itcl.puma" *//* line 1014 "itcl.puma" */   prev_proc = cur_proc_ptr;/* line 1015 "itcl.puma" */   cur_proc_ptr = GetCStr (ident);/* line 1016 "itcl.puma" *//* line 1016 "itcl.puma" */   prev_class = cur_class_ptr;/* line 1017 "itcl.puma" */   cur_class_ptr = get_class (t->proc_c.qualification);/* line 1018 "itcl.puma" */   get_param_objects (t->proc_c.param_names);/* line 1019 "itcl.puma" */   get_objects (t->proc_c.block);/* line 1020 "itcl.puma" */   pass2 (t->proc_c.block);/* line 1021 "itcl.puma" */   cur_proc_ptr = prev_proc;/* line 1022 "itcl.puma" */   cur_class_ptr = prev_class;/* line 1023 "itcl.puma" */   t = t->proc_c.next;   goto yyRecursion;  } }  }  }  if (t->Kind == knamespace) {  if (t->namespace.qualification->Kind == klocal_ident) {/* line 1025 "itcl.puma" */ {  tString prev_class;  {/* line 1027 "itcl.puma" *//* line 1027 "itcl.puma" */   prev_class = cur_class_ptr;/* line 1028 "itcl.puma" */   cur_class_ptr = GetCStr (t->namespace.qualification->local_ident.ident);/* line 1029 "itcl.puma" */   pass2 (t->namespace.block);/* line 1030 "itcl.puma" */   cur_class_ptr = prev_class;/* line 1031 "itcl.puma" */   t = t->namespace.next;   goto yyRecursion;  } }  }  if (t->namespace.qualification->Kind == kglobal_ident) {/* line 1025 "itcl.puma" */ {  tString prev_class;  {/* line 1027 "itcl.puma" *//* line 1027 "itcl.puma" */   prev_class = cur_class_ptr;/* line 1028 "itcl.puma" */   cur_class_ptr = GetCStr (t->namespace.qualification->global_ident.ident);/* line 1029 "itcl.puma" */   pass2 (t->namespace.block);/* line 1030 "itcl.puma" */   cur_class_ptr = prev_class;/* line 1031 "itcl.puma" */   t = t->namespace.next;   goto yyRecursion;  } }  }  if (t->namespace.qualification->Kind == klocal_text) {/* line 1033 "itcl.puma" */ {  tString prev_class;  {/* line 1035 "itcl.puma" *//* line 1035 "itcl.puma" */   prev_class = cur_class_ptr;/* line 1036 "itcl.puma" */   cur_class_ptr = GetCStr (get_ident (t->namespace.qualification));/* line 1037 "itcl.puma" */   pass2 (t->namespace.block);/* line 1038 "itcl.puma" */   cur_class_ptr = prev_class;/* line 1039 "itcl.puma" */   t = t->namespace.next;   goto yyRecursion;  } }  }  if (t->namespace.qualification->Kind == kglobal_text) {/* line 1033 "itcl.puma" */ {  tString prev_class;  {/* line 1035 "itcl.puma" *//* line 1035 "itcl.puma" */   prev_class = cur_class_ptr;/* line 1036 "itcl.puma" */   cur_class_ptr = GetCStr (get_ident (t->namespace.qualification));/* line 1037 "itcl.puma" */   pass2 (t->namespace.block);/* line 1038 "itcl.puma" */   cur_class_ptr = prev_class;/* line 1039 "itcl.puma" */   t = t->namespace.next;   goto yyRecursion;  } }  }  if (t->namespace.block->texts.env->Kind == kenv) {/* line 1041 "itcl.puma" */ {  tTree e;  tIdent ident;  tTree obj;  tString prev_class;  {/* line 1044 "itcl.puma" *//* line 1044 "itcl.puma" */   e = get_env (t->namespace.qualification);/* line 1045 "itcl.puma" *//* line 1045 "itcl.puma" */   ident = get_ident (t->namespace.qualification);/* line 1046 "itcl.puma" *//* line 1047 "itcl.puma" */  if (e) {      t->namespace.env = e;      t->namespace.block->texts.env->env.env = e;      obj = IdentifyLocal (ident, e->env.objects);      if (obj != NoTree && obj->object.object->Kind == knamespace) {	 relocate (t->namespace.block, obj->object.object->namespace.block->texts.env);	 use (obj, t->namespace.qualification->qualification_c.pos, PAF_REF_READ);      } else {	 e->env.objects = mobject (t, ident, e->env.objects);	 dcl (e->env.objects, t->namespace.attribute);      }   } else {      t->namespace.env->env.objects = mobject (t, ident, t->namespace.env->env.objects);      dcl (t->namespace.env->env.objects, t->namespace.attribute);   }

⌨️ 快捷键说明

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