3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
6 lotos.xml K. J. Turner <kjt@cs.stir.ac.uk> 24th April 2003
8 LOTOS (Language Of Temporal Ordering Specification) is an ISO standard
9 (8807) for a formal specification language used in communications and system
10 specification generally.
12 This mode does not (yet) deal with ISO 15437 (E-LOTOS, Enhanced LOTOS).
14 Auto-indentation occurs if the following are at the start of a line
15 (ignoring leading white space): "let", "library", "process", "specification",
16 "type", , ">>". This also happens if the following appear on their own (i.e.
17 also ignoring trailing white space): "(", "[]", "[>", "||" "|||", "|[...]|",
23 <PROPERTY NAME="commentStart" VALUE="(*"/>
24 <PROPERTY NAME="commentEnd" VALUE="*)"/>
25 <PROPERTY NAME="indentNextLines"
26 VALUE="\s*(let|library|process|specification|type|>>).*|\s*(\(|\[\]|\[>|\|\||\|\|\||\|\[.*\]\||\[.*\]\s*->)\s*"/>
29 <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
31 <SPAN TYPE="COMMENT1">
36 <!-- Standard Operators -->
37 <SEQ TYPE="OPERATOR">>></SEQ>
38 <SEQ TYPE="OPERATOR">[></SEQ>
39 <SEQ TYPE="OPERATOR">|||</SEQ>
40 <SEQ TYPE="OPERATOR">||</SEQ>
41 <SEQ TYPE="OPERATOR">|[</SEQ>
42 <SEQ TYPE="OPERATOR">]|</SEQ>
43 <SEQ TYPE="OPERATOR">[]</SEQ>
46 <!-- Reserved Words -->
47 <KEYWORD1>accept</KEYWORD1>
48 <KEYWORD1>actualizedby</KEYWORD1>
49 <KEYWORD1>any</KEYWORD1>
50 <KEYWORD1>behavior</KEYWORD1>
51 <KEYWORD1>behaviour</KEYWORD1>
52 <KEYWORD1>choice</KEYWORD1>
53 <KEYWORD1>endlib</KEYWORD1>
54 <KEYWORD1>endproc</KEYWORD1>
55 <KEYWORD1>endspec</KEYWORD1>
56 <KEYWORD1>endtype</KEYWORD1>
57 <KEYWORD1>eqns</KEYWORD1>
58 <KEYWORD1>exit</KEYWORD1>
59 <KEYWORD1>for</KEYWORD1>
60 <KEYWORD1>forall</KEYWORD1>
61 <KEYWORD1>formaleqns</KEYWORD1>
62 <KEYWORD1>formalopns</KEYWORD1>
63 <KEYWORD1>formalsorts</KEYWORD1>
64 <KEYWORD1>hide</KEYWORD1>
65 <KEYWORD1>i</KEYWORD1>
66 <KEYWORD1>in</KEYWORD1>
67 <KEYWORD1>is</KEYWORD1>
68 <KEYWORD1>let</KEYWORD1>
69 <KEYWORD1>library</KEYWORD1>
70 <KEYWORD1>noexit</KEYWORD1>
71 <KEYWORD1>of</KEYWORD1>
72 <KEYWORD1>ofsort</KEYWORD1>
73 <KEYWORD1>opnnames</KEYWORD1>
74 <KEYWORD1>opns</KEYWORD1>
75 <KEYWORD1>par</KEYWORD1>
76 <KEYWORD1>process</KEYWORD1>
77 <KEYWORD1>renamedby</KEYWORD1>
78 <KEYWORD1>sortnames</KEYWORD1>
79 <KEYWORD1>sorts</KEYWORD1>
80 <KEYWORD1>specification</KEYWORD1>
81 <KEYWORD1>stop</KEYWORD1>
82 <KEYWORD1>type</KEYWORD1>
83 <KEYWORD1>using</KEYWORD1>
84 <KEYWORD1>where</KEYWORD1>
86 <!-- Standard Library Sorts -->
87 <KEYWORD2>Bit</KEYWORD2>
88 <KEYWORD2>BitString</KEYWORD2>
89 <KEYWORD2>Bool</KEYWORD2>
90 <KEYWORD2>DecDigit</KEYWORD2>
91 <KEYWORD2>DecString</KEYWORD2>
92 <KEYWORD2>Element</KEYWORD2>
93 <KEYWORD2>FBool</KEYWORD2>
94 <KEYWORD2>HexDigit</KEYWORD2>
95 <KEYWORD2>HexString</KEYWORD2>
96 <KEYWORD2>OctDigit</KEYWORD2>
97 <KEYWORD2>Octet</KEYWORD2>
98 <KEYWORD2>OctString</KEYWORD2>
99 <KEYWORD2>Nat</KEYWORD2>
100 <KEYWORD2>NonEmptyString</KEYWORD2>
101 <KEYWORD2>OctetString</KEYWORD2>
102 <KEYWORD2>Set</KEYWORD2>
103 <KEYWORD2>String</KEYWORD2>
105 <!-- Standard Library Types (where differing from Sorts) -->
106 <KEYWORD2>BasicNaturalNumber</KEYWORD2>
107 <KEYWORD2>BasicNonEmptyString</KEYWORD2>
108 <KEYWORD2>BitNatRepr</KEYWORD2>
109 <KEYWORD2>Boolean</KEYWORD2>
110 <KEYWORD2>FBoolean</KEYWORD2>
111 <KEYWORD2>DecNatRepr</KEYWORD2>
112 <KEYWORD2>HexNatRepr</KEYWORD2>
113 <KEYWORD2>NatRepresentations</KEYWORD2>
114 <KEYWORD2>NaturalNumber</KEYWORD2>
115 <KEYWORD2>OctNatRepr</KEYWORD2>
116 <KEYWORD2>RicherNonEmptyString</KEYWORD2>
117 <KEYWORD2>String0</KEYWORD2>
118 <KEYWORD2>String1</KEYWORD2>
120 <!-- Standard Library Literals -->
121 <LITERAL1>false</LITERAL1>
122 <LITERAL1>true</LITERAL1>