A definition of a structured specification is marked up as indicated
in Table 3: a list of item commands in a SpecDefn
environment, with the name of the specification as argument. The
keyword before the name is by default `spec'; it can be changed to
`arch spec' by inserting the optional argument [\Arch~\Spec]
for the SpecDefn
environment, and similarly for `unit spec'
and `view'. The equality sign of the definition is written after the
specification name.
LaTeX source:Table 3: SpecDefn SpecDefn.texFormatted:
- spec
- Spec_Name ... =
- ...
- ...
...- ...
- ...
...- ...
- end
A specification name in mixed upper and lower case is formatted in
SMALL_CAPS by LaTeX, but merely in a larger font by
Hyperlatex. Any underlined spaces have to be marked up as \_
.
A reference to the specification name is marked up using the command
\SpecName{...}
.
Any generic parameters and imports are inserted between the specification name and the equality sign.
Each part of a compound structured specification is marked up by a
\item[...]
command, often with with a keyword as its optional
argument, e.g., \item[\Then]
. The keyword is marked up as
command with the corresponding spelling, except that the first letter
is put in uppercase.
The Items
environment may be used to produce indentation and
alignment of parts of structured specifications, as described in
Section 2.1. Some of the various possibilities
are indicated in Table 4. Lists of basic
items within items should be themselves enclosed in Items
environments.
LaTeX source:Table 4: Structured-Alignment Structured-Alignment.texFormatted:
- spec
- A_Spec ... =
- {
- ...
- ...
...- ...
- ...
... }- then
- ...
- ...
...- ...
- ...
...- then
... and B_Spec with
... |-> ..., ..., ... |-> ... - then
- free
...- hide
- ...