Our specification of characters in [RM99] assumes that a certain list of names delimited by single quotes are available as identifiers:
chr : Nat ->? Char; |
ord : Char -> Nat; |
The list comprises of 'c', where c is any printing
character except one of the three characters ', "
and
\
. These characters are represented as '\' ',
'\"
', and '\\'. Further on
this list consists of elements ' \ nnn', where nnn is a
numeral in the range from 0 to 255.
The specification of strings in [RM99] again assumes a special
syntax for characters and lists. For strings (i.e. lists of
characters) we assume the following special syntax: The empty string
""
is allowed as an identifier. Moreover, a string
"
c1 ...cn"
is parsed as
'c1':: ...:: 'cn' :: ""
,
where the 'ci' are operation names from the
specification Char and the operation
:: inserts a character in a list. This leads to the specification:
[Char] with
|