

#include "BUILTIN.h"

#include "Nat.h"

#include "Char.h"

#include "Int.h"

#include "Array.h"
extern OBJ _APragmaAn_2(OBJ,OBJ,OBJ);OBJ __APragmaAn_2; /* param */
extern OBJ _APragmaAn_3(OBJ);OBJ __APragmaAn_3; /* param? */
extern OBJ _APragmaAn_4(OBJ);OBJ __APragmaAn_4; /* pos */
extern OBJ _APragmaAn_5(OBJ);OBJ __APragmaAn_5; /* type */
extern OBJ _APragmaAn_6(OBJ);OBJ __APragmaAn_6; /* pos,1 */
extern OBJ _APragmaAn_7(OBJ,OBJ,OBJ,OBJ);OBJ __APragmaAn_7; /* val */
extern OBJ _APragmaAn_8(OBJ);OBJ __APragmaAn_8; /* val? */
extern OBJ _APragmaAn_9(OBJ);OBJ __APragmaAn_9; /* insts */
extern OBJ _APragmaAn_10(OBJ);OBJ __APragmaAn_10; /* ide */
extern OBJ _APragmaAn_13(OBJ,OBJ);OBJ __APragmaAn_13; /* type,1 */
extern OBJ _APragmaAn_14(OBJ);OBJ __APragmaAn_14; /* type? */
extern OBJ _APragmaAn_18(OBJ,OBJ);OBJ __APragmaAn_18; /* names */
extern OBJ _APragmaAn_19(OBJ);OBJ __APragmaAn_19; /* names? */
extern OBJ _APragmaAn_20(OBJ);OBJ __APragmaAn_20; /* names,1 */
extern OBJ _APragmaAn_21(OBJ);OBJ __APragmaAn_21; /* pos,2 */
extern OBJ _APragmaAn_22(OBJ,OBJ);OBJ __APragmaAn_22; /* lexem */
extern OBJ _APragmaAn_23(OBJ);OBJ __APragmaAn_23; /* lexem? */
extern OBJ _APragmaAn_24(OBJ);OBJ __APragmaAn_24; /* value */
extern OBJ _APragmaAn_27(OBJ);OBJ __APragmaAn_27; /* pragma */
extern OBJ _APragmaAn_28(OBJ);OBJ __APragmaAn_28; /* pragma? */
extern OBJ _APragmaAn_29(OBJ);OBJ __APragmaAn_29; /* items */
extern OBJ _APragmaAn_31(OBJ);OBJ __APragmaAn_31; /* pragmas */
extern OBJ _APragmaAn_32(OBJ);OBJ __APragmaAn_32; /* pragmas? */
extern OBJ _APragmaAn_33(OBJ);OBJ __APragmaAn_33; /* pragmas,1 */
OBJ __APragmaAn_34; /* none */
extern OBJ _APragmaAn_35(OBJ);OBJ __APragmaAn_35; /* none? */

extern OBJ _APragmaAn_2(OBJ x1,OBJ x2,OBJ x3) /* param */
{OBJ r;
 PRD(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _APragmaAn_3(OBJ x1) /* param? */
{OBJ r;
 if(ISTGPRD(x1,2)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APragmaAn_4(OBJ x1) /* pos */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FREE(FLD(x1,2),1);DSPRDF(x1);
   }else{
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("PragmaAn at <unknown> : undefined selection pos\'PragmaAn:pragmaName->nat");}
 return r;}

extern OBJ _APragmaAn_5(OBJ x1) /* type */
{OBJ r;
 {OBJ x3=FLD(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FLD(x1,2)=NIL;DSPRD(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _APragmaAn_6(OBJ x1) /* pos,1 */
{OBJ r;
 {OBJ x2=FLD(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRD(x1);
  }else{
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _APragmaAn_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* val */
{OBJ r;
 PRD(4,1,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;FLD(r,4)=x4;
 return r;}

extern OBJ _APragmaAn_8(OBJ x1) /* val? */
{OBJ r;
 if(ISTGPRD(x1,1)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APragmaAn_9(OBJ x1) /* insts */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x5=FLD(x1,4);
   if(EXPRD(x1,1)){
    r=x5;
    FLD(x1,4)=NIL;DSPRD(x1);
   }else{
    COPY(x5,1);
    r=x5;
    FRPRD(x1,1);}}
 }else{
  HLT("PragmaAn at <unknown> : undefined selection insts\'PragmaAn:pragmaName->seq");}
 return r;}

extern OBJ _APragmaAn_10(OBJ x1) /* ide */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    CPPRD(x4,1);
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("PragmaAn at <unknown> : undefined selection ide\'PragmaAn:pragmaName->ide");}
 return r;}

extern OBJ _APragmaAn_13(OBJ x1,OBJ x2) /* type,1 */
{OBJ r;
 PRD(2,0,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _APragmaAn_14(OBJ x1) /* type? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APragmaAn_18(OBJ x1,OBJ x2) /* names */
{OBJ r;
 PRD(2,1,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _APragmaAn_19(OBJ x1) /* names? */
{OBJ r;
 if(ISTGPRD(x1,1)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APragmaAn_20(OBJ x1) /* names,1 */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    DSPRDF(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("PragmaAn at <unknown> : undefined selection names\'PragmaAn:pragmaItem->seq");}
 return r;}

extern OBJ _APragmaAn_21(OBJ x1) /* pos,2 */
{OBJ r;
 {OBJ x2=FLD(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRD(x1);
  }else{
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _APragmaAn_22(OBJ x1,OBJ x2) /* lexem */
{OBJ r;
 PRD(2,0,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _APragmaAn_23(OBJ x1) /* lexem? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  if(EXPRD(x1,1)){
   FREE(FLD(x1,2),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APragmaAn_24(OBJ x1) /* value */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    DSPRDF(x1);
   }else{
    CPPRD(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("PragmaAn at <unknown> : undefined selection value\'PragmaAn:pragmaItem->denotation");}
 return r;}

extern OBJ _APragmaAn_27(OBJ x1) /* pragma */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _APragmaAn_28(OBJ x1) /* pragma? */
{OBJ r;
 FREE(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _APragmaAn_29(OBJ x1) /* items */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _APragmaAn_31(OBJ x1) /* pragmas */
{OBJ r;
 PRD1(1,r);FLD1(r,1)=x1;
 return r;}

extern OBJ _APragmaAn_32(OBJ x1) /* pragmas? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_3;
 }else{
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;}
 return r;}

extern OBJ _APragmaAn_33(OBJ x1) /* pragmas,1 */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PragmaAn at <unknown> : undefined selection pragmas\'PragmaAn:pragmaAn->seq");
 }else{
  {OBJ x2=FLD1(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APragmaAn_35(OBJ x1) /* none? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_5;
 }else{
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_3;}
 return r;}


init_APragmaAn()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_AIde();
 init_ASourceAn();
 init_ATypeAn();
 init_ASeq();
 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_AArray();
 init_AMap();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 CLS(1,_APragmaAn_31,__APragmaAn_31);
 CLS(1,_APragmaAn_29,__APragmaAn_29);
 CLS(1,_APragmaAn_28,__APragmaAn_28);
 CLS(1,_APragmaAn_27,__APragmaAn_27);
 CLS(1,_APragmaAn_24,__APragmaAn_24);
 CLS(1,_APragmaAn_23,__APragmaAn_23);
 CLS(2,_APragmaAn_22,__APragmaAn_22);
 CLS(1,_APragmaAn_21,__APragmaAn_21);
 CLS(1,_APragmaAn_20,__APragmaAn_20);
 CLS(1,_APragmaAn_19,__APragmaAn_19);
 CLS(2,_APragmaAn_18,__APragmaAn_18);
 CLS(1,_APragmaAn_14,__APragmaAn_14);
 CLS(2,_APragmaAn_13,__APragmaAn_13);
 CLS(1,_APragmaAn_10,__APragmaAn_10);
 CLS(1,_APragmaAn_9,__APragmaAn_9);
 CLS(1,_APragmaAn_8,__APragmaAn_8);
 CLS(4,_APragmaAn_7,__APragmaAn_7);
 CLS(1,_APragmaAn_6,__APragmaAn_6);
 CLS(1,_APragmaAn_5,__APragmaAn_5);
 CLS(1,_APragmaAn_4,__APragmaAn_4);
 CLS(1,_APragmaAn_3,__APragmaAn_3);
 CLS(1,_APragmaAn_35,__APragmaAn_35);
 CLS(3,_APragmaAn_2,__APragmaAn_2);
 CLS(1,_APragmaAn_33,__APragmaAn_33);
 CLS(1,_APragmaAn_32,__APragmaAn_32);
 PRM1(__APragmaAn_34);}

