summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Compiler
Commit message (Collapse)AuthorAge
* 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
* Don't allow duplicate types.Josh Rahm2024-09-25
|
* cleanup: re-organize Stage2 so the derived AdvaceStage instances are together.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.
* Split the Ast file into multiple sub files.Josh Rahm2024-09-25
| | | | Make some more changes to the generic implementation of EasySwitchStage.
* Add import statements, add using statements, properly cross-packageJosh Rahm2024-09-22
| | | | symbols.
* More major changes to the grammer.Josh Rahm2024-09-22
| | | | | | Added annotation sublanguage for defining compiler directives. Also added the syntax for import statements. Imports are not implemented, but I'm currently working on that.
* Some major changes to the structure of the language.Josh Rahm2024-09-20
| | | | | | | | | Added structures and unions to better define the layout and model overlapping concerns. renamed objtype -> type and object -> instance. added reserved statements for types.
* Add Stage3 compliation.Josh Rahm2024-08-24
| | | | | I think this is the last phase before sending the refined AST to the backend compiler to be processed.
* Fleshed out stage2 and made some big changes.Josh Rahm2024-08-21
| | | | | Delegated behavior of Compile monad to monad transformers MaybeT and RWS.
* Start implementing the Stage2 compiler.Josh Rahm2023-01-20
|
* Start working on Stage1 -> Stage2 re-assembler.Josh Rahm2023-01-15
|
* Crude compilation pipeline starting to take shape.Josh Rahm2023-01-09
This simply does a Stage0 -> Stage1 conversion. Namely, parse the text, check for syntax errors, squeeze the resulting ast and ... that's it.