1/*-------------------------------------------------------------------------
2 *
3 * kwlist_d.h
4 * List of keywords represented as a ScanKeywordList.
5 *
6 * Portions Copyright (c) 1996-2019, 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
24static 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 "extension\0"
156 "external\0"
157 "extract\0"
158 "false\0"
159 "family\0"
160 "fetch\0"
161 "filter\0"
162 "first\0"
163 "float\0"
164 "following\0"
165 "for\0"
166 "force\0"
167 "foreign\0"
168 "forward\0"
169 "freeze\0"
170 "from\0"
171 "full\0"
172 "function\0"
173 "functions\0"
174 "generated\0"
175 "global\0"
176 "grant\0"
177 "granted\0"
178 "greatest\0"
179 "group\0"
180 "grouping\0"
181 "groups\0"
182 "handler\0"
183 "having\0"
184 "header\0"
185 "hold\0"
186 "hour\0"
187 "identity\0"
188 "if\0"
189 "ilike\0"
190 "immediate\0"
191 "immutable\0"
192 "implicit\0"
193 "import\0"
194 "in\0"
195 "include\0"
196 "including\0"
197 "increment\0"
198 "index\0"
199 "indexes\0"
200 "inherit\0"
201 "inherits\0"
202 "initially\0"
203 "inline\0"
204 "inner\0"
205 "inout\0"
206 "input\0"
207 "insensitive\0"
208 "insert\0"
209 "instead\0"
210 "int\0"
211 "integer\0"
212 "intersect\0"
213 "interval\0"
214 "into\0"
215 "invoker\0"
216 "is\0"
217 "isnull\0"
218 "isolation\0"
219 "join\0"
220 "key\0"
221 "label\0"
222 "language\0"
223 "large\0"
224 "last\0"
225 "lateral\0"
226 "leading\0"
227 "leakproof\0"
228 "least\0"
229 "left\0"
230 "level\0"
231 "like\0"
232 "limit\0"
233 "listen\0"
234 "load\0"
235 "local\0"
236 "localtime\0"
237 "localtimestamp\0"
238 "location\0"
239 "lock\0"
240 "locked\0"
241 "logged\0"
242 "mapping\0"
243 "match\0"
244 "materialized\0"
245 "maxvalue\0"
246 "method\0"
247 "minute\0"
248 "minvalue\0"
249 "mode\0"
250 "month\0"
251 "move\0"
252 "name\0"
253 "names\0"
254 "national\0"
255 "natural\0"
256 "nchar\0"
257 "new\0"
258 "next\0"
259 "no\0"
260 "none\0"
261 "not\0"
262 "nothing\0"
263 "notify\0"
264 "notnull\0"
265 "nowait\0"
266 "null\0"
267 "nullif\0"
268 "nulls\0"
269 "numeric\0"
270 "object\0"
271 "of\0"
272 "off\0"
273 "offset\0"
274 "oids\0"
275 "old\0"
276 "on\0"
277 "only\0"
278 "operator\0"
279 "option\0"
280 "options\0"
281 "or\0"
282 "order\0"
283 "ordinality\0"
284 "others\0"
285 "out\0"
286 "outer\0"
287 "over\0"
288 "overlaps\0"
289 "overlay\0"
290 "overriding\0"
291 "owned\0"
292 "owner\0"
293 "parallel\0"
294 "parser\0"
295 "partial\0"
296 "partition\0"
297 "passing\0"
298 "password\0"
299 "placing\0"
300 "plans\0"
301 "policy\0"
302 "position\0"
303 "preceding\0"
304 "precision\0"
305 "prepare\0"
306 "prepared\0"
307 "preserve\0"
308 "primary\0"
309 "prior\0"
310 "privileges\0"
311 "procedural\0"
312 "procedure\0"
313 "procedures\0"
314 "program\0"
315 "publication\0"
316 "quote\0"
317 "range\0"
318 "read\0"
319 "real\0"
320 "reassign\0"
321 "recheck\0"
322 "recursive\0"
323 "ref\0"
324 "references\0"
325 "referencing\0"
326 "refresh\0"
327 "reindex\0"
328 "relative\0"
329 "release\0"
330 "rename\0"
331 "repeatable\0"
332 "replace\0"
333 "replica\0"
334 "reset\0"
335 "restart\0"
336 "restrict\0"
337 "returning\0"
338 "returns\0"
339 "revoke\0"
340 "right\0"
341 "role\0"
342 "rollback\0"
343 "rollup\0"
344 "routine\0"
345 "routines\0"
346 "row\0"
347 "rows\0"
348 "rule\0"
349 "savepoint\0"
350 "schema\0"
351 "schemas\0"
352 "scroll\0"
353 "search\0"
354 "second\0"
355 "security\0"
356 "select\0"
357 "sequence\0"
358 "sequences\0"
359 "serializable\0"
360 "server\0"
361 "session\0"
362 "session_user\0"
363 "set\0"
364 "setof\0"
365 "sets\0"
366 "share\0"
367 "show\0"
368 "similar\0"
369 "simple\0"
370 "skip\0"
371 "smallint\0"
372 "snapshot\0"
373 "some\0"
374 "sql\0"
375 "stable\0"
376 "standalone\0"
377 "start\0"
378 "statement\0"
379 "statistics\0"
380 "stdin\0"
381 "stdout\0"
382 "storage\0"
383 "stored\0"
384 "strict\0"
385 "strip\0"
386 "subscription\0"
387 "substring\0"
388 "support\0"
389 "symmetric\0"
390 "sysid\0"
391 "system\0"
392 "table\0"
393 "tables\0"
394 "tablesample\0"
395 "tablespace\0"
396 "temp\0"
397 "template\0"
398 "temporary\0"
399 "text\0"
400 "then\0"
401 "ties\0"
402 "time\0"
403 "timestamp\0"
404 "to\0"
405 "trailing\0"
406 "transaction\0"
407 "transform\0"
408 "treat\0"
409 "trigger\0"
410 "trim\0"
411 "true\0"
412 "truncate\0"
413 "trusted\0"
414 "type\0"
415 "types\0"
416 "unbounded\0"
417 "uncommitted\0"
418 "unencrypted\0"
419 "union\0"
420 "unique\0"
421 "unknown\0"
422 "unlisten\0"
423 "unlogged\0"
424 "until\0"
425 "update\0"
426 "user\0"
427 "using\0"
428 "vacuum\0"
429 "valid\0"
430 "validate\0"
431 "validator\0"
432 "value\0"
433 "values\0"
434 "varchar\0"
435 "variadic\0"
436 "varying\0"
437 "verbose\0"
438 "version\0"
439 "view\0"
440 "views\0"
441 "volatile\0"
442 "when\0"
443 "where\0"
444 "whitespace\0"
445 "window\0"
446 "with\0"
447 "within\0"
448 "without\0"
449 "work\0"
450 "wrapper\0"
451 "write\0"
452 "xml\0"
453 "xmlattributes\0"
454 "xmlconcat\0"
455 "xmlelement\0"
456 "xmlexists\0"
457 "xmlforest\0"
458 "xmlnamespaces\0"
459 "xmlparse\0"
460 "xmlpi\0"
461 "xmlroot\0"
462 "xmlserialize\0"
463 "xmltable\0"
464 "year\0"
465 "yes\0"
466 "zone";
467
468static const uint16 ScanKeywords_kw_offsets[] = {
469 0,
470 6,
471 15,
472 22,
473 29,
474 33,
475 39,
476 45,
477 55,
478 59,
479 64,
480 70,
481 77,
482 85,
483 93,
484 97,
485 101,
486 107,
487 110,
488 114,
489 124,
490 135,
491 146,
492 149,
493 156,
494 166,
495 180,
496 189,
497 196,
498 202,
499 210,
500 217,
501 224,
502 228,
503 236,
504 241,
505 244,
506 250,
507 255,
508 262,
509 270,
510 279,
511 284,
512 289,
513 297,
514 303,
515 308,
516 318,
517 334,
518 340,
519 351,
520 357,
521 363,
522 371,
523 380,
524 388,
525 398,
526 405,
527 413,
528 421,
529 430,
530 437,
531 447,
532 460,
533 474,
534 483,
535 494,
536 505,
537 517,
538 525,
539 534,
540 545,
541 550,
542 555,
543 562,
544 568,
545 572,
546 577,
547 585,
548 601,
549 614,
550 627,
551 642,
552 655,
553 673,
554 686,
555 693,
556 699,
557 704,
558 713,
559 717,
560 728,
561 732,
562 740,
563 748,
564 756,
565 765,
566 776,
567 785,
568 793,
569 800,
570 810,
571 821,
572 829,
573 834,
574 841,
575 852,
576 860,
577 868,
578 877,
579 880,
580 889,
581 896,
582 903,
583 908,
584 913,
585 918,
586 925,
587 934,
588 944,
589 948,
590 953,
591 960,
592 966,
593 973,
594 981,
595 991,
596 1001,
597 1009,
598 1016,
599 1024,
600 1034,
601 1043,
602 1051,
603 1057,
604 1064,
605 1070,
606 1077,
607 1083,
608 1089,
609 1099,
610 1103,
611 1109,
612 1117,
613 1125,
614 1132,
615 1137,
616 1142,
617 1151,
618 1161,
619 1171,
620 1178,
621 1184,
622 1192,
623 1201,
624 1207,
625 1216,
626 1223,
627 1231,
628 1238,
629 1245,
630 1250,
631 1255,
632 1264,
633 1267,
634 1273,
635 1283,
636 1293,
637 1302,
638 1309,
639 1312,
640 1320,
641 1330,
642 1340,
643 1346,
644 1354,
645 1362,
646 1371,
647 1381,
648 1388,
649 1394,
650 1400,
651 1406,
652 1418,
653 1425,
654 1433,
655 1437,
656 1445,
657 1455,
658 1464,
659 1469,
660 1477,
661 1480,
662 1487,
663 1497,
664 1502,
665 1506,
666 1512,
667 1521,
668 1527,
669 1532,
670 1540,
671 1548,
672 1558,
673 1564,
674 1569,
675 1575,
676 1580,
677 1586,
678 1593,
679 1598,
680 1604,
681 1614,
682 1629,
683 1638,
684 1643,
685 1650,
686 1657,
687 1665,
688 1671,
689 1684,
690 1693,
691 1700,
692 1707,
693 1716,
694 1721,
695 1727,
696 1732,
697 1737,
698 1743,
699 1752,
700 1760,
701 1766,
702 1770,
703 1775,
704 1778,
705 1783,
706 1787,
707 1795,
708 1802,
709 1810,
710 1817,
711 1822,
712 1829,
713 1835,
714 1843,
715 1850,
716 1853,
717 1857,
718 1864,
719 1869,
720 1873,
721 1876,
722 1881,
723 1890,
724 1897,
725 1905,
726 1908,
727 1914,
728 1925,
729 1932,
730 1936,
731 1942,
732 1947,
733 1956,
734 1964,
735 1975,
736 1981,
737 1987,
738 1996,
739 2003,
740 2011,
741 2021,
742 2029,
743 2038,
744 2046,
745 2052,
746 2059,
747 2068,
748 2078,
749 2088,
750 2096,
751 2105,
752 2114,
753 2122,
754 2128,
755 2139,
756 2150,
757 2160,
758 2171,
759 2179,
760 2191,
761 2197,
762 2203,
763 2208,
764 2213,
765 2222,
766 2230,
767 2240,
768 2244,
769 2255,
770 2267,
771 2275,
772 2283,
773 2292,
774 2300,
775 2307,
776 2318,
777 2326,
778 2334,
779 2340,
780 2348,
781 2357,
782 2367,
783 2375,
784 2382,
785 2388,
786 2393,
787 2402,
788 2409,
789 2417,
790 2426,
791 2430,
792 2435,
793 2440,
794 2450,
795 2457,
796 2465,
797 2472,
798 2479,
799 2486,
800 2495,
801 2502,
802 2511,
803 2521,
804 2534,
805 2541,
806 2549,
807 2562,
808 2566,
809 2572,
810 2577,
811 2583,
812 2588,
813 2596,
814 2603,
815 2608,
816 2617,
817 2626,
818 2631,
819 2635,
820 2642,
821 2653,
822 2659,
823 2669,
824 2680,
825 2686,
826 2693,
827 2701,
828 2708,
829 2715,
830 2721,
831 2734,
832 2744,
833 2752,
834 2762,
835 2768,
836 2775,
837 2781,
838 2788,
839 2800,
840 2811,
841 2816,
842 2825,
843 2835,
844 2840,
845 2845,
846 2850,
847 2855,
848 2865,
849 2868,
850 2877,
851 2889,
852 2899,
853 2905,
854 2913,
855 2918,
856 2923,
857 2932,
858 2940,
859 2945,
860 2951,
861 2961,
862 2973,
863 2985,
864 2991,
865 2998,
866 3006,
867 3015,
868 3024,
869 3030,
870 3037,
871 3042,
872 3048,
873 3055,
874 3061,
875 3070,
876 3080,
877 3086,
878 3093,
879 3101,
880 3110,
881 3118,
882 3126,
883 3134,
884 3139,
885 3145,
886 3154,
887 3159,
888 3165,
889 3176,
890 3183,
891 3188,
892 3195,
893 3203,
894 3208,
895 3216,
896 3222,
897 3226,
898 3240,
899 3250,
900 3261,
901 3271,
902 3281,
903 3295,
904 3304,
905 3310,
906 3318,
907 3331,
908 3340,
909 3345,
910 3349,
911};
912
913#define SCANKEYWORDS_NUM_KEYWORDS 442
914
915static int
916ScanKeywords_hash_func(const void *key, size_t keylen)
917{
918 static const int16 h[885] = {
919 32767, -102, 32767, 39, 32767, 32767, 0, 32767,
920 0, 45, -314, 45, 279, 0, 463, 0,
921 32767, -177, 374, 32767, 32767, 32767, -50, 32767,
922 32767, 103, 0, 1031, 32767, 95, 151, 32767,
923 32767, 209, 345, 0, 32767, 0, 67, 32767,
924 32767, -168, 32767, 32767, 32767, 32767, 32767, 32767,
925 32767, 32767, 32767, 49, 185, 32767, 102, 32767,
926 32767, 360, 182, 121, 207, 32767, 111, 32767,
927 107, -63, -269, 32767, 206, 187, 32767, 32767,
928 256, 109, 224, 32767, 32767, 21, 32767, 32767,
929 32767, 32767, 213, 0, 54, 32767, 341, 227,
930 144, -397, -278, -701, 32767, -191, -15, 221,
931 32767, 32767, 241, 32767, 121, 19, 32767, 32767,
932 290, 232, 349, -265, -295, 32767, -203, 97,
933 179, 117, 50, 331, 32767, 48, 57, 310,
934 -88, 32767, 32767, 32767, 0, 36, 32767, -98,
935 71, 32767, 273, 0, 55, 170, 411, 32767,
936 32767, 32767, 212, -48, 0, 32767, 323, 32767,
937 79, 32767, 32767, -628, 102, 32767, 131, 32767,
938 -150, 373, 263, 429, 0, 166, 32767, -376,
939 32767, -193, 358, 266, 32767, 257, -151, 674,
940 32767, 175, 109, 32767, 351, 32767, 229, 11,
941 50, 32767, 0, 172, 32767, 414, 226, 578,
942 32767, 32767, 0, 32767, 32767, 96, -7, 10,
943 256, 32767, 32767, 100, 191, 104, -334, -232,
944 32767, -217, 88, 32767, 87, 179, 739, 203,
945 8, -206, 282, 295, 32767, 0, 229, -49,
946 102, 427, 32767, 32767, 264, 32767, 32767, 209,
947 32767, -329, 32767, 247, 0, 32767, 32767, 32767,
948 32767, 74, 431, 0, 32767, 32767, 59, 32767,
949 61, 32767, 389, 91, 0, 32767, 32767, 0,
950 0, 322, 396, 7, 557, 120, 348, 4,
951 32767, 0, 377, 117, 311, 32767, -7, 367,
952 -129, 91, 32767, 32767, 0, 74, 0, 162,
953 32767, 0, 32767, -367, 0, 32767, 235, 2,
954 42, 32767, -221, 15, 32767, 308, 224, 16,
955 604, 32767, 0, 4, 301, 32767, -388, 32767,
956 32767, 235, 32767, 0, -6, 57, 32767, 503,
957 32767, 135, 32767, 32767, 0, 306, 190, 55,
958 153, 133, 616, -672, -197, 172, 32767, 32767,
959 245, 315, 82, 25, 277, 32767, 32767, 32767,
960 -103, 361, 0, 32767, 32767, 0, 32767, 32767,
961 122, 32767, 32767, 32767, -293, 64, 421, 44,
962 -46, 32767, 401, -137, 320, 32767, 280, 329,
963 308, -489, 1013, 0, 240, 22, 73, 306,
964 271, 32767, 334, 32767, 429, 0, 635, 32767,
965 0, 32767, 32767, 32767, 128, 0, 0, 587,
966 32767, 32767, -222, 152, 323, 32767, 32767, 32767,
967 -103, 0, 408, 32767, 32767, 0, 20, 351,
968 51, 32767, 0, 169, 32767, 309, 88, 0,
969 73, -734, -377, 32767, 32767, 136, 32767, 32767,
970 32767, 32767, 119, -30, 236, 32767, 32767, 32767,
971 18, 0, 394, 32767, 32767, 32767, 154, 79,
972 0, 327, 32767, 296, -30, 32767, 390, -577,
973 32767, 32767, 0, 146, 0, 349, 32767, 0,
974 582, 438, 208, 32767, 0, 32767, 0, 32767,
975 -44, -16, 32767, 32767, 32767, 32767, 32767, -9,
976 32767, 32767, 32767, 32767, -124, 0, 209, 32767,
977 436, 32767, 275, 80, 291, 32767, 238, 227,
978 8, 143, 32767, 0, 939, 0, 287, 32767,
979 119, 32767, -244, 32767, 261, -117, -153, 105,
980 108, 32767, -232, 397, 384, 297, 52, 77,
981 0, 32767, 207, 32767, 32767, 0, 173, 32767,
982 369, 32767, 296, 32767, 183, 27, 0, 32767,
983 141, 393, 32767, 32767, 0, 98, 32767, 32767,
984 63, 32767, 32767, 644, 0, 401, 32767, 0,
985 76, 396, 361, 32767, 118, 32767, -175, 0,
986 0, 0, 198, 700, 142, 140, 32767, 32767,
987 32767, 36, 32767, -21, 626, 32767, 367, 18,
988 -150, 69, 152, 32767, -99, 32767, 335, 32767,
989 364, -98, 32767, 32767, 32767, 32767, 101, 32767,
990 313, 32767, 320, 211, 249, 10, 0, 32767,
991 -265, 32767, 0, 433, 32767, 330, 343, 423,
992 32767, 32767, 87, 75, 0, 32767, 0, 362,
993 293, -321, 32767, 0, 32767, 32767, 32767, 435,
994 82, 164, 32767, 291, 32767, 404, 0, 32767,
995 0, 32767, 32767, 32767, 32767, 32767, 0, -188,
996 32767, 324, -161, 32767, 106, 32767, 62, 567,
997 0, 0, 0, 0, 32767, 0, 391, 32767,
998 0, 299, 32767, 222, 32767, -134, 66, 32767,
999 21, 32767, 147, -269, 346, 347, 0, 0,
1000 -184, 32767, 578, 107, 239, 32767, 620, 402,
1001 432, 32767, 409, 93, -1004, 0, 32767, 0,
1002 32767, 32767, -74, 0, 32767, 0, 259, 377,
1003 32767, 0, 260, -128, -163, 0, 59, 444,
1004 32767, -290, 32767, 92, 0, 32767, 276, 140,
1005 -297, 32767, 32767, 32767, 32767, 32767, -230, 115,
1006 -3, 37, 241, -96, 0, 379, -415, 32767,
1007 -295, 32767, 50, 0, 22, 0, 159, 29,
1008 158, 32767, 32767, 0, 32767, 284, 332, 321,
1009 32767, 32767, 32767, 352, 0, 32767, 593, 0,
1010 414, 32767, 0, 0, 0, 32767, 0, 638,
1011 32767, 289, 32767, 32767, 32767, 0, 465, -289,
1012 0, 32767, 32767, 131, 255, 32767, 32767, -96,
1013 32767, 32767, 0, 32767, 0, 32767, 32767, 0,
1014 0, 165, 350, 32767, -372, 252, 0, -18,
1015 32767, 32767, 0, -173, 32767, 32767, 32767, 32767,
1016 -188, 0, 54, 748, 281, 32767, 32767, -358,
1017 424, -196, 32767, 122, 0, -61, 223, 0,
1018 0, 32767, -358, 0, 32767, 32767, 26, 316,
1019 32767, 0, 213, -120, 32767, 32767, 0, 156,
1020 32767, 316, 430, 32767, 32767, 40, 0, 388,
1021 -15, 32767, 32767, 0, -105, 0, 0, 138,
1022 -59, 32767, 245, 570, 32767, 0, 32767, 300,
1023 32767, 0, 161, 32767, 32767, 0, 32767, 32767,
1024 -4, 258, 0, 32767, -83, 32767, 349, -244,
1025 32767, 106, 208, 0, 32767, -195, 200, 32767,
1026 32767, 32767, 32767, 0, 374, -251, 32767, 32767,
1027 -201, 85, -336, 212, 32767, 32767, 285, 344,
1028 32767, 32767, 32767, 32767, 32767, 32767, 32767, 0,
1029 32767, -135, 32767, 387, 167,
1030 };
1031
1032 const unsigned char *k = (const unsigned char *) key;
1033 uint32 a = 0;
1034 uint32 b = 9;
1035
1036 while (keylen--)
1037 {
1038 unsigned char c = *k++ | 0x20;
1039
1040 a = a * 31 + c;
1041 b = b * 127 + c;
1042 }
1043 return h[a % 885] + h[b % 885];
1044}
1045
1046const ScanKeywordList ScanKeywords = {
1047 ScanKeywords_kw_string,
1048 ScanKeywords_kw_offsets,
1049 ScanKeywords_hash_func,
1050 SCANKEYWORDS_NUM_KEYWORDS,
1051 17
1052};
1053
1054#endif /* KWLIST_D_H */
1055