The main focus for NHI10 was on: main-rewirte, template-feature, rpc-update, doc-update .
The main focus for NHI10 was on: main-rewirte, template-feature, rpc-update, doc-update .
- main-rewirte
- By adding libsqlite3 as a Programming-Language-Micro-Kernel (PLMK) library, some features were added to the All-Language-Compiler (ALC). Many of the new-features concerned the native-code-feature (i.e. reading and understanding external header files and external documentation), which ultimately led to a complete reorganization of the All-Language-Compiler (ALC) C compiler.
- template-feature
- To speedup the integration of new external software the project-builder does now using templates to setup the initial project.
- rpc update
- The rpc-feature has been significantly expanded, resulting in the following improvements:
- A "callback" is passed between "source" and "target" and thus the "callback" of an API function in the "target" is automatically converted into a "callback" on the "source".
- Support for different file types has been improved so that the user can now decide whether he wants to use an object as a "handle" or as a "value". The difference is that with "handle" the object never leaves the "target" which means that every access to the object automatically triggers a network access. With "value" the "object" is serialized and passed as a "value" and is therefore available in the "source" as if it were a local object.
theCompiler supports the rpc-feature as the main target because the rpc-feature is required for all new test-scripts and the rpc-feature uses the ALT (All-Languages-Target).
- Normally theCompiler generates code that is very close to the target-api-language, which is almost always C with the exception of GO and C# which have an indirect C binding.
Since I decided to implement the rpc-feature to improve testing, I wanted to test the target-language and not the target-api-language, so I implement the rpc-feature in theCompiler so that the target-language is generated as e.g. ruby, java, go etc and NOT the target-api-language.
- This has a double benefit for NHI10 because every new test-script always improves and tests the rpc-feature as well.
- doc update
- The documentation is the largest single project within NHI10 because each subproject creates documentation or brings its own documentation that is read, understood and transformed into the NHI10 documentation (Doxygen).
Doxygen is more of a programming-environment that can be adapted using the "alias" mechanism to support all conceivable programming languages, including languages that were not originally supported by doxygen.