SYNTAX
| error { yyclearin; bracecheck(); SYNTAX("bailing out"); }
if (safe) SYNTAX("cmd | getline is unsafe");
if (safe) SYNTAX("cmd | getline is unsafe");
if (safe) SYNTAX("print | is unsafe");
if (safe) SYNTAX("print >> is unsafe");
if (safe) SYNTAX("print > is unsafe");
| error { yyclearin; SYNTAX("illegal statement"); }
BREAK st { if (!inloop) SYNTAX("break illegal outside of loops");
| CONTINUE st { if (!inloop) SYNTAX("continue illegal outside of loops");
SYNTAX("next is illegal inside a function");
SYNTAX("nextfile is illegal inside a function");
{ SYNTAX("index() doesn't permit regular expressions");
SYNTAX("%s is an array, not a function", p->nval);
SYNTAX("you can't define function %s more than once", p->nval);
SYNTAX("duplicate argument %s", s);
extern void SYNTAX(const char *, ...);
SYNTAX("unexpected end of input after $");
SYNTAX("extra }");
SYNTAX("extra ]");
SYNTAX("extra )");
SYNTAX("non-terminated string %.10s...", buf);
SYNTAX("system is unsafe");
SYNTAX("illegal nested function");
SYNTAX("return not in function");
SYNTAX("newline in regular expression %.10s...", buf);
SYNTAX("non-terminated regular expression %.10s...", buf);
SYNTAX("%s", s);
SYNTAX("%s is a function, not an array", cp->nval);
SYNTAX("`%s' is an array name and a function name", v->nval);
SYNTAX("`%s' is both function name and argument name", v->nval);
SYNTAX("newline in string %.20s...", os);