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

📄 trafo.c

📁 这是一个Linux下的集成开发环境
💻 C
📖 第 1 页 / 共 5 页
字号:
/* line 400 "tcl.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 401 "tcl.puma" */   use (w->one_word.env -> env . objects, w->one_word.pos, acc);/* line 402 "tcl.puma" */   add_variable_vars_2 (w->one_word.next);  }  }   return; }yyL2:;/* line 404 "tcl.puma" */ {  register tTree yyV1;  register tTree yyV2;  {/* line 405 "tcl.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 406 "tcl.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 407 "tcl.puma" */   w->one_word.env = e2;/* line 408 "tcl.puma" */   dcl (e2 -> env . objects);/* line 409 "tcl.puma" */  if (acc == PAF_REF_WRITE) use (e2->env.objects, w->one_word.pos, acc); /* line 410 "tcl.puma" */   add_variable_vars_2 (w->one_word.next);  }   return; }  }  if (w->Kind == kqual_word) {/* line 412 "tcl.puma" */  {/* line 413 "tcl.puma" */   add_variable_vars (w->qual_word.qualification, acc);/* line 414 "tcl.puma" */   add_variable_vars_2 (w->qual_word.next);  }   return;  }  if (w->Kind == kqual_words) {/* line 416 "tcl.puma" */  {/* line 417 "tcl.puma" */   add_variable_vars_2 (w->qual_words.next);  }   return;  }  if (w->Kind == kglobal_ident) {/* line 419 "tcl.puma" */ {  register tTree yyV1;  {/* line 420 "tcl.puma" */   obj = IdentifyGlobal (w->global_ident.ident);/* line 421 "tcl.puma" */   if (! (obj != NULL)) goto yyL6;  {/* line 422 "tcl.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 423 "tcl.puma" */   use (w->global_ident.env -> env . objects, w->global_ident.pos, acc);  }  }   return; }yyL6:;/* line 425 "tcl.puma" */ {  register tTree yyV1;  register tTree yyV2;  {/* line 426 "tcl.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 427 "tcl.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 428 "tcl.puma" */   w->global_ident.env = genv;/* line 429 "tcl.puma" */   dcl (genv -> env . objects);/* line 430 "tcl.puma" */  if (acc == PAF_REF_WRITE) use (genv->env.objects, w->global_ident.pos, acc);   }   return; }  }  if (w->Kind == kqualification) {/* line 432 "tcl.puma" */  {/* line 434 "tcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->Kind == kcomplex_qual) {/* line 432 "tcl.puma" */  {/* line 434 "tcl.puma" */   need_pass_2 = rtrue;  }   return;  };}static void add_variable_vars_2#if defined __STDC__ | defined __cplusplus(register tTree yyP5)#else(yyP5) register tTree yyP5;#endif{  if (Tree_IsType (yyP5, kword_c)) {  if (Tree_IsType (yyP5->word_c.next, kword_c)) {/* line 441 "tcl.puma" */  {/* line 442 "tcl.puma" */   add_variable_vars (yyP5->word_c.next, PAF_REF_WRITE);  }   return;  }/* line 444 "tcl.puma" */  {/* line 445 "tcl.puma" */   add_variable_vars (yyP5->word_c.next, PAF_REF_READ);  }   return;  };}static void add_vars#if defined __STDC__ | defined __cplusplus(register tTree yyP6, register int acc)#else(yyP6, acc) register tTree yyP6; register int acc;#endif{ yyRecursion:  if (Tree_IsType (yyP6, kword_c)) {/* line 452 "tcl.puma" */  {/* line 453 "tcl.puma" */   add_var (yyP6, acc);/* line 454 "tcl.puma" */   yyP6 = yyP6->word_c.next;   goto yyRecursion;  }  };}static void add_foreach_vars#if defined __STDC__ | defined __cplusplus(register tTree yyP7)#else(yyP7) register tTree yyP7;#endif{ yyRecursion:  if (yyP7->Kind == kqual_word) {  if (Tree_IsType (yyP7->qual_word.next, kword_c)) {  if (yyP7->qual_word.qualification->Kind == klocal_text) {  if (yyP7->qual_word.qualification->local_text.texts->Kind == kblock) {/* line 461 "tcl.puma" */  {/* line 463 "tcl.puma" */   add_foreach_vars (yyP7->qual_word.qualification->local_text.texts->block.stmts);/* line 464 "tcl.puma" */   yyP7 = yyP7->qual_word.next->word_c.next;   goto yyRecursion;  }  }  }  }  }  if (Tree_IsType (yyP7, kword_c)) {  if (Tree_IsType (yyP7->word_c.next, kword_c)) {/* line 466 "tcl.puma" */  {/* line 467 "tcl.puma" */   add_var (yyP7, PAF_REF_WRITE);/* line 468 "tcl.puma" */   yyP7 = yyP7->word_c.next->word_c.next;   goto yyRecursion;  }  }  }  if (yyP7->Kind == kstmt) {/* line 470 "tcl.puma" */  {/* line 471 "tcl.puma" */   add_vars (yyP7->stmt.words, PAF_REF_WRITE);/* line 472 "tcl.puma" */   yyP7 = yyP7->stmt.next;   goto yyRecursion;  }  };}static void add_var#if defined __STDC__ | defined __cplusplus(register tTree w, register int acc)#else(w, acc) register tTree w; register int acc;#endif{  if (w->Kind == kone_word) {/* line 479 "tcl.puma" */  {/* line 480 "tcl.puma" */   add_var_2 (w->one_word.ident, w->one_word.pos, w, w->one_word.env, acc);  }   return;  }  if (w->Kind == kqual_word) {  if (w->qual_word.qualification->Kind == ksubscription) {  if (w->qual_word.qualification->subscription.qualification->Kind == klocal_ident) {/* line 482 "tcl.puma" */  {/* line 484 "tcl.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);  }   return;  }/* line 486 "tcl.puma" */  {/* line 490 "tcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kqualification) {/* line 486 "tcl.puma" */  {/* line 490 "tcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kcomplex_qual) {/* line 486 "tcl.puma" */  {/* line 490 "tcl.puma" */   need_pass_2 = rtrue;  }   return;  }  if (w->qual_word.qualification->Kind == kglobal_ident) {/* line 486 "tcl.puma" */  {/* line 490 "tcl.puma" */   need_pass_2 = rtrue;  }   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)#else(i, pos, w, e, acc) register tIdent i; tPosition pos; register tTree w; register tTree e; register int acc;#endif{  if (e->Kind == kenv) {  if (e->env.object->Kind == kproc) {/* line 498 "tcl.puma" */ {  tTree obj;  {/* line 500 "tcl.puma" *//* line 500 "tcl.puma" */   obj = IdentifyLocal (i, e -> env . objects);/* line 501 "tcl.puma" */   if (! (obj != NULL)) goto yyL1;  {/* line 502 "tcl.puma" */   use (obj, pos, acc);  }  }   return; }yyL1:;  }  if (e->env.object->Kind == kprogram) {/* line 498 "tcl.puma" */ {  tTree obj;  {/* line 500 "tcl.puma" *//* line 500 "tcl.puma" */   obj = IdentifyLocal (i, e -> env . objects);/* line 501 "tcl.puma" */   if (! (obj != NULL)) goto yyL2;  {/* line 502 "tcl.puma" */   use (obj, pos, acc);  }  }   return; }yyL2:;  }  if (e->env.object->Kind == knamespace) {/* line 504 "tcl.puma" */ {  tTree obj;  {/* line 505 "tcl.puma" *//* line 505 "tcl.puma" */   obj = Identify (i, e);/* line 506 "tcl.puma" */   if (! (obj != NULL)) goto yyL3;  {/* line 507 "tcl.puma" */   use (obj, pos, acc);  }  }   return; }yyL3:;  }  }/* line 509 "tcl.puma" */ {  register tTree yyV1;  {/* line 510 "tcl.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 511 "tcl.puma" */   dcl (e -> env . objects);/* line 512 "tcl.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 519 "tcl.puma" */  {/* line 520 "tcl.puma" */   if (! (o->object.ident == i && o->object.object -> Kind != kproc)) goto yyL1;  }   return o;yyL1:;/* line 523 "tcl.puma" */   o = o->object.next;   goto yyRecursion;  }/* line 526 "tcl.puma" */   return NULL;}static tTree IdentifyGlobal#if defined __STDC__ | defined __cplusplus(register tIdent yyP8)#else(yyP8) register tIdent yyP8;#endif{/* line 534 "tcl.puma" */  {/* line 534 "tcl.puma" */   if (! (genv != NULL)) goto yyL1;  }   return IdentifyLocal (yyP8, genv -> env . objects);yyL1:;/* line 535 "tcl.puma" */   return NULL;}static tTree Identify#if defined __STDC__ | defined __cplusplus(register tIdent yyP10, register tTree yyP9)#else(yyP10, yyP9) register tIdent yyP10; register tTree yyP9;#endif{  if (yyP9->Kind == kenv) {/* line 541 "tcl.puma" */ {  tTree obj;  {/* line 542 "tcl.puma" *//* line 542 "tcl.puma" */   obj = IdentifyLocal (yyP10, yyP9->env.objects);/* line 543 "tcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;  }/* line 546 "tcl.puma" */  {/* line 547 "tcl.puma" */   if (! (yyP9 != genv)) goto yyL2;  }   return IdentifyGlobal (yyP10);yyL2:;/* line 550 "tcl.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 558 "tcl.puma" */  {/* line 559 "tcl.puma" */   if (! (o->object.ident == i && o->object.object -> Kind == kproc)) goto yyL1;  }   return o;yyL1:;/* line 562 "tcl.puma" */   o = o->object.next;   goto yyRecursion;  }/* line 565 "tcl.puma" */   return NULL;}static tTree IdentifyProcGlobal#if defined __STDC__ | defined __cplusplus(register tIdent yyP11)#else(yyP11) register tIdent yyP11;#endif{/* line 573 "tcl.puma" */  {/* line 573 "tcl.puma" */   if (! (genv != NULL)) goto yyL1;  }   return IdentifyProcLocal (yyP11, genv -> env . objects);yyL1:;/* line 574 "tcl.puma" */   return NULL;}static tTree IdentifyProc#if defined __STDC__ | defined __cplusplus(register tIdent yyP13, register tTree yyP12)#else(yyP13, yyP12) register tIdent yyP13; register tTree yyP12;#endif{  if (yyP12->Kind == kenv) {/* line 580 "tcl.puma" */ {  tTree obj;  {/* line 581 "tcl.puma" *//* line 581 "tcl.puma" */   obj = IdentifyProcLocal (yyP13, yyP12->env.objects);/* line 582 "tcl.puma" */   if (! (obj != NULL)) goto yyL1;  }  {   return obj;  } }yyL1:;  }/* line 585 "tcl.puma" */  {/* line 586 "tcl.puma" */   if (! (yyP12 != genv)) goto yyL2;  }

⌨️ 快捷键说明

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