Annotation of gcc/c-gperf.h, revision 1.1

1.1     ! root        1: /* C code produced by gperf version 2.5 (GNU C++ version) */
        !             2: /* Command-line: gperf -p -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,$ c-parse.gperf  */
        !             3: struct resword { char *name; short token; enum rid rid; };
        !             4: 
        !             5: #define TOTAL_KEYWORDS 79
        !             6: #define MIN_WORD_LENGTH 2
        !             7: #define MAX_WORD_LENGTH 20
        !             8: #define MIN_HASH_VALUE 10
        !             9: #define MAX_HASH_VALUE 144
        !            10: /* maximum key range = 135, duplicates = 0 */
        !            11: 
        !            12: #ifdef __GNUC__
        !            13: __inline
        !            14: #endif
        !            15: static unsigned int
        !            16: hash (str, len)
        !            17:      register char *str;
        !            18:      register int unsigned len;
        !            19: {
        !            20:   static unsigned char asso_values[] =
        !            21:     {
        !            22:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            23:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            24:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            25:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            26:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            27:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            28:      145, 145, 145, 145,  25, 145, 145, 145, 145, 145,
        !            29:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            30:      145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
        !            31:      145, 145, 145, 145, 145,   1, 145,  46,   8,  15,
        !            32:       61,   6,  36,  48,   3,   5, 145,  18,  63,  25,
        !            33:       29,  76,   1, 145,  13,   2,   1,  51,  37,   9,
        !            34:        9,   1,   3, 145, 145, 145, 145, 145,
        !            35:     };
        !            36:   register int hval = len;
        !            37: 
        !            38:   switch (hval)
        !            39:     {
        !            40:       default:
        !            41:       case 3:
        !            42:         hval += asso_values[str[2]];
        !            43:       case 2:
        !            44:       case 1:
        !            45:         hval += asso_values[str[0]];
        !            46:     }
        !            47:   return hval + asso_values[str[len - 1]];
        !            48: }
        !            49: 
        !            50: static struct resword wordlist[] =
        !            51: {
        !            52:   {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !            53:   {"",}, 
        !            54:   {"int",  TYPESPEC, RID_INT},
        !            55:   {"",}, {"",}, 
        !            56:   {"__typeof__",  TYPEOF, NORID},
        !            57:   {"__signed__",  TYPESPEC, RID_SIGNED},
        !            58:   {"__imag__",  IMAGPART, NORID},
        !            59:   {"switch",  SWITCH, NORID},
        !            60:   {"__inline__",  SCSPEC, RID_INLINE},
        !            61:   {"else",  ELSE, NORID},
        !            62:   {"__iterator__",  SCSPEC, RID_ITERATOR},
        !            63:   {"__inline",  SCSPEC, RID_INLINE},
        !            64:   {"__extension__",  EXTENSION, NORID},
        !            65:   {"struct",  STRUCT, NORID},
        !            66:   {"__real__",  REALPART, NORID},
        !            67:   {"__const",  TYPE_QUAL, RID_CONST},
        !            68:   {"while",  WHILE, NORID},
        !            69:   {"__const__",  TYPE_QUAL, RID_CONST},
        !            70:   {"case",  CASE, NORID},
        !            71:   {"__complex__",  TYPESPEC, RID_COMPLEX},
        !            72:   {"__iterator",  SCSPEC, RID_ITERATOR},
        !            73:   {"bycopy",  TYPE_QUAL, RID_BYCOPY},
        !            74:   {"",}, {"",}, {"",}, 
        !            75:   {"__complex",  TYPESPEC, RID_COMPLEX},
        !            76:   {"",}, 
        !            77:   {"in",  TYPE_QUAL, RID_IN},
        !            78:   {"break",  BREAK, NORID},
        !            79:   {"@defs",  DEFS, NORID},
        !            80:   {"",}, {"",}, {"",}, 
        !            81:   {"extern",  SCSPEC, RID_EXTERN},
        !            82:   {"if",  IF, NORID},
        !            83:   {"typeof",  TYPEOF, NORID},
        !            84:   {"typedef",  SCSPEC, RID_TYPEDEF},
        !            85:   {"__typeof",  TYPEOF, NORID},
        !            86:   {"sizeof",  SIZEOF, NORID},
        !            87:   {"",}, 
        !            88:   {"return",  RETURN, NORID},
        !            89:   {"const",  TYPE_QUAL, RID_CONST},
        !            90:   {"__volatile__",  TYPE_QUAL, RID_VOLATILE},
        !            91:   {"@private",  PRIVATE, NORID},
        !            92:   {"@selector",  SELECTOR, NORID},
        !            93:   {"__volatile",  TYPE_QUAL, RID_VOLATILE},
        !            94:   {"__asm__",  ASM_KEYWORD, NORID},
        !            95:   {"",}, {"",}, 
        !            96:   {"continue",  CONTINUE, NORID},
        !            97:   {"__alignof__",  ALIGNOF, NORID},
        !            98:   {"__imag",  IMAGPART, NORID},
        !            99:   {"__attribute__",  ATTRIBUTE, NORID},
        !           100:   {"",}, {"",}, 
        !           101:   {"__attribute",  ATTRIBUTE, NORID},
        !           102:   {"for",  FOR, NORID},
        !           103:   {"",}, 
        !           104:   {"@encode",  ENCODE, NORID},
        !           105:   {"id",  OBJECTNAME, RID_ID},
        !           106:   {"static",  SCSPEC, RID_STATIC},
        !           107:   {"@interface",  INTERFACE, NORID},
        !           108:   {"",}, 
        !           109:   {"__signed",  TYPESPEC, RID_SIGNED},
        !           110:   {"",}, 
        !           111:   {"__label__",  LABEL, NORID},
        !           112:   {"",}, {"",}, 
        !           113:   {"__asm",  ASM_KEYWORD, NORID},
        !           114:   {"char",  TYPESPEC, RID_CHAR},
        !           115:   {"",}, 
        !           116:   {"inline",  SCSPEC, RID_INLINE},
        !           117:   {"out",  TYPE_QUAL, RID_OUT},
        !           118:   {"register",  SCSPEC, RID_REGISTER},
        !           119:   {"__real",  REALPART, NORID},
        !           120:   {"short",  TYPESPEC, RID_SHORT},
        !           121:   {"",}, 
        !           122:   {"enum",  ENUM, NORID},
        !           123:   {"inout",  TYPE_QUAL, RID_INOUT},
        !           124:   {"",}, 
        !           125:   {"oneway",  TYPE_QUAL, RID_ONEWAY},
        !           126:   {"union",  UNION, NORID},
        !           127:   {"",}, 
        !           128:   {"__alignof",  ALIGNOF, NORID},
        !           129:   {"",}, 
        !           130:   {"@implementation",  IMPLEMENTATION, NORID},
        !           131:   {"",}, 
        !           132:   {"@class",  CLASS, NORID},
        !           133:   {"",}, 
        !           134:   {"@public",  PUBLIC, NORID},
        !           135:   {"asm",  ASM_KEYWORD, NORID},
        !           136:   {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           137:   {"default",  DEFAULT, NORID},
        !           138:   {"",}, 
        !           139:   {"void",  TYPESPEC, RID_VOID},
        !           140:   {"",}, 
        !           141:   {"@protected",  PROTECTED, NORID},
        !           142:   {"@protocol",  PROTOCOL, NORID},
        !           143:   {"",}, {"",}, {"",}, 
        !           144:   {"volatile",  TYPE_QUAL, RID_VOLATILE},
        !           145:   {"",}, {"",}, 
        !           146:   {"signed",  TYPESPEC, RID_SIGNED},
        !           147:   {"float",  TYPESPEC, RID_FLOAT},
        !           148:   {"@end",  END, NORID},
        !           149:   {"",}, {"",}, 
        !           150:   {"unsigned",  TYPESPEC, RID_UNSIGNED},
        !           151:   {"@compatibility_alias",  ALIAS, NORID},
        !           152:   {"double",  TYPESPEC, RID_DOUBLE},
        !           153:   {"",}, {"",}, 
        !           154:   {"auto",  SCSPEC, RID_AUTO},
        !           155:   {"",}, 
        !           156:   {"goto",  GOTO, NORID},
        !           157:   {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           158:   {"do",  DO, NORID},
        !           159:   {"",}, {"",}, {"",}, {"",}, 
        !           160:   {"long",  TYPESPEC, RID_LONG},
        !           161: };
        !           162: 
        !           163: #ifdef __GNUC__
        !           164: __inline
        !           165: #endif
        !           166: struct resword *
        !           167: is_reserved_word (str, len)
        !           168:      register char *str;
        !           169:      register unsigned int len;
        !           170: {
        !           171:   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
        !           172:     {
        !           173:       register int key = hash (str, len);
        !           174: 
        !           175:       if (key <= MAX_HASH_VALUE && key >= 0)
        !           176:         {
        !           177:           register char *s = wordlist[key].name;
        !           178: 
        !           179:           if (*s == *str && !strcmp (str + 1, s + 1))
        !           180:             return &wordlist[key];
        !           181:         }
        !           182:     }
        !           183:   return 0;
        !           184: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.