xref: /plan9/sys/src/cmd/upas/bayes/dfa.h (revision 4246b6162acdbb658503b8bdc98024362bfbf0fe)
1 /*
2  * Deterministic regexp program.
3  */
4 typedef struct Dreprog Dreprog;
5 typedef struct Dreinst Dreinst;
6 typedef struct Drecase Drecase;
7 
8 struct Dreinst
9 {
10 	int isfinal;
11 	int isloop;
12 	Drecase *c;
13 	int nc;
14 };
15 
16 struct Dreprog
17 {
18 	Dreinst *start[4];
19 	int ninst;
20 	Dreinst inst[1];
21 };
22 
23 struct Drecase
24 {
25 	uint start;
26 	Dreinst *next;
27 };
28 
29 Dreprog* dregcvt(Reprog*);
30 int dregexec(Dreprog*, char*, int);
31 Dreprog* Breaddfa(Biobuf *b);
32 void Bprintdfa(Biobuf*, Dreprog*);
33 
34