

#include "BUILTIN.h"

#include "Denotation.h"

#include "Nat.h"

#include "Char.h"

#include "Int.h"
extern OBJ _AOptionConv_2(OBJ,OBJ);OBJ __AOptionConv_2; /* ` */
OBJ __AOptionConv_3; /* `'3 */
OBJ __AOptionConv_4; /* `'4 */
OBJ __AOptionConv_5; /* `'5 */

extern OBJ _AOptionConv_2(OBJ x1,OBJ x2) /* ` */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  CPPRD(__AOptionConv_3,1);
  r=__AOptionConv_3;
 }else{
  {OBJ x11=FLD1(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x11,1);
    FRPRD(x2,1);}
   CPPRD(__AOptionConv_4,1);
   CPPRD(__AOptionConv_5,1);
   {OBJ x12;OBJ x13;
    x12=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x11);
    ADenotation_4(x12,__AOptionConv_4,x13);
    ADenotation_4(__AOptionConv_5,x13,r);}}}
 return r;}

init_AOptionConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_AOption();
 init_ADenotation();
 init_ANat();
 init_AChar();
 init_AInt();
 DEN("[",__AOptionConv_5);
 DEN("]",__AOptionConv_4);
 DEN("nil",__AOptionConv_3);
 CLS(2,_AOptionConv_2,__AOptionConv_2);}

