Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | 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 | ||
* | Don't allow duplicate types. | Josh Rahm | 2024-09-25 |
| | |||
* | cleanup: re-organize Stage2 so the derived AdvaceStage instances are together. | Josh Rahm | 2024-09-25 |
| | |||
* | feat: Add AdvanceStage typeclass and refactor code to use it | Josh Rahm | 2024-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 Rahm | 2024-09-25 |
| | | | | Make some more changes to the generic implementation of EasySwitchStage. | ||
* | Add import statements, add using statements, properly cross-package | Josh Rahm | 2024-09-22 |
| | | | | symbols. | ||
* | More major changes to the grammer. | Josh Rahm | 2024-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 Rahm | 2024-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 Rahm | 2024-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 Rahm | 2024-08-21 |
| | | | | | Delegated behavior of Compile monad to monad transformers MaybeT and RWS. | ||
* | Start implementing the Stage2 compiler. | Josh Rahm | 2023-01-20 |
| | |||
* | Start working on Stage1 -> Stage2 re-assembler. | Josh Rahm | 2023-01-15 |
| | |||
* | Crude compilation pipeline starting to take shape. | Josh Rahm | 2023-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. | ||
* | Parser is able to parse the goal file. | Josh Rahm | 2023-01-08 |
| | |||
* | Some more fleshing-out of the parser and better AST utils. | Josh Rahm | 2022-12-18 |
| | |||
* | WIP: Basic parser implemented. | Josh Rahm | 2022-12-17 |
| | | | | | The parser is completely untested and probably broken, but it's probably pretty close becasue it does typecheck. This is a Work-in-progress. | ||
* | fiddle: have a basic tokenizer working. | Josh Rahm | 2022-12-17 |
| | |||
* | Start implementing "fiddle" code. | Josh Rahm | 2022-12-16 |
| | | | | nothing is happening right now, but it's on its way. | ||
* | Initial commit with goal file in mind | Josh Rahm | 2022-12-16 |