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