1 <?xml version="1.0"?>
\r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
\r
5 <!-- Occam mode by Rick Beton. -->
\r
8 <PROPERTY NAME="commentStart" VALUE="--" />
\r
9 <PROPERTY NAME="commentEnd" VALUE="" />
\r
10 <PROPERTY NAME="blockComment" VALUE="" />
\r
11 <PROPERTY NAME="noWordSep" VALUE="." />
\r
14 <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
\r
16 <!-- Normal comments. -->
\r
17 <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>
\r
19 <!-- Compiler directives. -->
\r
20 <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>
\r
22 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
27 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
32 <SEQ TYPE="OPERATOR">:=</SEQ>
\r
33 <SEQ TYPE="OPERATOR">=</SEQ>
\r
34 <SEQ TYPE="OPERATOR">>></SEQ>
\r
35 <SEQ TYPE="OPERATOR"><<</SEQ>
\r
36 <SEQ TYPE="OPERATOR"><></SEQ>
\r
37 <SEQ TYPE="OPERATOR">><</SEQ>
\r
38 <SEQ TYPE="OPERATOR">></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 <SEQ TYPE="OPERATOR">/</SEQ>
\r
45 <SEQ TYPE="OPERATOR">\</SEQ>
\r
46 <SEQ TYPE="OPERATOR">*</SEQ>
\r
47 <SEQ TYPE="OPERATOR">?</SEQ>
\r
48 <SEQ TYPE="OPERATOR">!</SEQ>
\r
49 <SEQ TYPE="OPERATOR">/\</SEQ>
\r
50 <SEQ TYPE="OPERATOR">\/</SEQ>
\r
51 <SEQ TYPE="OPERATOR">~</SEQ>
\r
54 <!-- Structure keywords -->
\r
55 <KEYWORD1>ALT</KEYWORD1>
\r
56 <KEYWORD1>ASM</KEYWORD1>
\r
57 <KEYWORD1>CASE</KEYWORD1>
\r
58 <KEYWORD1>FUNCTION</KEYWORD1>
\r
59 <KEYWORD1>IF</KEYWORD1>
\r
60 <KEYWORD1>INLINE</KEYWORD1>
\r
61 <KEYWORD1>PAR</KEYWORD1>
\r
62 <KEYWORD1>PLACED</KEYWORD1>
\r
63 <KEYWORD1>PRI</KEYWORD1>
\r
64 <KEYWORD1>PROC</KEYWORD1>
\r
65 <KEYWORD1>RESULT</KEYWORD1>
\r
66 <KEYWORD1>SEQ</KEYWORD1>
\r
67 <KEYWORD1>VALOF</KEYWORD1>
\r
68 <KEYWORD1>WHILE</KEYWORD1>
\r
70 <!-- main keywords -->
\r
71 <KEYWORD2>AT</KEYWORD2>
\r
72 <KEYWORD2>ELSE</KEYWORD2>
\r
73 <KEYWORD2>FOR</KEYWORD2>
\r
74 <KEYWORD2>FROM</KEYWORD2>
\r
75 <KEYWORD2>IS</KEYWORD2>
\r
76 <KEYWORD2>PLACE</KEYWORD2>
\r
77 <KEYWORD2>PORT</KEYWORD2>
\r
78 <KEYWORD2>PROTOCOL</KEYWORD2>
\r
79 <KEYWORD2>SKIP</KEYWORD2>
\r
80 <KEYWORD2>STOP</KEYWORD2>
\r
81 <KEYWORD2>VAL</KEYWORD2>
\r
83 <!-- type and conversion keywords -->
\r
84 <KEYWORD2>AFTER</KEYWORD2>
\r
85 <KEYWORD2>AND</KEYWORD2>
\r
86 <KEYWORD2>ANY</KEYWORD2>
\r
87 <KEYWORD2>BITAND</KEYWORD2>
\r
88 <KEYWORD2>BITNOT</KEYWORD2>
\r
89 <KEYWORD2>BITOR</KEYWORD2>
\r
90 <KEYWORD2>BOOL</KEYWORD2>
\r
91 <KEYWORD2>BYTE</KEYWORD2>
\r
92 <KEYWORD2>BYTESIN</KEYWORD2>
\r
93 <KEYWORD2>CHAN</KEYWORD2>
\r
94 <KEYWORD2>DATA</KEYWORD2>
\r
95 <KEYWORD2>INT</KEYWORD2>
\r
96 <KEYWORD2>INT32</KEYWORD2>
\r
97 <KEYWORD2>INT16</KEYWORD2>
\r
98 <KEYWORD2>INT64</KEYWORD2>
\r
99 <KEYWORD2>MINUS</KEYWORD2>
\r
100 <KEYWORD2>MOSTNEG</KEYWORD2>
\r
101 <KEYWORD2>MOSTPOS</KEYWORD2>
\r
102 <KEYWORD2>NOT</KEYWORD2>
\r
103 <KEYWORD2>PLUS</KEYWORD2>
\r
104 <KEYWORD2>OF</KEYWORD2>
\r
105 <KEYWORD2>OFFSETOF</KEYWORD2>
\r
106 <KEYWORD2>OR</KEYWORD2>
\r
107 <KEYWORD2>PACKED</KEYWORD2>
\r
108 <KEYWORD2>REAL32</KEYWORD2>
\r
109 <KEYWORD2>REAL64</KEYWORD2>
\r
110 <KEYWORD2>RECORD</KEYWORD2>
\r
111 <KEYWORD2>REM</KEYWORD2>
\r
112 <KEYWORD2>RESHAPES</KEYWORD2>
\r
113 <KEYWORD2>RETYPES</KEYWORD2>
\r
114 <KEYWORD2>ROUND</KEYWORD2>
\r
115 <KEYWORD2>SIZE</KEYWORD2>
\r
116 <KEYWORD2>TIMER</KEYWORD2>
\r
117 <KEYWORD2>TIMES</KEYWORD2>
\r
118 <KEYWORD2>TRUNC</KEYWORD2>
\r
119 <KEYWORD2>TYPE</KEYWORD2>
\r
121 <!-- Occam3 and extensions to occam2.1 -->
\r
122 <KEYWORD2>BUCKET</KEYWORD2>
\r
123 <KEYWORD2>CLAIM</KEYWORD2>
\r
124 <KEYWORD2>ENROLL</KEYWORD2>
\r
125 <KEYWORD2>EVENT</KEYWORD2>
\r
126 <KEYWORD2>FALL</KEYWORD2>
\r
127 <KEYWORD2>FLUSH</KEYWORD2>
\r
128 <KEYWORD2>GRANT</KEYWORD2>
\r
129 <KEYWORD2>INITIAL</KEYWORD2>
\r
130 <KEYWORD2>RESOURCE</KEYWORD2>
\r
131 <KEYWORD2>SEMAPHORE</KEYWORD2>
\r
132 <KEYWORD2>SHARED</KEYWORD2>
\r
133 <KEYWORD2>SYNC</KEYWORD2>
\r
135 <!-- arithmetic & trigonometric functions -->
\r
136 <KEYWORD3>LONGADD</KEYWORD3>
\r
137 <KEYWORD3>LONGSUB</KEYWORD3>
\r
138 <KEYWORD3>ASHIFTRIGHT</KEYWORD3>
\r
139 <KEYWORD3>ASHIFTLEFT</KEYWORD3>
\r
140 <KEYWORD3>ROTATERIGHT</KEYWORD3>
\r
141 <KEYWORD3>ROTATELEFT</KEYWORD3>
\r
142 <KEYWORD3>LONGSUM</KEYWORD3>
\r
143 <KEYWORD3>LONGDIFF</KEYWORD3>
\r
144 <KEYWORD3>LONGPROD</KEYWORD3>
\r
145 <KEYWORD3>LONGDIV</KEYWORD3>
\r
146 <KEYWORD3>SHIFTLEFT</KEYWORD3>
\r
147 <KEYWORD3>SHIFTRIGHT</KEYWORD3>
\r
148 <KEYWORD3>NORMALISE</KEYWORD3>
\r
149 <KEYWORD3>ABS</KEYWORD3>
\r
150 <KEYWORD3>DABS</KEYWORD3>
\r
151 <KEYWORD3>SCALEB</KEYWORD3>
\r
152 <KEYWORD3>DSCALEB</KEYWORD3>
\r
153 <KEYWORD3>COPYSIGN</KEYWORD3>
\r
154 <KEYWORD3>DCOPYSIGN</KEYWORD3>
\r
155 <KEYWORD3>SQRT</KEYWORD3>
\r
156 <KEYWORD3>DSQRT</KEYWORD3>
\r
157 <KEYWORD3>MINUSX</KEYWORD3>
\r
158 <KEYWORD3>DMINUSX</KEYWORD3>
\r
159 <KEYWORD3>NEXTAFTER</KEYWORD3>
\r
160 <KEYWORD3>DNEXTAFTER</KEYWORD3>
\r
161 <KEYWORD3>MULBY2</KEYWORD3>
\r
162 <KEYWORD3>DMULBY2</KEYWORD3>
\r
163 <KEYWORD3>DIVBY2</KEYWORD3>
\r
164 <KEYWORD3>DDIVBY2</KEYWORD3>
\r
165 <KEYWORD3>LOGB</KEYWORD3>
\r
166 <KEYWORD3>DLOGB</KEYWORD3>
\r
167 <KEYWORD3>ISNAN</KEYWORD3>
\r
168 <KEYWORD3>DISNAN</KEYWORD3>
\r
169 <KEYWORD3>NOTFINITE</KEYWORD3>
\r
170 <KEYWORD3>DNOTFINITE</KEYWORD3>
\r
171 <KEYWORD3>ORDERED</KEYWORD3>
\r
172 <KEYWORD3>DORDERED</KEYWORD3>
\r
173 <KEYWORD3>FLOATING.UNPACK</KEYWORD3>
\r
174 <KEYWORD3>DFLOATING.UNPACK</KEYWORD3>
\r
175 <KEYWORD3>ARGUMENT.REDUCE</KEYWORD3>
\r
176 <KEYWORD3>DARGUMENT.REDUCE</KEYWORD3>
\r
177 <KEYWORD3>FPINT</KEYWORD3>
\r
178 <KEYWORD3>DFPINT</KEYWORD3>
\r
179 <KEYWORD3>REAL32OP</KEYWORD3>
\r
180 <KEYWORD3>REAL64OP</KEYWORD3>
\r
181 <KEYWORD3>IEEE32OP</KEYWORD3>
\r
182 <KEYWORD3>IEEE64OP</KEYWORD3>
\r
183 <KEYWORD3>REAL32REM</KEYWORD3>
\r
184 <KEYWORD3>REAL64REM</KEYWORD3>
\r
185 <KEYWORD3>IEEE32REM</KEYWORD3>
\r
186 <KEYWORD3>IEEE64REM</KEYWORD3>
\r
187 <KEYWORD3>REAL32EQ</KEYWORD3>
\r
188 <KEYWORD3>REAL64EQ</KEYWORD3>
\r
189 <KEYWORD3>REAL32GT</KEYWORD3>
\r
190 <KEYWORD3>REAL64GT</KEYWORD3>
\r
191 <KEYWORD3>IEEECOMPARE</KEYWORD3>
\r
192 <KEYWORD3>DIEEECOMPARE</KEYWORD3>
\r
193 <KEYWORD3>ALOG</KEYWORD3>
\r
194 <KEYWORD3>DALOG</KEYWORD3>
\r
195 <KEYWORD3>ALOG10</KEYWORD3>
\r
196 <KEYWORD3>DALOG10</KEYWORD3>
\r
197 <KEYWORD3>EXP</KEYWORD3>
\r
198 <KEYWORD3>DEXP</KEYWORD3>
\r
199 <KEYWORD3>TAN</KEYWORD3>
\r
200 <KEYWORD3>DTAN</KEYWORD3>
\r
201 <KEYWORD3>SIN</KEYWORD3>
\r
202 <KEYWORD3>DSIN</KEYWORD3>
\r
203 <KEYWORD3>ASIN</KEYWORD3>
\r
204 <KEYWORD3>DASIN</KEYWORD3>
\r
205 <KEYWORD3>COS</KEYWORD3>
\r
206 <KEYWORD3>DCOS</KEYWORD3>
\r
207 <KEYWORD3>SINH</KEYWORD3>
\r
208 <KEYWORD3>DSINH</KEYWORD3>
\r
209 <KEYWORD3>COSH</KEYWORD3>
\r
210 <KEYWORD3>DCOSH</KEYWORD3>
\r
211 <KEYWORD3>TANH</KEYWORD3>
\r
212 <KEYWORD3>DTANH</KEYWORD3>
\r
213 <KEYWORD3>ATAN</KEYWORD3>
\r
214 <KEYWORD3>DATAN</KEYWORD3>
\r
215 <KEYWORD3>ATAN2</KEYWORD3>
\r
216 <KEYWORD3>DATAN2</KEYWORD3>
\r
217 <KEYWORD3>RAN</KEYWORD3>
\r
218 <KEYWORD3>DRAN</KEYWORD3>
\r
219 <KEYWORD3>POWER</KEYWORD3>
\r
220 <KEYWORD3>DPOWER</KEYWORD3>
\r
222 <!-- basic data conversion functions -->
\r
223 <KEYWORD3>INTTOSTRING</KEYWORD3>
\r
224 <KEYWORD3>INT16TOSTRING</KEYWORD3>
\r
225 <KEYWORD3>INT32TOSTRING</KEYWORD3>
\r
226 <KEYWORD3>INT64TOSTRING</KEYWORD3>
\r
227 <KEYWORD3>STRINGTOINT</KEYWORD3>
\r
228 <KEYWORD3>STRINGTOINT16</KEYWORD3>
\r
229 <KEYWORD3>STRINGTOINT32</KEYWORD3>
\r
230 <KEYWORD3>STRINGTOINT64</KEYWORD3>
\r
231 <KEYWORD3>HEXTOSTRING</KEYWORD3>
\r
232 <KEYWORD3>HEX16TOSTRING</KEYWORD3>
\r
233 <KEYWORD3>HEX32TOSTRING</KEYWORD3>
\r
234 <KEYWORD3>HEX64TOSTRING</KEYWORD3>
\r
235 <KEYWORD3>STRINGTOHEX</KEYWORD3>
\r
236 <KEYWORD3>STRINGTOHEX16</KEYWORD3>
\r
237 <KEYWORD3>STRINGTOHEX32</KEYWORD3>
\r
238 <KEYWORD3>STRINGTOHEX64</KEYWORD3>
\r
239 <KEYWORD3>STRINGTOREAL32</KEYWORD3>
\r
240 <KEYWORD3>STRINGTOREAL64</KEYWORD3>
\r
241 <KEYWORD3>REAL32TOSTRING</KEYWORD3>
\r
242 <KEYWORD3>REAL64TOSTRING</KEYWORD3>
\r
243 <KEYWORD3>STRINGTOBOOL</KEYWORD3>
\r
244 <KEYWORD3>BOOLTOSTRING</KEYWORD3>
\r
245 <KEYWORD3>RESCHEDULE</KEYWORD3>
\r
246 <KEYWORD3>ASSERT</KEYWORD3>
\r
248 <!-- preprocessor directives
\r
256 <LITERAL2>FALSE</LITERAL2>
\r
257 <LITERAL2>TRUE</LITERAL2>
\r