/jEdit/tags/jedit-4-2-pre14/modes/cil.xml
XML | 385 lines | 377 code | 4 blank | 4 comment | 0 complexity | f152a4234d947a655ebdabd513d5398e MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
1<?xml version="1.0"?>
2
3<!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5<!--
6 .NET CIL by Cullen Linn (linnc@cs.arizona.edu)
7 (pg102 or 198 of PartitionII)
8-->
9
10<MODE>
11
12 <PROPS>
13 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
14 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
15 <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
16 <PROPERTY NAME="commentStart" VALUE="/*" />
17 <PROPERTY NAME="commentEnd" VALUE="*/" />
18 <PROPERTY NAME="lineComment" VALUE="//" />
19 <PROPERTY NAME="wordBreakChars" VALUE=",+\\" />
20 </PROPS>
21
22 <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">
23
24 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
25 <BEGIN>'</BEGIN>
26 <END>'</END>
27 </SPAN>
28
29 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
30
31 <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
32
33 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
34 <BEGIN>"</BEGIN>
35 <END>"</END>
36 </SPAN>
37
38 <MARK_PREVIOUS TYPE="LABEL" EXCLUDE_MATCH="TRUE" AT_LINE_START="TRUE">:</MARK_PREVIOUS>
39
40 <KEYWORDS>
41 <KEYWORD1>public</KEYWORD1>
42 <KEYWORD1>private</KEYWORD1>
43 <KEYWORD1>family</KEYWORD1>
44 <KEYWORD1>assembly</KEYWORD1>
45 <KEYWORD1>famandassem</KEYWORD1>
46 <KEYWORD1>famorassem</KEYWORD1>
47 <KEYWORD1>autochar</KEYWORD1>
48 <KEYWORD1>abstract</KEYWORD1>
49 <KEYWORD1>ansi</KEYWORD1>
50 <KEYWORD1>beforefieldinit</KEYWORD1>
51 <KEYWORD1>explicit</KEYWORD1>
52 <KEYWORD1>interface</KEYWORD1>
53 <KEYWORD1>nested</KEYWORD1>
54 <KEYWORD1>rtspecialname</KEYWORD1>
55 <KEYWORD1>sealed</KEYWORD1>
56 <KEYWORD1>sequential</KEYWORD1>
57 <KEYWORD1>serializable</KEYWORD1>
58 <KEYWORD1>specialname</KEYWORD1>
59 <KEYWORD1>unicode</KEYWORD1>
60 <KEYWORD1>final</KEYWORD1>
61 <KEYWORD1>hidebysig</KEYWORD1>
62 <KEYWORD1>newslot</KEYWORD1>
63 <KEYWORD1>pinvokeimpl</KEYWORD1>
64 <KEYWORD1>static</KEYWORD1>
65 <KEYWORD1>virtual</KEYWORD1>
66 <KEYWORD1>cil</KEYWORD1>
67 <KEYWORD1>forwardref</KEYWORD1>
68 <KEYWORD1>internalcall</KEYWORD1>
69 <KEYWORD1>managed</KEYWORD1>
70 <KEYWORD1>native</KEYWORD1>
71 <KEYWORD1>noinlining</KEYWORD1>
72 <KEYWORD1>runtime</KEYWORD1>
73 <KEYWORD1>synchronized</KEYWORD1>
74 <KEYWORD1>unmanaged</KEYWORD1>
75 <KEYWORD1>typedref</KEYWORD1>
76 <KEYWORD1>cdecl</KEYWORD1>
77 <KEYWORD1>fastcall</KEYWORD1>
78 <KEYWORD1>stdcall</KEYWORD1>
79 <KEYWORD1>thiscall</KEYWORD1>
80 <KEYWORD1>platformapi</KEYWORD1>
81 <KEYWORD1>initonly</KEYWORD1>
82 <KEYWORD1>literal</KEYWORD1>
83 <KEYWORD1>marshal</KEYWORD1>
84 <KEYWORD1>notserialized</KEYWORD1>
85 <KEYWORD1>addon</KEYWORD1>
86 <KEYWORD1>removeon</KEYWORD1>
87 <KEYWORD1>catch</KEYWORD1>
88 <KEYWORD1>fault</KEYWORD1>
89 <KEYWORD1>filter</KEYWORD1>
90 <KEYWORD1>handler</KEYWORD1>
91
92 <!--Assembly Directives (Meta-Data)-->
93 <KEYWORD2>.assembly</KEYWORD2>
94 <KEYWORD2>.assembly extern</KEYWORD2>
95 <KEYWORD2>.class</KEYWORD2>
96 <KEYWORD2>.class extern</KEYWORD2>
97 <KEYWORD2>.field</KEYWORD2>
98 <KEYWORD2>.method</KEYWORD2>
99 <KEYWORD2>.property</KEYWORD2>
100 <KEYWORD2>.get</KEYWORD2>
101 <KEYWORD2>.set</KEYWORD2>
102 <KEYWORD2>.other</KEYWORD2>
103 <KEYWORD2>.ctor</KEYWORD2>
104 <KEYWORD2>.corflags</KEYWORD2>
105 <KEYWORD2>.custom</KEYWORD2>
106 <KEYWORD2>.data</KEYWORD2>
107 <KEYWORD2>.file</KEYWORD2>
108 <KEYWORD2>.mresource</KEYWORD2>
109 <KEYWORD2>.module</KEYWORD2>
110 <KEYWORD2>.module extern</KEYWORD2>
111 <KEYWORD2>.subsystem</KEYWORD2>
112 <KEYWORD2>.vtfixup</KEYWORD2>
113 <KEYWORD2>.publickeytoken</KEYWORD2>
114 <KEYWORD2>.ver</KEYWORD2>
115 <KEYWORD2>.hash algorithm</KEYWORD2>
116 <KEYWORD2>.culture</KEYWORD2>
117 <KEYWORD2>.namespace</KEYWORD2>
118 <KEYWORD2>.event</KEYWORD2>
119 <KEYWORD2>.fire</KEYWORD2>
120 <KEYWORD2>.override</KEYWORD2>
121 <KEYWORD2>.try</KEYWORD2>
122 <KEYWORD2>.catch</KEYWORD2>
123 <KEYWORD2>.finally</KEYWORD2>
124 <KEYWORD2>.locals</KEYWORD2>
125 <KEYWORD2>.maxstack</KEYWORD2>
126 <KEYWORD2>.entrypoint</KEYWORD2>
127 <KEYWORD2>.pack</KEYWORD2>
128 <KEYWORD2>.size</KEYWORD2>
129
130 <!--Implementation Specific Metadata-->
131 <KEYWORD2>.file alignment</KEYWORD2>
132 <KEYWORD2>.imagebase</KEYWORD2>
133 <KEYWORD2>.language</KEYWORD2>
134 <KEYWORD2>.namespace</KEYWORD2>
135
136
137 <KEYWORD3>string</KEYWORD3>
138 <KEYWORD3>object</KEYWORD3>
139 <KEYWORD3>bool</KEYWORD3>
140 <KEYWORD3>true</KEYWORD3>
141 <KEYWORD3>false</KEYWORD3>
142 <KEYWORD3>bytearray</KEYWORD3>
143 <KEYWORD3>char</KEYWORD3>
144 <KEYWORD3>float32</KEYWORD3>
145 <KEYWORD3>float64</KEYWORD3>
146 <KEYWORD3>int8</KEYWORD3>
147 <KEYWORD3>int16</KEYWORD3>
148 <KEYWORD3>int32</KEYWORD3>
149 <KEYWORD3>int64</KEYWORD3>
150 <KEYWORD3>nullref</KEYWORD3>
151
152
153 <SEQ TYPE="OPERATOR">&</SEQ>
154 <SEQ TYPE="OPERATOR">*</SEQ>
155 <SEQ TYPE="OPERATOR">}</SEQ>
156 <SEQ TYPE="OPERATOR">{</SEQ>
157
158 <!--arithmetic opcodes-->
159 <FUNCTION>add</FUNCTION>
160 <FUNCTION>add.ovf</FUNCTION>
161 <FUNCTION>add.ovf.un</FUNCTION>
162 <FUNCTION>div</FUNCTION>
163 <FUNCTION>div.un</FUNCTION>
164 <FUNCTION>mul</FUNCTION>
165 <FUNCTION>mul.ovf</FUNCTION>
166 <FUNCTION>mul.ovf.un</FUNCTION>
167 <FUNCTION>sub</FUNCTION>
168 <FUNCTION>sub.ovf</FUNCTION>
169 <FUNCTION>sub.ovf.un</FUNCTION>
170
171 <!--logical-->
172 <FUNCTION>and</FUNCTION>
173 <FUNCTION>not</FUNCTION>
174 <FUNCTION>or</FUNCTION>
175 <FUNCTION>xor</FUNCTION>
176
177 <!--Branches-->
178 <FUNCTION>beq</FUNCTION>
179 <FUNCTION>beq.s</FUNCTION>
180 <FUNCTION>bge</FUNCTION>
181 <FUNCTION>bge.s</FUNCTION>
182 <FUNCTION>bge.un</FUNCTION>
183 <FUNCTION>bge.un.s</FUNCTION>
184 <FUNCTION>bgt</FUNCTION>
185 <FUNCTION>bgt.s</FUNCTION>
186 <FUNCTION>bgt.un</FUNCTION>
187 <FUNCTION>bgt.un.s</FUNCTION>
188 <FUNCTION>ble</FUNCTION>
189 <FUNCTION>ble.s</FUNCTION>
190 <FUNCTION>ble.un</FUNCTION>
191 <FUNCTION>ble.un.s</FUNCTION>
192 <FUNCTION>blt</FUNCTION>
193 <FUNCTION>blt.s</FUNCTION>
194 <FUNCTION>blt.un</FUNCTION>
195 <FUNCTION>blt.un.s</FUNCTION>
196 <FUNCTION>bne.un</FUNCTION>
197 <FUNCTION>bne.un.s</FUNCTION>
198 <FUNCTION>br</FUNCTION>
199 <FUNCTION>brfalse</FUNCTION>
200 <FUNCTION>brfalse.s</FUNCTION>
201 <FUNCTION>brtrue</FUNCTION>
202 <FUNCTION>brtrue.s</FUNCTION>
203 <FUNCTION>br.s</FUNCTION>
204
205 <!--Conversions-->
206 <FUNCTION>conv.i</FUNCTION>
207 <FUNCTION>conv.i1</FUNCTION>
208 <FUNCTION>conv.i2</FUNCTION>
209 <FUNCTION>conv.i4</FUNCTION>
210 <FUNCTION>conv.i8</FUNCTION>
211 <FUNCTION>conv.ovf.i</FUNCTION>
212 <FUNCTION>conv.ovf.i1</FUNCTION>
213 <FUNCTION>conv.ovf.i1.un</FUNCTION>
214 <FUNCTION>conv.ovf.i2</FUNCTION>
215 <FUNCTION>conv.ovf.i2.un</FUNCTION>
216 <FUNCTION>conv.ovf.i4</FUNCTION>
217 <FUNCTION>conv.ovf.i4.un</FUNCTION>
218 <FUNCTION>conv.ovf.i8</FUNCTION>
219 <FUNCTION>conv.ovf.i8.un</FUNCTION>
220 <FUNCTION>conv.ovf.i.un</FUNCTION>
221 <FUNCTION>conv.ovf.u</FUNCTION>
222 <FUNCTION>conv.ovf.u1</FUNCTION>
223 <FUNCTION>conv.ovf.u1.un</FUNCTION>
224 <FUNCTION>conv.ovf.u2</FUNCTION>
225 <FUNCTION>conv.ovf.u2.un</FUNCTION>
226 <FUNCTION>conv.ovf.u4</FUNCTION>
227 <FUNCTION>conv.ovf.u4.un</FUNCTION>
228 <FUNCTION>conv.ovf.u8</FUNCTION>
229 <FUNCTION>conv.ovf.u8.un</FUNCTION>
230 <FUNCTION>conv.ovf.u.un</FUNCTION>
231 <FUNCTION>conv.r4</FUNCTION>
232 <FUNCTION>conv.r8</FUNCTION>
233 <FUNCTION>conv.r.un</FUNCTION>
234 <FUNCTION>conv.u</FUNCTION>
235 <FUNCTION>conv.u1</FUNCTION>
236 <FUNCTION>conv.u2</FUNCTION>
237 <FUNCTION>conv.u4</FUNCTION>
238 <FUNCTION>conv.u8</FUNCTION>
239
240 <!--Loads and Stores-->
241 <FUNCTION>ldarg</FUNCTION>
242 <FUNCTION>ldarga</FUNCTION>
243 <FUNCTION>ldarga.s</FUNCTION>
244 <FUNCTION>ldarg.0</FUNCTION>
245 <FUNCTION>ldarg.1</FUNCTION>
246 <FUNCTION>ldarg.2</FUNCTION>
247 <FUNCTION>ldarg.3</FUNCTION>
248 <FUNCTION>ldarg.s</FUNCTION>
249 <FUNCTION>ldc.i4</FUNCTION>
250 <FUNCTION>ldc.i4.0</FUNCTION>
251 <FUNCTION>ldc.i4.1</FUNCTION>
252 <FUNCTION>ldc.i4.2</FUNCTION>
253 <FUNCTION>ldc.i4.3</FUNCTION>
254 <FUNCTION>ldc.i4.4</FUNCTION>
255 <FUNCTION>ldc.i4.5</FUNCTION>
256 <FUNCTION>ldc.i4.6</FUNCTION>
257 <FUNCTION>ldc.i4.7</FUNCTION>
258 <FUNCTION>ldc.i4.8</FUNCTION>
259 <FUNCTION>ldc.i4.m1</FUNCTION>
260 <FUNCTION>ldc.i4.s</FUNCTION>
261 <FUNCTION>ldc.i8</FUNCTION>
262 <FUNCTION>ldc.r4</FUNCTION>
263 <FUNCTION>ldc.r8</FUNCTION>
264 <FUNCTION>ldelema</FUNCTION>
265 <FUNCTION>ldelem.i</FUNCTION>
266 <FUNCTION>ldelem.i1</FUNCTION>
267 <FUNCTION>ldelem.i2</FUNCTION>
268 <FUNCTION>ldelem.i4</FUNCTION>
269 <FUNCTION>ldelem.i8</FUNCTION>
270 <FUNCTION>ldelem.r4</FUNCTION>
271 <FUNCTION>ldelem.r8</FUNCTION>
272 <FUNCTION>ldelem.ref</FUNCTION>
273 <FUNCTION>ldelem.u1</FUNCTION>
274 <FUNCTION>ldelem.u2</FUNCTION>
275 <FUNCTION>ldelem.u4</FUNCTION>
276 <FUNCTION>ldfld</FUNCTION>
277 <FUNCTION>ldflda</FUNCTION>
278 <FUNCTION>ldftn</FUNCTION>
279 <FUNCTION>ldind.i</FUNCTION>
280 <FUNCTION>ldind.i1</FUNCTION>
281 <FUNCTION>ldind.i2</FUNCTION>
282 <FUNCTION>ldind.i4</FUNCTION>
283 <FUNCTION>ldind.i8</FUNCTION>
284 <FUNCTION>ldind.r4</FUNCTION>
285 <FUNCTION>ldind.r8</FUNCTION>
286 <FUNCTION>ldind.ref</FUNCTION>
287 <FUNCTION>ldind.u1</FUNCTION>
288 <FUNCTION>ldind.u2</FUNCTION>
289 <FUNCTION>ldind.u4</FUNCTION>
290 <FUNCTION>ldlen</FUNCTION>
291 <FUNCTION>ldloc</FUNCTION>
292 <FUNCTION>ldloca</FUNCTION>
293 <FUNCTION>ldloca.s</FUNCTION>
294 <FUNCTION>ldloc.0</FUNCTION>
295 <FUNCTION>ldloc.1</FUNCTION>
296 <FUNCTION>ldloc.2</FUNCTION>
297 <FUNCTION>ldloc.3</FUNCTION>
298 <FUNCTION>ldloc.s</FUNCTION>
299 <FUNCTION>ldnull</FUNCTION>
300 <FUNCTION>ldobj</FUNCTION>
301 <FUNCTION>ldsfld</FUNCTION>
302 <FUNCTION>ldsflda</FUNCTION>
303 <FUNCTION>ldstr</FUNCTION>
304 <FUNCTION>ldtoken</FUNCTION>
305 <FUNCTION>ldvirtftn</FUNCTION>
306 <FUNCTION>starg</FUNCTION>
307 <FUNCTION>starg.s</FUNCTION>
308 <FUNCTION>stelem.i</FUNCTION>
309 <FUNCTION>stelem.i1</FUNCTION>
310 <FUNCTION>stelem.i2</FUNCTION>
311 <FUNCTION>stelem.i4</FUNCTION>
312 <FUNCTION>stelem.i8</FUNCTION>
313 <FUNCTION>stelem.r4</FUNCTION>
314 <FUNCTION>stelem.r8</FUNCTION>
315 <FUNCTION>stelem.ref</FUNCTION>
316 <FUNCTION>stfld</FUNCTION>
317 <FUNCTION>stind.i</FUNCTION>
318 <FUNCTION>stind.i1</FUNCTION>
319 <FUNCTION>stind.i2</FUNCTION>
320 <FUNCTION>stind.i4</FUNCTION>
321 <FUNCTION>stind.i8</FUNCTION>
322 <FUNCTION>stind.r4</FUNCTION>
323 <FUNCTION>stind.r8</FUNCTION>
324 <FUNCTION>stind.ref</FUNCTION>
325 <FUNCTION>stloc</FUNCTION>
326 <FUNCTION>stloc.0</FUNCTION>
327 <FUNCTION>stloc.1</FUNCTION>
328 <FUNCTION>stloc.2</FUNCTION>
329 <FUNCTION>stloc.3</FUNCTION>
330 <FUNCTION>stloc.s</FUNCTION>
331 <FUNCTION>stobj</FUNCTION>
332 <FUNCTION>stsfld</FUNCTION>
333
334 <FUNCTION>call</FUNCTION>
335 <FUNCTION>calli</FUNCTION>
336 <FUNCTION>callvirt</FUNCTION>
337 <FUNCTION>castclass</FUNCTION>
338 <FUNCTION>ceq</FUNCTION>
339 <FUNCTION>cgt</FUNCTION>
340 <FUNCTION>cgt.un</FUNCTION>
341 <FUNCTION>ckfinite</FUNCTION>
342 <FUNCTION>clt</FUNCTION>
343 <FUNCTION>clt.un</FUNCTION>
344 <FUNCTION>cpblk</FUNCTION>
345 <FUNCTION>cpobj</FUNCTION>
346
347 <FUNCTION>initblk</FUNCTION>
348 <FUNCTION>initobj</FUNCTION>
349 <FUNCTION>newarr</FUNCTION>
350 <FUNCTION>newobj</FUNCTION>
351
352 <FUNCTION>dup</FUNCTION>
353 <FUNCTION>endfilter</FUNCTION>
354 <FUNCTION>isinst</FUNCTION>
355 <FUNCTION>box</FUNCTION>
356 <FUNCTION>unbox</FUNCTION>
357 <FUNCTION>arglist</FUNCTION>
358 <FUNCTION>break</FUNCTION>
359 <FUNCTION>jmp</FUNCTION>
360 <FUNCTION>ret</FUNCTION>
361 <FUNCTION>leave</FUNCTION>
362 <FUNCTION>leave.s</FUNCTION>
363 <FUNCTION>localloc</FUNCTION>
364 <FUNCTION>mkrefany</FUNCTION>
365 <FUNCTION>neg</FUNCTION>
366 <FUNCTION>switch</FUNCTION>
367 <FUNCTION>nop</FUNCTION>
368 <FUNCTION>pop</FUNCTION>
369 <FUNCTION>refanytype</FUNCTION>
370 <FUNCTION>refanyval</FUNCTION>
371 <FUNCTION>rem</FUNCTION>
372 <FUNCTION>rem.un</FUNCTION>
373 <FUNCTION>throw</FUNCTION>
374 <FUNCTION>rethrow</FUNCTION>
375 <FUNCTION>endfinally</FUNCTION>
376 <FUNCTION>shl</FUNCTION>
377 <FUNCTION>shr</FUNCTION>
378 <FUNCTION>shr.un</FUNCTION>
379 <FUNCTION>sizeof</FUNCTION>
380 <FUNCTION>tailcall</FUNCTION>
381 <FUNCTION>unaligned</FUNCTION>
382 <FUNCTION>volatile</FUNCTION>
383 </KEYWORDS>
384 </RULES>
385</MODE>