1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /* $Id$ */
- #ifdef LL_DEBUG
- #include <assert.h>
- #include <stdio.h>
- #define LL_assert(x) assert(x)
- #else
- #define LL_assert(x) /* nothing */
- #endif
- 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)
- #define LL_NOSCANDONE(x) LLscan(x)
- #ifdef LL_FASTER
- #define LLscan(x) if ((LLsymb = LL_LEXI()) != x) LLerror(x)
- #endif
- 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]++
- #if LL_ANSI_C
- 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);
- 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
- #if LL_NON_CORR
- extern void LLnc_recover(void);
- #endif
- #else /* not LL_ANSI_C */
- extern LLread();
- extern int LLskip();
- extern int LLnext();
- extern LLerror();
- extern LLsafeerror();
- extern LLnewlevel();
- extern LLoldlevel();
- #ifndef LL_FASTER
- extern LLscan();
- #endif
- #ifndef LLNOFIRSTS
- extern int LLfirst();
- #endif
- #if LL_NON_CORR
- extern LLnc_recover();
- #endif
- #endif /* not LL_ANSI_C */
|