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