Home - lyriarte/Cm7b5 GitHub Wiki

Welcome to the Cm7b5 wiki!

Compiler architecture

Compiling toolchain

Compiler components

Tutorial examples

Tokenizer

git checkout tokenizer

RPN calculator

git checkout rpn

Expression calculator (LL1)

git checkout recursive

Expression calculator (LR)

git checkout interpreter

x86 code generation (one pass)

git checkout c_subset_compiler

Sample programs

Code blocs

git checkout code_bloc_compiler

C language subset

git checkout c_subset_compiler

Helper scripts

cm7b5 compiler script

target=$(basename $1 .c) 
cat $1 | ./compiler > $target.asm 
asm7b5 $target.asm 

asm7b5 assembler script

target=$(basename $1 .asm) 
yasm -f elf $target.asm 
ld -s -o $target.bin $target.o 

References