This is an old revision of this page, as edited by Gryllida(talk | contribs) at 04:51, 23 November 2016(Assessment: +Software: class=C; +Technology: class=C (assisted)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.Revision as of 04:51, 23 November 2016 by Gryllida(talk | contribs)(Assessment: +Software: class=C; +Technology: class=C (assisted))
This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology 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.ComputingWikipedia:WikiProject ComputingTemplate:WikiProject ComputingComputing
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.SoftwareWikipedia:WikiProject SoftwareTemplate:WikiProject Softwaresoftware
This article is within the scope of WikiProject Technology, a collaborative effort to improve the coverage of technology 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.TechnologyWikipedia:WikiProject TechnologyTemplate:WikiProject TechnologyTechnology
Would coffee qualify as source-to-source compiler? It takes CoffeeScript as input and compiles it into JavaScript. It's intended to be a refinement of JavaScript, but it provides more than just a different syntax or shorthand notation. What about HAML, which is _only_ a shorthand, or SASS, which is an abstract form of CSS? None of these is really useful without conversion (though there seems to be an interpreter for CoffeScript in development), but they all differ significantly from their "target" language. -- 78.35.98.218 (talk) 13:48, 30 October 2010 (UTC)[reply]
Indeed, I think they qualify as source-to-source compilers, until they become a full flown language once they have their own interpreter/compiler that does not translate to another language (like CofeeScript will become). Another source-to-source compiler example is Lisaac's compiler which translate Lisaac code into C code. JnRouvignac (talk) 10:48, 1 November 2010 (UTC)[reply]
Delete article
Hi! Since the terms “source-to-source compiler” and “transpiler” are neither well-defined (does the target language has to be similar or at the same level or only kinda more highlevel than assembly? What is about immediate languages? LLVM? C? C--? And what is special about it, compilation is always “trans” and “source-to-source” – source language → target language) nor distinguishable. I propose to delete both of them and mention such stuff (like compilers for porting to a new version or specific target languages) in the compiler-article mentioning that those terms are not well-defined. Opinions? --Chricho ∀ (talk) 14:51, 19 August 2011 (UTC)[reply]
I think these should just be subsections in the compiler article and "Translator (computer science)" and "Source-to-source compiler" should redirect to that section in the compiler article. AadaamS (talk) 06:09, 20 March 2015 (UTC)[reply]
While the terms "source-to-source compiler" and "transpiler" are indeed not well defined, they are not useless either. When they are assumed to refer to compilers that translate from one high level language into another, a similar problem occurs, as the term 'high level language' isn't well defined either. There used to be talk of genrations (1st = machine code, 2nd = assembly, 3nd = imperative, 4th = declarative, 5th = AI based, self learning. While at generation 5 these terms were so frequently abused in marketing that they lost all value, I think the term "source-to-source compiler" is intuitively quite clear even though it isn't formally well defined. With the reference from 'transpiler' and a link from 'compiler' people will be able to find it. As for the term 'transpiler': due to the fact that most browsers only understand JavaScript natively (be it asm.js or anything like it), this term is becoming more common. In general this field is so dynamic that inevitably new terms emerge. I think in a medium like Wikipedia we should avoid marketing slang and hypes, but given the popularity of source to source compilation, we're not dealing with a hype here. Indeed the amount of info is too large to be joined with Translator (computing) because of WP:SIZESPLIT. Still people may look for information on source-to-source compilation and should be able to find it. So I think this article should be improved rather than deleted. Jacdeh (talk) 07:13, 12 August 2016 (UTC)[reply]