Renamed `ioccc.ico` to `favicon.ico`. Correctly added use of `favicon.ico` to all constructed HTML headers. Fixed the smart quote in HTML elements problem. Moved HTML "DO NOT EDIT" comments down below at the bottom of the HTML phase 1 section. According to to the Nu Html Checker, a charset attribute on a meta element found after the first 1024 bytes. Changed `bin/md2html.sh` VERSION from "1.1.3 2024-03-28" to "1.2 2024-03-30". Improved `bin/gen-status.sh` to adjust the "status_update" value only when the "contest_status" is changed. Performed a `make www` to perform and test the above under macOS.
336 lines
17 KiB
HTML
336 lines
17 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/ant - Best Utility</title>
|
||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||
<meta name="description" content="1991 IOCCC entry ant - Best Utility">
|
||
<meta name="keywords" content="IOCCC, 1991, IOCCC 1991, IOCCC entry, ant, Best Utility">
|
||
</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/ant/README.md -->
|
||
<!-- -->
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/ant/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/ant/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1991/ant/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/ant - Best Utility</h2>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/header.default.html -->
|
||
<!-- START: this line starts content from: inc/topnav.first.html -->
|
||
|
||
<div class="topnav">
|
||
<a class="Left Disabled" href="#">first entry</a>
|
||
<a class="Left" href="../index.html">↑ 1991 ↑</a>
|
||
<a class="Left" href="../brnstnd/index.html">brnstnd →</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/1991/ant/ant.c">C code</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/1991/ant/Makefile">Makefile</a>
|
||
<a class="Right" href="#inventory">Inventory</a>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/topnav.first.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#Anthony_C_Howe">Anthony C. Howe</a><br>
|
||
Location: <a href="../../location.html#CA">CA</a> - <em>Canada</em>
|
||
<br><br></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>
|
||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> all</span></code></pre></div>
|
||
<p>There is an <a href="#alternate-code">alternate version</a> that might feel a bit more
|
||
familiar to vi(m) users.</p>
|
||
<h2 id="to-use">To use:</h2>
|
||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./ant</span> some_file</span></code></pre></div>
|
||
<p>NOTE: the file must already exist and not specifying any arg will make the
|
||
program exit without doing anything.</p>
|
||
<h2 id="try">Try:</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="fu">make</span> hill</span>
|
||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./ant</span> hill</span></code></pre></div>
|
||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> mole</span>
|
||
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./ant</span> mole</span></code></pre></div>
|
||
<h2 id="alternate-code">Alternate code:</h2>
|
||
<p>This version changes the commands slightly so that to go to the first column you
|
||
should enter <code>0</code>, to go to the last column you should enter <code>$</code>, to quit you
|
||
should enter <code>q</code>, to go back a word you should enter <code>b</code> and to go forwards a
|
||
word you should enter <code>w</code>. Also, and perhaps most useful, rather than having to
|
||
hit ctrl-L (form-feed, <code>\f</code>) to get back to command mode you can use the usual
|
||
ESC (<code>\x1b</code>).</p>
|
||
<p>These will make it slightly less unwieldy for those familiar with vi(m); the
|
||
rest was unchanged.</p>
|
||
<h3 id="alternate-build">Alternate build:</h3>
|
||
<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="fu">make</span> alt</span></code></pre></div>
|
||
<h3 id="alternate-use">Alternate use:</h3>
|
||
<p>Use <code>ant.alt</code> as you would <code>ant</code> above with the changes in the input keys. See
|
||
the author’s remarks for the remaining keys.</p>
|
||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||
<p>The author was kind enough to supply a list of references below,
|
||
in case you are still confused after read the source! :-)</p>
|
||
<p>BTW: you’ve most likely heard the joke that if you want a pseudo-random string
|
||
of characters you can put a user unfamiliar with vi(m) in a vi(m) session (in
|
||
insert mode) and ask them to exit. Well in this case you’re likely to have this
|
||
problem if you ARE a vi(m) user! :-) … especially if you don’t read the
|
||
information below. This means if you’re reading this in vi(m) you’ll have to
|
||
exit this like in normal vi(m) and then try the same with <code>./ant</code> only to fail. :-)</p>
|
||
<p>NOTE: to enter form feed you should be able to hit <code>ctrl-L</code>. This will allow you
|
||
to exit insert mode rather than ESC like in normal vi(m). See the author’s
|
||
commands section for other commands.</p>
|
||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||
<p>Ant’s Editor vIOCCC91</p>
|
||
<p>Text files consists of lines of printable text or tab characters. A line can be
|
||
of arbitrary length and is delimited by either a newline or the end of file.
|
||
Carriage return is mapped to newline on input and ignored on output. Tab stops
|
||
are every eight columns. Non-printable characters may have unpredictable
|
||
results depending on the implementation of <code>curses</code>.</p>
|
||
<h3 id="commands">Commands</h3>
|
||
<ul>
|
||
<li>h j k l left, down, up, right cursor movement</li>
|
||
<li>H J K L word left, page down, page up, word right</li>
|
||
<li><label><input type="checkbox" />beginning and end of line</label></li>
|
||
<li>t b top and bottom of file</li>
|
||
<li>i enter insert mode, form-feed to quit</li>
|
||
<li>x delete character under the cursor</li>
|
||
<li>W write buffer to file</li>
|
||
<li>R refresh the screen</li>
|
||
<li>Q quit</li>
|
||
</ul>
|
||
<h3 id="exit-status">Exit status</h3>
|
||
<ul>
|
||
<li>0 success</li>
|
||
<li>2 missing edit filename</li>
|
||
</ul>
|
||
<h3 id="about-this-entry">About this entry</h3>
|
||
<p>The <code>BUF</code> size should be set at compile time to 32767. This value was used
|
||
because the Sozobon C compiler for the Atari ST has 16 bit ints and a limit on
|
||
the size of arrays & structures of 32k. Also the WatCom C compiler for the PC
|
||
also has 16 bits ints. On machines that have 32 bit ints (most unix boxes), a
|
||
larger value for <code>BUF</code> could be used.</p>
|
||
<p>It is recommend that compact memory model be used on PC class machines. Small
|
||
memory model may work too provided <code>BUF</code> is not too large.</p>
|
||
<p>The character constants <code>'\b'</code>, <code>'\f'</code>, <code>'\n'</code>, <code>'\r'</code>, <code>'\t'</code> are used in order
|
||
to provide more portable code, since the compiler should handle the translation
|
||
of them into the native character set. Note that <code>'\f'</code> (form-feed) was used to
|
||
exit insert mode because K&R C had no escape constant for the escape-key.</p>
|
||
<p>My goals for this project were to learn and experiment with the Buffer Gap
|
||
Scheme [Fin80][net90], write a useful and <em>portable</em> program, and meet the
|
||
requirements of the IOCCC. I initially planned to have a mini <code>curses</code> built-in
|
||
like <a href="../../authors.html#John_Tromp">John Tromp</a>’s
|
||
<a href="../../1989/tromp/index.html">1989/tromp</a> Tetris entry,
|
||
however this was not as portable as using a <code>curses</code> library with
|
||
<code>TERMINFO</code>/<code>TERMCAP</code> support.</p>
|
||
<p>I plan to post follow-ups such as unobfuscated versions and bugs fixes to
|
||
comp.editors. Reposts of the editor.101, gap.doc, and editor.102 can be found
|
||
in the same group every so often.</p>
|
||
<p>This entry will display a file with long lines, but has trouble scrolling the
|
||
screen with long lines. Paging up and down should work correctly, however.</p>
|
||
<h3 id="references">References:</h3>
|
||
<p>[Fin80] Craig A. Finseth, “Theory and Practice of Text Editors or<br />
|
||
A Cookbook For An EMACS”, TM-165, MIT Lab. for Computer<br />
|
||
Science</p>
|
||
<p>[KeP81] Kernighan & Plauger, “Software Tools in Pascal”,<br />
|
||
Addison-Wesley, 81, chapter 6</p>
|
||
<p>[Mil86] Eugene W. Myers & Webb Miller, “Row-replacement Algorithms
|
||
for Screen Editors”, TR 86-19, Dept. of Computer Science,<br />
|
||
U. of Arizona</p>
|
||
<p>[MyM86] Eugene W. Myers & Webb Miller, “A simple row-replacement<br />
|
||
method”, TR 86-28, Dept. of Computer Science, U. of Arizona</p>
|
||
<p>[Mil87] Webb Miller, “A Software Tools Sampler”, Prentice Hall, 87
|
||
ISBN 0-13-822305-X, chapter 5</p>
|
||
<p>[net90] “Editor 101/102” articles from comp.editors</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-1991ant"><a name="inventory"></a>Inventory for 1991/ant</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/ant/ant.c">ant.c</a> - entry source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/ant/Makefile">Makefile</a> - entry Makefile</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/ant/ant.alt.c">ant.alt.c</a> - alternative source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1991/ant/ant.orig.c">ant.orig.c</a> - original source</li>
|
||
<li><a href="1991_ant.tar.bz2">1991_ant.tar.bz2</a> - download entry</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/1991/ant/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/ant/.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/ant/.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>
|
||
</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>Copyright and CC BY-SA 4.0 License</h2>
|
||
<p>This file and web page is:</p>
|
||
<blockquote><b>Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.</b></p></blockquote>
|
||
<p>You are free to share and adapt this file under the terms of this license:</p>
|
||
<blockquote><b>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</b></blockquote>
|
||
<p>For more information, see:</p>
|
||
<blockquote><a
|
||
href="https://creativecommons.org/licenses/by-sa/4.0/">https://creativecommons.org/licenses/by-sa/4.0/</a></blockquote>
|
||
<h2>Coda</h2>
|
||
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1991%2Fant%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 -->
|