Packages

ci

Contains “Compiler Instructions”. This models the .ez files, mostly letting the compiler know what directories to find source in (and possibly under what conditions).

comp

Contains the compiler driver, especially the entry point.

comp/functionality

“Metapackage”

comp/functionality/f202

comp/internal

Holds CompilationImpl I believe.

contexts

Contains the lookup logic to turn “names” into “elements”.

diagnostic

Contains mainly the interface for “errors” that are reported by the compiler.

These errors can be output in the terminal, or if they are Locatable, can be used like “markers” in the Eclipse Workbench.

entrypoints

Contains MainClassEntryPoint and ArbitraryFunctionEntryPoint. These represent the entry points into the program (as opposed to the compiler).

`Entrypoint`s represent the “surface” of the code that is generated. Beyond an entrypoint, there are no guarantees that the code will be usable. This provides flexbility to the “Generator” implementations, allowing them to just “do what works”.

Specifcially I don’t know how this will work for C/C++ generation and garbage collectors…

gen

lang

lang/builder

lang/imports

lang2

nextgen

nextgen/inputtree

nextgen/outputstatement

nextgen/outputtree

stages

stages/deduce

stages/deduce/declarations

stages/deduce/fluffy

This package holds “Fluffy”. subpackages are i for interfaces and impl for implementations.

stages/gen_c

stages/gen_fn

stages/gen_generic

stages/generate

stages/instructions

stages/logging

stages/translate

testing

util

work