As was discussed with Landon this was a mistake even if it helped with
consistency. There was even a brilliant pun that was destroyed with that
commit which I think is worth pointing out:

    cp README.md hill
    ./ant hill

in 1991/ant ... even if it's technically 'anthill'.

I hope that I got all links fixed in years.html and winners.html. As
well I tried to make sure I got all handles fixed in all/summary.txt.
Nevertheless these should be checked. For some handles they were never
updated (at least in the html files - though maybe summary.txt too, not
sure) in the first place so there was nothing to do.

Typo fixes like references to *.hint when it should be README.md. There
probably are others that need to be fixed but haven't been located yet.
This commit is contained in:
Cody Boone Ferguson committed 2023-03-17 08:27:55 -07:00
1 parent d4ef163cc4
commit 750255aded
52 files changed
+177 -164

No files matched your search

+6 -6
View File
@@ -1,5 +1,5 @@
baruch/baruch baruch/baruch
mills/mills cmills/cmills
dds/dds dds/dds
dg/dg dg/dg
jaw/atob jaw/atob
@@ -10,9 +10,9 @@ scjones/scjones
stig/o stig/o
stig/o.c stig/o.c
tbr/tbr tbr/tbr
mariano/fibonacci theorem/fibonacci
mariano/fibonacci.c theorem/fibonacci.c
mariano/sorter theorem/sorter
mariano/sorter.c theorem/sorter.c
mariano/mariano theorem/theorem
westley/westley westley/westley
+1 -1
View File
@@ -53,7 +53,7 @@ include ../var.mk
# IOCCC winners # IOCCC winners
############### ###############
# #
WINNERS= baruch dds dg jaw mariano mills pjr scjones stig tbr westley WINNERS= baruch cmills dds dg jaw pjr scjones stig tbr theorem westley
YEAR= 1990 YEAR= 1990
+1
View File
@@ -0,0 +1 @@
cmills
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1990 winning entry - mills # IOCCC 1990 winning entry - cmills
################################################################################ ################################################################################
# #
@@ -163,7 +163,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= mills ENTRY= cmills
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
@@ -12,14 +12,14 @@
### To run ### To run
./mills [starting_cash] ./cmills [starting_cash]
NOTE: we used a patch from Yusuke Endoh to get this to work in modern systems NOTE: we used a patch from Yusuke Endoh to get this to work in modern systems
(it resulted in a bus error otherwise). Thank you Yusuke for your assistance! (it resulted in a bus error otherwise). Thank you Yusuke for your assistance!
### Try: ### Try:
./mills 5000 ./cmills 5000
NOTE: this program uses `gets()` so you will likely get a warning under modern NOTE: this program uses `gets()` so you will likely get a warning under modern
@@ -29,7 +29,7 @@ systems.
Compile notes: Compile notes:
cc -DM=500 -DN=52 -DX="srand((int)time(0L))" -DV=void -o mills mills.c cc -DM=500 -DN=52 -DX="srand((int)time(0L))" -DV=void -o cmills cmills.c
-DM=<max bet allowed> -DM=<max bet allowed>
-DN=<52 * number of decks used> -DN=<52 * number of decks used>
File renamed without changes.
-1
View File
@@ -1 +0,0 @@
mills
File renamed without changes.
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1990 winning entry - mariano # IOCCC 1990 winning entry - theorem
################################################################################ ################################################################################
# #
@@ -165,7 +165,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= mariano ENTRY= theorem
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
@@ -191,13 +191,13 @@ ${PROG}: ${PROG}.c
${CC} ${CFLAGS} $< -o $@ ${LIBS} ${CC} ${CFLAGS} $< -o $@ ${LIBS}
sorter.c: ${PROG} ${PROG}.c sorter.c: ${PROG} ${PROG}.c
-./mariano -r 0 0 0 0 < mariano.c > sorter.c -./theorem -r 0 0 0 0 < theorem.c > sorter.c
sorter: sorter.c sorter: sorter.c
${CC} ${CFLAGS} sorter.c -o $@ ${CC} ${CFLAGS} sorter.c -o $@
fibonacci.c: sorter ${PROG}.c fibonacci.c: sorter ${PROG}.c
-./sorter 0 0 0 0 < mariano.c > fibonacci.c -./sorter 0 0 0 0 < theorem.c > fibonacci.c
fibonacci: fibonacci.c fibonacci: fibonacci.c
${CC} ${CFLAGS} fibonacci.c -o $@ ${CC} ${CFLAGS} fibonacci.c -o $@
File renamed without changes.
File renamed without changes.
+1 -1
View File
@@ -53,7 +53,7 @@ include ../var.mk
# IOCCC winners # IOCCC winners
############### ###############
# #
WINNERS= brnstnd buzzard cdupont davidguy dds fine howe rince westley WINNERS= ant brnstnd buzzard cdupont davidguy dds fine rince westley
YEAR= 1991 YEAR= 1991
File renamed without changes.
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1991 winning entry - howe # IOCCC 1991 winning entry - ant
################################################################################ ################################################################################
# #
@@ -163,7 +163,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= howe ENTRY= ant
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
+2 -2
View File
@@ -12,8 +12,8 @@
### To run ### To run
cp howe.hint hill cp README.md hill
./howe hill ./ant hill
## Judges' comments ## Judges' comments
View File
File renamed without changes.
+2 -2
View File
@@ -53,8 +53,8 @@ include ../var.mk
# IOCCC winners # IOCCC winners
############### ###############
# #
WINNERS= albert buzzard1 buzzard2 gson howe imc kivinen lush marangon \ WINNERS= adrian albert ant buzzard.1 buzzard.2 gson imc kivinen lush marangon \
mariano nathan vern westley nathan vern westley
YEAR= 1992 YEAR= 1992
@@ -9,4 +9,4 @@ adsleep
adsleep.c adsleep.c
adwc adwc
adwc.c adwc.c
mariano adrian
+13 -13
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1992 winning entry - mariano # IOCCC 1992 winning entry - adrian
################################################################################ ################################################################################
# #
@@ -166,7 +166,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= mariano ENTRY= adrian
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
@@ -191,20 +191,20 @@ all: data ${TARGET}
${PROG}: ${PROG}.c ${PROG}: ${PROG}.c
${CC} ${CFLAGS} $< -o $@ ${LIBS} ${CC} ${CFLAGS} $< -o $@ ${LIBS}
${RM} -f ad.temp adwc.c adbasename.c adecho.c adhead.c adsleep.c ${RM} -f ad.temp adwc.c adbasename.c adecho.c adhead.c adsleep.c
${SED} '1s/\..*\./. wc ./' mariano.c > ad.temp ${SED} '1s/\..*\./. wc ./' adrian.c > ad.temp
-./mariano ad.temp <ad.temp >adwc.c -./adrian ad.temp <ad.temp >adwc.c
${CC} ${CFLAGS} -o adwc adwc.c ${CC} ${CFLAGS} -o adwc adwc.c
${SED} '1s/\..*\./. basename ./' mariano.c > ad.temp ${SED} '1s/\..*\./. basename ./' adrian.c > ad.temp
-./mariano ad.temp <ad.temp >adbasename.c -./adrian ad.temp <ad.temp >adbasename.c
${CC} ${CFLAGS} -o adbasename adbasename.c ${CC} ${CFLAGS} -o adbasename adbasename.c
${SED} '1s/\..*\./. echo| ./' mariano.c > ad.temp ${SED} '1s/\..*\./. echo| ./' adrian.c > ad.temp
-./mariano ad.temp <ad.temp >adecho.c -./adrian ad.temp <ad.temp >adecho.c
${CC} ${CFLAGS} -o adecho adecho.c ${CC} ${CFLAGS} -o adecho adecho.c
${SED} '1s/\..*\./. head; ./' mariano.c > ad.temp ${SED} '1s/\..*\./. head; ./' adrian.c > ad.temp
-./mariano ad.temp <ad.temp >adhead.c -./adrian ad.temp <ad.temp >adhead.c
${CC} ${CFLAGS} -o adhead adhead.c ${CC} ${CFLAGS} -o adhead adhead.c
${SED} '1s/\..*\./. sleep ./' mariano.c > ad.temp ${SED} '1s/\..*\./. sleep ./' adrian.c > ad.temp
-./mariano ad.temp <ad.temp >adsleep.c -./adrian ad.temp <ad.temp >adsleep.c
${CC} ${CFLAGS} -o adsleep adsleep.c ${CC} ${CFLAGS} -o adsleep adsleep.c
${RM} -f ad.temp ${RM} -f ad.temp
@@ -241,7 +241,7 @@ clean:
clobber: clean clobber: clean
${RM} -f ${TARGET} ${ALT_TARGET} ${RM} -f ${TARGET} ${ALT_TARGET}
${RM} -f adbasename adbasename.c adecho adecho.c adgrep adhead ${RM} -f adbasename adbasename.c adecho adecho.c adgrep adhead
${RM} -f adhead.c mariano adsleep adsleep.c adwc adwc.c ${RM} -f adhead.c adrian adsleep adsleep.c adwc adwc.c
@-if [ -e sandwich ]; then \ @-if [ -e sandwich ]; then \
${RM} -f sandwich; \ ${RM} -f sandwich; \
echo 'ate sandwich'; \ echo 'ate sandwich'; \
@@ -10,13 +10,14 @@
make all make all
### To run
./mariano mariano.grep.try < mariano.hint ## Try:
For the slow minded, try: ./adrian adrian.grep.try < README.md
./adsleep 32767 For the slow minded, try:
./adsleep 32767
## Judges' comments ## Judges' comments
@@ -130,7 +131,7 @@
If no filename is specified on the command line, then "adgrep.c" is used If no filename is specified on the command line, then "adgrep.c" is used
as the specification for the automaton. (This file has been renamed as the specification for the automaton. (This file has been renamed
to mariano.c by the judges.) In this case, the program will search for to adrian.c by the judges.) In this case, the program will search for
matches to the regular expression: matches to the regular expression:
^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$ ^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$
@@ -208,7 +209,7 @@
machine.) The four programs which read from stdin require lines machine.) The four programs which read from stdin require lines
shorter than 999 characters. shorter than 999 characters.
The other info files are mariano.grep.[1-6] which contain the six The other info files are adrian.grep.[1-6] which contain the six
examples that appear above, and from, which is used to emulate the examples that appear above, and from, which is used to emulate the
unix from command. For reasons of clarity, the name "from" should unix from command. For reasons of clarity, the name "from" should
probably not be changed if possible. I wouldn't want to be accused of probably not be changed if possible. I wouldn't want to be accused of
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+5
View File
@@ -0,0 +1,5 @@
am
am.safe
ant
node.*
leaf.*
+3 -3
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1992 winning entry - howe # IOCCC 1992 winning entry - ant
################################################################################ ################################################################################
# #
@@ -162,12 +162,12 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= howe ENTRY= ant
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
DATA= DATA=
TARGET= ${PROG} TARGET= ${PROG} am
# #
ALT_OBJ= ALT_OBJ=
ALT_TARGET= ALT_TARGET=
+2 -2
View File
@@ -13,7 +13,7 @@
### To run ### To run
./am howe.test.mk ./am ant.test.mk
## Judges' comments ## Judges' comments
@@ -33,7 +33,7 @@
## Author's comments ## Author's comments
See the file howe.README. See the file ant.README.
Copyright (c) 1992, Landon Curt Noll & Larry Bassel. Copyright (c) 1992, Landon Curt Noll & Larry Bassel.
All Rights Reserved. Permission for personal, educational or non-profit use is All Rights Reserved. Permission for personal, educational or non-profit use is
File renamed without changes.
View File
File renamed without changes.
@@ -170,9 +170,9 @@ split.cmd:
# Test AM error reports and exit statuses. # Test AM error reports and exit statuses.
# #
errors: errors:
-am test.mk error.1 -./am test.mk error.1
-am test.mk error.2 -./am test.mk error.2
-am test.mk error.3 -./am test.mk error.3
# Target that does not exist, has no dependencies, and no commands. # Target that does not exist, has no dependencies, and no commands.
error.1: error.1:
+19 -19
View File
@@ -13,24 +13,24 @@ Most Obfuscated Algorithm:
### To run ### To run
./babble 0 10 ./buzzard.1 0 10
./babble 56 720 ./buzzard.1 56 720
./babble 1 521 ./buzzard.1 1 521
## Judges' comments ## Judges' comments
To see good C Preprocessor babble, try: To see good C Preprocessor buzzard.1, try:
make babble.cppcb make buzzard.1.cppcb
cat babble.cppcb cat buzzard.1.cppcb
Notice how many statements it takes to do anything useful? Notice how many statements it takes to do anything useful?
## Author's comments ## Author's comments
What you shouldn't think about babble: What you shouldn't think about buzzard.1:
babble doesn't just do a mass of #defines as its obfuscation. buzzard.1 doesn't just do a mass of #defines as its obfuscation.
What you should be glad about: What you should be glad about:
@@ -40,22 +40,22 @@ Most Obfuscated Algorithm:
Cute trick warning: Cute trick warning:
babble contains only a numeric printf, yet sometimes it prints out buzzard.1 contains only a numeric printf, yet sometimes it prints out
short strings. short strings.
What it does: What it does:
babble is a simple mathematical program. It expects two numeric buzzard.1 is a simple mathematical program. It expects two numeric
arguments. arguments.
% babble 0 <num> % buzzard.1 0 <num>
will print out the factorial of <num>. will print out the factorial of <num>.
% babble <num1> <num2> % buzzard.1 <num1> <num2>
will print out the largest common factor of num1 and num2. will print out the largest common factor of num1 and num2.
% babble 1 <num2> % buzzard.1 1 <num2>
will print out a factor of num2 if it's composite, or else will print out a factor of num2 if it's composite, or else
it will print a string informing you that num2 is prime. it will print a string informing you that num2 is prime.
@@ -65,10 +65,10 @@ Most Obfuscated Algorithm:
What it is: What it is:
babble is a translator from a pseudo-assembly language into a buzzard.1 is a translator from a pseudo-assembly language into a
subset of C suitable for execution on Charles Babbage's subset of C suitable for execution on Charles Babbage's
Analytical Engine. Or rather, the #defines in babble are that Analytical Engine. Or rather, the #defines in buzzard.1 are that
translator. The rest of babble is a babble program. If you run the translator. The rest of buzzard.1 is a buzzard.1 program. If you run the
whole mess through CPP and a beautifier, you will see that whole mess through CPP and a beautifier, you will see that
all you have is a loop that runs until a variable is not 0, and all you have is a loop that runs until a variable is not 0, and
a sequence of assignment statements. The assignment statements a sequence of assignment statements. The assignment statements
@@ -99,7 +99,7 @@ Most Obfuscated Algorithm:
The simulated comparison operations only work with a certain The simulated comparison operations only work with a certain
range of numbers; numbers that are too large will cause the range of numbers; numbers that are too large will cause the
output code to fail to simulate the input code. This means output code to fail to simulate the input code. This means
that this implementation of babble would not be Turing-complete, that this implementation of buzzard.1 would not be Turing-complete,
even if the AE could process indefinitely-sized numbers. even if the AE could process indefinitely-sized numbers.
However, this is actually a constraint that no actual computer However, this is actually a constraint that no actual computer
can meet, either, so we can conclude that if an AE, with can meet, either, so we can conclude that if an AE, with
@@ -113,7 +113,7 @@ Most Obfuscated Algorithm:
have any. have any.
Definition of the input language to babble: Definition of the input language to buzzard.1:
(OR What Exactly Do All The Macros Do?) (OR What Exactly Do All The Macros Do?)
[Don't read this unless you're stumped!] [Don't read this unless you're stumped!]
@@ -213,7 +213,7 @@ Most Obfuscated Algorithm:
Thanks to Bill Pugh for bringing the loopability of the AE to Thanks to Bill Pugh for bringing the loopability of the AE to
my attention. my attention.
babble was originally named 'cb', for obvious reasons, and is buzzard.1 was originally named 'cb', for obvious reasons, and is
dedicated to the memory of Charles Barrett. dedicated to the memory of Charles Barrett.
Copyright (c) 1992, Landon Curt Noll & Larry Bassel. Copyright (c) 1992, Landon Curt Noll & Larry Bassel.
-3
View File
@@ -1,3 +0,0 @@
am
am.safe
howe
+1 -1
View File
@@ -1,5 +1,5 @@
ant/ant ant/ant
mills/mills cmills/mills
dgibson/data.name dgibson/data.name
dgibson/data.name2 dgibson/data.name2
dgibson/life.d dgibson/life.d
+1 -1
View File
@@ -53,7 +53,7 @@ include ../var.mk
# IOCCC winners # IOCCC winners
############### ###############
# #
WINNERS= dgibson ejb howe jonth leo lmfjyh mills plummer rince schnitzi vanb WINNERS= cmills dgibson ejb howe jonth leo lmfjyh plummer rince schnitzi vanb
YEAR= 1993 YEAR= 1993
+1 -1
View File
@@ -1,4 +1,4 @@
ag ag
ag.txt ag.txt
ant ant
howe ant
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1993 winning entry - howe # IOCCC 1993 winning entry - ant
################################################################################ ################################################################################
# #
@@ -160,7 +160,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= howe ENTRY= ant
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
+3 -3
View File
@@ -12,14 +12,14 @@
### To run ### To run
./howe 'ERE' [file ...] ./ant 'ERE' [file ...]
## Judges' comments ## Judges' comments
You may also want to try the author's test suite: You may also want to try the author's test suite:
make -f howe.test.mk make -f ant.test.mk
See the author's Posix P1003.2-like documentation file howe.txt See the author's Posix P1003.2-like documentation file ant.txt
for more information. for more information.
This program demonstrates that Posix doesn't guarantee readability. :-) This program demonstrates that Posix doesn't guarantee readability. :-)
View File
File renamed without changes.
+42 -42
View File
@@ -5,28 +5,28 @@
# #
SHELL=/bin/sh SHELL=/bin/sh
PRG=./howe PRG=./ant
all: howe char word anchor literal wild closure option branch sub class all: ant char word anchor literal wild closure option branch sub class
# #
# Built the entry # Built the entry
# #
howe: Makefile ant: Makefile
make -f Makefile howe make -f Makefile ant
# #
# Test simple text patterns without the use of meta characters. # Test simple text patterns without the use of meta characters.
# #
empty: empty:
$(PRG) '' howe.test.mk $(PRG) '' ant.test.mk
char: char:
$(PRG) 'q' howe.test.mk $(PRG) 'q' ant.test.mk
word: word:
$(PRG) 'simple' howe.test.mk $(PRG) 'simple' ant.test.mk
# #
# Test meta characters. # Test meta characters.
@@ -35,28 +35,28 @@ word:
anchor: anchor1 anchor2 anchor3 anchor4 anchor5 anchor: anchor1 anchor2 anchor3 anchor4 anchor5
anchor1: anchor1:
$(PRG) '^anchor1' howe.test.mk $(PRG) '^anchor1' ant.test.mk
anchor2: anchor2:
$(PRG) 'Grep$$' howe.test.mk $(PRG) 'Grep$$' ant.test.mk
# #
# Find all empty lines. # Find all empty lines.
# #
anchor3: anchor3:
$(PRG) '^$$' howe.test.mk $(PRG) '^$$' ant.test.mk
# #
# This is valid but will never match. # This is valid but will never match.
# #
anchor4: anchor4:
-$(PRG) 'x^a' howe.test.mk -$(PRG) 'x^a' ant.test.mk
# #
# This is valid but will never match. # This is valid but will never match.
# #
anchor5: anchor5:
-$(PRG) 'mk$$x' howe.test.mk -$(PRG) 'mk$$x' ant.test.mk
literal: literal1 literal2 literal: literal1 literal2
@@ -64,13 +64,13 @@ literal: literal1 literal2
# Every line with a dollar-sign. # Every line with a dollar-sign.
# #
literal1: literal1:
$(PRG) '\$$' howe.test.mk $(PRG) '\$$' ant.test.mk
# #
# Every line with a backslash. # Every line with a backslash.
# #
literal2: literal2:
$(PRG) '\\' howe.test.mk $(PRG) '\\' ant.test.mk
# #
# wild #1# # wild #1#
@@ -78,7 +78,7 @@ literal2:
# wild #%# # wild #%#
# #
wild: wild:
$(PRG) '#.#' howe.test.mk $(PRG) '#.#' ant.test.mk
# #
# closure !! # closure !!
@@ -86,7 +86,7 @@ wild:
# closure !xxxxxx! # closure !xxxxxx!
# #
closure: closure:
$(PRG) 'closure !x*!' howe.test.mk $(PRG) 'closure !x*!' ant.test.mk
# #
# option ++ # option ++
@@ -98,45 +98,45 @@ closure:
option: option1 option2 option: option1 option2
option1: option1:
$(PRG) '+b?+' howe.test.mk $(PRG) '+b?+' ant.test.mk
option2: option2:
$(PRG) '+.?+' howe.test.mk $(PRG) '+.?+' ant.test.mk
branch: branch1 branch2 branch3 branch4 branch5 branch6 branch: branch1 branch2 branch3 branch4 branch5 branch6
branch1: branch1:
$(PRG) 'q|simple' howe.test.mk $(PRG) 'q|simple' ant.test.mk
# #
# This pattern should be the same as '(^all)|(Public)|(Grep$)'. # This pattern should be the same as '(^all)|(Public)|(Grep$)'.
# #
branch2: branch2:
$(PRG) '^all|Public|Grep$$' howe.test.mk $(PRG) '^all|Public|Grep$$' ant.test.mk
# #
# This pattern should generate the same results as branch2. # This pattern should generate the same results as branch2.
# #
branch3: branch3:
$(PRG) 'Grep$$|^all|Public' howe.test.mk $(PRG) 'Grep$$|^all|Public' ant.test.mk
# #
# Null expression between start of pattern and vertical-line. # Null expression between start of pattern and vertical-line.
# #
branch4: branch4:
$(PRG) '|Grep' howe.test.mk $(PRG) '|Grep' ant.test.mk
# #
# Null expression between vertical-line and end of pattern. # Null expression between vertical-line and end of pattern.
# #
branch5: branch5:
$(PRG) 'Grep|' howe.test.mk $(PRG) 'Grep|' ant.test.mk
# #
# Null expression between vertical-line and vertical-line. # Null expression between vertical-line and vertical-line.
# #
branch6: branch6:
$(PRG) 'all||Grep' howe.test.mk $(PRG) 'all||Grep' ant.test.mk
# #
# sub aabcbcbcxx # sub aabcbcbcxx
@@ -151,49 +151,49 @@ sub: sub0 sub1 sub2 sub3 sub4 sub5 lparen1 lparen2 rparen1 rparen2
# Null sub-expressions. # Null sub-expressions.
# #
sub0: sub0:
$(PRG) 's()u()b()' howe.test.mk $(PRG) 's()u()b()' ant.test.mk
sub1: sub1:
$(PRG) '#(1|%)#' howe.test.mk $(PRG) '#(1|%)#' ant.test.mk
sub2: sub2:
$(PRG) 'aa((bc)*|g)xx' howe.test.mk $(PRG) 'aa((bc)*|g)xx' ant.test.mk
# #
# Null expression between the left-parenthesis and the vertical-line. # Null expression between the left-parenthesis and the vertical-line.
# #
sub3: sub3:
$(PRG) '#(|1)#' howe.test.mk $(PRG) '#(|1)#' ant.test.mk
# #
# Null expression between the vertical-line and the right-parenthesis. # Null expression between the vertical-line and the right-parenthesis.
# #
sub4: sub4:
$(PRG) '#(1|)#' howe.test.mk $(PRG) '#(1|)#' ant.test.mk
# #
# Null expression between the vertical-line and the right-parenthesis. # Null expression between the vertical-line and the right-parenthesis.
# #
sub5: sub5:
$(PRG) '#(%||1)#' howe.test.mk $(PRG) '#(%||1)#' ant.test.mk
# #
# Missing left-parenthesis generates an error. # Missing left-parenthesis generates an error.
# #
lparen1: lparen1:
-$(PRG) 'left ( only' howe.test.mk -$(PRG) 'left ( only' ant.test.mk
lparen2: lparen2:
$(PRG) 'left \( only' howe.test.mk $(PRG) 'left \( only' ant.test.mk
# #
# Right-parenthesis without preceding left parenthesis should be a literal. # Right-parenthesis without preceding left parenthesis should be a literal.
# #
rparen1: rparen1:
-$(PRG) 'right ) only' howe.test.mk -$(PRG) 'right ) only' ant.test.mk
rparen2: rparen2:
$(PRG) 'right \) only' howe.test.mk $(PRG) 'right \) only' ant.test.mk
# #
# 12345678 # 12345678
@@ -215,26 +215,26 @@ rparen2:
class: class1 class2 class3 class4 class5 class6 class7 class8 class: class1 class2 class3 class4 class5 class6 class7 class8
class1: class1:
$(PRG) '=[09]=' howe.test.mk $(PRG) '=[09]=' ant.test.mk
class2: class2:
$(PRG) '=[^09]=' howe.test.mk $(PRG) '=[^09]=' ant.test.mk
class3: class3:
$(PRG) '=[]]=' howe.test.mk $(PRG) '=[]]=' ant.test.mk
class4: class4:
$(PRG) '=[^]]=' howe.test.mk $(PRG) '=[^]]=' ant.test.mk
class5: class5:
$(PRG) '=[0-9]=' howe.test.mk $(PRG) '=[0-9]=' ant.test.mk
class6: class6:
$(PRG) '=[^0-9]=' howe.test.mk $(PRG) '=[^0-9]=' ant.test.mk
class7: class7:
-$(PRG) '=[3-1]=' howe.test.mk -$(PRG) '=[3-1]=' ant.test.mk
class8: class8:
$(PRG) '=[-13]=' howe.test.mk $(PRG) '=[-13]=' ant.test.mk
+1 -1
View File
@@ -208,7 +208,7 @@ The following rules and definitions apply to bracket expressions:
an ending range point in a range expression. As examples, the an ending range point in a range expression. As examples, the
expressions [-ac] and [ac-] are equivalent and match any of expressions [-ac] and [ac-] are equivalent and match any of
the characters a, c, or -; the expressions [^-ac] and [^ac-] the characters a, c, or -; the expressions [^-ac] and [^ac-]
are equivalent and match howe character except a, c, -; the are equivalent and match ant character except a, c, -; the
expression [%--] matches any of the characters between % and expression [%--] matches any of the characters between % and
- inclusive; the expression [--@] matches any of the - inclusive; the expression [--@] matches any of the
characters between - and @ inclusive; and the expression characters between - and @ inclusive; and the expression
+1
View File
@@ -0,0 +1 @@
cmills
+3 -3
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env make #!/usr/bin/env make
# #
# IOCCC 1993 winning entry - mills # IOCCC 1993 winning entry - cmills
################################################################################ ################################################################################
# #
@@ -54,7 +54,7 @@ include ../../var.mk
#X11_LIBDIR= /usr/X11/lib #X11_LIBDIR= /usr/X11/lib
X11_LIBDIR= /opt/X11/lib X11_LIBDIR= /opt/X11/lib
# Set X11_INCLUDEDIR to the directory where the X11 include files reside # Set X11_INCDIR to the directory where the X11 include files reside
# #
#X11_INCDIR= /usr/X11R6/include #X11_INCDIR= /usr/X11R6/include
#X11_INCDIR= /usr/X11/include #X11_INCDIR= /usr/X11/include
@@ -161,7 +161,7 @@ endif
# Special flags for this entry # Special flags for this entry
############################## ##############################
# #
ENTRY= mills ENTRY= cmills
PROG= ${ENTRY} PROG= ${ENTRY}
# #
OBJ= ${PROG}.o OBJ= ${PROG}.o
+11 -1
View File
@@ -10,11 +10,21 @@
make all make all
NOTE: this entry requires `X11/Xlib.h` header file and the X11 library to
compile. The Makefile sets the additional paths to `/opt/X11/include` (`-I`
flag) and `/opt/X11/lib` (`-L` flag) but you can override it by specifying e.g.:
make X11_INCDIR=/opt/local/include X11_LIBDIR=/opt/local/lib/ all
which could compile it under macOS with MacPorts if you have the right packages
installed though it still must be run on an X11 server which means that the
example is just that: an example which might or might not work when running.
### To run ### To run
DISPLAY="your_X_server_display" DISPLAY="your_X_server_display"
export DISPLAY export DISPLAY
./mills [speed] # must be run on an X11 server ./cmills [speed] # must be run on an X11 server
where: where:
File renamed without changes.
-1
View File
@@ -1 +0,0 @@
mills
+8 -8
View File
@@ -52,15 +52,15 @@
1989 westley reversible, rot13able program that reverses and/or rot13s. 1989 westley reversible, rot13able program that reverses and/or rot13s.
1990 baruch short prog to solve N-queens problem 1990 baruch short prog to solve N-queens problem
1990 mills squished blackjack game 1990 cmills squished blackjack game
1990 dds basic interpreter, heavily compressed 1990 dds basic interpreter, heavily compressed
1990 dg rot13 done with strange cpp macros 1990 dg rot13 done with strange cpp macros
1990 jaw compress & atob standins 1990 jaw compress & atob standins
1990 mariano numerically solves the equation y'=f(x,y)
1990 pjr the quick brown fox... cppd, structs of functions 1990 pjr the quick brown fox... cppd, structs of functions
1990 scjones trigraph-abusing self-reproducing program 1990 scjones trigraph-abusing self-reproducing program
1990 stig nested-comment tester (all on command line) 1990 stig nested-comment tester (all on command line)
1990 tbr simple compressed shell, silly layout 1990 tbr simple compressed shell, silly layout
1990 theorem numerically solves the equation y'=f(x,y)
1990 westley poetic exchange between lovers, prints "luvs me, luvs not" 1990 westley poetic exchange between lovers, prints "luvs me, luvs not"
1991 brnstnd sorta stack language 1991 brnstnd sorta stack language
@@ -69,31 +69,31 @@
1991 davidguy plays life on a root window, doesn't need Xlib or include files 1991 davidguy plays life on a root window, doesn't need Xlib or include files
1991 dds basic compiler, heavily compressed 1991 dds basic compiler, heavily compressed
1991 fine rot13s lines of input 1991 fine rot13s lines of input
1991 howe compressed vi-like editor 1991 ant compressed vi-like editor
1991 rince game with sprites, boulders, dimonds, and keys 1991 rince game with sprites, boulders, dimonds, and keys
1991 westley plays tic-tac-toe, compile output for next move, prints board 1991 westley plays tic-tac-toe, compile output for next move, prints board
1992 adrian grep-like utility using a state machine transition language
1992 albert factors multi-precision numbers with factors < MAX_LONG 1992 albert factors multi-precision numbers with factors < MAX_LONG
1992 buzzard.1 print factorial, gcd or prime test using a Babbage-like engine 1992 buzzard.1 print factorial, gcd or prime test using a Babbage-like engine
1992 buzzard.2 forth-like stack machine 1992 buzzard.2 forth-like stack machine
1992 gson anagram generator 1992 gson anagram generator
1992 howe make utility 1992 ant make utility
1992 imc Mandelbrot/Julia drawer 1992 imc Mandelbrot/Julia drawer
1992 kivinen X11 space invaders, dropout and knockout games 1992 kivinen X11 space invaders, dropout and knockout games
1992 lush prints "Hello, World" using error messages 1992 lush prints "Hello, World" using error messages
1992 marangon game to balance a grid of digits to all 5's 1992 marangon game to balance a grid of digits to all 5's
1992 mariano grep-like utility using a state machine transition language
1992 nathan obfuscation by (trivial) encryption (source not exported) 1992 nathan obfuscation by (trivial) encryption (source not exported)
1992 vern plays chess 1992 vern plays chess
1992 westley print ASCII world map and mark a location by lat/long 1992 westley print ASCII world map and mark a location by lat/long
1993 dgibson plays the game of like using cpp 1993 dgibson plays the game of like using cpp
1993 ejb tower of Hanoi and patience pizzle 1993 ejb tower of Hanoi and patience pizzle
1993 howe egrep utility with Posix-like documentation 1993 ant egrep utility with Posix-like documentation
1993 jonth game of Tetris 1993 jonth game of Tetris
1993 leo game of mastermind (cows & bulls) 1993 leo game of mastermind (cows & bulls)
1993 lmfjyh source is the filename, prints value of __FILE__ 1993 lmfjyh source is the filename, prints value of __FILE__
1993 mills X11 program that shatters and bounces windows 1993 cmills X11 program that shatters and bounces windows
1993 plummer prints numbers up to a given value 1993 plummer prints numbers up to a given value
1993 rince game state machine language, comes with a number of games 1993 rince game state machine language, comes with a number of games
1993 schnitzi answers questions about English text in a file 1993 schnitzi answers questions about English text in a file
+6 -6
View File
@@ -626,9 +626,9 @@ Contest </I></FONT></CENTER><BR>
<LI TYPE=none><A NAME="Anthony_C._Howe"></A><B><a href="&#x6D;&#x61;&#x69;&#x6C;t&#111;&#58;&#97;&#99;&#x68;&#111;&#119;&#x65;&#64;&#115;&#110;&#x65;r&#x74;&#46;&#99;&#111;&#109;">Anthony C. Howe</a></B> -- <A HREF="http://www.snert.com/">http://www.snert.com/</a> <LI TYPE=none><A NAME="Anthony_C._Howe"></A><B><a href="&#x6D;&#x61;&#x69;&#x6C;t&#111;&#58;&#97;&#99;&#x68;&#111;&#119;&#x65;&#64;&#115;&#110;&#x65;r&#x74;&#46;&#99;&#111;&#109;">Anthony C. Howe</a></B> -- <A HREF="http://www.snert.com/">http://www.snert.com/</a>
<UL> <UL>
<LI TYPE=square>Best Utility (<A HREF="years.html#1991_howe">1991 howe</A>) <LI TYPE=square>Best Utility (<A HREF="years.html#1991_ant">1991 ant</A>)
<LI TYPE=square>Best Utility (<A HREF="years.html#1992_howe">1992 howe</A>) <LI TYPE=square>Best Utility (<A HREF="years.html#1992_ant">1992 ant</A>)
<LI TYPE=square>Best Utility (<A HREF="years.html#1993_howe">1993 howe</A>) <LI TYPE=square>Best Utility (<A HREF="years.html#1993_ant">1993 ant</A>)
<LI TYPE=square>Best Abuse of the Guidelines (<A HREF="years.html#2004_hibachi">2004 hibachi</A>) <LI TYPE=square>Best Abuse of the Guidelines (<A HREF="years.html#2004_hibachi">2004 hibachi</A>)
<LI TYPE=square>Best use of the WWW (<A HREF="years.html#2005_mynx">2005 mynx</A>) <LI TYPE=square>Best use of the WWW (<A HREF="years.html#2005_mynx">2005 mynx</A>)
<LI TYPE=square>Most Different (<A HREF="years.html#2015_howe">2015 howe</A>) <LI TYPE=square>Most Different (<A HREF="years.html#2015_howe">2015 howe</A>)
@@ -823,7 +823,7 @@ Contest </I></FONT></CENTER><BR>
<LI TYPE=none><A NAME="Adrian_Mariano"></A><B><a href="&#x6D;&#97;&#105;&#x6C;&#x74;&#111;&#x3A;&#x61;&#x64;&#x72;&#x69;a&#110;&#64;&#x63;&#x61;m&#x2E;&#x63;&#x6F;&#114;&#110;&#101;&#108;&#108;&#x2E;ed&#x75;">Adrian Mariano</a></B> -- <A HREF="http://cam.cornell.edu/adrian/">http://cam.cornell.edu/adrian/</a> <LI TYPE=none><A NAME="Adrian_Mariano"></A><B><a href="&#x6D;&#97;&#105;&#x6C;&#x74;&#111;&#x3A;&#x61;&#x64;&#x72;&#x69;a&#110;&#64;&#x63;&#x61;m&#x2E;&#x63;&#x6F;&#114;&#110;&#101;&#108;&#108;&#x2E;ed&#x75;">Adrian Mariano</a></B> -- <A HREF="http://cam.cornell.edu/adrian/">http://cam.cornell.edu/adrian/</a>
<UL> <UL>
<LI TYPE=square>Best of Show (<A HREF="years.html#1990_theorem">1990 theorem</A>) <LI TYPE=square>Best of Show (<A HREF="years.html#1990_theorem">1990 theorem</A>)
<LI TYPE=square>Most Educational (<A HREF="years.html#1992_mariano">1992 mariano</A>) <LI TYPE=square>Most Educational (<A HREF="years.html#1992_adrian">1992 adrian</A>)
</UL><BR> </UL><BR>
<LI TYPE=none><A NAME="Eric_Marshall"></A><B><a href="&#109;&#97;&#x69;&#108;&#116;&#x6F;&#58;&#101;r&#105;&#x63;&#64;&#x45;&#x4D;&#73;&#x45;&#110;&#103;&#x2E;&#x63;&#111;&#109;">Eric Marshall</a></B> <LI TYPE=none><A NAME="Eric_Marshall"></A><B><a href="&#109;&#97;&#x69;&#108;&#116;&#x6F;&#58;&#101;r&#105;&#x63;&#64;&#x45;&#x4D;&#73;&#x45;&#110;&#103;&#x2E;&#x63;&#111;&#109;">Eric Marshall</a></B>
@@ -848,8 +848,8 @@ Contest </I></FONT></CENTER><BR>
<LI TYPE=none><A NAME="Christopher_Mills"></A><B>Christopher Mills</B> <LI TYPE=none><A NAME="Christopher_Mills"></A><B>Christopher Mills</B>
<UL> <UL>
<LI TYPE=square>Best Game (<A HREF="years.html#1990_mills">1990 mills</A>) <LI TYPE=square>Best Game (<A HREF="years.html#1990_cmills">1990 cmills</A>)
<LI TYPE=square>"Bill Gates" Award (<A HREF="years.html#1993_mills">1993 mills</A>) <LI TYPE=square>"Bill Gates" Award (<A HREF="years.html#1993_cmills">1993 cmills</A>)
<LI TYPE=square>Most timely rendered (<A HREF="years.html#2013_mills">2013 mills</A>) <LI TYPE=square>Most timely rendered (<A HREF="years.html#2013_mills">2013 mills</A>)
<LI TYPE=square>"For the Birds!" Award (<A HREF="years.html#2015_mills1">2015 mills1</A>) <LI TYPE=square>"For the Birds!" Award (<A HREF="years.html#2015_mills1">2015 mills1</A>)
<LI TYPE=square>Most Compact (<A HREF="years.html#2015_mills2">2015 mills2</A>) <LI TYPE=square>Most Compact (<A HREF="years.html#2015_mills2">2015 mills2</A>)
+20 -20
View File
@@ -2663,13 +2663,13 @@ Contest </I></FONT></CENTER>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/ant/ant.test.mk">ant.test.mk</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/ant/ant.test.mk">ant.test.mk</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/ant/README.md">README.md</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/ant/README.md">README.md</A>
</UL> </UL>
<A NAME="1993_mills"></A> <A NAME="1993_cmills"></A>
<P><B>mills</B> - X11 program that shatters and bounces windows</P> <P><B>mills</B> - X11 program that shatters and bounces windows</P>
<UL TYPE=square> <UL TYPE=square>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/mills/Makefile">Makefile</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/cmills/Makefile">Makefile</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/mills/mills.c">mills.c</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/cmills/cmills.c">cmills.c</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/mills/README.md">README.md</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/cmills/README.md">README.md</A>
</UL> </UL>
<A NAME="1993_dgibson"></A> <A NAME="1993_dgibson"></A>
<P><B>dgibson</B> - plays the game of like using cpp</P> <P><B>dgibson</B> - plays the game of like using cpp</P>
@@ -2768,20 +2768,20 @@ Contest </I></FONT></CENTER>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mkentry.c">mkentry.c</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mkentry.c">mkentry.c</A>
<LI><A HREF="1992/1992.tar.bz2">1992.tar.bz2</A> - all of the data for 1992 (72.0 KiB) <LI><A HREF="1992/1992.tar.bz2">1992.tar.bz2</A> - all of the data for 1992 (72.0 KiB)
</UL> </UL>
<A NAME="1992_mariano"></A> <A NAME="1992_adrian"></A>
<P><B>mariano</B> - grep-like utility using a state machine transition language</P> <P><B>adrian</B> - grep-like utility using a state machine transition language</P>
<UL TYPE=square> <UL TYPE=square>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/Makefile">Makefile</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/Makefile">Makefile</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.c">mariano.c</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.c">adrian.c</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.1">mariano.grep.1</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.1">adrian.grep.1</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.2">mariano.grep.2</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.2">adrian.grep.2</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.3">mariano.grep.3</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.3">adrian.grep.3</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.4">mariano.grep.4</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.4">adrian.grep.4</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.5">mariano.grep.5</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.5">adrian.grep.5</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.from">mariano.grep.from</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.from">adrian.grep.from</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/mariano.grep.try">mariano.grep.try</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/adrian.grep.try">adrian.grep.try</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/mariano/README.md">README.md</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/adrian/README.md">README.md</A>
</UL> </UL>
<A NAME="1992_albert"></A> <A NAME="1992_albert"></A>
<P><B>albert</B> - factors multi-precision numbers with factors &lt; MAX_LONG</P> <P><B>albert</B> - factors multi-precision numbers with factors &lt; MAX_LONG</P>
@@ -3007,13 +3007,13 @@ Contest </I></FONT></CENTER>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/baruch/baruch.c">baruch.c</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/baruch/baruch.c">baruch.c</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/baruch/README.md">README.md</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/baruch/README.md">README.md</A>
</UL> </UL>
<A NAME="1990_mills"></A> <A NAME="1990_cmills"></A>
<P><B>mills</B> - squished blackjack game</P> <P><B>mills</B> - squished blackjack game</P>
<UL TYPE=square> <UL TYPE=square>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/mills/Makefile">Makefile</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/cmills/Makefile">Makefile</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/mills/mills.c">mills.c</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/cmills/cmills.c">cmills.c</A>
<LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/mills/README.md">README.md</A> <LI><A HREF="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/cmills/README.md">README.md</A>
</UL> </UL>
<A NAME="1990_dds"></A> <A NAME="1990_dds"></A>
<P><B>dds</B> - basic interpreter, heavily compressed</P> <P><B>dds</B> - basic interpreter, heavily compressed</P>