Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.3 KiB

  1. // Copyright (c) 1993-1999 Microsoft Corporation
  2. /* Impure data used by modules originally in Y1.C. External declarations in Y1.H */
  3. #define y1imp yes
  4. #include "dtxtrn.h"
  5. /* lookahead computations */
  6. int tbitset; /* size of lookahead sets */
  7. struct looksets lkst [ LSETSIZE ];
  8. int nlset = 0; /* next lookahead set index */
  9. int nolook = 0; /* flag to suppress lookahead computations */
  10. struct looksets clset; /* temporary storage for lookahead computations */
  11. /* working set computations */
  12. struct wset wsets[ WSETSIZE ];
  13. struct wset *cwp;
  14. /* state information */
  15. int nstate = 0; /* number of states */
  16. struct item *pstate[NSTATES+2]; /* pointers to the descriptions of the states */
  17. SSIZE_T tystate[NSTATES]; /* contains type information about the states */
  18. SSIZE_T indgo[NSTATES]; /* index to the stored goto table */
  19. int tstates[ NTERMS ]; /* states generated by terminal gotos */
  20. int ntstates[ NNONTERM ]; /* states generated by nonterminal gotos */
  21. int mstates[ NSTATES ]; /* chain of overflows of term/nonterm generation lists */
  22. /* storage for the actions in the parser */
  23. SSIZE_T amem[ACTSIZE]; /* action table storage */
  24. SSIZE_T *memp = amem; /* next free action table position */
  25. /* other storage areas */
  26. SSIZE_T temp1[TEMPSIZE]; /* temporary storage, indexed by terms + ntokens or states */
  27. int lineno= 1; /* current input line number */
  28. int fatfl = 1; /* if on, error is fatal */
  29. int nerrors = 0; /* number of errors */
  30. /* storage for information about the nonterminals */
  31. SSIZE_T **pres[NNONTERM+2]; /* vector of pointers to productions yielding each nonterminal */
  32. struct looksets *pfirst[NNONTERM+2]; /* vector of pointers to first sets for each nonterminal */
  33. SSIZE_T pempty[NNONTERM+1]; /* vector of nonterminals nontrivially deriving e */
  34. /* accumulators for statistics information */
  35. struct wset *zzcwp = wsets;
  36. int zzgoent = 0;
  37. int zzgobest = 0;
  38. int zzacent = 0;
  39. int zzexcp = 0;
  40. int zzclose = 0;
  41. int zzsrconf = 0;
  42. SSIZE_T * zzmemsz = mem0;
  43. int zzrrconf = 0;
  44. /* data pulled from internal static to here */
  45. /* declared external only in user module */
  46. SSIZE_T *pyield[NPROD]; /* from ycpres */
  47. char sarr[ISIZE]; /* from ywritm */