void abort(void);
void exit(int);

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;
}

int main(void) {
    tok = 0;
    if (atom() != 1)
        abort();
    exit(0);
}
