You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ada is a strongly typed language that is well suited for describing Nexo specification.
Pros:
Very-strong type checking
Well defined bit fields that are used a lot in EMV and Nexo.
Preconditions and postconditions that actually are there in the nexo specification, and it would be nice to have them. They usually state which variables must change their value or must only be read.
Maps well from Drakon
it has goto which is needed for blazing fast implementation
high-level looping constructs compared to C
nested function which may be used to implement procedures/functions with multiple entry points
Cons:
I have to implement Ada generator from Drakon diagram
I have to learn Ada well enough to be able to design this generator properly
There aren't many free and open source ASN.1 compilers for Ada.
Additionally this request is similar to #36, but arguably is harder to implement. As a side note, I had an idea long time ago to write the diagrams in specifically crafted language (like haxe) that should be easily convertible to other languages (like C, C++, Java, Ada, Zig, or JavaScript).
Licensing is also a topic that is needed to be considered. It looks like Ada code compiled by gnat compiler from FSF (gcc-ada package) adds an explicit GPLv3 exception that permits to use their runtime library in proprietary software. It is located at /usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION for default Arch Linux installaion. And is available online at https://www.gnu.org/licenses/gcc-exception-3.1.html.
Ada is a strongly typed language that is well suited for describing Nexo specification.
Pros:
goto
which is needed for blazing fast implementationCons:
References:
The text was updated successfully, but these errors were encountered: