• Stars
    star
    692
  • Rank 65,341 (Top 2 %)
  • Language
    JavaScript
  • Created almost 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A list of compilers that can generate C code

Compilers targeting C

The following is a list of open source compilers that can generate C (or in some cases, C++) code.

Name Supported languages Supported targets Notes Links
Alumina Alumina C Inspired by Rust web repo
ATS ATS C web
BaCon (Basic Converter) Basic C web
bc9Basic Basic C Can generate C or C++ code. Runs only on Windows but can generate code for *nix. A fork of BCX that outputs valid ISO/ANSI C. Website archive. web
Bigloo Scheme C Scheme (R5RS) web
Blech Blech C A synchronous programming language for embedded reactive real-time-critical software. repo
bmx-ng BlitzMax C A Monkey-derived BlitzMax to C transpiler. repo
Carp Carp, Lisp C A statically typed lisp, without a GC, for real-time applications. repo
Cforall Cforall, C C Extends ISO C and outputs augmented C code web repo doc
Chapel Chapel C web
CHICKEN Scheme Scheme C Scheme (R5RS) web
Ciao Prolog C web
cito Δ† C A language for making portable libraries with a syntax like C#. Also targets Java, C#, JavaScript, ActionScript, Perl 5 and D. web
CLiCC Common Lisp C Compiles a large strict subset of Common Lisp + CLOS to C. repo
Critical Mass Modula-3 Modula-3 C repo
Cyclone Scheme C Scheme (R7RS). Cheney on the M.T.A. with native threads. repo
Cython Python C web
CΓ©u CΓ©u C web
eC eC C An object-oriented superset of C with modules and generics. web
EiffelStudio Eiffel C web
Embeddable Common-Lisp Common Lisp C ANSI Common Lisp web
Emfrp Emfrp C A pure functional reactive programming language for small-scale embedded systems. repo
Emgo Go C Compiles a subset of Go for 32-bit microcontrollers through C. repo
Epic Epic C web
Esotope Brainfuck Compiler Brainfuck C repo
Euphoria to C Translator Euphoria C web
f2c Fortran 77 C web
Felix Felix C++ repo
FreeBASIC Basic C web
Futhark Futhark C Purely functional data-parallel language generating OpenCL C repo
Gambit Scheme C Scheme (R5RS) web
GCL Common Lisp C web
Genie Genie C web
GHC Haskell C C backend documentation page. web
GnuCOBOL COBOL C COBOL 2014 with extensions web
go2cpp Go C++ Designed to help port Go to C++ repo
GoLite GoLite, Go C++ Transpiles a strict subset of Go repo
Harbour xBase, CA-Clipper C xBase compatible with CA-Clipper repo
Haxe Haxe C, C++ web
Idris Idris C A pure functional programming language with dependent types. web
Ivory Ivory C A Haskell eDSL for safe systems programming. web
jhc Haskell 98 C The resulting code doesn't use a garbage collector. web
Kit Kit C A statically typed procedural language with manual MM, traits, pattern matching, and metaprogramming designed with game development in mind. web
Language84 Language84 C web
m m C, WebAssembly It targets webassembly but actually it compiles to C and then requires to trigger manually clang to get webassembly web repo
ManKai Common Lisp Common Lisp C web
matiec ST, IL, SFC C A set of textual languages for PLC programming. (SFC: IEC 61131) repo
mbeddr mbeddr C A set of languages for embedded software engineering. web
Mercury Mercury C web
MLton Standard ML C web
Monkey 2 Monkey 2 C++ web
Mrustc Rust C repo
NectarJS JavaScript C The primary target is WebAssembly. How to compile to C. repo
Nelua Nelua C A statically-typed meta-programmable systems programming language heavily inspired by Lua. web
Nim Nim C, C++, Objective C web
Nit Nit C web
NN-512 NN-512 C Graph language. Generate C99 code for neural net inference. web
Nuitka Python C web
nullc nullc C, x86, VM It is a C-like programming language repo doc
OBNC Oberon C web
ocamlcc OCaml C Compiles OCaml bytecode to C. repo
oi oi C C with traits. Compiles to code that can be directly used from plain C. repo
ooc ooc C web
OpenDylan Dylan C web
p2c Pascal, UCSD, Turbo Pascal, Modula-2 C, C++ Supports several Pascal dialects, including UCSD and Turbo Pascal, Modula-2. web
ParparVM Java bytecode C Use for the Java to iOS portability part of the Codename One project. repo
perlcc Perl 5 C web
prometeo Python C Transpiles subset of Python repo doc
PtoC pascal, Turbo Pascal, Oregon Pascal, ISO Pascal, Sun Pascal, HP Pascal C, C++ Transpiles to readable code repo
purescript-native PureScript C++ repo
Py14 Python C++ repo
Pythran Python C++ repo
QuickJS JavaScript C Compiles JavaScript (ES2020) to bytecode and embeds the bytecode in C. web
Ragel Ragel C, C++ Compiles executable finite state machines from regular languages. web
RPerl RPerl, Perl. C++ RPerl, a restricted subset of Perl. Unrelated to RPython. repo
RPython RPython, Python. C RPython, a restricted subset of Python. Unrelated to RPerl. web
Sather Sather C web
Scheme-to-C Scheme C Example nanopass compiler repo
Seed7 Seed7 C web
Shedskin Python C++ repo
SLua Lua C repo
SystemTap SystemTap C SystemTap scripting language compiles kernel modules for monitoring Linux systems. web
ThinScript ThinScript C, JavaScript, WebAssembly A lower-level programming language inspired by TypeScript. ThinScript also compiles to JavaScript and WebAssembly. repo
TMPPy TMPPy, Python C++ Transpiles a subset of Python repo doc
ts2c JavaScript, TypeScript C Compiles a subset of JavaScript/TypeScript (ES3) to readable C89. repo
TSP Tcl C A typed subset of Tcl. An experimental JIT. Compiles procedures written in a statically typed subset of Tcl to C or Java to accelerate Tcl programs. repo
UbxBasic Basic C, C++ A fork of BCX that adds Linux support in addition to Windows. Uses Glib. web
Ur/Web Ur/Web C web
V V C A no-GC systems language with modern features like sum types and immutability by default. repo
Vala Vala C web
Vostok Oberon-07 C, Java, JavaScript, Oberon repo
wasm2c WebAssembly C Converts WASM files to C source and header. repo
wasmdec WebAssembly C Converts WebAssembly binaries to C. repo
wax wax C, C#, C++, Java, Lua, Python, Swift, TypeScript, WebAssembly A language design for transpiling. web
Yaksha Python C Transpiles "Python like" programming language to C web repo doc
Zephir Zephir C A language for writing PHP extensions. web
ZZ ZZ (Drunk Octopus) C A safe dialect of C for embedded systems inspired by Rust. repo

C macro languages

  • C-Mera, a simple source-to-source compiler that transforms s-expression notation to code in a C-family language.
  • LISP/c, a Common Lisp-based macrolanguage for C.

See also

  • Cello, a library for high-level programming in C.
  • Clue, an ANSI C compiler targeting high level languages (Lua, JavaScript, Perl 5, C, Java, Common Lisp).
  • LLVM C backend resurrected.
  • luastatic, a tool that builds standalone executables from Lua programs by embedding Lua code in C.

Contributing

Your contributions are welcome! Please submit a pull request or create an issue to add a new compiler to the list.

License

CC0

More Repositories

1

structured-text-tools

A list of command-line tools for manipulating structured text data
6,948
star
2

automatic-api

A list of software that turns your database into a REST/GraphQL API
Go
1,988
star
3

classless-css

A list of classless CSS themes/frameworks with screenshots
HTML
1,928
star
4

embedded-scripting-languages

A list of embedded scripting languages
1,277
star
5

sqawk

Like awk but with SQL and table joins
Tcl
310
star
6

liveviews

Phoenix LiveView workalikes for different languages and frameworks
243
star
7

hicolor

🎨 Convert images to 15/16-bit RGB color with dithering
C
194
star
8

jsonwatch

Track changes in JSON data from the command line
Rust
165
star
9

unflattener

Make normal maps for 2D art
Python
146
star
10

s2png

Store any data in PNG images
Rust
99
star
11

csv2html

Convert CSV files to HTML tables
Rust
73
star
12

initool

Manipulate INI files from the command line
Standard ML
57
star
13

caddy-markdown-site

Serve Markdown files as HTML pages with CSS using just Caddy
CSS
52
star
14

picol

(Fossil repository mirror) A tiny interpreter
C
32
star
15

jimhttp

A library collection and web microframework
Tcl
28
star
16

tcl-duktape

Tcl bindings for Duktape, an embedded JavaScript interpreter
C
19
star
17

all-caps-basic

(WIP) A compiler written in Awk
Awk
16
star
18

caddy-cgi

An example of how to configure Caddy 1/2 with a FastCGI-to-CGI proxy
Perl
11
star
19

tinyfts

Very small standalone full-text search HTTP/SCGI server
Tcl
10
star
20

messagebox

Display message boxes from Windows batch files and command line programs
Shell
8
star
21

jimsh-static

Jim Tcl static binaries with SQLite 3 for Linux
Dockerfile
7
star
22

tcl-fcgi

FastCGI in pure Tcl
Tcl
6
star
23

2048.tcl

The game of 2048 implemented in Tcl
Tcl
4
star
24

pip-wtenv

Make your script download its dependecies; like pip.wtf but uses venvs
Python
4
star
25

joker-cgi-guestbook

A toy old-school CGI guestbook written in Joker
Clojure
3
star
26

HTMLgen

This is a mirror of the HTMLgen module by Robin Friedrich with the Debian patches
Python
3
star
27

ptjd

A pure Tcl JPEG decoder
Tcl
2
star
28

gpgedit

Edit symmetrically encrypted files
Tcl
2
star
29

fossil-wiki-export

Export a Fossil SCM wiki to Git preserving the revision history
Tcl
2
star
30

circleci-tcl-gcc-autoconf

Docker image for testing Tcl and C code with CircleCI
Dockerfile
2
star
31

klisp

C
2
star
32

empty

(Mirror) An alternative to Expect for *nix shells
C
1
star
33

caddy-deb-opt

Build a deb package to install Caddy in /opt/
Makefile
1
star
34

apache-2.4-webdav

A WebDAV file share/inbox configuration example for Apache 2.4
CSS
1
star
35

tcl86-nsis-installer

Build a Windows installer for Tcl with NSIS
PowerShell
1
star
36

tcl-augeas

Tcl bindings for Augeas
C
1
star