Files
ioccc/1998/bas2
Landon Curt Noll a956c3d1e5 improve entry index.html navbar links
We improve entry `index.html` navbar links by allowing the
next and previous to link across years.

The `make genpath` now forms `.allyear`, which is a
sorted contamination of all YYY level `.year` files.

Updated `make help` to reflect the  `make genpath` functionality.

Updated FAQ 6.8 to talk about the `.allyear` file.
Fixed links to `.top` and `.allyear' to refer to GitHub.

Changed `bin/subst.entry-navbar.awk` VERSION from "1.2 2024-03-02"
to "1.3 2024-08-02".

Changed `bin/subst.entry-index.sh` VERSION from "1.3.5 2024-08-05"
to "1.4 2024-08-09".

Performed `make www` to accomplish the above and to test under macOS.
2024-08-09 03:23:16 -07:00
..
2024-06-14 06:52:23 -07:00
2022-09-18 23:37:49 -07:00
2023-07-06 21:49:38 -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.