typedef enum { END = -1, EMPTY = (1 << 8 ) , BACKREF, BEGLINE, ENDLINE, BEGWORD, ENDWORD, LIMWORD, NOTLIMWORD, QMARK, STAR, PLUS, REPMN, CAT, OR, ORTOP, LPAREN, RPAREN, CSET } token; static token tok; static int atom () { if ((tok >= 0 && tok < (1 << 8 ) ) || tok >= CSET || tok == BACKREF || tok == BEGLINE || tok == ENDLINE || tok == BEGWORD || tok == ENDWORD || tok == LIMWORD || tok == NOTLIMWORD) return 1; else return 0; } main () { tok = 0; if (atom () != 1) abort (); exit (0); }