xref: /dragonfly/bin/sh/pregenerated/syntax.c (revision 3851e4b8)
1 /*
2  * This file was generated by the mksyntax program.
3  */
4 
5 #include "parser.h"
6 #include "shell.h"
7 #include "syntax.h"
8 
9 /* syntax table used when not in quotes */
10 const char basesyntax[SYNBASE + CHAR_MAX + 1] = {
11 	[SYNBASE + PEOF] = CEOF,
12 	[SYNBASE + CTLESC] = CCTL,
13 	[SYNBASE + CTLVAR] = CCTL,
14 	[SYNBASE + CTLENDVAR] = CCTL,
15 	[SYNBASE + CTLBACKQ] = CCTL,
16 	[SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL,
17 	[SYNBASE + CTLARI] = CCTL,
18 	[SYNBASE + CTLENDARI] = CCTL,
19 	[SYNBASE + CTLQUOTEMARK] = CCTL,
20 	[SYNBASE + CTLQUOTEEND] = CCTL,
21 	[SYNBASE + '\n'] = CNL,
22 	[SYNBASE + '\\'] = CBACK,
23 	[SYNBASE + '\''] = CSQUOTE,
24 	[SYNBASE + '"'] = CDQUOTE,
25 	[SYNBASE + '`'] = CBQUOTE,
26 	[SYNBASE + '$'] = CVAR,
27 	[SYNBASE + '}'] = CENDVAR,
28 	[SYNBASE + '<'] = CSPCL,
29 	[SYNBASE + '>'] = CSPCL,
30 	[SYNBASE + '('] = CSPCL,
31 	[SYNBASE + ')'] = CSPCL,
32 	[SYNBASE + ';'] = CSPCL,
33 	[SYNBASE + '&'] = CSPCL,
34 	[SYNBASE + '|'] = CSPCL,
35 	[SYNBASE + ' '] = CSPCL,
36 	[SYNBASE + '\t'] = CSPCL,
37 };
38 
39 /* syntax table used when in double quotes */
40 const char dqsyntax[SYNBASE + CHAR_MAX + 1] = {
41 	[SYNBASE + PEOF] = CEOF,
42 	[SYNBASE + CTLESC] = CCTL,
43 	[SYNBASE + CTLVAR] = CCTL,
44 	[SYNBASE + CTLENDVAR] = CCTL,
45 	[SYNBASE + CTLBACKQ] = CCTL,
46 	[SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL,
47 	[SYNBASE + CTLARI] = CCTL,
48 	[SYNBASE + CTLENDARI] = CCTL,
49 	[SYNBASE + CTLQUOTEMARK] = CCTL,
50 	[SYNBASE + CTLQUOTEEND] = CCTL,
51 	[SYNBASE + '\n'] = CNL,
52 	[SYNBASE + '\\'] = CBACK,
53 	[SYNBASE + '"'] = CENDQUOTE,
54 	[SYNBASE + '`'] = CBQUOTE,
55 	[SYNBASE + '$'] = CVAR,
56 	[SYNBASE + '}'] = CENDVAR,
57 	[SYNBASE + '!'] = CCTL,
58 	[SYNBASE + '*'] = CCTL,
59 	[SYNBASE + '?'] = CCTL,
60 	[SYNBASE + '['] = CCTL,
61 	[SYNBASE + ']'] = CCTL,
62 	[SYNBASE + '='] = CCTL,
63 	[SYNBASE + '~'] = CCTL,
64 	[SYNBASE + ':'] = CCTL,
65 	[SYNBASE + '/'] = CCTL,
66 	[SYNBASE + '-'] = CCTL,
67 	[SYNBASE + '^'] = CCTL,
68 };
69 
70 /* syntax table used when in single quotes */
71 const char sqsyntax[SYNBASE + CHAR_MAX + 1] = {
72 	[SYNBASE + PEOF] = CEOF,
73 	[SYNBASE + CTLESC] = CCTL,
74 	[SYNBASE + CTLVAR] = CCTL,
75 	[SYNBASE + CTLENDVAR] = CCTL,
76 	[SYNBASE + CTLBACKQ] = CCTL,
77 	[SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL,
78 	[SYNBASE + CTLARI] = CCTL,
79 	[SYNBASE + CTLENDARI] = CCTL,
80 	[SYNBASE + CTLQUOTEMARK] = CCTL,
81 	[SYNBASE + CTLQUOTEEND] = CCTL,
82 	[SYNBASE + '\n'] = CNL,
83 	[SYNBASE + '\\'] = CSBACK,
84 	[SYNBASE + '\''] = CENDQUOTE,
85 	[SYNBASE + '!'] = CCTL,
86 	[SYNBASE + '*'] = CCTL,
87 	[SYNBASE + '?'] = CCTL,
88 	[SYNBASE + '['] = CCTL,
89 	[SYNBASE + ']'] = CCTL,
90 	[SYNBASE + '='] = CCTL,
91 	[SYNBASE + '~'] = CCTL,
92 	[SYNBASE + ':'] = CCTL,
93 	[SYNBASE + '/'] = CCTL,
94 	[SYNBASE + '-'] = CCTL,
95 	[SYNBASE + '^'] = CCTL,
96 };
97 
98 /* syntax table used when in arithmetic */
99 const char arisyntax[SYNBASE + CHAR_MAX + 1] = {
100 	[SYNBASE + PEOF] = CEOF,
101 	[SYNBASE + CTLESC] = CCTL,
102 	[SYNBASE + CTLVAR] = CCTL,
103 	[SYNBASE + CTLENDVAR] = CCTL,
104 	[SYNBASE + CTLBACKQ] = CCTL,
105 	[SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL,
106 	[SYNBASE + CTLARI] = CCTL,
107 	[SYNBASE + CTLENDARI] = CCTL,
108 	[SYNBASE + CTLQUOTEMARK] = CCTL,
109 	[SYNBASE + CTLQUOTEEND] = CCTL,
110 	[SYNBASE + '\n'] = CNL,
111 	[SYNBASE + '\\'] = CBACK,
112 	[SYNBASE + '`'] = CBQUOTE,
113 	[SYNBASE + '"'] = CIGN,
114 	[SYNBASE + '$'] = CVAR,
115 	[SYNBASE + '}'] = CENDVAR,
116 	[SYNBASE + '('] = CLP,
117 	[SYNBASE + ')'] = CRP,
118 };
119 
120 /* character classification table */
121 const char is_type[SYNBASE + CHAR_MAX + 1] = {
122 	[SYNBASE + '0'] = ISDIGIT,
123 	[SYNBASE + '1'] = ISDIGIT,
124 	[SYNBASE + '2'] = ISDIGIT,
125 	[SYNBASE + '3'] = ISDIGIT,
126 	[SYNBASE + '4'] = ISDIGIT,
127 	[SYNBASE + '5'] = ISDIGIT,
128 	[SYNBASE + '6'] = ISDIGIT,
129 	[SYNBASE + '7'] = ISDIGIT,
130 	[SYNBASE + '8'] = ISDIGIT,
131 	[SYNBASE + '9'] = ISDIGIT,
132 	[SYNBASE + 'a'] = ISLOWER,
133 	[SYNBASE + 'b'] = ISLOWER,
134 	[SYNBASE + 'c'] = ISLOWER,
135 	[SYNBASE + 'd'] = ISLOWER,
136 	[SYNBASE + 'e'] = ISLOWER,
137 	[SYNBASE + 'f'] = ISLOWER,
138 	[SYNBASE + 'g'] = ISLOWER,
139 	[SYNBASE + 'h'] = ISLOWER,
140 	[SYNBASE + 'i'] = ISLOWER,
141 	[SYNBASE + 'j'] = ISLOWER,
142 	[SYNBASE + 'k'] = ISLOWER,
143 	[SYNBASE + 'l'] = ISLOWER,
144 	[SYNBASE + 'm'] = ISLOWER,
145 	[SYNBASE + 'n'] = ISLOWER,
146 	[SYNBASE + 'o'] = ISLOWER,
147 	[SYNBASE + 'p'] = ISLOWER,
148 	[SYNBASE + 'q'] = ISLOWER,
149 	[SYNBASE + 'r'] = ISLOWER,
150 	[SYNBASE + 's'] = ISLOWER,
151 	[SYNBASE + 't'] = ISLOWER,
152 	[SYNBASE + 'u'] = ISLOWER,
153 	[SYNBASE + 'v'] = ISLOWER,
154 	[SYNBASE + 'w'] = ISLOWER,
155 	[SYNBASE + 'x'] = ISLOWER,
156 	[SYNBASE + 'y'] = ISLOWER,
157 	[SYNBASE + 'z'] = ISLOWER,
158 	[SYNBASE + 'A'] = ISUPPER,
159 	[SYNBASE + 'B'] = ISUPPER,
160 	[SYNBASE + 'C'] = ISUPPER,
161 	[SYNBASE + 'D'] = ISUPPER,
162 	[SYNBASE + 'E'] = ISUPPER,
163 	[SYNBASE + 'F'] = ISUPPER,
164 	[SYNBASE + 'G'] = ISUPPER,
165 	[SYNBASE + 'H'] = ISUPPER,
166 	[SYNBASE + 'I'] = ISUPPER,
167 	[SYNBASE + 'J'] = ISUPPER,
168 	[SYNBASE + 'K'] = ISUPPER,
169 	[SYNBASE + 'L'] = ISUPPER,
170 	[SYNBASE + 'M'] = ISUPPER,
171 	[SYNBASE + 'N'] = ISUPPER,
172 	[SYNBASE + 'O'] = ISUPPER,
173 	[SYNBASE + 'P'] = ISUPPER,
174 	[SYNBASE + 'Q'] = ISUPPER,
175 	[SYNBASE + 'R'] = ISUPPER,
176 	[SYNBASE + 'S'] = ISUPPER,
177 	[SYNBASE + 'T'] = ISUPPER,
178 	[SYNBASE + 'U'] = ISUPPER,
179 	[SYNBASE + 'V'] = ISUPPER,
180 	[SYNBASE + 'W'] = ISUPPER,
181 	[SYNBASE + 'X'] = ISUPPER,
182 	[SYNBASE + 'Y'] = ISUPPER,
183 	[SYNBASE + 'Z'] = ISUPPER,
184 	[SYNBASE + '_'] = ISUNDER,
185 	[SYNBASE + '#'] = ISSPECL,
186 	[SYNBASE + '?'] = ISSPECL,
187 	[SYNBASE + '$'] = ISSPECL,
188 	[SYNBASE + '!'] = ISSPECL,
189 	[SYNBASE + '-'] = ISSPECL,
190 	[SYNBASE + '*'] = ISSPECL,
191 	[SYNBASE + '@'] = ISSPECL,
192 };
193