3 ms·
HN's capacity for intellectual dishonesty knows no bounds. That's a dishonest attempt to bankrupt the term "single-pass compiler", and remove its value to comm
by pwdisswordfish8 5y ago
HN's capacity for intellectual dishonesty knows no bounds. That's a dishonest attempt to bankrupt the term "single-pass compiler", and remove its value to communicate something meaningful. By that token, the Amsterdam Compiler Kit, notable for being an example of the classic multi-pass compilation strategy, is apparently not a multi-pass compiler at all! It's just a bunch of single-pass compilers.
https://en.wikipedia.org/wiki/One-pass_compiler https://en.wikipedia.org/wiki/One-pass_compiler
"a one-pass compiler is a compiler that passes through the parts of each compilation unit only once, immediately translating each part into its final machine code"
Even if you want to raise the "That's just Wikipedia! Anyone can edit it!" argument, rational thought is still not on your side.
Unlike a program that has been compiled into object code, there is no value in a program that has been compiled into assembly except to run it through an assembler and turn it into a binary. The only accurate description for this would be a two-pass compiler (not single-pass). The assembly is an intermediate representation, and the "compiler" is the union of the language frontend that outputs assembly + the assembler itself. (It does not matter that the assembler runs in a separate process and is developed independently.)