Blame tests/gpc.exp

Packit b27855
/* ANSI-C code produced by gperf version 3.1 */
Packit b27855
/* Command-line: ../src/gperf -g -o -j1 -t -N is_reserved_word  */
Packit b27855
/* Computed positions: -k'1,$' */
Packit b27855
Packit b27855
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
Packit b27855
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
Packit b27855
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
Packit b27855
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
Packit b27855
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
Packit b27855
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
Packit b27855
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
Packit b27855
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
Packit b27855
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
Packit b27855
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
Packit b27855
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
Packit b27855
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
Packit b27855
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
Packit b27855
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
Packit b27855
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
Packit b27855
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
Packit b27855
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
Packit b27855
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
Packit b27855
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
Packit b27855
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
Packit b27855
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
Packit b27855
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
Packit b27855
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
Packit b27855
/* The character set is not based on ISO-646.  */
Packit b27855
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
Packit b27855
#endif
Packit b27855
Packit b27855
Packit b27855
/* ISO Pascal 7185 reserved words.
Packit b27855
 *
Packit b27855
 * For GNU Pascal compiler (GPC) by jtv@hut.fi
Packit b27855
 *
Packit b27855
 * run this through the Doug Schmidt's gperf program
Packit b27855
 * with command
Packit b27855
 * gperf  -g -o -j1 -t -p -N is_reserved_word
Packit b27855
 *
Packit b27855
 */
Packit b27855
struct resword { char *name; short token; short iclass;};
Packit b27855
Packit b27855
#define TOTAL_KEYWORDS 35
Packit b27855
#define MIN_WORD_LENGTH 2
Packit b27855
#define MAX_WORD_LENGTH 9
Packit b27855
#define MIN_HASH_VALUE 2
Packit b27855
#define MAX_HASH_VALUE 37
Packit b27855
/* maximum key range = 36, duplicates = 0 */
Packit b27855
Packit b27855
#ifdef __GNUC__
Packit b27855
__inline
Packit b27855
#else
Packit b27855
#ifdef __cplusplus
Packit b27855
inline
Packit b27855
#endif
Packit b27855
#endif
Packit b27855
static unsigned int
Packit b27855
hash (register const char *str, register size_t len)
Packit b27855
{
Packit b27855
  static unsigned char asso_values[] =
Packit b27855
    {
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 14, 32, 16, 13,  9,
Packit b27855
       1, 32, 38,  9, 38, 38, 22, 26, 16,  3,
Packit b27855
       2, 38,  7, 23,  0, 19, 25, 23, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
       5,  1,  5, 38,  3, 38, 38, 38,  8, 16,
Packit b27855
       0,  0, 38, 38,  3, 38,  7, 38,  8, 38,
Packit b27855
      38,  4, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
Packit b27855
      38, 38, 38, 38, 38, 38
Packit b27855
    };
Packit b27855
  return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
Packit b27855
}
Packit b27855
Packit b27855
struct resword *
Packit b27855
is_reserved_word (register const char *str, register size_t len)
Packit b27855
{
Packit b27855
  static struct resword wordlist[] =
Packit b27855
    {
Packit b27855
      {""}, {""},
Packit b27855
      {"To", TO, PASCAL_ISO},
Packit b27855
      {""},
Packit b27855
      {"Then", THEN, PASCAL_ISO},
Packit b27855
      {"Type", TYPE, PASCAL_ISO},
Packit b27855
      {"File", FILE_,  PASCAL_ISO},
Packit b27855
      {"For",  FOR,  PASCAL_ISO},
Packit b27855
      {"Or", OR, PASCAL_ISO},
Packit b27855
      {"Function", FUNCTION, PASCAL_ISO},
Packit b27855
      {"Of", OF, PASCAL_ISO},
Packit b27855
      {"In", IN, PASCAL_ISO},
Packit b27855
      {"Procedure", PROCEDURE, PASCAL_ISO},
Packit b27855
      {"Packed", PACKED, PASCAL_ISO},
Packit b27855
      {"Else", ELSE, PASCAL_ISO},
Packit b27855
      {"Do", DO, PASCAL_ISO},
Packit b27855
      {"If", IF, PASCAL_ISO},
Packit b27855
      {"End",  END,  PASCAL_ISO},
Packit b27855
      {"Record", RECORD, PASCAL_ISO},
Packit b27855
      {"Downto", DOWNTO, PASCAL_ISO},
Packit b27855
      {"Repeat", REPEAT, PASCAL_ISO},
Packit b27855
      {"Case", CASE, PASCAL_ISO},
Packit b27855
      {"And",  AND,  PASCAL_ISO},
Packit b27855
      {"Array",  ARRAY,  PASCAL_ISO},
Packit b27855
      {"Div",  DIV,  PASCAL_ISO},
Packit b27855
      {"Program",PROGRAM,PASCAL_ISO},
Packit b27855
      {"Not",  NOT,  PASCAL_ISO},
Packit b27855
      {"Nil",  NIL,  PASCAL_ISO},
Packit b27855
      {"Const",  CONST,  PASCAL_ISO},
Packit b27855
      {"While",  WHILE,  PASCAL_ISO},
Packit b27855
      {"With", WITH, PASCAL_ISO},
Packit b27855
      {"Var",  VAR,  PASCAL_ISO},
Packit b27855
      {"Until",  UNTIL,  PASCAL_ISO},
Packit b27855
      {"Set",  SET,  PASCAL_ISO},
Packit b27855
      {"Mod",  MOD,  PASCAL_ISO},
Packit b27855
      {"Label",  LABEL,  PASCAL_ISO},
Packit b27855
      {"Goto", GOTO, PASCAL_ISO},
Packit b27855
      {"Begin",  BEGIN_, PASCAL_ISO}
Packit b27855
    };
Packit b27855
Packit b27855
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
Packit b27855
    {
Packit b27855
      register unsigned int key = hash (str, len);
Packit b27855
Packit b27855
      if (key <= MAX_HASH_VALUE)
Packit b27855
        {
Packit b27855
          register const char *s = wordlist[key].name;
Packit b27855
Packit b27855
          if (*str == *s && !strcmp (str + 1, s + 1))
Packit b27855
            return &wordlist[key];
Packit b27855
        }
Packit b27855
    }
Packit b27855
  return 0;
Packit b27855
}