1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2016 The Qt Company Ltd. |
4 | ** Contact: https://www.qt.io/licensing/ |
5 | ** |
6 | ** This file is part of the QtXmlPatterns module of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** Commercial License Usage |
10 | ** Licensees holding valid commercial Qt licenses may use this file in |
11 | ** accordance with the commercial license agreement provided with the |
12 | ** Software or, alternatively, in accordance with the terms contained in |
13 | ** a written agreement between you and The Qt Company. For licensing terms |
14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
15 | ** information use the contact form at https://www.qt.io/contact-us. |
16 | ** |
17 | ** GNU Lesser General Public License Usage |
18 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
19 | ** General Public License version 3 as published by the Free Software |
20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
21 | ** packaging of this file. Please review the following information to |
22 | ** ensure the GNU Lesser General Public License version 3 requirements |
23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
24 | ** |
25 | ** GNU General Public License Usage |
26 | ** Alternatively, this file may be used under the terms of the GNU |
27 | ** General Public License version 2.0 or (at your option) the GNU General |
28 | ** Public license version 3 or any later version approved by the KDE Free |
29 | ** Qt Foundation. The licenses are as published by the Free Software |
30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
31 | ** included in the packaging of this file. Please review the following |
32 | ** information to ensure the GNU General Public License requirements will |
33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
34 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
35 | ** |
36 | ** $QT_END_LICENSE$ |
37 | ** |
38 | ****************************************************************************/ |
39 | /* C++ code produced by gperf version 3.1 */ |
40 | /* Command-line: gperf TokenLookup.gperf */ |
41 | /* Computed positions: -k'1,3,$' */ |
42 | |
43 | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ |
44 | && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ |
45 | && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ |
46 | && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ |
47 | && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ |
48 | && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ |
49 | && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ |
50 | && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ |
51 | && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ |
52 | && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ |
53 | && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ |
54 | && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ |
55 | && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ |
56 | && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ |
57 | && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ |
58 | && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ |
59 | && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ |
60 | && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ |
61 | && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ |
62 | && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ |
63 | && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ |
64 | && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ |
65 | && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) |
66 | /* The character set is not based on ISO-646. */ |
67 | #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." |
68 | #endif |
69 | |
70 | #line 105 "TokenLookup.gperf" |
71 | |
72 | |
73 | QT_BEGIN_NAMESPACE |
74 | |
75 | namespace QPatternist |
76 | { |
77 | |
78 | #line 99 "TokenLookup.gperf" |
79 | struct TokenMap |
80 | { |
81 | const char *name; |
82 | const Tokenizer::TokenType token; |
83 | } |
84 | |
85 | |
86 | /* The strings below are in UTF-16 encoding. Subsequently, each ASCII |
87 | * character is stored as the ASCII character, followed by a null byte. |
88 | * Sorted alphabetically. */; |
89 | /* maximum key range = 228, duplicates = 0 */ |
90 | |
91 | class TokenLookup |
92 | { |
93 | private: |
94 | static inline unsigned int hash (const char *str, unsigned int len); |
95 | public: |
96 | static const struct TokenMap *value (const char *str, unsigned int len); |
97 | }; |
98 | |
99 | inline unsigned int |
100 | TokenLookup::hash (const char *str, unsigned int len) |
101 | { |
102 | static const unsigned char asso_values[] = |
103 | { |
104 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
105 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
106 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
107 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
108 | 230, 230, 230, 230, 230, 25, 230, 230, 230, 230, |
109 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
110 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
111 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
112 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
113 | 230, 230, 230, 230, 230, 230, 230, 0, 2, 5, |
114 | 25, 0, 20, 20, 35, 85, 230, 230, 40, 110, |
115 | 25, 65, 80, 0, 60, 5, 10, 0, 55, 5, |
116 | 20, 0, 230, 230, 230, 230, 230, 230, 230, 230, |
117 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
118 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
119 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
120 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
121 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
122 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
123 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
124 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
125 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
126 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
127 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
128 | 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, |
129 | 230, 230, 230, 230, 230, 230 |
130 | }; |
131 | unsigned int hval = len; |
132 | |
133 | switch (hval) |
134 | { |
135 | default: |
136 | hval += asso_values[static_cast<unsigned char>(str[2])]; |
137 | Q_FALLTHROUGH(); |
138 | case 2: |
139 | case 1: |
140 | hval += asso_values[static_cast<unsigned char>(str[0])]; |
141 | break; |
142 | } |
143 | return hval + asso_values[static_cast<unsigned char>(str[len - 1])]; |
144 | } |
145 | |
146 | const struct TokenMap * |
147 | TokenLookup::value (const char *str, unsigned int len) |
148 | { |
149 | enum |
150 | { |
151 | TOTAL_KEYWORDS = 99, |
152 | MIN_WORD_LENGTH = 2, |
153 | MAX_WORD_LENGTH = 22, |
154 | MIN_HASH_VALUE = 2, |
155 | MAX_HASH_VALUE = 229 |
156 | }; |
157 | |
158 | static const struct TokenMap wordlist[] = |
159 | { |
160 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
161 | #line 150 "TokenLookup.gperf" |
162 | {.name: "eq" , .token: T_EQ}, |
163 | {.name: "" ,.token: T_ERROR}, |
164 | #line 128 "TokenLookup.gperf" |
165 | {.name: "by" , .token: T_BY}, |
166 | #line 151 "TokenLookup.gperf" |
167 | {.name: "every" , .token: T_EVERY}, |
168 | {.name: "" ,.token: T_ERROR}, |
169 | #line 121 "TokenLookup.gperf" |
170 | {.name: "as" , .token: T_AS}, |
171 | {.name: "" ,.token: T_ERROR}, |
172 | #line 146 "TokenLookup.gperf" |
173 | {.name: "else" , .token: T_ELSE}, |
174 | #line 215 "TokenLookup.gperf" |
175 | {.name: "where" , .token: T_WHERE}, |
176 | #line 202 "TokenLookup.gperf" |
177 | {.name: "stable" , .token: T_STABLE}, |
178 | #line 124 "TokenLookup.gperf" |
179 | {.name: "at" , .token: T_AT}, |
180 | {.name: "" ,.token: T_ERROR}, |
181 | #line 129 "TokenLookup.gperf" |
182 | {.name: "case" , .token: T_CASE}, |
183 | {.name: "" ,.token: T_ERROR}, |
184 | #line 127 "TokenLookup.gperf" |
185 | {.name: "boundary-space" , .token: T_BOUNDARY_SPACE}, |
186 | #line 145 "TokenLookup.gperf" |
187 | {.name: "element" , .token: T_ELEMENT}, |
188 | #line 130 "TokenLookup.gperf" |
189 | {.name: "castable" , .token: T_CASTABLE}, |
190 | #line 125 "TokenLookup.gperf" |
191 | {.name: "attribute" , .token: T_ATTRIBUTE}, |
192 | {.name: "" ,.token: T_ERROR}, |
193 | #line 152 "TokenLookup.gperf" |
194 | {.name: "except" , .token: T_EXCEPT}, |
195 | #line 159 "TokenLookup.gperf" |
196 | {.name: "ge" , .token: T_GE}, |
197 | {.name: "" ,.token: T_ERROR}, |
198 | #line 131 "TokenLookup.gperf" |
199 | {.name: "cast" , .token: T_CAST}, |
200 | #line 208 "TokenLookup.gperf" |
201 | {.name: "treat" , .token: T_TREAT}, |
202 | #line 216 "TokenLookup.gperf" |
203 | {.name: "xquery" , .token: T_XQUERY}, |
204 | #line 179 "TokenLookup.gperf" |
205 | {.name: "ne" , .token: T_NE}, |
206 | {.name: "" ,.token: T_ERROR}, |
207 | #line 196 "TokenLookup.gperf" |
208 | {.name: "satisfies" , .token: T_SATISFIES}, |
209 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
210 | #line 161 "TokenLookup.gperf" |
211 | {.name: "gt" , .token: T_GT}, |
212 | #line 149 "TokenLookup.gperf" |
213 | {.name: "encoding" , .token: T_ENCODING}, |
214 | #line 122 "TokenLookup.gperf" |
215 | {.name: "ascending" , .token: T_ASCENDING}, |
216 | {.name: "" ,.token: T_ERROR}, |
217 | #line 123 "TokenLookup.gperf" |
218 | {.name: "assign" , .token: T_ASSIGN}, |
219 | #line 137 "TokenLookup.gperf" |
220 | {.name: "declare" , .token: T_DECLARE}, |
221 | #line 160 "TokenLookup.gperf" |
222 | {.name: "greatest" , .token: T_GREATEST}, |
223 | #line 206 "TokenLookup.gperf" |
224 | {.name: "then" , .token: T_THEN}, |
225 | {.name: "" ,.token: T_ERROR}, |
226 | #line 119 "TokenLookup.gperf" |
227 | {.name: "ancestor-or-self" , .token: T_ANCESTOR_OR_SELF}, |
228 | #line 173 "TokenLookup.gperf" |
229 | {.name: "le" , .token: T_LE}, |
230 | #line 144 "TokenLookup.gperf" |
231 | {.name: "document-node" , .token: T_DOCUMENT_NODE}, |
232 | #line 205 "TokenLookup.gperf" |
233 | {.name: "text" , .token: T_TEXT}, |
234 | {.name: "" ,.token: T_ERROR}, |
235 | #line 199 "TokenLookup.gperf" |
236 | {.name: "schema" , .token: T_SCHEMA}, |
237 | {.name: "" ,.token: T_ERROR}, |
238 | #line 143 "TokenLookup.gperf" |
239 | {.name: "document" , .token: T_DOCUMENT}, |
240 | {.name: "" ,.token: T_ERROR}, |
241 | #line 139 "TokenLookup.gperf" |
242 | {.name: "descendant" , .token: T_DESCENDANT}, |
243 | {.name: "" ,.token: T_ERROR}, |
244 | #line 175 "TokenLookup.gperf" |
245 | {.name: "lt" , .token: T_LT}, |
246 | #line 120 "TokenLookup.gperf" |
247 | {.name: "and" , .token: T_AND}, |
248 | #line 180 "TokenLookup.gperf" |
249 | {.name: "node" , .token: T_NODE}, |
250 | #line 172 "TokenLookup.gperf" |
251 | {.name: "least" , .token: T_LEAST}, |
252 | #line 197 "TokenLookup.gperf" |
253 | {.name: "schema-attribute" , .token: T_SCHEMA_ATTRIBUTE}, |
254 | {.name: "" ,.token: T_ERROR}, |
255 | #line 153 "TokenLookup.gperf" |
256 | {.name: "external" , .token: T_EXTERNAL}, |
257 | {.name: "" ,.token: T_ERROR}, |
258 | #line 141 "TokenLookup.gperf" |
259 | {.name: "descending" , .token: T_DESCENDING}, |
260 | #line 182 "TokenLookup.gperf" |
261 | {.name: "no-preserve" , .token: T_NO_PRESERVE}, |
262 | #line 138 "TokenLookup.gperf" |
263 | {.name: "default" , .token: T_DEFAULT}, |
264 | #line 174 "TokenLookup.gperf" |
265 | {.name: "let" , .token: T_LET}, |
266 | #line 198 "TokenLookup.gperf" |
267 | {.name: "schema-element" , .token: T_SCHEMA_ELEMENT}, |
268 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
269 | #line 135 "TokenLookup.gperf" |
270 | {.name: "construction" , .token: T_CONSTRUCTION}, |
271 | #line 140 "TokenLookup.gperf" |
272 | {.name: "descendant-or-self" , .token: T_DESCENDANT_OR_SELF}, |
273 | #line 200 "TokenLookup.gperf" |
274 | {.name: "self" , .token: T_SELF}, |
275 | #line 181 "TokenLookup.gperf" |
276 | {.name: "no-inherit" , .token: T_NO_INHERIT}, |
277 | {.name: "" ,.token: T_ERROR}, |
278 | #line 156 "TokenLookup.gperf" |
279 | {.name: "follows" , .token: T_FOLLOWS}, |
280 | #line 118 "TokenLookup.gperf" |
281 | {.name: "ancestor" , .token: T_ANCESTOR}, |
282 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
283 | #line 207 "TokenLookup.gperf" |
284 | {.name: "to" , .token: T_TO}, |
285 | #line 158 "TokenLookup.gperf" |
286 | {.name: "function" , .token: T_FUNCTION}, |
287 | #line 133 "TokenLookup.gperf" |
288 | {.name: "collation" , .token: T_COLLATION}, |
289 | {.name: "" ,.token: T_ERROR}, |
290 | #line 203 "TokenLookup.gperf" |
291 | {.name: "strict" , .token: T_STRICT}, |
292 | {.name: "" ,.token: T_ERROR}, |
293 | #line 171 "TokenLookup.gperf" |
294 | {.name: "lax" , .token: T_LAX}, |
295 | {.name: "" ,.token: T_ERROR}, |
296 | #line 147 "TokenLookup.gperf" |
297 | {.name: "empty" , .token: T_EMPTY}, |
298 | {.name: "" ,.token: T_ERROR}, |
299 | #line 183 "TokenLookup.gperf" |
300 | {.name: "of" , .token: T_OF}, |
301 | #line 193 "TokenLookup.gperf" |
302 | {.name: "preserve" , .token: T_PRESERVE}, |
303 | #line 154 "TokenLookup.gperf" |
304 | {.name: "following" , .token: T_FOLLOWING}, |
305 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
306 | #line 169 "TokenLookup.gperf" |
307 | {.name: "is" , .token: T_IS}, |
308 | #line 190 "TokenLookup.gperf" |
309 | {.name: "precedes" , .token: T_PRECEDES}, |
310 | #line 148 "TokenLookup.gperf" |
311 | {.name: "empty-sequence" , .token: T_EMPTY_SEQUENCE}, |
312 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
313 | #line 155 "TokenLookup.gperf" |
314 | {.name: "following-sibling" , .token: T_FOLLOWING_SIBLING}, |
315 | #line 167 "TokenLookup.gperf" |
316 | {.name: "instance" , .token: T_INSTANCE}, |
317 | #line 211 "TokenLookup.gperf" |
318 | {.name: "unordered" , .token: T_UNORDERED}, |
319 | #line 126 "TokenLookup.gperf" |
320 | {.name: "base-uri" , .token: T_BASEURI}, |
321 | #line 195 "TokenLookup.gperf" |
322 | {.name: "return" , .token: T_RETURN}, |
323 | {.name: "" ,.token: T_ERROR}, |
324 | #line 212 "TokenLookup.gperf" |
325 | {.name: "validate" , .token: T_VALIDATE}, |
326 | {.name: "" ,.token: T_ERROR}, |
327 | #line 136 "TokenLookup.gperf" |
328 | {.name: "copy-namespaces" , .token: T_COPY_NAMESPACES}, |
329 | #line 184 "TokenLookup.gperf" |
330 | {.name: "option" , .token: T_OPTION}, |
331 | #line 163 "TokenLookup.gperf" |
332 | {.name: "if" , .token: T_IF}, |
333 | {.name: "" ,.token: T_ERROR}, |
334 | #line 191 "TokenLookup.gperf" |
335 | {.name: "preceding" , .token: T_PRECEDING}, |
336 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
337 | #line 166 "TokenLookup.gperf" |
338 | {.name: "in" , .token: T_IN}, |
339 | {.name: "" ,.token: T_ERROR}, |
340 | #line 168 "TokenLookup.gperf" |
341 | {.name: "intersect" , .token: T_INTERSECT}, |
342 | #line 210 "TokenLookup.gperf" |
343 | {.name: "union" , .token: T_UNION}, |
344 | {.name: "" ,.token: T_ERROR}, |
345 | #line 192 "TokenLookup.gperf" |
346 | {.name: "preceding-sibling" , .token: T_PRECEDING_SIBLING}, |
347 | #line 186 "TokenLookup.gperf" |
348 | {.name: "ordering" , .token: T_ORDERING}, |
349 | #line 201 "TokenLookup.gperf" |
350 | {.name: "some" , .token: T_SOME}, |
351 | #line 132 "TokenLookup.gperf" |
352 | {.name: "child" , .token: T_CHILD}, |
353 | {.name: "" ,.token: T_ERROR}, |
354 | #line 185 "TokenLookup.gperf" |
355 | {.name: "ordered" , .token: T_ORDERED}, |
356 | #line 213 "TokenLookup.gperf" |
357 | {.name: "variable" , .token: T_VARIABLE}, |
358 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
359 | #line 188 "TokenLookup.gperf" |
360 | {.name: "or" , .token: T_OR}, |
361 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
362 | #line 134 "TokenLookup.gperf" |
363 | {.name: "comment" , .token: T_COMMENT}, |
364 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
365 | #line 209 "TokenLookup.gperf" |
366 | {.name: "typeswitch" , .token: T_TYPESWITCH}, |
367 | {.name: "" ,.token: T_ERROR}, |
368 | #line 165 "TokenLookup.gperf" |
369 | {.name: "inherit" , .token: T_INHERIT}, |
370 | #line 142 "TokenLookup.gperf" |
371 | {.name: "div" , .token: T_DIV}, |
372 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
373 | #line 177 "TokenLookup.gperf" |
374 | {.name: "module" , .token: T_MODULE}, |
375 | {.name: "" ,.token: T_ERROR}, |
376 | #line 157 "TokenLookup.gperf" |
377 | {.name: "for" , .token: T_FOR}, |
378 | #line 178 "TokenLookup.gperf" |
379 | {.name: "namespace" , .token: T_NAMESPACE}, |
380 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
381 | #line 214 "TokenLookup.gperf" |
382 | {.name: "version" , .token: T_VERSION}, |
383 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
384 | #line 204 "TokenLookup.gperf" |
385 | {.name: "strip" , .token: T_STRIP}, |
386 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
387 | #line 187 "TokenLookup.gperf" |
388 | {.name: "order" , .token: T_ORDER}, |
389 | #line 189 "TokenLookup.gperf" |
390 | {.name: "parent" , .token: T_PARENT}, |
391 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
392 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
393 | #line 176 "TokenLookup.gperf" |
394 | {.name: "mod" , .token: T_MOD}, |
395 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
396 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
397 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
398 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
399 | {.name: "" ,.token: T_ERROR}, |
400 | #line 164 "TokenLookup.gperf" |
401 | {.name: "import" , .token: T_IMPORT}, |
402 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
403 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
404 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
405 | #line 194 "TokenLookup.gperf" |
406 | {.name: "processing-instruction" , .token: T_PROCESSING_INSTRUCTION}, |
407 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
408 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
409 | #line 170 "TokenLookup.gperf" |
410 | {.name: "item" , .token: T_ITEM}, |
411 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
412 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
413 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
414 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
415 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
416 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
417 | {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, {.name: "" ,.token: T_ERROR}, |
418 | {.name: "" ,.token: T_ERROR}, |
419 | #line 162 "TokenLookup.gperf" |
420 | {.name: "idiv" , .token: T_IDIV} |
421 | }; |
422 | |
423 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) |
424 | { |
425 | unsigned int key = hash (str, len); |
426 | |
427 | if (key <= MAX_HASH_VALUE) |
428 | { |
429 | const char *s = wordlist[key].name; |
430 | |
431 | if (*str == *s && !strcmp (s1: str + 1, s2: s + 1)) |
432 | return &wordlist[key]; |
433 | } |
434 | } |
435 | return 0; |
436 | } |
437 | #line 217 "TokenLookup.gperf" |
438 | |
439 | |
440 | } /* Close the QPatternist namespace. */ |
441 | |
442 | QT_END_NAMESPACE |
443 | |