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