RANGE
#define RANGE(start, end) { start, end, (end - start) + 1 }
#undef RANGE
#define RANGE '-'
#define RANGE 16
#define RANGE(n, l, h) if ((n) < (l) || (n) >= (h)) \
#define RANGE(x,y,z) /* nothing */
enum { EOS, INFINITE, NORMAL, RANGE, SEQUENCE, SET } state;