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