diff options
author | rsc <devnull@localhost> | 2005-10-29 16:26:32 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-10-29 16:26:32 +0000 |
commit | d1f529f46f957c78a3db73b42c2fcd2d3c9f8a34 (patch) | |
tree | a4d6f28106cca984926b9dd5ecddd6053b654617 /src/cmd/upas/bayes/dfa.h | |
parent | 9f1fdc128738b2ed76258ac22a8574c681f3df3a (diff) | |
download | plan9port-d1f529f46f957c78a3db73b42c2fcd2d3c9f8a34.tar.gz plan9port-d1f529f46f957c78a3db73b42c2fcd2d3c9f8a34.tar.bz2 plan9port-d1f529f46f957c78a3db73b42c2fcd2d3c9f8a34.zip |
Thanks to John Cummings.
Diffstat (limited to 'src/cmd/upas/bayes/dfa.h')
-rw-r--r-- | src/cmd/upas/bayes/dfa.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/cmd/upas/bayes/dfa.h b/src/cmd/upas/bayes/dfa.h new file mode 100644 index 00000000..28c43dbc --- /dev/null +++ b/src/cmd/upas/bayes/dfa.h @@ -0,0 +1,33 @@ +/* + * 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*); + |