A hand-written C compiler with the objectives of being (mostly) C99 compliant and self-hosting. Currently, a lot of detailed functionality is missing, but the compiler can already output limited x86_64 assembly for some constructions.
Major features that aren't implemented yet:
- User-defined type recognition
- Initializers
- Bitfields
- Typedefs
- Integer expressions
- Floating-point expressions
- Declarations
- Referencing
- Array access/Dereferencing
- Function calls
- Restructure AST nodes
- Possibly change instruction nodes to be an intermediate representation?
- Optimization