ack/util/LLgen/lib/incl

49 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

1994-06-24 11:31:16 +00:00
/* $Id$ */
#ifdef LL_DEBUG
#include <assert.h>
#define LL_assert(x) assert(x)
#else
#define LL_assert(x) /* nothing */
#endif
1984-10-08 14:14:53 +00:00
extern int LLsymb;
#define LL_SAFE(x) /* Nothing */
#define LL_SSCANDONE(x) if (LLsymb != x) LLsafeerror(x)
#define LL_SCANDONE(x) if (LLsymb != x) LLerror(x)
1988-06-24 14:55:27 +00:00
#define LL_NOSCANDONE(x) LLscan(x)
#ifdef LL_FASTER
#define LLscan(x) if ((LLsymb = LL_LEXI()) != x) LLerror(x)
1988-06-24 14:55:27 +00:00
#endif
1984-10-08 14:14:53 +00:00
extern unsigned int LLscnt[];
extern unsigned int LLtcnt[];
extern int LLcsymb;
#if LL_NON_CORR
extern int LLstartsymb;
#endif
#define LLsdecr(d) {LL_assert(LLscnt[d] > 0); LLscnt[d]--;}
#define LLtdecr(d) {LL_assert(LLtcnt[d] > 0); LLtcnt[d]--;}
#define LLsincr(d) LLscnt[d]++
#define LLtincr(d) LLtcnt[d]++
1991-11-26 15:38:41 +00:00
extern int LL_LEXI(void);
extern void LLread(void);
extern int LLskip(void);
extern int LLnext(int);
extern void LLerror(int);
extern void LLsafeerror(int);
1991-11-26 15:38:41 +00:00
extern void LLnewlevel(unsigned int *);
extern void LLoldlevel(unsigned int *);
#ifndef LL_FASTER
extern void LLscan(int);
#endif
#ifndef LLNOFIRSTS
extern int LLfirst(int, int);
#endif
1997-02-21 15:44:10 +00:00
#if LL_NON_CORR
extern void LLnc_recover(void);
#endif