A modest approach to grep in Haskell
Warning: this is ancient software, written in a now obsolete
dialect of Haskell. Your mileage may vary...
Roadmap to the files in this directory:
- 0README
- this list in plain text
- Fgrep.hs
- uses precompiled delta table
- FgrepIO.hs
- (ghc-0.19 -fglasgow-exts) IO monad and precompiled delta table
- FgrepIOWOTable.hs
- (ghc-0.19 -fglasgow-exts) IO monad without delta table
- FgrepWOTable.hs
- without delta table
- Grep.lhs
- uses combinator parser generated at runtime
- NFA.lhs
- generate non-deterministic finite automaton with epsilon transitions
from input and interpret it (choice of using epsilon compression)
- NFA-multi.lhs
- non-deterministic finite automaton without epsilon transitions
(see comments in NFA.lhs)
- MakeDeltaIO.lhs
- writes the text for module Delta to standard output
necessary for Fgrep and FgrepIO.
Compile and utter: ./MakeDeltaIO > Delta.hs
You will have to rename the generated module to DeltaG in order
to compile FgrepIO!
- Parsers.hs
- a simple library of combinator parsers
- StringMatch.hs
- a module containing a string match function
combinator parser for regular expressions which generates combinator
parsers for the language of the input expression
- all the above in one file
Peter Thiemann
Last modified: Mon Mar 29 11:29:36 CEST 2004