]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/occam.xml
4e7265eeed8677814d3ae452f7947d05047491f7
[factor.git] / basis / xmode / modes / occam.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!-- Occam mode by Rick Beton. -->\r
6 <MODE>\r
7         <PROPS>\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
12         </PROPS>\r
13 \r
14         <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
15 \r
16                 <!-- Normal comments. -->\r
17                 <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
18 \r
19                 <!-- Compiler directives. -->\r
20                 <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
21 \r
22                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
23                         <BEGIN>'</BEGIN>\r
24                         <END>'</END>\r
25                 </SPAN>\r
26 \r
27                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
28                         <BEGIN>"</BEGIN>\r
29                         <END>"</END>\r
30                 </SPAN>\r
31 \r
32                 <SEQ TYPE="OPERATOR">:=</SEQ>\r
33                 <SEQ TYPE="OPERATOR">=</SEQ>\r
34                 <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
35                 <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
36                 <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
37                 <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
38                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
39                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
40                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
41                 <SEQ TYPE="OPERATOR">&lt;=</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
52 \r
53                 <KEYWORDS>\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
69                         \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
82 \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
120 \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
134                         \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
221 \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
247 \r
248                         <!-- preprocessor directives\r
249                         #INCLUDE\r
250                         #USE\r
251                         #OPTION\r
252                         #PRAGMA\r
253                         #COMMENT\r
254                         -->\r
255 \r
256                         <LITERAL2>FALSE</LITERAL2>\r
257                         <LITERAL2>TRUE</LITERAL2>\r
258                 </KEYWORDS>\r
259         </RULES>\r
260 </MODE>\r