Index: gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/jstest3.gperf |
=================================================================== |
--- gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/jstest3.gperf (revision 0) |
+++ gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/jstest3.gperf (revision 0) |
@@ -0,0 +1,147 @@ |
+struct js_keyword { |
+ const char * name; |
+ int token; |
+} |
+%% |
+abstract, 1 |
+boolean, 2 |
+break, 3 |
+byte, 4 |
+case, 5 |
+catch, 6 |
+char, 7 |
+class, 8 |
+const, 9 |
+continue, 10 |
+default, 11 |
+do, 12 |
+double, 13 |
+else, 14 |
+extends, 15 |
+false, 16 |
+final, 17 |
+finally, 18 |
+float, 19 |
+for, 20 |
+function, 21 |
+goto, 22 |
+if, 23 |
+implements, 24 |
+import, 25 |
+in, 26 |
+instanceof, 27 |
+int, 28 |
+interface, 29 |
+long, 30 |
+native, 31 |
+new, 32 |
+null, 33 |
+package, 34 |
+private, 35 |
+protected, 36 |
+public, 37 |
+return, 38 |
+short, 39 |
+static, 40 |
+super, 41 |
+switch, 42 |
+synchronized, 43 |
+this, 44 |
+throw, 45 |
+throws, 46 |
+transient, 47 |
+true, 48 |
+try, 49 |
+var, 50 |
+void, 51 |
+while, 52 |
+with, 53 |
+%% |
+#include <stdlib.h> |
+#include <string.h> |
+#if defined(__STDC__) || defined(__cplusplus) |
+#define CONST const |
+#else |
+#define CONST |
+#endif |
+static CONST char* testdata[] = { |
+ "bogus", |
+ "abstract", |
+ "boolean", |
+ "break", |
+ "byte", |
+ "case", |
+ "catch", |
+ "char", |
+ "class", |
+ "const", |
+ "continue", |
+ "default", |
+ "do", |
+ "double", |
+ "else", |
+ "extends", |
+ "false", |
+ "final", |
+ "finally", |
+ "float", |
+ "for", |
+ "function", |
+ "goto", |
+ "if", |
+ "implements", |
+ "import", |
+ "in", |
+ "instanceof", |
+ "int", |
+ "interface", |
+ "long", |
+ "native", |
+ "new", |
+ "null", |
+ "package", |
+ "private", |
+ "protected", |
+ "public", |
+ "return", |
+ "short", |
+ "static", |
+ "super", |
+ "switch", |
+ "synchronized", |
+ "this", |
+ "throw", |
+ "throws", |
+ "transient", |
+ "true", |
+ "try", |
+ "var", |
+ "void", |
+ "while", |
+ "with" |
+}; |
+int main () |
+{ |
+ int i; |
+ for (i = 0; i < sizeof(testdata)/sizeof(testdata[0]); i++) |
+ { |
+#ifdef CPLUSPLUS_TEST |
+ CONST struct js_keyword * resword = Perfect_Hash::in_word_set(testdata[i],strlen(testdata[i])); |
+#else |
+ CONST struct js_keyword * resword = in_word_set(testdata[i],strlen(testdata[i])); |
+#endif |
+ if (i > 0) |
+ { |
+ if (!resword) |
+ exit (1); |
+ if (strcmp(testdata[i],resword->name)) |
+ exit (1); |
+ } |
+ else |
+ { |
+ if (resword) |
+ exit (1); |
+ } |
+ } |
+ return 0; |
+} |