blob: c961f0184fb66ed6c8be346ffe278036547e309f [file] [log] [blame]
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -08001#define TEOF 0
2#define TNL 1
3#define TSEMI 2
4#define TBACKGND 3
5#define TAND 4
6#define TOR 5
7#define TPIPE 6
8#define TLP 7
9#define TRP 8
10#define TENDCASE 9
11#define TENDBQUOTE 10
12#define TREDIR 11
13#define TWORD 12
14#define TIF 13
15#define TTHEN 14
16#define TELSE 15
17#define TELIF 16
18#define TFI 17
19#define TWHILE 18
20#define TUNTIL 19
21#define TFOR 20
22#define TDO 21
23#define TDONE 22
24#define TBEGIN 23
25#define TEND 24
26#define TCASE 25
27#define TESAC 26
28#define TNOT 27
29
30/* Array indicating which tokens mark the end of a list */
31const char tokendlist[] = {
32 1,
33 0,
34 0,
35 0,
36 0,
37 0,
38 0,
39 0,
40 1,
41 1,
42 1,
43 0,
44 0,
45 0,
46 1,
47 1,
48 1,
49 1,
50 0,
51 0,
52 0,
53 1,
54 1,
55 0,
56 1,
57 0,
58 1,
59 0,
60};
61
62const char *const tokname[] = {
63 "end of file",
64 "newline",
65 "\";\"",
66 "\"&\"",
67 "\"&&\"",
68 "\"||\"",
69 "\"|\"",
70 "\"(\"",
71 "\")\"",
72 "\";;\"",
73 "\"`\"",
74 "redirection",
75 "word",
76 "\"if\"",
77 "\"then\"",
78 "\"else\"",
79 "\"elif\"",
80 "\"fi\"",
81 "\"while\"",
82 "\"until\"",
83 "\"for\"",
84 "\"do\"",
85 "\"done\"",
86 "\"{\"",
87 "\"}\"",
88 "\"case\"",
89 "\"esac\"",
90 "\"!\"",
91};
92
93#define KWDOFFSET 13
94
95const char *const parsekwd[] = {
96 "if",
97 "then",
98 "else",
99 "elif",
100 "fi",
101 "while",
102 "until",
103 "for",
104 "do",
105 "done",
106 "{",
107 "}",
108 "case",
109 "esac",
110 "!",
111 0
112};