

#include "BUILTIN.h"

#include "Denotation.h"

#include "Nat.h"

#include "Char.h"

#include "Int.h"
extern OBJ _ATripleConv_4(OBJ,OBJ,OBJ,OBJ);OBJ __ATripleConv_4; /* ` */
extern OBJ _ATripleConv_5(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ATripleConv_5; /* `,1 */
OBJ __ATripleConv_6; /* `'6 */
OBJ __ATripleConv_7; /* `'7 */
OBJ __ATripleConv_8; /* `'8 */

extern OBJ _ATripleConv_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* ` */
{OBJ r;
 CPPRD(__ATripleConv_6,1);
 CPPRD(__ATripleConv_7,1);
 CPPRD(__ATripleConv_8,1);
 r=_ATripleConv_5(__ATripleConv_6,__ATripleConv_7,__ATripleConv_8,x1,x2,x3,x4);
 return r;}

extern OBJ _ATripleConv_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* `,1 */
{OBJ r;
 {OBJ x28=FLD1(x7,1);OBJ x29=FLD1(x7,2);OBJ x30=FLD1(x7,3);
  if(EXPRD(x7,1)){
   DSPRDF(x7);
  }else{
   COPY(x28,1);COPY(x29,1);COPY(x30,1);
   FRPRD(x7,1);}
  CPPRD(x2,1);
  {OBJ x31;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;
   x31=(*(OBJ(*)(OBJ,OBJ))METHOD(x6,1))(x6,x30);
   x32=(*(OBJ(*)(OBJ,OBJ))METHOD(x5,1))(x5,x29);
   x33=(*(OBJ(*)(OBJ,OBJ))METHOD(x4,1))(x4,x28);
   ADenotation_4(x31,x3,x34);
   ADenotation_4(x2,x34,x35);
   ADenotation_4(x32,x35,x36);
   ADenotation_4(x2,x36,x37);
   ADenotation_4(x33,x37,x38);
   ADenotation_4(x1,x38,r);}}
 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_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3,t4);
 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;}

static OBJ _mt_7_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_7_0_6(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,6);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 return r;}

static OBJ _mt_7_0_7(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3,t4,t5,t6,t7);
 return r;}

static OBJ _mt_7_3_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  FLDCLS(r,3)=FLDCLS(t,3);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);
  COPY(FLDCLS(r,3),1);}
 INCCLS(r,3,3);
 FLDCLS(r,4)=t1;
 FLDCLS(r,5)=t2;
 FLDCLS(r,6)=t3;
 return r;}

static OBJ _mt_7_3_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{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,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1,t2,t3,t4);
 return r;}

static OBJ _mt_7_6_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);
  COPY(FLDCLS(t,4),1);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 return r;}
static OBJ _mt_7_6_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;FLDCLS(t,5)=NIL;FLDCLS(t,6)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_ATripleConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ATriple();
 init_ADenotation();
 init_ANat();
 init_AChar();
 init_AInt();
 DEN(")",__ATripleConv_8);
 DEN(",",__ATripleConv_7);
 DEN("(",__ATripleConv_6);
 CLS(7,_ATripleConv_5,__ATripleConv_5);
 CLS(4,_ATripleConv_4,__ATripleConv_4);
 MTH(4,0,3,_mt_4_0_3);LZYMTH(4,0,3,_mt_4_0_3);
 MTH(4,0,4,_mt_4_0_4);LZYMTH(4,0,4,_mt_4_0_4);
 MTH(4,3,1,_mt_4_3_1);LZYMTH(4,3,1,_mt_4_3_1_l);
 MTH(7,0,3,_mt_7_0_3);LZYMTH(7,0,3,_mt_7_0_3);
 MTH(7,0,6,_mt_7_0_6);LZYMTH(7,0,6,_mt_7_0_6);
 MTH(7,0,7,_mt_7_0_7);LZYMTH(7,0,7,_mt_7_0_7);
 MTH(7,3,3,_mt_7_3_3);LZYMTH(7,3,3,_mt_7_3_3);
 MTH(7,3,4,_mt_7_3_4);LZYMTH(7,3,4,_mt_7_3_4);
 MTH(7,6,1,_mt_7_6_1);LZYMTH(7,6,1,_mt_7_6_1_l);}

