allow for multiple parsers within one program
authorceriel <none@none>
Mon, 29 Jan 1990 13:51:32 +0000 (13:51 +0000)
committerceriel <none@none>
Mon, 29 Jan 1990 13:51:32 +0000 (13:51 +0000)
util/LLgen/LLgen.1
util/LLgen/lib/incl
util/LLgen/lib/rec

index 83ff34f..08b8ed2 100644 (file)
@@ -125,10 +125,5 @@ Are intended to be self-explanatory. They are reported
 on standard error. A more detailed report is found in the
 \fILL.output\fP
 file.
-.SH BUGS
-Because some file names are fixed, at most one
-\fILLgen\fP
-process can be active in a given directory at
-a time.
 .SH AUTHOR
 Ceriel J. H. Jacobs
index 77dbe75..793bc1d 100644 (file)
@@ -1,6 +1,8 @@
 /* $Header$ */
 #ifdef LL_DEBUG
-#define LL_assert(x) if(!(x)) LL_badassertion("x",__FILE__,__LINE__)
+#include <assert.h>
+#include <stdio.h>
+#define LL_assert(x)   assert(x)
 #else
 #define LL_assert(x)   /* nothing */
 #endif
@@ -15,8 +17,6 @@ extern int LLsymb;
 #define LLscan(x)      if ((LLsymb = LL_LEXI()) != x) LLerror(x); else
 #endif
 
-# include "Lpars.h"
-
 extern unsigned int LLscnt[];
 extern unsigned int LLtcnt[];
 extern int LLcsymb;
index 7ad1b1f..5d54ab6 100644 (file)
@@ -7,10 +7,6 @@
 static char *rcsid = "$Header$";
 # endif
 
-# ifdef LL_DEBUG
-# include <stdio.h>
-# endif
-
 unsigned int   LLtcnt[LL_NTERMINALS];
 unsigned int   LLscnt[LL_NSETS];
 int            LLcsymb, LLsymb;
@@ -20,7 +16,7 @@ static int    LLlevel;
 extern         LLread();
 extern int     LLskip();
 extern int     LLnext();
-#ifndef LLscan
+#ifndef LL_FASTER
 extern         LLscan();
 #endif
 extern         LLerror();
@@ -30,7 +26,11 @@ extern int   LLfirst();
 extern         LLnewlevel();
 extern         LLoldlevel();
 
-#ifndef LLscan
+#ifdef LL_USERHOOK
+static         LLdoskip();
+#endif
+
+#ifndef LL_FASTER
 LLscan(t) {
        /*
         * Check if the next symbol is equal to the parameter
@@ -123,6 +123,7 @@ LLskip() {
        return LLdoskip(0);
 }
 
+static int
 LLuserhook(exp, list)
        int *list;
 {
@@ -132,6 +133,7 @@ LLuserhook(exp, list)
        return LLsymb != old;
 }
 
+static
 LLmklist(list)
        register int *list;
 {
@@ -157,6 +159,7 @@ LLmklist(list)
        *list = 0;
 }
 
+static
 LLdoskip(exp) {
        int LLx;
        int list[LL_NTERMINALS+1];
@@ -240,11 +243,3 @@ LLoldlevel(LLsinfo) unsigned int *LLsinfo; {
                LLcsymb = (int) LLsinfo[LL_NSETS+LL_NTERMINALS+1];
        }
 }
-
-# ifdef LL_DEBUG
-LL_badassertion(asstr,file,line) char *asstr, *file; {
-
-       fprintf(stderr,"Assertion \"%s\" failed %s(%d)\n",asstr,file,line);
-       abort();
-}
-# endif