Merge from vendor branch NTPD:
[dragonfly.git] / contrib / gperf / tests / test-3.exp
1 /* C code produced by gperf version 2.7 */
2 /* Command-line: ../src/gperf -p -j 1 -o -a -C -g -t -k1,4,$  */
3 /* Command-line: gperf -p -j1 -g -o -t -N is_reserved_word -k1,4,$ gplus.gperf  */
4 struct resword { char *name; short token; enum rid rid;};
5
6 #define TOTAL_KEYWORDS 71
7 #define MIN_WORD_LENGTH 2
8 #define MAX_WORD_LENGTH 13
9 #define MIN_HASH_VALUE 4
10 #define MAX_HASH_VALUE 147
11 /* maximum key range = 144, duplicates = 0 */
12
13 #ifdef __GNUC__
14 __inline
15 #endif
16 static unsigned int
17 hash (str, len)
18      register const char *str;
19      register unsigned int len;
20 {
21   static const unsigned char asso_values[] =
22     {
23       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
24       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
25       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
26       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
27       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
28       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
29       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
30       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
31       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
32       148, 148, 148, 148, 148,   0, 148,  19,   6,  27,
33        37,   0,  12,   1,  15,  63, 148,   4,   0,  56,
34        20,  15,  42, 148,  31,   5,  26,  39,  32,  10,
35       148,  40, 148, 148, 148, 148, 148, 148, 148, 148,
36       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
37       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
38       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
39       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
40       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
41       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
42       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
43       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
44       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
45       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
46       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
47       148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
48       148, 148, 148, 148, 148, 148
49     };
50   register int hval = len;
51
52   switch (hval)
53     {
54       default:
55       case 4:
56         hval += asso_values[(unsigned char)str[3]];
57       case 3:
58       case 2:
59       case 1:
60         hval += asso_values[(unsigned char)str[0]];
61         break;
62     }
63   return hval + asso_values[(unsigned char)str[len - 1]];
64 }
65
66 #ifdef __GNUC__
67 __inline
68 #endif
69 const struct resword *
70 in_word_set (str, len)
71      register const char *str;
72      register unsigned int len;
73 {
74   static const struct resword wordlist[] =
75     {
76       {""}, {""}, {""}, {""},
77       {"else", ELSE, NORID,},
78       {""},
79       {"long", TYPESPEC, RID_LONG,},
80       {""}, {""}, {""}, {""},
81       {"__alignof__", ALIGNOF, NORID},
82       {"__asm__", ASM, NORID},
83       {""}, {""},
84       {"while", WHILE, NORID,},
85       {""}, {""}, {""}, {""}, {""},
86       {"__alignof", ALIGNOF, NORID},
87       {"all", ALL, NORID                        /* Extension */,},
88       {"sizeof", SIZEOF, NORID,},
89       {"__const__", TYPE_QUAL, RID_CONST},
90       {"__volatile", TYPE_QUAL, RID_VOLATILE},
91       {"extern", SCSPEC, RID_EXTERN,},
92       {"__volatile__", TYPE_QUAL, RID_VOLATILE},
93       {"__inline", SCSPEC, RID_INLINE},
94       {"exception", AGGR, RID_EXCEPTION /* Extension */,},
95       {"__inline__", SCSPEC, RID_INLINE},
96       {"case", CASE, NORID,},
97       {"except", EXCEPT, NORID          /* Extension */,},
98       {"new", NEW, NORID,},
99       {"break", BREAK, NORID,},
100       {"goto", GOTO, NORID,},
101       {""},
102       {"__attribute", ATTRIBUTE, NORID},
103       {""},
104       {"__attribute__", ATTRIBUTE, NORID},
105       {"this", THIS, NORID,},
106       {"raise", RAISE, NORID            /* Extension */,},
107       {"class", AGGR, RID_CLASS,},
108       {"delete", DELETE, NORID,},
109       {"typeof", TYPEOF, NORID,},
110       {"typedef", SCSPEC, RID_TYPEDEF,},
111       {"for", FOR, NORID,},
112       {"raises", RAISES, NORID          /* Extension */,},
113       {"__const", TYPE_QUAL, RID_CONST},
114       {"double", TYPESPEC, RID_DOUBLE,},
115       {"__typeof__", TYPEOF, NORID},
116       {""},
117       {"switch", SWITCH, NORID,},
118       {"auto", SCSPEC, RID_AUTO,},
119       {"do", DO, NORID,},
120       {"friend", SCSPEC, RID_FRIEND,},
121       {""},
122       {"reraise", RERAISE, NORID                /* Extension */,},
123       {""},
124       {"volatile", TYPE_QUAL, RID_VOLATILE,},
125       {"__typeof", TYPEOF, NORID},
126       {"continue", CONTINUE, NORID,},
127       {"float", TYPESPEC, RID_FLOAT,},
128       {"const", TYPE_QUAL, RID_CONST,},
129       {"static", SCSPEC, RID_STATIC,},
130       {"virtual", SCSPEC, RID_VIRTUAL,},
131       {"__asm", ASM, NORID},
132       {"short", TYPESPEC, RID_SHORT,},
133       {"signed", TYPESPEC, RID_SIGNED,},
134       {"try", TRY, NORID                        /* Extension */,},
135       {""}, {""}, {""},
136       {"__signed__", TYPESPEC, RID_SIGNED},
137       {"catch", CATCH, NORID,},
138       {"public", PUBLIC, NORID,},
139       {"struct", AGGR, RID_RECORD,},
140       {"if", IF, NORID,},
141       {"asm", ASM, NORID,},
142       {"union", AGGR, RID_UNION,},
143       {""},
144       {"private", PRIVATE, NORID,},
145       {""}, {""}, {""},
146       {"operator", OPERATOR, NORID,},
147       {""}, {""}, {""},
148       {"default", DEFAULT, NORID,},
149       {"dynamic", DYNAMIC, NORID,},
150       {"overload", OVERLOAD, NORID,},
151       {"int", TYPESPEC, RID_INT,},
152       {"char", TYPESPEC, RID_CHAR,},
153       {""}, {""},
154       {"return", RETURN, NORID,},
155       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
156       {""}, {""},
157       {"__signed", TYPESPEC, RID_SIGNED},
158       {""},
159       {"void", TYPESPEC, RID_VOID,},
160       {""}, {""}, {""},
161       {"protected", PROTECTED, NORID,},
162       {""},
163       {"enum", ENUM, NORID,},
164       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
165       {""}, {""}, {""}, {""}, {""}, {""},
166       {"inline", SCSPEC, RID_INLINE,},
167       {"register", SCSPEC, RID_REGISTER,},
168       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
169       {""}, {""}, {""}, {""},
170       {"unsigned", TYPESPEC, RID_UNSIGNED,}
171     };
172
173   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
174     {
175       register int key = hash (str, len);
176
177       if (key <= MAX_HASH_VALUE && key >= 0)
178         {
179           register const char *s = wordlist[key].name;
180
181           if (*str == *s && !strcmp (str + 1, s + 1))
182             return &wordlist[key];
183         }
184     }
185   return 0;
186 }