Fixes and updates to 2000/tomx

Format fixes in README.md.

Link fix via the Internet Wayback Machine. This was also fixed in
winners.csv and winners.html.

Copy ../mkentry.c to this directory because the author made an example
of where one can modify the program to compile it instead - it felt
better than to change it to ../mkentry.c as that assumes the directory
structure is the same.

Added mkentry to .gitignore.
This commit is contained in:
Cody Boone Ferguson committed 2023-04-20 13:18:29 -07:00
1 parent 93e97ec356
commit bee1d82370
5 files changed
+1303 -33

No files matched your search

+1
View File
@@ -1 +1,2 @@
tomx
mkentry
+27 -31
View File
@@ -1,12 +1,11 @@
# Most Complete Program
Thomas P John
Mishybi Plamoottil
Parottukonam
Nalanchira P.O, Trivandrum-695015
India
http://tomx.tripod.com/
Thomas P John
Mishybi Plamoottil
Parottukonam
Nalanchira P.O, Trivandrum-695015
India
<https://web.archive.org/web/20010720192926/http://tomx.tripod.com/>
## To build:
@@ -43,22 +42,21 @@ Polyglots have come and gone, but this was the first one we'd seen
where one language *used* another to perform its tasks. An interesting
approach. Admittedly, it's not all that obfuscated - but there's more
to it than you might think, since you have to make sure that your
changes don't change the shell code or the makefile.
changes don't change the shell code or the Makefile.
## Author's remarks:
### Summary
This program works as a C source file, a Makefile and also as a
Shell (/bin/sh) script. But unlike some other multi-language prog-
rams, this one is NOT meant to print "Hello, world" in all 3 cases
(At least in the true sense ;-)). The C, make and shell code build
upon each other to create a C program (?) which when executed as a
shell script will compile itself through the C compiler using a
makefile! - Pretty useful, Eh?.
This program works as a C source file, a Makefile and also as a shell
(`/bin/sh`) script. But unlike some other multi-language programs, this one is
NOT meant to print "Hello, world" in all 3 cases (At least in the true sense
;-)). The C, make and shell code build upon each other to create a C program (?)
which when executed as a shell script will compile itself through the C compiler
using a Makefile! - Pretty useful, Eh?
Probably, this is the first entry ever to fully satisfy Rule #1
("Your entry must be a complete program") in the strictest sense;-)
Probably, this is the first entry ever to fully satisfy Rule #1 ("Your entry
must be a complete program") in the strictest sense;-)
### Top 5 reasons (IMHO) why this code is an entry for IOCCC
@@ -76,27 +74,25 @@ obfuscation should be in C and not elsewhere???. Mmmmm...).
3. Extending Argument #2... Obfuscation done in the C code
(comments?) create obfuscated code for the other 2 languages.
This opens new possibilities to be explored in depth in future
IOCCCs.
`IOCCC`s.
4. LOOKS like a Makefile, WORKS like a shell script and COMPILES
like a C program.
5. Does something useful (See Notes #1, #2).
5. Does something useful (See Notes #1 and #2 below).
### Notes
1. The program could have been something other than the simple "Hello, world"
program that it is. It is possible to do `#include "prog2.c"` in the place of
the main(), leaving the complexities of the C file elsewhere and making this
source still acceptable to "make" and "sh". The following modification to the
last few lines will compile the IOCCC's famous `mkentry.c`.
the `main()`, leaving the complexities of the C file elsewhere and making this
source still acceptable to `make` and `sh`. The following modification to the
last few lines will compile the IOCCC's famous [mkentry.c](mkentry.c).
```make
.PHONY: /* true clean */
#undef true
#include "mkentry.c"
```
.PHONY: /* true clean */
#undef true
#include "mkentry.c"
Ain't that useful?
@@ -104,18 +100,18 @@ Ain't that useful?
very interesting things like generating C code on execution
by adding additional code in make/sh (open up a loop????).
This opens the possibilities of generating & compiling some
[obfuscated?] C code. (Maybe should try this if this program
(obfuscated?) C code. (Maybe should try this if this program
fails at IOCCC 2000)
3. Changing the `%:%.c` dependency to a `$(PROG):$(PROG).c` form
can compile this program with some other `make`s (I got it to
work in Windows using nmake and Gnuwin32's sh ;-)
work in Windows using nmake and Gnuwin32's sh ;-) )
4. Interesting things to do: try `./tomx.c clean`. This will
do the same as `make clean` :-)). Also: `./tomx.c all`
5. Be careful about the Tabs in the source code. Removing them
or converting Tabs to spaces can be disastrous.
5. Be careful about the tabs in the source code. Removing them
or converting tabs to spaces can be disastrous.
## Copyright and CC BY-SA 4.0 License:
+1273
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -179,7 +179,7 @@ Teemu Rantanen,Teemu_Rantanen,http://www.cs.hut.fi/~tvr/,null,tvr@cs.hut.fi,null
Tero Kivinen,Tero_Kivinen,http://www.iki.fi/kivinen/,null,kivinen@iki.fi,null,null);
Thaddaeus Frogley,Thaddaeus_Frogley,http://thad.notagoth.org/,null,codemonkey_uk@hotmail.com,null,null);
Thomas A. Fine,Thomas_A._Fine,http://hea-www.harvard.edu/~fine/,null,fine@head-cfa.harvard.edu,null,null);
Thomas P John,Thomas_P_John,http://tomx.tripod.com/,null,thomaspjohn@hotmail.com,null,null);
Thomas P John,Thomas_P_John,https://web.archive.org/web/20010720192926/http://tomx.tripod.com/,thomaspjohn@hotmail.com,null,null);
Thomas Stewart,Thomas_Stewart,null,null,null,US,null);
Thor Eldby,Thor_Eldby,null,null,null,null,null);
Timo Poikola,Timo_Poikola,https://ig.fi/other/ioccc,null,timo@ig.fi,null,@timpoiko);
Can't render this file because it contains an unexpected character in line 23 and column 6.
+1 -1
View File
@@ -663,7 +663,7 @@ Contest </I></FONT></CENTER><BR>
<!-- J J J J J J J J J J J J J J J J J J J J J J J - -->
<UL>
<LI TYPE=none><A NAME="Thomas_P_John"></A><B><a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#x74;&#x68;&#x6F;&#x6D;&#x61;&#x73;&#x70;j&#x6F;&#x68;&#x6E;&#64;&#x68;&#x6F;&#x74;m&#97;&#105;l&#x2E;&#99;&#x6F;&#x6D;">Thomas P John</a></B> -- <A HREF="http://tomx.tripod.com/">http://tomx.tripod.com/</a>
<LI TYPE=none><A NAME="Thomas_P_John"></A><B><a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#x74;&#x68;&#x6F;&#x6D;&#x61;&#x73;&#x70;j&#x6F;&#x68;&#x6E;&#64;&#x68;&#x6F;&#x74;m&#97;&#105;l&#x2E;&#99;&#x6F;&#x6D;">Thomas P John</a></B> -- <A HREF="https://web.archive.org/web/20010720192926/http://tomx.tripod.com/">https://web.archive.org/web/20010720192926/http://tomx.tripod.com/</a>
<UL>
<LI TYPE=square>Most Complete Program (<A HREF="years.html#2000_tomx">2000 tomx</A>)
</UL><BR>