

#include "BUILTIN.h"

#include "Array.h"
extern OBJ __ASeq_2;
extern OBJ __ASeq_6;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;

#include "Nat.h"

#include "Char.h"
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_5;
extern OBJ _AArrayReduce_3(OBJ,OBJ,OBJ);extern OBJ __AArrayReduce_3;
extern OBJ _AArrayConv_2(OBJ);OBJ __AArrayConv_2; /* asSeq */
extern OBJ _AArrayConv_3(OBJ);OBJ __AArrayConv_3; /* asArray */
extern OBJ _AArrayConv_4(OBJ,OBJ);OBJ __AArrayConv_4; /* ` */
extern OBJ _AArrayConv_5(OBJ,OBJ);OBJ __AArrayConv_5; /* `,1 */
extern OBJ _AArrayConv_6(OBJ,OBJ,OBJ);OBJ __AArrayConv_6; /* asArray,1 */
OBJ __AArrayConv_7; /* `'7 */
OBJ __AArrayConv_8; /* `'8 */
OBJ __AArrayConv_9; /* `'9 */

extern OBJ _AArrayConv_2(OBJ x1) /* asSeq */
{OBJ r;
 CPPRD(__ASeq_2,1);
 r=_AArrayReduce_3(__ASeq_2,__ASeq_6,x1);
 return r;}

extern OBJ _AArrayConv_3(OBJ x1) /* asArray */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__AArray_5,1);
  r=__AArray_5;
 }else{
  {OBJ x10=FLD1(x1,1);
   COPY(x10,1);
   CPPRD(x1,1);
   {OBJ x12;OBJ x13;
    x12=_ASeq_52(x1,__ANat_5);
    AArray_3(x12,x10,x13);
    r=_AArrayConv_6(x13,__ANat_5,x1);}}}
 return r;}

extern OBJ _AArrayConv_4(OBJ x1,OBJ x2) /* ` */
{OBJ r;
 CPPRD(__AArrayConv_7,1);
 CPPRD(__AArrayConv_8,1);
 CPPRD(__AArrayConv_9,1);
 CPPRD(__ASeq_2,1);
 {OBJ x3;
  x3=_AArrayReduce_3(__ASeq_2,__ASeq_6,x2);
  r=_ASeqConv_3(__AArrayConv_7,__AArrayConv_8,__AArrayConv_9,x1,x3);}
 return r;}

extern OBJ _AArrayConv_5(OBJ x1,OBJ x2) /* `,1 */
{OBJ r;
 CPPRD(__AArrayConv_7,1);
 CPPRD(__AArrayConv_8,1);
 CPPRD(__AArrayConv_9,1);
 CPPRD(__ASeq_2,1);
 {OBJ x3;
  x3=_AArrayReduce_3(__ASeq_2,__ASeq_6,x2);
  r=_ASeqConv_5(__AArrayConv_7,__AArrayConv_8,__AArrayConv_9,x1,x3);}
 return r;}

extern OBJ _AArrayConv_6(register OBJ x1,register OBJ x2,register OBJ x3) /* asArray,1 */
{OBJ r;
 for(;;){
  if(ISPRM(x3)){
   r=x1;
  }else{
   {OBJ x23=FLD1(x3,1);OBJ x24=FLD1(x3,2);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     COPY(x23,1);COPY(x24,1);
     FRPRD(x3,1);}
    {OBJ x25;OBJ x27;
     ANat_2(x2,x25);
     AArray_7(x2,x23,x1,x27);
     x1=x27;x2=x25;x3=x24;continue;}}}
  break;}
 return r;}

init_AArrayConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_ASeq();
 init_AString();
 init_ANat();
 init_AChar();
 init_AOption();
 init_ASeqConv();
 init_AArrayReduce();
 DEN("]",__AArrayConv_9);
 DEN(":",__AArrayConv_8);
 DEN("[",__AArrayConv_7);
 CLS(3,_AArrayConv_6,__AArrayConv_6);
 CLS(2,_AArrayConv_5,__AArrayConv_5);
 CLS(2,_AArrayConv_4,__AArrayConv_4);
 CLS(1,_AArrayConv_3,__AArrayConv_3);
 CLS(1,_AArrayConv_2,__AArrayConv_2);}

