]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/lotos.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / lotos.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!--
6   lotos.xml     K. J. Turner <kjt@cs.stir.ac.uk>        24th April 2003
7
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.
11
12   This mode does not (yet) deal with ISO 15437 (E-LOTOS, Enhanced LOTOS).
13
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): "(", "[]", "[>", "||" "|||", "|[...]|",
18   "[...]->".
19 -->
20
21 <MODE>
22   <PROPS>
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*"/>
27   </PROPS>
28
29   <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
30     <!-- Comments -->
31     <SPAN TYPE="COMMENT1">
32       <BEGIN>(*</BEGIN>
33       <END>*)</END>
34     </SPAN>
35
36     <!-- Standard Operators -->
37     <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>
38     <SEQ TYPE="OPERATOR">[&gt;</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>
44
45     <KEYWORDS>
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>
85
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>
104
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>
119
120       <!-- Standard Library Literals -->
121       <LITERAL1>false</LITERAL1>
122       <LITERAL1>true</LITERAL1>
123     </KEYWORDS>
124   </RULES>
125 </MODE>