https://github.com/budchirp/graphite
Fast (🚀), Memory safe (🚀), Simple (🚀) language compiler written in C++ (bad 😡) using LLVM (🚀)
https://github.com/budchirp/graphite
compiler cpp llvm llvm-ir
Last synced: 3 months ago
JSON representation
Fast (🚀), Memory safe (🚀), Simple (🚀) language compiler written in C++ (bad 😡) using LLVM (🚀)
- Host: GitHub
- URL: https://github.com/budchirp/graphite
- Owner: budchirp
- License: gpl-3.0
- Created: 2024-12-02T18:02:25.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-02-23T01:01:23.000Z (4 months ago)
- Last Synced: 2025-03-28T03:35:59.002Z (3 months ago)
- Topics: compiler, cpp, llvm, llvm-ir
- Language: C++
- Homepage:
- Size: 654 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
graphite
Fast (🚀), Memory safe (🚀), Simple (🚀) language compiler written in C++ (bad 😡) using LLVM (🚀)
![]()
![]()
![]()
## TODO
- [x] Lexer
- [x] Parser
- [x] Codegen
- [x] Type support
- [x] Type checking
- [x] Function definition
- [x] Variable definition
- [x] Mutable/Immutable variables
- [x] Null (?, !!, null)
- [x] If expression
- [x] For & While statement
- [x] Object generation
- [x] Code optimization (LLVM IR Optimization, no optimization from graphite)
- [x] Arrays
- [ ] Structs
- [x] Module management (garbage)
- [ ] Classes
- [ ] Stdlib
- [ ] Maps
- [ ] Scope management and ownership system similar to crab lang
- [ ] Switch expression
- [ ] CLI- [ ] Rename `use` to `include`
- [ ] Multiple codegen backend support
- [ ] Fix bugs with pointers
- [x] Move type resolving logic to somewhere else from the parser- [ ] ~~Add unit tests~~