Re: Compiler types? (Gene Wirchenko)
17 Sep 2000 22:58:58 -0400

          From comp.compilers

Related articles
Compiler types? (Constantin Werner) (2000-09-11)
Re: Compiler types? (AndrewJ) (2000-09-15)
Re: Compiler types? (2000-09-17)
Re: Compiler types? (2000-09-17)
| List of all articles for this month |

From: (Gene Wirchenko)
Newsgroups: comp.compilers
Date: 17 Sep 2000 22:58:58 -0400
Organization: Okanagan Internet Junction
References: 00-09-083 00-09-101
Keywords: practice

AndrewJ <> wrote:

>On 11 Sep 2000 02:16:48 -0400, "Constantin Werner" <> wrote:
>>Hi all,
>>the types of compilers are classified in:
>>- one-pass compilers
>>- multi-pass compilers
>>- load and go compiler
>>- optimizing compilers
>>- ...and some other
>>can anybody tell me whats the difference between all mentioned 4 compiler
>>types? i was not able to find any explanation in science books :-(
>While I'm no expert of compiler methods and such, even I'm able to
>realize what most of these describe.
>One pass compiler: a compiler that translates the source unit in a
>single pass

          . . .possibly with a patch-up phase, but the source code is
looked at only once.

>Multi pass compiler: a compiler that translates the source unit in two
>or more passes
>Load and go compiler: not sure, never seen this terminology, unless
>you're talking about an interpreter
>Optimizing compiler: a compiler that optimizes the translated code,
>usually during the code generation phase (?)... it makes the code run
>better on the particular architecture it is compiling for (ie using
>shifts instead of multiplies, loop unrolling etc...)
>[Load and go compiles directly into memory and immediately runs the code.
>They used to be quite popular, not any more. -John]

          To add to our Esteemed Moderator's point, they're good for where
the code will be run only once or a few times. Typically, they don't
bother with [|much] optimization. In the mainframe days, on campus,
they were often used for student jobs.

          There is also Just-In-Time compilation. The code is compiled as
necessary and runs in an interpreted framework. Code that is not
executed doesn't get compiled. This works for languages where the
meaning of a statement is fairly easy to tell from the statement only.
e.g. BASIC but not C.


Gene Wirchenko

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.