Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Implement new syntactic-sugar for skip_to(). Allows specifying the offset ↵ | Josh Rahm | 2024-12-03 |
| | | | | directly on a register | ||
* | Add metadata information to the BitsSubStructure and compile it correctly. | Josh Rahm | 2024-11-27 |
| | |||
* | Fix bug where fiddle was incorrectly calculating the size of sub-bitfields ↵ | Josh Rahm | 2024-11-27 |
| | | | | structs | ||
* | Added syntax for skip_to and buffer. | Josh Rahm | 2024-11-26 |
| | | | | | | | buffer tells fiddle to create a buffer of a number of bytes. skip_to tells fiddle to skip to some new offset. It's essentially an unnamed buffer | ||
* | Enforce that registers are either 8, 16, 32, or 64 bits. | Josh Rahm | 2024-10-27 |
| | | | | | Fixed the issues where the output C code did not use correct register sizes. | ||
* | Implement bitfield arrays. | Josh Rahm | 2024-10-22 |
| | |||
* | Provide more data during qualification about how a path is qualified. | Josh Rahm | 2024-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. | ||
* | bugfix: bit unions and structs should start at correct offset. | Josh Rahm | 2024-10-17 |
| | | | | The compiler reset the offset to 0 in bitfield substructures. | ||
* | Add ContExpression syntax tree. | Josh Rahm | 2024-10-17 |
| | | | | This is for expressions which must be calculatable at compile time. | ||
* | Start implementing a bunch of the C backend. | Josh Rahm | 2024-10-13 |
| | | | | | Have basic implementations down for coarse registers. Working on getting bitfields supported. | ||
* | Change 'Expression' to use numbers with units. | Josh Rahm | 2024-10-11 |
| | | | | | This helps to catch bugs in the compiler, specifically ones related to mixing up bits and bytes. | ||
* | Further implement C backend. | Josh Rahm | 2024-10-11 |
| | | | | | There is a problem where I'm mixing up bits and bytes. I think I'll try to resolve that using more type-level constraints. | ||
* | Replace all the qualification metadata with 'When (s .>= Qualified)' | Josh Rahm | 2024-10-11 |
| | | | | | This makes deriving much easier and cleans up the messy contexts in GenericTree and elsewhere at the cost of slightly more obtuse syntax. | ||
* | Prefer GADT's over typ families for some SyntaxTree elements. | Josh Rahm | 2024-10-11 |
| | |||
* | Add offset information to some AST elements.wip | Josh Rahm | 2024-10-07 |
| | |||
* | Add back the enum consistency check. | Josh Rahm | 2024-10-05 |
| | |||
* | Much better handling for the generic syntax tree. | Josh Rahm | 2024-10-05 |
| | | | | It now converts normal data into JSON rather than using "show". | ||
* | Implement qualification. | Josh Rahm | 2024-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 Rahm | 2024-10-03 |
| | |||
* | Wip: added -Wall | Josh Rahm | 2024-10-03 |
| | |||
* | Make changes to AST for qualification step. | Josh Rahm | 2024-10-03 |
| | |||
* | Add empty qualification stage. | Josh Rahm | 2024-10-03 |
| | | | | | This stage will be responsible for qualifying all types and attaching necessary metadata to make the job of later stages much easier. | ||
* | Do ConsistencyChecking on the level of directives | Josh Rahm | 2024-10-03 |
| | |||
* | Change the UnitInterface to have uncoupled Metadata. | Josh Rahm | 2024-10-03 |
| | | | | As opposed to the original 'Annotated' data type. | ||
* | Another monolithic change. Not good git ettiquite. | Josh Rahm | 2024-10-03 |
| | | | | | Import statements are fully implemented including compiling to an interface file for faster compilations. | ||
* | wip | Josh Rahm | 2024-09-28 |
| | |||
* | Option parsing with optparse-applicative | Josh Rahm | 2024-09-28 |
| | |||
* | Add import resolution phase and also add a more abstractions around | Josh Rahm | 2024-09-27 |
| | | | | compliation phases. | ||
* | Rename some of the stages. | Josh Rahm | 2024-09-26 |
Stage1 -> Parsed Stage2 -> Expanded Stage3 -> Checked |