Files
ioccc/1998/bas2
Landon Curt Noll e9c3ec7ce7 fix bin/tar-entry.sh
Fixed when the `.tar.tstamp` file is updated
by `bin/tar-entry.sh`.

Changed `bin/tar-entry.sh` VERSION from "1.3 2024-03-22"
to "1.3.1 2024-03-25".

Performed `make form_entry_tarball` to complete the test of the above.

TODO: Test the results under Linux.

TODO: Update `bin/tar-year.sh`.  Update year level compressed tarballs.

TODO: Update `bin/tar-all.sh`.  Update top level compressed tarball.

TODO: Write `bin/untar-year.sh` and `bin/untar-all.sh`.
2024-03-25 23:24:09 -07:00
..
2024-03-22 23:34:37 -07:00
2024-03-25 23:24:09 -07:00
2024-03-25 23:24:09 -07:00
2022-09-18 23:37:49 -07:00
2023-07-06 21:49:38 -07:00
2024-03-25 22:44:34 -07:00
2024-03-13 00:38:46 -07:00
2024-03-20 00:19:52 -07:00

To build:

make all

To use:

./bas2 < file
echo text | ./bas2

Try:

./try.sh

./try.sh "foo bar" "baz" "IOCCC 1998/bas2" README.md

./try.sh try.sh "bas2.c" bas2.orig.c

Judges' remarks:

Questions to ponder:

Can you determine the relationship between the input and the resulting numeric output?

The program was not designed to process files with a certain octet value, what value is that?

Hint and Extra Credit:

This entry points out a minor flaw in the IOCCC rules that has been around since 1992. It processes a certain octet value in a way that differs from a strict reading of one of the official IOCCC rules. What is the rule and what is the octet value?

Author's remarks:

The main obfuscation is the way characters are recognized, which is done by matching the bit patterns. Minor obfuscations are:

  • Useless layout.

  • Useless variable names.

  • Recursive main() instead of 2 loops (over input characters and over bits in the character).

  • ?: and || instead of if statements.