Fixes in presentation of 1988/isaak

The uuencoded file isaak.encode was removed. Instead the output was put
in isaak.output.txt. This has the same manifest priority as the encoded
file. This file is strictly for historical remarks in the index.html
file and not needed beyond that. Perhaps it should be in the secondary
file list but that can be decided later.

The file isaak.alt.c is now compilable. It is the isaak.orig.c that is
not. The difference is with an old enough compiler/system it might be
that the alt version will work. In modern systems the isaak.c will work.

Manifest updated for the file changes.

Thanks file updated with this and possibly other earlier changes in
1988. 1988 is not done yet but as these problems were found working on
it I felt like I should commit them now too.
This commit is contained in:
Cody Boone Ferguson committed 2024-05-06 07:54:12 -07:00
1 parent 6d06c678ab
commit aa0468d03b
14 files changed
+134 -150

No files matched your search

+5 -5
View File
@@ -42,12 +42,12 @@
"entry_text" : "original source"
},
{
"file_path" : "isaak.encode",
"file_path" : "isaak.output.txt",
"inventory_order" : 180,
"OK_to_edit" : true,
"display_as" : "xxencode",
"display_via_github" : true,
"entry_text" : "uuencoded sample output"
"OK_to_edit" : false,
"display_as" : "text",
"display_via_github" : false,
"entry_text" : "program output"
},
{
"file_path" : "1988_isaak.tar.bz2",
+20 -17
View File
@@ -18,8 +18,9 @@ code](#alternate-code) below.
## Alternate code:
The original version of this code is in [isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c).
The original entry starts with the line:
The original version of this code is in
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c), with a minor fix so that it
will compile. The original entry starts with the line:
``` <!---c-->
main(){};
@@ -29,10 +30,11 @@ This works on some systems. Why? Note that `#include <stdio.h>` is given on
the last line. Why is this needed? Note the unusual calls to `sprintf(3)`.
This version also relied on being able to define `#define` to something else and
using that macro for `#define`.
using that macro for `#define`. This was fixed, however, so that you can at
least compile it in modern systems.
This version will not likely work on modern systems if you can even get it to
compile.
This version will not likely work on modern systems even though you should be
able to compile it.
### Alternate build:
@@ -41,6 +43,9 @@ compile.
make alt
```
### Alternate use:
Use `isaak.alt` as you would `isaak` above.
@@ -49,11 +54,13 @@ Use `isaak.alt` as you would `isaak` above.
The program relies heavily on ASCII. Don't even think of running it on
an EBCDIC machine.
### Historical notes about the original entry:
NOTE: If you named the file anything other than [isaak.c](%%REPO_URL%%/1988/isaak/isaak.c), you had to
change the `#include` on line 6. This limitation has been fixed by using the
`__FILE__` macro.
### Historical notes about the original entry
NOTE: If you named the file anything other than `isaak.c`, you had to
change the `#include` on line 6. This limitation has been fixed in
[isaak.c](%%REPO_URL%%/1988/isaak/isaak.c) and
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c) by using the `__FILE__` macro.
NOTE: The use of null comments to separate macros to construct different tokens
from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining
@@ -62,15 +69,11 @@ from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining
NOTE: Most System V machines were not be able to execute this program correctly
due to the fact that BSD style systems have an `sprintf(3)` that returns a `char
*`. Due to the above problems, we placed the output of this program in the
file: isaak.encode. To read this file do.
file [isaak.output.txt](isaak.output.txt).
``` <!---sh-->
uudecode < isaak.encode
cat isaak.output
```
Since this was fixed, this file is not strictly necessary. See the
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c) for the original source.
Since this was fixed, this file is not strictly necessary, but we keep it for
historical purposes (decoded as it used to be uuencoded). See the
[isaak.orig.c](%%REPO_URL%%/1988/isaak/isaak.orig.c) for the original source.
FYI: We are likely to be more strict about portability in the future.
+18 -15
View File
@@ -403,35 +403,38 @@ code</a> below.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./isaak</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>The original version of this code is in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a>.
The original entry starts with the line:</p>
<p>The original version of this code is in
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a>, with a minor fix so that it
will compile. The original entry starts with the line:</p>
<pre><code> main(){};</code></pre>
<p>This works on some systems. Why? Note that <code>#include &lt;stdio.h&gt;</code> is given on
the last line. Why is this needed? Note the unusual calls to <code>sprintf(3)</code>.</p>
<p>This version also relied on being able to define <code>#define</code> to something else and
using that macro for <code>#define</code>.</p>
<p>This version will not likely work on modern systems if you can even get it to
compile.</p>
using that macro for <code>#define</code>. This was fixed, however, so that you can at
least compile it in modern systems.</p>
<p>This version will not likely work on modern systems even though you should be
able to compile it.</p>
<h3 id="alternate-build">Alternate build:</h3>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>isaak.alt</code> as you would <code>isaak</code> above.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>The program relies heavily on ASCII. Don’t even think of running it on
an EBCDIC machine.</p>
<h3 id="historical-notes-about-the-original-entry">Historical notes about the original entry:</h3>
<p>NOTE: If you named the file anything other than <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.c">isaak.c</a>, you had to
change the <code>#include</code> on line 6. This limitation has been fixed by using the
<code>__FILE__</code> macro.</p>
<h3 id="historical-notes-about-the-original-entry">Historical notes about the original entry</h3>
<p>NOTE: If you named the file anything other than <code>isaak.c</code>, you had to
change the <code>#include</code> on line 6. This limitation has been fixed in
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.c">isaak.c</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> by using the <code>__FILE__</code> macro.</p>
<p>NOTE: The use of null comments to separate macros to construct different tokens
from a single macro (e.g., <code>"O/**/O"</code> creates either <code>++</code> or <code>--</code> by defining
<code>O</code> to be <code>+</code> or <code>-</code>) may cause some strict ANSI C preprocessors to object.</p>
<p>NOTE: Most System V machines were not be able to execute this program correctly
due to the fact that BSD style systems have an <code>sprintf(3)</code> that returns a <code>char *</code>. Due to the above problems, we placed the output of this program in the
file: isaak.encode. To read this file do.</p>
<pre><code> uudecode &lt; isaak.encode
cat isaak.output</code></pre>
<p>Since this was fixed, this file is not strictly necessary. See the
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> for the original source.</p>
file <a href="isaak.output.txt">isaak.output.txt</a>.</p>
<p>Since this was fixed, this file is not strictly necessary, but we keep it for
historical purposes (decoded as it used to be uuencoded). See the
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.orig.c">isaak.orig.c</a> for the original source.</p>
<p>FYI: We are likely to be more strict about portability in the future.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>No remarks were provided by the author.</p>
@@ -464,7 +467,7 @@ file: isaak.encode. To read this file do.</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> - alternate code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.orig.c">isaak.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.encode">isaak.encode</a> - uuencoded sample output</li>
<li><a href="isaak.output.txt">isaak.output.txt</a> - program output</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
+19 -18
View File
@@ -1,10 +1,9 @@
main(){}
#define P define
#P U ifdef
#P main Si
#U y
main(){};
#define U
#define main Si
#if U defined(y)
#undef y
#include "isaak.c"
#include __FILE__
Pb
#else
char*K="4499999;8 9+jW*':'TZhD m:*h.4-j'9(z7Q>r*:G#FS]mATIdMZY^HaKFZZ\
@@ -12,23 +11,25 @@ JyJw:X49@eJj1,Z'\\c^jGU@IXTF@9P2i:gAZx0pD*W3\\<ZZs1:.~Z8U:P<\\:ZOI0GBPZ7",*H
,S[5202],*B="oA9BA6iN`]`Ph>5F4::M6A69@6I{g[Za__]NPV``aV\177E4C5CG;4C<BEJG;\
?LGlSZ[Y_!oYi@uXPzLFyPOYP][]`RTaQo86564CAHCG4ES",*F,N;int Bk,V;Y
#endif
#P C K/16-2
(){char*H;F O= -263;for(H="$+---+|||";*++H;)*(F O=(*H+5&129)+1)= *H;F
#P W sprintf(
O= -132;}I/**/r(){if((N= *I O/**/O%(21 O -5)+81 O 16)==107)N+=
#define C K/16-2
#define Pa(x,y) x##y
#define P(x,y) Pa(x,y)
(){char*H;F P(O,=) -263;for(H="$+---+|||";*++H;)*(F P(O,=)(*H+5&129)+1)= *H;F
#define W sprintf(
P(O,=)-132;}P(I,r)(){if((N= *I P(O,O)%(21 O -5)+81 O 16)==107)N+=
#undef I
*K++&15;*F++ =N;return*K;}
#undef O
#P I K
#P O +
#U N
exit(N){F=W H=S,"%5060d")+385;while(Br(),++B,Kr())F+=(N=
#define I K
#define O +
#if U defined(N)
exit(N){W H=S,"%5060d");F=S+385;while(Br(),++B,Kr())F+=(N=
*B++/26-1)?(")21["[N]-46)*N*4-22:-3194;while(*--K!=9){while(!(*++H+5&64));
F=(40-"(\206/"[((H-S)%130+45)/57]<<3)+H;*F++= *H++;*F=
*H==106?32:*H;Y();W W F-131,"%-3d",++Bk)+260,"%3d",V+=
*C?*C:"hijpqv"[*--C]-106);Pb();}for(H=S;*H||(int)_exit(0);H+=130)write(1,1+W
F+3,"%c%-73.73s\n",0,H),74);}
*H==106?32:*H;Y();W F-131,"%-3d",++Bk); W F+129,"%3d",V+=
*C?*C:"hijpqv"[*--C]-106);Pb();}for(H=S;*H||(_exit(0),0);H+=130)write(1,F+4,W
F+3,"%c%-73.73s\n",0,H)-1);}
#endif
#undef U
#P U ifndef
#define U !
#include <stdio.h>
-68
View File
@@ -1,68 +0,0 @@
begin 666 isaak.output
M*RTM+2L@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" K+2TM*PI\,2 @?" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @('PR("!\"GQ(("!\(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?$AE('P*?" @
M,7P@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @("!\(" T? HK+2TM*RTM+2L@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" K+2TM*RTM+2LM+2TK+2TM
M*RTM+2LM+2TK"GPS("!\-" @?" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @('PU("!\-B @?#<@('PX("!\.2 @?#$P('P*?$QI('Q"
M92!\(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?$(@
M('Q#("!\3B @?$\@('Q&("!\3F4@? I\(" W?" @.7P@(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @("!\(#$Q?" Q,GP@,31\(#$V?" Q
M.7P@,C!\"BLM+2TK+2TM*R @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @("LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L*?#$Q('PQ,B!\
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?#$S('PQ
M-"!\,34@?#$V('PQ-R!\,3@@? I\3F$@?$UG('P@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("!\06P@?%-I('Q0("!\4R @?$-L('Q!
M<B!\"GP@,C-\(#(T?" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @('P@,C=\(#(X?" S,7P@,S)\(#,U?" T,'P**RTM+2LM+2TK+2TM
M*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
M+2TM*RTM+2LM+2TK+2TM*PI\,3D@?#(P('PR,2!\,C(@?#(S('PR-"!\,C4@
M?#(V('PR-R!\,C@@?#(Y('PS,"!\,S$@?#,R('PS,R!\,S0@?#,U('PS-B!\
M"GQ+("!\0V$@?%-C('Q4:2!\5B @?$-R('Q-;B!\1F4@?$-O('Q.:2!\0W4@
M?%IN('Q'82!\1V4@?$%S('Q392!\0G(@?$MR('P*?" S.7P@-#!\(#0U?" T
M.'P@-3%\(#4R?" U-7P@-39\(#4Y?" U.7P@-C1\(#8U?" W,'P@-S-\(#<U
M?" W.7P@.#!\(#@T? HK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM
M+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK"GPS
M-R!\,S@@?#,Y('PT,"!\-#$@?#0R('PT,R!\-#0@?#0U('PT-B!\-#<@?#0X
M('PT.2!\-3 @?#4Q('PU,B!\-3,@?#4T('P*?%)B('Q3<B!\62 @?%IR('Q.
M8B!\36\@?%1C('Q2=2!\4F@@?%!D('Q!9R!\0V0@?$EN('Q3;B!\4V(@?%1E
M('Q)("!\6&4@? I\(#@U?" X.'P@.#E\(#DQ?" Y,WP@.39\(#DY?#$P,7PQ
M,#-\,3 V?#$P.'PQ,3)\,3$U?#$Q.7PQ,C)\,3(X?#$R-WPQ,S%\"BLM+2TK
M+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM
M+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L*?#4U('PU-B!\-3<@?#<R('PW,R!\
M-S0@?#<U('PW-B!\-S<@?#<X('PW.2!\.# @?#@Q('PX,B!\.#,@?#@T('PX
M-2!\.#8@? I\0W,@?$)A('Q,82!\2&8@?%1A('Q7("!\4F4@?$]S('Q)<B!\
M4'0@?$%U('Q(9R!\5&P@?%!B('Q":2!\4&\@?$%T('Q2;B!\"GPQ,S-\,3,W
M?#$S.7PQ-SA\,3@Q?#$X-'PQ.#9\,3DP?#$Y,GPQ.35\,3DW?#(P,7PR,#1\
M,C W?#(P.7PR,#E\,C$P?#(R,GP**RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM
M*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
M+2TM*PI\.#<@?#@X('PX.2!\,3 T?#$P-7P@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"GQ&<B!\4F$@?$%C
M('Q29B!\2&$@?" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" *?#(R,WPR,C9\,C(W?#(V,7PR-C!\(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M( HK+2TM*RTM+2LM+2TK+2TM*RTM+2L@(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" *(" @(" @(" K+2TM*RTM+2LM+2TK+2TM*RTM+2LM
M+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L@(" @(" @( H@
M(" @(" @('PU."!\-3D@?#8P('PV,2!\-C(@?#8S('PV-"!\-C4@?#8V('PV
M-R!\-C@@?#8Y('PW,"!\-S$@?" @(" @(" @"B @(" @(" @?$-E('Q0<B!\
M3F0@?%!M('Q3;2!\174@?$=D('Q48B!\1'D@?$AO('Q%<B!\5&T@?%EB('Q,
M=2!\(" @(" @(" *(" @(" @("!\,30P?#$T,7PQ-#1\,30U?#$U,'PQ-3)\
M,34W?#$U.7PQ-C)\,38U?#$V-WPQ-CE\,3<S?#$W-7P@(" @(" @( H@(" @
M(" @("LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
M+2TM*RTM+2LM+2TK+2TM*R @(" @(" @"B @(" @(" @?#DP('PY,2!\.3(@
M?#DS('PY-"!\.34@?#DV('PY-R!\.3@@?#DY('PQ,#!\,3 Q?#$P,GPQ,#-\
M(" @(" @(" *(" @(" @("!\5&@@?%!A('Q5("!\3G @?%!U('Q!;2!\0VT@
M?$)K('Q#9B!\17,@?$9M('Q-9"!\3F\@?$QR('P@(" @(" @( H@(" @(" @
M('PR,S)\,C,Q?#(S.'PR,S=\,C0T?#(T,WPR-#=\,C0W?#(U,7PR-31\,C4W
M?#(U-GPR-31\,C4W?" @(" @(" @"B @(" @(" @*RTM+2LM+2TK+2TM*RTM
M+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK(" @
&(" @(" *
end
+39
View File
@@ -0,0 +1,39 @@
+---+ +---+
|1 | |2 |
|H | |He |
| 1| | 4|
+---+---+ +---+---+---+---+---+---+
|3 |4 | |5 |6 |7 |8 |9 |10 |
|Li |Be | |B |C |N |O |F |Ne |
| 7| 9| | 11| 12| 14| 16| 19| 20|
+---+---+ +---+---+---+---+---+---+
|11 |12 | |13 |14 |15 |16 |17 |18 |
|Na |Mg | |Al |Si |P |S |Cl |Ar |
| 23| 24| | 27| 28| 31| 32| 35| 40|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 |33 |34 |35 |36 |
|K |Ca |Sc |Ti |V |Cr |Mn |Fe |Co |Ni |Cu |Zn |Ga |Ge |As |Se |Br |Kr |
| 39| 40| 45| 48| 51| 52| 55| 56| 59| 59| 64| 65| 70| 73| 75| 79| 80| 84|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|37 |38 |39 |40 |41 |42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |
|Rb |Sr |Y |Zr |Nb |Mo |Tc |Ru |Rh |Pd |Ag |Cd |In |Sn |Sb |Te |I |Xe |
| 85| 88| 89| 91| 93| 96| 99|101|103|106|108|112|115|119|122|128|127|131|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|55 |56 |57 |72 |73 |74 |75 |76 |77 |78 |79 |80 |81 |82 |83 |84 |85 |86 |
|Cs |Ba |La |Hf |Ta |W |Re |Os |Ir |Pt |Au |Hg |Tl |Pb |Bi |Po |At |Rn |
|133|137|139|178|181|184|186|190|192|195|197|201|204|207|209|209|210|222|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|87 |88 |89 |104|105|
|Fr |Ra |Ac |Rf |Ha |
|223|226|227|261|260|
+---+---+---+---+---+
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|58 |59 |60 |61 |62 |63 |64 |65 |66 |67 |68 |69 |70 |71 |
|Ce |Pr |Nd |Pm |Sm |Eu |Gd |Tb |Dy |Ho |Er |Tm |Yb |Lu |
|140|141|144|145|150|152|157|159|162|165|167|169|173|175|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|90 |91 |92 |93 |94 |95 |96 |97 |98 |99 |100|101|102|103|
|Th |Pa |U |Np |Pu |Am |Cm |Bk |Cf |Es |Fm |Md |No |Lr |
|232|231|238|237|244|243|247|247|251|254|257|256|254|257|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+