fix many internal links

Fixed a number of internal links that need to
go to the GitHub site.

Ran `make www` to perform the above.
This commit is contained in:
Landon Curt Noll committed 2024-04-24 02:37:42 -07:00
1 parent b84f8cbe28
commit e7d69bc232
175 files changed
+645 -631

No files matched your search

+25 -24
View File
@@ -482,16 +482,16 @@ whitespace surrounds English words, not necessarily C tokens, as in <code>a+=1;<
designed to allow exhaustive, hand-counted values for comparison with the tool values.
These test cases were vital in debugging and regression testing, and provided a way to
determine which tool was correct when there were differences.</p>
<pre><code> A version of this tool in more clearly written C ([tac.c](tac.c))
<pre><code> A version of this tool in more clearly written C
is presented for the Judge&#39;s consideration as a more accurate replacement for `iocccsize`.
This obfuscated entry is derived from (and compatible with) that code,
but due to obfuscation, has had some significant, deep changes for the contest.
Nevertheless, the more clearly written code remains a spoiler for this entry.</code></pre>
<p>NB: <code>iocccsize</code> gets a different answer from <code>tac</code> on its own
(<a href="../../2018/iocccsize.c">iocccsize.c</a>) source code;
(<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a>) source code;
<code>tac</code> gets the correct answer. This is due to the aforementioned bugs within <code>iocccsize</code>,
proved by fixing
<a href="../../2018/iocccsize.c">iocccsize.c</a> with the included patch, so <code>iocccsize</code> reports
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a> with the included patch, so <code>iocccsize</code> reports
the correct answer for itself.</p>
<h3 id="but-wait-theres-more">But wait… There’s More!</h3>
<p>There is no limit on line length, file length, comment length, or identifier length.</p>
@@ -523,7 +523,7 @@ keyword distribution over time. The top five for the decades:</p>
This allows such additional programs in concert with the tool’s primary operation.</p>
<p>A poor-man’s de-obfuscator can be based upon the output of <code>tac -t</code> and a
handful of simple rules (and another use of the external keyword file). A more
refined version of this is included in the file <a href="unob.sh">unob.sh</a>, but the
refined version of this is included in the file <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/unob.sh">unob.sh</a>, but the
simple code below is a serviceable obfuscated C de-obfuscator in a <em>scripting
language</em>. It really is this easy with <code>tac</code>:</p>
<pre><code> #!/usr/bin/env bash
@@ -589,7 +589,7 @@ Clang gets quite irate</em>.</p></li>
<li><p>The code describes its function by careful arrangement of variables up front…</p></li>
<li><p>…coupled with a description of the typical IOCCC contestant, or at least the author</p></li>
<li><p>Why shouldn’t trigraph parsing be written in trigraph?</p></li>
<li><p>Where <a href="../../2018/iocccsize.c">iocccsize.c</a> mocks, this code flaunts:
<li><p>Where <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a> mocks, this code flaunts:
“<em>no matter how well you may think you understand this code, you don’t, so don’t mess with it. :-)</em>”</p></li>
<li><p><code>O,0,l,1</code> are used to confusing effect, local names obscure global names.</p></li>
<li><p>Globals are used to pass information between routines: don’t reorder “unrelated” statements….</p></li>
@@ -605,26 +605,26 @@ using a different list. For instance: removing all the secondary keywords;
removing all the C11 keywords; trying just K&amp;R C. Since C++ and Java share the
same operators as C, just change the keyword list and <code>tac</code> will correctly
tokenize both of these; the tokens <code>&gt;&gt;&gt;</code> and <code>::</code> can be handled with a short
post-filter (<a href="tokenfix.sh">tokenfix.sh</a>, included).</p>
post-filter (<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/tokenfix.sh">tokenfix.sh</a>, included).</p>
<p>I believe this entry may also satisfy the request for gratuitous use of all the
C11 keywords? Whether this context satisfies “intended C language context” is a
matter of interpretation. ;-) And <code>tac</code> is ready for the IOCCC++ contest. And
the IOJCC trash can.</p>
<p>The following reserved word files are included:</p>
<ul>
<li><a href="kandr">kandr</a> from my venerable 1978 18th printing “The C Programming Language”</li>
<li><a href="v7unix">v7unix</a> 7th edition Unix source code, extracted from c00.c</li>
<li><a href="kandr2">kandr2</a> from my 1988 1st printing “The C Programming Language”, 2e</li>
<li><a href="ansi">ansi</a> ANSI X3.159-1989</li>
<li><a href="c99">c99</a> ISO/IEC 9899:1999(E)</li>
<li><a href="c11">c11</a> ISO/IEC 9899:201x(E) N1570</li>
<li><a href="c++98">c++98</a> http://en.cppreference.com/w/cpp/keyword</li>
<li><a href="c++11">c++11</a> ISO/IEC 14882:2011(E) N3337 2012-01-16</li>
<li><a href="c++14">c++14</a> ISO/IEC 14882:2014(E) N4296 2014-11-09</li>
<li><a href="java8">java8</a> <a href="http://docs.oracle.com/javase/specs/index.html" class="uri">http://docs.oracle.com/javase/specs/index.html</a></li>
<li><a href="ioccc.kw.freq">ioccc.kw.freq</a> c11 + additional words, sorted on frequency of occurrence in IOCCC entries</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/kandr">kandr</a> from my venerable 1978 18th printing “The C Programming Language”</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/v7unix">v7unix</a> 7th edition Unix source code, extracted from c00.c</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/kandr2">kandr2</a> from my 1988 1st printing “The C Programming Language”, 2e</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/ansi">ansi</a> ANSI X3.159-1989</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/c99">c99</a> ISO/IEC 9899:1999(E)</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/c11">c11</a> ISO/IEC 9899:201x(E) N1570</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/c++98">c++98</a> http://en.cppreference.com/w/cpp/keyword</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/c++11">c++11</a> ISO/IEC 14882:2011(E) N3337 2012-01-16</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/c++14">c++14</a> ISO/IEC 14882:2014(E) N4296 2014-11-09</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/java8">java8</a> <a href="http://docs.oracle.com/javase/specs/index.html" class="uri">http://docs.oracle.com/javase/specs/index.html</a></li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/ioccc.kw.freq">ioccc.kw.freq</a> c11 + additional words, sorted on frequency of occurrence in IOCCC entries</li>
</ul>
<p>NB: The keyword file used in this code is derived from the list in <a href="../../2018/iocccsize.c">iocccsize.c</a>,
<p>NB: The keyword file used in this code is derived from the list in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a>,
which is neither complete (<code>#define</code>, <code>#ifndef</code>, <code>#undef</code> are missing</p>
<pre><code>yes, Virginia knows about `#define` omitted on purpose</code></pre>
<p>nor correct (many more are added: <code>I</code>, <code>true</code>, <code>bool</code>, <code>compl</code>, …):</p>
@@ -659,11 +659,12 @@ NB: This is <em>not</em> a portability concern, the one string holds only printa
<pre><code> cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW=\&quot;keywords\&quot; -o prog prog.c</code></pre>
<h3 id="coda">Coda:</h3>
<p><a href="../../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> was relentless in his pursuit of bugs.
Thanks to his reports, the version of <a href="unob.sh">unob.sh</a> is stronger,
<code>tac</code> groks digraphs, <a href="tokenfix.sh">tokenfix.sh</a> corrects for missing digraphs
in <a href="prog.c">prog.c</a>, and the program <a href="manpage.sh">manpage.sh</a> was added to the corpus.</p>
<p><a href="manpage.sh">manpage.sh</a> is a useful program that turns ASCII versions of man
pages (e.g. <a href="tac.man">tac.man</a>) into real man pages. It works for C and C-like
Thanks to his reports, the version of <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/unob.sh">unob.sh</a> is stronger,
<code>tac</code> groks digraphs, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/tokenfix.sh">tokenfix.sh</a> corrects for missing digraphs
in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/prog.c">prog.c</a>, and the program
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/manpage.sh">manpage.sh</a> was added to the corpus.</p>
<p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/manpage.sh">manpage.sh</a> is a useful program that turns ASCII versions of man
pages (e.g. <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/tac.man">tac.man</a>) into real man pages. It works for C and C-like
languages, command lines, and was designed to handle man page sections 1-8. It
works well on most inputs, but tends to need some raw nroff for more fancy
constructions, such as combined arguments (e.g. the <code>-r</code> and <code>-s</code> arguments to tac
@@ -676,7 +677,7 @@ are not recognised when written as <code>-rs</code> in prose).</p>
./manpage.sh -h | ./manpage.sh -R | less
./manpage.sh -h | ./manpage.sh -P | lpr</code></pre>
<p>NOTE: in 2023 the <code>tac.man</code> was updated to proper man format and renamed
<a href="tac.1">tac.1</a>.</p>
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton/tac.1">tac.1</a>.</p>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.