-
Lexer
-
Parser
-
Codegen
-
Type support
-
Type checking
-
Function definition
-
Variable definition
-
Mutable/Immutable variables (immutable by default btw)
-
Null (?, !!, null)
-
Binary expressions (=, ==, !=, +, -, /, *)
-
Unary expressions (*, &, -, +, ++, --, !)
-
If expression
-
For & While statement
-
Object generation
-
Code optimization (LLVM IR Optimization, no optimization from graphite)
-
Arrays
-
Structs
-
Module management (public, private, include) (garbage btw)
-
Classes
-
Stdlib
-
Maps
-
Scope management and ownership system similar to crab π¦ (aka crap) or C++ RAII
-
Switch expression
-
CLI (graphite, graphitec)
-
Make bang operator work with expressions (currently only supports variable reference)
-
Improve my garbage code
-
Fix stupid parser errors
-
var mut x: mut *i32
syntax -
Fix mutability and pointer issues
-
Seperate CLI, Compiler frontend, Compiler backend into submodules
-
Multiple codegen backend support (only llvm for now)
-
Notifications
You must be signed in to change notification settings - Fork 0
Fast (π), Memory safe (π), Simple (π) language compiler written in C++ (bad π‘) using LLVM (π)
License
budchirp/graphite
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Repository files navigation
About
Fast (π), Memory safe (π), Simple (π) language compiler written in C++ (bad π‘) using LLVM (π)