1 /*-------------------------------------------------------------------------
2 *
3 * kwlist_d.h
4 * List of keywords represented as a ScanKeywordList.
5 *
6 * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * NOTES
10 * ******************************
11 * *** DO NOT EDIT THIS FILE! ***
12 * ******************************
13 *
14 * It has been GENERATED by src/tools/gen_keywordlist.pl
15 *
16 *-------------------------------------------------------------------------
17 */
18
19 #ifndef KWLIST_D_H
20 #define KWLIST_D_H
21
22 #include "common/kwlookup.h"
23
24 static const char ScanKeywords_kw_string[] =
25 "abort\0"
26 "absolute\0"
27 "access\0"
28 "action\0"
29 "add\0"
30 "admin\0"
31 "after\0"
32 "aggregate\0"
33 "all\0"
34 "also\0"
35 "alter\0"
36 "always\0"
37 "analyse\0"
38 "analyze\0"
39 "and\0"
40 "any\0"
41 "array\0"
42 "as\0"
43 "asc\0"
44 "assertion\0"
45 "assignment\0"
46 "asymmetric\0"
47 "at\0"
48 "attach\0"
49 "attribute\0"
50 "authorization\0"
51 "backward\0"
52 "before\0"
53 "begin\0"
54 "between\0"
55 "bigint\0"
56 "binary\0"
57 "bit\0"
58 "boolean\0"
59 "both\0"
60 "by\0"
61 "cache\0"
62 "call\0"
63 "called\0"
64 "cascade\0"
65 "cascaded\0"
66 "case\0"
67 "cast\0"
68 "catalog\0"
69 "chain\0"
70 "char\0"
71 "character\0"
72 "characteristics\0"
73 "check\0"
74 "checkpoint\0"
75 "class\0"
76 "close\0"
77 "cluster\0"
78 "coalesce\0"
79 "collate\0"
80 "collation\0"
81 "column\0"
82 "columns\0"
83 "comment\0"
84 "comments\0"
85 "commit\0"
86 "committed\0"
87 "concurrently\0"
88 "configuration\0"
89 "conflict\0"
90 "connection\0"
91 "constraint\0"
92 "constraints\0"
93 "content\0"
94 "continue\0"
95 "conversion\0"
96 "copy\0"
97 "cost\0"
98 "create\0"
99 "cross\0"
100 "csv\0"
101 "cube\0"
102 "current\0"
103 "current_catalog\0"
104 "current_date\0"
105 "current_role\0"
106 "current_schema\0"
107 "current_time\0"
108 "current_timestamp\0"
109 "current_user\0"
110 "cursor\0"
111 "cycle\0"
112 "data\0"
113 "database\0"
114 "day\0"
115 "deallocate\0"
116 "dec\0"
117 "decimal\0"
118 "declare\0"
119 "default\0"
120 "defaults\0"
121 "deferrable\0"
122 "deferred\0"
123 "definer\0"
124 "delete\0"
125 "delimiter\0"
126 "delimiters\0"
127 "depends\0"
128 "desc\0"
129 "detach\0"
130 "dictionary\0"
131 "disable\0"
132 "discard\0"
133 "distinct\0"
134 "do\0"
135 "document\0"
136 "domain\0"
137 "double\0"
138 "drop\0"
139 "each\0"
140 "else\0"
141 "enable\0"
142 "encoding\0"
143 "encrypted\0"
144 "end\0"
145 "enum\0"
146 "escape\0"
147 "event\0"
148 "except\0"
149 "exclude\0"
150 "excluding\0"
151 "exclusive\0"
152 "execute\0"
153 "exists\0"
154 "explain\0"
155 "expression\0"
156 "extension\0"
157 "external\0"
158 "extract\0"
159 "false\0"
160 "family\0"
161 "fetch\0"
162 "filter\0"
163 "first\0"
164 "float\0"
165 "following\0"
166 "for\0"
167 "force\0"
168 "foreign\0"
169 "forward\0"
170 "freeze\0"
171 "from\0"
172 "full\0"
173 "function\0"
174 "functions\0"
175 "generated\0"
176 "global\0"
177 "grant\0"
178 "granted\0"
179 "greatest\0"
180 "group\0"
181 "grouping\0"
182 "groups\0"
183 "handler\0"
184 "having\0"
185 "header\0"
186 "hold\0"
187 "hour\0"
188 "identity\0"
189 "if\0"
190 "ilike\0"
191 "immediate\0"
192 "immutable\0"
193 "implicit\0"
194 "import\0"
195 "in\0"
196 "include\0"
197 "including\0"
198 "increment\0"
199 "index\0"
200 "indexes\0"
201 "inherit\0"
202 "inherits\0"
203 "initially\0"
204 "inline\0"
205 "inner\0"
206 "inout\0"
207 "input\0"
208 "insensitive\0"
209 "insert\0"
210 "instead\0"
211 "int\0"
212 "integer\0"
213 "intersect\0"
214 "interval\0"
215 "into\0"
216 "invoker\0"
217 "is\0"
218 "isnull\0"
219 "isolation\0"
220 "join\0"
221 "key\0"
222 "label\0"
223 "language\0"
224 "large\0"
225 "last\0"
226 "lateral\0"
227 "leading\0"
228 "leakproof\0"
229 "least\0"
230 "left\0"
231 "level\0"
232 "like\0"
233 "limit\0"
234 "listen\0"
235 "load\0"
236 "local\0"
237 "localtime\0"
238 "localtimestamp\0"
239 "location\0"
240 "lock\0"
241 "locked\0"
242 "logged\0"
243 "mapping\0"
244 "match\0"
245 "materialized\0"
246 "maxvalue\0"
247 "method\0"
248 "minute\0"
249 "minvalue\0"
250 "mode\0"
251 "month\0"
252 "move\0"
253 "name\0"
254 "names\0"
255 "national\0"
256 "natural\0"
257 "nchar\0"
258 "new\0"
259 "next\0"
260 "nfc\0"
261 "nfd\0"
262 "nfkc\0"
263 "nfkd\0"
264 "no\0"
265 "none\0"
266 "normalize\0"
267 "normalized\0"
268 "not\0"
269 "nothing\0"
270 "notify\0"
271 "notnull\0"
272 "nowait\0"
273 "null\0"
274 "nullif\0"
275 "nulls\0"
276 "numeric\0"
277 "object\0"
278 "of\0"
279 "off\0"
280 "offset\0"
281 "oids\0"
282 "old\0"
283 "on\0"
284 "only\0"
285 "operator\0"
286 "option\0"
287 "options\0"
288 "or\0"
289 "order\0"
290 "ordinality\0"
291 "others\0"
292 "out\0"
293 "outer\0"
294 "over\0"
295 "overlaps\0"
296 "overlay\0"
297 "overriding\0"
298 "owned\0"
299 "owner\0"
300 "parallel\0"
301 "parser\0"
302 "partial\0"
303 "partition\0"
304 "passing\0"
305 "password\0"
306 "placing\0"
307 "plans\0"
308 "policy\0"
309 "position\0"
310 "preceding\0"
311 "precision\0"
312 "prepare\0"
313 "prepared\0"
314 "preserve\0"
315 "primary\0"
316 "prior\0"
317 "privileges\0"
318 "procedural\0"
319 "procedure\0"
320 "procedures\0"
321 "program\0"
322 "publication\0"
323 "quote\0"
324 "range\0"
325 "read\0"
326 "real\0"
327 "reassign\0"
328 "recheck\0"
329 "recursive\0"
330 "ref\0"
331 "references\0"
332 "referencing\0"
333 "refresh\0"
334 "reindex\0"
335 "relative\0"
336 "release\0"
337 "rename\0"
338 "repeatable\0"
339 "replace\0"
340 "replica\0"
341 "reset\0"
342 "restart\0"
343 "restrict\0"
344 "returning\0"
345 "returns\0"
346 "revoke\0"
347 "right\0"
348 "role\0"
349 "rollback\0"
350 "rollup\0"
351 "routine\0"
352 "routines\0"
353 "row\0"
354 "rows\0"
355 "rule\0"
356 "savepoint\0"
357 "schema\0"
358 "schemas\0"
359 "scroll\0"
360 "search\0"
361 "second\0"
362 "security\0"
363 "select\0"
364 "sequence\0"
365 "sequences\0"
366 "serializable\0"
367 "server\0"
368 "session\0"
369 "session_user\0"
370 "set\0"
371 "setof\0"
372 "sets\0"
373 "share\0"
374 "show\0"
375 "similar\0"
376 "simple\0"
377 "skip\0"
378 "smallint\0"
379 "snapshot\0"
380 "some\0"
381 "sql\0"
382 "stable\0"
383 "standalone\0"
384 "start\0"
385 "statement\0"
386 "statistics\0"
387 "stdin\0"
388 "stdout\0"
389 "storage\0"
390 "stored\0"
391 "strict\0"
392 "strip\0"
393 "subscription\0"
394 "substring\0"
395 "support\0"
396 "symmetric\0"
397 "sysid\0"
398 "system\0"
399 "table\0"
400 "tables\0"
401 "tablesample\0"
402 "tablespace\0"
403 "temp\0"
404 "template\0"
405 "temporary\0"
406 "text\0"
407 "then\0"
408 "ties\0"
409 "time\0"
410 "timestamp\0"
411 "to\0"
412 "trailing\0"
413 "transaction\0"
414 "transform\0"
415 "treat\0"
416 "trigger\0"
417 "trim\0"
418 "true\0"
419 "truncate\0"
420 "trusted\0"
421 "type\0"
422 "types\0"
423 "uescape\0"
424 "unbounded\0"
425 "uncommitted\0"
426 "unencrypted\0"
427 "union\0"
428 "unique\0"
429 "unknown\0"
430 "unlisten\0"
431 "unlogged\0"
432 "until\0"
433 "update\0"
434 "user\0"
435 "using\0"
436 "vacuum\0"
437 "valid\0"
438 "validate\0"
439 "validator\0"
440 "value\0"
441 "values\0"
442 "varchar\0"
443 "variadic\0"
444 "varying\0"
445 "verbose\0"
446 "version\0"
447 "view\0"
448 "views\0"
449 "volatile\0"
450 "when\0"
451 "where\0"
452 "whitespace\0"
453 "window\0"
454 "with\0"
455 "within\0"
456 "without\0"
457 "work\0"
458 "wrapper\0"
459 "write\0"
460 "xml\0"
461 "xmlattributes\0"
462 "xmlconcat\0"
463 "xmlelement\0"
464 "xmlexists\0"
465 "xmlforest\0"
466 "xmlnamespaces\0"
467 "xmlparse\0"
468 "xmlpi\0"
469 "xmlroot\0"
470 "xmlserialize\0"
471 "xmltable\0"
472 "year\0"
473 "yes\0"
474 "zone";
475
476 static const uint16 ScanKeywords_kw_offsets[] = {
477 0,
478 6,
479 15,
480 22,
481 29,
482 33,
483 39,
484 45,
485 55,
486 59,
487 64,
488 70,
489 77,
490 85,
491 93,
492 97,
493 101,
494 107,
495 110,
496 114,
497 124,
498 135,
499 146,
500 149,
501 156,
502 166,
503 180,
504 189,
505 196,
506 202,
507 210,
508 217,
509 224,
510 228,
511 236,
512 241,
513 244,
514 250,
515 255,
516 262,
517 270,
518 279,
519 284,
520 289,
521 297,
522 303,
523 308,
524 318,
525 334,
526 340,
527 351,
528 357,
529 363,
530 371,
531 380,
532 388,
533 398,
534 405,
535 413,
536 421,
537 430,
538 437,
539 447,
540 460,
541 474,
542 483,
543 494,
544 505,
545 517,
546 525,
547 534,
548 545,
549 550,
550 555,
551 562,
552 568,
553 572,
554 577,
555 585,
556 601,
557 614,
558 627,
559 642,
560 655,
561 673,
562 686,
563 693,
564 699,
565 704,
566 713,
567 717,
568 728,
569 732,
570 740,
571 748,
572 756,
573 765,
574 776,
575 785,
576 793,
577 800,
578 810,
579 821,
580 829,
581 834,
582 841,
583 852,
584 860,
585 868,
586 877,
587 880,
588 889,
589 896,
590 903,
591 908,
592 913,
593 918,
594 925,
595 934,
596 944,
597 948,
598 953,
599 960,
600 966,
601 973,
602 981,
603 991,
604 1001,
605 1009,
606 1016,
607 1024,
608 1035,
609 1045,
610 1054,
611 1062,
612 1068,
613 1075,
614 1081,
615 1088,
616 1094,
617 1100,
618 1110,
619 1114,
620 1120,
621 1128,
622 1136,
623 1143,
624 1148,
625 1153,
626 1162,
627 1172,
628 1182,
629 1189,
630 1195,
631 1203,
632 1212,
633 1218,
634 1227,
635 1234,
636 1242,
637 1249,
638 1256,
639 1261,
640 1266,
641 1275,
642 1278,
643 1284,
644 1294,
645 1304,
646 1313,
647 1320,
648 1323,
649 1331,
650 1341,
651 1351,
652 1357,
653 1365,
654 1373,
655 1382,
656 1392,
657 1399,
658 1405,
659 1411,
660 1417,
661 1429,
662 1436,
663 1444,
664 1448,
665 1456,
666 1466,
667 1475,
668 1480,
669 1488,
670 1491,
671 1498,
672 1508,
673 1513,
674 1517,
675 1523,
676 1532,
677 1538,
678 1543,
679 1551,
680 1559,
681 1569,
682 1575,
683 1580,
684 1586,
685 1591,
686 1597,
687 1604,
688 1609,
689 1615,
690 1625,
691 1640,
692 1649,
693 1654,
694 1661,
695 1668,
696 1676,
697 1682,
698 1695,
699 1704,
700 1711,
701 1718,
702 1727,
703 1732,
704 1738,
705 1743,
706 1748,
707 1754,
708 1763,
709 1771,
710 1777,
711 1781,
712 1786,
713 1790,
714 1794,
715 1799,
716 1804,
717 1807,
718 1812,
719 1822,
720 1833,
721 1837,
722 1845,
723 1852,
724 1860,
725 1867,
726 1872,
727 1879,
728 1885,
729 1893,
730 1900,
731 1903,
732 1907,
733 1914,
734 1919,
735 1923,
736 1926,
737 1931,
738 1940,
739 1947,
740 1955,
741 1958,
742 1964,
743 1975,
744 1982,
745 1986,
746 1992,
747 1997,
748 2006,
749 2014,
750 2025,
751 2031,
752 2037,
753 2046,
754 2053,
755 2061,
756 2071,
757 2079,
758 2088,
759 2096,
760 2102,
761 2109,
762 2118,
763 2128,
764 2138,
765 2146,
766 2155,
767 2164,
768 2172,
769 2178,
770 2189,
771 2200,
772 2210,
773 2221,
774 2229,
775 2241,
776 2247,
777 2253,
778 2258,
779 2263,
780 2272,
781 2280,
782 2290,
783 2294,
784 2305,
785 2317,
786 2325,
787 2333,
788 2342,
789 2350,
790 2357,
791 2368,
792 2376,
793 2384,
794 2390,
795 2398,
796 2407,
797 2417,
798 2425,
799 2432,
800 2438,
801 2443,
802 2452,
803 2459,
804 2467,
805 2476,
806 2480,
807 2485,
808 2490,
809 2500,
810 2507,
811 2515,
812 2522,
813 2529,
814 2536,
815 2545,
816 2552,
817 2561,
818 2571,
819 2584,
820 2591,
821 2599,
822 2612,
823 2616,
824 2622,
825 2627,
826 2633,
827 2638,
828 2646,
829 2653,
830 2658,
831 2667,
832 2676,
833 2681,
834 2685,
835 2692,
836 2703,
837 2709,
838 2719,
839 2730,
840 2736,
841 2743,
842 2751,
843 2758,
844 2765,
845 2771,
846 2784,
847 2794,
848 2802,
849 2812,
850 2818,
851 2825,
852 2831,
853 2838,
854 2850,
855 2861,
856 2866,
857 2875,
858 2885,
859 2890,
860 2895,
861 2900,
862 2905,
863 2915,
864 2918,
865 2927,
866 2939,
867 2949,
868 2955,
869 2963,
870 2968,
871 2973,
872 2982,
873 2990,
874 2995,
875 3001,
876 3009,
877 3019,
878 3031,
879 3043,
880 3049,
881 3056,
882 3064,
883 3073,
884 3082,
885 3088,
886 3095,
887 3100,
888 3106,
889 3113,
890 3119,
891 3128,
892 3138,
893 3144,
894 3151,
895 3159,
896 3168,
897 3176,
898 3184,
899 3192,
900 3197,
901 3203,
902 3212,
903 3217,
904 3223,
905 3234,
906 3241,
907 3246,
908 3253,
909 3261,
910 3266,
911 3274,
912 3280,
913 3284,
914 3298,
915 3308,
916 3319,
917 3329,
918 3339,
919 3353,
920 3362,
921 3368,
922 3376,
923 3389,
924 3398,
925 3403,
926 3407,
927 };
928
929 #define SCANKEYWORDS_NUM_KEYWORDS 450
930
931 static int
ScanKeywords_hash_func(const void * key,size_t keylen)932 ScanKeywords_hash_func(const void *key, size_t keylen)
933 {
934 static const int16 h[901] = {
935 -172, 32767, 32767, 32767, 0, 56, 362, 32767,
936 0, 90, -251, 332, 32767, 66, 298, 0,
937 32767, 88, 27, 22, -125, 317, 0, 32767,
938 -35, 0, 32767, 32767, 32767, 52, 32767, 275,
939 32767, -277, 32767, 32767, 316, 177, 32767, 0,
940 398, 58, 272, -88, 0, -147, 242, 143,
941 401, 0, 32767, 0, 293, 355, 0, 0,
942 303, 32767, 225, 580, 0, 378, 0, 0,
943 32767, -25, -312, 32767, -210, 0, 32767, -19,
944 32767, 91, 307, 354, 32767, 32767, -18, 36,
945 32767, 32767, 402, 292, 165, 274, 0, 32767,
946 10, -20, 32767, 294, 32767, -622, 326, 32767,
947 -128, 0, 33, 32767, 32767, 325, 32767, 276,
948 343, 32767, 96, 173, 32767, 32767, 32767, 0,
949 32767, 320, -128, 32767, 357, 24, -9, 427,
950 32767, 32767, 0, 32767, 0, 0, 32767, 32767,
951 405, 32767, 125, 32767, 0, 32767, -40, 32767,
952 0, 80, 0, 32767, 0, 95, -146, 0,
953 32767, 26, 165, 32767, 41, 32767, 418, 32767,
954 32767, 40, 32767, 147, 32767, 32767, 32767, 91,
955 110, 9, 305, -340, 32767, 103, 32767, 0,
956 329, 32767, 32767, 310, 32767, 32767, 147, -262,
957 422, 393, 382, 136, 32767, 177, 0, 32767,
958 32767, 102, 0, 32767, 83, 141, 28, 167,
959 -421, 32767, 38, 111, 0, 479, 32767, 32767,
960 29, 439, 32767, 427, -6, 182, 32767, 74,
961 32767, 360, 236, 32767, 32767, 327, -63, 162,
962 154, 184, 90, 263, 115, 127, 539, 347,
963 -72, 32767, -159, 32767, -249, 152, 32767, 357,
964 404, -110, 32767, 404, 345, 32767, 80, 352,
965 422, 61, 32767, 32767, 32767, 243, 126, 117,
966 32767, 0, 32767, 32767, 208, 32767, 32767, -20,
967 430, -195, 32767, 32767, 32767, 118, -62, 32767,
968 32767, 98, 136, 0, 0, 32767, 261, 32767,
969 0, 32767, 230, 37, 750, 154, 32767, -86,
970 87, 32767, 6, 61, 32767, 205, 32767, 517,
971 107, 66, 304, 32767, 0, 32767, 32767, 32767,
972 333, 32767, 357, 239, 32767, 32767, 437, -26,
973 32767, 210, 0, 20, 369, 10, 32767, -78,
974 616, 70, 0, 32767, 86, 32767, 0, 32767,
975 14, 60, 32, 32767, 373, 32767, -218, 320,
976 32767, 268, 32767, 32767, 425, -67, 0, 32767,
977 252, 32767, -93, 193, -362, -140, 32767, -328,
978 32767, 0, 319, 336, 32767, 121, 0, 32767,
979 207, 32767, 481, -176, 276, 47, 235, 32767,
980 0, 221, 32767, 228, 32767, 84, 32767, 32767,
981 32767, 32767, 32767, 32767, 290, 32767, 32767, 84,
982 -170, 82, 246, -43, 201, 155, -7, 299,
983 32767, 32767, 241, 32767, -418, 32767, 32767, -303,
984 32767, 32767, -40, 308, 32767, 0, 178, -67,
985 32767, 273, 32767, 0, 32767, 69, 387, 32767,
986 341, 0, 0, -19, 324, -88, 166, 32767,
987 6, 20, 32767, 17, 22, 359, 32767, 32767,
988 172, 0, 32767, 0, 206, 88, 0, 32767,
989 35, 0, 275, 114, 339, 32767, 32767, 32767,
990 32767, 32767, 524, 0, -52, 191, -115, 9,
991 200, 102, 0, 32767, 3, 0, 0, 0,
992 -288, 0, -132, 32767, 0, 32767, 300, 0,
993 0, 0, 212, 32767, 260, 32767, -279, 104,
994 506, 0, 640, 38, 268, 32767, 131, 32767,
995 32767, 32767, 32767, 0, 0, 32767, 32767, 18,
996 100, 44, 67, 270, 245, 283, 224, -66,
997 32767, 32767, 32767, -67, 32767, 389, 32767, 0,
998 125, 354, 32767, 32767, -21, 124, 0, 204,
999 32767, 0, 99, 32767, 267, 32767, 0, 32767,
1000 32767, 231, 32767, -129, -113, 108, 23, 0,
1001 0, 32767, 32767, 0, 32767, 269, 32767, 32767,
1002 -133, 32767, -384, 32767, 32767, 0, 32767, 32767,
1003 32767, 0, 32767, 32767, 32767, 0, 322, 424,
1004 117, -29, 32767, 32767, 145, 0, 0, 323,
1005 119, 32767, 32767, 32767, 392, -164, -143, -25,
1006 -106, 0, 97, 32767, 32767, 235, 32767, 0,
1007 32767, 411, 363, 32767, 31, 32767, 443, 32767,
1008 76, 29, 32767, 323, 32767, 142, 32767, 0,
1009 244, 0, 32767, 28, 32767, 0, 377, -8,
1010 -45, 32767, 37, 0, 350, 0, 32767, 32767,
1011 38, 416, 32767, 265, -78, -308, -51, 705,
1012 32767, 32767, 0, 66, 0, 32767, 32767, 32767,
1013 81, -250, 32767, 1, 421, 32767, 32767, 0,
1014 32767, 401, 198, 32767, 256, 290, 210, 32767,
1015 32767, 32767, 32767, 0, 444, 211, -99, 220,
1016 64, 32767, 32767, 32767, 32767, 190, 19, 0,
1017 216, 32767, 262, 32767, 404, 562, -222, 0,
1018 0, -162, 32767, 192, 65, 32767, 150, 191,
1019 0, 218, 267, 32767, 32767, 32767, 399, 189,
1020 356, 532, 0, 32767, 429, 32767, 32767, 54,
1021 279, 151, 0, 353, 394, 176, 215, 32767,
1022 15, 153, 137, 92, 420, 47, 253, 0,
1023 298, 32767, 32767, 32767, 234, 164, 241, 32767,
1024 0, 409, 0, 32767, 0, 32767, 0, 70,
1025 32767, 32767, 32767, 0, 32767, 32767, 32767, -138,
1026 32767, 32767, -46, 32767, 97, 32767, 0, -126,
1027 32767, 169, 322, 392, 32767, 0, 32767, 32767,
1028 0, 282, 296, 32767, 0, 403, 32767, -24,
1029 32767, -34, 32767, 32767, 32767, 418, 32767, 0,
1030 97, 238, 32767, 144, 428, 32767, 2, 32767,
1031 32767, 32767, 194, -182, 12, 32767, 391, 32767,
1032 880, 32767, 32767, 50, 331, 0, 0, 358,
1033 20, 32767, 32767, 222, 317, 32767, 0, 125,
1034 32767, 0, 32767, 284, 32767, 32767, 197, 0,
1035 63, 32767, 0, 188, 32767, 32767, 147, 190,
1036 344, 32767, -42, 32767, 0, 187, 32767, 32767,
1037 350, 32767, 0, 0, 127, 32767, 32767, 161,
1038 32767, 0, 0, 382, 32767, 32767, 316, 130,
1039 32767, 379, 32767, 383, 368, 93, -195, 0,
1040 233, 73, 32767, 100, 32767, 338, 90, 32767,
1041 258, 32767, 32767, 235, 175, 32767, 32767, 0,
1042 -9, 0, 0, 32767, 32767, 111, 417, 330,
1043 0, 0, 225, 32767, 0, 0, 32767, 0,
1044 64, 32767, 32767, 16, 113, 29, 0, 32767,
1045 32767, 0, 43, 0, 365, -41, -284, 0,
1046 0, 0, 61, 314, 255, 0, 32767, 145,
1047 32767, -445, 32767, 32767, 154,
1048 };
1049
1050 const unsigned char *k = (const unsigned char *) key;
1051 uint32 a = 0;
1052 uint32 b = 3;
1053
1054 while (keylen--)
1055 {
1056 unsigned char c = *k++ | 0x20;
1057
1058 a = a * 31 + c;
1059 b = b * 127 + c;
1060 }
1061 return h[a % 901] + h[b % 901];
1062 }
1063
1064 const ScanKeywordList ScanKeywords = {
1065 ScanKeywords_kw_string,
1066 ScanKeywords_kw_offsets,
1067 ScanKeywords_hash_func,
1068 SCANKEYWORDS_NUM_KEYWORDS,
1069 17
1070 };
1071
1072 #endif /* KWLIST_D_H */
1073