The first focus is to produce a working core
Focus on getting the basic function of code generation working. Use Demeter object syntax for definitions and config files.
a. Implement Type Registry
Class Dictionary for Type Registry. Initialize via object syntax. Print contents.
b. Implement Entity Registry
Class Dictionary for Entity Registry. Initialize via object syntax. Print contents. Update Type Registry with entries for Entities. Calculate type use of Methods (also a semantic check on types occurring in Entity definitions.
c. Implement Category Registry
Class dictionary for Category Registry. Initialize via object syntax. Print contents.
d. Implement Code Generation traversals.
Implement traversals and visitors for code generation, except for actual expansion of templates.
e. Implement Template Expansion
Implement template expansion logic.
Replace the Demeter syntax with a syntax more reminiscent of a C++ class declaration. Use JavaCC to create the parser for this syntax.