ldefs.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. # include <u.h>
  2. # include <libc.h>
  3. # include <ctype.h>
  4. # include <bio.h>
  5. # define PP 1
  6. # define CWIDTH 8
  7. # define CMASK 0377
  8. # define NCH 256
  9. # define TOKENSIZE 1000
  10. # define DEFSIZE 40
  11. # define DEFCHAR 1000
  12. # define STARTCHAR 100
  13. # define STARTSIZE 256
  14. # define CCLSIZE 1000
  15. # define TREESIZE 1000
  16. # define NSTATES 500
  17. # define MAXPOS 2500
  18. # define NTRANS 2000
  19. # define NOUTPUT 5000
  20. # define NACTIONS 100
  21. # define ALITTLEEXTRA 30
  22. # define RCCL NCH+90
  23. # define RNCCL NCH+91
  24. # define RSTR NCH+92
  25. # define RSCON NCH+93
  26. # define RNEWE NCH+94
  27. # define FINAL NCH+95
  28. # define RNULLS NCH+96
  29. # define RCAT NCH+97
  30. # define STAR NCH+98
  31. # define PLUS NCH+99
  32. # define QUEST NCH+100
  33. # define DIV NCH+101
  34. # define BAR NCH+102
  35. # define CARAT NCH+103
  36. # define S1FINAL NCH+104
  37. # define S2FINAL NCH+105
  38. # define DEFSECTION 1
  39. # define RULESECTION 2
  40. # define ENDSECTION 5
  41. # define TRUE 1
  42. # define FALSE 0
  43. # define PC 1
  44. # define PS 1
  45. # ifdef DEBUG
  46. # define LINESIZE 110
  47. extern int yydebug;
  48. extern int debug; /* 1 = on */
  49. extern int charc;
  50. # endif
  51. # ifdef DEBUG
  52. extern int freturn(int);
  53. # else
  54. # define freturn(s) s
  55. # endif
  56. extern int sargc;
  57. extern char **sargv;
  58. extern uchar buf[520];
  59. extern int yyline; /* line number of file */
  60. extern int sect;
  61. extern int eof;
  62. extern int lgatflg;
  63. extern int divflg;
  64. extern int funcflag;
  65. extern int pflag;
  66. extern int casecount;
  67. extern int chset; /* 1 = char set modified */
  68. extern Biobuf *fin, fout, *fother;
  69. extern int foutopen;
  70. extern int errorf;
  71. extern int fptr;
  72. extern char *cname;
  73. extern int prev; /* previous input character */
  74. extern int pres; /* present input character */
  75. extern int peek; /* next input character */
  76. extern int *name;
  77. extern int *left;
  78. extern int *right;
  79. extern int *parent;
  80. extern uchar **ptr;
  81. extern uchar *nullstr;
  82. extern int tptr;
  83. extern uchar pushc[TOKENSIZE];
  84. extern uchar *pushptr;
  85. extern uchar slist[STARTSIZE];
  86. extern uchar *slptr;
  87. extern uchar **def, **subs, *dchar;
  88. extern uchar **sname, *stchar;
  89. extern uchar *ccl;
  90. extern uchar *ccptr;
  91. extern uchar *dp, *sp;
  92. extern int dptr, sptr;
  93. extern uchar *bptr; /* store input position */
  94. extern uchar *tmpstat;
  95. extern int count;
  96. extern int **foll;
  97. extern int *nxtpos;
  98. extern int *positions;
  99. extern int *gotof;
  100. extern int *nexts;
  101. extern uchar *nchar;
  102. extern int **state;
  103. extern int *sfall; /* fallback state num */
  104. extern uchar *cpackflg; /* true if state has been character packed */
  105. extern int *atable, aptr;
  106. extern int nptr;
  107. extern uchar symbol[NCH];
  108. extern uchar cindex[NCH];
  109. extern int xstate;
  110. extern int stnum;
  111. extern int ccount;
  112. extern uchar match[NCH];
  113. extern uchar extra[NACTIONS];
  114. extern uchar *pcptr, *pchar;
  115. extern int pchlen;
  116. extern int nstates, maxpos;
  117. extern int yytop;
  118. extern int report;
  119. extern int ntrans, treesize, outsize;
  120. extern long rcount;
  121. extern int *verify, *advance, *stoff;
  122. extern int scon;
  123. extern uchar *psave;
  124. extern void acompute(int);
  125. extern void add(int **, int);
  126. extern void allprint(int);
  127. extern void cclinter(int);
  128. extern void cgoto(void);
  129. extern void cfoll(int);
  130. extern int cpyact(void);
  131. extern int dupl(int);
  132. extern void error(char *,...);
  133. extern void first(int);
  134. extern void follow(int);
  135. extern int gch(void);
  136. extern uchar *getl(uchar *);
  137. extern void layout(void);
  138. extern void lgate(void);
  139. extern int lookup(uchar *, uchar **);
  140. extern int member(int, uchar *);
  141. extern void mkmatch(void);
  142. extern int mn0(int);
  143. extern int mn1(int, int);
  144. extern int mnp(int, void*);
  145. extern int mn2(int, int, int);
  146. extern void munputc(int);
  147. extern void munputs(uchar *);
  148. extern void *myalloc(int, int);
  149. extern void nextstate(int, int);
  150. extern int notin(int);
  151. extern void packtrans(int, uchar *, int *, int, int);
  152. extern void padd(int **, int);
  153. extern void pccl(void);
  154. extern void pfoll(void);
  155. extern void phead1(void);
  156. extern void phead2(void);
  157. extern void pstate(int);
  158. extern void ptail(void);
  159. extern void sect1dump(void);
  160. extern void sect2dump(void);
  161. extern void statistics(void);
  162. extern void stprt(int);
  163. extern void strpt(uchar *);
  164. extern void treedump(void);
  165. extern int usescape(int);
  166. extern void warning(char *,...);
  167. extern int yyparse(void);
  168. extern void yyerror(char *);