It is possible to write all analysis modules in Java and that may be an appropriate route in many cases. There are times however when a user might want to avoid the full sophistication of Java and instead use some very simple scripting capability to invoke existing analysers. For those occasions we have provided a language based on the concept of a state machine which is entered and then proceeds to move between states until it has completed its analysis. We deliberately avoid the inclusion of a looping construct and further constrain the language to ensure that a state can only be visited once. The aim is to ensure that a script can be quickly constructed and will not result in endless repetition of analysis. The language is comprised of a number of keywords
a script must be stored in a file with the extension .sml (state machine language). The next section shows an example of a script used to link together a couple of analyzers into a simple analysis flow.