Files
ioccc/1993/ant
Landon Curt Noll c78bda6c0f update tarballs due to recent commits
The commit a1c86c8a7a modified
the navigation bars to include "Original C", so all tarballs
had be update, sorry (tm Canada 🇨🇦).  In particular:

The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.

In addition, a number of other commits since that time
modified other winning entries.

Ran `make update` to perform the above.
2025-08-18 16:30:59 -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

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.