improve how markdown code language is commented
We added a space between the markdown triple code mark and language that was enclosed in HTML comments. So a line of the form: ```` ```<!---c---> ```` became: ```` ``` <!---c---> ```` This was done to **help** some code see that the HTML comment string was not a markdown code specifier. Not all code understands this after this changed. For example, `pandoc(1)` still forms HTML classes of the form "<!---c-->" when it encounters the above mentioned change. We also fixed a problem with `2019/dogon/README.md` regarding a markdown code block. We also fixed a problem with `2020/yang/README.md` regarding a markdown code block.
This commit is contained in:
1 parent
c549f6585e
commit
3ddbac9e6b
357 files changed
+2432
-2399
No files matched your search
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -27,14 +27,14 @@ For more detailed information see [2001 anonymous bugs](../../bugs.html#2001_ano
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./anonymous x86_program
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
|
||||
./anonymous anonymous.bed # if able to compile as a 32-bit (-m32) ELF binary
|
||||
@@ -64,14 +64,14 @@ that :-(
|
||||
|
||||
### Alternate build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./anonymous.ten.alt
|
||||
|
||||
./anonymous.bed.alt
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -19,14 +19,14 @@ For more detailed information see [2001 bellard bugs](../../bugs.html#2001_bella
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard file
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard bellard.otccex.c
|
||||
```
|
||||
|
||||
@@ -47,7 +47,7 @@ program.
|
||||
|
||||
You can use it by typing:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard bellard.c [args]...
|
||||
```
|
||||
|
||||
@@ -61,19 +61,19 @@ or by giving the C source to its standard input.
|
||||
|
||||
- Sample compilation and execution:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard bellard.otccex.c 10
|
||||
```
|
||||
|
||||
- Self compilation:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard bellard.c bellard.otccex.c 10
|
||||
```
|
||||
|
||||
- Self compilation iterated...
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./bellard bellard.c bellard.c bellard.otccex.c 10
|
||||
```
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./cheong digits
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -36,7 +36,7 @@ Compile normally and run with one argument, an integer with 2n digits.
|
||||
Program will return the integer part of its square root (n-digits).
|
||||
For example,
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
$ cc -o cheong cheong.c
|
||||
$ ./cheong 1234567890
|
||||
35136
|
||||
@@ -52,7 +52,7 @@ This program runs normally on any ANSI C compiler and is ASCII dependent.
|
||||
|
||||
Strict compiling gives just one unavoidable warning:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
gcc -ansi -Wall cheong.c
|
||||
cheong.c:3: warning: third argument of `main' should probably be `char **'
|
||||
```
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./coupard
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -52,7 +52,7 @@ that can do sound, as a lowest-denominator sound I/O interface.
|
||||
|
||||
To listen to what the program says directly, invoke
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./coupard > /dev/audio
|
||||
```
|
||||
|
||||
@@ -68,7 +68,7 @@ If you want to convert the audio output of the program into another audio
|
||||
format, you can pipe it to [SoX](https://en.wikipedia.org/wiki/SoX) for example
|
||||
(`sox` is the Swiss army knife of Unix audio tools). The command:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./coupard | sox -c1 -r8000 -tub - -c2 -r44100 -twav test.wav
|
||||
```
|
||||
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -10,7 +10,7 @@ code](#alternate code) below.
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./ctk
|
||||
```
|
||||
|
||||
@@ -23,14 +23,14 @@ This alternate version adds to the movement keys `l` for right, `h` for left and
|
||||
|
||||
### Alternate build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./ctk.alt
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -21,7 +21,7 @@ For more detailed information see [2001 dgbeards bugs](../../bugs.html#2001_dgbe
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./dgbeards
|
||||
```
|
||||
|
||||
@@ -36,14 +36,14 @@ this you can look at the author's remarks and make the change.
|
||||
|
||||
### Alternate build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./dgbeards.alt
|
||||
```
|
||||
|
||||
|
||||
+10
-10
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -19,7 +19,7 @@ For more detailed information see [2001 herrmann1 bugs](../../bugs.html#2001_her
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann1.sh 'prg=file'
|
||||
```
|
||||
|
||||
@@ -30,7 +30,7 @@ need an older compiler perhaps gcc 2.95.
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -86,7 +86,7 @@ terminal!
|
||||
The info files `herrmann1.turing` and [herrmann1.gcd](herrmann1.gcd) are sample
|
||||
programs for the Turing machine. For example, type
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann1.sh 'prg=herrmann1.times2'
|
||||
```
|
||||
|
||||
@@ -126,7 +126,7 @@ In the previous example, the Turing machine started on the default
|
||||
tape of the program `times2.turing`. To provide your own tape, type
|
||||
(for example)
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann1 prg=times2.turing tape="O O O I I I O O O"
|
||||
```
|
||||
|
||||
@@ -155,7 +155,7 @@ number in unary representation. (That is, a row of I's is
|
||||
expected, and one more I is appended to the row.) Let's call it
|
||||
`plus1.turing`. Here's what it could look like:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
/* Search beginning of number. */
|
||||
#define start_O O, right, start
|
||||
/* Number found. Move one step to the left. */
|
||||
@@ -177,7 +177,7 @@ line defining `st2_I` has been left out.)
|
||||
|
||||
Now, the program can be used with
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann1.sh 'prg=plus1.turing' 'tape="I I I"'
|
||||
```
|
||||
|
||||
@@ -187,7 +187,7 @@ machine would start on an empty tape (that is, a tape filled with
|
||||
the case for `plus1.turing`). So you might want to provide a
|
||||
default tape by adding a line like
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
#define tape O O O O O I I I I
|
||||
```
|
||||
|
||||
@@ -200,13 +200,13 @@ When writing long programs, the most common errors are to forget
|
||||
to define a state or to misspell one. Let's assume you forgot the
|
||||
line
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
#define start_I I, left, st2
|
||||
```
|
||||
|
||||
Remove it and type
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann1 'prg=plus1.turing'
|
||||
```
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann2
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -75,7 +75,7 @@ to about 9k.
|
||||
3D picture, constructed of random characters (with ASCII code between
|
||||
32 and 126). For example, type
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann2 < herrmann2.ioccc
|
||||
```
|
||||
|
||||
@@ -86,7 +86,7 @@ new random character, it will take the next one from the
|
||||
argument. When it arrives at the end of the argument, it will
|
||||
start over at the beginning. Example:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann2 "234 84 045 5 6765 7487 65190 84 656 254 12 43931 818 0 6542 \
|
||||
341 45 567 76967 7244 606 976567 895 81898 095 68678 1843 4650547 \
|
||||
565980691 389 04974" < herrmann2.ioccc
|
||||
@@ -122,7 +122,7 @@ get it (if you lost it or if you don't have it already) is to use
|
||||
the program itself on the right picture and with the right
|
||||
argument:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann2 \
|
||||
'char*d,A[9876];e;b;*ad,a,c; tw,ndr,T; wri; ;*h; _,ar ;on;'\
|
||||
' ;l ;i(V)man,n {-!har ; =Aadre(0,&e,o||n -- +,o4,=9,l=b=8,'\
|
||||
@@ -183,7 +183,7 @@ works.)
|
||||
|
||||
- When still in doubt about how to judge this program, type
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./herrmann2 < herrmann2.cup
|
||||
```
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./jason
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ cause problems. Go ahead, try it! :-)
|
||||
TED Shroyer came up with the idea that made it possible to hide all
|
||||
the text. Thanks, TED. You won. :)
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
cc -o jason jason.c
|
||||
./jason
|
||||
you are in a maze of twisty little passages
|
||||
|
||||
+14
-14
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -21,7 +21,7 @@ For more detailed information see [2001 kev bugs](../../bugs.html#2001_kev).
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./kev # in one terminal
|
||||
|
||||
./kev hostname # in another terminal
|
||||
@@ -32,7 +32,7 @@ NOTE: each player's paddle is at the bottom and the opponent at the top.
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./kev # in one terminal
|
||||
|
||||
./kev localhost # in another terminal on the same host
|
||||
@@ -41,13 +41,13 @@ NOTE: each player's paddle is at the bottom and the opponent at the top.
|
||||
If you need to change the speed you can reconfigure it like (say
|
||||
for over a network and not the same host):
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make clobber SPEED=50 all # original default value which is very fast
|
||||
```
|
||||
|
||||
If you wish to change the port you can do so like:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make clobber PORT=3773 all
|
||||
```
|
||||
|
||||
@@ -58,19 +58,19 @@ syscall with the `l_` macro, changing the `L` variable like one would `PORT`. Of
|
||||
course you can do more than one at the same time. For instance to change the
|
||||
speed and port:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make clobber SPEED=512 PORT=3773 all
|
||||
```
|
||||
|
||||
If you have `xterm` try on one system:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev &
|
||||
```
|
||||
|
||||
and then the other, the client system:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev localhost&
|
||||
```
|
||||
|
||||
@@ -85,7 +85,7 @@ awkward `,` and `.` keys to move your paddle.
|
||||
|
||||
### Alternate build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
@@ -105,13 +105,13 @@ terminal?
|
||||
|
||||
If you have `xterm` try on one system:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev.alt &
|
||||
```
|
||||
|
||||
and then the other, the client system:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev.alt localhost&
|
||||
```
|
||||
|
||||
@@ -151,14 +151,14 @@ getting the ball past your opponent's paddle. It's pretty fun! :)
|
||||
|
||||
Run the server first without any command line arguments, i.e.
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./kev
|
||||
```
|
||||
|
||||
Then run the client with a single command line argument which is
|
||||
the name of the machine running the server, e.g.
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./kev localhost
|
||||
```
|
||||
|
||||
@@ -169,7 +169,7 @@ blocked by a firewall.
|
||||
Here's a good quick example to see it in action on your own
|
||||
machine, assuming you have `Xwindows`:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev &
|
||||
xterm -geometry 80x40 -fg green -bg black -fn 9x15bold -e ./kev localhost&
|
||||
```
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./ollinger integer
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -18,7 +18,7 @@ For more detailed information see [2001 rosten bugs](../../bugs.html#2001_rosten
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./rosten [number]
|
||||
```
|
||||
|
||||
@@ -30,14 +30,14 @@ NOTE: number is floating point.
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./rosten 1.03
|
||||
./rosten 1.00
|
||||
```
|
||||
|
||||
For some abuse, try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./rosten 0.99
|
||||
```
|
||||
|
||||
@@ -57,7 +57,7 @@ cursor) in the wrong way. :-)
|
||||
|
||||
### SYNOPSIS
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./rosten [greasiness]
|
||||
```
|
||||
|
||||
@@ -94,7 +94,7 @@ portable, but compile with almost no warnings on most of the compilers
|
||||
tested. It's a kind of shame that none of the compilers do anything
|
||||
like this:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
$ make greasymouse
|
||||
cc greasymouse.c -o greasymouse -lX11
|
||||
greasymouse.c:30: This macro should have more text and spaces in it
|
||||
@@ -142,7 +142,7 @@ the way it's used to.
|
||||
The MIPS compiler suggests an `==` instead of an `=` in expressions
|
||||
such as:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
&&(a=b)
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -18,7 +18,7 @@ For more detailed information see [2001 schweikh bugs](../../bugs.html#2001_schw
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./schweikh string string2
|
||||
```
|
||||
|
||||
@@ -40,7 +40,7 @@ This is supposed to happen. As is written in the
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -64,7 +64,7 @@ pattern if you are looking for something in the middle.
|
||||
You can use it for your shell scripting needs similar to a silent grep
|
||||
(and without `stdout` redirected to `/dev/null`):
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
if prog "${VARIABLE}" '<glob>'; then
|
||||
echo VARIABLE matches
|
||||
else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -25,7 +25,7 @@ For more detailed information see [2001 westley bugs](../../bugs.html#2001_westl
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./westley 2>/dev/null
|
||||
# enter some input, terminate with EOF
|
||||
|
||||
@@ -37,7 +37,7 @@ For more detailed information see [2001 westley bugs](../../bugs.html#2001_westl
|
||||
|
||||
## Try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -60,7 +60,7 @@ everyone in the face! :-) This is also compiled by default.
|
||||
|
||||
### Punch card try:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
echo 'Brian Westley does it again!' | ./westley.punch 2>/dev/null
|
||||
```
|
||||
|
||||
@@ -73,7 +73,7 @@ This alternate code might be less portable.
|
||||
|
||||
### Alternate build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
@@ -108,7 +108,7 @@ to punch cards - C programs can be written to be "drop proof".
|
||||
|
||||
Consider the following C program:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
main(){a();b();c();}
|
||||
a(){printf("A");}
|
||||
b(){printf("B");}
|
||||
@@ -122,7 +122,7 @@ any particular order\*\*; it will always produce `ABC` as output.
|
||||
|
||||
You can also use global variables:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
char *greet = "Hello, world!";
|
||||
char *greet; main(){puts(greet);}
|
||||
```
|
||||
@@ -132,7 +132,7 @@ It would be trivial to write an entire C program that is
|
||||
possible to write a program that will always compile but
|
||||
behave differently depending on the line order:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
test(a,b){return a;}
|
||||
#define test(a,b) test(b,a)
|
||||
main(){if (test(0,1)) printf("T"); else printf("F");}
|
||||
@@ -144,7 +144,7 @@ falls between the declaration of `test()` and its use in
|
||||
you can use the same call to `test()` repeatedly in
|
||||
different lines to return different values:
|
||||
|
||||
```<!---c-->
|
||||
``` <!---c-->
|
||||
#define test(x,y) test(y,x)
|
||||
main(){int i=0;a(&i);b(&i);c(&i);d(&i);printf("%d\n",i);}
|
||||
a(i)int*i;{if (test(0,1)) *i += 1;}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -18,7 +18,7 @@ For more detailed information see [2001 williams bugs](../../bugs.html#2001_will
|
||||
|
||||
## To use:
|
||||
|
||||
```<!---sh-->
|
||||
``` <!---sh-->
|
||||
./williams
|
||||
```
|
||||
|
||||
|
||||
Reference in new issue
Block a user