Source-to-source compiler

A source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent source code in the same or a different programming language. A source-to-source translator converts between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language. For example, a source-to-source translator may perform a translation of a program from Python to JavaScript, while a traditional compiler translates from a language like C to assembler or Java to bytecode. An automatic parallelizing compiler will fr

Comment
enA source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent source code in the same or a different programming language. A source-to-source translator converts between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language. For example, a source-to-source translator may perform a translation of a program from Python to JavaScript, while a traditional compiler translates from a language like C to assembler or Java to bytecode. An automatic parallelizing compiler will fr
Cs1Dates
eny
Date
enJanuary 2020
DifferentFrom
Compiler-compiler
Cross compiler
Transcoder
Transputer
Group
en"nb"
Has abstract
enA source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent source code in the same or a different programming language. A source-to-source translator converts between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language. For example, a source-to-source translator may perform a translation of a program from Python to JavaScript, while a traditional compiler translates from a language like C to assembler or Java to bytecode. An automatic parallelizing compiler will frequently take in a high level language program as an input and then transform the code and annotate it with parallel code annotations (e.g., OpenMP) or language constructs (e.g. Fortran's forall statements). Another purpose of source-to-source-compiling is translating legacy code to use the next version of the underlying programming language or an API that breaks backward compatibility. It will perform automatic code refactoring which is useful when the programs to refactor are outside the control of the original implementer (for example, converting programs from Python 2 to Python 3, or converting programs from an old API to the new API) or when the size of the program makes it impractical or time-consuming to refactor it by hand. 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. There are also debugging utilities that map the transcompiled source code back to the original code; for example, the JavaScript Source Map standard 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. Examples include Closure Compiler, CoffeeScript, Dart, Haxe, , TypeScript and Emscripten.
Homepage
composition.al
Hypernym
Compiler
Is primary topic of
Source-to-source compiler
Label
enSource-to-source compiler
Link from a Wikipage to an external page
web.archive.org/web/20200201125052/http:/msx2.org/NewPack/Mirrors/msx_ricardo_jurczky/imagem_msx_disco/F_/devel/asm/xlt86/%3C!--
retrocomputingforum.com/t/translation-of-8080-code-to-8086/1309
web.archive.org/web/20210723171914/https:/retrocomputingforum.com/t/translation-of-8080-code-to-8086/1309
books.google.com/books%3Fid=fBuiNpYlyHcC&pg=RA2-PA138
web.archive.org/web/20200201125917/https:/books.google.com/books%3Fid=fBuiNpYlyHcC&pg=RA2-PA138&lpg=RA2-PA140
books.google.com/books%3Fid=tPYveN8W2qgC&pg=PA14
web.archive.org/web/20200201122051/https:/books.google.de/books%3Fid=tPYveN8W2qgC&pg=PA14&lpg=PA14&redir_esc=y%23v=onepage&q&f=false
amaus.net/static/S100/zilog/z8000/BYTE%20Trumpcard%20Z8000.pdf
www.americanradiohistory.com/Archive-Byte/80s/Byte-1984-05.pdf
www.americanradiohistory.com/Archive-Byte/80s/Byte-1984-06.pdf
dart.dev/tools/dart2js
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
composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/
pasmo.speccy.org/
code.google.com/archive/p/naca/
nim-lang.org/
rescript-lang.org/
web.archive.org/web/20200220234923/http:/pasmo.speccy.org/
web.archive.org/web/20220109194650/http:/composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/
www.cerberus-x.com/community/portal/
www.prof80.de/i2zkurz.html
web.archive.org/web/20160911054757/http:/www.prof80.de/i2zkurz.html
github.com/thepowersgang/mrustc
github.com/mkoloberdin/pasmo
github.com/mrcook/Z80Assembly/blob/master/docs/pasmo.md
microapl.com/Porting/PortAsm.html
web.archive.org/web/20190730200919/http:/microapl.com/Porting/PortAsm.html
www.mpsinc.com/process.html
web.archive.org/web/20190512171423/http:/www.mpsinc.com/process.html
ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/pc/mirror/simtelnet/msdos/asmutl/xlt86.zip
web.archive.org/web/20200201123156/http:/ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/pc/mirror/simtelnet/msdos/asmutl/xlt86.zip
Link from a Wikipage to another Wikipage
8086
86-DOS
A86 (software)
Abstraction (computer science)
ActionScript
Advanced Micro Computers
AMSDOS
Amstrad CPC
Application programming interface
Assembly language
Automatic parallelizing
Babel (transpiler)
BDOS
Binary recompilation
BYTE
C (programming language)
C++
Category:Source-to-source compilers
Category:Utility software types
Cfront
Clojure
ClojureScript
COBOL
Code refactoring
CoffeeScript
COM file
Compiler
Computerworld
Computerworld, Inc.
Cromemco DOS
Cross assembler
Cross-assembler
C Sharp (programming language)
Dart (programming language)
Debugging
Derivative code
Digital Equipment Corporation
Digital Research
DOS
ECMAScript
Eiffel (programming language)
Emscripten
Floppy drive
Fortran
Gary Kildall
Global data flow analysis
Go (programming language)
Google Closure Tools
Google Web Toolkit
Haxe
High-level programming language
HipHop for PHP
History of Python
Honeywell H200
I486
I-80
IBM 1401
Intel
Intel 8080
Intel 8086
Intel HEX
Intel ISIS-II
Intel MDS-800
Java (programming language)
Java bytecode
JavaScript
JavaScript (programming language)
Language-independent specification
LLVM
Low-level programming language
Lua (programming language)
M)
M-80
M-80
M-86
M-86
McGraw-Hill, Inc.
McGraw-Hill Publishing Company
Microsoft
Mnemonic
Mostek
Motorola
Motorola 6805
Motorola 68HC05
M Plus
MS-DOS
MSX
Multi-pass compiler
Netwide Assembler
Objective-C
OCaml
OEM
Olivetti PCOS
Opal (Ruby)
Opcode
OpenMP
Optimizing compiler
PHP
Program graph
Programming language
Python (programming language)
Resident System Extension
Rust (programming language)
Seattle Computer Products
Self-hosting (compilers)
SIMTEL
Single-pass compiler
Single source of truth
Sorcim
Source code
Source-code compatibility
Spectrum +3
ST7 (microcontroller family)
STMicroelectronics
Swift (programming language)
System platform
Tim Paterson
Translator (computing)
Transliteration
TypeScript
Vala (programming language)
Verilog
VMS
Web browser
Windows
XSLT
Z80
Z8000
Zilog
Zilog ZEUS
SameAs
2mh2W
Compilateur source à source
m.0btbtg
Q2990416
Source-to-source compiler
Transcompiler
Transpilador
Transpilator
Transpiler
Транскомпілятор
Транспайлер
مترجم مبدأ به مبدأ
مترجم من مصدر إلى مصدر
トランスコンパイラ
源到源编译器
소스 대 소스 컴파일러
Subject
Category:Source-to-source compilers
Category:Utility software types
WasDerivedFrom
Source-to-source compiler?oldid=1113747666&ns=0
WikiPageLength
96719
Wikipage page ID
4270426
Wikipage revision ID
1113747666
WikiPageUsesTemplate
Template:Anchor
Template:Annotated link
Template:Citation needed
Template:Cite book
Template:Cite magazine
Template:Cite news
Template:Cite web
Template:Data transformation
Template:Distinguish
Template:Div col
Template:Div col end
Template:Incomplete list
Template:Not a typo
Template:Portal
Template:Program execution
Template:Reflist
Template:Short description
Template:Snd
Template:Unreferenced section
Template:Use dmy dates
Template:Use list-defined references