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.
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.