Talk:Compiler

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Software / Computing  (Rated C-class, Top-importance)
WikiProject icon This article is within the scope of WikiProject Software, a collaborative effort to improve the coverage of software on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 Top  This article has been rated as Top-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computing (marked as Top-importance).
 
WikiProject Computer science (Rated C-class, Top-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 Top  This article has been rated as Top-importance on the project's importance scale.
 

IL vs IR[edit]

I changed some occurances of IL generation as a compiler phase to "intermediate representation", since that is more correct. The intermediate representation from which code is generated doesn't have to be a language, even in the broadest sense of the word. And more important, it often isn't. I kept IL as an example of an IR though, and also mentioned compile graphs and trees.

Maybe I didn't get all occurances though.

incorrect "cross compiler" comment[edit]

In the introduction section, the phrase "Compilers also exist which translate from one high level language to another (cross compilers), or[...]" is highly inaccurate. "Cross compiler" refers to something very different, as described in the immediately following section. Having worked in the industry for many years, I've heard lots of names for a high-level-to-high-level translator, but cross compiler was never one of them. I've deleted the parenthetical comment.

That still is not quite right. That would put JAVA in the cross-compiler category. I have never head anyone call JAVA a cross compiler. True that it is. But it's output runs on many machines probably most likely including the one it was compiled on. I have written many code generators for cross compilers. There is really nothing special about a cross compiler other than the code produced. And in many cases the same compiler could produce code for the machine it was running on. The target machine was an option at command lime. See Compiler output: "The output of a compiler that produces code for a virtual machine (VM) may or may not be executed on the same platform as the compiler that produced it. For this reason such compilers are not usually classified as native or cross compilers." The first description needs improvement or deletion, --Steamerandy (talk) 10:22, 15 September 2014 (UTC)

duplication[edit]

the "types of compilers" section is a duplication of text at the very top of the page.

Possible grammatical glitch[edit]

In section Front end (item 1, line reconstruction), this sentence seems odd to me (emphasis added): « Atlas Autocode (…) are examples of stropped languages which compilers would have a Line Reconstruction phase. » Shouldn’t it be something like “whose compilers would (…)” or “for which compilers would (…)”?
With apologies if it seems obvious one way or the other!
Wlgrin 22:20, 8 January 2012 (UTC)

What bytecode and JIT has to do with Interpretation vs. Compilation?[edit]

Article says: "Modern trends toward just-in-time compilation and bytecode interpretation at times blur the traditional categorizations of compilers and interpreters." JIT compiles bytecode into machine language. Bytecode was not intended for compilation (Sun have designed the bytecode as a machine language in mind). It was not intended for translation at all. It is result of compilation. Whether you interpret, compile or directly execute the bytecode, it does not matter at all. The only thing that we were always sure about was the fact that bytecode is produced from java source as result of compilation. For this reason also, the status of Java as compiled language is not debatable. So, which blurring are you talking about? --Javalenok (talk) 20:42, 29 January 2012 (UTC)