summaryrefslogtreecommitdiff
path: root/doc/examples/loop.m4
diff options
context:
space:
mode:
authorGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
committerGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
commit578bd023ea85d57d8488b8cb88265fbe3a3071e4 (patch)
treecc5a6088277c1a747041f5969cf21d7fca2ca4f1 /doc/examples/loop.m4
parent1eacf10370529972a7407bdbb368f5f69f87a1b8 (diff)
downloadm4-578bd023ea85d57d8488b8cb88265fbe3a3071e4.tar.gz
configury: move usage examples into doc subdirectory.
* examples: Move from here... * doc/examples: ...to here. * Makefile.am (EXTRA_DIST, dist_pkgdata_DATA): Adjust. * README, doc/m4.texi, tests/builtins.at, tests/generate.awk, tests/others.at: Likewise. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'doc/examples/loop.m4')
-rw-r--r--doc/examples/loop.m418
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/examples/loop.m4 b/doc/examples/loop.m4
new file mode 100644
index 00000000..b2fc64c4
--- /dev/null
+++ b/doc/examples/loop.m4
@@ -0,0 +1,18 @@
+dnl Stress test for recursion algorithms. Usage:
+dnl m4 -Ipath/to/examples [-Doptions] loop.m4
+dnl Options include:
+dnl -Dalt[=<n>] - test with foreachq<n> instead of foreachq2, default 3
+dnl -Dlimit=<num> - set upper limit of sequence to <num>, default 1000
+dnl -Dverbose - print the sequence to the screen, rather than discarding
+dnl -Ddebug[=<code>] - execute <code> after forloop but before foreach
+dnl -Dsleep=<num> - sleep for <num> seconds before exit, to allow time
+dnl to examine peak process memory usage
+include(`forloop2.m4')dnl
+include(`quote.m4')dnl
+ifelse(alt, `alt', `define(`alt', `2')', alt, `', `define(`alt', `3')')dnl
+include(`foreachq'alt`.m4')dnl
+ifdef(`limit', `', `define(`limit', `1000')')dnl
+ifdef(`verbose', `', `divert(`-1')')dnl
+ifdef(`debug', `', `define(`debug')')dnl
+foreachq(`i', dquote(1forloop(`i', `2', limit, `,i'))debug, ` i')
+ifdef(`sleep',`syscmd(`echo done>/dev/tty;sleep 'sleep)')dnl