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);
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( "limited to %d pat,pat statements", PA2NUM );
SYNTAX( "`%s' is an array name and a function name", v->nval );
SYNTAX( "`%s' is both function name and argument name", v->nval );
extern void SYNTAX(const char *, ...)
SYNTAX( "newline in string %.20s...", is );
{ "SYNTAX", SYNTAX },
%token STRING SUPPORTS SYNTAX TAGS TEXTUALCONVENTION TRAPTYPE TRUE
| descriptor OBJECTTYPE SYNTAX syntax unitspart
STATUS status DESCRIPTION TEXT referpart SYNTAX syntax {
modulesyntaxpart : SYNTAX syntax