6 ms·
I think Borland’s Turbo Pascal was also a single pass compiler that emitted machine code as COM files.
by dugmartin 3y ago
I think Borland’s Turbo Pascal was also a single pass compiler that emitted machine code as COM files.
- kwhitefoot 3y agoSurely it is a feature of all Pascal compilers that they are single pass. I thought that it was part of the specification of the language that it be possible to compile in a single pass.
- deleted 3y ago[deleted]
- eru 3y agoThere's a bunch of LLVM-based Pascal compilers these days. I doubt they are single pass, given how LLVM works. (And in general, any optimizing compiler is most likely doing multiple passes.) You are right about Pascal's original design. Though I'm not sure if that's still true about modern versions of the language?
- pjmlp 3y agoNot even old ones, if we taken optimising compilers like VMS Pascal into account.
- drewolbrich 3y agoIt's disturbing to me that I remembered this, but the IBM Pascal Compiler for DOS (1981) had two passes. https://winworldpc.com/product/ibm-pascal-compiler/100 https://winworldpc.com/product/ibm-pascal-compiler/100
- pjmlp 3y agoNot all, although the language was designed that way. Some dialects and optimising compilers, had multiple passes.
- elvis70 3y agoMicrosoft Pascal was a two-pass compiler. It was slower to compile than Turbo Pascal and that pissed off Bill Gates when he realized than Turbo was the most successful.
- bemmu 3y agoIt makes development so much more fun when you see the results right away. Pressing "build" in Turbo Pascal on my 386sx it was already done before you could even perceive any delay. Instant.
- pantulis 3y agoI think Turbo Pascal had the capability of generating code directly to memory without generating disk files.
- ForOldHack 3y agoIt did that on floppy based systems too. The '87 equipped pcs in the physics building were much faster at 4500 line project, which I worked on for a year. So... First thing to test on a new 33Mhz 386 w/ wolf3d (install only, no source) my project loaded and 33mhz itt 387. Less than 2 seconds. If you brought everything into the ide,and hit run... It screamed.