A C language compiler for educational purposes, developed based on LLVM.
The final version of NaiveC is the result of my work on a number of labs.
There are the introductions to these labs.
- Lab_00 Build Development Environment
- Lab_01 Hello NaiveC
- Lab_02 Build a Minimalist Compiler Without Variables
- Lab_03 Introduce Variables into Our Minimalist Compiler
- Lab_04 Introduce Diagnostic Engine and Unit Testing into Our Minimalist Compiler
- Lab_05 Introduce IF Statement into Our Minimalist Compiler
- Lab_06 Introduce Relationship Expressions & FOR Statement into Our Compiler
- Lab_07 Introduce Comment & Logical Operator & Bitwise Operator into Our Compiler
- Lab_08 Let's Support More Operators And Pointer Type
- Lab_09 Array and Its Initialization
- Lab_10 Struct and Union
- Lab_11 Function and Global Variable
- Lab_12 Run More Complex Test Cases