

#include "BUILTIN.h"

#include "Array.h"
extern OBJ _AToken_16(OBJ);extern OBJ __AToken_16;
extern OBJ __AAbsy_2;
extern OBJ _AAbsy_79(OBJ);extern OBJ __AAbsy_79;
extern OBJ __AOcError_15;
extern OBJ _AOcError_22(OBJ);extern OBJ __AOcError_22;
extern OBJ __ASeq_6;

#include "Nat.h"

#include "Char.h"

#include "Int.h"

#include "Bitset.h"

#include "Denotation.h"
extern OBJ _APTypes_2(OBJ,OBJ,OBJ);OBJ __APTypes_2; /* pFail */
extern OBJ _APTypes_3(OBJ);OBJ __APTypes_3; /* pFail? */
extern OBJ _APTypes_4(OBJ);OBJ __APTypes_4; /* tokS */
extern OBJ _APTypes_5(OBJ);OBJ __APTypes_5; /* absy */
extern OBJ _APTypes_6(OBJ);OBJ __APTypes_6; /* err */
extern OBJ _APTypes_7(OBJ,OBJ,OBJ);OBJ __APTypes_7; /* pRes */
extern OBJ _APTypes_8(OBJ);OBJ __APTypes_8; /* pRes? */
OBJ __APTypes_12; /* initRes */
OBJ __APTypes_13; /* optRes */
extern OBJ _APTypes_14(OBJ);OBJ __APTypes_14; /* ` */
OBJ __APTypes_15; /* `'15 */
OBJ __APTypes_16; /* `'16 */
OBJ __APTypes_17; /* `'17 */
OBJ __APTypes_18; /* `'18 */

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

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

extern OBJ _APTypes_4(OBJ x1) /* tokS */
{OBJ r;
 {OBJ x4=FLD(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FLD(x1,3)=NIL;DSPRD(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _APTypes_5(OBJ x1) /* absy */
{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 _APTypes_6(OBJ x1) /* err */
{OBJ r;
 {OBJ x2=FLD(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD(x1,1)=NIL;DSPRD(x1);
  }else{
   CPPRD(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

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

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

extern OBJ _APTypes_14(OBJ x1) /* ` */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x45=FLD(x1,1);OBJ x46=FLD(x1,2);OBJ x47=FLD(x1,3);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x45,1);COPY(x46,1);COPY(x47,1);
    FRPRD(x1,1);}
   {OBJ x48;OBJ x49;OBJ x50;
    x48=_AToken_16(x47);
    x49=_AAbsy_79(x46);
    x50=_AOcError_22(x45);
    if(ISTGPRM(x50,1)){
     CPPRD(__APTypes_15,2);
     CPPRD(__APTypes_16,1);
     {OBJ x51;OBJ x52;OBJ x53;
      ADenotation_4(__APTypes_15,x48,x51);
      ADenotation_4(x49,x51,x52);
      ADenotation_4(__APTypes_15,x52,x53);
      ADenotation_4(__APTypes_16,x53,r);}
    }else{
     CPPRD(__APTypes_17,1);
     {OBJ x54;
      ADenotation_4(x49,x48,x54);
      ADenotation_4(__APTypes_17,x54,r);}}}}
 }else{
  {OBJ x57=FLD(x1,3);
   if(EXPRD(x1,1)){
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    COPY(x57,1);
    FRPRD(x1,1);}
   CPPRD(__APTypes_18,1);
   {OBJ x58;
    x58=_AToken_16(x57);
    ADenotation_4(__APTypes_18,x58,r);}}}
 return r;}



init_APTypes()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_AToken();
 init_AAbsy();
 init_AOcError();
 init_ASeq();
 init_ANat();
 init_AOption();
 init_AOcPos();
 init_AString();
 init_AOcOptions();
 init_ACom();
 init_AVoid();
 init_AChar();
 init_AStream();
 init_AFile();
 init_AInt();
 init_APragma();
 init_AFct();
 init_AStruct();
 init_AImpl();
 init_APartName();
 init_ARep();
 init_APair();
 init_ABitset();
 init_AGlobPragma();
 init_AMap();
 init_ASet();
 init_ATerminal();
 init_ARepTab();
 init_ADenotation();
 DEN("Res is Fail ",__APTypes_18);
 DEN("Err of Res is not Ok ",__APTypes_17);
 DEN(" --> Res is Ok ",__APTypes_16);
 DEN("\n",__APTypes_15);
 CLS(1,_APTypes_14,__APTypes_14);
 CLS(1,_APTypes_8,__APTypes_8);
 CLS(3,_APTypes_7,__APTypes_7);
 CLS(1,_APTypes_6,__APTypes_6);
 CLS(1,_APTypes_5,__APTypes_5);
 CLS(1,_APTypes_4,__APTypes_4);
 CLS(1,_APTypes_3,__APTypes_3);
 CLS(3,_APTypes_2,__APTypes_2);
 CPPRD(__AOcError_15,1);
 PRD(3,0,__APTypes_12);FLD(__APTypes_12,1)=__AOcError_15;FLD(__APTypes_12,2)=__AAbsy_2;FLD(__APTypes_12,3)=__ASeq_6;
 CPPRD(__APTypes_12,1);
 __APTypes_13=__APTypes_12;}

