root/trunk/wenv/jedit/logtalk.xml @ 5055

Revision 5055, 14.8 KB (checked in by pmoura, 15 months ago)

Updated text editor configuration files in order to remove references to the no longer used ".config" file name extension and to support syntax coloring and code completion of the multifile/1 and use_module/1-2 directives.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0"?>
2
3<!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5<!--    jEdit 4.3 Logtalk syntax file
6
7    written by      Paulo Moura
8    version         1.9
9    created on      5 May 2002
10    last revised    1 July 2009
11
12    To install, copy this file to the "modes" subdirectory in jEdit
13    directory installation.   Next, check the "catalog" file in the
14    same subdirectory and add (if not present) the following entry:
15   
16    <MODE NAME="logtalk" FILE="logtalk.xml" FILE_NAME_GLOB="*.{lgt}" />
17-->
18
19<MODE>
20
21    <PROPS>
22        <PROPERTY NAME="lineComment" VALUE="%" />
23        <PROPERTY NAME="commentStart" VALUE="/*" />
24        <PROPERTY NAME="commentEnd" VALUE="*/" />
25        <PROPERTY NAME="tabSize" VALUE="4" />
26        <PROPERTY NAME="indentSize" VALUE="4" />
27        <!-- Auto indent -->
28        <PROPERTY NAME="indentNextLine" VALUE="((^\s*:-\s(object|protocol|category)\(.*,$)|.*\s:-$)" />
29    </PROPS>
30
31    <RULES SET="MAIN" IGNORE_CASE="FALSE">
32   
33        <!-- Comments -->
34        <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>
35        <SPAN TYPE="COMMENT1" NO_LINE_BREAK="FALSE">
36            <BEGIN>/*</BEGIN>
37            <END>*/</END>
38        </SPAN>
39
40        <!-- Entity directives -->
41        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\s(category|object|protocol)(?=[(])</SEQ_REGEXP>
42        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\send_(category|object|protocol)(?=[.])</SEQ_REGEXP>
43        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\smodule(?=[(])</SEQ_REGEXP>
44        <!-- Predicate scope directives -->
45        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\sp(ublic|r(otected|ivate))(?=[(])</SEQ_REGEXP>
46        <!-- Conditional compilation directives -->
47        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\s(el)?if(?=[(])</SEQ_REGEXP>
48        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\se(lse|ndif)(?=[.])</SEQ_REGEXP>
49        <!-- Other directives -->
50        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\se(n(coding|sure_loaded)|xport)(?=[(])</SEQ_REGEXP>
51        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\sin(fo|itialization)(?=[(])</SEQ_REGEXP>
52        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\s(dynamic|synchronized|threaded)(?=[.])</SEQ_REGEXP>
53        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\s(alias|d(ynamic|iscontiguous)|m(eta_predicate|ode|ultifile)|s(et_(logtalk|prolog)_flag|ynchronized))(?=[(])</SEQ_REGEXP>
54        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\sop(?=[(])</SEQ_REGEXP>
55        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">^\s*:-\s(calls|use(s|_module))(?=[(])</SEQ_REGEXP>
56        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1">(complements|extends|i(nstantiates|mp(lements|orts))|specializes)(?=[(])</SEQ_REGEXP>
57
58        <!-- Event handlers -->
59        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(after|before)(?=[(])</SEQ_REGEXP>
60        <!-- Method execution context -->
61        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(parameter|this|se(lf|nder))(?=[(])</SEQ_REGEXP>
62        <!-- Reflection -->
63        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current_predicate|predicate_property)(?=[(])</SEQ_REGEXP>
64        <!-- DCGs -->
65        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(expand_(goal|term)|(goal|term)_expansion|phrase)(?=[(])</SEQ_REGEXP>
66        <!-- Entity -->
67        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(abolish|c(reate|urrent))_(object|protocol|category)(?=[(])</SEQ_REGEXP>
68        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(object|protocol|category)_property(?=[(])</SEQ_REGEXP>
69        <!-- Entity relations -->
70        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bcomplements_object(?=[(])</SEQ_REGEXP>
71        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bextends_(object|protocol|category)(?=[(])</SEQ_REGEXP>
72        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bimp(lements_protocol|orts_category)(?=[(])</SEQ_REGEXP>
73        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(instantiat|specializ)es_class(?=[(])</SEQ_REGEXP>
74        <!-- Events -->
75        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current_event|(abolish|define)_events)(?=[(])</SEQ_REGEXP>
76        <!-- Flags -->
77        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current|set)_logtalk_flag(?=[(])</SEQ_REGEXP>
78        <!-- Compiling, loading, and library paths -->
79        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\blogtalk_(compile|l(ibrary_path|oad))(?=[(])</SEQ_REGEXP>
80        <!-- Database -->
81        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(clause|retract(all)?)(?=[(])</SEQ_REGEXP>
82        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\ba(bolish|ssert(a|z))(?=[(])</SEQ_REGEXP>
83        <!-- Control -->
84        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(ca(ll|tch)|throw)(?=[(])</SEQ_REGEXP>
85        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(fail|true)\b</SEQ_REGEXP>
86        <!-- All solutions -->
87        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b((bag|set)of|f(ind|or)all)(?=[(])</SEQ_REGEXP>
88        <!-- Multi-threading meta-predicates -->
89        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bthreaded(_(call|once|ignore|exit|peek|wait|notify))?(?=[(])</SEQ_REGEXP>
90        <!-- Term unification -->
91        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bunify_with_occurs_check(?=[(])</SEQ_REGEXP>
92        <!-- Term creation and decomposition -->
93        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(functor|arg|copy_term)(?=[(])</SEQ_REGEXP>
94        <!-- Evaluable functors -->
95        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(rem|mod|abs|sign)(?=[(])</SEQ_REGEXP>
96        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bfloat(_(integer|fractional)_part)?(?=[(])</SEQ_REGEXP>
97        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(floor|truncate|round|ceiling)(?=[(])</SEQ_REGEXP>
98        <!-- Other arithmetic functors -->
99        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(cos|atan|exp|log|s(in|qrt))(?=[(])</SEQ_REGEXP>
100        <!-- Term testing -->
101        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(var|atom(ic)?|integer|float|compound|n(onvar|umber))(?=[(])</SEQ_REGEXP>
102        <!-- Stream selection and control -->
103        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current|set)_(in|out)put(?=[(])</SEQ_REGEXP>
104        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(open|close)(?=[(])</SEQ_REGEXP>
105        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bflush_output(?=[(])</SEQ_REGEXP>
106        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(flush_output|at_end_of_stream)\b</SEQ_REGEXP>
107        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(stream_property|at_end_of_stream|set_stream_position)(?=[(])</SEQ_REGEXP>
108        <!-- Character and byte input/output -->
109        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(nl|(get|peek|put)_(byte|c(har|ode)))(?=[(])</SEQ_REGEXP>
110        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bnl\b</SEQ_REGEXP>
111        <!-- Term input/output -->
112        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bread(_term)?(?=[(])</SEQ_REGEXP>
113        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bwrite(q|_(canonical|term))?(?=[(])</SEQ_REGEXP>
114        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current_)?op(?=[(])</SEQ_REGEXP>
115        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(current_)?char_conversion(?=[(])</SEQ_REGEXP>
116        <!-- Atomic term processing -->
117        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\batom_(length|c(hars|o(ncat|des)))(?=[(])</SEQ_REGEXP>
118        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(char_code|sub_atom)(?=[(])</SEQ_REGEXP>
119        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bnumber_c(hars|odes)(?=[(])</SEQ_REGEXP>
120        <!-- Implementation defined hooks functions -->
121        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\b(set|current)_prolog_flag(?=[(])</SEQ_REGEXP>
122        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bhalt\b</SEQ_REGEXP>
123        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bhalt(?=[(])</SEQ_REGEXP>
124        <!-- Logic and control -->
125        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\bonce(?=[(])</SEQ_REGEXP>
126        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2">\brepeat\b</SEQ_REGEXP>
127
128        <!-- Variables -->
129        <SEQ_REGEXP HASH_CHARS="_ABCDEFGHIJKLMNOPQRSTUVWXYZ" AT_WORD_START="TRUE" TYPE="MARKUP">[_A-Z]+[a-zA-Z0-9]*</SEQ_REGEXP>
130
131        <!-- String literals -->
132        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
133            <BEGIN>'</BEGIN>
134            <END>'</END>
135        </SPAN>
136        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
137            <BEGIN>"</BEGIN>
138            <END>"</END>
139        </SPAN>
140
141        <!-- External call -->
142        <SPAN TYPE="OPERATOR" DELEGATE="MAIN">
143            <BEGIN>{</BEGIN>
144            <END>}</END>
145        </SPAN>
146
147        <!-- Character code constants -->
148        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="0" TYPE="DIGIT">0'.</SEQ_REGEXP>
149        <!-- Binary, octal, and hexadecimal numbers -->
150        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="0" TYPE="DIGIT">0b[0-1]+</SEQ_REGEXP>
151        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="0" TYPE="DIGIT">0o[0-7]+</SEQ_REGEXP>
152        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR="0" TYPE="DIGIT">0x\p{XDigit}+</SEQ_REGEXP>
153        <!-- Numbers -->
154        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="DIGIT">\d+(\.\d+)?([eE]([-+])?\d+)?</SEQ_REGEXP>
155
156        <!-- Logtalk message sending operators -->
157        <SEQ TYPE="OPERATOR">::</SEQ>
158        <SEQ TYPE="OPERATOR">^^</SEQ>
159
160        <!-- Other Logtalk control construct operators -->
161        <SEQ_REGEXP TYPE="OPERATOR">:(?![:-])</SEQ_REGEXP>
162
163        <!-- Control constructs -->
164        <SEQ TYPE="OPERATOR">!</SEQ>
165        <SEQ TYPE="OPERATOR">,</SEQ>
166        <SEQ TYPE="OPERATOR">;</SEQ>
167        <SEQ TYPE="OPERATOR">--&gt;</SEQ>
168        <SEQ TYPE="OPERATOR">-&gt;</SEQ>
169
170        <!-- Term unification -->
171        <SEQ TYPE="OPERATOR">=</SEQ>
172        <SEQ TYPE="OPERATOR">\=</SEQ>
173
174        <!-- Term comparison -->
175        <SEQ TYPE="OPERATOR">@=&lt;</SEQ>
176        <SEQ TYPE="OPERATOR">==</SEQ>
177        <SEQ TYPE="OPERATOR">\==</SEQ>
178        <SEQ TYPE="OPERATOR">@&lt;</SEQ>
179        <SEQ TYPE="OPERATOR">@&gt;</SEQ>
180        <SEQ TYPE="OPERATOR">@&gt;=</SEQ>
181
182        <!-- Term creation and decomposition -->
183        <SEQ TYPE="OPERATOR">=..</SEQ>
184
185        <!-- Arithemtic evaluation -->
186        <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="OPERATOR">\bis\b</SEQ_REGEXP>
187
188        <!-- Arithemtic comparison -->
189        <SEQ TYPE="OPERATOR">=:=</SEQ>
190        <SEQ TYPE="OPERATOR">=\=</SEQ>
191        <SEQ TYPE="OPERATOR">&lt;</SEQ>
192        <SEQ TYPE="OPERATOR">=&lt;</SEQ>
193        <SEQ TYPE="OPERATOR">&gt;</SEQ>
194        <SEQ TYPE="OPERATOR">&gt;=</SEQ>
195
196        <!-- Logic and control -->
197        <SEQ TYPE="OPERATOR">\+</SEQ>
198
199        <!-- Evaluable functors -->
200        <SEQ TYPE="OPERATOR">+</SEQ>
201        <SEQ TYPE="OPERATOR">-</SEQ>
202        <SEQ TYPE="OPERATOR">*</SEQ>
203        <SEQ TYPE="OPERATOR">//</SEQ>
204        <SEQ TYPE="OPERATOR">/</SEQ>
205
206        <!-- Other arithemtic functors -->
207        <SEQ TYPE="OPERATOR">**</SEQ>
208
209        <!-- Bitwise functors -->
210        <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>
211        <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>
212        <SEQ TYPE="OPERATOR">/\</SEQ>
213        <SEQ TYPE="OPERATOR">\/</SEQ>
214        <SEQ TYPE="OPERATOR">\</SEQ>
215
216        <!-- Clause operators -->
217        <SEQ TYPE="OPERATOR">.</SEQ>
218        <SEQ_REGEXP TYPE="OPERATOR">\s:-($|\s)</SEQ_REGEXP>
219
220        <!-- Mode operators -->
221        <SEQ TYPE="OPERATOR">+</SEQ>   
222        <SEQ TYPE="OPERATOR">-</SEQ>
223        <SEQ TYPE="OPERATOR">?</SEQ>
224        <SEQ TYPE="OPERATOR">@</SEQ>
225
226        <KEYWORDS AT_WORD_START="TRUE"> <!-- just for code completion to work! -->
227
228            <NULL>abolish</NULL>
229            <NULL>abolish_category</NULL>
230            <NULL>abolish_events</NULL>
231            <NULL>abolish_object</NULL>
232            <NULL>abolish_protocol</NULL>
233            <NULL>after</NULL>
234            <NULL>alias</NULL>
235            <NULL>arg</NULL>
236            <NULL>asserta</NULL>
237            <NULL>assertz</NULL>
238            <NULL>atom</NULL>
239            <NULL>atomic</NULL>
240            <NULL>atom_chars</NULL>
241            <NULL>atom_codes</NULL>
242            <NULL>atom_concat</NULL>
243            <NULL>atom_length</NULL>
244            <NULL>at_end_of_stream</NULL>
245            <NULL>bagof</NULL>
246            <NULL>before</NULL>
247            <NULL>call</NULL>
248            <NULL>calls</NULL>
249            <NULL>catch</NULL>
250            <NULL>category</NULL>
251            <NULL>category_property</NULL>
252            <NULL>char_code</NULL>
253            <NULL>char_conversion</NULL>
254            <NULL>clause</NULL>
255            <NULL>close</NULL>
256            <NULL>complements</NULL>
257            <NULL>complements_object</NULL>
258            <NULL>compound</NULL>
259            <NULL>copy_term</NULL>
260            <NULL>create_category</NULL>
261            <NULL>create_object</NULL>
262            <NULL>create_protocol</NULL>
263            <NULL>current_category</NULL>
264            <NULL>current_char_conversion</NULL>
265            <NULL>current_event</NULL>
266            <NULL>current_input</NULL>
267            <NULL>current_logtalk_flag</NULL>
268            <NULL>current_object</NULL>
269            <NULL>current_op</NULL>
270            <NULL>current_output</NULL>
271            <NULL>current_predicate</NULL>
272            <NULL>current_prolog_flag</NULL>
273            <NULL>current_protocol</NULL>
274            <NULL>define_events</NULL>
275            <NULL>discontiguous</NULL>
276            <NULL>dynamic</NULL>
277            <NULL>encoding</NULL>
278            <NULL>end_category</NULL>
279            <NULL>end_object</NULL>
280            <NULL>end_protocol</NULL>
281            <NULL>expand_term</NULL>
282            <NULL>extends</NULL>
283            <NULL>extends_object</NULL>
284            <NULL>extends_protocol</NULL>
285            <NULL>extends_category</NULL>
286            <NULL>fail</NULL>
287            <NULL>findall</NULL>
288            <NULL>float</NULL>
289            <NULL>flush_output</NULL>
290            <NULL>forall</NULL>
291            <NULL>functor</NULL>
292            <NULL>get_byte</NULL>
293            <NULL>get_char</NULL>
294            <NULL>get_code</NULL>
295            <NULL>halt</NULL>
296            <NULL>implements</NULL>
297            <NULL>implements_protocol</NULL>
298            <NULL>imports</NULL>
299            <NULL>imports_category</NULL>
300            <NULL>info</NULL>
301            <NULL>initialization</NULL>
302            <NULL>instantiates</NULL>
303            <NULL>instantiates_class</NULL>
304            <NULL>integer</NULL>
305            <NULL>logtalk_compile</NULL>
306            <NULL>logtalk_library_path</NULL>
307            <NULL>logtalk_load</NULL>
308            <NULL>meta_predicate</NULL>
309            <NULL>mode</NULL>
310            <NULL>nl</NULL>
311            <NULL>nonvar</NULL>
312            <NULL>number</NULL>
313            <NULL>number_chars</NULL>
314            <NULL>number_codes</NULL>
315            <NULL>object</NULL>
316            <NULL>object_property</NULL>
317            <NULL>once</NULL>
318            <NULL>op</NULL>
319            <NULL>open</NULL>
320            <NULL>parameter</NULL>
321            <NULL>peek_byte</NULL>
322            <NULL>peek_char</NULL>
323            <NULL>peek_code</NULL>
324            <NULL>phrase</NULL>
325            <NULL>predicate_property</NULL>
326            <NULL>private</NULL>
327            <NULL>protected</NULL>
328            <NULL>protocol</NULL>
329            <NULL>protocol_property</NULL>
330            <NULL>public</NULL>
331            <NULL>put_byte</NULL>
332            <NULL>put_char</NULL>
333            <NULL>put_code</NULL>
334            <NULL>read</NULL>
335            <NULL>read_term</NULL>
336            <NULL>repeat</NULL>
337            <NULL>retract</NULL>
338            <NULL>retractall</NULL>
339            <NULL>self</NULL>
340            <NULL>sender</NULL>
341            <NULL>setof</NULL>
342            <NULL>set_input</NULL>
343            <NULL>set_logtalk_flag</NULL>
344            <NULL>set_output</NULL>
345            <NULL>set_prolog_flag</NULL>
346            <NULL>set_stream_position</NULL>
347            <NULL>specializes</NULL>
348            <NULL>specializes_class</NULL>
349            <NULL>stream_property</NULL>
350            <NULL>sub_atom</NULL>
351            <NULL>synchronized</NULL>
352            <NULL>goal_expansion</NULL>
353            <NULL>term_expansion</NULL>
354            <NULL>this</NULL>
355            <NULL>threaded</NULL>
356            <NULL>threaded_call</NULL>
357            <NULL>threaded_once</NULL>
358            <NULL>threaded_ignore</NULL>
359            <NULL>threaded_exit</NULL>
360            <NULL>threaded_peek</NULL>
361            <NULL>threaded_wait</NULL>
362            <NULL>threaded_notify</NULL>
363            <NULL>throw</NULL>
364            <NULL>true</NULL>
365            <NULL>unify_with_occurs_check</NULL>
366            <NULL>uses</NULL>
367            <NULL>var</NULL>
368            <NULL>write</NULL>
369            <NULL>writeq</NULL>
370            <NULL>write_canonical</NULL>
371            <NULL>abs</NULL>
372            <NULL>atan</NULL>
373            <NULL>ceiling</NULL>
374            <NULL>cos</NULL>
375            <NULL>exp</NULL>
376            <NULL>float_fractional_part</NULL>
377            <NULL>float_integer_part</NULL>
378            <NULL>floor</NULL>
379            <NULL>log</NULL>
380            <NULL>mod</NULL>
381            <NULL>rem</NULL>
382            <NULL>round</NULL>
383            <NULL>sign</NULL>
384            <NULL>sin</NULL>
385            <NULL>sqrt</NULL>
386            <NULL>truncate</NULL>
387
388        </KEYWORDS>
389       
390    </RULES>
391
392</MODE>
Note: See TracBrowser for help on using the browser.