From: ceriel Date: Mon, 16 Feb 1987 21:36:05 +0000 (+0000) Subject: Another adaption to allow for user intervention BEFORE error recovery X-Git-Tag: release-5-5~4667 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=255884b3fb3988e6b21e6c56e966579f93f914e5;p=ack.git Another adaption to allow for user intervention BEFORE error recovery --- diff --git a/util/LLgen/lib/incl b/util/LLgen/lib/incl index 9ce5edd5f..9049cf9c2 100644 --- a/util/LLgen/lib/incl +++ b/util/LLgen/lib/incl @@ -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) diff --git a/util/LLgen/lib/rec b/util/LLgen/lib/rec index a8d083527..9f35841bb 100644 --- a/util/LLgen/lib/rec +++ b/util/LLgen/lib/rec @@ -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;