Author:
- Name: Col. G. L. Sicherman
Location: US - United States of America (United States)
To build:
make all
There is another version that can be compiled in case the first fails. See Alternate code below for more details on it.
To use:
./sicherman < file
echo foo | ./sicherman
./sicherman
# type or paste some text, making sure to hit enter after each line typed
Try:
./try.sh
Alternate code:
The sicherman.alt.c is a slight change in the fixed version
(fixed so it does not require -traditional-cpp
) in that it has two args to
main()
as some compilers object to certain number of args in main()
.
Alternate build:
make alt
Alternate use:
./sicherman.alt < file
Alternate try:
./try.alt.sh
Judges’ remarks:
This program abuses the C preprocessor so much that some cpp
s fail to strip
out all of the comments on the first pass! If you were able to understand
Dave Decot’s entry in 1984, you
will have a head start on this one.
Be sure to run this program through lint! If your lint works correctly, it should warn you that the argument ‘Manual’ isn’t used. Like the program says, what’s that mean?
Run the program without arguments and enter the letters ‘a’ through ‘m’ on a line. Now enter the letters ‘n’ through ‘z’. But to borrow a quote from Richard Stallman: If you think you understand what this code does, then you don’t, so read it again! Explain why:
./sicherman < sicherman.c | ./sicherman | diff - ./sicherman.c
results in diff reporting a difference on some machines.
Author’s remarks:
No remarks were provided by the author.
Inventory for 1985/sicherman
Primary files
- sicherman.c - entry source code
- Makefile - entry Makefile
- sicherman.alt.c - alternate source code
- sicherman.orig.c - original source code
- try.alt.sh - script to try alternate code
- try.sh - script to try entry
Secondary files
- 1985_sicherman.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- index.html - this web page