ack/lang/m2/comp/make.tokcase
1989-12-07 16:28:05 +00:00

36 lines
598 B
Plaintext
Executable file

cat <<'--EOT--'
/* Generated by make.tokcase */
/* $Header$ */
#include "Lpars.h"
char *
symbol2str(tok)
int tok;
{
#define SIZBUF 8
/* allow for a few invocations in f.i. an argument list */
static char buf[SIZBUF] = { '\'', 0, '\'', 0, '\'', 0, '\'', 0};
static int index = 1;
switch (tok) {
--EOT--
sed '
/{[A-Z]/!d
s/.*{\(.*\),.*\(".*"\).*$/ case \1 :\
return \2;/
'
cat <<'--EOT--'
default:
if (tok <= 0) return "end of file";
if (tok < 040 || tok >= 0177) {
return "bad token";
}
index = (index+4) & (SIZBUF-1);
buf[index] = tok;
return &buf[index-1];
}
}
--EOT--