

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;

#include "Denotation.h"
extern OBJ _ASeqFold_2(OBJ,OBJ);extern OBJ __ASeqFold_2;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;

#include "NatConv.h"

#include "Int.h"

#include "Real.h"

#include "Char.h"
extern OBJ _AComConv_2(OBJ,OBJ);OBJ __AComConv_2; /* ` */
extern OBJ _AComConv_3(OBJ);OBJ __AComConv_3; /* `,1 */
OBJ __AComConv_4; /* `'4 */
OBJ __AComConv_5; /* `'5 */
OBJ __AComConv_6; /* `'6 */
OBJ __AComConv_7; /* `'7 */
OBJ __AComConv_8; /* `,1'8 */
OBJ __AComConv_9; /* `,1'9 */
OBJ __AComConv_10; /* `,1'10 */
OBJ __AComConv_11; /* `,1'11 */
extern OBJ _AComConv_12(OBJ,OBJ);OBJ __AComConv_12; /* `,1'12 */

extern OBJ _AComConv_2(OBJ x1,OBJ x2) /* ` */
{OBJ r;
 if(ISTGPRD(x2,0)){
  {OBJ x20=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x20,1);
    FRPRD(x2,1);}
   CPPRD(__AComConv_4,1);
   CPPRD(__AComConv_5,1);
   {OBJ x21;OBJ x22;
    x21=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x20);
    ADenotation_4(x21,__AComConv_4,x22);
    ADenotation_4(__AComConv_5,x22,r);}}
 }else{
  {OBJ x23=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x23,1);
    FRPRD(x2,1);}
   FRCLS(x1,1);
   CPPRD(__AComConv_6,1);
   CPPRD(__AComConv_7,1);
   {OBJ x24;
    ADenotation_4(x23,__AComConv_6,x24);
    ADenotation_4(__AComConv_7,x24,r);}}}
 return r;}

extern OBJ _AComConv_3(OBJ x1) /* `,1 */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x32=FLD(x1,2);
   if(EXPRD(x1,1)){
    FRCLS(FLD(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x32,1);
    FRPRD(x1,1);}
   if(ISPRM(x32)){
    CPPRD(__AComConv_8,1);
    r=__AComConv_8;
   }else{
    CPPRD(__AComConv_9,1);
    {OBJ x35;OBJ x36;
     x35=_ASeq_52(x32,__ANat_5);
     ANatConv_1(x35,x36);
     ADenotation_4(__AComConv_9,x36,r);}}}
 }else{
  {OBJ x37=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x37,1);
    FRPRD(x1,1);}
   CPCLS(__AComConv_3,1);
   CPCLS(__AComConv_12,1);
   {OBJ x38;
    x38=_ASeqMap_3(__AComConv_3,x37);
    r=_ASeqFold_2(__AComConv_12,x38);}}}
 return r;}

extern OBJ _AComConv_12(OBJ x1,OBJ x2) /* `,1'12 */
{OBJ r;
 CPPRD(__AComConv_4,1);
 CPPRD(__AComConv_10,1);
 CPPRD(__AComConv_11,1);
 {OBJ x3;OBJ x4;OBJ x5;
  ADenotation_4(x2,__AComConv_4,x3);
  ADenotation_4(__AComConv_10,x3,x4);
  ADenotation_4(x1,x4,x5);
  ADenotation_4(__AComConv_11,x5,r);}
 return r;}

init_AComConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ACom();
 init_ANat();
 init_AVoid();
 init_ASeq();
 init_AOption();
 init_ADenotation();
 init_ASeqFold();
 init_ASeqMap();
 init_ANatConv();
 init_AInt();
 init_AReal();
 init_AChar();
 CLS(2,_AComConv_12,__AComConv_12);
 DEN("(",__AComConv_11);
 DEN(") + (",__AComConv_10);
 DEN("(<command> ; ...) ; Cont",__AComConv_9);
 DEN("<command>",__AComConv_8);
 DEN("fail(\"",__AComConv_7);
 DEN("\")",__AComConv_6);
 DEN("okay(",__AComConv_5);
 DEN(")",__AComConv_4);
 CLS(1,_AComConv_3,__AComConv_3);
 CLS(2,_AComConv_2,__AComConv_2);}

