Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can...
[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[] =
22     {
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 */
65     };
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[] =
75     {
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},
128     };
130   static signed char lookup[] =
131     {
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, 
138     };
140   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
141     {
142       unsigned int key = hash (str, len);
144       if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
145         {
146           int slot = lookup[key];
148           if (slot >= 0 && slot < WORDLIST_SIZE)
149             {
150               char *s = wordlist[slot].name;
152               if (*str == *s && !strcmp (str + 1, s + 1))
153                 return &wordlist[slot];
154             }
155           else if (slot < 0 && slot >= -MAX_HASH_VALUE)
156             return 0;
157           else
158             {
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;
166             }
167         }
168     }
169   return 0;