Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / cemcom / make.tokcase
1 cat <<'--EOT--'
2 /* Generated by make.tokcase */
3 /* $Id: make.tokcase,v 3.4 1994/06/24 12:05:20 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];
13         static int index;
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                 /* fall through */
31         case '\n':
32         case '\f':
33         case '\v':
34         case '\r':
35         case '\t':
36                 index = (index+2) & (SIZBUF-1);
37                 buf[index] = tok;
38                 return &buf[index];
39         }
40 }
41 --EOT--