top | item 23208146

(no title)

mjtlittle | 5 years ago

I would say the definition linked is the computer science definition. Its just commonly the case that the compilation target is some final binary, but in this case it is an html document. A lot of the terminology in CS stems from analogous similar actions we perform in real life (I saw an article a week or two ago on here listing all terms used in an instance like this)

I hate it when people blindly post definitions like this without explanation, it comes off super aggressive and doesn't solve much.

discuss

order

greglindahl|5 years ago

CS history has a long history of similar pieces of software being not called compilers.

Normal CS jargon has "assemblers" and "linkers", both of which might appear to be compilers according to this dictionary definition.

CS history also includes things like TeX, which formats text for a variety of outputs, and was rarely called a compiler.

Web browsers often include a JIT compiler for Javascript, but their text formatting system isn't usually called a compiler.

jholman|5 years ago

I wrote a long comment, and immediately deleted it because I'm trying to avoid being a confrontational jerk.

I disagree with your assessment of "normal CS jargon". I'm wondering if you mean "normal jargon in the C/C++ community".

In my experience with compiler textbooks and computer science professors who specialize in compilers, compilers are any formal-language-to-formal-language translator. Yes, sometimes sub-types of compilers have specific names, but they are all compilers.

Is there one word for the subject material of the dragon book? I think there is, and I think that word is "compiler". Including source-to-source translators, including assemblers, including preprocessors, including linkers.