summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Internal
Commit message (Collapse)AuthorAge
* Finish implementing alpha-version of the C-backend.Josh Rahm2024-10-27
| | | | | | This produces valid C code in a header file and also provides an INTF macro which makes it much less obtuse to call the various functions to set and unset bitfields.
* Change the AST to use Names instead of Identifiers for ObjDecls and BitsDeclsJosh Rahm2024-10-19
| | | | | This is to make anonymous expansion better and cleaner. It gets rid of the hash-mark hack introduced earlier.
* Provide more data during qualification about how a path is qualified.Josh Rahm2024-10-19
| | | | | | Now it includes information about the package a symobl is in. The object its in and the register its in. This allows better code generation in the backend that's somewhat more organized.
* Start implementing a bunch of the C backend.Josh Rahm2024-10-13
| | | | | Have basic implementations down for coarse registers. Working on getting bitfields supported.
* Change 'Expression' to use numbers with units.Josh Rahm2024-10-11
| | | | | This helps to catch bugs in the compiler, specifically ones related to mixing up bits and bytes.
* Implement qualification.Josh Rahm2024-10-05
| | | | | | | Big change. Implements qualification, which separates the qualification concerns from the ConsistencyCheck phase. I'm getting close to implementing a backend.
* Clean up warnings and remove unused files.Josh Rahm2024-10-03
|
* Wip: added -WallJosh Rahm2024-10-03
|
* Change the UnitInterface to have uncoupled Metadata.Josh Rahm2024-10-03
| | | | As opposed to the original 'Annotated' data type.
* Another monolithic change. Not good git ettiquite.Josh Rahm2024-10-03
| | | | | Import statements are fully implemented including compiling to an interface file for faster compilations.
* wipJosh Rahm2024-09-28
|
* Add import resolution phase and also add a more abstractions aroundJosh Rahm2024-09-27
| | | | compliation phases.
* Don't allow duplicate types.Josh Rahm2024-09-25
|
* feat: Add AdvanceStage typeclass and refactor code to use itJosh Rahm2024-09-25
Introduced the `AdvanceStage` typeclass, which provides a mechanism to transition AST elements between different compilation stages. This abstraction facilitates easier traversal and modification of the syntax tree as it progresses through various compilation phases.