summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Compiler/Expansion.hs
Commit message (Collapse)AuthorAge
* Implement new syntactic-sugar for skip_to(). Allows specifying the offset ↵Josh Rahm2024-12-03
| | | | directly on a register
* Added syntax for skip_to and buffer.Josh Rahm2024-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
* 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.
* Add ContExpression syntax tree.Josh Rahm2024-10-17
| | | | This is for expressions which must be calculatable at compile time.
* 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.
* Change register identifiers to Guarantee a value in qualification.Josh Rahm2024-10-11
| | | | This remove the burden of generating names from the backend.
* Replace all the qualification metadata with 'When (s .>= Qualified)'Josh Rahm2024-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 Rahm2024-10-11
|
* 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
|
* Make changes to AST for qualification step.Josh Rahm2024-10-03
|
* Add empty qualification stage.Josh Rahm2024-10-03
| | | | | This stage will be responsible for qualifying all types and attaching necessary metadata to make the job of later stages much easier.
* 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.
* Option parsing with optparse-applicativeJosh Rahm2024-09-28
|
* Add import resolution phase and also add a more abstractions aroundJosh Rahm2024-09-27
| | | | compliation phases.
* Rename some of the stages.Josh Rahm2024-09-26
Stage1 -> Parsed Stage2 -> Expanded Stage3 -> Checked