force use of pandoc version >= 3.1.12.2
The `bin/pandoc-wrapper.sh` tool will verify that the ssytem has a recent enough version of `pandoc(1)`. We explain why we insist on `pandoc(1)`. version >= 3.1.12.2 in comments where the $PANDOC_MIN_VERSION is set. Added `--wrap=preserve` as a default argument to `pandoc(1)`. While this change will impact every HTML file generated, we believe this will improve the ability of someone to look at the generated HTML and correlate with the original markdown. Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17" to "1.4.3 2024-03-18". Performed `make www` to achieve all of the above and to generate HTML using the new `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
1 parent
9eb7a54e9f
commit
b0b212acb1
402 files changed
+37061
-55132
No files matched your search
+75
-99
@@ -129,12 +129,12 @@
|
||||
|
||||
<h2 id="authors"><a name="author"></a>Authors:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#David_Van_Brackle">David Van
|
||||
Brackle</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
|
||||
<em>Unknown location</em> <br><br></li>
|
||||
<li>Name: <a href="../../authors.html#Mark_Schnitzius">Mark
|
||||
Schnitzius</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
|
||||
<em>Unknown location</em> <br><br></li>
|
||||
<li>Name: <a href="../../authors.html#David_Van_Brackle">David Van Brackle</a><br>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<br><br></li>
|
||||
<li>Name: <a href="../../authors.html#Mark_Schnitzius">Mark Schnitzius</a><br>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<br><br></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -144,79 +144,76 @@ Schnitzius</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> all</span></code></pre></div>
|
||||
<p>The authors provided a spoiler version, originally uuencoded but
|
||||
uudecoded by us in 2023. See <a href="#alternate-code">Alternate
|
||||
code</a> below.</p>
|
||||
<p>The authors provided a spoiler version, originally uuencoded but uudecoded by us
|
||||
in 2023. See <a href="#alternate-code">Alternate code</a> below.</p>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<pre><code>STATUS: missing file - please provide it</code></pre>
|
||||
<p>For more detailed information see <a
|
||||
href="../../bugs.html#1995_vanschnitz">1995 vanschnitz bugs</a>.</p>
|
||||
<p>For more detailed information see <a href="../../bugs.html#1995_vanschnitz">1995 vanschnitz bugs</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vanschnitz</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The authors provided a spoiler version of the program. Originally
|
||||
uuencoded we have decoded it for the wider audience in <a
|
||||
href="vanschnitz.alt.c">vanschnitz.alt.c</a>. The <code>uuencode</code>d
|
||||
blob is still available in their remarks below. They encourage you to
|
||||
first try and figure out the program without the spoiler.</p>
|
||||
<p>The authors provided a spoiler version of the program. Originally uuencoded we
|
||||
have decoded it for the wider audience in <a href="vanschnitz.alt.c">vanschnitz.alt.c</a>. The
|
||||
<code>uuencode</code>d blob is still available in their remarks below. They encourage you
|
||||
to first try and figure out the program without the spoiler.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>vanschnitz.alt</code> as you would <code>vanschnitz</code>
|
||||
above.</p>
|
||||
<p>Use <code>vanschnitz.alt</code> as you would <code>vanschnitz</code> above.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Back in 1995, values of <code>LEVEL>8</code> caused some compilers
|
||||
(and in one case a system) to crash during compilation. In 2023 with
|
||||
modern systems this is not really a problem.</p>
|
||||
<p>Back in 1995 we also suggested that for a bad/slow time to try
|
||||
<code>LEVEL=15</code> but this is not a big deal in 2023 either.</p>
|
||||
<p>Back in 1995, values of <code>LEVEL>8</code> caused some compilers (and in one case a
|
||||
system) to crash during compilation. In 2023 with modern systems this is not
|
||||
really a problem.</p>
|
||||
<p>Back in 1995 we also suggested that for a bad/slow time to try <code>LEVEL=15</code> but
|
||||
this is not a big deal in 2023 either.</p>
|
||||
<h2 id="authors-remarks">Authors’ remarks:</h2>
|
||||
<p>A classic problem in computer science is known as the Towers of
|
||||
Hanoi. It involves a set of different-sized disks mounted on one of
|
||||
three pegs. The object is to move the pile of disks to one of the other
|
||||
pegs. You may only move one disk at a time, and there is an additional
|
||||
constraint that a disk may never be placed on top of a smaller disk.</p>
|
||||
<p>Our program solves the Towers of Hanoi problem. Well, that’s not
|
||||
exactly true; actually, it’s the compiler that solves the problem. The
|
||||
resulting program just prints out the correct solution.</p>
|
||||
<p>How do you trick a compiler into actually solving the problem? First,
|
||||
you must tell it how many disks you wish to solve it for. This is done
|
||||
by defining the symbol <code>n</code> on the compile line. For instance,
|
||||
to cause the compiler to solve the Towers of Hanoi problem with four
|
||||
disks, you would compile the program like this:</p>
|
||||
<p>A classic problem in computer science is known as the Towers
|
||||
of Hanoi. It involves a set of different-sized disks mounted
|
||||
on one of three pegs. The object is to move the pile of disks
|
||||
to one of the other pegs. You may only move one disk at a
|
||||
time, and there is an additional constraint that a disk may
|
||||
never be placed on top of a smaller disk.</p>
|
||||
<p>Our program solves the Towers of Hanoi problem. Well, that’s
|
||||
not exactly true; actually, it’s the compiler that solves the
|
||||
problem. The resulting program just prints out the correct
|
||||
solution.</p>
|
||||
<p>How do you trick a compiler into actually solving the problem?
|
||||
First, you must tell it how many disks you wish to solve it
|
||||
for. This is done by defining the symbol <code>n</code> on the compile
|
||||
line. For instance, to cause the compiler to solve the Towers
|
||||
of Hanoi problem with four disks, you would compile the program
|
||||
like this:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> hanoi.c <span class="at">-o</span> hanoi <span class="at">-Dn</span><span class="op">=</span>4</span></code></pre></div>
|
||||
<p>A default value of <code>5</code> will be used for <code>n</code> if
|
||||
you do not define it on the command line. The value of <code>n</code>
|
||||
cannot be greater than fifteen (the compiler we used to test has a limit
|
||||
on the <code>#include</code> depth). The compiler then solves the
|
||||
problem using binary arithmetic based on whether particular symbols are
|
||||
defined or not.</p>
|
||||
<p>To loop, the program <code>#include</code>s itself. This is, of
|
||||
course, expensive; one compile we did with <code>n=14</code> took about
|
||||
fifty minutes to compile on our system (compiling with <code>n=15</code>
|
||||
caused our system to crash).</p>
|
||||
<p>The resulting program that the compiler generates simply prints out
|
||||
the answer. Did I say “simply”? Actually, the whole resulting program
|
||||
consists of a single <code>printf(3)</code> statement, consisting of a
|
||||
massive string constant of length <code>35*(2^n-1)</code>, followed by
|
||||
<code>3*(2^n-1)</code> integers which get formatted into the string. For
|
||||
our <code>n=14</code> run, this adds up to a string constant of length
|
||||
573405, followed by 49149 integers delimited by commas. (Generating the
|
||||
string constant depends on the ANSI C feature in which adjacent
|
||||
character strings are concatenated; a version that does not use this
|
||||
feature has been included for people who can only run K&R). A good
|
||||
way to see the resulting program (on a Unix system) is to do the
|
||||
command</p>
|
||||
<p>A default value of <code>5</code> will be used for <code>n</code> if you do not define
|
||||
it on the command line. The value of <code>n</code> cannot be greater than
|
||||
fifteen (the compiler we used to test has a limit on the <code>#include</code>
|
||||
depth). The compiler then solves the problem using binary
|
||||
arithmetic based on whether particular symbols are defined or not.</p>
|
||||
<p>To loop, the program <code>#include</code>s itself. This is, of course, expensive; one
|
||||
compile we did with <code>n=14</code> took about fifty minutes to compile on our system
|
||||
(compiling with <code>n=15</code> caused our system to crash).</p>
|
||||
<p>The resulting program that the compiler generates simply
|
||||
prints out the answer. Did I say “simply”? Actually, the
|
||||
whole resulting program consists of a single <code>printf(3)</code> statement,
|
||||
consisting of a massive string constant of length <code>35*(2^n-1)</code>,
|
||||
followed by <code>3*(2^n-1)</code> integers which get formatted into the
|
||||
string. For our <code>n=14</code> run, this adds up to a string constant
|
||||
of length 573405, followed by 49149 integers delimited by
|
||||
commas. (Generating the string constant depends on the
|
||||
ANSI C feature in which adjacent character strings are
|
||||
concatenated; a version that does not use this feature has been
|
||||
included for people who can only run K&R). A good way to see
|
||||
the resulting program (on a Unix system) is to do the command</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> hanoi.c <span class="at">-E</span> <span class="at">-Dn</span><span class="op">=</span>5 <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-v</span> <span class="dt">\#</span> <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-v</span> ^<span class="dt">\$</span></span></code></pre></div>
|
||||
<p>For an odd number of disks, the program will provide a solution
|
||||
wherein the disks end up on peg 2; for an even number of disks, they
|
||||
will end on peg 3. This should provide some hint as to what sort of
|
||||
algorithm is used.</p>
|
||||
<p>We have included a <a href="spoiler.c">spoiler</a> version of the
|
||||
program, with meaningful symbol names and comments, but we encourage you
|
||||
<p>For an odd number of disks, the program will provide a
|
||||
solution wherein the disks end up on peg 2; for an even
|
||||
number of disks, they will end on peg 3. This should
|
||||
provide some hint as to what sort of algorithm is used.</p>
|
||||
<p>We have included a <a href="spoiler.c">spoiler</a> version of the program, with
|
||||
meaningful symbol names and comments, but we encourage you
|
||||
to try to decipher the program without it…</p>
|
||||
<pre><code>begin 444 spoiler.c
|
||||
M(VEF;F1E9B`@24Y)5$E!3$E:140*"B\J"B`J("!)9B!N(&ES;B=T(&1E9FEN
|
||||
@@ -296,56 +293,35 @@ M"@HC96YD:68@("\J("-E;'-E(&]F("-I9FYD968@24Y)5$E!3$E
|
||||
`
|
||||
end
|
||||
</code></pre>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
|
||||
License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
|
||||
Reserved. You are free to share and adapt this file under the terms of
|
||||
this license:</p>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
You are free to share and adapt this file under the terms of this license:</p>
|
||||
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
|
||||
<p>For more information, see:
|
||||
https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
<h1 id="inventory-for-1995vanschnitz"><a name="inventory"></a>Inventory
|
||||
for 1995/vanschnitz</h1>
|
||||
<h1 id="inventory-for-1995vanschnitz"><a name="inventory"></a>Inventory for 1995/vanschnitz</h1>
|
||||
<p><a href="#top">Jump to top</a></p>
|
||||
<h2 id="primary-files">Primary files</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.c">vanschnitz.c</a>
|
||||
- entry source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/Makefile">Makefile</a>
|
||||
- entry Makefile</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">vanschnitz.alt.c</a>
|
||||
- alternative source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.orig.c">vanschnitz.orig.c</a>
|
||||
- original source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/try.sh">try.sh</a>
|
||||
- how to run</li>
|
||||
<li><a href="1995_vanschnitz.tar.bz2">1995_vanschnitz.tar.bz2</a> -
|
||||
download entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.c">vanschnitz.c</a> - entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">vanschnitz.alt.c</a> - alternative source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.orig.c">vanschnitz.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="1995_vanschnitz.tar.bz2">1995_vanschnitz.tar.bz2</a> - download entry source</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="index.html">index.html</a> - entry home page</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.entry.json">.entry.json</a>
|
||||
- description of entry in JSON</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.gitignore">.gitignore</a>
|
||||
- list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href=".path">.path</a> - directory path from top directory</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/README.md">README.md</a>
|
||||
- markdown source for index.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/README.md">README.md</a> - markdown source for index.html</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
Reference in new issue
Block a user