|Compiler types? email@example.com (Constantin Werner) (2000-09-11)|
|Re: Compiler types? firstname.lastname@example.org (AndrewJ) (2000-09-15)|
|Re: Compiler types? email@example.com (2000-09-17)|
|Re: Compiler types? firstname.lastname@example.org (2000-09-17)|
|From:||email@example.com (Gene Wirchenko)|
|Date:||17 Sep 2000 22:58:58 -0400|
|Organization:||Okanagan Internet Junction|
AndrewJ <firstname.lastname@example.org> wrote:
>On 11 Sep 2000 02:16:48 -0400, "Constantin Werner" <email@example.com> wrote:
>>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
. . .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.
Return to the
Search the comp.compilers archives again.