

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __ASeq_6;

#include "ComState.h"
extern OBJ _AComState_AstateId(OBJ);OBJ __AComState_AstateId; /* stateId */
extern OBJ _AComState_Awith(OBJ,OBJ);OBJ __AComState_Awith; /* with */
extern OBJ _AComState_Seg(OBJ,OBJ);OBJ __AComState_Seg; /* => */
extern OBJ _AComState_Aget(OBJ);OBJ __AComState_Aget; /* get */
extern OBJ _AComState_S_(OBJ);OBJ __AComState_S_; /* ? */
extern OBJ _AComState_Adelete(OBJ);OBJ __AComState_Adelete; /* delete */
OBJ __AComState_Aprimitive; /* primitive */
extern OBJ _AComState_Aprimitive_(OBJ);OBJ __AComState_Aprimitive_; /* primitive? */
extern OBJ _AComState_ACreate(OBJ,OBJ);OBJ __AComState_ACreate; /* Create */
extern OBJ _AComState_ATrans(OBJ,OBJ,OBJ);OBJ __AComState_ATrans; /* Trans */
extern OBJ _AComState_ASelect(OBJ,OBJ);OBJ __AComState_ASelect; /* Select */
extern OBJ _AComState_ADelete(OBJ,OBJ);OBJ __AComState_ADelete; /* Delete */

#include "ComState.hc.c"

extern OBJ _AComState_AstateId(OBJ x1) /* stateId */
{OBJ r;
 CPCLS(__AComState_ACreate,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComState_ACreate,1))(__AComState_ACreate,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_Awith(OBJ x1,OBJ x2) /* with */
{OBJ r;
 CPCLS(__AComState_ATrans,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AComState_ATrans,2))(__AComState_ATrans,x1,x2);
  PRD(2,0,r);FLD(r,1)=x3;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_Seg(OBJ x1,OBJ x2) /* => */
{OBJ r;
 CPCLS(__AComState_ATrans,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AComState_ATrans,2))(__AComState_ATrans,x1,x2);
  PRD(2,0,r);FLD(r,1)=x3;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_Aget(OBJ x1) /* get */
{OBJ r;
 CPCLS(__AComState_ASelect,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComState_ASelect,1))(__AComState_ASelect,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_S_(OBJ x1) /* ? */
{OBJ r;
 CPCLS(__AComState_ASelect,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComState_ASelect,1))(__AComState_ASelect,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_Adelete(OBJ x1) /* delete */
{OBJ r;
 CPCLS(__AComState_ADelete,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComState_ADelete,1))(__AComState_ADelete,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AComState_Aprimitive_(OBJ x1) /* primitive? */
{OBJ r;
 r=__ABUILTIN_5;
 return r;}


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

static OBJ _mt_3_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3);
 return r;}

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

init_AComState()
{
 static int visited=0; if(visited) return; visited=1;
 init_AVoid();
 init_ACom();
 init_ANat();
 init_ASeq();
 init_AOption();
 init_ASeqMap();
 CLS(2,_AComState_14,__AComState_14);
 CLS(2,_AComState_13,__AComState_13);
 CLS(3,_AComState_12,__AComState_12);
 CLS(2,_AComState_11,__AComState_11);
 CLS(1,_AComState_10,__AComState_10);
 CLS(1,_AComState_8,__AComState_8);
 CLS(1,_AComState_7,__AComState_7);
 CLS(1,_AComState_6,__AComState_6);
 CLS(2,_AComState_5,__AComState_5);
 CLS(2,_AComState_4,__AComState_4);
 CLS(1,_AComState_3,__AComState_3);
 MTH(3,0,2,_mt_3_0_2);LZYMTH(3,0,2,_mt_3_0_2);
 MTH(3,0,3,_mt_3_0_3);LZYMTH(3,0,3,_mt_3_0_3);
 MTH(3,2,1,_mt_3_2_1);LZYMTH(3,2,1,_mt_3_2_1_l);
 init_const_AComState();
 /* __AComState_Aprimitive */
 PRM1(__AComState_Aprimitive);}

