Path: csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: =?UTF-8?Q?Arne_Vajh=c3=b8j?= Newsgroups: comp.lang.java.programmer Subject: Re: Translator, Compiler, Interpreter and Java Date: Fri, 2 Oct 2015 22:39:43 -0400 Organization: Aioe.org NNTP Server Lines: 49 Message-ID: References: NNTP-Posting-Host: 1lM8B9/qdtKBc/uIRK2Gjw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.java.programmer:32770 On 9/27/2015 11:07 PM, Jerry Stuckle wrote: > On 9/27/2015 9:05 PM, Arne Vajhøj wrote: >> On 9/25/2015 8:36 AM, Jeff Higgins wrote: >>> On 09/25/2015 12:37 AM, Jeff Higgins wrote: >>> Translator - using the words worker and translation in a general sense a >>> translator is a worker that produces translations. >>> >>> Compiler - A compiler is a translator from strings to strings. >>> This is pretty much the definition given by Aho, and Ullman in the >>> reference >>> that I gave elsewhere. Their definition is much more nuanced according to >>> their usage, but for my purpose this wholly satisfactory. >>> >>> Interpreter - An Interpreter is a translator from languages to languages. >>> This is inspired by the comments of Donald Knuth in the few self-effacing >>> leading paragraphs of his article "Literate Programming" available here: >>> > An interpreter does not translate to anything instead it executes >> something. >> >> Translation and compilation has both an input and an output. >> >> I would go with the following definitions: >> >> Translator - anything that converts from one format to another format >> >> Compiler - a translator that converts from a higher level format to >> a lower level format except for the special case where the higher level >> format is symbolic version of machine code in which case it for historic >> reasons are called an assembler >> >> Converter - a translator that converts from a format to another format >> at the same level >> >> Decompiler - a translator that converts from a lower level format to >> a higher level format except for the special case where the higher level >> format is symbolic version of machine code in which case it for historic >> reasons are called an disassembler > > And once again you are wrong. Although I might differ on some minor > points, Jeff is much closer to being accurate than you are. Feel free to think that interpreters translate from one language to another, but that is pretty far from reality. Arne