

#include "BUILTIN.h"
extern OBJ _AFmt_28(OBJ);extern OBJ __AFmt_28;
extern OBJ __AFmt_32;

#include "Nat.h"

#include "Char.h"
extern OBJ _AFmtOption_2(OBJ,OBJ);OBJ __AFmtOption_2; /* fmtOption */
OBJ __AFmtOption_3; /* fmtOption'3 */
OBJ __AFmtOption_4; /* fmtOption'4 */
extern OBJ _AFmtOption_5(OBJ);OBJ __AFmtOption_5; /* fmtOption'5 */
OBJ __AFmtOption_6; /* fmtOption'6 */
extern OBJ _AFmtOption_7(OBJ);OBJ __AFmtOption_7; /* fmtOption'7 */
OBJ __AFmtOption_8; /* fmtOption'8 */
extern OBJ _AFmtOption_9(OBJ);OBJ __AFmtOption_9; /* fmtOption'9 */
OBJ __AFmtOption_10; /* fmtOption'10 */
extern OBJ _AFmtOption_11(OBJ);OBJ __AFmtOption_11; /* fmtOption'11 */

extern OBJ _AFmtOption_2(OBJ x1,OBJ x2) /* fmtOption */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  COPY(__AFmtOption_3,1);
  CPCLS(__AFmtOption_5,1);
  COPY(__AFmt_32,1);
  {OBJ x19;OBJ x20;
   x19=(*(OBJ(*)(OBJ,OBJ))METHOD(__AFmtOption_5,1))(__AFmtOption_5,__ABUILTIN_20);
   PRD(2,7,x20);FLD(x20,1)=__AFmtOption_3;FLD(x20,2)=x19;
   PRD(2,7,r);FLD(r,1)=x20;FLD(r,2)=__AFmt_32;}
 }else{
  {OBJ x21=FLD1(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x21,1);
    FRPRD(x2,1);}
   COPY(__AFmtOption_3,1);
   CPCLS(__AFmtOption_7,1);
   CPCLS(__AFmtOption_9,1);
   CPCLS(__AFmtOption_11,1);
   COPY(__AFmt_32,1);
   {OBJ x22;OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;OBJ x28;OBJ x29;
    x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AFmtOption_11,1))(__AFmtOption_11,__ABUILTIN_20);
    x23=(*(OBJ(*)(OBJ,OBJ))METHOD(__AFmtOption_9,1))(__AFmtOption_9,__ABUILTIN_20);
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AFmtOption_7,1))(__AFmtOption_7,__ABUILTIN_20);
    x25=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x21);
    PRD(2,7,x26);FLD(x26,1)=__AFmtOption_3;FLD(x26,2)=x24;
    PRD(2,7,x27);FLD(x27,1)=x25;FLD(x27,2)=x22;
    PRD(2,7,x28);FLD(x28,1)=x23;FLD(x28,2)=x27;
    PRD(2,7,x29);FLD(x29,1)=x28;FLD(x29,2)=__AFmt_32;
    PRD(2,7,r);FLD(r,1)=x26;FLD(r,2)=x29;}}}
 return r;}

extern OBJ _AFmtOption_5(OBJ x1) /* fmtOption'5 */
{OBJ r;
 CPPRD(__AFmtOption_4,1);
 r=_AFmt_28(__AFmtOption_4);
 return r;}

extern OBJ _AFmtOption_7(OBJ x1) /* fmtOption'7 */
{OBJ r;
 CPPRD(__AFmtOption_6,1);
 r=_AFmt_28(__AFmtOption_6);
 return r;}

extern OBJ _AFmtOption_9(OBJ x1) /* fmtOption'9 */
{OBJ r;
 CPPRD(__AFmtOption_8,1);
 r=_AFmt_28(__AFmtOption_8);
 return r;}

extern OBJ _AFmtOption_11(OBJ x1) /* fmtOption'11 */
{OBJ r;
 CPPRD(__AFmtOption_10,1);
 r=_AFmt_28(__AFmtOption_10);
 return r;}


init_AFmtOption()
{
 static int visited=0; if(visited) return; visited=1;
 init_AOption();
 init_AFmt();
 init_AString();
 init_ANat();
 init_AChar();
 init_ASeq();
 init_AVoid();
 init_ASeqReduce();
 LCLS(1,_AFmtOption_11,__AFmtOption_11);
 DEN(")",__AFmtOption_10);
 LCLS(1,_AFmtOption_9,__AFmtOption_9);
 DEN("(",__AFmtOption_8);
 LCLS(1,_AFmtOption_7,__AFmtOption_7);
 DEN("avail",__AFmtOption_6);
 LCLS(1,_AFmtOption_5,__AFmtOption_5);
 DEN("nil",__AFmtOption_4);
 CLS(2,_AFmtOption_2,__AFmtOption_2);
 PRDF(1,14,__AFmtOption_3);FLD(__AFmtOption_3,1)=__ANat_9;}

