1
2/* Array indicating which tokens mark the end of a list */
3static const char tokendlist[] = {
4	1,
5	0,
6	0,
7	0,
8	0,
9	0,
10	0,
11	0,
12	1,
13	1,
14	1,
15	0,
16	0,
17	0,
18	0,
19	1,
20	1,
21	1,
22	1,
23	1,
24	1,
25	0,
26	0,
27	0,
28	1,
29	0,
30	0,
31	0,
32	1,
33};
34
35static const char *const tokname[] = {
36	"end of file",
37	"newline",
38	"\";\"",
39	"\"&\"",
40	"\"&&\"",
41	"\"||\"",
42	"\"|\"",
43	"\"(\"",
44	"\")\"",
45	"\";;\"",
46	"\"`\"",
47	"redirection",
48	"word",
49	"\"!\"",
50	"\"case\"",
51	"\"do\"",
52	"\"done\"",
53	"\"elif\"",
54	"\"else\"",
55	"\"esac\"",
56	"\"fi\"",
57	"\"for\"",
58	"\"if\"",
59	"\"in\"",
60	"\"then\"",
61	"\"until\"",
62	"\"while\"",
63	"\"{\"",
64	"\"}\"",
65};
66
67#define KWDOFFSET 13
68
69static const char *const parsekwd[] = {
70	"!",
71	"case",
72	"do",
73	"done",
74	"elif",
75	"else",
76	"esac",
77	"fi",
78	"for",
79	"if",
80	"in",
81	"then",
82	"until",
83	"while",
84	"{",
85	"}"
86};
87