Syntax - Modul
Ein Modul wird mit
Module(name , HELP(fileName)) : baseModule Synopsis("...", "...") Dictionary(T("...", "..."), T("...", "..."))
definiert.
Das Modul wird durch einen eindeutigen Namen gekennzeichnet. Mit dem Modul kann der Name eines HTML-Files verbunden werden. Ist ein Modul von einem anderen, bereits vereinbarten Modul abgeleitet, so wird der Name des Basis-Moduls nach einem : angegeben. Es folgen optional die Synopsis, die das Modul beschreibt, sowie das Dictionary, welches Schlagworte für das Modul beinhaltet.
Unmittelbar darauf kann eine Aktionsliste folgen, jedoch mit leicht eingeschränkter Syntax:
ActionList |
|
ActionBody | ::= ActionBody ActionElem | ActionElem |
ActionElem | ::= Action | Definition |
Action | ::= Event: Statements |
Event | ::= INITIALIZE | Message |
Statements | ::= Statements SingleStmt | Statements, SingleStmt | SingleStmt |
Definition | ::= VariablenDefinition | StatementDefinition | StatementDeklaration | MessageDeklaration |
d.h. ausführbare Anweisungen können nur mit INITIALIZE oder einer Message verbunden werden.
Die Syntax für die Definition eines externen Moduls:
Extern(name, File(fileName), triggeredBy(EventList)) |
Extern(name, triggeredBy(EventList), File(fileName))
EventList ::= Event | EventList, Event
Event ::= Message
Für abgeleitet Module kann der Basismodul angegeben werden:
Extern(name, File(fileName), triggeredBy(EventList)) : baseModule |
Extern(name, triggeredBy(EventList), File(fileName)) : baseModule
Bei der externen Definition eines Basismoduls fehlt die Ereignisliste:
Extern(name, File(fileName)) |
Extern(name, File(fileName)) : baseModule
Hier darf keine Aktionsliste angegeben werden!