The Argos Compiler
Argos is a automaton language, similar to StateCharts, but with synchronous
semantics. We developed Larissa, an extension to Argos for aspect-oriented
programming. This compiler is a proof-of-concept implementation
for Argos and Larissa.
The compiler reads programs in Argos and Larissa, and transforms them into flat
Argos programs (i.e. simple automata) or into Lustre programs.
for a brief documentation of
You can download the compiler here
The jar file contains the executable code. To invoke the compiler, use
java -classpath argosCompiler.jar backends.ArgosCompiler argosFile
is a textual Argos program. This will transform
the program in a flat program, i.e. an equivalent program where all operators
(including aspects) have been removed. The transformed program is emitted on
the standard output.
To transform an automaton into a Lustre program, use
java -classpath argosCompiler.jar backends.LustrePrinter argosFile
The Lustre code will also be printed on the standard output.
There is also a pretty printer which will output the Argos program with
java -classpath argosCompiler.jar backends.ArgosPrinter argosFile
to invoke it.
Test files for the compiler in the textual Argos format can be found
Please contact me
if you have any further
question or if you are interested in the source code.