PEEK
#define SEE(c) (MORE() && PEEK() == (c))
#define SEETWO(a, b) (MORE2() && PEEK() == (a) && PEEK2() == (b))
while (MORE() && (c = PEEK()) != '|' && c != stop)
REQUIRE(!MORE() || !isdigit((uch)PEEK()), REG_BADRPT);
c = PEEK();
if (isdigit((uch)PEEK())) {
while (MORE() && PEEK() != '}')
c = PEEK();
if (MORE() && isdigit((uch)PEEK())) {
while (MORE() && isdigit((uch)PEEK()) && count <= DUPMAX) {
while (MORE() && PEEK() != ']' && !SEETWO('-', ']'))
switch ((MORE()) ? PEEK() : '\0') {
c = PEEK();
c = PEEK();
while (MORE() && isalpha((uch)PEEK()))