Skip to content

Instantly share code, notes, and snippets.

@P1n3appl3
Last active May 5, 2024 22:45
Show Gist options
  • Save P1n3appl3/7512d3526d165c16c8668d4f85afa20d to your computer and use it in GitHub Desktop.
Save P1n3appl3/7512d3526d165c16c8668d4f85afa20d to your computer and use it in GitHub Desktop.
A list of c compilers written in c

Compilers

8CC

https://github.com/rui314/8cc

ACK

https://github.com/davidgiven/ack http://tack.sourceforge.net/

BBC-C

https://github.com/TheEnbyperor/bbc-c

BCC

https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/bcc.html

BSD C

https://www.bdsoft.com/resources/bdsc.html https://www.bdsoft.com/dist/bdsc-readme.txt

C (Andrew Chambers)

https://github.com/andrewchambers/c

C4

https://github.com/rswier/c4

FCC

https://github.com/Fedjmike/fcc

KenCC

https://code.9front.org/hg/kenc/file/f7b378582848/ http://gsoc.cat-v.org/projects/kencc/

LCC

Version 3 vs 4 and existing LC3 backend https://sites.google.com/site/lccretargetablecompiler/

MOVCC (backend)

https://github.com/xoreaxeaxeax/movfuscator

MazuCC

https://github.com/jserv/MazuCC

NeatCC

https://repo.or.cz/neatcc.git

New BPF Tools

https://github.com/bl0ckeduser/new-bpf-tools

NWCC

http://nwcc.sourceforge.net/

Open Watcom v2

https://github.com/open-watcom/open-watcom-v2 https://github.com/open-watcom/owp4v1copy

Open64

https://sourceforge.net/projects/open64/files/open64/Documentation/ https://github.com/Lingcc/open64

Orange C

https://github.com/LADSoft/OrangeC

PCC

http://pcc.ludd.ltu.se/

PicoC

https://gitlab.com/zsaleeba/picoc

RECC

https://github.com/RobertElderSoftware/recc http://recc.robertelder.org/ http://recc.robertelder.org/details/

ROMCC

http://www.h-online.com/open/features/About-ROMCC-and-V3-746827.html https://github.com/coreboot/coreboot/blob/master/util/romcc/romcc.c

SCC

https://oldgit.suckless.org/scc/file/README.html https://github.com/8l/scc

SDCC

http://sdcc.sourceforge.net/ https://web.archive.org/web/20090617011643/http://www.circuitcellar.com/SA/Articles2/Dutta-121.pdf

Small C

http://www.retroarchive.org/cpm/archive/unofficial/small_c.html http://www.cpm.z80.de/small_c.html https://github.com/ncb85/SmallC-85

SubC

http://www.t3x.org/subc/ http://www.t3x.org/reload/index.html

TCC

https://repo.or.cz/w/tinycc.git https://bellard.org/tcc/ https://bellard.org/otcc/

VBCC

http://sun.hasenbraten.de/vbcc/ http://www.compilers.de/vbcc.html http://www.ibaug.de/vbcc/doc/vbcc.html

WGTCC

https://github.com/wgtdkp/wgtcc

Reference Material

https://www.bell-labs.com/usr/dmr/www/chist.html http://cm.bell-labs.co/who/dmr/ https://9p.io/sys/doc/compiler.html https://9p.io/sys/doc/ https://9p.io/sys/doc/comp.html https://www.spinellis.gr/blog/20060626/ http://blog.robertelder.org/jim-roskind-grammar/ https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm https://en.wikipedia.org/wiki/Static_single_assignment_form https://en.wikipedia.org/wiki/Continuation-passing_style (not for C) https://norasandler.com/2017/11/29/Write-a-Compiler.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment