Testing another fix for **Nu HTML check this web page** for constructed entry pages that are not `index.html`. Changed `bin/gen-other-html.sh` VERSION from "1.2 2024-04-21". to "1.2.1 2024-04-21". Ran `make gen_other_html` to perform the above.
241 lines
11 KiB
HTML
241 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<!-- START: two lines up starts content from: inc/top.default.html -->
|
|
|
|
<!-- END: this line ends content from: inc/top.default.html -->
|
|
<!-- START: this line starts content from: inc/head.default.html -->
|
|
|
|
<head>
|
|
<link rel="stylesheet" href="../../ioccc.css">
|
|
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
|
<title>The International Obfuscated C Code Contest</title>
|
|
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
|
<meta name="description" content="spoilers.md for 2015/burton">
|
|
<meta name="keywords" content="IOCCC, 2015/burton, spoilers.md">
|
|
</head>
|
|
|
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
|
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
|
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
|
|
<!-- END: this line ends content from: inc/head.default.html -->
|
|
|
|
<!-- -->
|
|
<!-- This web page was formed via the tool: bin/gen-other-html.sh -->
|
|
<!-- The content of main section of this web page came from: 2015/burton/spoilers.md -->
|
|
<!-- -->
|
|
|
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/spoilers.md !!! -->
|
|
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/spoilers.md !!! -->
|
|
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/spoilers.md !!! -->
|
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
|
|
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
|
|
|
<!-- START: this line starts content from: inc/body.default.html -->
|
|
|
|
<body>
|
|
|
|
<!-- END: this line ends content from: inc/body.default.html -->
|
|
<!-- START: this line starts content from: inc/topbar.default.html -->
|
|
|
|
<div class="theader">
|
|
<nav class="topbar">
|
|
<div class="container">
|
|
<div class="logo">
|
|
IOCCC
|
|
</div>
|
|
|
|
<div class="topbar-items">
|
|
<div class="item">
|
|
<span class="item-header">
|
|
Home
|
|
</span>
|
|
|
|
<div class="sub-item">
|
|
<div class="outfit-font"><a href="../../index.html">IOCCC Home</a></div>
|
|
<div class="outfit-font"><a href="../../years.html">Winning Entries</a></div>
|
|
<div class="outfit-font"><a href="../../authors.html">People who have won</a></div>
|
|
<div class="outfit-font"><a href="../../location.html">Location of authors</a></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="item">
|
|
<span class="item-header">
|
|
News
|
|
</span>
|
|
|
|
<div class="sub-item">
|
|
<div class="outfit-font"><a href="../../news.html">IOCCC News</a></div>
|
|
<div class="outfit-font"><a href="../../status.html">Contest status</a></div>
|
|
<div class="outfit-font"><a href="../../next/index.html">Rules and Guidelines</a></div>
|
|
<div class="outfit-font"><a href="../../faq.html#submit">How to enter the IOCCC</a></div>
|
|
<div class="outfit-font"><a href="../../faq.html">FAQ</a></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="item">
|
|
<span class="item-header">
|
|
Bugs
|
|
</span>
|
|
|
|
<div class="sub-item">
|
|
<div class="outfit-font"><a href="../../bugs.html">Bugs & (mis)features</a></div>
|
|
<div class="outfit-font"><a href="../../faq.html#fix_an_entry">Fixing IOCCC entries</a></div>
|
|
<div class="outfit-font"><a href="../../faq.html#fix_web_site">Fixing the web site</a></div>
|
|
<div class="outfit-font"><a href="../../faq.html#fix_author">Fixing author info</a></div>
|
|
<div class="outfit-font"><a href="../../thanks-for-help.html">Thanks for the help</a></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="item">
|
|
<span class="item-header">
|
|
Judges
|
|
</span>
|
|
|
|
<div class="sub-item">
|
|
<div class="outfit-font"><a href="../../judges.html">The IOCCC Judges</a></div>
|
|
<div class="outfit-font"><a href="../../contact.html">Contacting the IOCCC</a></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
|
|
<!-- END: this line ends content from: inc/topbar.default.html -->
|
|
<!-- START: this line starts content from: inc/header.default.html -->
|
|
|
|
<div class="header">
|
|
<img src="../../png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
|
<h1>The International Obfuscated C Code Contest</h1>
|
|
<h2>spoilers.md for 2015/burton</h2>
|
|
</div>
|
|
|
|
<!-- END: this line ends content from: inc/header.default.html -->
|
|
<!-- START: this line starts content from: inc/navbar.up2index.html -->
|
|
|
|
<div class="navbar">
|
|
<a class="Left" href="index.html">↑ jump to index.html ↑</a>
|
|
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2F">✓</a>
|
|
</div>
|
|
|
|
<!-- END: this line ends content from: inc/navbar.up2index.html -->
|
|
<!-- START: this line starts content from: inc/before-content.default.html -->
|
|
|
|
<div class="content" id="content">
|
|
|
|
<!-- END: this line ends content from: inc/before-content.default.html -->
|
|
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
|
|
|
<!-- BEFORE: 1st line of markdown file: 2015/burton/spoilers.md -->
|
|
<h3 id="spoilers">Spoilers</h3>
|
|
<p><code>calc</code> is a recursive-descent parser. It allocates from the stack deep enough
|
|
that all expressions are exhausted before the recursion stack depth reaches the
|
|
allocations. The memory map and source is documented in
|
|
<a href="src.doc.txt">src.doc.txt</a>. Tokens are encoded using values 0-20, where 0 is an
|
|
invalid token, 1 is minus, 2 is space, 3 is plus, etc. The necessary constants
|
|
are derived at the start of the program, using the guarantee that globals are
|
|
initialized to zero; so a correct NULL pointer is obtained from an uninitialized
|
|
global pointer variable, and the integers from uninitialized global <code>int</code>
|
|
variables. If <code>x</code> is a global <code>int</code>, then <code>!x</code> is <code>1</code>, and the derivation
|
|
proceeds from there, using some identities that are confusingly similar and
|
|
interestingly combined (increasing obfuscation):</p>
|
|
<pre><code> obc clr
|
|
--- ---
|
|
-~x x+1
|
|
~-x x-1
|
|
y-~x y+x+1</code></pre>
|
|
<p>The derived constants are a compromise between simple expressions, maximum utility,
|
|
and minimum number of variables used.</p>
|
|
<p>Command line arguments are copied into the upper half of the input buffer,
|
|
separated by a space. This allows the code to have a single input parser by using
|
|
a pointer-to-func to either <code>getchar(3)</code> if live, or a <code>getchar(3)</code> simulator.</p>
|
|
<p>A small amount of obfuscation comes from <code>void</code> functions declared <code>int</code>, but
|
|
missing <code>return</code>. This is necessary to allow these functions in ternary <code>?:</code>
|
|
expressions and paired with <code>&&</code> and <code>||</code>; but the requisite returns would add
|
|
symbol count at no benefit to obscurity or functionality. Function
|
|
decomposition was mostly chosen to avoid curly braces: if a <code>for</code>-loop required
|
|
multiple statements, the body became a new function. Last, but not least:
|
|
sharing state via global variables is an ancient and honored form of
|
|
obfuscation, and remarkably effective.</p>
|
|
<!--
|
|
|
|
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
|
|
|
You are free to share and adapt this file under the terms of this license:
|
|
|
|
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
|
|
|
For more information, see:
|
|
|
|
https://creativecommons.org/licenses/by-sa/4.0/
|
|
|
|
-->
|
|
<!-- AFTER: last line of markdown file: 2015/burton/spoilers.md -->
|
|
|
|
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
|
<!-- START: this line starts content from: inc/after-content.default.html -->
|
|
|
|
</div>
|
|
|
|
<!-- END: this line ends content from: inc/after-content.default.html -->
|
|
<!-- START: this line starts content from: inc/footer.default.html -->
|
|
|
|
<!--
|
|
|
|
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
|
|
|
You are free to share and adapt this file under the terms of this license:
|
|
|
|
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
|
|
|
For more information, see:
|
|
|
|
https://creativecommons.org/licenses/by-sa/4.0/
|
|
|
|
-->
|
|
|
|
<div class="footer">
|
|
<div id="copyright"><h2>Copyright and CC BY-SA 4.0 License</h2></div>
|
|
<p>All IOCCC content including this file and web page are:</p>
|
|
<b> Copyright © 1984-2024 by Landon Curt Noll. <a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean">Some Rights Reserved</a>.</b>
|
|
<p>This work is licensed by Landon Curt Noll under:</p>
|
|
<p><b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
|
|
target="_blank" rel="license noopener noreferrer" style="display:inline-block;"> CC BY-SA 4.0
|
|
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
|
src="../../png/cc.png"
|
|
alt="cc inside circle symbol">
|
|
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
|
src="../../png/by.png"
|
|
alt="person inside circle symbol">
|
|
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
|
src="../../png/sa.png"
|
|
alt="arrow looping back on itself inside circle symbol">
|
|
</a></b></p>
|
|
<p>The <b>CC BY-SA 4.0 LEGAL CODE</b> for this license is found under:</p>
|
|
<p> <b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">
|
|
https://creativecommons.org/licenses/by-sa/4.0/legalcode.en</a></b></p>
|
|
<p>You should <b>carefully review</b> all of the terms and conditions of the
|
|
<a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">actual license</a>
|
|
before using the licensed material.</p>
|
|
<p>You may wish to review the <b><a href="../../license.html">highlights of some of the key
|
|
features and terms</a></b> of the <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">actual license</a>.</p>
|
|
<h2>Coda</h2>
|
|
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2F">Nu HTML check this web page</a></p>
|
|
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
|
</div>
|
|
|
|
<!-- END: this line ends content from: inc/footer.default.html -->
|
|
<!-- START: this line starts content from: inc/bottom.default.html -->
|
|
|
|
</body>
|
|
</html>
|
|
|
|
<!-- END: this line ends content from: inc/bottom.default.html -->
|