Another adaption to allow for user intervention BEFORE error recovery
authorceriel <none@none>
Mon, 16 Feb 1987 21:36:05 +0000 (21:36 +0000)
committerceriel <none@none>
Mon, 16 Feb 1987 21:36:05 +0000 (21:36 +0000)
util/LLgen/lib/incl
util/LLgen/lib/rec

index 9ce5edd..9049cf9 100644 (file)
@@ -9,7 +9,7 @@ extern int LLsymb;
 extern char LLsets[];
 
 #define LL_SAFE(x)     /* Nothing */
-#define LL_SSCANDONE(x)        if (LLsymb != x) LLmessage(x); else
+#define LL_SSCANDONE(x)        if (LLsymb != x) LLerror(x); else
 #define LL_SCANDONE(x) if (LLsymb != x) LLerror(x); else
 #define LL_T_NOSCANDONE(x)     LLscan(x)
 
index a8d0835..9f35841 100644 (file)
@@ -62,13 +62,17 @@ LLerror(t) {
                return;
        }
 #endif
+#ifdef LL_USERHOOK
+       LL_USERHOOK(t);
+       LLread();
+#endif LL_USERHOOK
        if ((LLcsymb = LLindex[LLsymb]) < 0) {
                LLmessage(0);
                LLread();
        }
        i = LLindex[t];
        LLtcnt[i]++;
-       if (LLskip()) /* nothing */;
+       if (LLdoskip()) /* nothing */;
        LLtcnt[i]--;
        if (LLsymb != t) LLmessage(t);
 }
@@ -90,6 +94,15 @@ LLnext(n) {
 }
 
 LLskip() {
+#ifdef LL_USERHOOK
+       LL_USERHOOK(0);
+       LLread();
+#endif LL_USERHOOK
+       return LLdoskip();
+}
+
+LLdoskip()
+{
        register int i;
        int retval;
        int LLi, LLb;