Dec 252017
GNU Grep for OS/2, source and executables.
File GNUGREP.ZIP from The Programmer’s Corner in
Category OS/2 Files
GNU Grep for OS/2, source and executables.
File Name File Size Zip Size Zip Type
EGREP.EXE 61440 27641 deflated
EMX.DLL 27218 14786 deflated
FGREP 0 0 stored
FGREP.EXE 36864 15708 deflated
FGREP.PAT 3810 1221 deflated
FGREP.C 15057 4698 deflated
GETOPT.C 19652 6038 deflated
GETOPT.H 4063 1602 deflated
KWSET.C 17568 4992 deflated
KWSET.H 2624 1168 deflated
MAKEFILE 280 173 deflated
MAKEFILE.EMX 262 164 deflated
OBSTACK.C 9354 2957 deflated
OBSTACK.H 16241 4517 deflated
README 838 469 deflated
STD.C 1039 474 deflated
STD.H 3959 1265 deflated
UNIX.H 2933 752 deflated
GREP 0 0 stored
GREP.EXE 61440 27648 deflated
GREP.MAN 8084 2864 deflated
GREP.PAT 6622 2072 deflated
GREP16.BUG 4344 1362 deflated
ALLOCA.C 5520 2218 deflated
CONFIGUR.E 8955 3237 deflated
CONFIGUR.IN 203 153 deflated
COPYING 18321 6637 deflated
DFA.C 59807 15198 deflated
DFA.H 18036 5614 deflated
GETOPT.C 19652 6038 deflated
GETOPT.H 4063 1602 deflated
GREP.C 28635 8538 deflated
GREP.MAN 5895 2474 deflated
INSTALL 4286 1742 deflated
MAKEFILE.EMX 715 321 deflated
MAKEFILE.IN 3726 1613 deflated
README 3323 1560 deflated
README.CRA 2808 1469 deflated
README.SUN 2781 1190 deflated
REGEX.C 47056 12528 deflated
REGEX.H 8270 3046 deflated
TESTS 0 0 stored
KHADAFY.LIN 760 257 deflated
KHADAFY.REG 67 66 deflated
REGRESS.SH 595 315 deflated
SCRIPTGE.AWK 296 167 deflated
SPENCER.TES 1870 641 deflated
README.EMX 1690 867 deflated

Download File GNUGREP.ZIP Here

Contents of the README file

This is GNU fgrep, version 1.1. Eventually it will disappear into the
single grep program mandated by POSIX, but for now it should be a
compatible replacement for UNIX fgrep. The options are the same
as those of GNU egrep, and are a proper superset of the fgrep options
on all UNIX systems I am aware of.

I have not tried comparing this performance-wise to any of the
various other free fgreps that are floating around, but it should
never be any slower, and for demanding applications will probably
be substantially faster. For single fixed-string searches the
speed is about the same as that of GNU egrep; for multiple fixed
strings it is substantially faster.

Correspondence regarding this program should be addressed directly
to me, [email protected], *not* bug-gnu-utils. Enjoy.

Mike Haertel
[email protected]
This README documents GNU e?grep version 1.6. All bugs reported for
previous versions have been fixed.

See the file INSTALL for compilation and installation instructions.

Send bug reports to [email protected]

GNU e?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 e?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 backreferencing
may run more slowly, however.)

GNU e?grep is brought to you by the efforts of several people:

Mike Haertel wrote the deterministic regexp code and the bulk
of the program.

James A. Woods is responsible for the hybridized search strategy
of using Boyer-Moore-Gosper fixed-string search as a filter
before calling the general regexp matcher.

Arthur David Olson contributed code that finds fixed strings for
the aforementioned BMG search for a large class of regexps.

Richard Stallman wrote the backtracking regexp matcher that is
used for \ backreferences, as well as the getopt that
is provided for 4.2BSD sites. The backtracking matcher was
originally written for GNU Emacs.

D. A. Gwyn wrote the C alloca emulation that is provided so
System V machines can run this program. (Alloca is used only
by RMS' backtracking matcher, and then only rarely, so there
is no loss if your machine doesn't have a "real" alloca.)

Scott Anderson and Henry Spencer designed the regression tests
used in the "regress" script.

Paul Placeway wrote the manual page, based on this README.

If you are interested in improving this program, you may wish to try
any of the following:

1. Replace the fast search loop with a faster search loop.
There are several things that could be improved, the most notable
of which would be to calculate a minimal delta2 to use.

2. Make backreferencing \ faster. Right now, backreferencing is
handled by calling the Emacs backtracking matcher to verify the partial
match. This is slow; if the DFA routines could handle backreferencing
themselves a speedup on the order of three to four times might occur
in those cases where the backtracking matcher is called to verify nearly
every line. Also, some portability problems due to the inclusion of the
emacs matcher would be solved because it could then be eliminated.
Note that expressions with backreferencing are not true regular
expressions, and thus are not equivalent to any DFA. So this is hard.

3. Handle POSIX style regexps. I'm not sure if this could be called an
improvement; some of the things on regexps in the POSIX draft I have
seen are pretty sickening. But it would be useful in the interests of
conforming to the standard.

4. Replace the main driver program grep.c with the much cleaner main driver
program used in GNU fgrep.

 December 25, 2017  Add comments

Leave a Reply