Like all WEB programs, it begins with a brief introduction.
I think the “somewhat similar SAIL program” may have been “DOC”.
The “boostrapping“ refers to the fact that TANGLE is itself written in WEB, so to “translate” tangle.web
into a tangle.p
Pascal source file (before you have a working tangle
program), it was originally needed to be done manually.
The “local Pascal compiler” was (what DEK called?) “Pascal-H”, as mentioned in the TeX program. As for “These features are also present”, I think we’d say “used” rather than “present”! Maybe DEK thinks of the source code along with the compiler (the entire process, from the author composing the text, to the actual assembly/binary instructions emitted) as “the program”.
An outline of the (initial part of) the whole program is given here in module 2.
Disciplined use of goto
, inventing control structures not present in Pascal (like break and continue and return, plus a few more).
Athough WEB papers over many of the defeciences of Pascal (as then standard), even DEK draws the line at default case labels.
Unfortunately it may have been better to give these where they are defined, but here we have them all in one place.
Exercise: Why don’t the mark_error
and mark_fatal
cases need the if
statement that mark_harmless
does?