1dd755ffcbc33959b24e3796a9d958c01b78abba
Overview
Have you ever woken up one day and said to yourself, "Y'know what? I'd really like to build a compiler today."?
Could be just me.
Well, ever since that fateful day, I've been chiseling away at this mammoth task, adding functionality in stages by following this series.
Features
Note
This project is under active development, and the implemented features are rapidly changing.
Here is a list of the currently implemented C language features:
- Unary Operators: The ~ (bitwise compliment), - (negation), and ! (logical negation) operators are implemented for integers, and can be applied to any term.
- Arithmetic Operators: The + (addition), - (subtraction), * (multiplication), and / (division) operators are implemented for integers, parsed according to their precedence levels in C.
- Functions: Each file currently supports exactly one function (so you'd be wise to make it "main"), with exactly one statement: an integer return statement. So yeah, not so useful yet.
- Variables: Local, integer variables are supported, and can be declared (optionally initialized) and assigned to.
Description
Languages
Swift
77.9%
C
16.3%
Shell
5.6%
Makefile
0.2%
