

#include "BUILTIN.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ASeqIndex_3(OBJ,OBJ);extern OBJ __ASeqIndex_3;
extern OBJ _AInterOpalAccess_2(OBJ,OBJ);extern OBJ __AInterOpalAccess_2;
extern OBJ _AInterOpalAccess_8(OBJ,OBJ);extern OBJ __AInterOpalAccess_8;
extern OBJ _AInterOpalAccess_18(OBJ,OBJ);extern OBJ __AInterOpalAccess_18;
extern OBJ _AInterOpalAccess_27(OBJ,OBJ);extern OBJ __AInterOpalAccess_27;
extern OBJ _AInterOpalAccess_29(OBJ,OBJ);extern OBJ __AInterOpalAccess_29;
extern OBJ _ANameTranslation_2(OBJ,OBJ);extern OBJ __ANameTranslation_2;
extern OBJ _ANameTranslation_7(OBJ);extern OBJ __ANameTranslation_7;
extern OBJ _AParameterTranslation_5(OBJ);extern OBJ __AParameterTranslation_5;
extern OBJ _AFctTranslation_3(OBJ,OBJ,OBJ);extern OBJ __AFctTranslation_3;
extern OBJ _AFctTranslation_4(OBJ,OBJ,OBJ);extern OBJ __AFctTranslation_4;
extern OBJ _AFctTranslation_6(OBJ,OBJ);extern OBJ __AFctTranslation_6;
extern OBJ _AImportTranslation_2(OBJ,OBJ);extern OBJ __AImportTranslation_2;

#include "Nat.h"
extern OBJ _AIde_13(OBJ,OBJ);extern OBJ __AIde_13;
extern OBJ __ASourceAn_30;

#include "Array.h"

#include "Char.h"

#include "Int.h"
extern OBJ _APragmaTranslation_1(OBJ,OBJ,OBJ);OBJ __APragmaTranslation_1; /* pragma */
extern OBJ _APragmaTranslation_3(OBJ,OBJ,OBJ);OBJ __APragmaTranslation_3; /* pragmaItem */
extern OBJ _APragmaTranslation_4(OBJ,OBJ,OBJ,OBJ);OBJ __APragmaTranslation_4; /* pragmaName */
extern OBJ _APragmaTranslation_5(OBJ,OBJ);OBJ __APragmaTranslation_5; /* pragmaName'5 */
extern OBJ _APragmaTranslation_6(OBJ,OBJ);OBJ __APragmaTranslation_6; /* pragmaName'6 */

extern OBJ _APragmaTranslation_1(OBJ x1,OBJ x2,OBJ x3) /* pragma */
{OBJ r;
 CPCLS(__APragmaTranslation_3,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APragmaTranslation_3,2))(__APragmaTranslation_3,x1,x2);
  r=_ASeqMap_3(x4,x3);}
 return r;}

extern OBJ _APragmaTranslation_3(OBJ x1,OBJ x2,OBJ x3) /* pragmaItem */
{OBJ r;
 if(ISTGPRD(x3,0)){
  {OBJ x39=FLD(x3,1);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x39,1);
    FRPRD(x3,1);}
   CPCLS(__APragmaTranslation_4,1);
   {OBJ x40;
    x40=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__APragmaTranslation_4,3))(__APragmaTranslation_4,x1,x2,__ASourceAn_30);
    PRD(2,1,r);FLD(r,1)=__ASourceAn_30;
    FLD(r,2)=_ASeqMap_3(x40,x39);}}
 }else{
  {OBJ x42=FLD(x3,1);OBJ x43;
   if(EXPRD(x3,1)){
    FRPRD(x1,1);
    FRPRD(x2,1);
    {
     RPRD(x3,r);CHGTG(r,0);
     FLD(r,1)=_ANameTranslation_7(x42);}
   }else{
    x43=FLD(x3,2);COPY(x42,1);CPPRD(x43,1);
    FRPRD(x1,1);
    FRPRD(x2,1);
    {
     FRPRD(x3,1);PRD(2,0,r);FLD(r,2)=x43;
     FLD(r,1)=_ANameTranslation_7(x42);}}}}
 return r;}

extern OBJ _APragmaTranslation_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* pragmaName */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x4,1);
 {OBJ x9;
  x9=_AInterOpalAccess_2(x1,x4);
  {OBJ x40=FLD1(x4,2);
   COPY(x40,1);
   {OBJ x43;OBJ x45;OBJ x46;
    if(ISPRD(x40)){
     x43=__ABUILTIN_5;
    }else{
     x43=__ABUILTIN_3;}
    if(ISTGPRM(x43,1)){
     CPPRD(x1,2);
     CPPRD(x4,1);
     {OBJ x44;
      x44=_AInterOpalAccess_18(x1,x4);
      x45=_AImportTranslation_2(x1,x44);}
    }else{
     CPPRD(x2,1);
     x45=x2;}
    CPPRD(x45,1);
    x46=_AParameterTranslation_5(x45);
    if(ISTGPRM(x9,1)){
     CPPRD(x1,2);
     CPPRD(x4,2);
     {OBJ x47;OBJ x48;OBJ x49;OBJ x50;OBJ x51;OBJ x52;
      x47=_ANameTranslation_2(x1,x4);
      x48=_AInterOpalAccess_27(x1,x4);
      if(ISPRM(x40)&&(ISTGPRM(x40,1))){
       x49=__ABUILTIN_5;
      }else{
       FREE(x40,1);
       x49=__ABUILTIN_3;}
      if(ISTGPRM(x49,1)){
       CPPRD(x1,2);
       CPPRD(x4,1);
       x50=_AInterOpalAccess_8(x1,x4);
      }else{
       CPPRD(x1,1);
       x50=__ABUILTIN_3;}
      x51=_AFctTranslation_3(x1,x45,x48);
      x52=_AFctTranslation_6(x46,x51);
      if(ISTGPRM(x50,1)){
       FRPRD(x1,1);
       if(EXPRD(x4,1)){
	DSPRD(x4);
       }else{
	DCPRD(x4,1);}
       if(ISTGPRD(x2,0)){
	{OBJ x56=FLD(x2,4);
	 if(EXPRD(x2,1)){
	  FLD(x2,4)=NIL;DSPRD(x2);
	 }else{
	  COPY(x56,1);
	  FRPRD(x2,1);}
	 CPCLS(__APragmaTranslation_5,1);
	 {OBJ x59;OBJ x60;OBJ x62;
	  x59=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaTranslation_5,1))(__APragmaTranslation_5,x47);
	  x60=_ASeqIndex_3(x59,x56);
	  if(ISPRM(x60)){
	   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	  }else{
	   {OBJ x61=FLD1(x60,1);
	    if(EXPRD(x60,1)){
	     x62=x61;
	     DSPRDF(x60);
	    }else{
	     x62=x61;
	     FRPRD(x60,1);}}}
	  PRD(3,2,r);FLD(r,1)=x3;FLD(r,2)=x52;FLD(r,3)=x62;}}
       }else{
	HLT("ParameterTranslation at <unknown> : undefined selection opParamIdes\'ParameterTranslation:info->seq");}
      }else{
       CPPRD(x1,2);
       CPCLS(__APragmaTranslation_4,1);
       CPCLS(__APragmaTranslation_6,1);
       {OBJ x63;OBJ x64;OBJ x65;OBJ x66;
	x63=_AInterOpalAccess_29(x1,x4);
	x64=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__APragmaTranslation_4,3))(__APragmaTranslation_4,x1,x2,x3);
	x65=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaTranslation_6,1))(__APragmaTranslation_6,x1);
	x66=_ASeqFilter_2(x65,x63);
	PRD(4,1,r);FLD(r,1)=x3;FLD(r,2)=x52;FLD(r,3)=x47;
	FLD(r,4)=_ASeqMap_3(x64,x66);}}}
    }else{
     FRPRD(x2,1);
     FREE(x40,1);
     {OBJ x68;
      x68=_AFctTranslation_4(x1,x45,x4);
      PRD(2,0,r);FLD(r,1)=x3;
      FLD(r,2)=_AFctTranslation_6(x46,x68);}}}}}
 return r;}

extern OBJ _APragmaTranslation_5(OBJ x1,OBJ x2) /* pragmaName'5 */
{OBJ r;
 r=_AIde_13(x2,x1);
 return r;}

extern OBJ _APragmaTranslation_6(OBJ x1,OBJ x2) /* pragmaName'6 */
{OBJ r;
 r=_AInterOpalAccess_2(x1,x2);
 return r;}

static OBJ _mt_4_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

static OBJ _mt_4_3_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 return r;}
static OBJ _mt_4_3_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_APragmaTranslation()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeqMap();
 init_ASeqFilter();
 init_ASeqIndex();
 init_AInterOpalAccess();
 init_AInterOpal();
 init_ANameTranslation();
 init_AParameterTranslation();
 init_AFctTranslation();
 init_APragmaAn();
 init_AImportTranslation();
 init_ANat();
 init_ASetByBST();
 init_AIde();
 init_ABSTree();
 init_ASourceAn();
 init_ATree();
 init_ATypeAn();
 init_ACompose();
 init_ASeq();
 init_AArray();
 init_AOption();
 init_ANatMap();
 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_AAc();
 init_AAn();
 init_AOptimAn();
 init_ATransAn();
 init_AIdeMap();
 init_AMap();
 init_ADyn();
 CLS(2,_APragmaTranslation_6,__APragmaTranslation_6);
 CLS(2,_APragmaTranslation_5,__APragmaTranslation_5);
 CLS(4,_APragmaTranslation_4,__APragmaTranslation_4);
 CLS(3,_APragmaTranslation_3,__APragmaTranslation_3);
 CLS(3,_APragmaTranslation_1,__APragmaTranslation_1);
 MTH(4,0,3,_mt_4_0_3);LZYMTH(4,0,3,_mt_4_0_3);
 MTH(4,3,1,_mt_4_3_1);LZYMTH(4,3,1,_mt_4_3_1_l);}

