Source-to-source compiler: Difference between revisions

Content deleted Content added
Undid revision 1074150780 by 2A02:8109:B540:2DD8:29D:25D1:8AA4:E7E2 (talk) Not in WP
CE, improved refs
Line 11:
Transcompilers may either keep translated code structure as close to the source code as possible to ease development and [[debugging]] of the original source code or may change the structure of the original code so much that the translated code does not look like the source code.<ref name="Fowler_2013"/> There are also debugging utilities that map the transcompiled source code back to the original code; for example, the [[JavaScript]] Source Map standard{{Citation needed|reason=Not a standard|date=September 2020}} allows mapping of the JavaScript code executed by a [[web browser]] back to the original source when the JavaScript code was, for example, minified or produced by a transcompiled-to-JavaScript language.{{Citation needed|date=September 2020}}
 
Examples include [[Google Closure Tools|Closure Compiler]], [[CoffeeScript]], [[Dart (programming language)|Dart]], [[Haxe]], [[RubyOpal (programming languageRuby)|Opal]], [[TypeScript]] and [[Emscripten]].<ref name="Epic_Games"/>
 
== {{Anchor|Translator}}Assembly language translators ==
Line 123:
| Js_of_ocaml<ref name="Ocam1"/> of Ocsigen || [[OCaml]] || [[JavaScript]]
|-
| J2Eif<ref name="J2EIF"/> || [[Java (programming language)|Java]] || [[Eiffel (programming language)|Eiffel]] || The resulting Eiffel code has classesclasseRusts and structures similar to the Java program but following Eiffel syntax and conventions.
|-
| C2Eif<ref name="C2EIF"/> || [[C (programming language)|C]] || [[Eiffel (programming language)|Eiffel]] || The resulting Eiffel code has classes and structures that try to be as clean as possible. The tool is complete and relies on embedding the C and assembly code if it cannot translate it properly.
Line 178:
== References ==
{{Reflist|refs=
<ref name="Devopedia_Transpiler">{{cite web |title=Transpiler |website=devopedia.org |date=17 March 2017-03-17 |url=https://devopedia.org/transpiler |access-date=2019-06-22 |url-status=live |archive-url=https://web.archive.org/web/20191105090612/https://devopedia.org/transpiler |archive-date=2019-11-05}}</ref>
<ref name="Compiler_Types">{{cite web |title=Types of compilers |date=1997–2005 |publisher=compilers.net |url=http://www.compilers.net/paedia/compiler/index.htm |access-date=2010-10-28 |url-status=live |archive-url=https://web.archive.org/web/20190719090932/http://www.compilers.net/paedia/compiler/index.htm |archive-date=2019-07-19}}</ref>
<ref name="Fowler_2013">{{cite web |title=Transparent Compilation |date=2013-02-12 |author-last=Fowler |author-first=Martin |author-link=Martin Fowler (software engineer) |url=http://martinfowler.com/bliki/TransparentCompilation.html |access-date=2013-02-13 |url-status=live |archive-url=https://web.archive.org/web/20200101165423/https://martinfowler.com/bliki/TransparentCompilation.html |archive-date=2020-01-01}}</ref>
Line 196:
<ref name="SCP_TRANS">{{cite book |title=Z80 To 8086 Translator |publisher=[[Seattle Computer Products]] |date=<!-- probably 1980 --> |pages=((TRANS{{hyphen}}1{{ndash}}TRANS{{hyphen}}2)) |url=https://amaus.net/static/S100/seattle%20computer%20products/software/SCP%20Z80%20to%208086%20translator.pdf |access-date=2020-01-19 }} (23 pages)</ref>
<ref name="Paterson_2014_MSDOS125">{{cite web |author-first1=Tim
|author-last1=Paterson |author-link1=Tim Paterson |title=Microsoft DOS V1.1 and V2.0: Z80 to 8086 Translator version 2.21 /msdos/v11source/TRANS.ASM |publisher=[[Computer History Museum]], [[Microsoft]] |date=2013-12-19<!-- 2014-03-25 --> |orig-yeardate=1982-07-01 |url=http://www.computerhistory.org/atchm/microsoft-research-license-agreement-msdos-v1-1-v2-0/ |access-date=2014-03-25 |url-status=live |archive-url=https://web.archive.org/web/20191112060745/https://computerhistory.org/blogs/microsoft-research-license-agreement-msdos-v1-1-v2-0/?key=microsoft-research-license-agreement-msdos-v1-1-v2-0 |archive-date=2019-11-12}} [https://web.archive.org/web/20210723171917/https://github.com/Microsoft/MS-DOS/blob/master/v1.25/source/TRANS.ASM] (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is [[SCP MS-DOS 1.25]] and [[TeleVideo PC DOS 2.11]].)</ref>
<ref name="Paterson_1983">{{cite magazine |title=An Inside Look at MS-DOS – The design decisions behind the popular operating system – The history of and design decisions behind MS-DOS. how it works, and where it's going. |author-first=Tim |author-last=Paterson |author-link=Tim Paterson |series=16-bit Designs |magazine=[[BYTE]] |publisher=[[McGraw-Hill, Inc.]] |issn=0360-5280 |id={{CODEN|BYTEDJ}} |volume=8 |number=6 |date=June 1983 |pages=230–252 |url=https://archive.org/details/byte-magazine-1983-06-rescan |access-date=2020-01-23 |url-status=live |archive-url=https://web.archive.org/web/20170317042144/https://archive.org/details/byte-magazine-1983-06-rescan |archive-date=2017-03-17 |quote=[…] [[MS-DOS]] Design Criteria […] The primary design requirement of MS-DOS was [[CP/M-80]] [[translation compatibility]], meaning that, if an [[8080]] or [[Z80]] program for CP/M were translated for the [[8086]] according to [[Intel]]'s [[#Intel-1979-CONV86|published rules]], that program would execute properly under MS-DOS. Making CP/M-80 translation compatibility a requirement served to promote rapid development of 8086 software, which, naturally, [[Seattle Computer Products|Seattle Computer]] was interested in. There was partial success: those software developers who chose to translate their CP/M-80 programs found that they did indeed run under MS-DOS, often on the first try. Unfortunately, many of the software developers Seattle Computer talked to in the earlier days preferred to simply ignore MS-DOS. Until the [[IBM Personal Computer]] was announced, these developers felt that [[CP/M-86]] would be the operating system of 8086/8088 computers. […]}} [https://archive.org/stream/byte-magazine-1983-06-rescan/1983_06_BYTE_08-06_16-Bit_Designs_djvu.txt] [https://archive.org/details/byte-magazine-1983-06-rescan]</ref>
<ref name="Freiberger_1981_Translators">{{cite news |title=Program translators do it literally – and sometimes in context |author-first=Paul |author-last=Freiberger |author-link=Paul Freiberger |series=Special section: Computer compatibility |newspaper=[[InfoWorld]] – News For Microcomputer Users |issn=0199-6649 |publisher=[[Popular Computing, Inc.]] |date=1981-10-19 |volume=3 |issue=22 |page=19 |url=https://books.google.com/books?id=Gj0EAAAAMBAJ&pg=PA19 |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200201160014/https://books.google.com/books?id=Gj0EAAAAMBAJ&pg=PA19&lpg=PA19 |archive-date=2020-02-01 |quote=[…] "Unless you have a translating scheme that takes account of the peculiar idiosyncrasies of the target microprocessor, there is no way that an automatic translator can work," explains Daniel Davis, a programmer with [[Digital Research]]. "You'll end up with direct [[transliteration]]s." […] In spite of all these limitations, progress has been made recently in the development of translators. Most notably, Digital Research has introduced its eight- to 16-bit assembly code translator. Based on research performed by Digital Research president [[Gary Arlen Kildall|Gary Kildall]], the XLT86 appears to offer advances over previously available software translator technology. Like [[Sorcim]]'s Trans and [[Intel]]'s Convert&nbsp;86, Kildall's package translates assembly-language code from an [[8080]] microprocessor to an [[8086]]. However, Kildall has applied a [[global data flow analysis|global flow analysis]] technique that takes into account some of the major drawbacks of other translators. The procedure analyzes the register and flag usage in sections of 8080 code in order to eliminate nonessential code. According to Digital Research programmer Davis, the algorithm Kildall uses allows the translator to consider the context as it translates the program. Until now, one of the major problems with any translator program has been the inability of the software to do much more than transliteration. If Digital Research's new translator actually advances the technology to the point where context can be considered, then more software translators may proliferate in the microcomputer marketplace.}}</ref>
Line 210:
<ref name="SPA_1995">{{cite web |title=SPA Award to Dr. Gary A.Kildall: 1995 SPA Lifetime Achievement Award Winner |date=1995-03-13 |publisher=[[Software Publishers Association]] (SPA) |via=www.digitalresearch.biz |url=https://www.digitalresearch.biz/kildallr.htm |access-date=2019-12-21 |url-status=live |archive-url=https://web.archive.org/web/20191221150356/https://www.digitalresearch.biz/kildallr.htm |archive-date=2019-12-21 |quote=[…] [[Gary Arlen Kildall|Kildall]] founded [[Digital Research, Inc.]] (DRI) in 1976, which is now part of [[Novell]]. […] In the 1980's, DRI introduced a [[binary recompiler]]. […]}}</ref>
<ref name="Swaine_1997">{{cite journal |author-first=Michael |author-last=Swaine |author-link=Michael Swaine (technical author) |date=1997-04-01 |title=Gary Kildall and Collegial Entrepreneurship |journal=[[Dr. Dobb's Journal]] |url=http://www.drdobbs.com/architecture-and-design/gary-kildall-and-collegial-entrepreneurs/184410428 |access-date=2006-11-20 |archive-url=https://web.archive.org/web/20070124184442/http://www.ddj.com/184410428 |archive-date=2007-01-24 |quote=In March, 1995, the [[Software Publishers Association]] posthumously honored [[Gary Arlen Kildall|Gary]] for his contributions to the computer industry. They listed some of his accomplishments: […] In the 1980s, through [[Digital Research, Inc.|DRI]], he introduced a [[binary recompiler]]. […]}}</ref>
<ref name="Nelson_1988">{{cite book |title=The 80386 Book: Assembly Language Programmer's Guide for the 80386 |author-last=Nelson |author-first=Ross P. |publisher=[[Microsoft Press]] |series=Microsoft Programming Series |edition=1 |date=January 1989 |orig-yeardate=1988 |isbn=978-1-55615-138-5 |page=2 |quote=[…] An [[Intel]] translator program could convert [[8080]] assembler programs into [[8086]] assembler programs […]}}</ref>
<ref name="Guzis_2009_AMC">{{cite web |author-last=Guzis |author-first=Charles "Chuck" P. |title=Re: CP/M or similar OS for 64K Z8002? |work=Vintage Computer Forum |series=Genre: CP/M and MP/M |date=2009-01-21 |orig-yeardate=2009-01-17 |url=http://www.vcfed.org/forum/archive/index.php/t-13845.html |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200116043046/http://www.vcfed.org/forum/archive/index.php/t-13845.html |archive-date=2020-01-16 |quote=[…] both [[Zilog]] and [[Advanced Micro Computers|AMC]] offered [[Z80]]-to-[[Z8000]] translation programs. Like the [[Intel]] [[8080]]-to-[[8086]] translator, it resulted in immediate bloat unless you were willing to hand-optimize the result. Much early MS-DOS code was auto-translated and tweaked 8080 CP/M code. I know that much of [[SuperCalc]] for the PC was, for example. Early (e.g. 3.3) versions of [[Wordstar]] for DOS probably also were. […] There were Z80-to-Z8000 source-code translators, but it wasn't a straightforward process ("strict" and "relaxed" modes; sometimes one Z80-to-several Z8000 instructions). The 8086 is much closer to the 8080 than the Z8000 is to the Z80. […]}}</ref>
<ref name="Guzis_2013_ISIS">{{cite web |author-last=Guzis |author-first=Charles "Chuck" P. |title=Re: What if IBM didn't choose the Intel CPU! |work=Vintage Computer Forum |series=Genre: Others |date=2013-02-24 |url=http://www.vcfed.org/forum/archive/index.php/t-35844.html |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200116042606/http://www.vcfed.org/forum/archive/index.php/t-35844.html |archive-date=2020-01-16 |quote=[…] The original [[8086]] assembler ran on an [[8080]]-equipped MDS-80 dev system. One of the first products was a 8080 to 8086 source level translator. I recall that the speed of translation was phenomenally slow. […] our sales guy offered to run a conversion and verification test at the local sales office […] We […] started the job on the [[ISIS-II]] MDS 200 series there--they even had a hard disk, which was an outrageously expensive option for an MDS […] still crunching when we left for the night. It still wasn't done the next morning […] About 2 weeks later, after the [[Intel]] software guys had a look at the translator, Ed returned with the translated program. It was about 50% larger in size than the original [[8085]] version, which sort of went counter to Intel's claims for the translator. […]}}</ref>
<ref name="Guzis_2016_Translators">{{cite web |author-last=Guzis |author-first=Charles "Chuck" P. |title=Re: DOS code in CP/M? Revisited… |work=Vintage Computer Forum |series=Genre: CP/M and MP/M |date=2016-12-31 |orig-yeardate=2016-12-30 |url=http://www.vcfed.org/forum/archive/index.php/t-53239.html |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200116032911/http://www.vcfed.org/forum/archive/index.php/t-53239.html |archive-date=2020-01-16 |quote=[…] [[Intel]] had an ISIS-hosted translator from [[8080]]-to-[[8086]] code. I can remember spending a very frustrating day at the local Intel sales office with a sample bit of 8080 code--a basic [[binary-coded decimal|BCD]] floating-point package for the 8080 and waiting for hours for the translator to finish its work--and going home disappointed. About a week later, I received a call that they'd finally figured out the bugs and I could pick up my translated program. Said program was more than half-again as large as the original in terms of object bytes. I was a bit skeptical of the Intel claim back then that the 8086 code was far more compact than its 8080 counterpart. And the blasted thing didn't work anyway when it was put to the test. […] There were other 80-to-86 translators for [[CP/M]]. I recall that [[Sorcim]] had one. [[Advanced Micro Computers|AMC]] had a [[Z80]]-to-[[Z8000]] translator as well. […] The [Intel] translator had several levels of translation […] there was the "literal", preserving detailed operation […] it was [[ISIS-II]], running on an MDS-800, at, what, 2&nbsp;MHz with 8" floppies. […]}}</ref>
<ref name="Blumenfeld_1982">{{cite newsgroup |author-first=Dan |author-last=Blumenfeld |title=Z80 to 8086 translator |date=1982-12-04 |newsgroup=fa.info-cpm |url=http://mdfs.net/Archive/info-cpm/1982/12/04/040100.htm |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200116071746/http://mdfs.net/Archive/info-cpm/1982/12/04/040100.htm |archive-date=2020-01-16}} [https://groups.google.com/d/msg/fa.info-cpm/QVCzDa3SAL0/WhE09zX4GxkJ<!-- https://web.archive.org/web/20200201161821/https://groups.google.com/forum/ -->]</ref>
<ref name="Goldfarb_1982">{{cite newsgroup |author-first=Ben |author-last=Goldfarb |title=Re: 8080 to 8086 translation |date=1982-12-09 |newsgroup=fa.info-cpm |url=http://mdfs.net/Archive/info-cpm/1982/12/09/034933.htm |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201161933/http://mdfs.net/Archive/info-cpm/1982/12/09/034933.htm |archive-date=2020-02-01 |quote=[…] The XLT86 program occupies approximately 30K bytes of main memory. The remainder of memory, up to the base of [[CP/M]], stores the [[program graph]] that represents the 8086 program being translated […] A 64K CP/M system allows translation of [[8080]] programs of up to approximately 6K. […]}} [https://groups.google.com/d/msg/fa.info-cpm/f0lhZNqlBIs/A2P0PDLxrbMJ<!-- https://web.archive.org/web/20200201162046/https://groups.google.com/forum/ -->] [http://www.retroarchive.org/cpm/cdrom/SIMTEL/ARCHIVES/CPM/8212-1.TXT<!-- https://web.archive.org/web/20151230043059/http://www.retroarchive.org/cpm/cdrom/SIMTEL/ARCHIVES/CPM/8212-1.TXT -->]</ref>
<ref name="BYTE_2018_MASM">{{cite web |title=Microsoft Macro Assembler (MASM) Unofficial Changelist |date=2018-08-21 |orig-yeardate=2016-09-08 |website=bytepointer.com |url=http://bytepointer.com/masm/index.htm |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20190717203656/http://bytepointer.com/masm/index.htm |archive-date=2019-07-17 |quote=[…] [[Tim Paterson]] […] had the following to say about his [[8086]] Assembler he wrote while at [[Seattle Computer Products|SCP]]: "The 8086 assembler I wrote originally was in [[Z80]] assembly language and ran under [[CP/M]]. I believe it was distributed with the SCP 8086 CPU card as ASM86. I also wrote a translator that converted Z80 source code to inefficient but workable 8086 source code ([[Intel]] promoted this idea with a [[#Intel-1979-CONV86|published translation table]]). This was called TRANS86 and was also written in Z80 assembly for CP/M. Once [[DOS]] was working, I applied the translator to ASM86 (and to itself) to create 8086 versions that ran under DOS. I do not have the change history in front of me […], but I believe that versions >= 2 marked the translated (DOS) version. If any history shows version numbers < 2, that was the CP/M version." […]}}</ref>
<ref name="Intel_1978_CONV86">{{anchor|Intel-1978-CONV86}}{{cite book |title=MCS-86 Assembly Language Converter Operating Instructions For ISIS-II Users |id=Order No. 9800642A |version=A30/379/10K TL |___location=Santa Clara, California, USA |date=March 1979 |orig-yeardate=1978 |publisher=[[Intel Corporation]] |url=https://archive.org/details/bitsavers_intelISISIblyLanguageConverterOperatingInstruction_3712591 |access-date=2020-01-18 }} [https://archive.org/details/bitsavers_intelISISIblyLanguageConverterOperatingInstruction_3712591<!-- https://web.archive.org/web/20170531063333/https://archive.org/details/bitsavers_intelISISIblyLanguageConverterOperatingInstruction_3712591 -->] (NB. A newer version of this manual can be found [[#Intel-1979-CONV86|here]].)</ref>
<ref name="Intel_1979_CONV86">{{anchor|Intel-1979-CONV86}}{{cite book |title=MCS-86 Assembly Language Converter Operating Instructions For ISIS-II Users |id=Order No. 9800642-02 |version=A175/280/7.5 FL |___location=Santa Clara, California, USA |date=February 1980 |orig-yeardate=1978 |publisher=[[Intel Corporation]] |url=https://archive.org/details/bitsavers_intelISISImblyLanguageConverterFeb80_2443878 |access-date=2020-01-18 }} [https://archive.org/details/bitsavers_intelISISImblyLanguageConverterFeb80_2443878] [http://www.nj7p.info/Manuals/PDFs/Intel/9800642B.pdf<!-- https://web.archive.org/web/20200201162652/http://www.nj7p.info/Manuals/PDFs/Intel/9800642B.pdf -->] (NB. An older version of this manual can be found [[#Intel-1978-CONV86|here]].)</ref>
<ref name="Intel_1979_Family">{{cite book |title=The 8086 Family User's Manual |publisher=[[Intel Corporation]] |orig-yeardate=1978 |date=October 1979 |id=Order No. 9800722-03 |pages=((2{{hyphen}}74, 2{{hyphen}}92, B{{hyphen}}176)) |url=https://archive.org/details/bitsavers_intel80869lyUsersManualOct79_62967963 |access-date=2020-01-18 |quote=[…] other programs round out the software development tools available for the [[8086]] and [[8088]]. […] CONV-86 can do most of the conversion work required to translate [[8080]]/[[8085]] assembly language source modules into ASM-86 source modules. […] To facilitate conversion of 8080A/8085A assembly language programs to run on the iSBC 86/12A board CONV-86 is available under the [[ISIS-II]] operating system.}} [https://archive.org/details/bitsavers_intel80869lyUsersManualOct79_62967963<!-- https://web.archive.org/web/20190404122521/https://archive.org/details/bitsavers_intel80869lyUsersManualOct79_62967963 -->] [http://bitsavers.informatik.uni-stuttgart.de/components/intel/8086/9800722-03_The_8086_Family_Users_Manual_Oct79.pdf<!-- https://web.archive.org/web/20191127122240/http://bitsavers.informatik.uni-stuttgart.de/components/intel/8086/9800722-03_The_8086_Family_Users_Manual_Oct79.pdf -->]</ref>
<ref name="Garetz_1980_Sorcim">{{cite news |title=According to Garetz… |author-first=Mark |author-last=Garetz |newspaper=[[InfoWorld]] – News For Microcomputer Users |issn=0199-6649 |publisher=[[Popular Computing, Inc.]] |date=1980-12-22 |volume=2 |issue=23 |page=12 |url=https://books.google.com/books?id=nD4EAAAAMBAJ&pg=PT11 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201163107/https://books.google.com/books?id=nD4EAAAAMBAJ&pg=PT11&lpg=PT11 |archive-date=2020-02-01 |quote=[…] Last week was the semi-annual [[California Computer Swap Meet]]. This event is organized by John Craig […] [[Sorcim]] […] was debuting […] new products at the show […] Their other product was TRANS-86. TRANS-86 will take any [[CP/M]] compatible [[8080]]/[[8085]]/[[Z80|Z-80]] source code file and translate it into [[8086]] code. You can then assemble the new file with ACT-86. […]}}</ref>
<ref name="BYTE_1980_86-DOS">{{cite magazine |title=86-DOS – 8086 OPERATING SYSTEM - $95 |author=Seattle Computer Products |author-link=Seattle Computer Products |magazine=[[BYTE]] |issn=0360-5280 |id={{CODEN|BYTEDJ}} |date=August 1980 |volume=5 |number=8 |publisher=[[BYTE Publications Inc.]] |type=Advertisement |page=173 |url=https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language#page/n173/mode/2up |access-date=2013-08-18 |url-status=live |archive-url=https://web.archive.org/web/20170405025551/https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language |archive-date=2017-04-05 |quote=[…] 1. Read [[Z80]] source code file written in [[CP/M]] format and convert to [[86-DOS]] format. 2. Translator program translates Z80 source code to [[8086]] source code. 3. Resident assembler assembles the translated 8086 source code to 8086 [[object code]]. 4. Minor hand correction and optimization. (A recent 19K Z80 program translation took us about four hours to fix up. Even without optimization, it ran twice as fast as the original! […])}} [https://tech-insider.org/personal-computers/research/acrobat/8008-a.pdf<!-- https://web.archive.org/web/20200201163325/https://tech-insider.org/personal-computers/research/acrobat/8008-a.pdf -->]</ref>
<ref name="ARC_1988_Transpiler">{{anchor|ARC-1988}}{{cite magazine |title=Aus BASIC mach C: B→C Transpiler |trans-title=Turn BASIC into C: B→C Transpiler |author=ARC-Softwaresystems |___location=Esslingen, Germany |type=Advertisement |language=de |magazine={{interlanguage linkill|Amiga-Magazin|de}} - das Computermagazin für Amiga-Fans |publisher=[[Markt & Technik Verlag Aktiengesellschaft]] |issn=0933-8713 |date=June 1988 |volume=1988 |issue=6 |page=101 |url=https://archive.org/details/AmigaMagazin198806 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201131207/https://archive.org/details/AmigaMagazin198806 |archive-date=2020-02-01 |quote=[…] Achtung [[C (language)|C]]- und [[Basic (language)|Basic]]-Programmierer! […] Jetzt gibt es den B→C TRANSPILER das einzigartige Umwandlungs-Software-System von ARC […] Der B→C TRANSPILER übersetzt lauffähige [[Amiga|AMIGA]]-Basicprogramme in compilierbaren C-Code. […] Durch Spezialbefehle kann C-Code in Basicproqramme direkt integriert werden. […] Basic-Befehle werden erweitert transpiliert. ([[HAM mode|HAM-Modus]], [[Interchange File Format|IFF]]<!-- or [[If and only if|IFF]]? -->, usw. werden unterstützt). […] Mit diesem Konzept neuester Generation verbindet der B→C TRANSPILER auf einzigartige Weise die Vorteile eines Interpreters mit denen eines Compilers […]}} [https://archive.org/details/AmigaMagazin198806]</ref>
<ref name="Pountain_1989">{{anchor|Pountain-1989}}{{cite magazine |title=Configuring parallel programs, Part 1: The Occam Transpiler, now under development, will make writing software for parallel processing easier |author-first=Dick |author-last=Pountain |magazine=[[BYTE (magazine)|BYTE]] |publisher=[[McGraw-Hill, Inc.]] |issn=0360-5280 |volume=14 |number=13 |series= |date=December 1989 |id=<!-- |ia=byte-magazine-1989-12 --> ark:/13960/t34188734 |pages=349–352 |url=https://archive.org/details/byte-magazine-1989-12/page/n382/mode/1up |access-date=2022-01-06 |quote-page=350 |quote=[…] The name ''Transpiler'' is meant to suggest a combination of [[transputer]] and [[compiler]], in just the same way that ''transputer'' was coined from ''[[transistor]]'' and ''[[computer]]'' (i.e., a computer that is also a component). […]}} (NB. Uses the term ''Occam transpiler'' as a synonym for a source-to-source compiler working as a [[pre-processor]] that takes a normal [[occam (programming language)|Occam]] program as input and derives a new Occam source code as output with link-to-channel assignments etc. added to it thereby ''[[computer configuration|configuring]]'' it for [[parallel processing (computing)|parallel processing]] to run as efficient as possible on a network of [[transputer]]s.)</ref>
<ref name="Sector7_1993_Transpiler">{{cite news |title=Transpiler |author=Sector 7 Software Limited |___location=Bedford, Bedfordshire, UK |newspaper=[[Official Gazette of the United States Patent and Trademark Office]] |volume=1157 |edition=1 |date=1993-12-07 |orig-date=1992-09-22 |publisher=[[U.S. Patent and Trademark Office]] |page=TM&nbsp;81 |series=Class 9 |id=SN&nbsp;74-316.610 |url=https://books.google.com/books?id=Aokm04NulboC&pg=RA1-PA81 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201130513/https://books.google.de/books?id=Aokm04NulboC&pg=RA1-PA81&lpg=RA1-PA81&redir_esc=y |archive-date=2020-02-01 |quote=[…] Priority claimed under Sec. 44(D) on United Kingdom Application No. 1495953, filed 1992-03-31 Reg. No. A1495953, dated 1992-03-31, expires 1999-03-31. For computer software and programs (U.S. Cl. 38). First use 1991-08-01, in commerce 1991-08-01.}} (NB. This company develops products such as VX/BASIC, a BASIC-to-C transpiler for [[DEC VMS]]. Despite their claim, theirs is not the first public use of the term transpiler, see i.e. [[#ARC-1988|ARC's BASIC-to-C transpiler]] for the [[Commodore Amiga]] in 1988 and the [[#Pountain-1989|Occam Transpiler]] by Concurrent Technology Systems (CTS)<!-- by Meier and Wespi --> in 1989.)</ref>
Line 249:
<ref name="Maia_2020">{{cite web |title=Maia |url=http://maia-eda.net |access-date=2020-05-13}}</ref>
<ref name="Olivenbaum">{{cite web |title=h5 🚀 - C# to JavaScript compiler |author=theolivenbaum |website=[[GitHub]] |date=2021-11-13 |url=https://github.com/theolivenbaum/h5 |access-date=2021-11-14}}</ref>
<ref name="C2Rust">{{cite web |title=C2Rust repository |website=[[GitHub]] |date=2022-04-15 April 2022|url=https://github.com/immunant/c2rust/blob/master/README.md}}</ref>
}}
 
Line 255:
* {{cite web |title=Translation of 8080 Code to 8086 - Microsoft Translation of 8080 Code to 8086 and Other 16-Bit Processors |author-first=Charles Randyl |author-last=Britten |date=2020-06-26 |url=https://retrocomputingforum.com/t/translation-of-8080-code-to-8086/1309 |access-date=2021-11-28 |url-status=live |archive-url=https://web.archive.org/web/20210723171914/https://retrocomputingforum.com/t/translation-of-8080-code-to-8086/1309 |archive-date=2021-07-23}}
* {{cite news |title=Programming of Sycor Units Eased With TAL II |newspaper=[[Computerworld]] – The Newsweekly for the Computer Community |issn=0010-4841 |publisher=[[Computerworld, Inc.]] |___location=Ann Arbor, Michigan, USA |date=1975-08-20 |volume=IX |number=34 |page=14 |url=https://books.google.com/books?id=tPYveN8W2qgC&pg=PA14 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201122051/https://books.google.de/books?id=tPYveN8W2qgC&pg=PA14&lpg=PA14&redir_esc=y#v=onepage&q&f=false |archive-date=2020-02-01}}
* {{cite web |title=8080 to 8086 ASM translator, with ASM source |author-first1=Frank J. |author-last1=Zerilli |author-first2=Craig |author-last2=Derouen |date=<!-- 1988-08-08 -->1986-12-11 |orig-yeardate=1985-08-15, 1984-12-20, 1984-11-20 |version=XLT86.COM 1.10 |work=[[SIMTEL]] |url=http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/pc/mirror/simtelnet/msdos/asmutl/xlt86.zip |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201123156/http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/pc/mirror/simtelnet/msdos/asmutl/xlt86.zip |archive-date=2020-02-01}} [https://web.archive.org/web/20200201125052/http://msx2.org/NewPack/Mirrors/msx_ricardo_jurczky/imagem_msx_disco/F_/devel/asm/xlt86/<!-- http://msx2.org/NewPack/Mirrors/msx_ricardo_jurczky/imagem_msx_disco/F_/devel/asm/xlt86/ --> 1984-11-11 version 1.05] (NB. The [[DOS]] executable XLT86.COM [12&nbsp;KB] translates Intel 8080 assembly language source code to Intel 8086 assembly language source code. Despite its name this implementation in 8086 assembly is ''not'' related to Digital Research's earlier and much more sophisticated [[#XLT86|XLT86]].)
* {{anchor|PASMO}}{{cite web |title=Pasmo, ensamblador cruzado Z80 portable / portable Z80 cross assembler |language=es, en |author-first=Julián |author-last=Albo |date=2009-04-24 |url=http://pasmo.speccy.org/ |access-date=2020-02-20 |url-status=live |archive-url=https://web.archive.org/web/20200220234923/http://pasmo.speccy.org/ |archive-date=2020-02-20 |quote=[…] Pasmo is a [[Z80]] [[cross assembler]] […] that […] can generate object code in the following formats: raw binary, [[Intel HEX]], PRL for [[CP/M Plus]] [[Resident System Extension|RSX]], Plus3Dos ([[Spectrum +3]] disk), TAP, TZX and CDT (Spectrum and [[Amstrad CPC]] emulators tape images), [[AMSDOS|AmsDos]] (Amstrad CPC disk) and [[MSX]] (for use with BLOAD from disk in Basic). Starting with version 0.5.0 […] can also generate [[8086]] code from Z80 sources, in binary format for [[DOS|Ms-dos]] [[COM file|COM]] files or in [[CP/M-86|CP/M 86]] [[CMD file (CP/M)|CMD]] format. […]}} [https://github.com/mkoloberdin/pasmo] [https://github.com/mrcook/Z80Assembly/blob/master/docs/pasmo.md]
* {{cite magazine |title=Trump Card – Part 1: Hardware – Speed up your IBM PC with 16-bit coprocessing power |volume=9 |number=5 |date=May 1984 |pages=40–52, 54–55 |magazine=[[BYTE]] – The small systems journal |publisher=[[McGraw-Hill, Inc.]] |issn=0360-5280 |series=Ciarcia's Circuit Cellar |author-first=Steve |author-last=Ciarcia |author-link=Steve Ciarcia |url=https://www.americanradiohistory.com/Archive-Byte/80s/Byte-1984-05.pdf |access-date=2020-01-29 |quote=[…] It instead executes programs written in high-level languages such as BASIC and C (a Pascal compiler and a 8088 to Z8000 translator are in the works. […]}} and {{cite magazine |title=Trump Card – Part 2: Software – TBASIC and C compilers and an assemble |volume=9 |number=6 |date=June 1984 |pages=115–122 |magazine=[[BYTE]] – The small systems journal |publisher=[[McGraw-Hill, Inc.]] |issn=0360-5280 |series=Ciarcia's Circuit Cellar |author-first=Steve |author-last=Ciarcia |author-link=Steve Ciarcia |url=https://www.americanradiohistory.com/Archive-Byte/80s/Byte-1984-06.pdf |access-date=2020-01-29 |quote=[…] I expect that object-code translators for Z80-to-Z8000 and 8088-to-Z8000 conversions will soon be available […]}}, also available as {{cite book |chapter=Trump Card – Part 1: Hardware – Speed up your IBM PC with 16-bit coprocessing power & Part 2: Software – TBASIC and C compilers and an assemble |pages=138–152, 153–160 |title=Ciarcia's Circuit Cellar |volume=7 |author-first=Steve |author-last=Ciarcia |author-link=Steve Ciarcia |editor-first1=Daniel |editor-last1=Gonneau |editor-first2=Fred |editor-last2=Bernardi |editor-first3=Richard |editor-last3=Ausburn |publisher=[[McGraw-Hill Publishing Company]] |date=1990 |isbn=0-07-010969-9 |chapter-url=https://books.google.com/books?id=fBuiNpYlyHcC&pg=RA2-PA138 |access-date=2020-01-29 |url-status=live |archive-url=https://web.archive.org/web/20200201125917/https://books.google.com/books?id=fBuiNpYlyHcC&pg=RA2-PA138&lpg=RA2-PA140 |archive-date=2020-02-01}} [https://amaus.net/static/S100/zilog/z8000/BYTE%20Trumpcard%20Z8000.pdf]
* {{anchor|MIGR2ST7}}{{cite web |title=Translating Assembly Code From HC05 To ST7 |id=AN1106/0200 |type=Application Note |author=Microcontroller Division Application Team |publisher=[[STMicroelectronics]] |date=2000 |url=https://www.st.com/content/ccc/resource/technical/document/application_note/4f/89/a9/95/41/e7/4f/4c/CD00004128.pdf/files/CD00004128.pdf/jcr:content/translations/en.CD00004128.pdf |access-date=2020-01-18 }} (9 pages) (NB. This software translator was developed by ST and translates [[Motorola]] [[Motorola 6805|6805]]/[[Motorola 68HC05|HC05]] assembly source code in 2500AD&nbsp;Software format into [[ST7 (microcontroller family)|ST7]] source code. The MIGR2ST7.EXE executable for [[Windows]] is available from "MCU ON CD".)
* {{cite web |title=What do people mean when they say "transpiler"? |author-first=Lindsey |author-last=Kuper |department=language implementation |date=2017-07-30 |website=composition.al |url=http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/ |access-date=2022-01-09 |url-status=live |archive-url=https://web.archive.org/web/20220109194650/http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/ |archive-date=2022-01-09}}<!-- ; {{cite web |title=My first fifteen compilers |author-first=Lindsey |author-last=Kuper |department=language implementation |date=2017-07-31 |website=composition.al |url=http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/ |access-date=2022-01-09 |url-status=live |archive-url=https://web.archive.org/web/20220109220047/http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/ |archive-date=2022-01-09}}; {{cite web |title=I have a draft blog post called "Stop saying 'transpiler'" |author-first=Lindsey |author-last=Kuper |date=2015-01-01 |url=https://twitter.com/lindsey/status/550513490658488320 |access-date=2022-01-09 |url-status=live |archive-url=https://web.archive.org/web/20220109194742/https://twitter.com/lindsey/status/550513490658488320 |archive-date=2022-01-09}} -->
 
== External links ==
* {{cite web |work=I2Z-Translator |title=Das Intel zu Zilog – Übersetzungsprojekt |language=de |date=2009-07-11 |author-first=Gabriele "Gaby" |author-last=Chaudry |url=http://www.prof80.de/i2zkurz.html |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20160911054757/http://www.prof80.de/i2zkurz.html |archive-date=2016-09-11}}
* {{cite web |title=PortAsm Assembler to Assembler Translation |datedatC2Re=2017 |orig-yeardate=1996 |publisher=MicroAPL Ltd |url=http://microapl.com/Porting/PortAsm.html |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20190730200919/http://microapl.com/Porting/PortAsm.html |archive-date=2019-07-30}}
* {{cite web |title=Our Methodology – The Source to Source Conversion Process |publisher=Micro-Processor Services, Inc. (MPS) |url=http://www.mpsinc.com/process.html |access-date=2020-02-01 |url-status=live |archive-url=https://web.archive.org/web/20190512171423/http://www.mpsinc.com/process.html |archive-date=2019-05-12}}