improved error messages
This commit is contained in:
parent
d4bcec7ec2
commit
d57dfac961
2 changed files with 14 additions and 12 deletions
|
@ -19,7 +19,7 @@ LLmessage(tk) {
|
||||||
error("end of file expected");
|
error("end of file expected");
|
||||||
}
|
}
|
||||||
else if (tk) {
|
else if (tk) {
|
||||||
error("%s missing", symbol2str(tk));
|
error("%s missing before %s", symbol2str(tk), symbol2str(DOT));
|
||||||
insert_token(tk);
|
insert_token(tk);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -1,19 +1,17 @@
|
||||||
cat <<'--EOT--'
|
cat <<'--EOT--'
|
||||||
/* Generated by make.tokcase */
|
/* Generated by make.tokcase */
|
||||||
/* $Header: */
|
/* $Header$ */
|
||||||
#include "Lpars.h"
|
#include "Lpars.h"
|
||||||
|
|
||||||
char *
|
char *
|
||||||
symbol2str(tok)
|
symbol2str(tok)
|
||||||
int tok;
|
int tok;
|
||||||
{
|
{
|
||||||
static char buf[2] = { '\0', '\0' };
|
#define SIZBUF 8
|
||||||
|
/* allow for a few invocations in f.i. an argument list */
|
||||||
|
static char buf[SIZBUF];
|
||||||
|
static int index;
|
||||||
|
|
||||||
if (040 <= tok && tok < 0177) {
|
|
||||||
buf[0] = tok;
|
|
||||||
buf[1] = '\0';
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
switch (tok) {
|
switch (tok) {
|
||||||
--EOT--
|
--EOT--
|
||||||
|
|
||||||
|
@ -24,15 +22,19 @@ s/.*{\(.*\),.*\(".*"\).*$/ case \1 :\
|
||||||
'
|
'
|
||||||
|
|
||||||
cat <<'--EOT--'
|
cat <<'--EOT--'
|
||||||
|
default:
|
||||||
|
if (tok < 040 || tok >= 0177) {
|
||||||
|
return "bad token";
|
||||||
|
}
|
||||||
|
/* fall through */
|
||||||
case '\n':
|
case '\n':
|
||||||
case '\f':
|
case '\f':
|
||||||
case '\v':
|
case '\v':
|
||||||
case '\r':
|
case '\r':
|
||||||
case '\t':
|
case '\t':
|
||||||
buf[0] = tok;
|
index = (index+2) & (SIZBUF-1);
|
||||||
return buf;
|
buf[index] = tok;
|
||||||
default:
|
return &buf[index];
|
||||||
return "bad token";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
--EOT--
|
--EOT--
|
||||||
|
|
Loading…
Reference in a new issue