Merge pull request #1932 from xexyl/95-garry-gitignore

Update 1995/garry.gitignore - add garry.fmt
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-01-18 14:50:31 -08:00
commit 892d8ece2f
12 files changed
+190 -56

No files matched your search

+1
View File
@@ -3,6 +3,7 @@
*.dSYM
garry
garry.alt
garry.fmt
garry.orig
indent
indent.c
+1 -3
View File
@@ -15,9 +15,7 @@ make all
## Try:
```sh
./schnitzi 24
./schnitzi 18
./schnitzi 30
./try.sh
```
WARNING: the author warns to not use too high a number! If you wish to ignore
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC winner 1995/schnitzi
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
read -r -n 1 -p "Press any key to run: ./schnitzi 24 (space = next page, q = quit): "
echo 1>&2
./schnitzi 24 | less -rEXF
echo 1>&2
read -r -n 1 -p "Press any key to run: ./schnitzi 18 (space = next page, q = quit): "
echo 1>&2
./schnitzi 18 | less -rEXF
echo 1>&2
read -r -n 1 -p "Press any key to run: ./schnitzi 30 (space = next page, q = quit): "
echo 1>&2
./schnitzi 30 | less -rEXF
echo 1>&2
+1 -2
View File
@@ -29,8 +29,7 @@ For more detailed information see [1995 vanschnitz in bugs.md](/bugs.md#1995-van
## Try:
```sh
make clobber all LEVEL=6
./vanschnitz
./try.sh
```
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC winner 1995/vanschnitz
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
read -r -n 1 -p "Press any key to run: ./vanschnitz (space = next page, q = quit): "
echo 1>&2
./vanschnitz | less -rEXF
echo 1>&2
for i in $(seq 1 6); do
read -r -n 1 -p "Press any key to set level at $i (make clobber all LEVEL=$i): "
echo 1>&2
make clobber all LEVEL="$i"
read -r -n 1 -p "Press any key to run: ./vanschnitz (space = next page, q = quit): "
echo 1>&2
./vanschnitz | less -rEXF
done
+1 -1
View File
@@ -41,7 +41,7 @@ The above should print a `!` followed by a newline.
## Judges' remarks:
This entry can feed on itself. If you C pre-process the source,
you compile the interpreter:
you can compile the interpreter:
```sh
make august.oc
+49 -4
View File
@@ -15,26 +15,71 @@ make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
set -x
read -r -n 1 -p "Press any key to run: cat august.c test.oc | ./august > test.oo: "
echo 1>&2
cat august.c test.oc | ./august > test.oo
echo 1>&2
read -r -n 1 -p "Press any key to run: ./august < test.oo: "
echo 1>&2
./august < test.oo
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.c fac.oc | ./august > fac.oo: "
echo 1>&2
cat august.c fac.oc | ./august > fac.oo
echo 1>&2
read -r -n 1 -p "Press any key to run: ./august < fac.oo: "
echo 1>&2
./august < fac.oo
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.c fac.oc | ./august | ./august: "
echo 1>&2
cat august.c fac.oc | ./august | ./august
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.c parse.oc | ./august > parse.oo: "
echo 1>&2
cat august.c parse.oc | ./august > parse.oo
cat parse.oo fac.oc | ./august | ./august
echo 1>&2
rm august.oc
make august.oc
read -r -n 1 -p "Press any key to run: cat parse.oo fac.oc | ./august | ./august: "
echo 1>&2
cat parse.oo fac.oc | ./august | ./august
echo 1>&2
read -r -n 1 -p "Press any key to run: rm august.oc; make august.oc: "
echo 1>&2
rm august.oc; make august.oc
echo 1>&2
# this next step is vital for some compilers! Not having it will make the
# compiler create code that enters an infinite loop. This is known to happen in
# macOS as one example.
read -r -n 1 -p "Press any key to run: sed -i'' '/^#/d' august.oc: "
echo 1>&2
sed -i'' '/^#/d' august.oc
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.c august.oc | ./august > august.oo: "
echo 1>&2
cat august.c august.oc | ./august > august.oo
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.oo test.oo | ./august: "
echo 1>&2
cat august.oo test.oo | ./august
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.oo august.oo fac.oo | ./august: "
echo 1>&2
cat august.oo august.oo fac.oo | ./august
echo 1>&2
read -r -n 1 -p "Press any key to run: cat august.oo august.oo august.oo fac.oo | ./august: "
echo 1>&2
echo "This step may take more time: " 1>&2
cat august.oo august.oo august.oo fac.oo | ./august
echo 1>&2
+1 -1
View File
@@ -15,7 +15,7 @@ make all
## Try:
```sh
./dalbec 3 | head -n 29
./try.sh
```
Why does the output end with 121?
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
#
# try.sh - show IOCCC winner 1996/dalbec
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
read -r -n 1 -p "Press any key to run: ./dalbec 5 | head -n 29 (space = next page, q = quit): "
echo 1>&2
./dalbec 5 | head -n 29 | less -rEXF
echo 1>&2
read -r -n 1 -p "Press any key to run: ./dalbec 3 | head -n 29 (space = next page, q = quit): "
echo 1>&2
./dalbec 3 | head -n 29 | less -rEXF
echo 1>&2
+25 -40
View File
@@ -23,98 +23,83 @@ rm -f hatcat.txt cathat.txt hatcat2.txt cathat2.txt hatcat3.txt cathat3.txt
trap 'rm -f hatcat.txt cathat.txt hatcat2.txt cathat2.txt hatcat3.txt cathat3.txt; exit' 0 1 2 3 15
delete_tmp_files()
{
rm -f hatcat.txt cathat.txt hatcat2.txt cathat2.txt hatcat3.txt cathat3.txt
return 0
}
press_any_key()
{
echo 1>&2
read -r -n 1 -p "Press any key to continue (q = quit): " 1>&2
test "$REPLY" = "q" && delete_tmp_files && echo 1>&2 && exit
}
show_diff()
{
if [[ "$#" -ne 2 ]]; then
echo "$0: show_diff expects two args, got: $#" 1>&2
exit 1
fi
echo "$ diff $1 $2" 1>&2
read -r -n 1 -p "Press any key to run: diff $1 $2: "
echo 1>&2
diff "$1" "$2" && echo "$1 and $2 are identical"
echo 1>&2
}
echo "Notice how the programs are the same:" 1>&2
read -r -n 1 -p "Press any key to run: diff -s hatcat cathat: "
echo 1>&2
diff -s hatcat cathat
press_any_key
echo 1>&2
echo "Now notice how running both cathat and hatcat in different ways" 1>&2
echo "Next notice how running both cathat and hatcat in different ways" 1>&2
echo "shows different output." 1>&2
press_any_key
echo "Running hatcat without a path:" 1>&2
echo "$ PATH=.:\$PATH" 1>&2
read -r -n 1 -p "Press any key to run: PATH=.:\$PATH: "
echo 1>&2
PATH=.:$PATH
echo "$ hatcat | tee hatcat.txt" 1>&2
read -r -n 1 -p "Press any key to run: hatcat | tee hatcat.txt (no path): "
echo 1>&2
hatcat | tee hatcat.txt
press_any_key
echo 1>&2
echo "Running cathat without a path:" 1>&2
echo "$ cathat | tee cathat.txt" 1>&2
read -r -n 1 -p "Press any key to run: cathat | tee cathat.txt (no path): "
echo 1>&2
cathat | tee cathat.txt
press_any_key
echo 1>&2
echo "Showing diff between the above two commands, 'hatcat' and './cathat':" 1>&2
show_diff hatcat.txt cathat.txt
press_any_key
echo "Now watch ./hatcat:" 1>&2
read -r -n 1 -p "Press any key to run: ./hatcat | tee hatcat2.txt: "
echo 1>&2
./hatcat | tee hatcat2.txt
press_any_key
echo "Now watch ./cathat:" 1>&2
read -r -n 1 -p "Press any key to run: ./cathat | tee cathat2.txt: "
echo 1>&2
./cathat | tee cathat2.txt
press_any_key
echo "Showing diff between running 'hatcat' and './hatcat':" 1>&2
show_diff hatcat.txt hatcat2.txt
press_any_key
echo "Now watch \$(pwd)/cathat" 1>&2
read -r -n 1 -p "Press any key to run: \$(pwd)/cathat | tee cathat3.txt: "
echo 1>&2
"$(pwd)"/cathat | tee cathat3.txt
press_any_key
echo "Finally, watch \$(pwd)/hatcat" 1>&2
read -r -n 1 -p "Press any key to run: \$(pwd)/hatcat | tee hatcat3.txt: "
echo 1>&2
"$(pwd)"/hatcat | tee hatcat3.txt
press_any_key
echo "Showing diff between running './hatcat' and './cathat':" 1>&2
show_diff hatcat2.txt cathat2.txt
press_any_key
echo "Showing diff between running '\$(pwd)/hatcat' and '\$(pwd)/cathat':" 1>&2
show_diff hatcat3.txt cathat3.txt
press_any_key
echo "Showing diff between running '\$(pwd)/hatcat' and 'hatcat':" 1>&2
show_diff hatcat3.txt hatcat.txt
press_any_key
echo "Showing diff between running '\$(pwd)/hatcat' and './hatcat':" 1>&2
show_diff hatcat3.txt hatcat2.txt
press_any_key
echo "Showing diff between running '\$(pwd)/cathat' and 'cathat':" 1>&2
show_diff cathat3.txt cathat.txt
press_any_key
echo "Showing diff between running '\$(pwd)/cathat' and './cathat':" 1>&2
show_diff cathat3.txt cathat2.txt
press_any_key
# remove temporary files
rm -f hatcat.txt cathat.txt hatcat2.txt cathat2.txt hatcat3.txt cathat3.txt
echo 1>&2
echo "Now answer: why did some of the same programs execute differently?" 1>&2
rm -f hatcat.txt cathat.txt hatcat2.txt cathat2.txt hatcat3.txt cathat3.txt
+8 -3
View File
@@ -45,11 +45,16 @@ make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
echo "$ echo 'seeing or feeling is believing' | ./huffman" 1>&2
read -r -n 1 -p "Press any key to run: echo 'seeing or feeling is believing' | ./huffman: "
echo 1>&2
echo 'seeing or feeling is believing' | ./huffman 2>/dev/null
echo 1>&2
echo "$ echo 'CC OR NOT CC' | ./huffman" 1>&2
read -r -n 1 -p "Press any key to run: echo 'CC OR NOT CC' | ./huffman: "
echo 1>&2
echo 'CC OR NOT CC' | ./huffman 2>/dev/null
echo 1>&2
echo "$ $ echo 'CC OR NOT CC' | ./huffman | ./huffman" 1>&2
read -r -n 1 -p "Press any key to run: echo 'CC OR NOT CC' | ./huffman | ./huffman: "
echo 1>&2
echo 'CC OR NOT CC' | ./huffman 2>/dev/null | ./huffman 2>/dev/null
+11 -2
View File
@@ -2074,6 +2074,11 @@ calls which has the four args.
[Cody](#cody) added the [try.sh](/1995/savastio/try.sh) script.
## <a name="1995_schnitzi"></a>[1995/schnitzi](/1995/schnitzi/schnitzi.c) ([README.md](/1995/schnitzi/README.md]))
[Cody](#cody) added the [try.sh](/1995/schnitzi/try.sh) script.
## <a name="1995_vanschnitz"></a>[1995/vanschnitz](/1995/vanschnitz/vanschnitz.c) ([README.md](/1995/vanschnitz/README.md))
[Cody](#cody) added the authors' [spoiler as a C
@@ -2082,6 +2087,8 @@ cases all the code should be available for the wider audience, without having to
extract it. The exception is when the files are created by the entry or the
entry decrypts the text or something like that.
Cody also added the [try.sh](/1995/vanschnitz/try.sh) script.
# <a name="1996"></a>1996
@@ -2092,8 +2099,8 @@ entry decrypts the text or something like that.
also fixed an infinite loop in the try commands. The problem with the infinite
loop is that the file `august.oc` had to have lines starting with `#` removed
and it was not being done. After this is done with say `sed(/1)` (like `sed -i''
'/^#/d' august.oc` which has been added to both the remarks and the try.sh
script as described below) the code can proceed. This problem existed in macOS.
'/^#/d' august.oc` which has been added to both the remarks and the `try.sh`
script noted below) the code can proceed. This problem existed in macOS.
Cody also added the [try.sh](/1996/august/try.sh) script that runs all the
commands given in the try section to simplify it as there are quite a lot of
@@ -2116,6 +2123,8 @@ number is printed on a line by itself rather than having a long string of
numbers on the same line. This was not put in an alternate version but perhaps
it should be.
Cody also added the [try.sh](/1996/dalbec/try.sh) script.
## <a name="1996_eldby"></a>[1996/eldby](/1996/eldby/eldby.c) ([README.md](/1996/eldby/README.md]))