]> gitweb.factorcode.org Git - factor.git/blob - extra/xmode/modes/sdl_pr.xml
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / xmode / modes / sdl_pr.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!--\r
6   sdl_pr.xml    K. J. Turner <kjt@cs.stir.ac.uk>        26th February 2004\r
7 \r
8   SDL (Specification and Description Language) is an ITU standard (Z.100)\r
9   for a formal specification language used in communications and system specification generally.\r
10 \r
11   This mode handles SDL/PR (Phrase Representation), but does not (yet) deal with SDL 2000.\r
12 \r
13   Auto-indentation occurs if the following are at the start of a line (ignoring\r
14   leading white space): "block", "channel", "connection", "decision", "generator", "input", "macro", "newtype", "operator", "package", "procedure", "process", "refinement", "service", "start", "state", "substructure", "syntype", "system".\r
15 \r
16   This also happens if the following appear on their own (i.e. also ignoring\r
17   trailing white space): "signal".\r
18 -->\r
19 \r
20 <MODE>\r
21   <PROPS>\r
22     <PROPERTY NAME="commentStart" VALUE="/*"/>\r
23     <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
24     <PROPERTY NAME="indentNextLines"\r
25       VALUE="\s*(block|channel|connection|decision|generator|input|macro|newtype|operator|package|procedure|process|refinement|service|start|state|substructure|syntype|system).*|\s*(signal)\s*"/>\r
26   </PROPS>\r
27 \r
28   <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
29     <!-- SDT/TAU Comments -->\r
30     <SPAN TYPE="COMMENT2">\r
31       <BEGIN>/*#SDTREF</BEGIN>\r
32       <END>*/</END>\r
33     </SPAN>\r
34 \r
35     <!-- Standard Comments -->\r
36     <SPAN TYPE="COMMENT1">\r
37       <BEGIN>/*</BEGIN>\r
38       <END>*/</END>\r
39     </SPAN>\r
40 \r
41     <!-- String Literals -->\r
42     <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
43       <BEGIN>'</BEGIN>\r
44       <END>'</END>\r
45     </SPAN>\r
46 \r
47     <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
48       <BEGIN>"</BEGIN>\r
49       <END>"</END>\r
50     </SPAN>\r
51 \r
52     <!-- Standard Operators -->\r
53     <SEQ TYPE="OPERATOR">+</SEQ>\r
54     <SEQ TYPE="OPERATOR">-</SEQ>\r
55     <SEQ TYPE="OPERATOR">*</SEQ>\r
56     <SEQ TYPE="OPERATOR">/</SEQ>\r
57     <SEQ TYPE="OPERATOR">==</SEQ>\r
58     <SEQ TYPE="OPERATOR">/=</SEQ>\r
59     <SEQ TYPE="OPERATOR">:=</SEQ>\r
60     <SEQ TYPE="OPERATOR">=</SEQ>\r
61     <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
62     <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
63     <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
64     <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
65     <SEQ TYPE="OPERATOR">.</SEQ>\r
66     <SEQ TYPE="OPERATOR">!</SEQ>\r
67     <SEQ TYPE="OPERATOR">//</SEQ>\r
68 \r
69     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">and</SEQ>\r
70     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">mod</SEQ>\r
71     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">not</SEQ>\r
72     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">or</SEQ>\r
73     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">rem</SEQ>\r
74     <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">xor</SEQ>\r
75 \r
76     <KEYWORDS>\r
77       <!-- Reserved Words -->\r
78       <KEYWORD1>active</KEYWORD1>\r
79       <KEYWORD1>adding</KEYWORD1>\r
80       <KEYWORD1>all</KEYWORD1>\r
81       <KEYWORD1>alternative</KEYWORD1>\r
82       <KEYWORD1>any</KEYWORD1>\r
83       <KEYWORD1>as</KEYWORD1>\r
84       <KEYWORD1>atleast</KEYWORD1>\r
85       <KEYWORD1>axioms</KEYWORD1>\r
86       <KEYWORD1>block</KEYWORD1>\r
87       <KEYWORD1>call</KEYWORD1>\r
88       <KEYWORD1>channel</KEYWORD1>\r
89       <KEYWORD1>comment</KEYWORD1>\r
90       <KEYWORD1>connect</KEYWORD1>\r
91       <KEYWORD1>connection</KEYWORD1>\r
92       <KEYWORD1>constant</KEYWORD1>\r
93       <KEYWORD1>constants</KEYWORD1>\r
94       <KEYWORD1>create</KEYWORD1>\r
95       <KEYWORD1>dcl</KEYWORD1>\r
96       <KEYWORD1>decision</KEYWORD1>\r
97       <KEYWORD1>default</KEYWORD1>\r
98       <KEYWORD1>else</KEYWORD1>\r
99       <KEYWORD1>end</KEYWORD1>\r
100       <KEYWORD1>endalternative</KEYWORD1>\r
101       <KEYWORD1>endblock</KEYWORD1>\r
102       <KEYWORD1>endchannel</KEYWORD1>\r
103       <KEYWORD1>endconnection</KEYWORD1>\r
104       <KEYWORD1>enddecision</KEYWORD1>\r
105       <KEYWORD1>endgenerator</KEYWORD1>\r
106       <KEYWORD1>endmacro</KEYWORD1>\r
107       <KEYWORD1>endnewtype</KEYWORD1>\r
108       <KEYWORD1>endoperator</KEYWORD1>\r
109       <KEYWORD1>endpackage</KEYWORD1>\r
110       <KEYWORD1>endprocedure</KEYWORD1>\r
111       <KEYWORD1>endprocess</KEYWORD1>\r
112       <KEYWORD1>endrefinement</KEYWORD1>\r
113       <KEYWORD1>endselect</KEYWORD1>\r
114       <KEYWORD1>endservice</KEYWORD1>\r
115       <KEYWORD1>endstate</KEYWORD1>\r
116       <KEYWORD1>endsubstructure</KEYWORD1>\r
117       <KEYWORD1>endsyntype</KEYWORD1>\r
118       <KEYWORD1>endsystem</KEYWORD1>\r
119       <KEYWORD1>env</KEYWORD1>\r
120       <KEYWORD1>error</KEYWORD1>\r
121       <KEYWORD1>export</KEYWORD1>\r
122       <KEYWORD1>exported</KEYWORD1>\r
123       <KEYWORD1>external</KEYWORD1>\r
124       <KEYWORD1>fi</KEYWORD1>\r
125       <KEYWORD1>finalized</KEYWORD1>\r
126       <KEYWORD1>for</KEYWORD1>\r
127       <KEYWORD1>fpar</KEYWORD1>\r
128       <KEYWORD1>from</KEYWORD1>\r
129       <KEYWORD1>gate</KEYWORD1>\r
130       <KEYWORD1>generator</KEYWORD1>\r
131       <KEYWORD1>if</KEYWORD1>\r
132       <KEYWORD1>import</KEYWORD1>\r
133       <KEYWORD1>imported</KEYWORD1>\r
134       <KEYWORD1>in</KEYWORD1>\r
135       <KEYWORD1>inherits</KEYWORD1>\r
136       <KEYWORD1>input</KEYWORD1>\r
137       <KEYWORD1>interface</KEYWORD1>\r
138       <KEYWORD1>join</KEYWORD1>\r
139       <KEYWORD1>literal</KEYWORD1>\r
140       <KEYWORD1>literals</KEYWORD1>\r
141       <KEYWORD1>macro</KEYWORD1>\r
142       <KEYWORD1>macrodefinition</KEYWORD1>\r
143       <KEYWORD1>macroid</KEYWORD1>\r
144       <KEYWORD1>map</KEYWORD1>\r
145       <KEYWORD1>nameclass</KEYWORD1>\r
146       <KEYWORD1>newtype</KEYWORD1>\r
147       <KEYWORD1>nextstate</KEYWORD1>\r
148       <KEYWORD1>nodelay</KEYWORD1>\r
149       <KEYWORD1>noequality</KEYWORD1>\r
150       <KEYWORD1>none</KEYWORD1>\r
151       <KEYWORD1>now</KEYWORD1>\r
152       <KEYWORD1>offspring</KEYWORD1>\r
153       <KEYWORD1>operator</KEYWORD1>\r
154       <KEYWORD1>operators</KEYWORD1>\r
155       <KEYWORD1>ordering</KEYWORD1>\r
156       <KEYWORD1>out</KEYWORD1>\r
157       <KEYWORD1>output</KEYWORD1>\r
158       <KEYWORD1>package</KEYWORD1>\r
159       <KEYWORD1>parent</KEYWORD1>\r
160       <KEYWORD1>priority</KEYWORD1>\r
161       <KEYWORD1>procedure</KEYWORD1>\r
162       <KEYWORD1>process</KEYWORD1>\r
163       <KEYWORD1>provided</KEYWORD1>\r
164       <KEYWORD1>redefined</KEYWORD1>\r
165       <KEYWORD1>referenced</KEYWORD1>\r
166       <KEYWORD1>refinement</KEYWORD1>\r
167       <KEYWORD1>remote</KEYWORD1>\r
168       <KEYWORD1>reset</KEYWORD1>\r
169       <KEYWORD1>return</KEYWORD1>\r
170       <KEYWORD1>returns</KEYWORD1>\r
171       <KEYWORD1>revealed</KEYWORD1>\r
172       <KEYWORD1>reverse</KEYWORD1>\r
173       <KEYWORD1>route</KEYWORD1>\r
174       <KEYWORD1>save</KEYWORD1>\r
175       <KEYWORD1>select</KEYWORD1>\r
176       <KEYWORD1>self</KEYWORD1>\r
177       <KEYWORD1>sender</KEYWORD1>\r
178       <KEYWORD1>service</KEYWORD1>\r
179       <KEYWORD1>set</KEYWORD1>\r
180       <KEYWORD1>signal</KEYWORD1>\r
181       <KEYWORD1>signallist</KEYWORD1>\r
182       <KEYWORD1>signalroute</KEYWORD1>\r
183       <KEYWORD1>signalset</KEYWORD1>\r
184       <KEYWORD1>spelling</KEYWORD1>\r
185       <KEYWORD1>start</KEYWORD1>\r
186       <KEYWORD1>state</KEYWORD1>\r
187       <KEYWORD1>stop</KEYWORD1>\r
188       <KEYWORD1>struct</KEYWORD1>\r
189       <KEYWORD1>substructure</KEYWORD1>\r
190       <KEYWORD1>synonym</KEYWORD1>\r
191       <KEYWORD1>syntype</KEYWORD1>\r
192       <KEYWORD1>system</KEYWORD1>\r
193       <KEYWORD1>task</KEYWORD1>\r
194       <KEYWORD1>then</KEYWORD1>\r
195       <KEYWORD1>this</KEYWORD1>\r
196       <KEYWORD1>timer</KEYWORD1>\r
197       <KEYWORD1>to</KEYWORD1>\r
198       <KEYWORD1>type</KEYWORD1>\r
199       <KEYWORD1>use</KEYWORD1>\r
200       <KEYWORD1>via</KEYWORD1>\r
201       <KEYWORD1>view</KEYWORD1>\r
202       <KEYWORD1>viewed</KEYWORD1>\r
203       <KEYWORD1>virtual</KEYWORD1>\r
204       <KEYWORD1>with</KEYWORD1>\r
205 \r
206       <!-- Standard Library Sorts -->\r
207       <KEYWORD2>Boolean</KEYWORD2>\r
208       <KEYWORD2>Character</KEYWORD2>\r
209       <KEYWORD2>Charstring</KEYWORD2>\r
210       <KEYWORD2>Duration</KEYWORD2>\r
211       <KEYWORD2>Integer</KEYWORD2>\r
212       <KEYWORD2>Natural</KEYWORD2>\r
213       <KEYWORD2>Real</KEYWORD2>\r
214       <KEYWORD2>PId</KEYWORD2>\r
215       <KEYWORD2>Time</KEYWORD2>\r
216 \r
217       <!-- Standard Library Generators -->\r
218       <KEYWORD3>Array</KEYWORD3>\r
219       <KEYWORD3>String</KEYWORD3>\r
220       <KEYWORD3>Powerset</KEYWORD3>\r
221 \r
222       <!-- Standard Library Literals -->\r
223       <LITERAL1>false</LITERAL1>\r
224       <LITERAL1>null</LITERAL1>\r
225       <LITERAL1>true</LITERAL1>\r
226     </KEYWORDS>\r
227   </RULES>\r
228 </MODE>\r