Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> So you have an idiosyncratic definition of compiler that no one else uses.

My definition is supported by your links, so I don't think it's idiosyncratic at all.

> "In computing, a compiler is software that translates computer code written in one programming language (the source language) into another language (the target language)."

That's exactly what I said:

"My working definition is a compiler is a program that turns code from one form into another"

> LLVM... is a target-independent optimizer and code generator.

Code generators are a kind of compiler. The input language is IR, and the output language is machine code. Thus it fits the definition of a compiler you proffered.

> As I correctly said, LLVM is not a compiler, it is a backend target of Rust, C++, etc. compilers.

These things are not mutually exclusive. It can be a target of Rust, C++, etc., but that doesn't make it not a compiler. LLVM being a compiler is supported by both of your wiki links. Your first link lists LLVM under "Notable Compilers and Toolchains". In the second link in the LLVM infobox it reads "Type: Compiler". Nuff said.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: