| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
This is primarily done by making more things json and by instrumenting
which stage in compilation to dump and others. This means I can make
bash scripts for end to end testing.
|
| |
|
| |
|
|
|
|
| |
It now converts normal data into JSON rather than using "show".
|
|
|
|
|
|
|
| |
Big change. Implements qualification, which separates the qualification
concerns from the ConsistencyCheck phase.
I'm getting close to implementing a backend.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This stage will be responsible for qualifying all types and attaching
necessary metadata to make the job of later stages much easier.
|
| |
|
|
|
|
| |
As opposed to the original 'Annotated' data type.
|
|
|
|
|
| |
Import statements are fully implemented including compiling to an
interface file for faster compilations.
|
| |
|
| |
|
|
|
|
| |
compliation phases.
|
|
|
|
|
|
| |
Stage1 -> Parsed
Stage2 -> Expanded
Stage3 -> Checked
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Make some more changes to the generic implementation of EasySwitchStage.
|
|
|
|
| |
symbols.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Added structures and unions to better define the layout and model
overlapping concerns.
renamed objtype -> type and object -> instance.
added reserved statements for types.
|
|
|
|
|
| |
I think this is the last phase before sending the refined AST to the
backend compiler to be processed.
|
|
|
|
|
| |
Delegated behavior of Compile monad to monad transformers MaybeT and
RWS.
|
| |
|
| |
|
|
This simply does a Stage0 -> Stage1 conversion. Namely, parse the text,
check for syntax errors, squeeze the resulting ast and ... that's it.
|