The VASY team is pleased to announce that the TRAIAN 2.6 compiler is available.
TRAIAN 2.6 is a compiler for LOTOS NT, a language very close to the ISO standard E-LOTOS.
Within the VASY and HELIX teams, TRAIAN is used extensively for compiler construction (see the overview publication). Nine compilers (AAL, Chp2Lotos, Ctrl2Blk, Evaluator 4.0, Exp.Open 2.0, Fsp2Lotos, Lnt2Lotos, NTIF, SVL 2.0) have been developed using the combined SYNTAX/TRAIAN technologies.
Version 2.6 of TRAIAN brings significant enhancements:
TRAIAN now runs on Intel Mac (32-bit mode) running Mac OS X 10.4 or higher.
The C code generated by TRAIAN is now 64-bit compatible. Additionally, the TRAIAN distribution provides libraries for three mainstream 64-bit platforms: Intel EM64T and AMD64 running 64-bit Linux, Intel Itanium running 64-bit Linux, and Sparc v9 running 64-bit Solaris 10.
The C code generated by TRAIAN was adapted not to produce warnings anymore when compiled with recent C compilers using the strictest code-checking options.
The performance of the C code generated by TRAIAN was improved by reducing the number of "volatile" variables when using the optimizing GCC compiler.
Configuration files are provided to implement a LOTOS NT mode in in Emacs, Jedit, and Xemacs editors.
The TRAIAN user manual (107 pages) has been enhanced and updated.
One can now access the last element of an explicit list "[...]" used in pattern-matching;
One can now define a local variable named X in a "case X is" statement;
One can now invoke a function without parameters that raises an exception without adding "()" after the function name;
A variable declared outside a "trap ... end trap" block can now be used in the exception handler;
The C code generated for a "for" loop is now correct syntactically;
In the generated C code, the names given to variables in loops and "disable" behaviors is now correct;
In the generated C code, predefined constants now get the same names on all platforms;
When using the optimizing GCC compiler, variables modified in a "trap" or "loop" block no longer risk to lose their values when leaving the block;
The generated C code no longer confuses the "indent" pretty-printer;
TRAIAN correctly handles missing, extra, too short or too long file names passed on the command-line.
Additionally, TRAIAN 2.6 fixes fifteen bugs, among which:
The development of TRAIAN 2.6 was partly supported by the French Ministry of Economy, Finances, and Industry, and by Conseil Général de l'Isère under the MULTIVAL project of Minalogic.
TRAIAN 2.6 can be freely downloaded from the TRAIAN Web Page located at:
David Champelovier,
Hubert Garavel,
Yves Guerte, and
Frédéric Lang.