We improve the `inc/footer.default.html` file to make
the _Copyright and CC BY-SA 4.0 License_ clear.
We add `license.md` and generate `license.html` (via `make
gen_top_html`) so that key features and terms of the _Copyright and
CC BY-SA 4.0 License_ are accessible.
Add CC BY-SA 4.0 license images into the `png/` directory.
FYI: We use the license to allow the open use of IOCCC entry code,
and at the same time, we help ensure that those working on the IOCCC
have proper Attribution including, of course, the IOCCC winners
themselves! The _Copyright and CC BY-SA 4.0 License_ help ensure
that everyone may enjoy the IOCCC.
Added '#copyright' to all generated HTML pages so that the
_Copyright and CC BY-SA 4.0 License_ may be reached.
Changed `bin/gen-top-html.sh` VERSION from "1.2.2 2024-03-26"
to "1.2.3 2024-04-12".
Fix `bin/gen-sitemap.sh` to remove requirement of `ioccc.tar.bz2`.
Changed `bin/gen-sitemap.sh` VERSION from "1.3.4 2024-03-27"
to "1.3.5 2024-04-13".
Perform `make www sitemap` to perform the above.
We also give a _hint_ as to the next project.
TODO: Complete that next project we are _hinting_ at.
TODO: Review the work being done by a web designer to see
how their work might be incorporated into the web site.
409 lines
23 KiB
HTML
409 lines
23 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">
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||
<title>1991/brnstnd - Best Of Show</title>
|
||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||
<meta name="description" content="1991 IOCCC entry brnstnd - Best Of Show">
|
||
<meta name="keywords" content="IOCCC, 1991, IOCCC 1991, IOCCC entry, brnstnd, Best Of Show">
|
||
</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/readme2index.sh -->
|
||
<!-- The content of main section of this web page came from: 1991/brnstnd/README.md -->
|
||
<!-- -->
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/brnstnd/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/brnstnd/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/brnstnd/README.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/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>1991/brnstnd - Best Of Show</h2>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/header.default.html -->
|
||
<!-- START: this line starts content from: inc/topnav.mid.html -->
|
||
|
||
<div class="topnav">
|
||
<a class="Left" href="../ant/index.html">← ant</a>
|
||
<a class="Left" href="../index.html">↑ 1991 ↑</a>
|
||
<a class="Left" href="../buzzard/index.html">buzzard →</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/1991/brnstnd/brnstnd.c">C code</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/1991/brnstnd/Makefile">Makefile</a>
|
||
<a class="Right" href="#inventory">Inventory</a>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/topnav.mid.html -->
|
||
<!-- START: this line starts content from: inc/begin-row.default.html -->
|
||
|
||
<div class="row">
|
||
|
||
<!-- END: this line ends content from: inc/begin-row.default.html -->
|
||
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
|
||
|
||
<div class="leftcolumn">
|
||
|
||
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
|
||
<!-- START: this line starts content from: inc/sidenav.default.html -->
|
||
|
||
<div class="sidenav">
|
||
<a href="#content">Jump to contents</a>
|
||
</div>
|
||
<hr>
|
||
<div class="sidenav">
|
||
<a href="../../index.html">IOCCC Home</a>
|
||
<a href="../../years.html">Winning Entries</a>
|
||
<a href="../../authors.html">People who have won</a>
|
||
<a href="../../location.html">Location of authors</a>
|
||
</div>
|
||
<hr>
|
||
<div class="sidenav">
|
||
<a href="../../news.html">IOCCC News</a>
|
||
<a href="../../status.html">Contest status</a>
|
||
<a href="../../faq.html#submit">How to enter the IOCCC</a>
|
||
<a href="../../faq.html">FAQ</a>
|
||
</div>
|
||
<hr>
|
||
<div class="sidenav">
|
||
<a href="../../bugs.html">Bugs & (mis)features</a>
|
||
<a href="../../faq.html#fix_an_entry">Fixing IOCCC entries</a>
|
||
<a href="../../faq.html#fix_web_site">Fixing the web site</a>
|
||
<a href="../../faq.html#fix_author">Fixing author info</a>
|
||
<a href="../../thanks-for-help.html">Thanks for the help</a>
|
||
</div>
|
||
<hr>
|
||
<div class="sidenav">
|
||
<a href="../../judges.html">The IOCCC Judges</a>
|
||
<a href="../../contact.html">Contacting the IOCCC</a>
|
||
</div>
|
||
<hr>
|
||
<div class="sidenav">
|
||
<a href="#top">Jump to top</a>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/sidenav.default.html -->
|
||
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
|
||
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
|
||
|
||
<div class="rightcolumn">
|
||
|
||
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
|
||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||
|
||
<a name="content"></a>
|
||
|
||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||
<!-- START: this line starts content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
|
||
|
||
<!-- START: this line starts content generated by: bin/output-index-author.sh -->
|
||
|
||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||
<ul>
|
||
<li>Name: <a href="../../authors.html#Daniel_J_Bernstein">Daniel J. Bernstein</a><br>
|
||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||
</ul>
|
||
|
||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||
|
||
<!-- END: this line ends content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||
|
||
<h2 id="to-build">To build:</h2>
|
||
<pre class="<!---sh-->"><code> make all</code></pre>
|
||
<h2 id="try">Try:</h2>
|
||
<pre class="<!---sh-->"><code> ./try.sh
|
||
|
||
./sorta < sorta.itailrec</code></pre>
|
||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||
<p>For info on more examples, read the <a href="sorta.README.html">sorta.README.html</a> web page.</p>
|
||
<p>The author wished to win the “most useful program” award and documented this in
|
||
the source code. The judges were unmoved by this blatant attempt to influence
|
||
the contest and rejected this idea… so we gave it the “Best of Show”
|
||
instead!!</p>
|
||
<p>NOTE: One should remove the final trailing newline to obtain the
|
||
original source file. This step is not needed to compile
|
||
this entry.</p>
|
||
<p>To have a chance to compile under a modern CPP, we had to
|
||
replace <code>#D</code> with <code>#define</code>.</p>
|
||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||
<p>This is an interpreter for the programming language SORTA, a systems
|
||
and numerical programming language with features sorta from C, sorta
|
||
from FORTH, and sorta from Ada.</p>
|
||
<p>SORTA lets you manipulate files and spawn programs easily, has bitwise
|
||
operators, and gives you absolutely brilliant error messages like ‘?’
|
||
(that’s the C bit). SORTA programs work with a stack (that’s the FORTH
|
||
bit)—actually two stacks, one for integers and one for strings. And
|
||
all SORTA operations are strongly typed, detect practically any failure,
|
||
and garbage-collect (that’s the Ada bit).</p>
|
||
<p>SORTA also contains features you might not expect from such a small
|
||
interpreter: arbitrary-length string input and concatenation, for
|
||
instance, not to mention infinite-depth tail recursion.</p>
|
||
<p>SORTA ignores its arguments (though it makes them available to the
|
||
script); it takes all commands, character by character, from its
|
||
standard input. Unrecognized commands are repeated with a ‘?’.</p>
|
||
<p>SORTA maintains an <code>i</code> stack for integers and an <code>s</code> stack for strings. It also
|
||
keeps track of <code>programs</code>, one for each character. Operations are silently
|
||
ignored if the relevant stacks are too low, except as noted for <code>s</code>, <code>S</code>, and
|
||
<code>!</code>. If the <code>i</code> stack or <code>s</code> stack (or the stack of buffered macro commands)
|
||
grows too high, SORTA will exit silently with exit code 2. (Compile parameter
|
||
<code>-Do=250</code> controls what ‘too high’ means; you should not make <code>o</code> larger than
|
||
250.) I don’t think it’s possible to crash the interpreter.</p>
|
||
<p>Here, then, is the SORTA programming language. All non-digits delimit
|
||
numeric constants. Spaces and newlines are ignored except as numeric
|
||
delimiters.</p>
|
||
<h3 id="basic-operations">Basic operations</h3>
|
||
<ul>
|
||
<li><code>q</code>: quit</li>
|
||
<li><code>number</code>: push that number on top of the <code>i</code> stack</li>
|
||
<li><code>"string"</code>: push that string on top of the <code>s</code> stack, no length limit</li>
|
||
<li><code>[string]</code>: push that string on top of the <code>s</code> stack, no length limit</li>
|
||
<li><code>#</code>: make top of <code>i</code> stack non-destructively in ASCII, push result onto <code>s</code> stack</li>
|
||
<li><code>`</code>: print top of <code>s</code> stack non-destructively</li>
|
||
<li><code>$</code>: print top of <code>s</code> stack non-destructively without newline</li>
|
||
<li><code>d</code>: drop (pop) top of <code>i</code> stack</li>
|
||
<li><code>D</code>: dup (duplicate) top of <code>i</code> stack</li>
|
||
<li><code>'</code>: dup top of <code>s</code> stack</li>
|
||
<li><code>s</code>: pop top of <code>i</code> stack. If it is <code>n</code>, swap <code>(n+1)</code>th-top of <code>i</code> stack with top.
|
||
<code>1s</code>, for example, swaps the top two elements; <code>2s</code> swaps the top with the
|
||
third down; etc. This always pops the top of the <code>i</code> stack, even upon
|
||
failure.</li>
|
||
<li><code>S</code>: pop top of <code>i</code> stack, then act just like <code>s</code> but upon <code>s</code> stack</li>
|
||
<li><code>l</code>: pop top of <code>s</code> stack, push its length onto <code>i</code> stack</li>
|
||
<li><code>a</code>: push argc onto <code>i</code> stack</li>
|
||
<li><code>A</code>: pop top of <code>i</code> stack, push <code>argv[i]</code> on top of <code>s</code> stack</li>
|
||
<li><code>T</code>: concatenate top two elements of <code>s</code> stack</li>
|
||
<li><code>_</code>: negate top of <code>i</code> stack</li>
|
||
<li><code>+</code>: pop top two elements of <code>i</code> stack, add, push back sum</li>
|
||
<li><code>*</code>: pop top two elements of <code>i</code> stack, multiply, push back product</li>
|
||
<li><code>/</code>: pop top two elements of <code>i</code> stack, divide, push back quotient</li>
|
||
<li><code>></code>: pop top two elements of <code>i</code> stack, compare, push back 1 or 0 as in C</li>
|
||
<li><code>&</code>: pop top two elements of <code>i</code> stack, NAND, push back bitwise result
|
||
Note that NAND is sufficient to construct all bitwise operations, as
|
||
demonstrated by <code>icalc</code> in <a href="sorta.README.html">sorta.README.html</a>.</li>
|
||
</ul>
|
||
<h3 id="system-operations">System operations</h3>
|
||
<ul>
|
||
<li><code>o</code>: pop top of <code>s</code> stack and top two of <code>i</code> stack; <code>open(s1,i2,i1);</code> leave
|
||
result on <code>i</code> stack</li>
|
||
<li><code>O</code>: pop top of <code>i</code> stack, <code>close()</code> it</li>
|
||
<li><code>u</code>: pop top of <code>i</code> stack, <code>dup()</code> it, push result back on</li>
|
||
<li><code>F</code>: <code>fork()</code>, push result on <code>i</code> stack. This is not always safe while SORTA is
|
||
reading keyboard input or a script, as the forked programs share file
|
||
descriptors. It is always safe inside a program (see below).</li>
|
||
<li><code>P</code>: <code>pipe()</code>, push two ends <code><p0> <p1></code> onto <code>i</code> stack. In case of trouble,
|
||
<code>push <?> <-1></code> onto <code>i</code> stack.</li>
|
||
<li><code>w</code>: <code>wait()</code>, push successful result (or <code>-1</code> if no children) on <code>i</code> stack</li>
|
||
<li><code>!</code>: <code>execvp()</code> top of the <code>s</code> stack. Arguments are the next things down on
|
||
the <code>s</code> stack, in reverse order from popping; the first character of
|
||
each string is lopped off. There must be an empty string somewhere
|
||
in the <code>s</code> stack to terminate the argument list. If the <code>execve()</code>
|
||
fails, any operation involving current members of the <code>s</code> stack has
|
||
undefined effects, and <code>-1</code> is pushed onto the <code>i</code> stack.</li>
|
||
</ul>
|
||
<h3 id="high-level-language-operations">High-level language operations</h3>
|
||
<ul>
|
||
<li><code>:x</code>: copy the top of the <code>s</code> stack into a program labeled by character <code>x</code></li>
|
||
<li><code>=x</code>: pop the top of the <code>i</code> stack. If it was nonzero, execute the program
|
||
labeled by character <code>x</code>. Note that a digit at the end of a program
|
||
will merge with any digits after <code>=x</code>; in that case you usually want
|
||
to add a space at the end of the program.</li>
|
||
</ul>
|
||
<p>Common idioms: To drop the top of the <code>s</code> stack, <code>ld</code>. To do a <code><</code>, <code>1s></code>. To
|
||
unconditionally execute the program labeled by character <code>x</code>, <code>1=x</code> (or any
|
||
nonzero number followed by <code>=x</code>). To print the top of the <code>i</code> stack
|
||
non-destructively, <code>#</code> (or <code>#$</code> if you don’t want the newline). To
|
||
subtract, <code>_+</code>. To do mod or and or any of the other missing operations,
|
||
combine the available operations as illustrated below. To introduce a
|
||
comment, <code>[ this is a comment string which is promptly eliminated ]ld</code>.</p>
|
||
<p><code>SORTA</code>’s requirements: it wants <code>fork()</code>, <code>execvp()</code>, <code>open()</code>,
|
||
<code>close()</code>, <code>dup()</code>, <code>pipe()</code>, and <code>wait()</code>, so it obviously won’t even compile
|
||
on a non-UNIX machine. It also assumes that you have a size-256
|
||
character set and that the characters between <code>'0'</code> and <code>'9'</code> are exactly
|
||
the digits in order. It does <em>not</em> depend on ASCII, despite the code
|
||
appearance. Also note that SORTA does not attempt to declare <code>malloc()</code>,
|
||
so you will get some warnings about illegal pointer combinations. Also
|
||
note that there are unreachable statements in SORTA.</p>
|
||
<p>While the program source of course depends highly on <code>#define</code>s for
|
||
obfuscation, I like to think that this code has those little touches,
|
||
those professionally sharpened edges that mark true software
|
||
engineering. Observe, for instance, how <code>i</code> and <code>s</code> are the string and
|
||
integer stacks respectively. It’s these little things that make you
|
||
feel at home in an otherwise utterly useless piece of code. They’re
|
||
what make an obfuscation work.</p>
|
||
<p>The character pool (<code>I</code> after cpp) makes it rather painful to
|
||
see the effect of commands at a glance. I can just imagine people
|
||
spending hours bouncing between the pool and the rest of the code,
|
||
or accidentally changing the pool without realizing its importance.
|
||
Without documentation and example scripts, someone would find it
|
||
a challenge to figure out what the arrays are used for, let alone
|
||
that SORTA is a scripting language.</p>
|
||
<p>Another nice feature is that the SORTA language itself encourages you to write
|
||
not merely obfuscated but plain incomprehensible scripts (like the <a href="sorta.README.html">examples in
|
||
sorta.README.html</a> —after working with the language for a
|
||
while, I guess I can read it pretty easily, but I also think FORTH is a
|
||
beautiful language). The numbers running around everywhere will make people
|
||
think of ASCII, even though the code is not ASCII-dependent. What’s your first
|
||
thought when you see several <code>arrays[256]</code>? This is pretty standard obfuscation
|
||
otherwise. I like the way that unbalanced macro braces can throw off the reader
|
||
in <code>if(c>0){y+1]=z[c];</code>, and I had fun covering the alphabet with <code>#define</code>s,
|
||
but that’s nothing special.</p>
|
||
<p>Possible future extensions to SORTA include string extraction and
|
||
matching, reading from files into strings, and encrypting the string
|
||
pool to further confuse the judges. I don’t think I can fit this into
|
||
the size limit, unfortunately.</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/
|
||
|
||
-->
|
||
|
||
<!-- 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-1991brnstnd"><a name="inventory"></a>Inventory for 1991/brnstnd</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/1991/brnstnd/brnstnd.c">brnstnd.c</a> - entry source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/Makefile">Makefile</a> - entry Makefile</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/brnstnd.orig.c">brnstnd.orig.c</a> - original source</li>
|
||
<li><a href="sorta.README.html">sorta.README.html</a> - SORTA language infomation</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/try.sh">try.sh</a> - how to run</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/try.txt">try.txt</a> - input data for try.sh</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.i2+2">sorta.i2+2</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.iarg0">sorta.iarg0</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.icalc">sorta.icalc</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.idup">sorta.idup</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.iecho">sorta.iecho</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.ifact1">sorta.ifact1</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.ifact2">sorta.ifact2</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.ifact3">sorta.ifact3</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.iio">sorta.iio</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.irot13">sorta.irot13</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.isleep">sorta.isleep</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.itailrec">sorta.itailrec</a> - SORTA source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/sorta.iwhosort">sorta.iwhosort</a> - SORTA source</li>
|
||
<li><a href="1991_brnstnd.tar.bz2">1991_brnstnd.tar.bz2</a> - download entry</li>
|
||
</ul>
|
||
<h2 id="secondary-files">Secondary files</h2>
|
||
<ul>
|
||
<li><a href="index.html">index.html</a> - this web page</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/README.md">README.md</a> - markdown source for index.html</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/brnstnd/.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/1991/brnstnd/sorta.README.md">sorta.README.md</a> - markdown source for sorta.README.html</li>
|
||
</ul>
|
||
|
||
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
|
||
|
||
<!-- END: this line ends content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||
|
||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
|
||
<!-- START: this line starts content from: inc/end-row.default.html -->
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/end-row.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">
|
||
<h2><a name="copyright"></a>Copyright and CC BY-SA 4.0 License</h2>
|
||
<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 xmlns:cc="http://creativecommons.org/ns#" ><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="../..//svg/cc.svg"
|
||
alt="cc inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../..//svg/by.svg"
|
||
alt="person inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../..//svg/sa.svg"
|
||
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%2F1991%2Fbrnstnd%2Findex.html">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 -->
|