List of Transpilers, TransCompilers, Decompilers, etc, source to source converter, & similar & related tools/apps
List Of Transpilers/TransCompilers, etc source-code to source-code converter & similar tools/apps, and Decompilers, Compilers, etc related tools/apps.
--- BEGIN the Peaceful Open Source License ---
License/Contract name: PEACEFUL OPEN SOURCE LICENSE/CONTRACT.
License/Contract version(y-m-d) 2020-11-07.
License/Contract authored by: Linkesh Diwan. 2013.
License/Contract authored by: Emde T. Ashfolk. 2020.
Transpiler.And.Similar.List : List of transpilers, transcompilers,
decompilers, compilers, etc.
Copyright (C) 2020 Erik T. Ashfolk (atErik at ashfolk dot com).
License version(y-m-d) : 2020-11-07.
Redistribution and use of this "SDSP" or "SHIDSP", where SDSP/SHIDSP
is pointing to the above software/hardware/information/data/service/
project,etc accompanying this PeaceOSL license/contract in source
and binary (aka: object-code) forms, with or without modification,
are permitted provided that the following ten conditions are met:
1. Redistributions of this SDSP/SHIDSP (software, source code,
data, hardware, information, service from this project) must
retain the above copyright notice, this list of conditions,
and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution from this SDSP/SHIDSP (software/hardware/info/data/
service/project).
3. Modifications to this SDSP/SHIDSP (software, source code,
data, hardware, information, service from this project) must
retain the above copyright notice, this list of conditions,
and the following disclaimer, and may not include further
conditions or licensing which go against the spirit of this
license.
4. Here we are using "HR" = Human-Rights. "CH" = Copyright-Holder(s).
This SDSP/SHIDSP (software/hardware/info/data/service/project)
must not be used to violate or abuse (any) HR, either directly
or indirectly in any form. This SDSP must not be used to abuse
or violate HR in any form in any physical location, written
articles, media, broadcast, video, etc or in any form inside
cyberspace/Internet. This SDSP license/contract is declaring/
stating in early to you, user of this SDSP, that, this SDSP/SHIDSP
must not be used to violate or abuse any human-rights even for
"National Security" excuse/reason : As nothing (not even
"National Security" or court order/decision or voted decision)
can be above "Human-Rights". This SDSP license/contract is further
declaring and stating in early to you : any result/decision from
any voting, or any order or decision from any court, to override
usage of this SDSP or SDSP content to violate/abuse HR, is hereby
declared null-and-void and illegal.
5. This SDSP/SHIDSP(software/hardware/info/data/service/project)
must not be used to cause deliberate harm to any human individual,
group,community or country either directly or indirectly, in any
form.
6. This SDSP(software/data/service/project) must not be used for
stealing any data or physical items, and this SDSP must not be
used to violate or abuse any privacy rights, of any human group,
individual, community, country or earth, either indirectly or
directly in any form. This SDSP must not be used for any type of
stealing: spying, data collection, etc, without first obtaining
written fully aware and voluntary specific consent from each
individual, person, groups, subjects,etc, and also not without
obtaining prior permission from this SDSP CH(copyright-holders).
This must not be used for any type of digital (or physical) jail:
monitoring, tracking,etc not-without obtaining permission from
each subject's written fully-aware and voluntary consent, and
also not-without obtaining prior permission from this SDSP CH.
This SDSP license/contract invalidates any permission to spy/
steal/collect which is (or will-be) obtained from any judge(s),
proxy, jury, court or vote, etc. To obtain exception/permission
from CH of this SDSP, CH must be provided proof of real voluntary
consented permission directly from each subject, and such must
not violate/abuse HR (human-rights). This SDSP license/contract
is declaring and stating to you in early, that, any type of voting
result/decision or any court or judge's any order/decision to use
this SDSP for mass scale (data) stealing/collection, etc are still
violation and abuse of HR and any such decision/order is/are
hereby declared null-and-void and illegal.
7. This SDSP(software/data/service/project) must not be used by any
Military or branches, Law Enforcement or branches, or by any
service/items provider or supplier of/for Military or Law
Enforcement. Unless specific written exception/permission is
obtained from CH(copyright holders) of this SDSP.
8. This SDSP (software/data/service/project) must not be used by any
Human-Rights-violating-or-abusing = "HR-v-o-a" entity or person:
HR-v-o-a Government(Gov), HR-v-o-a Gov branches, HR-v-o-a public
offices, Gov/public funded HR-v-o-a individual, companies, groups,
corporations, businesses, organizations, etc, any HR-v-o-a private
individual, offices, companies, corporations, businesses, groups,
organizations, etc Or any human/contractor person working in/for
any of mentioned entities in this section.
9. This SDSP(software/data/service/project) license/contract stating
and declaring to you in early, that, you are permitting this SDSP
CH(copyright holders) to question & obtain answer+proof from you
and other sources, to find-out if this SDSP can be used for any
violation or abuse of HR (human-rights). This SDSP license/
contract further stating: upon any report of HR violation or abuse
by the user of this SDSP or by this SDSP itself, this license/
contract authorizes CH to obtain detail usage information from
you/user of this SDSP, and also authorizes CH to obtain further
related information/proof from any other sources by any means,
including obtaining any data which even if you have defined as
type of "secret" data, etc and then these are to be used for
realizing the level of HR violations and abuses and losses
therein. You completelt agree & permit, that any type of HR
violation or abuse by you automatically removes all protection
of all related data, including any type of "secret" data, and
brings those under public & international sector and scrutiny,
to find-out detail of HR violations/abuses, to deter HR abuses/
violations. This license/contract also permits CH to seek
compensation, remedy, etc. This license/contract permits CH to
terminate this license/contract, when CH decide(s) to do so at
any time at CH's will. This license/contract also stating and
declaring to you in early, especially after above mentioned
incidents, CH of this SDSP are automatically authorized to
investigate and proceed to international or public court, even
if you fail or succeed in providing detail data. This SDSP
license/contract is further declaring and stating to you in
early: any decision or order from any type of "secret" or
non-public nature of court(s), judge/jury, proxy or vote, is
hereby declared invalid and null-and-void, from overriding any
prceedings into international or public court. Any HR violation/
abuse must be resolved publicly, so that, even coersion/corruption
can become public knowledge. This license/contract also stating
you/user of this SDSP: upon HR violation/abuse report/incident,
CH at their/his/her will can also publish publicly what HR abuse/
violation has occurred, and what steps are taken to solve.
10. If you do not agree with these above conditions, then you cannot
use this SDSP(software/data/service/project) in any form directly
or indirectly, and you are free & welcome to choose any other
software/choice. This SDSP has shown these conditions at every
stage in top or in beginning or agreement is obtained with yes/no.
Any usage of this SDSP grants this SDSP CH(copyright holders)
your full consent of your full acceptance & agreements of above
all (including this condition number ten) conditions and terms
and contract, specified in this SDSP license & contract. This
license/contract will make every attempts & efforts to avoid any
and all type HR("Human-Rights") violations/abuses (related to
where this SDSP is used, and who is using this SDSP, etc),
So please do not use this SDSP, if you cannot uphold or honour
all HR.
DISCLAIMER : THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
AND CONTRIBUTORS "AS IS", AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER, AUTHORS, OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, MONEY, POSSESSIONS,
OR LIFE; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
--- END of the Peaceful Open Source License ---
Get copy of "PeaceOSL(2020)" license for this project, from here.
CPL = Computer Programming Language.
To search inside this page, press Ctrl+F (or select option “Search in this page”, etc), and then type word or letters that you are looking for, then press left/up arrow to go backward or previous word, Or press right/down arrow to go forward or next word.
( abbreviations : lang
= language | C++
= Cpp
= C-plus-plus
| Go
= Golang
)
ANYONE/USER/people have full freedom+right+choice to choose what he/she wants, and also have full freedom+right to convert one language into another.1, 2, 3, 4, 5
abbreviations : CPL
= Computer Programming Language
LIST OF TRANSPILERS , TRANSCOMPILERS.
Transpiler usually transforms/converts source-code of one language, into source-code of another language , while keeping most of the algorithms, structures, etc in input source-code , same/intact in the output source-code.
abbreviations : JS
= JavaScript | Asm
= Assembly | C++
= Cpp
= C plus plus | AS
= ActionScript | ✱
= any = others = few others.
By the way, here is a list of Go-to-C
and Go-to-C++
and other type of SOURCE-CODE TO SOURCE-CODE CONVERTER/ TRANSPILER:
Go
to C
:•
go2c(mukadr)•
go-transpiler(mewbak)•
goc•
emgo (Subset of Go
into C
as intermediate) (32bit embedded hardware)•
Go/Golang
to C++/Cpp
:•
gomoku•
go-transpiler(Theodus) (powered by tardisgo)Go
to C++20
& C++17
:•
go2cpp (xyproto)Go/Golang
to C#
(C-sharp):•
go2cs (GridProtectionAlliance)Go/Golang
to C++11
:•
meego (miniature bootstrapped Golang
to vanilla C++
)✱
(various programming languages) to C/C++
source:•
Programming languages that compile to C/C++
source?C++
to C
:•
CFront, Comeau C/C++
•
How to convert C++ Code to C•
C++ implemented in plain C•
C++ frontend only compiler (convert C++ to C)•
Compile Cpp to C code•
llcc (cpp->llvm-> ansi C transpiler kit) LLVM-powered C/C++
toolchain for Cortex-M.C
to C++
:•
ctcppGo
to ✱
& C
:•
go-transpiler(mewbak)Rust
& ✱
to C
:•
llvm-cbeRust
to C
:•
llvm-cbe•
mrustc(thePowersGang) (John Hodge Mutabah’s Rust Compiler)Java
to C
:•
java2c•
java2c(RaphaelCohn)•
jack(BadLogic)Java
to objC
:•
j2objc (Java
to objC
for iOS)Python
program/source to C/C++
code:•
Convert Python program to C/C++ code?•
nuitka 2•
py14(LukasMartinelli) (Python
to C++14
)•
pythran•
shedskin (Python
2.4-2.6 into C++
)Python
to C
:•
Cython2•
transpiler(gaurav139v)•
transpyle (Python
<–>C
)•
py2cmod (Python
To C
Module Generator)•
RPython 2 (Subset of Python
–>C
)•
ptcLua
to C
:•
lua2c(davidm)WebAssembly
-source to C
:•
wasm2cWebAssembly
-binary to C
:•
wasmdecAssembly
-source to C
:•
Boomerang•
RetDec•
masm2c(xor2003) (DOS x86 (MASM)2 assembler code to SDL C)•
asm2c(frranck) (DOS/PMODEW 386 TASM Assembly
-code to C
)•
Dcc (DOS (8086/16-bit) Assembly
-code to C
)Assembly
-source to C++
:•
asmeta•
CPP-to-Assembly-to-CPPJavaScript
/JS
/TypeScript
to C
:•
ts2cPerl
to C
:•
Perl2C•
perlccLisp
to C
:•
LispTranspiler/lispc
•
ECL 2 (Common-Lisp
-to-C
)Go-Lite
(subset of Go
) to C++
:•
GoLite TranspilerC#
to C++/Cpp
:•
cs2cpp (ASDAlexander77) (powered by Roslyn)•
Alter-Native 2 (C#
& ✱
to C++
)•
CoreRT (.NET
/C#
to C++
)•
HurleyLisp
to C++
:•
TinyCompilerPython3
to C++11
:•
javelinTypeScript
to C++11
:•
ts2cppC/C++
to Rust
:•
crustC
to Rust
:•
corrode•
crust•
c2rust•
cparser/cparser-to-rust•
citrusTinyCC
(tiny C
) to Rust
:•
tinycc-rsPython
to Rust
:•
pyrs•
serpent-rs (Python to Rust AST-to-AST transpiler prototype)Clojure
to Rust
:•
rustlyRuby
to Rust
:•
RusbyClojure
to Rust
, C++
, Java
, Clojure
:•
KalaiCoffeeScript
to Rust
:•
RusteeScriptLua
to Rust
:•
lua2rust(the-language)objC
to Swift
:•
Swiftify•
SwiftRewriterC
to Go
:•
Tool to convert (translate) C to Go?•
c2go(elliotchance)•
c4goC
-Assembly
source to Go
-Assembly
source:•
c2goasmC
to GNU-Assembly
2(GAS
) source:•
use cmd: gcc -S example.c
, & check example.s
fileC++
/Cpp
to GNU-Assembly
source:•
use cmd: gcc -S example.cpp
, & check example.s
file•
CPP-to-Assembly-to-CPPC
(generic) to NASM
(elf64) 2 Assembly
source:•
apeC
to NASM
-Assembly
source:•
c2nasm 1, 2Rust
to WebAssembly
(wasm):•
yewPython
to WebAssembly
:•
Compiling Python to WebAssemblyC#
to Lua
:•
CSharp.luaC#
to WebAssembly
:•
BlazorC#
to D
, C++11
, Java
, Swift
:•
SharpNative (powered by Roslyn)C#
to C
, C++
, Nim
, D
, Go
, Java
, JavaScript
, Python
, ActionScript
:•
CSharpTranspiler & CS2X (powered by Roslyn)Go
to Python
:•
gotopythonGo
to JavaScript
:•
gopherjsGo
to Java
:•
go-transpiler(Theodus) (powered by tardisgo)Go
to Haxe
:•
tardisgoGo
to Ruby
:•
grubyGo
to JSON
:•
go2jsonGo
to Go-"Assembly"
1:•
run cmd: go tool compile -S Main.go
(Google/Golang
flavored "Assembly"
2, its NOT general Assembly
),go build -gcflags -S Main.go
C#
<–> VB.Net
:•
roslynRust
(MIR output) to JavaScript
:•
cyanoRust
to JavaScript
:•
fearFortran
to C++
:•
fablePython
to Java
:•
vocC++
to C#
:•
cxx2sC++
to Python
:•
seasnake•
cpp2pythonJS
/JavaScript
to WebAssembly
:•
NectarJSJava
, Kotlin
, Scala
JavaScript
, C++
, D
, C#
, PHP
, AS3
, Dart
, Haxe
:•
jtranscJava
to ✱
:•
spoon2Haxe
<-to-> ActionScript 3
/AS3
, AS2
, JavaScript
/JS
, Java
, C++
, C#
, PHP
, Python
, Lua
, Neko
:•
HaxeNim
<-to-> C
, C++
, objC
, JavaScript
/JS
:•
Nim 2, 3C
to ✱
:•
CIL•
Coccinelle 2, 3Lua
(v5.1.3, v5.2), Javascript
, Perl
5, C
, Java
, Common Lisp
(partial)
to C
:•
clueĆ
<-to-> C
, C++
, C#
, Java
, JavaScript
, Python
, Swift
Or OpenCL C
:•
cito(pfusik)JavaScript
, Java
, Go
, Swift
, PHP
, C++
, C#
, Scala
JavaScript
, Java
, Go
, Swift
, PHP
, C++
, C#
, Scala
:•
Ranger (multi/cross language transpiler)Java
Java
, C
, C++
, JavaScript
, C#
, R
, PHP
, Python
, VisualBasic
/VBA
:•
Progsbase (Community plan is free)C#
, TypeScript
, Ruby
C++
, C#
, Go
, Java
, JS
, Perl
, PHP
, Python
, Ruby
, Swift
, TypeScript
:•
OneLangC
to C#
, JavaScript
to Prolog
, PHP
to Python
, Lua
to Perl
or PHP
, C
to Haskell
, C#
to Fortran
, Java
to OCaml
or GLSL
:•
Universal-transpiler2pseudo
based Algorithms1/Libs to idiomatic1 Python 3
, JS
, Go
, C#
, Ruby
:•
pseudoCUDA
to Portable HIP1 C++/Cpp
:•
HIPIFY 2, 3, 4•
cu2c (CUDA
to C++
)✱
to ✱
1 : Framework/Library, etc:•
RascalMPL 2, 3•
JetBrains MPS 2 •
ROSE compiler framework (C
(C89
& C98
), C++
(C++98
& C++11
), UPC
, Fortran
(77/95/2003), OpenMP
, Java
, Python
, PHP
)•
DMS Software Reengineering Toolkit (DMS) (proprietory, not-openSource)•
PIPS 2 (Parallélisation interprocédurale de programmes scientifiques, aka: A Workbench for Interprocedural Program Analyses and Parallelization) can transpile C
& Fortran
<-to-> C
& Fortran
& SmallTalk
, developed by Mines-ParisTech1.•
Comparison of Parser-Generators: see various types of internal parser engines.•
walkngo (Walker for Go-AST)•
llvm2c(staticafi) fork of llvm2c(petrv7) LLVM bitcode to C
•
llvm-cbe(DraperLaboratory) LLVM-C-BackEndabbreviation : CPL
= Computer Programming Language.
ANY USER/PEOPLE HAVE FULL FREEDOM+RIGHT+CHOICE TO CHOOSE ANY LANGUAGE & ANY TRANSPILER1, 2, 3, 4, 5.
Decompiler usually transforms/converts very-low-level binary machine-code or very low-level Assembly
source-code , into a slightly higher-level source-code , for-example: C
or C++
, etc or Assembly
for another or same hardware platform.
Decompiling process usually have these deficienies1 : if there were Comments, they are irreversibly lost . Variable names are lost . Loops may be changed/unrolled for performance . Functions may be rearranged, etc . Decompiler’s output is still helpful for analysis, etc.
• Boomerang 2, is a decompiler, that supports : x86 (IA-32 only), PPC, ST20 architectures , file formats: ELF, PE, DOS MZ, DOS/4GW LE, Mach-O , and can convert machine-code into "C"
based output.
• edb, is a cross platform AArch32/x86/x86-64 debugger, disassembler, decompiler.
• REC (Reverse Engineering Compiler), is a decompiler, etc . It can convert binary into "C"
source-code.
• reko 2, is a binary (to "C"
source-code) decompiler, disassembler, etc . Supports x86, x86-64, etc.
• RetDec 2, is a retargetable machine-code decompiler based on LLVM.
• Ida-Pro is developed by Hex-Rays . Commercial . But there is a Community plan (with limited feature) available for free : lacks all features introduced in IDA > v7.0, lacks support for many processors, file formats, etc, comes without technical support, etc . It is a decompiler, disassembler, etc, etc . IDA disassembles binary into Assembly
-source, then an add-on called “Hex-Rays” can decompile that Assembly
into C/C++
source-code.
• Snowman : it can convert ARM, x86, and x86-64 architecture based ELF, Mach-O or PE formatted binary machine-code file or Assembly
-code , into C/C++
output.
• JEB decompiler 2, is a decompiler & disassembler . Converts dalvik bytecode into Java source-code. Dalvik is a VM for Android OS.
• List of Decompiler(s), DisAssembler(s), etc.
Compiler usually transforms/converts source-code into executable binary machine-code file for different hardware platform.
• List of Compilers (wikipedia).
• List of Compilers Targeting C (means, uses C
as output or intermediate). Dev: D. Bohdan.
Disassembler usually performs analysis on binary executable code/file for a hardware, and often loads varius poertion of input into hardware for better analysis, and finally converts those into Assembly
source-code for further anyalysis.
• lldb 2, is default debugger for Xcode in macOS , it can utilize existing libraries in larger LLVM Project : such as the Clang expression parser, LLVM disassembler, etc . It can debug C
, Objective-C
(objC
) and C++
on mac desktop & iOS devices & in simulator . Add these tools to enhance it : gdb-dashboard or gdbgui.
• bin2llvm, a binary (ARM) to LLVM translator.
• dispar, loads binaries (32+64 bit Mach-O & universal binaries), libraries, core dumps etc to do analysis of their structure and data in Assembly
; most notably their strings, symbols, and functions.
• medusa, is interactive disassembler . Supports ELF, PE, Mach-O, Gameboy, ST62ROM binaries (x86, x86-64, ).
• Vivisect/Vdb/Vtrace, is a combined disassembler, static analysis, symbolic execution and debugger framework.
• zdb, is a debugger & disassembler (and decompiler) for 64 bit ELF binary to Assembly
.
• zydis 2, is a x86/x86-64 disassembler library . Has bindings for Go, Pascal
, Python 3
, Rust
, LuaJIT
.
• x64dbg, is a x64 / x32 debugger, etc for Windows.
• capstone 2.
• radare2(r2), is a complete framework for reverse-engineering analysis of binaries.
• Ghidra 2, developed by NSA of USA.
• Binary.Ninja 2, is a reverse-engineering analysis platform developed by Vector 35 Inc.
…
m2cgen : Transform ML models into a native code (Java
, C
, Python
, Go
, JavaScript
, Visual Basic
, C#
, R
, PowerShell
, PHP
, Dart
, Haskell
, Ruby
) with zero dependencies.
Transpiler.And.Similar.List : Copyright (C) 2020 atErik (Erik T. Ashfolk).