From 9a283ae744d5a08ed0ea2f6eebb47b66e190f519 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Sun, 14 Jan 2024 10:50:02 -0800
Subject: [PATCH] Add 1993/ant/try.txt and ants.txt
The ants.txt file is something that kids throughout the English speaking
world are tortured with, some having been forced to repeat it many,
many, many, too many times, but which fits well here: a grep program
called 'ant' should find lots of ants :-) (and it is a fun use .. or
maybe I just wish to subject others to the torture I was subjected to
decades ago? :-) )
---
1993/ant/README.md | 4 +---
1993/ant/ants.txt | 60 ++++++++++++++++++++++++++++++++++++++++++++++
1993/ant/try.sh | 41 +++++++++++++++++++++++++++++++
thanks-for-help.md | 6 +++++
4 files changed, 108 insertions(+), 3 deletions(-)
create mode 100644 1993/ant/ants.txt
create mode 100755 1993/ant/try.sh
diff --git a/1993/ant/README.md b/1993/ant/README.md
index d8e45d594..e509d18b0 100644
--- a/1993/ant/README.md
+++ b/1993/ant/README.md
@@ -25,10 +25,8 @@ For more detailed information see [1993 ant in bugs.md](/bugs.md#1993-ant).
### Try:
-You may also want to try the author's test suite:
-
```sh
-make -f ant.test.mk
+./try.sh
```
diff --git a/1993/ant/ants.txt b/1993/ant/ants.txt
new file mode 100644
index 000000000..50037e126
--- /dev/null
+++ b/1993/ant/ants.txt
@@ -0,0 +1,60 @@
+The ants go marching one by one, hurrah, hurrah
+The ants go marching one by one, hurrah, hurrah
+The ants go marching one by one,
+The little one stops to suck his thumb
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching two by two, hurrah, hurrah
+The ants go marching two by two, hurrah, hurrah
+The ants go marching two by two,
+The little one stops to tie his shoe
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching three by three, hurrah, hurrah
+The ants go marching three by three, hurrah, hurrah
+The ants go marching three by three,
+The little one stops to climb a tree
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching four by four, hurrah, hurrah
+The ants go marching four by four, hurrah, hurrah
+The ants go marching four by four,
+The little one stops to shut the door
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching five by five, hurrah, hurrah
+The ants go marching five by five, hurrah, hurrah
+The ants go marching five by five,
+The little one stops to take a dive
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching six by six, hurrah, hurrah
+The ants go marching six by six, hurrah, hurrah
+The ants go marching six by six,
+The little one stops to pick up sticks
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching seven by seven, hurrah, hurrah
+The ants go marching seven by seven, hurrah, hurrah
+The ants go marching seven by seven,
+The little one stops to pray to heaven
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching eight by eight, hurrah, hurrah
+The ants go marching eight by eight, hurrah, hurrah
+The ants go marching eight by eight,
+The little one stops to roller skate
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching nine by nine, hurrah, hurrah
+The ants go marching nine by nine, hurrah, hurrah
+The ants go marching nine by nine,
+The little one stops to check the time
+And they all go marching down to the ground
+To get out of the rain, BOOM! BOOM! BOOM!
+The ants go marching ten by ten, hurrah, hurrah
+The ants go marching ten by ten, hurrah, hurrah
+The ants go marching ten by ten,
+The little one stops to shout "The End",
+And they all go marching down to the ground
+To get out of the rain.
diff --git a/1993/ant/try.sh b/1993/ant/try.sh
new file mode 100755
index 000000000..331d88553
--- /dev/null
+++ b/1993/ant/try.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+#
+# try.sh - demonstrate IOCCC winner 1993/ant
+#
+
+# 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: ./ant ant README.md: "
+echo 1>&2
+./ant ant README.md
+echo 1>&2
+
+read -r -n 1 -p "Press any key to run: ./ant '\[' ant.txt: "
+echo 1>&2
+./ant '\[' ant.txt
+echo 1>&2
+
+echo "Note: the next one should show: ag: Pattern too long." 1>&2
+read -r -n 1 -p "Press any key to run: ./ant '[' ant.txt: "
+echo 1>&2
+./ant '[' ant.txt
+echo 1>&2
+
+read -r -n 1 -p "Press any key to run: ./ant ant ants.txt | cut -d: -f2 (space = next page, q = quit): "
+echo 1>&2
+./ant ant ants.txt | cut -d: -f2 | less -rEXF
+echo 1>&2
+
+read -r -n 1 -p "Press any key to run the test suite (make -f ant.test.mk) (space = next page, q = quit): "
+echo 1>&2
+make -f ant.test.mk | less -rEXF
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 2c710308f..3c805708d 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -1703,6 +1703,12 @@ encourage you to try the original without two args :-)
# 1993
+## [1993/ant](/1993/ant/ant.c) ([README.md](/1993/ant/README.md]))
+
+[Cody](#cody) added the [try.sh](/1993/ant/try.sh) script and a data file,
+[ants.txt](/1993/ant/ants.txt), full of ants for the script.
+
+
## [1993/cmills](/1993/cmills/cmills.c) ([README.md](/1993/cmills/README.md]))
[Yusuke](#yusuke) suggested that with modern systems this goes too fast so he added a call