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:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+73 -111
View File
@@ -129,9 +129,9 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Fabrice_Bellard">Fabrice
Bellard</a><br> Location: <a href="../../location.html#FR">FR</a> -
<em>French Republic</em> (<em>France</em>) <br><br></li>
<li>Name: <a href="../../authors.html#Fabrice_Bellard">Fabrice Bellard</a><br>
Location: <a href="../../location.html#FR">FR</a> - <em>French Republic</em> (<em>France</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -145,8 +145,7 @@ Bellard</a><br> Location: <a href="../../location.html#FR">FR</a> -
<p>The current status of this entry is:</p>
<pre><code>STATUS: INABIAF - please **DO NOT** fix
STATUS: doesn&#39;t work with some platforms - please help us fix</code></pre>
<p>For more detailed information see <a
href="../../bugs.html#2001_bellard">2001 bellard bugs</a>.</p>
<p>For more detailed information see <a href="../../bugs.html#2001_bellard">2001 bellard 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">./bellard</span> file</span></code></pre></div>
<h2 id="try">Try:</h2>
@@ -154,18 +153,17 @@ href="../../bugs.html#2001_bellard">2001 bellard bugs</a>.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p><code>&lt;JUDGES_COMMENTS&gt;</code> :-)</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p><code>OTCC</code> is an Obfuscated Tiny C Compiler for i386-linux. It
generates FAST! i386 32 bit code (no bytecode) and it is powerful enough
to compile itself. <code>OTCC</code> supports a strict subset of C. This
subset is compilable by a standard ANSI C compiler. <code>OTCC</code>
compiles, assembles, links and runs C code without the need of any other
<p><code>OTCC</code> is an Obfuscated Tiny C Compiler for i386-linux. It generates
FAST! i386 32 bit code (no bytecode) and it is powerful enough to
compile itself. <code>OTCC</code> supports a strict subset of C. This subset is
compilable by a standard ANSI C compiler. <code>OTCC</code> compiles,
assembles, links and runs C code without the need of any other
program.</p>
<p>You can use it by typing:</p>
<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="ex">./bellard</span> bellard.c <span class="pp">[</span><span class="ss">args</span><span class="pp">]</span>...</span></code></pre></div>
<p>or by giving the C source to its standard input.</p>
<p><code>args</code> are given to the <code>main()</code> function of
<code>bellard.c</code> (<code>argv[0]</code> is <a
href="bellard.c">bellard.c</a>).</p>
<p><code>args</code> are given to the <code>main()</code> function of <code>bellard.c</code> (<code>argv[0]</code> is
<a href="bellard.c">bellard.c</a>).</p>
<h3 id="examples">Examples:</h3>
<ul>
<li>Sample compilation and execution:</li>
@@ -179,67 +177,53 @@ href="bellard.c">bellard.c</a>).</p>
<li>Self compilation iterated…</li>
</ul>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./bellard</span> bellard.c bellard.c bellard.otccex.c 10</span></code></pre></div>
<p>An alternate syntax is to use it as a script interpreter: you can put
<code>#!/usr/local/bin/otcc</code> at the beginning of your C source if
<p>An alternate syntax is to use it as a script interpreter: you can
put <code>#!/usr/local/bin/otcc</code> at the beginning of your C source if
you installed <code>otcc</code> at this place.</p>
<h3
id="supported-c-language-subset-read-joint-example-bellard.otccex.c-to-have-an-introduction-to-otcc-dialect">Supported
C language subset (read joint example <a
href="bellard.otccex.c">bellard.otccex.c</a> to have an introduction to
<code>OTCC</code> dialect)</h3>
<h3 id="supported-c-language-subset-read-joint-example-bellard.otccex.c-to-have-an-introduction-to-otcc-dialect">Supported C language subset (read joint example <a href="bellard.otccex.c">bellard.otccex.c</a> to have an introduction to <code>OTCC</code> dialect)</h3>
<h4 id="expressions">Expressions:</h4>
<ul>
<li><p>binary operators, in decreasing precedence order: <code>*</code>
<code>/</code> <code>%</code>, <code>+</code> <code>-</code>,
<code>&gt;&gt;</code> <code>&lt;&lt;</code>, <code>&lt;</code>
<code>&lt;=</code> <code>&gt;</code> <code>&gt;=</code>, <code>==</code>
<code>!=</code>, <code>&amp;</code>, <code>^</code>, <code>|</code>,
<code>=</code>, <code>&amp;&amp;</code>, <code>||</code>.</p></li>
<li><p><code>&amp;&amp;</code> and <code>||</code> have the same
semantics as in C: left to right evaluation and early exit
(short-circuited).</p></li>
<li><p>binary operators, in decreasing precedence order: <code>*</code> <code>/</code> <code>%</code>,
<code>+</code> <code>-</code>, <code>&gt;&gt;</code> <code>&lt;&lt;</code>, <code>&lt;</code> <code>&lt;=</code> <code>&gt;</code> <code>&gt;=</code>, <code>==</code> <code>!=</code>, <code>&amp;</code>,
<code>^</code>, <code>|</code>, <code>=</code>, <code>&amp;&amp;</code>, <code>||</code>.</p></li>
<li><p><code>&amp;&amp;</code> and <code>||</code> have the same semantics as in C: left to right
evaluation and early exit (short-circuited).</p></li>
<li><p>Parenthesis are supported.</p></li>
<li><p>Unary operators: <code>&amp;</code>, <code>*</code> (pointer
indirection), <code>-</code> (negation), <code>+</code>, <code>!</code>,
<code>~</code>, postfix <code>++</code> and <code>--</code>.</p></li>
<li><p>Pointer indirection (<code>*</code>) only works with explicit
cast to <code>char *</code>, <code>int *</code> or
<code>int (*)()</code> (function pointer).</p></li>
<li><p><code>++</code>, <code>--</code>, and unary <code>&amp;</code>
can only be used with variable lvalue (left value).</p></li>
<li><p><code>=</code> can only be used with variable or <code>*</code>
(pointer indirection) lvalue.</p></li>
<li><p>Function calls are supported <em>with standard
<strong>i386</strong> calling convention</em>. Function pointers are
supported <em>with explicit cast</em>. Functions can be used before
being declared.</p></li>
<li><p>Types: only signed integer (<code>int</code>) variables and
functions can be declared. Variables cannot be initialized in
<li><p>Unary operators: <code>&amp;</code>, <code>*</code> (pointer indirection), <code>-</code>
(negation), <code>+</code>, <code>!</code>, <code>~</code>, postfix <code>++</code> and <code>--</code>.</p></li>
<li><p>Pointer indirection (<code>*</code>) only works with explicit cast to
<code>char *</code>, <code>int *</code> or <code>int (*)()</code> (function pointer).</p></li>
<li><p><code>++</code>, <code>--</code>, and unary <code>&amp;</code> can only be used with variable
lvalue (left value).</p></li>
<li><p><code>=</code> can only be used with variable or <code>*</code> (pointer
indirection) lvalue.</p></li>
<li><p>Function calls are supported <em>with standard <strong>i386</strong> calling
convention</em>. Function pointers are supported <em>with explicit
cast</em>. Functions can be used before being declared.</p></li>
<li><p>Types: only signed integer (<code>int</code>) variables and functions can
be declared. Variables cannot be initialized in
declarations. <em>Only old K&amp;R function declarations are parsed
(implicit integer return value and no types on arguments)</em>.</p></li>
<li><p>Any function or variable from the libc can be used because
<code>OTCC</code> uses the libc dynamic linker to resolve undefined
symbols.</p></li>
<li><p>Instructions: blocks (<code>{</code> <code>}</code>) are
supported as in C. <code>if</code> and <code>else</code> can be used for
tests. The <code>while</code> and <code>for</code> C loops are
supported. <code>break</code> can be used to exit loops.
<code>return</code> is used for the return value of a function.</p></li>
<li><p>Any function or variable from the libc can be used because <code>OTCC</code>
uses the libc dynamic linker to resolve undefined symbols.</p></li>
<li><p>Instructions: blocks (<code>{</code> <code>}</code>) are supported as in C. <code>if</code> and
<code>else</code> can be used for tests. The <code>while</code> and <code>for</code> C loops are supported.
<code>break</code> can be used to exit loops. <code>return</code> is used for the return value of a
function.</p></li>
<li><p>Identifiers are parsed the same way as C. Local variables are
handled, but there is no local name space (not a problem if different
names are used for local and global variables).</p></li>
<li><p>Numbers can be entered in decimal, hexadecimal (<code>0x</code>
or <code>0X</code> prefix), or octal (<code>0</code> prefix).</p></li>
<li><p><code>#define</code> is supported without function like
arguments. <em>No macro recursion is tolerated</em>; <em>other
preprocessor directives are ignored</em>.</p></li>
<li><p>C Strings and C character constants are supported. Only
<code>\n</code>, <code>\"</code>, <code>\'</code> and <code>\\</code>
escapes are recognized.</p></li>
handled, but there is no local name space (not a problem if
different names are used for local and global variables).</p></li>
<li><p>Numbers can be entered in decimal, hexadecimal (<code>0x</code> or <code>0X</code>
prefix), or octal (<code>0</code> prefix).</p></li>
<li><p><code>#define</code> is supported without function like arguments. <em>No macro
recursion is tolerated</em>; <em>other preprocessor directives are
ignored</em>.</p></li>
<li><p>C Strings and C character constants are supported. Only <code>\n</code>,
<code>\"</code>, <code>\'</code> and <code>\\</code> escapes are recognized.</p></li>
<li><p>C Comments can be used (but no C++ comments).</p></li>
<li><p>No error is displayed if an incorrect program is given.</p></li>
<li><p>Memory: the code, data, and symbol sizes are limited to 100KB (it
can be changed in the source code).</p></li>
<li><p>Memory: the code, data, and symbol sizes are limited to 100KB
(it can be changed in the source code).</p></li>
</ul>
<h3 id="obfuscation">Obfuscation:</h3>
<p>No special effort was needed because obfuscation is almost
@@ -247,68 +231,46 @@ unavoidable for such a program :-) <code>#define</code>s must be used to
compress the code, and integrated i386 code generator leads to non
obvious code.</p>
<h3 id="portability">Portability:</h3>
<p><code>OTCC</code> only works on i386 linux because it generates i386
code. <code>OTCC</code> also relies on little endianness, unaligned
memory accesses and ASCII representation of characters. It also supposes
that no valid pointers are less than 512. If all those constraints are
met, then <code>OTCC</code> could be theoretically used to “cross
compile”, although no such support is currently integrated.</p>
<p><code>OTCC</code> only works on i386 linux because it generates i386 code. <code>OTCC</code>
also relies on little endianness, unaligned memory accesses and
ASCII representation of characters. It also supposes that no valid
pointers are less than 512. If all those constraints are met, then
<code>OTCC</code> could be theoretically used to “cross compile”, although no
such support is currently integrated.</p>
<p>It was successfully compiled with gcc version 2.95.2. You get some
warnings because old K&amp;R prototypes are used, some casts are
implicit and some functions are used before being defined.
<code>OTCC</code> uses the dynamic linker to resolve symbols with
<code>dlsym(3)</code>, so <code>-ldl</code> must be used when you
compile and link it.</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>
warnings because old K&amp;R prototypes are used, some casts are implicit
and some functions are used before being defined. <code>OTCC</code> uses the
dynamic linker to resolve symbols with <code>dlsym(3)</code>, so <code>-ldl</code> must
be used when you compile and link it.</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-2001bellard"><a name="inventory"></a>Inventory for
2001/bellard</h1>
<h1 id="inventory-for-2001bellard"><a name="inventory"></a>Inventory for 2001/bellard</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/2001/bellard/bellard.c">bellard.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.orig.c">bellard.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.otccex.c">bellard.otccex.c</a>
- example otcc source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/otccelf.c">otccelf.c</a>
- another example otcc source</li>
<li><a href="2001_bellard.tar.bz2">2001_bellard.tar.bz2</a> - download
entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.c">bellard.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.orig.c">bellard.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.otccex.c">bellard.otccex.c</a> - example otcc source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/otccelf.c">otccelf.c</a> - another example otcc source</li>
<li><a href="2001_bellard.tar.bz2">2001_bellard.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/2001/bellard/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/.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/2001/bellard/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/.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/2001/bellard/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/README.md">README.md</a> - markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->