

#include "BUILTIN.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern TUP2 _ASeqFilter_5(OBJ,OBJ);extern OBJ __ASeqFilter_5;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ __AAc_14;
extern OBJ _AAc_21(OBJ);extern OBJ __AAc_21;

#include "Denotation.h"
extern OBJ __AInterOpal_21;
extern OBJ _AInterOpal_76(OBJ);extern OBJ __AInterOpal_76;
extern OBJ _AInterOpal_79(OBJ);extern OBJ __AInterOpal_79;
extern OBJ _AInterOpal_201(OBJ);extern OBJ __AInterOpal_201;
extern OBJ _AInterOpalAccess_16(OBJ);extern OBJ __AInterOpalAccess_16;
extern OBJ _AInterOpalAccess_19(OBJ);extern OBJ __AInterOpalAccess_19;
extern OBJ _AInterOpalAccess_21(OBJ,OBJ);extern OBJ __AInterOpalAccess_21;
extern OBJ _AInterOpalAccess_28(OBJ,OBJ);extern OBJ __AInterOpalAccess_28;
extern OBJ _AInterOpalAccess_32(OBJ);extern OBJ __AInterOpalAccess_32;
extern TUP2 _AInterOpalAccess_34(OBJ);extern OBJ __AInterOpalAccess_34;
extern OBJ _AParameterTranslation_5(OBJ);extern OBJ __AParameterTranslation_5;
extern OBJ _AParameterTranslation_9(OBJ);extern OBJ __AParameterTranslation_9;
extern OBJ _ANameTranslation_2(OBJ,OBJ);extern OBJ __ANameTranslation_2;
extern OBJ _ANameTranslation_4(OBJ,OBJ);extern OBJ __ANameTranslation_4;

#include "Nat.h"
extern OBJ _AFctTranslation_2(OBJ,OBJ,OBJ);extern OBJ __AFctTranslation_2;
extern OBJ _AFctTranslation_3(OBJ,OBJ,OBJ);extern OBJ __AFctTranslation_3;
extern OBJ _AFctTranslation_5(OBJ,OBJ);extern OBJ __AFctTranslation_5;
extern OBJ _AFctTranslation_6(OBJ,OBJ);extern OBJ __AFctTranslation_6;
extern OBJ _ATypeAn_6(OBJ);extern OBJ __ATypeAn_6;
extern OBJ __ATypeAn_37;
extern OBJ __ATypeAn_40;

#include "Array.h"
extern OBJ _AIde_8(OBJ);extern OBJ __AIde_8;
extern OBJ __ANatMap_3;
extern OBJ _ANatMap_8(OBJ,OBJ,OBJ);extern OBJ __ANatMap_8;
extern OBJ __AAn_2;
extern OBJ _AAn_3(OBJ,OBJ);extern OBJ __AAn_3;
extern OBJ _AAn_5(OBJ,OBJ);extern OBJ __AAn_5;

#include "Char.h"

#include "Int.h"
extern OBJ _AImportTranslation_1(OBJ);OBJ __AImportTranslation_1; /* importUnits */
extern OBJ _AImportTranslation_2(OBJ,OBJ);OBJ __AImportTranslation_2; /* importedParameterInfo */
extern OBJ _AImportTranslation_3(OBJ,OBJ);OBJ __AImportTranslation_3; /* treatImportedStructs */
extern OBJ _AImportTranslation_5(OBJ);OBJ __AImportTranslation_5; /* noBuiltinUnit */
extern TUP2 _AImportTranslation_6(OBJ,OBJ,OBJ,OBJ);OBJ __AImportTranslation_6; /* treatExternalNames */
extern OBJ _AImportTranslation_7(OBJ,OBJ);OBJ __AImportTranslation_7; /* importUnit */
extern OBJ _AImportTranslation_8(OBJ,OBJ,OBJ);OBJ __AImportTranslation_8; /* typeDec */
extern OBJ _AImportTranslation_9(OBJ,OBJ,OBJ,OBJ);OBJ __AImportTranslation_9; /* opDec */
OBJ __AImportTranslation_10; /* noBuiltinUnit'10 */
OBJ __AImportTranslation_11; /* noBuiltinUnit'11 */
OBJ __AImportTranslation_12; /* noBuiltinUnit'12 */
OBJ __AImportTranslation_13; /* noBuiltinUnit'13 */
extern OBJ _AImportTranslation_14(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AImportTranslation_14; /* importedParameterInfo'14 */
extern OBJ _AImportTranslation_15(OBJ);OBJ __AImportTranslation_15; /* treatExternalNames'15 */
extern OBJ _AImportTranslation_16(OBJ);OBJ __AImportTranslation_16; /* treatExternalNames'16 */
extern OBJ _AImportTranslation_17(OBJ,OBJ,OBJ);OBJ __AImportTranslation_17; /* treatExternalNames'17 */
extern OBJ _AImportTranslation_18(OBJ,OBJ,OBJ);OBJ __AImportTranslation_18; /* treatExternalNames'18 */
extern OBJ _AImportTranslation_19(OBJ);OBJ __AImportTranslation_19; /* importUnit'19 */
extern OBJ _AImportTranslation_20(OBJ);OBJ __AImportTranslation_20; /* importUnit'20 */

extern OBJ _AImportTranslation_1(OBJ x1) /* importUnits */
{OBJ r;
 CPCLS(__AImportTranslation_5,1);
 CPCLS(__AImportTranslation_7,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;OBJ x4;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImportTranslation_7,1))(__AImportTranslation_7,x1);
  x3=_AInterOpalAccess_16(x1);
  x4=_ASeqMap_3(x2,x3);
  r=_ASeqFilter_2(__AImportTranslation_5,x4);}
 return r;}

extern OBJ _AImportTranslation_2(OBJ x1,OBJ x2) /* importedParameterInfo */
{OBJ r;
 CPCLS(__AImportTranslation_14,1);
 CPPRD(__ATypeAn_37,1);
 CPCLS(__ANameTranslation_2,1);
 CPPRD(x1,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x5;OBJ x6;TUP2 x7;OBJ x9;OBJ x10;OBJ x11;
  x3=_AInterOpalAccess_32(x2);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameTranslation_2,1))(__ANameTranslation_2,x1);
  x6=_ASeq_52(x3,__ANat_5);
  x7=_AInterOpalAccess_34(x2);
  x9=_ASeqMap_3(x5,x7.c1);
  COPY(x9,2);
  x10=_ASeqMap_3(__ATypeAn_37,x9);
  COPY(x10,1);
  x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AImportTranslation_14,4))(__AImportTranslation_14,x1,x6,x9,x10);
  PRD(4,1,r);FLD(r,1)=x6;FLD(r,2)=x9;FLD(r,3)=x10;
  FLD(r,4)=_ASeqMap_3(x11,x7.c2);}
 return r;}

extern OBJ _AImportTranslation_3(OBJ x1,OBJ x2) /* treatImportedStructs */
{OBJ r;
 {OBJ x3;
  x3=_AInterOpalAccess_16(x1);
  r=_ASeqMap_3(x2,x3);}
 return r;}

extern OBJ _AImportTranslation_5(OBJ x1) /* noBuiltinUnit */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   CPPRD(x3,1);
   FRPRD(x1,1);}
  CPPRD(__AImportTranslation_10,1);
  {OBJ x7;OBJ x8;OBJ x11;
   x7=x3;
   CPPRD(x7,1);
   ADenotation_21(x7,__AImportTranslation_10,x8);
   if(ISTGPRM(x8,1)){
    FRPRD(x7,1);
    x11=__ABUILTIN_5;
   }else{
    CPPRD(x7,1);
    CPPRD(__AImportTranslation_11,1);
    {OBJ x9;
     ADenotation_21(x7,__AImportTranslation_11,x9);
     if(ISTGPRM(x9,1)){
      FRPRD(x7,1);
      x11=__ABUILTIN_5;
     }else{
      CPPRD(x7,1);
      CPPRD(__AImportTranslation_12,1);
      {OBJ x10;
       ADenotation_21(x7,__AImportTranslation_12,x10);
       if(ISTGPRM(x10,1)){
	FRPRD(x7,1);
	x11=__ABUILTIN_5;
       }else{
	CPPRD(__AImportTranslation_13,1);
	ADenotation_21(x7,__AImportTranslation_13,x11);}}}}}
   if(ISTGPRM(x11,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern TUP2 _AImportTranslation_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatExternalNames */
{TUP2 r;
 CPCLS(__AImportTranslation_15,1);
 CPCLS(__AImportTranslation_16,1);
 FRPRD(x1,1);
 CPPRD(x2,1);
 {OBJ x14;OBJ x15;OBJ x16;
  x14=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImportTranslation_15,1))(__AImportTranslation_15,__ABUILTIN_20);
  x15=_AInterOpalAccess_19(x2);
  x16=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImportTranslation_16,1))(__AImportTranslation_16,__ABUILTIN_20);
  {OBJ x6=FLD1(x2,2);
   if(EXPRD(x2,1)){
    FLD1(x2,2)=NIL;DSPRD(x2);
   }else{
    COPY(x6,1);
    FRPRD(x2,1);}
   CPCLS(__AImportTranslation_17,1);
   CPCLS(__AImportTranslation_18,1);
   {OBJ x13;OBJ x18;OBJ x19;TUP2 x20;OBJ x22;
    x13=x6;
    COPY(x13,1);
    x18=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImportTranslation_17,2))(__AImportTranslation_17,x3,x13);
    x19=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImportTranslation_18,2))(__AImportTranslation_18,x4,x13);
    x20=_ASeqFilter_5(x14,x15);
    x22=_ASeqFilter_2(x16,x20.c2);
    r.c1=_ASeqMap_3(x18,x20.c1);
    r.c2=_ASeqMap_3(x19,x22);}}}
 return r;}
extern OBJ _AImportTranslation_6_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatExternalNames */
{OBJ r;
 {TUP2 t=_AImportTranslation_6(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImportTranslation_7(OBJ x1,OBJ x2) /* importUnit */
{OBJ r;
 CPCLS(__AImportTranslation_19,1);
 CPCLS(__AImportTranslation_20,1);
 CPPRD(x1,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_AImportTranslation_2(x1,x2);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImportTranslation_19,1))(__AImportTranslation_19,__ABUILTIN_20);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImportTranslation_20,1))(__AImportTranslation_20,__ABUILTIN_20);
  {OBJ x38=FLD1(x2,2);OBJ x39=FLD1(x2,3);
   COPY(x38,1);CPPRD(x39,1);
   CPPRD(x1,2);
   CPPRD(x3,1);
   CPCLS(__AImportTranslation_8,1);
   CPCLS(__AImportTranslation_9,1);
   {OBJ x45;OBJ x46;
    x45=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImportTranslation_9,2))(__AImportTranslation_9,x1,x3);
    x46=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImportTranslation_8,2))(__AImportTranslation_8,x1,x3);
    if(ISPRD(x38)){
     {OBJ x47=FLD1(x38,1);
      if(EXPRD(x38,1)){
       DSPRDF(x38);
      }else{
       DCPRD(x38,1);}
      CPPRD(__ANatMap_3,3);
      {TUP2 x49;OBJ x51;OBJ x52;OBJ x53;OBJ x54;OBJ x55;
       x49=_AImportTranslation_6(x1,x2,x46,x45);
       COPY(x49.c1,1);
       COPY(x49.c2,1);
       x51=_ASeqMap_3(x5,x49.c1);
       x52=_ASeqMap_3(x4,x49.c2);
       x53=_ANatMap_8(__ANatMap_3,x52,x49.c2);
       x54=_ANatMap_8(__ANatMap_3,x51,x49.c1);
       PRD(1,3,x55);FLD(x55,1)=x54;
       PRD1(5,r);FLD1(r,2)=x39;FLD1(r,3)=x47;FLD1(r,4)=__ANatMap_3;FLD1(r,5)=x53;
       FLD1(r,1)=_AAn_3(__AAn_2,x55);}}
    }else{
     HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:origin->nat");}}}}
 return r;}

extern OBJ _AImportTranslation_8(OBJ x1,OBJ x2,OBJ x3) /* typeDec */
{OBJ r;
 {OBJ x4;OBJ x5;
  x4=_ANameTranslation_4(x1,x3);
  x5=_AParameterTranslation_5(x2);
  PRD(2,1,r);FLD(r,1)=x4;
  FLD(r,2)=_AFctTranslation_6(x5,__ATypeAn_40);}
 return r;}

extern OBJ _AImportTranslation_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* opDec */
{OBJ r;
 CPPRD(x1,2);
 CPPRD(x2,2);
 CPPRD(x3,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x18;
  x5=_AInterOpalAccess_21(x1,x3);
  x6=_AFctTranslation_3(x1,x2,x4);
  x7=_AParameterTranslation_5(x2);
  x8=_AParameterTranslation_9(x2);
  x9=_ANameTranslation_4(x1,x3);
  x18=_AFctTranslation_5(x8,x6);
  {OBJ x12=FLD1(x5,3);
   if(EXPRD(x5,1)){
    FLD1(x5,3)=NIL;DSPRD(x5);
   }else{
    CPPRD(x12,1);
    FRPRD(x5,1);}
   {OBJ x17;OBJ x19;OBJ x20;OBJ x21;OBJ x22;
    x17=x12;
    PRD(1,3,x19);FLD(x19,1)=x17;
    x20=_AFctTranslation_6(x7,x18);
    PRD(1,1,x21);FLD(x21,1)=x20;
    x22=_AAn_5(__AAn_2,x19);
    PRD(3,1,r);FLD(r,2)=x9;FLD(r,3)=__AAc_14;
    FLD(r,1)=_AAn_3(x22,x21);}}}
 return r;}

extern OBJ _AImportTranslation_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* importedParameterInfo'14 */
{OBJ r;
 CPPRD(x1,1);
 {OBJ x6;OBJ x7;
  x6=_AInterOpalAccess_28(x1,x5);
  PRD(3,2,x7);FLD(x7,1)=x2;FLD(x7,2)=x3;FLD(x7,3)=x4;
  r=_AFctTranslation_2(x1,x7,x6);}
 return r;}

extern OBJ _AImportTranslation_15(OBJ x1) /* treatExternalNames'15 */
{OBJ r;
 CPCLS(__AInterOpal_79,1);
 CPCLS(__AInterOpal_201,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AInterOpal_79,__AInterOpal_201);
 return r;}

extern OBJ _AImportTranslation_16(OBJ x1) /* treatExternalNames'16 */
{OBJ r;
 CPCLS(__AInterOpal_76,1);
 CPCLS(__AInterOpal_201,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AInterOpal_76,__AInterOpal_201);
 return r;}

extern OBJ _AImportTranslation_17(OBJ x1,OBJ x2,OBJ x3) /* treatExternalNames'17 */
{OBJ r;
 {OBJ x5=FLD1(x3,2);
  if(EXPRD(x3,1)){
   DSPRD(x3);
  }else{
   FRPRD(x3,1);}
  {OBJ x11;OBJ x12;
   x11=x5;
   PRD1(3,x12);FLD1(x12,1)=x11;FLD1(x12,2)=x2;FLD1(x12,3)=__AInterOpal_21;
   r=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x12);}}
 return r;}

extern OBJ _AImportTranslation_18(OBJ x1,OBJ x2,OBJ x3) /* treatExternalNames'18 */
{OBJ r;
 {OBJ x24=FLD1(x3,2);OBJ x26=FLD1(x3,4);
  if(EXPRD(x3,1)){
   FLD1(x3,4)=NIL;DSPRD(x3);
  }else{
   COPY(x26,1);
   FRPRD(x3,1);}
  {OBJ x30;
   PRD1(3,x30);FLD1(x30,1)=x24;FLD1(x30,2)=x2;FLD1(x30,3)=__AInterOpal_21;
   if(ISPRD(x26)&&(ISTGPRD(x26,1))){
    {OBJ x31=FLD(x26,1);
     if(EXPRD(x26,1)){
      DSPRDF(x26);
     }else{
      CPPRD(x31,1);
      FRPRD(x26,1);}
     r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x30,x31);}
   }else{
    HLT("InterOpal at <unknown> : undefined selection fct\'InterOpal:kind->fct");}}}
 return r;}

extern OBJ _AImportTranslation_19(OBJ x1) /* importUnit'19 */
{OBJ r;
 CPCLS(__AAc_21,1);
 CPCLS(__AIde_8,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AIde_8,__AAc_21);
 return r;}

extern OBJ _AImportTranslation_20(OBJ x1) /* importUnit'20 */
{OBJ r;
 CPCLS(__ATypeAn_6,1);
 CPCLS(__AIde_8,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AIde_8,__ATypeAn_6);
 return r;}

static OBJ _mt_1_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 {OBJ t3;
  DCCLS(t,1);
  t3=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(t3,1))(t3,t2);}
 return r;}

init_AImportTranslation()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeqMap();
 init_ASeqReduce();
 init_ASeqFilter();
 init_ASeqZip();
 init_ASeq();
 init_ACompose();
 init_AAc();
 init_ADenotation();
 init_AInterOpal();
 init_AInterOpalAccess();
 init_AParameterTranslation();
 init_ANameTranslation();
 init_ANat();
 init_AFctTranslation();
 init_ATypeAn();
 init_AArray();
 init_AIde();
 init_ASetByBST();
 init_ANatMap();
 init_ABSTree();
 init_AAn();
 init_ATree();
 init_ASourceAn();
 init_AOptimAn();
 init_ATransAn();
 init_APragmaAn();
 init_AOption();
 init_AStore();
 init_AFormat();
 init_AString();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ASet();
 init_APair();
 init_AIdeMap();
 init_AMap();
 init_ADyn();
 LCLS(1,_AImportTranslation_20,__AImportTranslation_20);
 LCLS(1,_AImportTranslation_19,__AImportTranslation_19);
 CLS(3,_AImportTranslation_18,__AImportTranslation_18);
 CLS(3,_AImportTranslation_17,__AImportTranslation_17);
 LCLS(1,_AImportTranslation_16,__AImportTranslation_16);
 LCLS(1,_AImportTranslation_15,__AImportTranslation_15);
 CLS(5,_AImportTranslation_14,__AImportTranslation_14);
 DEN("INLINE",__AImportTranslation_13);
 DEN("ABORT",__AImportTranslation_12);
 DEN("DENOTATION",__AImportTranslation_11);
 DEN("BOOL",__AImportTranslation_10);
 CLS(4,_AImportTranslation_9,__AImportTranslation_9);
 CLS(3,_AImportTranslation_8,__AImportTranslation_8);
 CLS(2,_AImportTranslation_7,__AImportTranslation_7);
 CLS(4,_AImportTranslation_6_c,__AImportTranslation_6);
 CLS(1,_AImportTranslation_5,__AImportTranslation_5);
 CLS(2,_AImportTranslation_3,__AImportTranslation_3);
 CLS(2,_AImportTranslation_2,__AImportTranslation_2);
 CLS(1,_AImportTranslation_1,__AImportTranslation_1);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);}

