Re: What makes a compiler, was Is Assembler

Louis Krupp <lkrupp@pssw.com>
Sat, 14 Feb 2009 15:28:52 -0700

          From comp.compilers

Related articles
Is Assembler Language essential in compiler construction? marco.m.petersen@gmail.com (2009-02-09)
Re: Is Assembler Language essential in compiler construction? haberg_20080406@math.su.se (Hans Aberg) (2009-02-11)
Re: Is Assembler Language essential in compiler construction? tony@my.net (Tony) (2009-02-14)
Re: What makes a compiler, was Is Assembler lkrupp@pssw.com (Louis Krupp) (2009-02-14)
Re: What makes a compiler, was Is Assembler haberg_20080406@math.su.se (Hans Aberg) (2009-02-15)
Re: What makes a compiler, was Is Assembler cr88192@hotmail.com (cr88192) (2009-02-16)
Re: What makes a compiler, was Is Assembler tony@my.net (Tony) (2009-02-15)
Re: What makes a compiler, was Is Assembler tony@my.net (Tony) (2009-02-15)
Re: What makes a compiler, was Is Assembler cr88192@hotmail.com (cr88192) (2009-02-19)
Re: What makes a compiler, was Is Assembler walter@bytecraft.com (Walter Banks) (2009-02-19)
[1 later articles]
| List of all articles for this month |

From: Louis Krupp <lkrupp@pssw.com>
Newsgroups: comp.compilers
Date: Sat, 14 Feb 2009 15:28:52 -0700
Organization: Compilers Central
References: 09-02-021 09-02-035 09-02-054
Keywords: assembler, design
Posted-Date: 15 Feb 2009 18:32:50 EST

Tony wrote:
> "Hans Aberg" <haberg_20080406@math.su.se> wrote in message
>> marco.m.petersen@gmail.com wrote:
>>> I mean, if you wrote a program that converts code from BASIC to C++
>>> then calls another compiler to do the compilation process, wouldn't
>>> that be considered as a compiler?
>> Yes, formally a compiler just translates one computer language into
>> another. For example, an assembler translates into the machine code
>> language.
>
> I would say that is simply translation and not compilation because there is
> no intermediate representation. The IR (and the creation of it via
> lex/parse/semantic analysis before code generation) is what I think
> distinguishes compilers from interpreters and translators.


I wouldn't say that. I can't speak to modern Unisys MCP-Series
software, but most Burroughs compilers used a single pass that read
source code and emitted machine code. There was no intermediate
representation.


An intermediate representation might enable translation from more source
languages to a wider range of target architectures and with better
optimization, but from the definitions I've seen, a compiler is a
program that translates source code to machine code. The implementation
details are interesting but are not part of the definition.


Louis



Post a followup to this message

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