I never make changelogs; this is a personal mistake I'll attempt to work on. I am using this thread to document notes for developers and changes to the new compiler framework. I will place these changes in the Wiki after the fact. Excuse the Wiki list notation in the meantime; there's no sense in my formatting it with SMF's syntax if it's just going to be * in the end.
Notes:
* Files in the CompilerSource/JDI folder are meant to be read-only. This is a verbatim copy of the
JDI repository; please make any changes there. We might end up renaming this to JDI-read-only to comply with the precedent set by other projects.
Changes:
*
EnigmaStruct is no longer the main argument to compiler functions; it has been wrapped in a new class,
compile_context.
** This class also contains the global object
parsed_object *EGMglobal; the other parameter to most compile routines.
** This class also contains
FILE *gameModule, the other parameter passed to most resource writing routines.
* There is now a separate
resource_writer class to handle—you guessed it—writing resources. This is not only so we can support multiple languages, but also so we can support multiple resource export schemes (eg, internal, external). This is generated by the compile() method of the corresponding language adapter.
* Compile functions are now all snake_case, not some_SnakeCamel_Bastardization
Changing:
* The way JDI interfaces lexers and contexts needs changed—these are independent concepts.