ldefs.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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 char *yyfile; /* file name of file */
  61. extern int sect;
  62. extern int eof;
  63. extern int lgatflg;
  64. extern int divflg;
  65. extern int funcflag;
  66. extern int pflag;
  67. extern int casecount;
  68. extern int chset; /* 1 = char set modified */
  69. extern Biobuf *fin, fout, *fother;
  70. extern int foutopen;
  71. extern int errorf;
  72. extern int fptr;
  73. extern char *cname;
  74. extern int prev; /* previous input character */
  75. extern int pres; /* present input character */
  76. extern int peek; /* next input character */
  77. extern int *name;
  78. extern int *left;
  79. extern int *right;
  80. extern int *parent;
  81. extern uchar **ptr;
  82. extern uchar *nullstr;
  83. extern int tptr;
  84. extern uchar pushc[TOKENSIZE];
  85. extern uchar *pushptr;
  86. extern uchar slist[STARTSIZE];
  87. extern uchar *slptr;
  88. extern uchar **def, **subs, *dchar;
  89. extern uchar **sname, *stchar;
  90. extern uchar *ccl;
  91. extern uchar *ccptr;
  92. extern uchar *dp, *sp;
  93. extern int dptr, sptr;
  94. extern uchar *bptr; /* store input position */
  95. extern uchar *tmpstat;
  96. extern int count;
  97. extern int **foll;
  98. extern int *nxtpos;
  99. extern int *positions;
  100. extern int *gotof;
  101. extern int *nexts;
  102. extern uchar *nchar;
  103. extern int **state;
  104. extern int *sfall; /* fallback state num */
  105. extern uchar *cpackflg; /* true if state has been character packed */
  106. extern int *atable, aptr;
  107. extern int nptr;
  108. extern uchar symbol[NCH];
  109. extern uchar cindex[NCH];
  110. extern int xstate;
  111. extern int stnum;
  112. extern int ccount;
  113. extern uchar match[NCH];
  114. extern uchar extra[NACTIONS];
  115. extern uchar *pcptr, *pchar;
  116. extern int pchlen;
  117. extern int nstates, maxpos;
  118. extern int yytop;
  119. extern int report;
  120. extern int ntrans, treesize, outsize;
  121. extern long rcount;
  122. extern int *verify, *advance, *stoff;
  123. extern int scon;
  124. extern uchar *psave;
  125. extern void acompute(int);
  126. extern void add(int **, int);
  127. extern void allprint(int);
  128. extern void cclinter(int);
  129. extern void cgoto(void);
  130. extern void cfoll(int);
  131. extern int cpyact(void);
  132. extern int dupl(int);
  133. extern void error(char *,...);
  134. extern void first(int);
  135. extern void follow(int);
  136. extern int gch(void);
  137. extern uchar *getl(uchar *);
  138. extern void layout(void);
  139. extern void lgate(void);
  140. extern int lookup(uchar *, uchar **);
  141. extern int member(int, uchar *);
  142. extern void mkmatch(void);
  143. extern int mn0(int);
  144. extern int mn1(int, int);
  145. extern int mnp(int, void*);
  146. extern int mn2(int, int, uintptr);
  147. extern void munputc(int);
  148. extern void munputs(uchar *);
  149. extern void *myalloc(int, int);
  150. extern void nextstate(int, int);
  151. extern int notin(int);
  152. extern void packtrans(int, uchar *, int *, int, int);
  153. extern void padd(int **, int);
  154. extern void pccl(void);
  155. extern void pfoll(void);
  156. extern void phead1(void);
  157. extern void phead2(void);
  158. extern void pstate(int);
  159. extern void ptail(void);
  160. extern void sect1dump(void);
  161. extern void sect2dump(void);
  162. extern void statistics(void);
  163. extern void stprt(int);
  164. extern void strpt(uchar *);
  165. extern void treedump(void);
  166. extern int usescape(int);
  167. extern void warning(char *,...);
  168. extern int yyparse(void);
  169. extern void yyerror(char *);