Files
ioccc/1993/ant
Cody Boone Ferguson 92139c55d7 Move 199[1-3]/ant and 2015/howe alt code
The unobfuscated code, which was put in deobfuscated/, has been turned
into alt code. In one case the already existing alt code was made alt2
and the unobfuscated code was alt. In the case of the ones with two C
files there, the one that did not require modification (to compile in
modern systems) were used as those are original.

In a few cases these changes suggested additional files: a test suite
Makefile for the alt code, a try.alt.sh script and maybe some other
things besides.

The bug status was updated for 2015/howe with a known bug: in particular
the test scripts do not work (at least not completely).

In the manifest all references (except for a file name that has not been
renamed - at least not yet) of 'deobfuscated' to 'unobfuscated': a minor
detail that might not matter much but it sounds ever so slightly better
(maybe). These other entries that had an entry_text change were
1995/garry and 2020/endoh2. Rebuilt .entry.json and index.html files for
this (and in the case of the moved code the index.html files also had to
be changed for that in addition to the Makefiles).
2024-07-07 09:53:56 -07:00
..
2023-03-17 08:27:55 -07:00
2023-07-06 21:49:38 -07:00
2023-11-09 11:47:24 -08:00
2024-01-14 10:50:02 -08:00

To build:

    make all

The author provided an unobfuscated version. See Alternate code below.

Bugs and (Mis)features:

The current status of this entry is:

    STATUS: INABIAF - please DO NOT fix
    STATUS: missing file - please provide it

For more detailed information see 1993/ant in bugs.html.

To use:

    ./ant 'ERE' [file ...]

Try:

    ./try.sh

Alternate code:

The ant.alt.c is an unobfuscated version provided by the author. You can look at this code if you want some clues in how it works.

Alternate build:

If you wish to build this deobfuscated version, you can do so like:

    make alt

Alternate use:

Use ant.alt like you would ant above.

Alternate try:

    ./try.alt.sh

Judges' remarks:

See the author's POSIX P1003.2-like documentation file ant.txt for more information.

This program demonstrates that POSIX doesn't guarantee readability. :-)

Author's remarks:

Some of the features of my entry are:

  • "Lengthy" POSIX.2 style specification and manual :) :)
  • Useful subset of POSIX.2 Extended Regular Expressions.
  • Recursive ERE parser/compiler that generates an NFA railroad.
  • Lazy NFA to DFA evaluation to improve performance speed.
  • Code tested on a variety of platforms.
  • Make driven test script.
  • Can be compiled with ANSI or K&R C.
  • Not a toy, but actually useful and usable on systems that use DOS.
  • See also ant.txt.