* Parser/grammar1.c (finddfa): massive speed up by using direct
	addressing instead of searching
diff --git a/Parser/grammar1.c b/Parser/grammar1.c
index 612f491..ee8933f 100644
--- a/Parser/grammar1.c
+++ b/Parser/grammar1.c
@@ -36,8 +36,15 @@
 	grammar *g;
 	register int type;
 {
-	register int i;
 	register dfa *d;
+#if 1
+	/* Massive speed-up */
+	d = &g->g_dfa[type - NT_OFFSET];
+	assert(d->d_type == type);
+	return d;
+#else
+	/* Old, slow version */
+	register int i;
 	
 	for (i = g->g_ndfas, d = g->g_dfa; --i >= 0; d++) {
 		if (d->d_type == type)
@@ -45,6 +52,7 @@
 	}
 	assert(0);
 	/* NOTREACHED */
+#endif
 }
 
 char *