C Shell C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc update todo with review notes from mpu Dec 10, 2016
LICENSE Create LICENSE Feb 28, 2017
emit.myr update to latest qc Sep 10, 2017
err.myr dumb examples Feb 16, 2016
hideset.myr add hideset Jun 14, 2016
qc.myr fix myrddin syntax Aug 1, 2017
tok.myr add shiftleft, more of parse.c building Dec 28, 2016


Quick C

qc is a c frontend for the awesome QBE ssa backend written by Quentin Carbonneaux.

The frontend itself is written in the Myrddin programming language, a language by Ori Bernstein that is under heavy development, and also rocks.

Project Goals

  • Give QBE a serious C frontend to use for testing.
  • Make Myrddin self hosting language, even if it depends on some C code.
  • Allow Myrddin programs to embed C code without depending on the system C compiler.
  • Spread awareness of the Myrddin programming language.


The compiler itself is nearly complete enough to start compiling real programs. My first target will be my old self hosting C compiler. Currently, more than 5k LOC from that project can be built with qc + qbe.

There is not much work required to complete that goal, though there will be a steady grind of bug fixes to make it a reality.


You must have the Myrddin programming language installed, then building is a single command.


The compiler itself should work on linux, macos, freebsd, openbsd and plan9. Though qbe can only target a subset of those platforms.

Running tests

mbld test


IRC: irc.eigenstate.org in #myrddin (nick: ac)