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

README.md

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.

Status

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.

Building

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

mbld

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

Contact

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