

#include "BUILTIN.h"

#include "Array.h"
extern TUP2 _ADecl4SigAna_1(OBJ,OBJ,OBJ);extern OBJ __ADecl4SigAna_1;
extern TUP2 _ADecl4SigAna_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ADecl4SigAna_3;
extern OBJ _AAbsyFun2_3(OBJ,OBJ);extern OBJ __AAbsyFun2_3;
extern OBJ __AObjects_33;

#include "Char.h"

#include "Nat.h"

#include "Bitset.h"
extern TUP2 _ADeclPrep_1(OBJ,OBJ);OBJ __ADeclPrep_1; /* prepStaticDeclInfo */
extern OBJ _ADeclPrep_2(OBJ);OBJ __ADeclPrep_2; /* h1 */
OBJ __ADeclPrep_3; /* h1'3 */

extern TUP2 _ADeclPrep_1(OBJ x1,OBJ x2) /* prepStaticDeclInfo */
{TUP2 r;
 {OBJ x56=FLD1(x2,1);OBJ x57=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x56,1);COPY(x57,1);}
  if(ISPRM(x56)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x76=FLD1(x56,1);OBJ x80=FLD1(x56,5);OBJ x82=FLD1(x56,7);
    CPPRD(x76,1);COPY(x80,1);COPY(x82,1);
    {OBJ x84;OBJ x88;OBJ x89;OBJ x90;
     if(ISPRM(x80)&&(ISTGPRM(x80,0))){
      x84=__ABUILTIN_5;
     }else{
      x84=__ABUILTIN_3;}
     if(ISTGPRM(x84,1)){
      FREE(x57,1);
      FREE(x80,1);
      {TUP2 t=_ADecl4SigAna_1(x1,x76,x82);
       r.c1=t.c1;
       x89=t.c2;}
     }else{
      if(ISPRD(x80)){
       {OBJ x85=FLD1(x80,1);
	COPY(x85,1);
	if(EXPRD(x80,1)){
	 FREE(FLD1(x80,1),1);DSPRDF(x80);
	}else{
	 DCPRD(x80,1);}
	CPCLS(__ADeclPrep_2,1);
	{OBJ x86;
	 x86=_AAbsyFun2_3(__ADeclPrep_2,x85);
	 {TUP2 t=_ADecl4SigAna_3(x1,x76,x82,x86,x57);
	  r.c1=t.c1;
	  x89=t.c2;}}}
      }else{
       HLT("PartName at <unknown> : undefined selection fct\'PartName:kind->fct");}}
     if(x_x2){
      RSOME(x2,r.c2);FLD1(r.c2,2)=x89;
     }else{
      FRPRD(x2,1);PRD1(2,r.c2);FLD1(r.c2,1)=x56;FLD1(r.c2,2)=x89;}}}}}
 return r;}
extern OBJ _ADeclPrep_1_c(OBJ x1,OBJ x2) /* prepStaticDeclInfo */
{OBJ r;
 {TUP2 t=_ADeclPrep_1(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ADeclPrep_2(OBJ x1) /* h1 */
{OBJ r;
 COPY(__ADeclPrep_3,1);
 FREE(x1,1);
 r=__ADeclPrep_3;
 return r;}


init_ADeclPrep()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_ADecl4SigAna();
 init_AAbsyFun2();
 init_ACom();
 init_AGlobSig();
 init_AVoid();
 init_AObjects();
 init_ASetByBST();
 init_APartName();
 init_ABSTree();
 init_ARep();
 init_ATree();
 init_APair();
 init_ASeqConv();
 init_AOption();
 init_ALexem();
 init_AChar();
 init_ASeqReduce();
 init_ANat();
 init_ASeq();
 init_AFct();
 init_AOcPos();
 init_APragma();
 init_ATable();
 init_AUniqueTable();
 init_ADeclEntry();
 init_APartNameEntry();
 init_AImpExpEntry();
 init_AName();
 init_AGlobSigImpl();
 init_AImpl();
 init_AGlobPragma();
 init_AMap();
 init_ASet();
 init_ABitset();
 init_APatterns();
 init_AAttributes();
 init_ADArray();
 init_ANatMap();
 init_AString();
 CLS(1,_ADeclPrep_2,__ADeclPrep_2);
 CLS(2,_ADeclPrep_1_c,__ADeclPrep_1);
 CPPRD(__AObjects_33,1);
 PRD(1,3,__ADeclPrep_3);FLD(__ADeclPrep_3,1)=__AObjects_33;}

