Update & reformat 1985 in 1984 style

This commit is contained in:
Landon Curt Noll committed 2022-09-21 01:44:56 -07:00
1 parent 11b49b9be7
commit b7921d7f44
31 files changed
+4584 -250

No files matched your search

+198
View File
@@ -0,0 +1,198 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>hint</title>
<style>
html {
line-height: 1.5;
font-family: Georgia, serif;
font-size: 20px;
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 1em;
}
h1 {
font-size: 1.8em;
}
}
@media print {
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="the-worst-abuse-of-the-c-preprocessor">The worst abuse of the C
preprocessor</h1>
<p>Col. G. L. Sicherman</p>
<h2 id="to-build">To build:</h2>
<pre><code> make all</code></pre>
<p>NOTE: This entry uses non-standard args to main() that do not work
with modern compilers.</p>
<p>NOTE: This entry uses non-standard args to main() that do not work
with modern compilers.</p>
<h2 id="judges-comments">Judges’ comments:</h2>
<p>This program abuses the C preprocessor so much that some /lib/cpp’s
fail to strip out all of the comments on the first pass! If you were
able to understand Decot’s entry in 1984, you will have a head start on
this one.</p>
<p>Be sure to run this program through lint! If your lint works
correctly, it should warn you that the argument ‘Manual’ isn’t used.
Like the program says, what’s that mean?</p>
<p>Run the program without arguments and enter the letters ‘a’ thru ‘m’
on a line. Now enter the letters ‘n’ thru ‘z’. But to borrow a quote
from Richard Stallman: If you think you understand what this code does,
then you don’t, so read it again! Explain why:</p>
<pre><code>sicherman &lt; sicherman.c | sicherman | diff - sicherman.c</code></pre>
<p>results in diff reporting a difference on some machines.</p>
<p>NOTE: This entry requires a non-standard K&amp;R C compiler to
compile.</p>
<p>Copyright (c) 1985, Landon Curt Noll &amp; Larry Bassel. All Rights
Reserved. Permission for personal, educational or non-profit use is
granted provided this this copyright and notice are included in its
entirety and remains unaltered. All other uses must receive prior
permission in writing from both Landon Curt Noll and Larry Bassel.</p>
</body>
</html>