grep-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] doc: update cites and authors


From: Paul Eggert
Subject: [PATCH] doc: update cites and authors
Date: Sat, 14 Aug 2021 14:21:38 -0700

---
 AUTHORS       | 15 ++++++++++-----
 README        | 14 +++++++-------
 doc/grep.texi | 21 ++++++++++++++++++---
 src/kwset.c   | 18 +++---------------
 4 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index a4ce768..f741efb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -36,15 +36,20 @@ Sunday's excellent paper on fast string searching describes 
some of
 the history of the subject, as well as providing exhaustive
 performance analysis of various implementation alternatives.
 The inner loop of GNU grep is similar to Hume & Sunday's recommended
-"Tuned Boyer Moore" inner loop.  See: Hume A, Sunday D.
-Fast string searching. Software Pract Exper. 1991;21(11):1221-48.
-https://doi.org/10.1002/spe.4380211105
+"Tuned Boyer Moore" inner loop (see the Hume & Sunday citation in
+the grep manual's "Performance" chapter).
 
 Arnold Robbins contributed to improve dfa.[ch]. In fact
 it came straight from gawk-3.0.3 with small editing and fixes.
 
-Many folks contributed.  See THANKS; if I omitted someone please
-send me email.
+Norihiro Tanaka contributed many performance improvements and other
+fixes, particularly to multi-byte matchers.
+
+Paul Eggert contributed support for recursive grep, as well as several
+performance improvements such as searching file holes efficiently.
+
+Many other folks contributed.  See THANKS; if someone is omitted
+please file a bug report.
 
 Alain Magloire maintained GNU grep until version 2.5e.
 
diff --git a/README b/README
index 7991358..706c0bf 100644
--- a/README
+++ b/README
@@ -12,13 +12,13 @@ GNU grep is provided "as is" with no warranty.  The exact 
terms
 under which you may use and (re)distribute this program are detailed
 in the GNU General Public License, in the file COPYING.
 
-GNU grep is based on a fast lazy-state deterministic matcher (about
-twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
-search for a fixed string that eliminates impossible text from being
-considered by the full regexp matcher without necessarily having to
-look at every character.  The result is typically many times faster
-than Unix grep or egrep.  (Regular expressions containing back-references
-will run more slowly, however.)
+GNU grep is based on a fast lazy-state deterministic matcher
+hybridized with Boyer-Moore and Aho-Corasick searches for fixed
+strings that eliminate impossible text from being considered by the
+full regexp matcher without necessarily having to look at every
+character.  The result is typically many times faster than traditional
+implementations.  (Regular expressions containing back-references will
+run more slowly, however.)
 
 See the files AUTHORS and THANKS for a list of authors and other contributors.
 
diff --git a/doc/grep.texi b/doc/grep.texi
index 01ac81e..63d2fc9 100644
--- a/doc/grep.texi
+++ b/doc/grep.texi
@@ -2004,22 +2004,37 @@ used by @command{grep}.
 @item
 Aho AV, Corasick MJ. Efficient string matching: an aid to bibliographic search.
 @emph{CACM}. 1975;18(6):333--40.
-@url{https://dx.doi.org/10.1145/360825.360855}.
+@url{https://doi.org/10.1145/360825.360855}.
 This introduces the Aho--Corasick algorithm.
 
 @item
 Boyer RS, Moore JS. A fast string searching algorithm.
 @emph{CACM}. 1977;20(10):762--72.
-@url{https://dx.doi.org/10.1145/359842.359859}.
+@url{https://doi.org/10.1145/359842.359859}.
 This introduces the Boyer--Moore algorithm.
 
 @item
 Faro S, Lecroq T. The exact online string matching problem: a review
 of the most recent results.
 @emph{ACM Comput Surv}. 2013;45(2):13.
-@url{https://dx.doi.org/10.1145/2431211.2431212}.
+@url{https://doi.org/10.1145/2431211.2431212}.
 This surveys string matching algorithms that might help improve the
 performance of @command{grep} in the future.
+
+@item
+Hakak SI, Kamsin A, Shivakumara P, Gilkar GA, Khan WZ, Imran M.
+Exact string matching algorithms: survey issues, and future research 
directions.
+@emph{IEEE Access}. 2019;7:69614--37.
+@url{https://doi.org/10.1109/ACCESS.2019.2914071}.
+This survey is more recent than Faro & Lecroq,
+and focuses on taxonomy instead of performance.
+
+@item
+Hume A, Sunday D. Fast string search.
+@emph{Software Pract Exper}. 1991;21(11):1221--48.
+@url{https://doi.org/10.1002/spe.4380211105}.
+This excellent albeit now-dated survey aided the initial development
+of @command{grep}.
 @end itemize
 @frenchspacing off
 
diff --git a/src/kwset.c b/src/kwset.c
index 792cc01..987e2e5 100644
--- a/src/kwset.c
+++ b/src/kwset.c
@@ -19,21 +19,9 @@
 
 /* Written August 1989 by Mike Haertel.  */
 
-/* For the Aho-Corasick algorithm, see:
-   Aho AV, Corasick MJ. Efficient string matching: an aid to
-   bibliographic search. CACM 18, 6 (1975), 333-40
-   <https://dx.doi.org/10.1145/360825.360855>, which describes the
-   failure function used below.
-
-   For the Boyer-Moore algorithm, see: Boyer RS, Moore JS.
-   A fast string searching algorithm. CACM 20, 10 (1977), 762-72
-   <https://dx.doi.org/10.1145/359842.359859>.
-
-   For a survey of more-recent string matching algorithms that might
-   help improve performance, see: Faro S, Lecroq T. The exact online
-   string matching problem: a review of the most recent results.
-   ACM Computing Surveys 45, 2 (2013), 13
-   <https://dx.doi.org/10.1145/2431211.2431212>.  */
+/* For more on the Aho-Corasick and Boyer-Moore algorithms,
+   as well as other algorithms that might help improve performance,
+   see the grep manual's "Performance" chapter.  */
 
 #include <config.h>
 
-- 
2.30.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]