

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ _AComCompose_4(OBJ,OBJ);extern OBJ __AComCompose_4;
extern OBJ _AComCompose_6(OBJ,OBJ);extern OBJ __AComCompose_6;
extern OBJ __AComAction_1;
extern OBJ _AComSeqAction_2(OBJ,OBJ);OBJ __AComSeqAction_2; /* @; */
extern OBJ _AComSeqAction_3(OBJ,OBJ);OBJ __AComSeqAction_3; /* @& */

extern OBJ _AComSeqAction_2(OBJ x1,OBJ x2) /* @; */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  CPPRD(__AComAction_1,1);
  r=__AComAction_1;
 }else{
  {OBJ x22=FLD1(x2,1);OBJ x23=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x22,1);COPY(x23,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   {OBJ x26;OBJ x25;
    x26=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x22);
    x25=_AComSeqAction_2(x1,x23);
    r=_AComCompose_4(x26,x25);}}}
 return r;}

extern OBJ _AComSeqAction_3(OBJ x1,OBJ x2) /* @& */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  CPPRD(__AComAction_1,1);
  r=__AComAction_1;
 }else{
  {OBJ x22=FLD1(x2,1);OBJ x23=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x22,1);COPY(x23,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   {OBJ x26;OBJ x25;
    x26=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x22);
    x25=_AComSeqAction_3(x1,x23);
    r=_AComCompose_6(x26,x25);}}}
 return r;}

init_AComSeqAction()
{
 static int visited=0; if(visited) return; visited=1;
 init_AVoid();
 init_ACom();
 init_ASeq();
 init_ANat();
 init_AOption();
 init_AComCompose();
 init_AComAction();
 init_ASeqMap();
 CLS(2,_AComSeqAction_3,__AComSeqAction_3);
 CLS(2,_AComSeqAction_2,__AComSeqAction_2);}

