From 255884b3fb3988e6b21e6c56e966579f93f914e5 Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 16 Feb 1987 21:36:05 +0000 Subject: [PATCH] Another adaption to allow for user intervention BEFORE error recovery --- util/LLgen/lib/incl | 2 +- util/LLgen/lib/rec | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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; -- 2.34.1