It might be necessary/cleaner to instantiate the Qcert modules for code generation before* they are used in Ergo. This would freeze foreign types (e.g., for date/time) which means constructing type models is more natural. This concretely means:
[x] Split the Compiler directory into pre-Jura Backend and post-Ergo ErgoCompiler parts
[ ] Import the Backend instead of Qcert in the Ergo part of the code
[x] Re-factor the built-in operators, CTO to model translation, etc to rely on the instantiated backend compiler
[ ] Fix up of backend module types and definitions so it results in cleaner extracted code
A large part of this item is done in 1dfdc9d. Still further cleanup is needed and we can start to take advantage of the refactoring (for type import, standard library, etc).
It might be necessary/cleaner to instantiate the Qcert modules for code generation before* they are used in Ergo. This would freeze foreign types (e.g., for date/time) which means constructing type models is more natural. This concretely means:
Compiler
directory into pre-JuraBackend
and post-ErgoErgoCompiler
partsBackend
instead ofQcert
in the Ergo part of the code