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

📄 trafo.c

📁 这是一个Linux下的集成开发环境
💻 C
📖 第 1 页 / 共 4 页
字号:
/* line 567 "java.puma" */   acc = acc_save;  }   return; }  case kselect:  if (yyP16->select.expression->Kind == kthis) {/* line 569 "java.puma" */ {  tTree class;  tTree object;  register tTree yyV1;  {/* line 570 "java.puma" *//* line 570 "java.puma" */   class = get_current_class (yyP16->select.env);/* line 571 "java.puma" *//* line 572 "java.puma" */   if (! (class != NULL && class -> Kind == kclass)) goto yyL45;  {/* line 573 "java.puma" */   object = IdentifyLocal (yyP16->select.ident, class->type_decl.block -> field_list . env);/* line 574 "java.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yqualification,MakeTree,yyV1,kqualification,Tree_InitHead)    yyV1->qualification.pos = yyP16->select.pos;    yyV1->qualification.env = yyP16->select.env;    yyV1->qualification.object = object;   {register tTree yyW1;    yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,     Tree_Alloc,yident,MakeTree,yyW1,kident,Tree_InitHead)    yyV1->qualification.qualified_symbol = yyW1;    begintPosition (yyW1->ident.pos)    begintTree (yyW1->ident.env)   {register tTree yyW2;    yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,     Tree_Alloc,yobject,MakeTree,yyW2,kobject,Tree_InitHead)    yyW1->ident.object = yyW2;    yyW2->object.object = class;    yyW2->object.ident = class->type_decl.ident;    begintTree (yyW2->object.next)    begintTree (yyW2->object.collision)   }    yyW1->ident.ident = class->type_decl.ident;   }    yyV1->qualification.ident = yyP16->select.ident;   use_object (yyV1);  }  }   return; }yyL45:;  }  if (yyP16->select.expression->Kind == ksuper) {/* line 578 "java.puma" */ {  tTree class;  tTree object;  register tTree yyV1;  {/* line 579 "java.puma" *//* line 579 "java.puma" */   class = get_current_class (yyP16->select.env);/* line 580 "java.puma" *//* line 581 "java.puma" */   if (! (class != NULL && class -> Kind == kclass)) goto yyL46;  {/* line 582 "java.puma" */   if (! (class -> class . extends -> Kind == knamed_type)) goto yyL46;  {/* line 583 "java.puma" */   if (! (class -> class . extends -> named_type . qualified_symbol -> qualified_symbol . object != nnoobject)) goto yyL46;  {/* line 584 "java.puma" */   class = class -> class . extends -> named_type . qualified_symbol -> qualified_symbol . object -> object . object;/* line 585 "java.puma" */   if (! ((Tree_IsType (class, ktype_decl)))) goto yyL46;  {/* line 586 "java.puma" */   object = IdentifyLocal (yyP16->select.ident, class->type_decl.block -> field_list . env);/* line 587 "java.puma" */   yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,    Tree_Alloc,yqualification,MakeTree,yyV1,kqualification,Tree_InitHead)    yyV1->qualification.pos = yyP16->select.pos;    yyV1->qualification.env = yyP16->select.env;    yyV1->qualification.object = object;   {register tTree yyW1;    yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,     Tree_Alloc,yident,MakeTree,yyW1,kident,Tree_InitHead)    yyV1->qualification.qualified_symbol = yyW1;    begintPosition (yyW1->ident.pos)    begintTree (yyW1->ident.env)   {register tTree yyW2;    yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr,     Tree_Alloc,yobject,MakeTree,yyW2,kobject,Tree_InitHead)    yyW1->ident.object = yyW2;    yyW2->object.object = class;    yyW2->object.ident = class->type_decl.ident;    begintTree (yyW2->object.next)    begintTree (yyW2->object.collision)   }    yyW1->ident.ident = class->type_decl.ident;   }    yyV1->qualification.ident = yyP16->select.ident;   use_object (yyV1);  }  }  }  }  }   return; }yyL46:;  }/* line 591 "java.puma" */ {  short no_of_args_save;  {/* line 592 "java.puma" *//* line 592 "java.puma" */   no_of_args_save = no_of_args;/* line 592 "java.puma" */   no_of_args = - 1;/* line 593 "java.puma" */   Traverse (yyP16->select.expression);/* line 594 "java.puma" */   no_of_args = no_of_args_save;/* line 595 "java.puma" */   put_cross_ref (no_of_args >= 0 ? PAF_REF_TO_MBR_FUNC : PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, "?", GetCStr (yyP16->select.ident), null, current_file, (int)  yyP16->select.pos . Line, acc);  }   return; }  case kget_class_of_expr:/* line 600 "java.puma" */ {  short no_of_args_save;  {/* line 601 "java.puma" *//* line 601 "java.puma" */   no_of_args_save = no_of_args;/* line 601 "java.puma" */   no_of_args = - 1;/* line 602 "java.puma" */   Traverse (yyP16->get_class_of_expr.expression);/* line 603 "java.puma" */   no_of_args = no_of_args_save;  }   return; }  case kget_class:/* line 605 "java.puma" */  {/* line 606 "java.puma" */   yyP16 = yyP16->get_class.type;   goto yyRecursion;  }  case ksubscript:/* line 608 "java.puma" */ {  int acc_save;  {/* line 609 "java.puma" */   Traverse (yyP16->subscript.base);/* line 610 "java.puma" *//* line 610 "java.puma" */   acc_save = acc;/* line 610 "java.puma" */   acc = PAF_REF_READ;/* line 611 "java.puma" */   Traverse (yyP16->subscript.index);/* line 612 "java.puma" */   acc = acc_save;  }   return; }  case ktype_compare:/* line 614 "java.puma" */  {/* line 615 "java.puma" */   Traverse (yyP16->type_compare.expression);/* line 616 "java.puma" */   yyP16 = yyP16->type_compare.type;   goto yyRecursion;  }  case ktype_cast:/* line 618 "java.puma" */  {/* line 619 "java.puma" */   Traverse (yyP16->type_cast.type);/* line 620 "java.puma" */   yyP16 = yyP16->type_cast.expression;   goto yyRecursion;  }  case knew:/* line 622 "java.puma" */  {/* line 623 "java.puma" */   Traverse (yyP16->new.type);/* line 624 "java.puma" */   Traverse (yyP16->new.expression_list);/* line 625 "java.puma" */   yyP16 = yyP16->new.expression;   goto yyRecursion;  }  case kanonymous:/* line 627 "java.puma" */ {  tString prev_class;  {/* line 628 "java.puma" */   Traverse (yyP16->anonymous.type);/* line 629 "java.puma" */   Traverse (yyP16->anonymous.expression_list);/* line 630 "java.puma" *//* line 630 "java.puma" */   prev_class = cur_class_ptr;/* line 631 "java.puma" */   cur_class_ptr = s_anonymous;/* line 632 "java.puma" */   Traverse (yyP16->anonymous.block);/* line 633 "java.puma" */   cur_class_ptr = prev_class;  }   return; }  case kconditional:/* line 635 "java.puma" */  {/* line 636 "java.puma" */   Traverse (yyP16->conditional.condition);/* line 637 "java.puma" */   Traverse (yyP16->conditional.true_expr);/* line 638 "java.puma" */   yyP16 = yyP16->conditional.false_expr;   goto yyRecursion;  }  };}static void Tqualification#if defined __STDC__ | defined __cplusplus(register tTree yyP17)#else(yyP17) register tTree yyP17;#endif{  if (yyP17->Kind == kqualification) {/* line 643 "java.puma" */ {  short no_of_args_save;  {/* line 644 "java.puma" *//* line 644 "java.puma" */   no_of_args_save = no_of_args;/* line 644 "java.puma" */   no_of_args = - 1;/* line 645 "java.puma" */   Tqualification (yyP17->qualification.qualified_symbol);/* line 646 "java.puma" */   no_of_args = no_of_args_save;/* line 647 "java.puma" */   use_object (yyP17);  }   return; }  }  if (yyP17->Kind == kident) {/* line 649 "java.puma" */  {/* line 650 "java.puma" */   use_object (yyP17);  }   return;  };}static void Tclass#if defined __STDC__ | defined __cplusplus(register tTree yyP18)#else(yyP18) register tTree yyP18;#endif{ yyRecursion:  if (yyP18->Kind == kident) {/* line 655 "java.puma" */  {/* line 656 "java.puma" */   yyP18->ident.object = IdentifyWhole (yyP18->ident.ident, yyP18->ident.env);/* line 657 "java.puma" */   put_cross_ref (PAF_REF_TO_CLASS, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP18->ident.ident), null, current_file, (int)  yyP18->ident.pos . Line, PAF_REF_READ);  }   return;  }  if (yyP18->Kind == kqualification) {/* line 661 "java.puma" */  {/* line 662 "java.puma" */   to_types (yyP18, ref_sym);/* line 663 "java.puma" */   put_cross_ref (PAF_REF_TO_CLASS, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, ref_sym, null, current_file, (int)  yyP18->qualification.pos . Line, PAF_REF_READ);  }   return;  }  if (yyP18->Kind == ktype_name) {/* line 667 "java.puma" */  {/* line 668 "java.puma" */   Tclass (yyP18->type_name.named_type->named_type.qualified_symbol);/* line 669 "java.puma" */   yyP18 = yyP18->type_name.next;   goto yyRecursion;  }  };}static void Texception#if defined __STDC__ | defined __cplusplus(register tTree yyP19)#else(yyP19) register tTree yyP19;#endif{ yyRecursion:  if (yyP19->Kind == knamed_type) {/* line 677 "java.puma" */  {/* line 678 "java.puma" */   yyP19 = yyP19->named_type.qualified_symbol;   goto yyRecursion;  }  }  if (yyP19->Kind == karray_type) {/* line 680 "java.puma" */  {/* line 681 "java.puma" */   yyP19 = yyP19->array_type.type;   goto yyRecursion;  }  }  if (Tree_IsType (yyP19, kqualified_symbol)) {/* line 683 "java.puma" */  {/* line 684 "java.puma" */   to_types (yyP19, ref_sym);/* line 685 "java.puma" */   put_cross_ref (PAF_REF_TO_EXCEPTION, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, ref_sym, null, current_file, (int)  yyP19->qualified_symbol.pos . Line, acc);  }   return;  }  if (yyP19->Kind == ktype_name) {/* line 689 "java.puma" */  {/* line 690 "java.puma" */   Texception (yyP19->type_name.named_type);/* line 691 "java.puma" */   yyP19 = yyP19->type_name.next;   goto yyRecursion;  }  };}static tTree Tidentify#if defined __STDC__ | defined __cplusplus(register tTree yyP20)#else(yyP20) register tTree yyP20;#endif{  if (yyP20->Kind == kqualification) {/* line 696 "java.puma" */ {  short no_of_args_save;  tTree id_obj;  {/* line 697 "java.puma" *//* line 697 "java.puma" */   no_of_args_save = no_of_args;/* line 697 "java.puma" */   no_of_args = - 1;/* line 698 "java.puma" *//* line 698 "java.puma" */   id_obj = Tidentify (yyP20->qualification.qualified_symbol);/* line 699 "java.puma" */   no_of_args = no_of_args_save;/* line 700 "java.puma" */   if (yyP20->qualification.qualified_symbol->qualified_symbol.object != nnoobject) {      tTree obj = yyP20->qualification.qualified_symbol->qualified_symbol.object->object.object;      switch (obj->Kind) {      case kvariable	:      case kparameter	:	 if (obj->decl.type->Kind != knamed_type) break;	 obj = obj->decl.type->named_type.qualified_symbol;	 if (obj->qualified_symbol.object == nnoobject) {	    if (obj->Kind != kident) break;	    obj->ident.object = IdentifyWhole (obj->ident.ident, obj->ident.env);	    if (obj->ident.object == nnoobject) break;	 }	 obj = obj->qualified_symbol.object->object.object;	 if (! Tree_IsType (obj, ktype_decl)) break;      case kclass	:      case kinterface	:	 if (no_of_args >= 0)	    yyP20->qualification.object = IdentifyMethod (yyP20->qualification.ident, obj->type_decl.block->field_list.env, no_of_args);	 else	    yyP20->qualification.object = IdentifyLocal (yyP20->qualification.ident, obj->type_decl.block->field_list.env);      }   }  }  {   return id_obj;  } }  }  if (yyP20->Kind == kident) {/* line 726 "java.puma" */  {/* line 727 "java.puma" */   if (! (no_of_args >= 0)) goto yyL2;  {/* line 728 "java.puma" */   yyP20->ident.object = IdentifyMethod (yyP20->ident.ident, yyP20->ident.env, no_of_args);  }  }   return yyP20->ident.object;yyL2:;/* line 731 "java.puma" */  {/* line 732 "java.puma" */   yyP20->ident.object = IdentifyWhole (yyP20->ident.ident, yyP20->ident.env);  }   return yyP20->ident.object;  }/* line 735 "java.puma" */   return nnoobject;}void BeginTrafo ARGS ((void)){}void CloseTrafo ARGS ((void)){}

⌨️ 快捷键说明

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