Re: Compiler types?

genew@shuswap.net (Gene Wirchenko)
17 Sep 2000 22:58:58 -0400

          From comp.compilers

Related articles
Compiler types? cwerner@gmx.de (Constantin Werner) (2000-09-11)
Re: Compiler types? luminous-is@home.com (AndrewJ) (2000-09-15)
Re: Compiler types? genew@shuswap.net (2000-09-17)
Re: Compiler types? mac@ac.valley.net (2000-09-17)
| List of all articles for this month |
From: genew@shuswap.net (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 <luminous-is@home.com> wrote:


>On 11 Sep 2000 02:16:48 -0400, "Constantin Werner" <cwerner@gmx.de> 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 :-(
>>thanks
>
>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...)
>--
>AndrewJ
>[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.


Sincerely,


Gene Wirchenko


Post a followup to this message

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