Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / apps / gperf / tests / test-4.exp
bloba6077d4fd69b9329c1d59f25dbce82299d110fcf
1 /* C code produced by gperf version 2.8 (ACE version) */
2 /* Command-line: ../src/gperf -D -p -t */
3 /* Command-line: gperf -p -j1 -i 1 -o -t -N is_reserved_word -k1,3,$ c-parse.gperf */
4 #include <string.h>
5 struct resword { const char *name; short token; enum rid rid; };
7 #define TOTAL_KEYWORDS 51
8 #define MIN_WORD_LENGTH 2
9 #define MAX_WORD_LENGTH 13
10 #define MIN_HASH_VALUE 4
11 #define MAX_HASH_VALUE 82
12 #define HASH_VALUE_RANGE 79
13 #define DUPLICATES 3
14 #define WORDLIST_SIZE 55
16 static unsigned int
17 hash (str, len)
18 char *str;
19 unsigned int len;
21 static unsigned char asso_values[] =
23 #if defined (ACE_MVS)
24 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
25 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
26 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
27 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
28 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
29 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
30 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
31 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
32 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
33 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
34 83, 83, 83, 83, 83, 83, 83, 83, 83, 0,
35 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
36 83, 83, 83, 83, 83, 83, 83, 83, 83, 40,
37 20, 50, 25, 10, 30, 0, 0, 50, 83, 83,
38 83, 83, 83, 83, 83, 83, 0, 15, 0, 35,
39 0, 83, 83, 20, 83, 83, 83, 83, 83, 83,
40 83, 83, 0, 10, 40, 5, 15, 83, 83, 83,
41 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
42 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
43 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
44 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
45 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
46 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
47 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
48 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
49 83, 83, 83, 83, 83, 83,
50 #else
51 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
52 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
53 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
54 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
55 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
56 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
57 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
58 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
59 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
60 83, 83, 83, 83, 83, 0, 83, 40, 20, 50,
61 25, 10, 30, 0, 0, 50, 83, 0, 15, 0,
62 35, 0, 83, 83, 20, 0, 10, 40, 5, 15,
63 83, 83, 83, 83, 83, 83, 83, 83,
64 #endif /* ACE_MVS */
66 return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
69 struct resword *
70 in_word_set (str, len)
71 char *str;
72 unsigned int len;
74 static struct resword wordlist[] =
76 {"",},{"",},{"",},{"",},
77 {"goto", GOTO, NORID},
78 {"__asm", ASM, NORID},
79 {"switch", SWITCH, NORID},
80 {"__asm__", ASM, NORID},
81 {"__const__", TYPE_QUAL, RID_CONST},
82 {"__inline__", SCSPEC, RID_INLINE},
83 {"__typeof__", TYPEOF, NORID},
84 {"__signed__", TYPESPEC, RID_SIGNED},
85 {"__alignof__", ALIGNOF, NORID},
86 {"__volatile__", TYPE_QUAL, RID_VOLATILE},
87 {"__attribute__", ATTRIBUTE, NORID},
88 {"enum", ENUM, NORID},
89 {"short", TYPESPEC, RID_SHORT},
90 {"struct", STRUCT, NORID},
91 {"__const", TYPE_QUAL, RID_CONST},
92 {"__inline", SCSPEC, RID_INLINE},
93 {"long", TYPESPEC, RID_LONG},
94 {"__volatile", TYPE_QUAL, RID_VOLATILE},
95 {"__attribute", ATTRIBUTE, NORID},
96 {"volatile", TYPE_QUAL, RID_VOLATILE},
97 {"else", ELSE, NORID},
98 {"break", BREAK, NORID},
99 {"do", DO, NORID},
100 {"while", WHILE, NORID},
101 {"signed", TYPESPEC, RID_SIGNED},
102 {"__signed", TYPESPEC, RID_SIGNED},
103 {"void", TYPESPEC, RID_VOID},
104 {"sizeof", SIZEOF, NORID},
105 {"__typeof", TYPEOF, NORID},
106 {"__alignof", ALIGNOF, NORID},
107 {"double", TYPESPEC, RID_DOUBLE},
108 {"default", DEFAULT, NORID},
109 {"asm", ASM, NORID},
110 {"auto", SCSPEC, RID_AUTO},
111 {"float", TYPESPEC, RID_FLOAT},
112 {"typeof", TYPEOF, NORID},
113 {"typedef", SCSPEC, RID_TYPEDEF},
114 {"register", SCSPEC, RID_REGISTER},
115 {"extern", SCSPEC, RID_EXTERN},
116 {"for", FOR, NORID},
117 {"static", SCSPEC, RID_STATIC},
118 {"return", RETURN, NORID},
119 {"int", TYPESPEC, RID_INT},
120 {"case", CASE, NORID},
121 {"const", TYPE_QUAL, RID_CONST},
122 {"inline", SCSPEC, RID_INLINE},
123 {"continue", CONTINUE, NORID},
124 {"unsigned", TYPESPEC, RID_UNSIGNED},
125 {"char", TYPESPEC, RID_CHAR},
126 {"union", UNION, NORID},
127 {"if", IF, NORID},
130 static signed char lookup[] =
132 -1, -1, -9, -3, 4, 5, 6, 7, -1, 8, -90, 12, 13, 14,
133 15, 16, 17, 18, 19, 20, 21, 22, -1, 23, 24, 25, -1, 26,
134 -1, -1, 27, 28, -1, 29, 30, -1, 31, -1, 32, 33, -1, 34,
135 35, 36, 37, 38, 39, 40, 41, -1, -1, 42, -1, 43, -1, -1,
136 44, -1, -1, -1, -1, 45, -1, 46, 47, 48, 49, -1, 50, -1,
137 -1, -1, -1, 51, 52, -1, -1, -1, -1, -1, 53, -1, 54,
140 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
142 unsigned int key = hash (str, len);
144 if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
146 int slot = lookup[key];
148 if (slot >= 0 && slot < WORDLIST_SIZE)
150 char *s = wordlist[slot].name;
152 if (*str == *s && !strcmp (str + 1, s + 1))
153 return &wordlist[slot];
155 else if (slot < 0 && slot >= -MAX_HASH_VALUE)
156 return 0;
157 else
159 unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
160 struct resword *base = &wordlist[-lookup[offset]];
161 struct resword *ptr = base + -lookup[offset + 1];
163 while (--ptr >= base)
164 if (*str == *ptr->name && !strcmp (str + 1, ptr->name + 1))
165 return ptr;
169 return 0;