1 
2 /* Array indicating which tokens mark the end of a list */
3 static 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 
35 static 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 
69 static 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