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