| /* | |
| * Deterministic regexp program. | |
| */ | |
| typedef struct Dreprog Dreprog; | |
| typedef struct Dreinst Dreinst; | |
| typedef struct Drecase Drecase; | |
| struct Dreinst | |
| { | |
| int isfinal; | |
| int isloop; | |
| Drecase *c; | |
| int nc; | |
| }; | |
| struct Dreprog | |
| { | |
| Dreinst *start[4]; | |
| int ninst; | |
| Dreinst inst[1]; | |
| }; | |
| struct Drecase | |
| { | |
| uint start; | |
| Dreinst *next; | |
| }; | |
| Dreprog* dregcvt(Reprog*); | |
| int dregexec(Dreprog*, char*, int); | |
| Dreprog* Breaddfa(Biobuf *b); | |
| void Bprintdfa(Biobuf*, Dreprog*); | |