fix even more broken markdown links

Added `bin/find-missing-links.sh` tool to check for
markdown links to missing local files.

Regarding the missing link tool:

```
    Here be extended regular expression magic dragons! :-)
```

Added `make find_missing_links` to the top level Makefile.

Added `make find_missing_links` to `make www` and `make quick_www`.

Ran `make www` to perform the above.

TODO: Fix markdown links to missing local files.
This commit is contained in:
Landon Curt Noll committed 2024-04-28 01:08:21 -07:00
1 parent 58d19725b4
commit 217836e33f
41 files changed
+1773 -635

No files matched your search

+5 -5
View File
@@ -157,7 +157,7 @@ tackle this project.
on smaller machines; `m[]` needs to be at least 2000 long, though.
I say `first` is portable mainly because it uses native types. Unlike
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language), which
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)), which
traditionally allows byte and multi-byte operations, all operations are
performed on C `int`s. That means `first` code is only as portable as the same
code would be in C. As in C, the result of dividing `-1` by `2` is machine (or
@@ -205,7 +205,7 @@ represents a step backwards, in more ways than one.)
### What exactly is `first`, then?
`first` is a tiny interpreter which implements a sufficient pseudo-subset of
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) to allow it
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) to allow it
to bootstrap a relatively complete version of FORTH (based loosely on forth79),
which I call THIRD. Complete relative to what, I'm not sure.
@@ -217,11 +217,11 @@ the design file, design, I give a justification for why each primitive in
THIRD is sorta slow, because `first` has so few primitives that many things that
are primitives in
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) (like swap)
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) (like swap)
take a significant amount of time in THIRD.
When you get the `Ok.` message from `third`, try out some sample
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) code
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) code
(`first` has no way of knowing if keyboard input is waiting, so it can't actually prompt
you in a normal way. It only prints `'Ok.'` after you define a word).
@@ -266,7 +266,7 @@ If you compile the basic THIRD system without the help word (strings take up one
1000 `int`s (plus the return stack).
Thus THIRD gives you a relatively complete
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) system in
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) system in
less than 700 chars of C source + about 1000 `int`s of memory--and it's portable
too (you could copy over the THIRD memory dump to another machine, in theory).
If the above numbers seem to you to be mixing apples and oranges (C source and
+1 -1
View File
@@ -484,7 +484,7 @@ tackle this project.</p>
<p><code>first</code> is reasonably portable. You may need to adjust the size of the buffers
on smaller machines; <code>m[]</code> needs to be at least 2000 long, though.</p>
<p>I say <code>first</code> is portable mainly because it uses native types. Unlike
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language), which
<a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>, which
traditionally allows byte and multi-byte operations, all operations are
performed on C <code>int</code>s. That means <code>first</code> code is only as portable as the same
code would be in C. As in C, the result of dividing <code>-1</code> by <code>2</code> is machine (or