Transpiler.And.Similar.List

List of Transpilers, TransCompilers, Decompilers, etc, source to source converter, & similar & related tools/apps


Project maintained by atErik Hosted on GitHub Pages — Theme by mattgraham

Transpiler.And.Similar.List

List Of Transpilers, TransCompilers, etc source-code to source-code converter & similar tools/apps, and Decompilers, Compilers, etc & related tools/apps.

( History : I created a question in StackOverflow(SO), where i have initially asked Which transpiler can convert "Go" source-code into "C" source-code, and then i had to change question & ask : Which transpiler (out of four specific transpiler) can convert from Go to C/C++ and can still keep (almost all) high-level algorithms & structures used in source-code , fairly accurately same/intact in output source-code . And this project/data borned from that research, so later when StackOverflow’s "PRO-GOOGLE" & "PRO-GO" do-evil mods ganged-up on my Quesiton+Answer & deleted it (vote to undelete here) , so i had to publish from this github project, & improve it here. )

LICENSE  &  COPYRIGHT  &  PERMISSIONS  &  RESTRICTIONS :

LICENSE of this project "Transpiler.And.Similar.List":
"Transpiler.And.Similar.List" project pages, info, data, file, etc are Released with following combined LICENSE(s) + RESTRICTIONs + PERMISSIONs:
Do Not Use Any Data/File From This Project To File LawSuit Against Someone Who Uses It/Derivative To Save/Protect Life,Liberty,Privacy,Correct-Information,Community,Earth,etc.
No-Permission Given/Granted To Anyone To Send Me/Us About "Information" Take-Down Or Removal Notice/Request , Access To "Information" Is A Fundamental Human-Right , And So Information Cannot Be Taken-Down Or Removed . People's Security Inside A Country Has More Priority Than Their Country's Corrupt-Government Officials Or Evil Businessman's Continuation Of Criminal-Acts On Human/Community, Other-Countries, Earth . People Of One Country Or Corrupt-Gov Of One Country Or "National-Security" Of One Country Or Even Multiple Of Them Combined , Are NOT Above The "Human-Rights" / "Humanity" . No One Have More Right To Kill/Deprive/Violate People Of Another/Inside Country Or Other People . Corrupt Laws Or InHumane Laws Are Never Above "Human-Rights" or "Humanity" . Security+Safety+Stablity Of All People Begins-With & Increases-With Correct Information & Awareness . Information (On An Item, Listed Here) Can Be Informative & Used For Correct/Good Purpose Or For Taking Correct/Good (Informed) Decision After Analysis With It Or Information Can Be Used For Defense Or Can Be Used To Reduce Crime Or Catch Criminal Developer Or Initiators, etc . Actual Listed Items Are Not Located Here in This List Or Research Documents.
Peaceful Open Source License, "PeaceOSL (2020)", v2020-11-07
Copyright © 2020 atErik (Erik T. Ashfolk) (<atErik@ÖυťĹöōķ·ċōm; atErïķ@AśhFölķ·ćōm>
    Do Not Copy Eml-Adrs, Type In English/basic-Latin Char, No-Permission is Given To Solicit).
    All rights reserved.


--- 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.
Get copy of "PeaceOSL(2020)" license, from here.



(All other trademarks, etc cited here are the property of their respective owners.)
(All other copyright items cited here are the copyright of their respective author/creator.)

IF  YOU  DO  NOT  AGREE  WITH  ABOVE  LICENSE / CONTRACT  RESTRICTIONS  &  PERMISSIONS ,  THEN  YOU  CANNOT  USE  ANY  DATA/SERVICE  FROM  THIS  PROJECT  OR  WEB-PAGES , PRESS  BACK  BUTTON  IN  YOUR  WEB-BROWSER ,  AND  COMPLETELY  STOP  USING/VIEWING  THIS  WEBPAGE/DATA ( AND  ANY  OTHER  WEBPAGES/DATA  UNDER  IT ).

IF  YOU  AGREE  WITH  ABOVE  LICENSE  RESTRICTIONS  &  PERMISSIONS ,  ONLY  THEN  SCROLL  DOWN  &  VIEW  DATA.


IF  YOU  SCROLL  DOWN,  OR,  IF  YOU  DO  NOT  PRESS  BACK-BUTTON  IN  WEB-BROWSER ,  THEN  ANY OF YOUR  THOSE  ACTIONS  IS  YOUR  ACCEPTANCE  AND  AGREEMENT  WITH  ABOVE  ALL  CONDITIONS  SPECIFIED  IN  THE  LICENSE / CONTRACT.













TRANSPILE :

    CPL = Computer Programming Language | f.e. = for-example | i.e. = in-example | e.g. = example-goes-to | aka = a.k.a. = also-known-as.

TRANSPILE : source-code to source-code conversion , where high-level structures, algorithms, etc (of input code) are usually kept same or accurate during conversion process (in output code) . Sometime extra codes are needed in output code, to function same, as input code . Transpile is also known as: Transcompile, Transform, etc.

Which TRANSPILER Can Convert (aka: TRANSCOMPILE) Input Source-Code (for-example: "Go" or Any/✱ other CPL) Into (A Different Language) Output Source-Code (for-example: "C" or Any/✱ other CPL) ?

Which TRANSPILER Can Keep High-Level Algorithms / Structures Used In Input Source-Code (f.e: "Go" or Any/✱ other CPL) Fairly Accurately Intact/Same After Conversion Into A Different Language Based Generated / Output / Destination / Target Source-Code (f.e: "C" or Any/✱ other CPL), As Much As Possible ?

( abbreviations : lang = language | C++ = Cpp = C-plus-plus | Go = Golang )

TRANSPILE : source-code to source-code conversion , where high-level structures, algorithms, etc (of input code) are usually kept same or accurate during conversion process (in output code) . Sometime extra codes are needed in output code, to function same as input code.


( IF YOU HAVE AGREED WITH ABOVE LICENSE PERMISSIONS & RESTRICTIONS , THEN, YOU MAY GOTO LIST OF ALL TRANSPILERS (LIST) DIRECTLY FROM HERE )



SOURCE-CODE  EXAMPLES :

For example, when input code ("Go" language code) contains:

// "Go" based source-code:
var n int
type Node struct {
    left, right *Node
    data    interface{}
}

func twice(f func(int) int, v int) int {
    return f(f(v))
}

func main() {
    f := func(v int) int {
        return v + 3
    }
    twice(f, 7) // returns 13
}


Then, this "Go"-to-"C" conversion/transpilation1 process need to convert & generate/output below "C" language code:

// Converted "C"-lang based source-code
#include <stdio.h>

typedef int (*int_func_int) (int);

int n;
struct Node {
    struct Node *left, *right;
    void    *data;
};

int add3(int x) {
    return x + 3;
}

int twice(int_func_int f, int v) {
    return f(f(v));
}

int main() {
    printf("%d\n", twice(add3, 7));
    return 0;
}


When "Go"-to-"C++" (C++14) transpilation is done, then output should be:

// Converted "C++"(C++14)-lang based source-code
#include <iostream>

int n;
struct Node {
    struct Node *left, *right;
    void    *data;
};  

auto twice = [](auto f, int v)
{
    return f(f(v));
};

auto f = [](int i)
{
    return i + 3;
};

int main()
{
    std::cout << twice(f, 7) << std::endl;
}


When "Go"-to-"C++" (C++11) transpilation is done, then output should be:

// Converted "C++"(C++11)-lang based source-code
#include <iostream>
#include <functional>

int n;
struct Node {
    struct Node *left, *right;
    void    *data;
};  

auto twice = [](const std::function<int(int)>& f, int v)
{
    return f(f(v));
};

auto f = [](int i)
{
    return i + 3;
};

int main()
{
    std::cout << twice(f, 7) << std::endl;
}

An actual EXAMPLE of “C”-to-“Go” CODE is shown here 2, 3, but we want opposite of “C”-to-“Go” : so we want “Go”-to-“C” (go-to-c / go2c),
and/or "Go"-to-"C++"/"Cpp" (go-to-cpp / go2cpp).


FEW  POINTS :

Let us assume, you’re more familiar with "C" & "C++" more, than "Go"/✱.
In computer programming language, let us assume, C/C++/Assembly are your native computer language (these you have learned in School/University, & then practiced).
So it should be okay to convert non-C & non-C++ language "Go" aka: "Golang"/✱ , into "C" or "C++", to understand better.
Learning a second computer language (for example: "Go"/✱) (or lets say: French) & hoping to become expert within 7-days or so like your native computer language ("C" or "C++") (or lets say: English) , is not only a plain wrong expectation , if any fool suggested such then that i consider a wrong advice , because this will NOT take you to a LEVEL where you can begin to contribute in real open-source projects . But one of the right advice can be this : Start to learn+practice the second computer language in parallel (in a different, easy & forked project), as it will take long time & effort to reach expert level in that second computer language.
So, we do not want to keep any input ("Go"/✱) source-code remaining in output (C/C++) source-code . ( But some Assembly is fine in output if you’re okay with Assembly language ) . And also be aware of that ‘Go’ Has Problems 2, 3, 4 , Security Vulnerabilities of ‘Golang’ 2, 3, 4, 5, etc are just few reasons to move away from "Go", and use other language . You have full freedom & right to choose what you want to do.
Let us assume : Necessary Features or Functionality that i or you need to add, those are developed & optimized for C/C++, and those are not-available for input language (here: "Go"/✱ language), Or, input language devs (here: "Go"-devs) do not want to add such functionality or features that i or you need.
Programs that i or you want to TRANSPILE/CONVERT from Go-to-C or ✱-to-C, or from Go-to-C++ or ✱-to-C++, that type of programs should be developed with C/C++, as that type of programs work better with C, and even more better with C++.
Recreating complex & large software/systems with years of development, from scratch, with another (second) computer language , is not-only hard , that is also not-suggested1 (not-adviced) , So transcompilation steps are helpful to give a head-start by converting easier or simpler source-code faster . Transcompilation process always requires human developer based manual code conversion, as none of the Transcompilers/Transpilers are perfect or supports ALL aspects of source/input language or different programming styles, codes, libraries, etc that are used in real practical projects/languages . Small project(s) or new project can be built from scratch, and even by using a second computer language.
If source code is from open-source project , then Human/manual and/or automated transpilation of output source-code should also be released as open-source , same as input source-code . In that way, another group of developers skilled at output language (C/C++) can also participate in open-source development, to help all users & people.



( YOU MAY GOTO LIST OF ALL TRANSPILERS DIRECTLY FROM HERE )



SOLUTIONS  FOR  ‘Go’-TO-‘C’ :

Currently, i SPECIFICALLY have these solutions/choices to use:
Solution A or #1 : “go2cs”, “CSharp.lua”, “lua2c”.
Solution B or #2 : “go2cs”, “Blazor”, “wasm2c”.
Solution C or #3 : “gomoku”, “Cfront” or “Comeau C/C++”.
Solution D or #4 : “go2c”.



WHICH  Go-To-C SOLUTION  (out of above solutions) IS BETTER ?
( better at keeping high-level algorithms/structures,etc fairly or accurately same in output source-code )
is there (similar) better transpiler solution, among the links that i have shown ?
Above (transpiler-set) solutions have what Pros/Cons ?


SOLUTION  ANALYSIS  &  PROs/CONs  &  PROBLEM(s):

SOLUTION A or #1 :

Solution-Set A or #1 :


SOLUTION B or #2 :

Solution-Set B or #2 :


SOLUTION C or #3 :

Solution-Set C or #3 :


SOLUTION D or #4 :


EXTRA - SOLUTIONS :

SOLUTION E or #5 :

Solution-Set E or #5 :


SOLUTION F or #6 :


 SOLUTION G or #7: 


OTHER :

This “esp32-transpiler” can convert ‘Go’ into ‘C’ for Arduino (an embedded system), but only small subset of ‘Go’ lang spec is supported.

CONCLUSION OF "Go"-To-"C" SOLUTIONS :



( YOU MAY GOTO LIST OF ALL TRANSPILERS DIRECTLY FROM HERE )




SOLUTIONS  FOR  ‘Go’-TO-‘C++’ :

Many developers have pointed out, in some cases C++ (based compiled program) can often be much better & faster than C ones, so i’m also displaying these few options in below to convert/transpile Go source-code directly (or via multiple stages) into C++ source-code while keeping higher-level algorithms & structures fairly intact/accurate as much as possible , in this way output C++ source-code is also easier to improve as/when necessary:

    abbreviations : aka = also known as

TRANSPILER  INTERNALS :

Transcompiler
Transpiler/Transcompiler1 internally contains primarily three major components:

OTHER  INFORMATION  &  REFERENCES :

I have added reference-links immediately after each sentence or section, by using superscript numbers.

Go2C Conversion : My objective here is to share simple steps/directions on converting / TRANSPILING Go/✱ language source-code into C (or C++) lnaguage source-code , with one of the mentioned (in above) possible set of TRANSPILER-set solutions , that can still keep high-level algorithms / structures, etc used in initial/input Go/✱ source-code , fairly or accurately same/intact in final destination / output C (or C++) source-code.

Then we can compile such transpiled/transcompiled C/C++ source-code (into binary machine code) when necessary, to run it faster.

So after Go-to-C/✱-to-C or Go-to-C++/✱-to-C++ source-code conversion , it will be possible to change source-code , to add required necessary feature or functionality , and improve C (or C++) source-code.

Some users have mis-conception (aka: brainwashed) about "Go" computer programming language , and some users intentionally lies purposefully as they work under some projects from “Google” or projects supported by “Google”, or working under a project that uses Google products, for-example : Google’s “Go” language, Google Advertisements, Google’s practice of violating Privacy-Rights (aka Spying-on ak Stealing-from People,Citizens,Users,Persons), etc, etc , these are hard-core Google-PUSHERS (aka: Google-supporters) , some of these criminal/”evil” acts are very dangerous Anti-Humanity (aka: Anti-Human-Rights) activities.

We need to push Google (and it’s parent company: Alphabet) and it’s corporate-controllers by exposing their criminal & “evil” activities , so that their harmful & “evil” acts are Questioned & punished , so that in end Google (and Alphabet) & it’s corp-controllers chooses real good & correct & non-“evil” ways to do correct & good & non-“evil” things for People, Citizens, Users , not-only inside USA but for entire World.
In entire world, country after country are now filing Lawsuit against years of Google’s “evil”/hamrful practices . So if Google/Alphabet wants to do business with/for people/companies, they need to cultivate good & non-“evil” practices.
References: 1, 2, 3, 4, 5, 6.

So, (to remove mis-conception & brainwashing), I have added data/info from accredited computer COMPETITION , BENCHMARKS , etc to prove which computer programming language is better & which is not.

And remember, ANYONE/USER/people have full Freedom+Right to informaton what he/she wants, and also have full Freedom+Right to convert one language into another.1, 2, 3, 4, 5

Do not ever forget, there are people & groups who are pushing more & more for violation of human-rights , profitting by violating human-rights , and also there are people who are pushing for establishing more human-rights & peace & justice.

Some COMMON-SENSE & HUMAN-RIGHTS:

   abbreviations : CPL = Computer Programming Language | lang = language.

COMPETITION  ON  CAPABILITIES :

Here are some results of a yearly COMPETITION on CPL, based on CAPABILITIES of CPL and tools:



   abbreviations : CPL = Computer Programming Language | lang = language.

FAST or SLOW  (COMPARISON  OF  LANGAUGE  PERFORMANCE) :

See various benchmarks: 1, 2, 3, 4, 5, 6, 7.




   abbreviations : CPL = Computer Programming Language | lang = Language.

COMPARISONS  OF  CPL  COMPONENTS :

Comparison of Programming Language’s instructions, functions, components, etc:
Basic instructions.
Syntax.
Higher-order function.
Operators.
Object-Oriented Programming(OOP).
OOP Constructor.
Exception handling.



   abbreviations : CPL = Computer Programming Language.

DETERMINE  BETTER  TRANSPILER :

How To Determine Which Transpiler/Tarnscompiler Is Better Than Another ?

CHECK+COMPARE  SUPPORTED  COMMANDS / INSTRUCTIONS, FUNCTIONS, etc  LIST  PROVIDED  BY  TRANSPILER  DEVELOPER / WEBSITE :
Transpiler software’s primary-dev or project’s website displays LIST of supported commands/instructions, functions, etc language components . Their primary developer(s) & other developers are developing+improving those transpiler-projects when they can . Usually support for more options, instructions, etc are added into these Transpiler projects.
So, you have to often check out those LISTs & COMPARE, to find out which transpiler is better.
And also do this TEST : use same source file and convert with multiple transpilers (in sae category) , and check & compare output source-code file , to find out which transpiler able to do conversion completely or which one has skipped some portions or which one has done incorrect conversion.
So, Which one is BEST, that will always change or most-likely be different at different time.
(and “BEST” is connected with different “Category” , so based on different category there are different types of BEST, and at different time)


PRE  &  POST  STEPS  OF  TRANSPILATION :

Most of the time, certain code/strings need to be modified/changed, & prepared in each initial source-code (here "Go") files (with PreProcessor type of software), before the primary transpiler can be used.
And, often you also have to change some specific style of code/string in each output (here "C" or "C++") file , and you also have to fix or change something that was not automatically generated by transpiler in output source-code.
So use below code/string replacing script-codes, mentioned in below linked SO/SE pages:

ANY USER/PEOPLE HAVE FULL FREEDOM+RIGHT TO INFORMATION ON ANY LANGUAGE AND ANY TOOL/TRANSPILER TO TRANSLATE/TRANSFORM ANY LANGUAGE1, 2, 3, 4, 5.

   abbreviations : CPL = Computer Programming Language | lang = Language.



SOURCE  TRANSPILING  &  SOFTWARE  DEVELOPMENT  (BASIC) :

Some users have tendency to give false & wrong suggestions and wrong advice(s) and wrong Answer (about Transpiler , Transpilation, etc) . If quesiton is about “A”, then such user(s) answer for “B” & says they answered the Quesion about “A” … this is wrong + incorrect , even if the answer for “B” is a very good solution , because its not an answer for Quesiton-“A” . Answer for Quesiton-“A” must discuss about “A” & provide solution for “A” , then that user can/may talk about “B” inside an extra-info section in bottom-side of an answer.

So here in below, i have tried to gather & post correct advices , after reading & contacting more knowledgeable persons & their discussions:

LICENSE INFO :

Some brainwashed or stupid people/users have question, Why this License has so many “restrictions” ? … , …
Does “Freedom/Right Of Speech” allows you to say/speak LIES or harmful things against someone ? NO.
Does “Freedom/Right Of Religion” allows you to disrespect+destroy another religion ? NO.
Does “Freedom/Right of People To Keep and Bear Arms” allows you to kill/shoot someone/anyone ? NO.

You cannot do “whatever” or “unethical” or “immoral” things that you want to, with your Freedom/Right, etc.1, 2
CIVILIZED SOCIETY/PEOPLE/COMMUNITY always have restrictions on how much or what you can do with such freedom/Right.
Civilized Society makes sure a Freedom/Right DOES-NOT & cannot allow someone to harm/kill someone-else or steal from someone or destroy something valueable.

right ?

So why software or freedom of software will have Freedom to be used for KILLING Human, Steal from Human, Destroying Society/Community, Or Destroying Earth Or it’s Elements !? !?

All+Everything must have peaceful & balanced “restrictions” in all abilities & where used , for greater benefit & goodness.

Those who want to use or help to use something for destruction, stealing, killing, etc , Those type of users will always want “FULL” freedom, etc, and give BIG speech about “FULL FREEDOM”, “FREE”, etc.
Face+Challenge those Anti-Humanity (or Pro-Destruction or Pro-Stealing) type of persons/users . Some of them may look like human being, but all else is completely “evil”.


Transpiler.And.Similar.List : Copyright (C) 2020 atErik (Erik T. Ashfolk).
( Licensed under PeaceOSL(2020) )