/*
 * 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;
/*-------------------------------------------------*/


