Pristine Ack-5.5
[Ack-5.5.git] / lang / m2 / comp / make.tokcase
1 cat <<'--EOT--'
2 /* Generated by make.tokcase */
3 /* $Id: make.tokcase,v 1.4 1994/06/24 12:41:35 ceriel Exp $ */
4 #include "Lpars.h"
5
6 char *
7 symbol2str(tok)
8         int tok;
9 {
10 #define SIZBUF  8
11         /* allow for a few invocations in f.i. an argument list */
12         static char buf[SIZBUF] = { '\'', 0, '\'', 0, '\'', 0, '\'', 0};
13         static int index = 1;
14
15         switch (tok) {
16 --EOT--
17
18 sed '
19 /{[A-Z]/!d
20 s/.*{\(.*\),.*\(".*"\).*$/      case \1 :\
21                 return \2;/
22 '
23
24 cat <<'--EOT--'
25         default:
26                 if (tok <= 0) return "end of file";
27                 if (tok < 040 || tok >= 0177) {
28                         return "bad token";
29                 }
30                 index = (index+4) & (SIZBUF-1);
31                 buf[index] = tok;
32                 return &buf[index-1];
33         }
34 }
35 --EOT--