5 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ 8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ 9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ 10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ 11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ 12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ 13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ 14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ 15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ 16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ 17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ 18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ 19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ 20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ 21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ 22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ 23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ 24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ 25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ 26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ 27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) 29 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." 32 #line 1 "keywords.gperf" 33 struct Keyword {
const char *name;
int token; int32_t
syntax; };
39 static inline unsigned int hash (
const char *str,
size_t len);
41 static const struct Keyword *in_word_set (
const char *str,
size_t len);
45 Keywords::hash (
const char *str,
size_t len)
47 static const unsigned short asso_values[] =
49 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
50 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
51 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
52 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
53 301, 301, 301, 301, 301, 301, 301, 301, 0, 0,
54 95, 301, 301, 301, 301, 301, 301, 301, 301, 301,
55 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
56 301, 301, 301, 301, 0, 301, 301, 301, 301, 0,
57 301, 25, 0, 301, 301, 301, 301, 301, 0, 0,
58 301, 301, 301, 301, 301, 301, 301, 90, 10, 140,
59 5, 45, 45, 30, 0, 80, 35, 155, 5, 60,
60 25, 135, 70, 55, 10, 5, 0, 50, 40, 145,
61 35, 45, 301, 65, 35, 301, 301, 301, 301, 301,
62 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
63 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
64 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
65 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
66 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
67 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
68 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
69 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
70 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
71 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
72 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
73 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
74 301, 301, 301, 301, 301, 301, 301, 301, 301
76 unsigned int hval = len;
81 hval += asso_values[
static_cast<unsigned char>(str[1]+3)];
84 hval += asso_values[
static_cast<unsigned char>(str[0]+1)];
87 return hval + asso_values[
static_cast<unsigned char>(str[len - 1])];
90 const struct Keyword *
91 Keywords::in_word_set (
const char *str,
size_t len)
102 static const struct Keyword wordlist[] =
105 #line 66 "keywords.gperf" 107 #line 40 "keywords.gperf" 110 #line 83 "keywords.gperf" 111 {
"sqrt",
T_SQRT, SYNTAX_PROPERTY | SYNTAX_NEW},
113 #line 4 "keywords.gperf" 116 #line 61 "keywords.gperf" 118 #line 93 "keywords.gperf" 119 {
"sinh",
T_SINH, SYNTAX_PROPERTY | SYNTAX_NEW},
120 #line 38 "keywords.gperf" 121 {
"gantt",
T_GANTT, SYNTAX_NEW},
123 #line 118 "keywords.gperf" 124 {
"signbit",
T_SIGNBIT, SYNTAX_PROPERTY | SYNTAX_NEW},
126 #line 103 "keywords.gperf" 127 {
"ceil",
T_CEIL, SYNTAX_PROPERTY | SYNTAX_NEW},
128 #line 57 "keywords.gperf" 131 #line 94 "keywords.gperf" 132 {
"cosh",
T_COSH, SYNTAX_PROPERTY | SYNTAX_NEW},
133 #line 3 "keywords.gperf" 135 #line 15 "keywords.gperf" 138 #line 87 "keywords.gperf" 139 {
"cos",
T_COS, SYNTAX_PROPERTY | SYNTAX_NEW},
140 #line 54 "keywords.gperf" 142 #line 106 "keywords.gperf" 143 {
"round",
T_ROUND, SYNTAX_PROPERTY | SYNTAX_NEW},
145 #line 53 "keywords.gperf" 147 #line 124 "keywords.gperf" 149 #line 127 "keywords.gperf" 152 #line 86 "keywords.gperf" 153 {
"sin",
T_SIN, SYNTAX_PROPERTY | SYNTAX_NEW},
155 #line 130 "keywords.gperf" 156 {
"spawn",
T_SPAWN, SYNTAX_NEW},
157 #line 31 "keywords.gperf" 160 #line 107 "keywords.gperf" 161 {
"fint",
T_FINT, SYNTAX_PROPERTY | SYNTAX_NEW},
162 #line 55 "keywords.gperf" 165 #line 59 "keywords.gperf" 167 #line 68 "keywords.gperf" 168 {
"fabs",
T_FABS, SYNTAX_PROPERTY | SYNTAX_NEW},
169 #line 5 "keywords.gperf" 172 #line 133 "keywords.gperf" 174 #line 112 "keywords.gperf" 175 {
"copysign",
T_COPYSIGN, SYNTAX_PROPERTY | SYNTAX_NEW},
176 #line 125 "keywords.gperf" 179 #line 41 "keywords.gperf" 180 {
"forall",
T_FORALL, SYNTAX_NEW | SYNTAX_PROPERTY},
181 #line 30 "keywords.gperf" 183 #line 25 "keywords.gperf" 184 {
"for",
T_FOR, SYNTAX_NEW},
185 #line 84 "keywords.gperf" 186 {
"cbrt",
T_CBRT, SYNTAX_PROPERTY | SYNTAX_NEW},
187 #line 96 "keywords.gperf" 188 {
"asinh",
T_ASINH, SYNTAX_PROPERTY | SYNTAX_NEW},
189 #line 39 "keywords.gperf" 192 #line 56 "keywords.gperf" 194 #line 95 "keywords.gperf" 195 {
"tanh",
T_TANH, SYNTAX_PROPERTY | SYNTAX_NEW},
196 #line 97 "keywords.gperf" 197 {
"acosh",
T_ACOSH, SYNTAX_PROPERTY | SYNTAX_NEW},
198 #line 52 "keywords.gperf" 201 #line 67 "keywords.gperf" 202 {
"abs",
T_ABS, SYNTAX_PROPERTY | SYNTAX_NEW},
203 #line 90 "keywords.gperf" 204 {
"acos",
T_ACOS, SYNTAX_PROPERTY | SYNTAX_NEW},
206 #line 22 "keywords.gperf" 208 #line 121 "keywords.gperf" 211 #line 58 "keywords.gperf" 214 #line 20 "keywords.gperf" 217 #line 79 "keywords.gperf" 218 {
"log10",
T_LOG10, SYNTAX_PROPERTY | SYNTAX_NEW},
219 #line 120 "keywords.gperf" 220 {
"random",
T_RANDOM, SYNTAX_PROPERTY | SYNTAX_NEW},
222 #line 89 "keywords.gperf" 223 {
"asin",
T_ASIN, SYNTAX_PROPERTY | SYNTAX_NEW},
225 #line 7 "keywords.gperf" 228 #line 88 "keywords.gperf" 229 {
"tan",
T_TAN, SYNTAX_PROPERTY | SYNTAX_NEW},
230 #line 110 "keywords.gperf" 231 {
"logb",
T_LOGB, SYNTAX_PROPERTY | SYNTAX_NEW},
232 #line 19 "keywords.gperf" 235 #line 65 "keywords.gperf" 236 {
"Pr",
T_PROBA, SYNTAX_PROPERTY},
237 #line 117 "keywords.gperf" 238 {
"isnormal",
T_ISNORMAL, SYNTAX_PROPERTY | SYNTAX_NEW},
240 #line 113 "keywords.gperf" 241 {
"fpclassify",
T_FPCLASSIFY, SYNTAX_PROPERTY | SYNTAX_NEW},
242 #line 119 "keywords.gperf" 243 {
"isunordered",
T_ISUNORDERED, SYNTAX_PROPERTY | SYNTAX_NEW},
245 #line 47 "keywords.gperf" 247 #line 12 "keywords.gperf" 249 #line 134 "keywords.gperf" 250 {
"query",
T_QUERY, SYNTAX_NEW},
251 #line 14 "keywords.gperf" 254 #line 43 "keywords.gperf" 255 {
"sum",
T_SUM, SYNTAX_NEW | SYNTAX_PROPERTY},
257 #line 126 "keywords.gperf" 258 {
"random_tri",
T_RANDOM_TRI, SYNTAX_PROPERTY | SYNTAX_NEW},
259 #line 17 "keywords.gperf" 262 #line 78 "keywords.gperf" 263 {
"log",
T_LOG, SYNTAX_PROPERTY | SYNTAX_NEW},
265 #line 116 "keywords.gperf" 266 {
"isnan",
T_ISNAN, SYNTAX_PROPERTY | SYNTAX_NEW},
267 #line 48 "keywords.gperf" 270 #line 63 "keywords.gperf" 271 {
"sup",
T_SUP, SYNTAX_PROPERTY},
272 #line 69 "keywords.gperf" 273 {
"fmod",
T_FMOD, SYNTAX_PROPERTY | SYNTAX_NEW},
274 #line 13 "keywords.gperf" 276 #line 122 "keywords.gperf" 277 {
"random_beta",
T_RANDOM_BETA, SYNTAX_PROPERTY | SYNTAX_NEW},
278 #line 123 "keywords.gperf" 281 #line 131 "keywords.gperf" 282 {
"exit",
T_EXIT, SYNTAX_NEW},
283 #line 76 "keywords.gperf" 284 {
"expm1",
T_EXPM1, SYNTAX_PROPERTY | SYNTAX_NEW},
286 #line 9 "keywords.gperf" 288 #line 37 "keywords.gperf" 290 #line 34 "keywords.gperf" 291 {
"meta",
T_META, SYNTAX_NEW},
292 #line 85 "keywords.gperf" 293 {
"hypot",
T_HYPOT, SYNTAX_PROPERTY | SYNTAX_NEW},
294 #line 42 "keywords.gperf" 295 {
"exists",
T_EXISTS, SYNTAX_NEW | SYNTAX_PROPERTY},
297 #line 73 "keywords.gperf" 298 {
"fdim",
T_FDIM, SYNTAX_PROPERTY | SYNTAX_NEW},
299 #line 115 "keywords.gperf" 300 {
"isinf",
T_ISINF, SYNTAX_PROPERTY | SYNTAX_NEW},
301 #line 128 "keywords.gperf" 304 #line 114 "keywords.gperf" 305 {
"isfinite",
T_ISFINITE, SYNTAX_PROPERTY | SYNTAX_NEW},
306 #line 72 "keywords.gperf" 307 {
"fmin",
T_FMIN, SYNTAX_PROPERTY | SYNTAX_NEW},
309 #line 21 "keywords.gperf" 312 #line 64 "keywords.gperf" 315 #line 32 "keywords.gperf" 317 #line 62 "keywords.gperf" 318 {
"inf",
T_INF, SYNTAX_PROPERTY},
319 #line 71 "keywords.gperf" 320 {
"fmax",
T_FMAX, SYNTAX_PROPERTY | SYNTAX_NEW},
322 #line 77 "keywords.gperf" 323 {
"ln",
T_LN, SYNTAX_PROPERTY | SYNTAX_NEW},
324 #line 99 "keywords.gperf" 325 {
"erf",
T_ERF, SYNTAX_PROPERTY | SYNTAX_NEW},
326 #line 60 "keywords.gperf" 328 #line 81 "keywords.gperf" 329 {
"log1p",
T_LOG1P, SYNTAX_PROPERTY | SYNTAX_NEW},
331 #line 36 "keywords.gperf" 332 {
"after_update",
T_AFTER, SYNTAX_NEW},
333 #line 23 "keywords.gperf" 335 #line 18 "keywords.gperf" 338 #line 33 "keywords.gperf" 341 #line 111 "keywords.gperf" 342 {
"nextafter",
T_NEXTAFTER, SYNTAX_PROPERTY | SYNTAX_NEW},
343 #line 24 "keywords.gperf" 346 #line 45 "keywords.gperf" 348 #line 46 "keywords.gperf" 350 #line 98 "keywords.gperf" 351 {
"atanh",
T_ATANH, SYNTAX_PROPERTY | SYNTAX_NEW},
352 #line 8 "keywords.gperf" 354 #line 28 "keywords.gperf" 355 {
"if",
T_IF, SYNTAX_NEW},
357 #line 51 "keywords.gperf" 359 #line 108 "keywords.gperf" 360 {
"ldexp",
T_LDEXP, SYNTAX_PROPERTY | SYNTAX_NEW},
362 #line 80 "keywords.gperf" 363 {
"log2",
T_LOG2, SYNTAX_PROPERTY | SYNTAX_NEW},
364 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
365 #line 6 "keywords.gperf" 367 #line 104 "keywords.gperf" 368 {
"floor",
T_FLOOR, SYNTAX_PROPERTY | SYNTAX_NEW},
369 #line 101 "keywords.gperf" 370 {
"tgamma",
T_TGAMMA, SYNTAX_PROPERTY | SYNTAX_NEW},
372 #line 74 "keywords.gperf" 373 {
"exp",
T_EXP, SYNTAX_PROPERTY | SYNTAX_NEW},
374 #line 91 "keywords.gperf" 375 {
"atan",
T_ATAN, SYNTAX_PROPERTY | SYNTAX_NEW},
376 #line 109 "keywords.gperf" 377 {
"ilogb",
T_ILOGB, SYNTAX_PROPERTY | SYNTAX_NEW},
379 #line 49 "keywords.gperf" 382 #line 102 "keywords.gperf" 383 {
"lgamma",
T_LGAMMA, SYNTAX_PROPERTY | SYNTAX_NEW},
384 #line 27 "keywords.gperf" 385 {
"do",
T_DO, SYNTAX_NEW},
386 #line 70 "keywords.gperf" 387 {
"fma",
T_FMA, SYNTAX_PROPERTY | SYNTAX_NEW},
389 #line 10 "keywords.gperf" 392 #line 35 "keywords.gperf" 393 {
"before_update",
T_BEFORE, SYNTAX_NEW},
394 #line 16 "keywords.gperf" 397 #line 11 "keywords.gperf" 399 {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
400 #line 44 "keywords.gperf" 402 #line 75 "keywords.gperf" 403 {
"exp2",
T_EXP2, SYNTAX_PROPERTY | SYNTAX_NEW},
405 #line 82 "keywords.gperf" 406 {
"pow",
T_POW, SYNTAX_PROPERTY | SYNTAX_NEW},
407 {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
408 #line 132 "keywords.gperf" 409 {
"numOf",
T_NUMOF, SYNTAX_PROPERTY},
410 {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
411 #line 129 "keywords.gperf" 414 #line 29 "keywords.gperf" 415 {
"else",
T_ELSE, SYNTAX_NEW},
416 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
417 #line 100 "keywords.gperf" 418 {
"erfc",
T_ERFC, SYNTAX_PROPERTY | SYNTAX_NEW},
419 #line 26 "keywords.gperf" 420 {
"while",
T_WHILE, SYNTAX_NEW},
421 {
""}, {
""}, {
""}, {
""},
422 #line 105 "keywords.gperf" 423 {
"trunc",
T_TRUNC, SYNTAX_PROPERTY | SYNTAX_NEW},
424 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
425 #line 92 "keywords.gperf" 426 {
"atan2",
T_ATAN2, SYNTAX_PROPERTY | SYNTAX_NEW},
427 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
428 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
429 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
430 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
431 {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""}, {
""},
432 #line 50 "keywords.gperf" 436 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
438 unsigned int key = hash (str, len);
440 if (key <= MAX_HASH_VALUE)
442 const char *s = wordlist[key].name;
444 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] ==
'\0')
445 return &wordlist[key];
450 #line 135 "keywords.gperf" 455 const Keyword *keyword = Keywords::in_word_set(
id, strlen(
id));
456 return (keyword != NULL && (keyword->syntax & syntax));
bool isKeyword(const char *id, uint32_t syntax)