- c2go A tool for transpiling C to Go.
- Grumpy Grumpy is a Python to Go source code transcompiler and runtime.
- VOC A transpiler that converts Python code into Java bytecode.
- Shift.JS Swift to JavaScript transpiler.
- ElixirScript Converts Elixir to JavaScript.
- GopherJS A compiler from Go to JavaScript for running Go code in a browser.
- Dart2js Use the dart2js tool to compile Dart code to deployable JavaScript.
- https://github.com/microsoft/TypeScript - 90K stars
- https://www.typescriptlang.org/
- https://github.com/kidonng/typescript - A tiny redistribution of TypeScript (10x smaller, 4MB versus 40MB)
- criticism: https://gist.github.com/amcdnl/b52e9dd11850eeb8de8f#file-hate-typescript-md
- alternative: JavaScript with jsdoc type annotations
- written in: TypeScript
- compiles from: TypeScript
- compiles to: JavaScript
- last commit: 2023
- https://github.com/babel/babel - 40K stars
- compile new versions of JavaScript (ES2020) to old versions of JavaScript (ES2015)
- written in: TypeScript, JavaScript
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2023
- https://github.com/eslint/eslint - 24K stars
- live demo: https://eslint.org/play/
- website: https://eslint.org/
- javascript codemods
- written in: JavaScript
- compiles from: JavaScript
- compiles to: JavaScript
- https://github.com/nim-lang/Nim - 15K stars
- https://nim-lang.org/
- written in: Nim (self-hosted)
- compiles from: Nim
- compiles to: C, C++, JavaScript
- https://github.com/clojure/clojurescript - 9K stars
- https://clojurescript.org/
- written in: Clojure
- compiles from: Clojure
- compiles to: JavaScript
- https://github.com/facebook/jscodeshift - 8K stars
- toolkit for running codemods over multiple JavaScript or TypeScript files
- codemods = refactoring
- written in: JavaScript
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2023
- https://github.com/ast-grep/ast-grep - 5K stars
- CLI tool for code structural search, lint and rewriting
- "grep for code"
- "grep for AST nodes"
- based on tree-sitter parsers
- written in: Rust
- compiles from: all languages
- compiles to: all languages
- https://github.com/immunant/c2rust - 3K stars
- Migrate C code to Rust
- written in: Rust
- compiles from: C, C++
- compiles to: Rust
- https://github.com/andrei-markeev/ts2c - 1K stars
- live demo
- written in: C
- compiles from: TypeScript, JavaScript
- compiles to: C
- last commit: 2022
- https://github.com/onelang/OneLang - 1K stars
- written in: TypeScript
- compiles from: TypeScript, C#, Ruby
- compiles to: C++, C#, Go, Java, JS, Perl, PHP, Python, Ruby, Swift, TypeScript
- last commit: 2021
- https://leaningtech.com/cheerp/
- https://leaningtech.com/cheerp-2-6-compiling-c-to-webassembly-and-javascript/
- https://github.com/leaningtech/cheerp-meta - 800 stars
- https://github.com/leaningtech/cheerp-compiler - 200 stars
- license: open source, with dual licence (GPLv2 & commercial), some plugins are closed source (WebAssembly memory profiler, Filesystem emulation)
- based on: LLVM
- written in: C++
- compiles from: C, C++, Java, x86, Adobe Flash
- compiles to: WASM
- https://github.com/HaxeFoundation/haxe - 5K stars
- written in: OCaml
- compiles from: Haxe
- compiles to: AS2, AS3, C++, C#, Java, JS, Lua, Neko, PHP, Python
- https://github.com/QQuick/Transcrypt - 3K stars
- written in: Python
- compiles from: Python
- compiles to: JavaScript
- last commit: 2022
- https://gitlab.winehq.org/wine/wine/-/blob/master/tools/winemaker/winemaker
- https://wiki.winehq.org/Winemaker
- part of wine: https://gitlab.winehq.org/wine/wine
- github mirror: https://github.com/wine-mirror/wine - 3K stars
- https://wiki.winehq.org/Winemaker
- convert Windows sources to Winelib programs
- written in: Perl
- languages: C, C++
- compiles from: Windows
- compiles to: Linux, BSD, MacOS, ...
- https://github.com/PiotrDabkowski/Js2Py - 2K stars
- https://pypi.org/project/Js2Py/
- written in: Python
- compiles from: JavaScript (ECMAScript 5.1)
- compiles to: Python
- last commit: 2022
- functions:
js2py.translate_js
,js2py.translate_file
- https://github.com/bakpakin/Fennel - 2K stars
- https://fennel-lang.org/
- docs:
- https://technomancy.us/192 - self-hosting, bootstrapping
- written in: Lua, Fennel (Lisp)
- compiles from: Fennel (Lisp)
- compiles to: Lua
- last commit: 2023
- https://github.com/pfusik/cito - 1.5K stars
- one to many
- written in: C#
- compiles from: Cito
- compiles to: C, C++, C#, Java, JavaScript, Python, Swift, TypeScript, OpenCL C
- https://github.com/TypeScriptToLua/TypeScriptToLua - 1.5K stars
- written in: TypeScript
- compiles from: TypeScript
- compiles to: Lua
- https://github.com/jingweno/godzilla - 1.5K stars
- written in: Go
- compiles from: JavaScript
- compiles to: Go
- last commit: 2017
- https://github.com/cincheo/jsweet - 1.3K stars
- A Java to JavaScript transpiler
- written in: Java
- compiles from: Java
- compiles to: JavaScript
- last commit: 2022
- https://github.com/google/j2cl - 1K stars
- written in: Java
- compiles from: Java
- compiles to: JavaScript, Closure JavaScript
- last commit: 2022
- https://github.com/Pebaz/nimporter - 700 stars
- written in: Python
- compiles from: Nim
- compiles to: Python
- last commit: 2022
- https://github.com/pseudo-lang/pseudo - 700 stars
- one to many
- generate readable code
- help with automated translation for cases like algorithm generation, parser generation, refactoring, porting codebases
- written in: Python
- compiles from: Pseudo
- compiles to: Python, JavaScript, Go, C#, C++, Ruby
- last commit: 2021
- https://github.com/LingDong-/wax - 600 stars
- A tiny programming language
- written in: C
- compiles from: Wax
- compiles to: C, C++, Java, TypeScript, Python, C#, Swift, Lua, WebAssembly
- last commit: 2022
- https://github.com/ASDAlexander77/TypeScript2Cxx - 500 stars
- https://news.ycombinator.com/item?id=22746170
- compiles from: TypeScript
- compiles to: C++
- last commit: 2021
- https://github.com/coderaiser/putout - 500 stars
- live demo: https://putout.cloudcmd.io/
- codemods = refactoring
- written in: JavaScript
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2023
- https://github.com/j4k0xb/webcrack - 400 stars
- live demo: https://webcrack.netlify.app/
- deobfuscator, decompiler, reverse engineering
- with ESM support: import, export, ...
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2024
- https://github.com/pionxzh/wakaru - 100 stars
- live demo: https://wakaru.vercel.app/
- deobfuscator, decompiler, reverse engineering
- with ESM support: import, export, ...
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2024
- https://github.com/surma/jsxx - 150 stars
- compiles from: JavaScript
- compiles to: C++
- last commit: 2022
- https://github.com/ben-sb/obfuscator-io-deobfuscator - 150 stars
- deobfuscator for scripts obfuscated by obfuscator.io
- live demo: https://obf-io.deobfuscate.io/
- deobfuscator, decompiler, reverse engineering
- with ESM support: import, export, ...
- written in: TypeScript
- compiles from: JavaScript
- compiles to: JavaScript
- last commit: 2024
- https://github.com/ovr/StaticScript - 600 stars
- compiles from: TypeScript
- compiles to: LLVMIR (more compiler than transpiler)
- last commit: 2020
- https://github.com/emlai/ts-llvm - 300 stars
- compiles from: TypeScript
- compiles to: LLVMIR (more compiler than transpiler)
- last commit: 2019
- https://github.com/nervosnetwork/muta-minits - 150 stars
- compiles from: TypeScript
- compiles to: LLVMIR (more compiler than transpiler)
- last commit: 2019
- https://github.com/mbdevpl/transpyle - 100 stars
- https://pypi.org/project/transpyle/
- written in: Python
- compiles:
- https://github.com/MichaReiser/speedy.js - 350 stars
- compiles from: JavaScript
- compiles to: WebAssembly (more compiler than transpiler)
- last commit: 2017
- https://github.com/futurGH/ts-to-jsdoc - 60 stars
- compiles from: TypeScript
- compiles to: JavaScript (with JSDoc type annotations)
- last commit: 2023
- https://github.com/ccxt/crosspile - 60 stars
- A cross-compiler from JavaScript to any language (currently, Python and PHP) // WORK IN PROGRESS (early stages)
- written in: JavaScript
- compiles from: JavaScript
- compiles to: PHP, Python
- last commit: 2017
- https://github.com/clarity20/bash2py - 30 stars
- https://www.swag.uwaterloo.ca/bash2py/
- Bash to Python script translator, implemented by modifying the bash C code, so that instead of executing bash commands, the modified tool simply emits (to the extent currently possible) the commands seen as equivalent Python statements.
- written in: C
- compiles from: Bash
- compiles to: Python
- last commit: 2023
- https://github.com/ccxt/ast-transpiler - 20 stars
- AST Transpiler that converts Typescript into different languages (PHP, Python, C# (wip))
- written in: TypeScript
- compiles from: TypeScript
- compiles to: PHP, Python
- last commit: 2024
- https://github.com/sebbekarlsson/typescript - 15 stars
- compiles from: TypeScript
- compiles to: C
- last commit: 2019
- https://github.com/sebbekarlsson/tscc - 15 stars
- compiles from: TypeScript
- compiles to: C
- last commit: 2019
- https://github.com/andrejusk/typescript-compiler - 15 stars
- compiles from: TypeScript
- compiles to: C
- last commit: 2018
- https://github.com/yakir22/ts2cpp - 10 stars
- compiles from: TypeScript
- compiles to: C++
- last commit: 2018
- https://github.com/duncanhorn/ts2cpp - 5 stars
- compiles from: TypeScript interface definitions (*.d.ts)
- compiles to: C++
- last commit: 2019
- https://github.com/quadramadery/js2py - 10 stars
- written in: JavaScript
- based on: espree-parser
- compiles from: JavaScript
- compiles to: Python
- last commit: 2019
- status: early draft
- https://github.com/NCPlayz/tython - 5 stars
- written in: Python
- based on: lark-parser
- compiles from: TypeScript
- compiles to: Python
- last commit: 2020
- status: early draft
- https://github.com/7HR4IZ3/es62py - 0 stars
- written in: Python
- based on: esprima-parser, js2py library
- compiles from: JavaScript (ECMA 6)
- compiles to: Python
- last commit: 2023
- status: early draft
- https://github.com/zanellia/prometeo - 500 stars
- written in: Python
- compiles from: Python
- compiles to: C
- last commit: 2022
- https://github.com/py2many/py2many - 500 stars
- based on: https://github.com/konchunas/pyrs - 400 stars, Python to Rust transpiler
- one to many
- written in: Python
- compiles from: Python
- compiles to: Rust, C++, (Julia, Kotlin, Nim, Dart, Go)
- last commit: 2022
- https://github.com/PyO3/pyo3 - 7K stars
- Rust bindings for the Python interpreter
- no transpiler
- use cases: write native Python modules in Rust, embed Python in a Rust binary
- https://github.com/bung87/ts2nim - 50 stars
- written in: TypeScript
- compiles from: TypeScript
- compiles to: Nim
- last commit: 2021
- https://github.com/schani/clojurec - 1K stars
- based on: ClojureScript 0e0aa7f
- written in: Clojure
- compiles from: Clojure
- compiles to: C
- last commit: 2018
- https://github.com/gilch/hissp - 300 stars
- https://www.reddit.com/r/Clojure/comments/toyzq2/comment/i280x1f/
- written in: Python
- compiles from: Lisp
- compiles to: Python
- last commit: 2023
- https://github.com/kalai-transpiler/kalai - 200 stars
- via: https://elangocheran.com/2020/03/18/why-clojure-lisp-is-good-for-writing-transpilers/
- written in: Clojure
- compiles from: Clojure
- compiles to: Rust, C++, Java, ...
- last commit: 2023
- https://www.cerberus-x.com/cxDocs/Tools_Trans.html
- https://github.com/cerberusxdev/cerberus - 200 stars
- https://github.com/cerberusxdev/cerberus/tree/develop/src/transcc/builders
- game development language with multiple target platforms (desktop, mobile, web)
- written in: C, Cerberus X
- compiles from: Cerberus X
- compiles to: C++, Objective-C, C#, Java, HTML
- last commit: 2023
- https://github.com/roman01la/javascript-to-clojurescript - 100 stars
- written in: JavaScript
- compiles from: JavaScript
- compiles to: ClojureScript, Clojure
- last commit: 2023
- https://github.com/basilisp-lang/basilisp - 50 stars
- https://www.reddit.com/r/Clojure/comments/toyzq2/comment/i281k15/
- written in: Python, Clojure
- compiles from: Clojure, Lisp
- compiles to: Python
- last commit: 2022
- https://github.com/studoverse/Kotlift - 400 stars, archived
- deprecated in favor of Kotlin Multiplatform Mobile
- written in: Kotlin, Swift
- compiles from: Kotlin
- compiles to: Swift
- last commit: 2023
- https://github.com/andreikop/cpp2python - 150 stars
- written in: Python
- compiles from: C++
- compiles to: Python
- last commit: 2019
- https://github.com/pybee/seasnake - 150 stars - archived
- written in: Python
- compiles from: C++
- compiles to: Python
- last commit: 2016
TODO what exactly is this? a transpiler service?
- https://www.progsbase.com/
- "Job Payments: You can create programming jobs using the progsbase client. Create payments here to reward developers who implement a solution to your job."
- closed source
- Free Community Plan: convert TypeScript, Java, C, C++, JavaScript, C#, PHP, Python, Visual Basic, Swift, LibreOffice Basic, Ruby, Visual Basic
- written in: Java, Progsbase
- compiles from: Java
- compiles to: Java, C, C++, JavaScript, C#, R, PHP, Python, Visual Basic
- since: 2018
- https://github.com/jtransc/jtransc - 500 stars - archived
- written in: Java
- compiles from: Java, Kotlin
- compiles to: JavaScript, C++, D, C#, PHP, AS3, Dart, Haxe
- https://github.com/specs-feup/clava - 50 stars
- applies analysis and transformations written in LARA scripts (which is based on JavaScript)
- based on: Clang
- written in: Java
- languages: C, C++, CUDA, OpenCL
- last commit: 2022
- https://github.com/RapidFingers/Craxe - 40 stars
- written in: Haxe
- compiles from: Haxe
- compiles to: Nim
- last commit: 2019
https://github.com/terotests/Ranger - 5 stars
- written in: JavaScript
- self hosting
- compiles from: Ranger?
- compiles to: JavaScript, Java, Go, Swift, PHP, C++, C#, Scala
- last commit: 2018
https://sourceforge.net/projects/cxx2cs/
- compiles from: C++
- compiles to: C#
- last commit: 2015
https://github.com/google/j2cl - 1K stars
- Java to Closure JavaScript transpiler
- optimizes with Closure Compiler https://github.com/google/closure-compiler
- compiles from: Java
- compiles to: JavaScript
- last commit: 2022
- successor of: GWT
- https://github.com/gwtproject/gwt - 1.5K stars
- aka: Google Web Toolkit
- written in: Java
- compiles from: Java
- compiles to: JavaScript
- last commit: 2022
- paper: SequalsK—A Bidirectional Swift-Kotlin-Transpiler (2021)
- paper: Evaluating swift-to-kotlin and kotlin-to-swift transpilers (2022)
- live demo: https://transpile.iem.thm.de/ (broken)
- talk: https://www.youtube.com/watch?v=eHUCWAf9aHI
- closed source
- bidirectional transpiler
- languages: Swift, Kotlin
- status: concept, project idea
- written in: Python
- compiles from: Python scripts
- compiles to: Python modules
- simlar to: 2to3 in Python 3.11
- Python Setuptools: quick way to add scripts without "main" function as "console_scripts" entry points
- Convert python script in module
- chromium-depot-tools.nix
- https://github.com/milahu/lezer-parser-import-tree-sitter-scanner
- Helps import tree-sitter grammars and scanners.
- A grammar transpiler, and a domain-specific C++ to JavaScript transpiler.
- Import ANTLR grammars to lezer-parser
- written in: JavaScript
- compiles from: C++, tree-sitter grammars, ANTLR grammars
- compiles to: JavaScript, lezer-parser grammars
can be used for all languages
- program transformation systems https://en.wikipedia.org/wiki/List_of_program_transformation_systems
- https://github.com/comby-tools/comby - 2K stars
- A code rewrite tool for structural search and replace that supports about every language
- written in: OCaml
- languages: C, Java, Go, Swift, Rust, PHP, TypeScript, JavaScript, ...
- features: refactoring
- https://github.com/JetBrains/MPS - 1.5K stars
- https://www.jetbrains.com/mps/
- metaprogramming language, Metaprogramming System
- Create your own domain-specific language
- written in: Java
- license: APL2
- https://github.com/rose-compiler/rose - 500 stars
- languages: C (C89 and C98), C++ (C++98 and C++11), UPC, Fortran (77/95/2003), OpenMP, Java, Python, PHP
- use cases: static analysis, program optimization, program transformation
- https://github.com/jarble/transpiler - 400 stars
- translates a small subset of several programming languages into several others
- translate several metasyntax notations, such as EBNF and ABNF
- experimental "proof-of-concept," so it can only translate relatively simple programs
- A major goal of this project is to translate TypeScript and JavaScript to other languages that compile to C or native code. For example, it's possible to translate a subset of TypeScript to Zig
- written in: JavaScript
- languages: JavaScript, Prolog, C, C#, PHP, Python, Lua, Perl, Haskell, Fortran, Java, OCaml, GLSL, ...
- https://github.com/usethesource/rascal - 300 stars
- https://www.rascal-mpl.org/docs/WhyRascal/UseCases/SourceToSource
- metaprogramming language
- written in: Java
- compiles from: any
- compiles to: any
- https://github.com/true-grue/raddsl - 100 stars
- Tools for rapid prototyping of DSL compilers
- features: parse, transform
- written in: Python
- last commit: 2021
- https://github.com/LangTrans/LangTrans - 20 stars
- Customize programming languages
- written in: Python
- features: parse, transform
- syntactic preprocessor
- customize the syntax of any programming language
- based on: regex
- last commit: 2022
- http://codeworker.free.fr/
- CodeWorker can be trained to parse almost any language
- last version: 2010
- https://www.semanticdesigns.com/Products/DMS/DMSToolkit.html
- Software Reengineering Toolkit
- closed source
- languages: C++, Java, COBOL, SQL, HTML, Verilog, ...
- written in: PARLANSE = parallel language. As an example, the attribute evaluation process is automatically parallelized, and can often provide a linear speedup on an N-way SMP system.
- https://github.com/topics/code-generator
- https://github.com/yellicode/core - build your own code generation templates with TypeScript
- https://github.com/yellicode/typescript-extension
- Model driven: Generate code from any JSON document, or create your code models using our free, cross-platform modeling tool, Yellicode Modeler. Extend models with language- or framework specific meta data and use Yellicode's type-safe APIs to transform your models into code.
aka: partial evaluation, code optimizers, code optimization, dead code elimination, tree shaking, code compression, code minification
- https://github.com/terser/terser - 8K stars - JavaScript parser, mangler and compressor toolkit for ES6+
- https://github.com/google/closure-compiler - 7K stars - JavaScript checker and optimizer. written in Java
- https://github.com/google/closure-compiler-npm/tree/master/packages/google-closure-compiler-js - javascript version of the google closure-compiler. deprecated. last commit 2020
- https://github.com/facebookarchive/prepack - 15K stars - last commit 2021. archived. outdated. does not work with javscript ESM modules
- https://github.com/mindedsecurity/JStillery - 1K stars - last commit 2019 - JavaScript Deobfuscation via Partial Evaluation
- https://github.com/SumeyyeSuslu/SPEjs - 5 stars - last commit 2018 - Symbolic Partial Evaluator for JavaScript. Sümeyye Süslü, Christoph Csallner, 2018
- https://github.com/svg/svgo - 20K stars - tool for optimizing SVG files. written in JavaScript
- https://github.com/linkedin/opticss - 1K stars - A CSS Optimizer
- https://www.altamira.ai/open-source-gpt-alternative-solutions/
- https://www.ankursnewsletter.com/p/openais-gpt-3-vs-open-source-alternatives
- GPT-J and GPT-Neo are the most popular open source alternatives to GPT-3 today
- GPT = Generative Pretrained Transformer
- LLM = large language model
- The Pile = 800 GB of English texts - https://pile.eleuther.ai/
- The Stack = 6TB of source code, covering 358 programming languages
- HumanEval benchmark: https://github.com/openai/human-eval
- https://chat.openai.com/
- works online
- requires login
- limitation: can translate up to 31523 characters of code = about 30 KByte, so large inputs must be splitted into smaller chunks
- start the chat with: can you translate from some_input_language to some_output_language?
- can you translate from javascript to python?
- can you translate from python to javascript?
- ...
- chatGPT will also transform symbol names, for example from camelCase in javascript to snake_case in python. this is hard to disable. you can ask "can you translate ... and preserve the original symbol names?" but then the output is truncated after 3K characters
- on large inputs, chatGPT will return an interpretation of what the code is doing
- answer: yes. can you translate the code to some_output_language?
- yes. can you translate the code to python?
- yes. can you translate the code to javascript?
- ...
- the output will pause, then click: continue generating
- answer: yes. can you translate the code to some_output_language?
- languages: many
- based on Codex
- what language model is used by chatgpt to translate between programming languages?
- As of my last update in January 2022, ChatGPT does not directly translate between programming languages. However, OpenAI has developed models capable of code generation and understanding code in various programming languages, such as Codex, which powers GitHub Copilot. These models are trained on large datasets of code and natural language to understand and generate code snippets based on human-written descriptions or code prompts. While ChatGPT itself may not directly perform programming language translation, it can be used in conjunction with such code generation models to facilitate communication or provide assistance in programming-related tasks.
- what language model is used by chatgpt to translate between programming languages?
- https://codingfleet.com/code-converter/python/
- works online
- requires login for 5000 characters, otherwise only 1000 characters
- https://codingfleet.com/pricing/
- free account: 5K characters per request, 10 requests per month
- pro account: 32K characters per request
- 5 usd / month = 50 requests per month
- 10 usd / month = 200 requests per month
- 24 usd / month = 1000 requests per month
- unlimited account: 200 usd / year: 64K characters per request
- Languages: ABAP, APL, Ada, Assembly, Bash, C, C#, C++, COBOL, Clojure, CommonLisp, Crystal, Dart, Elixir, Elm, Erlang, F#, Fortran, Go, Groovy, Haskell, Java, Javascript, Julia, Kotlin, Lua, MATLAB, Nim, Node.js, OCaml, Objective-C, PHP, Pascal, Perl, PowerShell, Prolog, R, Ruby, Rust, SAS, SQL, Scala, Scheme, Swift, TypeScript, VHDL, Verilog, Zsh
- Databases: BigQuery, IBM, Db2, MySQL, PL/SQL, PostgreSQL, Redshift, SQLite, Snowflake, T-SQL
- Web Scraping: BeautifulSoup, Mechanize, Playwright, Puppeteer, Scrapy, Selenium
- Web Programming: ASP.NET, Angular, CherryPy, Django, Express.js, FastAPI, Flask, Laravel, Pyramid, Rails, React, Spring, Symfony, VueJS
- Deep Learning: Caffe, JAX, Keras, MXNet, PyTorch, TensorFlow, Theano
- https://github.com/facebookresearch/TransCoder - 1.5K stars
- deprecated in favor of CodeGen
- https://github.com/facebookresearch/CodeGen - 500 stars
- based on: tree-sitter parsers
- tags: ai, machine learning, generic, metaprogramming language, Metaprogramming System, transpiler framework
- Create your own domain-specific language
- generic transpiler, can be trained to translate all languages
- written in: Python
- license: MIT, Creative Commons Attribution-NonCommercial 4.0, Creative Commons Attribution-ShareAlike 2.0
- languages: C++, Java, Python, ... any
- https://github.com/facebookresearch/metaseq/tree/main/projects/OPT
- blog post: https://ai.facebook.com/blog/democratizing-access-to-large-scale-language-models-with-opt-175b/
- license: open source (models, inference code, training code)
- parameters: 175B
- https://huggingface.co/facebook/incoder-6B
- parameters: 6B
- https://blog.salesforceairesearch.com/codegen/
- parameters: 16B
- trained on: The Pile, BigQuery (C, C++, Go, Java, JavaScript, Python)
- architecture: autoregressive language models for program synthesis
- https://github.com/salesforce/CodeT5
- architecture: encoder-decoder
- parameters: 770M (?)
- release: 2020-07-06
- https://github.com/VHellendoorn/Code-LMs
- tags: ai, machine learning
- paper https://arxiv.org/pdf/2202.13169.pdf
- This model was not trained to solve programming problems and may not perform well on a benchmark such as HumanEval.
- Whitespace is very important to the model, since no preprocessing was done on the input files.
- parameters: 2.7B
- release: 2020-10
- trained on: 12 programming languages (C, C#, C++, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Scala, TypeScript)
- architecture: GPT-2
- license: closed source (OINO = open in name only)
- parameters: 175B
- architecture: auto-regressive model for next token prediction
- release: 2020-06-11
- price: 0.06 USD / 1K tokens - https://openai.com/api/pricing/
- https://huggingface.co/codeparrot
- CodeParrot is a GPT-2 model trained to generate Python code
- parameters: 1.5B
- architecture: GPT-2
- Code generation with: CodeParrot (1.5B), InCoder (6B) and CodeGen (6B)
- trained on: GitHub Code (32 programming languages), ...
- trained on: The Pile
- parameters: 2.7B
- live demo: https://6b.eleuther.ai/
- EleutherAI also developed a simple user interface for GPT-J. This interface allows users to increase the level of creativity of the model by using a parameter known as “temperature.”
- model: https://github.com/kingoflolz/mesh-transformer-jax/#gpt-j-6b
- license: open source (models, inference code, training code)
- parameters: 6B
- trained on: The Pile
- autoregressive model for text generation
- https://github.com/EleutherAI/gpt-neox/
- parameters: 20B
- release: 2022-02
- https://github.com/amazon-science/alexa-teacher-models
- encoder-decoder architecture
- trained on: causal-language-modeling (CLM), denoising tasks
- parameters: 20B
- release: 2022-11-18
- tags: ai, machine learning
- license: closed source
- free trial: 18 USD credit
- parameters: 12B
- https://www.ai21.com/studio
- license: closed source
- free trial: 90 USD credit
- https://developer.nvidia.com/megatron-turing-natural-language-generation
- license: closed source
- parameters: 530B
- decoder-only architecture
- https://huggingface.co/docs/transformers/model_doc/bloom
- license: closed source
- 13 programming languages
- trained on: 46 natural languages, 13 programming languages
- parameters: 176B
- architecture: auto-regressive model for next token prediction (similar to GPT3)
- Online Tool To Convert XML To JSON And JSON To XML
- Online JSON to Java POJO Class Converter
- JSON to NDJSON Online Converter Tool
- JSON to YAML Converter Tool
- YAML to JSON Converter Tool
- YAML to POJO Converter Tool
- XML to POJO Converter Tool
- Online Bash Shell Scripts to Windows Batch Files Converter Tool
- Online JSON to Typescript Converter Tool
- Online tool to convert Properties File to YAML format
- Online tool to convert Kubernetes YAML to Terraform HCL format
- Online tool to convert SQL to Mongo format
- Online tool to convert JSON to Kotlin format
- Online tool to convert JavaScript to Python format
- Online tool to convert Python to JavaScript format
- Online tool to convert Python to C++ format
- Online tool to convert Java to Python format
- Online tool to convert Javascript to Typescript format
- Online tool to convert Java to Javascript format
- Online tool to convert Java to Golang format
- Online tool to convert Kotlin to Java format
- Online tool to convert Java to Kotlin format
- Online tool to convert Java to C# format
- Online Tool to Convert Java to C++
- Online Tool to Convert C Code to Python
- Online Tool to Convert C Code to C++
- Online Tool to Convert Python Code to R
- Online Tool to Convert JavaScript Code to JQuery
- Online Tool to Convert Scala Code to Java
- Online Tool to Convert Java Code to Scala
- Online Tool to Convert C# Code to Java
- Online Tool to Convert PHP Code to Python
- Online Tool to Convert C# Code to Python
- Online Tool to Convert C++ Code to Java
- Online Tool to Convert Python Code to Java
- Online Tool to Convert Python Code to CSharp
code refactoring is not "transpiling" code from language A to language B,
but reshaping the program design from ugly to pretty code,
while keeping the original language,
and while keeping the original behavior of the code (same inputs, same outputs)
examples:
- refactor procedural code to object-oriented code
- Replace Conditional with Polymorphism
- replace conditional code with a finite state machine
- https://github.com/astral-sh/ruff - 30K stars
- An extremely fast Python linter and code formatter, written in Rust.
- written in: Rust
- languages: Python
- last commit: 2024
- https://github.com/python-rope/rope - 2K stars
- a python refactoring library
- list of refactorings
- written in: Python
- languages: Python
- last commit: 2024
- https://github.com/Instagram/LibCST - 1.5K stars
- A concrete syntax tree parser and serializer library for Python that preserves many aspects of Python's abstract syntax tree
- written in: Python
- languages: Python
- last commit: 2024
- https://github.com/facebookincubator/bowler - 1.5K stars
- Safe code refactoring for modern Python
- status: deprecated
- deprecated in favor of libcst: "If you need to do codemods today, we recommend looking at LibCST codemods which are a bit more verbose, but work well on modern python grammars."
- written in: Python
- languages: Python 3.8
- last commit: 2023
- https://github.com/m-zakeri/CodART - 30 stars
- Source Code Automated Refactoring Toolkit
- We have currently focused on automating the various refactoring operations for Java source codes.
- A complete list of refactoring supported by CodART can be found at CodART refactorings list.
- written in: Python
- last commit: 2024
- https://github.com/topics/transpiler
- https://github.com/topics/source-to-source
- https://github.com/topics/program-transformation
- https://github.com/topics/metaprogramming
- https://github.com/topics/term-rewriting
- https://github.com/topics/refactoring-tools
- https://github.com/topics/static-analysis
- https://github.com/transpiler/awesome-transpiler
- https://github.com/JohnDeved/awesome-typescript-compilers
- https://github.com/aalhour/awesome-compilers
- https://github.com/onelang/OneLang/wiki/OneLang-vs.-Haxe-vs.-Progsbase-comparison
- https://en.wikipedia.org/wiki/Source-to-source_compiler
- https://devopedia.org/transpiler
- https://aterik.github.io/Transpiler.and.similar.List/List/
- https://github.com/milahu/awesome-component-converters - html components: react, svelte, solidjs, vue, angular, ...
- https://cdn.intechopen.com/pdfs/14395/InTech-Automatic_generation_of_programs.pdf - Automatic Generation of Programs. by: Ondřej Popelka and Jiří Štastný
- https://arxiv.org/pdf/2202.07612.pdf - CodeGen-Test: An Automatic Code Generation Model Integrating Program Test Information. by: ZHONG Maosheng, LIU Gen, LI Hongwei, KUANG Jiangling, ZENG Jinshan, WANG Mingwen
- https://www.assemblyscript.org/ - similar to TypeScript (JavaScript), compiles to WebAsssembly, alternative to JS2C/TS2C transpilers
- https://stackoverflow.com/questions/6498850/programming-languages-that-compile-into-c-c-source
- https://softwareengineering.stackexchange.com/questions/143722/is-there-a-language-that-transpiles-to-c-with-better-syntax
- https://github.com/dbohdan/compilers-targeting-c
- https://medium.com/@ZombieCodeKill/the-a-z-of-javascript-transpilers-2d3d556fa627 - The A-Z of JavaScript Transpilers
- https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS - List of languages that compile to JavaScript
- https://github.com/milahu/awesome-bidirectional-transforms - bidirectional transpilers, lenses
- https://gist.github.com/0xdevalias/d8b743efb82c0e9406fc69da0d6c6581 - Some notes and tools for reverse engineering / deobfuscating / unminifying obfuscated web app code
- keywords: reverse engineering javascript web apps