

#include "BUILTIN.h"

#include "Nat.h"

#include "Char.h"

#define __AChar_Atab_L38 __AChar_38
extern OBJ __AChar_Atab_L38;

#define __AChar_Anewline_L39 __AChar_39
extern OBJ __AChar_Anewline_L39;

#define __AChar_Ablank_L40 __AChar_40
extern OBJ __AChar_Ablank_L40;

#define __AChar_Avtab_L41 __AChar_41
extern OBJ __AChar_Avtab_L41;

#define __AChar_Abackspace_L42 __AChar_42
extern OBJ __AChar_Abackspace_L42;

#define __AChar_Areturn_L43 __AChar_43
extern OBJ __AChar_Areturn_L43;

#define __AChar_Aformfeed_L44 __AChar_44
extern OBJ __AChar_Aformfeed_L44;

#define __AChar_Abell_L45 __AChar_45
extern OBJ __AChar_Abell_L45;
OBJ __AChar_Amin; /* min */
OBJ __AChar_Amax; /* max */
extern OBJ _AChar_Apred(OBJ);OBJ __AChar_Apred; /* pred */
extern OBJ _AChar_Asucc(OBJ);OBJ __AChar_Asucc; /* succ */
OBJ __AChar_Atab; /* tab */
OBJ __AChar_Anewline; /* newline */
OBJ __AChar_Ablank; /* blank */
OBJ __AChar_Avtab; /* vtab */
OBJ __AChar_Abackspace; /* backspace */
OBJ __AChar_Areturn; /* return */
OBJ __AChar_Aformfeed; /* formfeed */
OBJ __AChar_Abell; /* bell */
extern OBJ _AChar_Sle(OBJ,OBJ);OBJ __AChar_Sle; /* <= */
extern OBJ _AChar_Se(OBJ,OBJ);OBJ __AChar_Se; /* = */
extern OBJ _AChar_Sge(OBJ,OBJ);OBJ __AChar_Sge; /* >= */
extern OBJ _AChar_Sl(OBJ,OBJ);OBJ __AChar_Sl; /* < */
extern OBJ _AChar_Sg(OBJ,OBJ);OBJ __AChar_Sg; /* > */
extern OBJ _AChar_SSe(OBJ,OBJ);OBJ __AChar_SSe; /* |= */
extern OBJ _AChar_Alower_(OBJ);OBJ __AChar_Alower_; /* lower? */
extern OBJ _AChar_Aupper_(OBJ);OBJ __AChar_Aupper_; /* upper? */
extern OBJ _AChar_Acontrol_(OBJ);OBJ __AChar_Acontrol_; /* control? */
extern OBJ _AChar_Apunctuation_(OBJ);OBJ __AChar_Apunctuation_; /* punctuation? */
extern OBJ _AChar_Aletter_(OBJ);OBJ __AChar_Aletter_; /* letter? */
extern OBJ _AChar_Adigit_(OBJ);OBJ __AChar_Adigit_; /* digit? */
extern OBJ _AChar_Aletgit_(OBJ);OBJ __AChar_Aletgit_; /* letgit? */
extern OBJ _AChar_Aspace_(OBJ);OBJ __AChar_Aspace_; /* space? */
extern OBJ _AChar_Awhitespace_(OBJ);OBJ __AChar_Awhitespace_; /* whitespace? */
extern OBJ _AChar_Aprintable_(OBJ);OBJ __AChar_Aprintable_; /* printable? */
extern OBJ _AChar_Alower(OBJ);OBJ __AChar_Alower; /* lower */
extern OBJ _AChar_Aupper(OBJ);OBJ __AChar_Aupper; /* upper */
extern OBJ _AChar_S1(OBJ);OBJ __AChar_S1; /* ! */
OBJ __AChar_Aprimitive; /* primitive */
extern OBJ _AChar_Aprimitive_(OBJ);OBJ __AChar_Aprimitive_; /* primitive? */
extern OBJ _AChar_AuncheckedPred(OBJ);OBJ __AChar_AuncheckedPred; /* uncheckedPred */
extern OBJ _AChar_AuncheckedSucc(OBJ);OBJ __AChar_AuncheckedSucc; /* uncheckedSucc */
extern OBJ _AChar_AdenCharCode(OBJ);OBJ __AChar_AdenCharCode; /* denCharCode */
OBJ __AChar_Atab_L38; /* tab'38 */
OBJ __AChar_Anewline_L39; /* newline'39 */
OBJ __AChar_Ablank_L40; /* blank'40 */
OBJ __AChar_Avtab_L41; /* vtab'41 */
OBJ __AChar_Abackspace_L42; /* backspace'42 */
OBJ __AChar_Areturn_L43; /* return'43 */
OBJ __AChar_Aformfeed_L44; /* formfeed'44 */
OBJ __AChar_Abell_L45; /* bell'45 */

#include "Char.hc.c"

extern OBJ _AChar_Apred(OBJ x1) /* pred */
{OBJ r;
 {OBJ x2;
  AChar_Se(x1,__AChar_Amin,x2);
  if(ISTGPRM(x2,0)){
   AChar_AuncheckedPred(x1,r);
  }else{
   HLT("pred\'Char: no pred for min\'Char");}}
 return r;}

extern OBJ _AChar_Asucc(OBJ x1) /* succ */
{OBJ r;
 {OBJ x2;
  AChar_Se(x1,__AChar_Amax,x2);
  if(ISTGPRM(x2,0)){
   AChar_AuncheckedSucc(x1,r);
  }else{
   HLT("succ\'Char: no succ for max\'Char");}}
 return r;}

extern OBJ _AChar_Aletgit_(OBJ x1) /* letgit? */
{OBJ r;
 {OBJ x2;
  AChar_Aletter_(x1,x2);
  if(ISTGPRM(x2,1)){
   r=__ABUILTIN_5;
  }else{
   AChar_Adigit_(x1,r);}}
 return r;}

extern OBJ _AChar_Aspace_(OBJ x1) /* space? */
{OBJ r;
 {OBJ x2;
  AChar_Se(x1,__AChar_Anewline,x2);
  if(ISTGPRM(x2,1)){
   r=__ABUILTIN_5;
  }else{
   {OBJ x3;
    AChar_Se(x1,__AChar_Ablank,x3);
    if(ISTGPRM(x3,1)){
     r=__ABUILTIN_5;
    }else{
     AChar_Se(x1,__AChar_Atab,r);}}}}
 return r;}

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










init_AChar()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 CLS(1,_AChar_31,__AChar_31);
 CLS(1,_AChar_30,__AChar_30);
 CLS(1,_AChar_29,__AChar_29);
 CLS(1,_AChar_28,__AChar_28);
 CLS(1,_AChar_27,__AChar_27);
 CLS(1,_AChar_26,__AChar_26);
 CLS(1,_AChar_25,__AChar_25);
 CLS(1,_AChar_24,__AChar_24);
 CLS(1,_AChar_23,__AChar_23);
 CLS(1,_AChar_22,__AChar_22);
 CLS(1,_AChar_21,__AChar_21);
 CLS(1,_AChar_20,__AChar_20);
 CLS(2,_AChar_19,__AChar_19);
 CLS(2,_AChar_18,__AChar_18);
 CLS(2,_AChar_17,__AChar_17);
 CLS(2,_AChar_16,__AChar_16);
 CLS(2,_AChar_15,__AChar_15);
 CLS(2,_AChar_14,__AChar_14);
 DEN("\a",__AChar_45);
 DEN("\f",__AChar_44);
 DEN("\r",__AChar_43);
 DEN("\b",__AChar_42);
 DEN("\v",__AChar_41);
 DEN(" ",__AChar_40);
 DEN("\n",__AChar_39);
 DEN("\t",__AChar_38);
 CLS(1,_AChar_5,__AChar_5);
 CLS(1,_AChar_37,__AChar_37);
 CLS(1,_AChar_4,__AChar_4);
 CLS(1,_AChar_36,__AChar_36);
 CLS(1,_AChar_35,__AChar_35);
 CLS(1,_AChar_34,__AChar_34);
 CLS(1,_AChar_32,__AChar_32);
 init_const_AChar();
 /* __AChar_Atab */
 CPPRD(__AChar_Atab_L38,1);
 AChar_AdenCharCode(__AChar_Atab_L38,__AChar_Atab);
 /* __AChar_Anewline */
 CPPRD(__AChar_Anewline_L39,1);
 AChar_AdenCharCode(__AChar_Anewline_L39,__AChar_Anewline);
 /* __AChar_Ablank */
 CPPRD(__AChar_Ablank_L40,1);
 AChar_S1(__AChar_Ablank_L40,__AChar_Ablank);
 /* __AChar_Avtab */
 CPPRD(__AChar_Avtab_L41,1);
 AChar_AdenCharCode(__AChar_Avtab_L41,__AChar_Avtab);
 /* __AChar_Abackspace */
 CPPRD(__AChar_Abackspace_L42,1);
 AChar_AdenCharCode(__AChar_Abackspace_L42,__AChar_Abackspace);
 /* __AChar_Areturn */
 CPPRD(__AChar_Areturn_L43,1);
 AChar_AdenCharCode(__AChar_Areturn_L43,__AChar_Areturn);
 /* __AChar_Aformfeed */
 CPPRD(__AChar_Aformfeed_L44,1);
 AChar_AdenCharCode(__AChar_Aformfeed_L44,__AChar_Aformfeed);
 /* __AChar_Abell */
 CPPRD(__AChar_Abell_L45,1);
 AChar_AdenCharCode(__AChar_Abell_L45,__AChar_Abell);
 /* __AChar_Aprimitive */
 PRM1(__AChar_Aprimitive);}

