Guide to blechc development

This guide documents how blechc - the Blech compiler - is build. It is meant for documentation and as help for new contributors.

Building and testing blechc


Expressions, conditions, initialisers, constants

This explains the variants of expressions in Blech.

Program counter trees

This explains the how “program counter” variables are used to memorise the control flow location(s) a Blech program resides in and how such program counters are managed in a tree structure in the code generator.

Local and external variables

This explains the difference between local and external variables in code generation.

Translating Blech variable names to C

This explains the how Blech variable names and memory accesses are rendered as C code.

Git workflow

This explains how we use branches to enable our git workflow.