summaryrefslogtreecommitdiff
path: root/tests/gpc.exp
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2003-03-18 10:22:37 +0000
committerBruno Haible <bruno@clisp.org>2003-03-18 10:22:37 +0000
commit6d268d095b4cb2bab821e82b785a4b74810b01a6 (patch)
tree5b3f7f60909fc6a7d5f4697c9d4ae58f947f0a7a /tests/gpc.exp
parent40f37680ac107a61bbe14efe6213f70c91c6b461 (diff)
downloadgperf-6d268d095b4cb2bab821e82b785a4b74810b01a6.tar.gz
Completely new asso_values search algorithm.
Diffstat (limited to 'tests/gpc.exp')
-rw-r--r--tests/gpc.exp101
1 files changed, 50 insertions, 51 deletions
diff --git a/tests/gpc.exp b/tests/gpc.exp
index 4f9723d..62ec8fd 100644
--- a/tests/gpc.exp
+++ b/tests/gpc.exp
@@ -17,8 +17,8 @@ struct resword { char *name; short token; short iclass;};
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 9
#define MIN_HASH_VALUE 2
-#define MAX_HASH_VALUE 43
-/* maximum key range = 42, duplicates = 0 */
+#define MAX_HASH_VALUE 37
+/* maximum key range = 36, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -34,32 +34,32 @@ hash (str, len)
{
static unsigned char asso_values[] =
{
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 18, 29, 14, 6, 7,
- 10, 20, 44, 28, 44, 44, 28, 19, 22, 15,
- 0, 44, 9, 23, 0, 23, 26, 2, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 0, 0, 13, 44, 30, 44, 44, 44, 0, 25,
- 1, 0, 44, 44, 0, 44, 1, 44, 25, 44,
- 44, 0, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 14, 32, 16, 13, 9,
+ 1, 32, 38, 9, 38, 38, 22, 26, 16, 3,
+ 2, 38, 7, 23, 0, 19, 25, 23, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 5, 1, 5, 38, 3, 38, 38, 38, 8, 16,
+ 0, 0, 38, 38, 3, 38, 7, 38, 8, 38,
+ 38, 4, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38
};
return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
}
@@ -77,41 +77,40 @@ is_reserved_word (str, len)
{""}, {""},
{"To", TO, PASCAL_ISO},
{""},
- {"Type", TYPE, PASCAL_ISO},
{"Then", THEN, PASCAL_ISO},
+ {"Type", TYPE, PASCAL_ISO},
+ {"File", FILE_, PASCAL_ISO},
+ {"For", FOR, PASCAL_ISO},
+ {"Or", OR, PASCAL_ISO},
+ {"Function", FUNCTION, PASCAL_ISO},
+ {"Of", OF, PASCAL_ISO},
+ {"In", IN, PASCAL_ISO},
+ {"Procedure", PROCEDURE, PASCAL_ISO},
{"Packed", PACKED, PASCAL_ISO},
- {"While", WHILE, PASCAL_ISO},
+ {"Else", ELSE, PASCAL_ISO},
{"Do", DO, PASCAL_ISO},
- {"Procedure", PROCEDURE, PASCAL_ISO},
+ {"If", IF, PASCAL_ISO},
{"End", END, PASCAL_ISO},
- {"Else", ELSE, PASCAL_ISO},
- {"Downto", DOWNTO, PASCAL_ISO},
- {"For", FOR, PASCAL_ISO},
- {"File", FILE_, PASCAL_ISO},
{"Record", RECORD, PASCAL_ISO},
+ {"Downto", DOWNTO, PASCAL_ISO},
{"Repeat", REPEAT, PASCAL_ISO},
- {"Or", OR, PASCAL_ISO},
{"Case", CASE, PASCAL_ISO},
- {"Function", FUNCTION, PASCAL_ISO},
- {"Const", CONST, PASCAL_ISO},
{"And", AND, PASCAL_ISO},
- {"Mod", MOD, PASCAL_ISO},
{"Array", ARRAY, PASCAL_ISO},
- {"Goto", GOTO, PASCAL_ISO},
- {"Nil", NIL, PASCAL_ISO},
+ {"Div", DIV, PASCAL_ISO},
+ {"Program",PROGRAM,PASCAL_ISO},
{"Not", NOT, PASCAL_ISO},
- {"Set", SET, PASCAL_ISO},
- {"Until", UNTIL, PASCAL_ISO},
+ {"Nil", NIL, PASCAL_ISO},
+ {"Const", CONST, PASCAL_ISO},
+ {"While", WHILE, PASCAL_ISO},
+ {"With", WITH, PASCAL_ISO},
{"Var", VAR, PASCAL_ISO},
- {"Of", OF, PASCAL_ISO},
- {"In", IN, PASCAL_ISO},
- {"Program",PROGRAM,PASCAL_ISO},
+ {"Until", UNTIL, PASCAL_ISO},
+ {"Set", SET, PASCAL_ISO},
+ {"Mod", MOD, PASCAL_ISO},
{"Label", LABEL, PASCAL_ISO},
- {"Div", DIV, PASCAL_ISO},
- {"Begin", BEGIN_, PASCAL_ISO},
- {"With", WITH, PASCAL_ISO},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"If", IF, PASCAL_ISO}
+ {"Goto", GOTO, PASCAL_ISO},
+ {"Begin", BEGIN_, PASCAL_ISO}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)