To generate documentation, Ampersand is language aware.
Ampersand assigns a language to every text written as documentation, whether it is a MEANING
, PURPOSE
or other text except comment.
Ampersand does not recognize any language, so you must tell which language is meant. To tell Ampersand what language you use, you can append a language directive to a context, a meaning, and to a purpose statement. Currently English and Dutch are supported.
A language directive has the following syntax
Where <language>
can be ENGLISH
or DUTCH
.
The first example is a context declaration in which the language ENGLISH
is specified.
This means that all natural language elements within this context are written in ENGLISH
, unless specified otherwise.
The second example is a MEANING
, which can be used in a RULE
statement and in a RELATION
statement. This example uses a MEANING
in ENGLISH
:
The language directive IN ENGLISH
means that the meaning of the relation ptpic[Pattern*Image]
is written in ENGLISH
.
The third example is a PURPOSE
statement in which the language DUTCH
is specified.
This means that the contents of this purpose statement is written in DUTCH
.
Ampersand assumes that whatever is written is written in the language denoted in the language directive. It doesn't check whether that language is actually used, because it cannot recognize languages.
If a CONTEXT
has no language directive, IN ENGLISH
is used by default. If a CONTEXT
has a language directive, that language will be the default language of all natural language items within that context.
If a PURPOSE
statement or a MEANING
has no language directive, Ampersand assumes this to be the language of its context. So, the user needs to specify a language only if it is an exception to the default.
Documentation generated by the Ampersand-compiler is written in a single language, which is specified when the compiler is called.
Documentation generated by RAP3 is written in DUTCH
. Natural language items written in any other language are ignored. This is not a mistake, but a feature. RAP3 only "speaks Dutch" and ignores anything else.