/* * parse.h */ typedef enum {l, a, n} Stype; typedef struct scell* Sp; typedef struct scell { Stype celltype; union { struct { Sp first; Sp rest; } lcell; char * alfp; Numtype nump; } ptrs; } Scell; Sp sexpr(void); Sp cons(Sp, Sp); Sp car(Sp); Sp cdr(Sp); void writesexpr(Sp); Sp err(long); void inittrueatom(void); Sp newnumatom(Numtype); char * chars(Sp); Numtype number(Sp); Stype ctype(Sp); Sp trueatom; Sp nilatom; /*-------------------------------------------------*/