Files
ioccc/1993/ant
Landon Curt Noll 11dfe51c6c move IOCCC Quick Start Guide
Created `quick-start.md` to hold the FAQ 0.0 content.

Used `sgit(1)` to change:

* faq.html#enter ==> quick-start.html#enter
* faq.html#enter_questions ==> quick-start.html#enter_questions
* faq.html#step_0 ==> quick-start.html#step_0
* faq.html#step_1 ==> quick-start.html#step_1
* faq.html#step_2 ==> quick-start.html#step_2
* faq.html#register ==> quick-start.html#register
* faq.html#step_3 ==> quick-start.html#step_3
* faq.html#step_4 ==> quick-start.html#step_4
* faq.html#step_5 ==> quick-start.html#step_5
* faq.html#step_6 ==> quick-start.html#step_6
* faq.html#step_7 ==> quick-start.html#step_7
* faq.html#step_submit ==> quick-start.html#step_submit

Via:

```sh
sgit -e 's/faq\.html#enter/quick-start.html#enter/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#enter_questions/quick-start.html#enter_questions/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_0/quick-start.html#step_0/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_1/quick-start.html#step_1/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_2/quick-start.html#step_2/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#register/quick-start.html#register/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_3/quick-start.html#step_3/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_4/quick-start.html#step_4/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_5/quick-start.html#step_5/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_6/quick-start.html#step_6/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_7/quick-start.html#step_7/g' '*.md' '*.hdr' 'inc/*.html'
sgit -e 's/faq\.html#step_submit/quick-start.html#step_submit/g' '*.md' '*.hdr' 'inc/*.html'
```

The former FAQ 0.0 section in `faq.html` now just refers to `quick-start.html`.

Modified menu and non-JS menu so that "Enter the IOCCC" refers to `quick-start.html`.

Changed `bin/gen-top-html.sh` VERSION from "1.4.10 2024-11-23"
to "1.4.11 2025-01-09".

Performed `make www` on macOS to complete the above.
2025-01-09 23:11:43 -08: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
2025-01-09 23:11:43 -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.