convert spoiler language and towards deobfuscation language

This commit is contained in:
Landon Curt Noll committed 2024-06-30 23:07:18 -07:00
1 parent 50a2a6293c
commit 4d6009b58f
98 files changed
+195 -358

No files matched your search

+4 -4
View File
@@ -162,7 +162,7 @@ and the call with current continuation `c`.
is, how the state of the program is stored and how the Unlambda functions are
implemented.
More on this in the **Spoilers** section.
More on this in the **Deobfuscation** section.
### Build notes:
@@ -197,7 +197,7 @@ for storing `char`s for later printing. This might produce some warnings, but
since it was developed using `char`s it should be always used safely.
### Spoilers:
### Deobfuscation:
- You can examine the [progSpoiler.c](%%REPO_URL%%/2019/adamovsky/progSpoiler.c) file. It is the original
final version of the interpreter, before I started the downsizing. It accepts
@@ -254,13 +254,13 @@ were shuffled both for `S` functions and Apply functions in the same way to hide
the meaning of `f` and `r` prefixes.
### Identification spoiler:
### Identification deobfuscation:
The alternative build path `make identify` output commemorates a [previous IOCCC
winning entry][9] which uses similar methods to mess with the size tool.
### Judges' spoilers:
### Judges' debobfuscaiton:
It is not a bug, it is a feature. :)
+4 -4
View File
@@ -496,7 +496,7 @@ and the call with current continuation <code>c</code>.</li>
is, how the state of the program is stored and how the Unlambda functions are
implemented.</li>
</ul>
<p>More on this in the <strong>Spoilers</strong> section.</p>
<p>More on this in the <strong>Deobfuscation</strong> section.</p>
<h3 id="build-notes">Build notes:</h3>
<p>The program does not require any special treatment by compilers. Some warnings
had to be suppressed when compiling with <code>-Wall -Wextra -pedantic</code>. Those were
@@ -524,7 +524,7 @@ world situation even when <code>size_t</code> is bigger than <code>long long</co
for storing <code>char</code>s for later printing. This might produce some warnings, but
since it was developed using <code>char</code>s it should be always used safely.</li>
</ul>
<h3 id="spoilers">Spoilers:</h3>
<h3 id="deobfuscation">Deobfuscation:</h3>
<ul>
<li><p>You can examine the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/adamovsky/progSpoiler.c">progSpoiler.c</a> file. It is the original
final version of the interpreter, before I started the downsizing. It accepts
@@ -570,10 +570,10 @@ continuation and exit functions were swapped. The names of <code>S</code> and Ap
were shuffled both for <code>S</code> functions and Apply functions in the same way to hide
the meaning of <code>f</code> and <code>r</code> prefixes.</p></li>
</ul>
<h3 id="identification-spoiler">Identification spoiler:</h3>
<h3 id="identification-deobfuscation">Identification deobfuscation:</h3>
<p>The alternative build path <code>make identify</code> output commemorates a <a href="../../2014/birken/index.html" title="Best use of port 1701">previous IOCCC
winning entry</a> which uses similar methods to mess with the size tool.</p>
<h3 id="judges-spoilers">Judges’ spoilers:</h3>
<h3 id="judges-debobfuscaiton">Judges’ debobfuscaiton:</h3>
<p>It is not a bug, it is a feature. :)</p>
<p>The crash is caused by a stack overflow. Conventional Unlabmda interpreters
implement the Unlambda execution stack using data structures on the heap. This