.tioa). Usage is
java com.veromodo.tioa.Main [option ...] source-file ...
where the options are as follows:
-il causes the checker to generate intermediate language output
-p causes the checker to prettyprint the first source file
-path <dirlist> causes the checker to use
<dirlist> as a search path
A grammar for the TIOA specification languages can be found in
the file parser/grammar.src. The Unix command file
grammar.scr generates a parser (parser.java) for this grammar
using the Java Cup parser generator. The parser generator
also produces the class syms.java. The package tioa.parser also
contains lexers and tokenizers for the input stream, as well as classes
used to construct an abstract syntax tree. The package tioa.checker
contains classes for checking and attributing abstract syntax trees, as
well as classes that maintain symbol tables for sorts, operators, and
variables. Finally, the package tioa.util contains a prettyprinter and
other utility classes.
Work needed to finish the implementation of the checker:
termNodes need to be modified so
that they will print properly qualified terms that may contain shared
subterms. The current implementation works now, because only renamed
terms can contain shared subterms, and these renamed terms are never
printed. However, renamed terms will be printed when the -lp
option is implemented (and different qualifications may be needed for
different instances of the shared subterms). The implementation
technique can be found in the LP module unpterm.clu.