Blob


1 /*
2 * Deterministic regexp program.
3 */
4 typedef struct Dreprog Dreprog;
5 typedef struct Dreinst Dreinst;
6 typedef struct Drecase Drecase;
8 struct Dreinst
9 {
10 int isfinal;
11 int isloop;
12 Drecase *c;
13 int nc;
14 };
16 struct Dreprog
17 {
18 Dreinst *start[4];
19 int ninst;
20 Dreinst inst[1];
21 };
23 struct Drecase
24 {
25 uint start;
26 Dreinst *next;
27 };
29 Dreprog* dregcvt(Reprog*);
30 int dregexec(Dreprog*, char*, int);
31 Dreprog* Breaddfa(Biobuf *b);
32 void Bprintdfa(Biobuf*, Dreprog*);