]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/sas.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / sas.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!--
6       SAS edit mode by Bill McMilleon (bill@mcmilleon.com) March 19, 2003
7       updated by Ian Helgesen 2007-10-02
8       updated by goebbe 2009-05-19
9       updated by goebbe 2010-06-15
10
11       Suggested catalog file entry:
12       <MODE NAME="SAS"          FILE="sas.xml" FILE_NAME_GLOB="*.{sas}" />
13 -->
14
15 <MODE>
16 <PROPS>
17     <PROPERTY NAME="indentNextLines" VALUE="(.*%?do.*;|\s*proc
18 .*;|\s*data .*;|\s*%macro\s?.*;|define event \S+\s*;)"/>
19
20     <PROPERTY NAME="unindentThisLine" VALUE="^\s*(else.*|end\s*|elsif.*|rescue.*|when.*)$"/>
21     <PROPERTY NAME="unindentNextLines" VALUE="^\s*(end\s*|else.*|rescue.*|elsif.*|when.*)$"/>
22
23     <PROPERTY NAME="commentStart" VALUE="/*" />
24     <PROPERTY NAME="commentEnd" VALUE="*/" />
25     <PROPERTY NAME="lineComment" VALUE="*" />
26 </PROPS>
27
28     <RULES IGNORE_CASE="TRUE" NO_WORD_SEP="_" HIGHLIGHT_DIGITS="TRUE">
29
30 <!-- In fixed form, column 72 is the last column parsed, unless the
31 \extend_source option is invoked -->
32     <!-- TERMINATE AT_CHAR="72" / -->
33
34 <!-- type2-range comment in the case when there is nothing OR nothing but space between the last ; and the *   -->
35 <!-- Currently the ending ; of a comment cannot be used in regexp inside Jedit -->
36 <!-- therefore several type2-range comments in a row requires regexp for each case -->
37
38 <!-- Currently only two type2-range-comments in row (per line) are implemented  -->
39 <!-- The rational behind the solution is the following: Define the "complete type2-comment block -->
40 <!-- AND the start of the second typ2-comment block" as the start of the type2-range comment  -->
41
42 <!-- case0: two COMMENT2 range comments in a row at the start of a line: -->
43 <SPAN_REGEXP TYPE="COMMENT2" HASH_CHAR="*" AT_WHITESPACE_END="TRUE">
44     <BEGIN>[*][^;]*[;][\s]*[*]</BEGIN>
45     <END>;</END>
46 </SPAN_REGEXP>
47
48 <!-- case1: two comments in a row /*comment*/ *comment; - at the start of a line, : -->
49 <SPAN_REGEXP TYPE="COMMENT2" HASH_CHAR="/*" AT_WHITESPACE_END="TRUE">
50     <BEGIN>([/][*][*][/][\s]*[*])|([/][*](.)*[*][/][\s]*[*])</BEGIN>
51     <END>;</END>
52 </SPAN_REGEXP>
53
54 <!-- case2: one COMMENT2 at the start of a line: -->
55 <SPAN_REGEXP TYPE="COMMENT2" HASH_CHAR="*" AT_WHITESPACE_END="TRUE">
56     <BEGIN>[*]</BEGIN>
57     <END>;</END>
58 </SPAN_REGEXP>
59
60 <!-- case3: two COMMENT2 range comments in a row -  after SAS-code:-->
61 <SPAN_REGEXP TYPE="COMMENT2"  HASH_CHAR=";">
62     <BEGIN>[;][\s]*[*][^;]*[;][\s]*[*]</BEGIN>
63     <END>;</END>
64 </SPAN_REGEXP>
65
66 <!-- case4: two comments in a row /*comment*/ *comment; - after SAS-code:-->
67 <SPAN_REGEXP TYPE="COMMENT2" HASH_CHAR=";">
68     <BEGIN>[;][\s]*[/][*](.)*[*][/][\s]*[*]</BEGIN>
69     <END>;</END>
70 </SPAN_REGEXP>
71
72 <!-- case5: one COMMENT2 range comment after SAS-code: -->
73 <SPAN_REGEXP TYPE="COMMENT2" HASH_CHAR=";">
74     <BEGIN>[;][\s]*[*]</BEGIN>
75     <END>;</END>
76 </SPAN_REGEXP>
77
78 <!-- range-comment "macro"-type -->
79 <SPAN TYPE="COMMENT2">
80     <BEGIN>%*</BEGIN>
81     <END>;</END>
82 </SPAN>
83
84 <!-- C style comment -->
85 <SPAN TYPE="COMMENT1">
86         <BEGIN>/*</BEGIN>
87         <END>*/</END>
88 </SPAN>
89
90 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
91     <BEGIN>'</BEGIN>
92     <END>'</END>
93 </SPAN>
94
95 <SPAN TYPE="LITERAL2" NO_LINE_BREAK="FALSE">
96     <BEGIN>"</BEGIN>
97     <END>"</END>
98 </SPAN>
99
100 <!-- PROCS                 -->
101 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC ANOVA</SEQ>
102 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC APPEND</SEQ>
103 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC BOXPLOT</SEQ>
104 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC CONTENTS</SEQ>
105 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC DATASETS</SEQ>
106 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC DELETE</SEQ>
107 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC FORMAT</SEQ>
108 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC FREQ</SEQ>
109 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC IMPORT</SEQ>
110 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC MEANS</SEQ>
111 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC PRINTTO</SEQ>
112 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC PRINT</SEQ>
113 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC REPORT</SEQ>
114 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC SORT</SEQ>
115 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC SQL</SEQ>
116 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC UNIVARIATE</SEQ>
117
118 <SEQ TYPE="KEYWORD1" AT_WHITESPACE_END="TRUE">DATA </SEQ>
119 <SEQ TYPE="FUNCTION" AT_WORD_START="TRUE">%INCLUDE</SEQ>
120
121 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">PROC</SEQ>
122 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">RUN;</SEQ>
123 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">QUIT;</SEQ>
124
125 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">%macro</SEQ>
126 <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">%mend</SEQ>
127
128 <!--<SEQ_REGEXP TYPE="FUNCTION" AT_WORD_START="TRUE">\s*%\S+\s?\(</SEQ_REGEXP>-->
129 <!--<SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="%">\%\s*\(</SEQ_REGEXP>-->
130
131 <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="%" AT_WHITESPACE_END="TRUE">%\S+\s*\(</SEQ_REGEXP>
132 <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&amp;">(&amp;*\w+)+(\.+|,|;|\s|$|\}|\))</SEQ_REGEXP>
133 <!--<SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&amp;" AT_LINE_START="TRUE">&amp;\S+(\.|;|\s)</SEQ_REGEXP>-->
134
135 <!--"data"+"=" can also be a keyword that is applied inside a proc or a data step:-->
136 <SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="DATA">(DATA)[\s]*[=]</SEQ_REGEXP>
137
138 <!--<SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS CSV</SEQ>
139 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS CSV CLOSE</SEQ>
140 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS HTML</SEQ>
141 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS HTML CLOSE</SEQ>
142 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS LISTING</SEQ>
143 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS LISTING OFF</SEQ>
144 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS PDF</SEQ>
145 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS PDF CLOSE</SEQ>
146 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS RTF</SEQ>
147 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS RTF CLOSE</SEQ>
148 <SEQ TYPE="MARKUP" AT_WORD_START="TRUE">ODS</SEQ>-->
149
150     <!-- Highlighted Operators -->
151     <SEQ TYPE="OPERATOR">=</SEQ>
152     <SEQ TYPE="OPERATOR">&lt;</SEQ>
153     <SEQ TYPE="OPERATOR">&gt;</SEQ>
154     <!--<SEQ TYPE="OPERATOR">_</SEQ>  -->
155     <SEQ TYPE="OPERATOR">|</SEQ>
156     <SEQ TYPE="OPERATOR">~</SEQ>
157     <SEQ TYPE="OPERATOR">^</SEQ>
158     <SEQ TYPE="OPERATOR">@</SEQ>
159     <SEQ TYPE="OPERATOR">?</SEQ>
160     <SEQ TYPE="OPERATOR">/</SEQ>
161     <SEQ TYPE="OPERATOR">.</SEQ>
162     <SEQ TYPE="OPERATOR">-</SEQ>
163     <SEQ TYPE="OPERATOR">+</SEQ>
164     <SEQ TYPE="OPERATOR">*</SEQ>
165     <SEQ TYPE="OPERATOR">!</SEQ>
166
167     <KEYWORDS>
168       <KEYWORD2>$ASCII</KEYWORD2>
169       <KEYWORD2>$BINARY</KEYWORD2>
170       <KEYWORD2>$CB</KEYWORD2>
171       <KEYWORD2>$CHAR</KEYWORD2>
172       <KEYWORD2>$CHARZB</KEYWORD2>
173       <KEYWORD2>$EBCDIC</KEYWORD2>
174       <KEYWORD2>$HEX</KEYWORD2>
175       <KEYWORD2>$OCTAL</KEYWORD2>
176       <KEYWORD2>$VARYING</KEYWORD2>
177
178       <KEYWORD3>%ABORT</KEYWORD3>
179       <KEYWORD3>%BQUOTE</KEYWORD3>
180       <KEYWORD3>%DO</KEYWORD3>
181       <KEYWORD3>%ELSE</KEYWORD3>
182       <KEYWORD3>%END</KEYWORD3>
183       <KEYWORD3>%EVAL</KEYWORD3>
184       <KEYWORD3>%Global</KEYWORD3>
185       <KEYWORD3>%GOTO</KEYWORD3>
186       <KEYWORD3>%IF</KEYWORD3>
187       <KEYWORD3>%INC</KEYWORD3>
188       <KEYWORD3>%INCLUDE</KEYWORD3>
189       <KEYWORD3>%INDEX</KEYWORD3>
190       <KEYWORD3>%INPUT</KEYWORD3>
191       <KEYWORD3>%LENGTH</KEYWORD3>
192       <KEYWORD3>%LET</KEYWORD3>
193       <KEYWORD3>%LOCAL</KEYWORD3>
194       <KEYWORD3>%LOWCASE</KEYWORD3>
195       <KEYWORD3>%MACRO</KEYWORD3>
196       <KEYWORD3>%MEND</KEYWORD3>
197       <KEYWORD3>%NRBQUOTE</KEYWORD3>
198       <KEYWORD3>%NRQUOTE</KEYWORD3>
199       <KEYWORD3>%NRSTR</KEYWORD3>
200       <KEYWORD3>%PUT</KEYWORD3>
201       <KEYWORD3>%QSCAN</KEYWORD3>
202       <KEYWORD3>%QSUBSTR</KEYWORD3>
203       <KEYWORD3>%Quote</KEYWORD3>
204       <KEYWORD3>%RUN</KEYWORD3>
205       <KEYWORD3>%SCAN</KEYWORD3>
206       <KEYWORD3>%STR</KEYWORD3>
207       <KEYWORD3>%SUBSTR</KEYWORD3>
208       <KEYWORD3>%SYMDEL</KEYWORD3>
209       <KEYWORD3>%SYSEXEC</KEYWORD3>
210       <KEYWORD3>%SYSFUNC</KEYWORD3>
211       <KEYWORD3>%THEN</KEYWORD3>
212       <KEYWORD3>%TO</KEYWORD3>
213       <KEYWORD3>%UNTIL</KEYWORD3>
214       <KEYWORD3>%WHILE</KEYWORD3>
215       <KEYWORD3>%WINDOW</KEYWORD3>
216       <KEYWORD3>%UPCASE</KEYWORD3>
217
218       <KEYWORD2>_ALL_</KEYWORD2>
219       <KEYWORD2>_CHARACTER_</KEYWORD2>
220       <KEYWORD2>_CMD_</KEYWORD2>
221       <KEYWORD2>_ERROR_</KEYWORD2>
222       <KEYWORD2>_I_</KEYWORD2>
223       <KEYWORD2>_INFILE_</KEYWORD2>
224       <KEYWORD2>_LAST_</KEYWORD2>
225       <KEYWORD2>_MSG_</KEYWORD2>
226       <KEYWORD2>_N_</KEYWORD2>
227       <KEYWORD2>_NULL_</KEYWORD2>
228       <KEYWORD2>_NUMERIC_</KEYWORD2>
229       <KEYWORD2>_TEMPORARY_</KEYWORD2>
230       <KEYWORD2>_TYPE_</KEYWORD2>
231       <KEYWORD2>=DATA</KEYWORD2>
232       <KEYWORD2>ABORT</KEYWORD2>
233       <KEYWORD2>ADD</KEYWORD2>
234       <KEYWORD2>ADJRSQ</KEYWORD2>
235       <KEYWORD2>AND</KEYWORD2>
236       <KEYWORD2>ARRAY</KEYWORD2>
237       <KEYWORD2>ATTRIB</KEYWORD2>
238       <KEYWORD2>BACKWARD</KEYWORD2>
239       <KEYWORD2>BINARY</KEYWORD2>
240       <KEYWORD2>BLOCKSIZE</KEYWORD2>
241       <KEYWORD2>BY</KEYWORD2>
242       <KEYWORD2>BZ</KEYWORD2>
243       <KEYWORD2>CALL</KEYWORD2>
244       <KEYWORD2>CARDS</KEYWORD2>
245       <KEYWORD2>CARDS4</KEYWORD2>
246       <KEYWORD2>CHAR</KEYWORD2>
247       <KEYWORD2>CLASS</KEYWORD2>
248       <KEYWORD2>COL</KEYWORD2>
249       <KEYWORD2>COLLIN</KEYWORD2>
250       <KEYWORD2>COLUMN</KEYWORD2>
251       <KEYWORD2>COMMA</KEYWORD2>
252       <KEYWORD2>COMMAX</KEYWORD2>
253       <KEYWORD2>CREATE</KEYWORD2>
254       <KEYWORD2>DATA</KEYWORD2>
255       <KEYWORD2>DATA=</KEYWORD2>
256       <KEYWORD2>DATE</KEYWORD2>
257       <KEYWORD2>DATAFILE</KEYWORD2>
258       <KEYWORD2>DATETIME</KEYWORD2>
259       <KEYWORD2>DDMMYY</KEYWORD2>
260       <KEYWORD2>DECENDING</KEYWORD2>
261       <KEYWORD2>DEFINE</KEYWORD2>
262       <KEYWORD2>DELETE</KEYWORD2>
263       <KEYWORD2>DELIMITER</KEYWORD2>
264       <KEYWORD2>DISPLAY</KEYWORD2>
265       <KEYWORD2>DLM</KEYWORD2>
266       <KEYWORD2>DO</KEYWORD2>
267       <KEYWORD2>DROP</KEYWORD2>
268       <KEYWORD2>ELSE</KEYWORD2>
269       <KEYWORD2>END</KEYWORD2>
270       <KEYWORD2>ENDSAS</KEYWORD2>
271       <KEYWORD2>EOF</KEYWORD2>
272       <KEYWORD2>EOV</KEYWORD2>
273       <KEYWORD2>EQ</KEYWORD2>
274       <KEYWORD2>ERRORS</KEYWORD2>
275       <KEYWORD2>FILE</KEYWORD2>
276       <KEYWORD2>FILENAME</KEYWORD2>
277       <KEYWORD2>FILEVAR</KEYWORD2>
278       <KEYWORD2>FIRST.</KEYWORD2>
279       <KEYWORD2>FIRSTOBS</KEYWORD2>
280       <KEYWORD2>FOOTNOTE</KEYWORD2>
281       <KEYWORD2>FOOTNOTE1</KEYWORD2>
282       <KEYWORD2>FOOTNOTE2</KEYWORD2>
283       <KEYWORD2>FOOTNOTE3</KEYWORD2>
284       <KEYWORD2>FORM</KEYWORD2>
285       <KEYWORD2>FORMAT</KEYWORD2>
286       <KEYWORD2>FORMCHAR</KEYWORD2>
287       <KEYWORD2>FORMDELIM</KEYWORD2>
288       <KEYWORD2>FORMDLIM</KEYWORD2>
289       <KEYWORD2>FORWARD</KEYWORD2>
290       <KEYWORD2>FROM</KEYWORD2>
291       <KEYWORD2>GO</KEYWORD2>
292       <KEYWORD2>GROUP</KEYWORD2>
293       <KEYWORD2>GT</KEYWORD2>
294       <KEYWORD2>HBAR</KEYWORD2>
295       <KEYWORD2>HEX</KEYWORD2>
296       <KEYWORD2>HPCT</KEYWORD2>
297       <KEYWORD2>HVAR</KEYWORD2>
298       <KEYWORD2>IB</KEYWORD2>
299       <KEYWORD2>ID</KEYWORD2>
300       <KEYWORD2>IEEE</KEYWORD2>
301       <KEYWORD2>IF</KEYWORD2>
302       <KEYWORD2>IN</KEYWORD2>
303       <KEYWORD2>INFILE</KEYWORD2>
304       <KEYWORD2>INFORMAT</KEYWORD2>
305       <KEYWORD2>INTO</KEYWORD2>
306       <KEYWORD2>INPUT</KEYWORD2>
307       <KEYWORD2>INR</KEYWORD2>
308       <KEYWORD2>INVALUE</KEYWORD2>
309       <KEYWORD2>JOIN</KEYWORD2>
310       <KEYWORD2>JULIAN</KEYWORD2>
311       <KEYWORD2>KEEP</KEYWORD2>
312       <KEYWORD2>LABEL</KEYWORD2>
313       <KEYWORD2>LAG</KEYWORD2>
314       <KEYWORD2>LAST.</KEYWORD2>
315       <KEYWORD2>LEFT</KEYWORD2>
316       <KEYWORD2>LENGTH</KEYWORD2>
317       <KEYWORD2>LIB</KEYWORD2>
318       <KEYWORD2>LIBNAME</KEYWORD2>
319       <KEYWORD2>LINE</KEYWORD2>
320       <KEYWORD2>LINESIZE</KEYWORD2>
321       <KEYWORD2>LINK</KEYWORD2>
322       <KEYWORD2>LIST</KEYWORD2>
323       <KEYWORD2>LOSTCARD</KEYWORD2>
324       <KEYWORD2>LRECL</KEYWORD2>
325       <KEYWORD2>LS</KEYWORD2>
326       <KEYWORD2>MACRO</KEYWORD2>
327       <KEYWORD2>MACROGEN</KEYWORD2>
328       <KEYWORD2>MAXDEC</KEYWORD2>
329       <KEYWORD2>MAXR</KEYWORD2>
330       <KEYWORD2>MEDIAN</KEYWORD2>
331       <KEYWORD2>MEMTYPE</KEYWORD2>
332       <KEYWORD2>MERGE</KEYWORD2>
333       <KEYWORD2>MERROR</KEYWORD2>
334       <KEYWORD2>MISSOVE</KEYWORD2>
335       <KEYWORD2>MLOGIC</KEYWORD2>
336       <KEYWORD2>MMDDYY</KEYWORD2>
337       <KEYWORD2>MODE</KEYWORD2>
338       <KEYWORD2>MODEL</KEYWORD2>
339       <KEYWORD2>MONYY</KEYWORD2>
340       <KEYWORD2>MPRINT</KEYWORD2>
341       <KEYWORD2>MRECALL</KEYWORD2>
342       <KEYWORD2>NE</KEYWORD2>
343       <KEYWORD2>NEW</KEYWORD2>
344       <KEYWORD2>NO</KEYWORD2>
345       <KEYWORD2>NOBS</KEYWORD2>
346       <KEYWORD2>NOCENTER</KEYWORD2>
347       <KEYWORD2>NOCUM</KEYWORD2>
348       <KEYWORD2>NODATE</KEYWORD2>
349       <KEYWORD2>NODUP</KEYWORD2>
350       <KEYWORD2>NODUPKEY</KEYWORD2>
351       <KEYWORD2>NOINT</KEYWORD2>
352       <KEYWORD2>NONUMBER</KEYWORD2>
353       <KEYWORD2>NOPAD</KEYWORD2>
354       <KEYWORD2>NOPRINT</KEYWORD2>
355       <KEYWORD2>NOROW</KEYWORD2>
356       <KEYWORD2>NOT</KEYWORD2>
357       <KEYWORD2>NOTITLE</KEYWORD2>
358       <KEYWORD2>NOTITLES</KEYWORD2>
359       <KEYWORD2>NOXSYNC</KEYWORD2>
360       <KEYWORD2>NOXWAIT</KEYWORD2>
361       <KEYWORD2>NUMBER</KEYWORD2>
362       <KEYWORD2>NWAY</KEYWORD2>
363       <KEYWORD2>OBS</KEYWORD2>
364       <KEYWORD2>OPTION</KEYWORD2>
365       <KEYWORD2>OPTIONS</KEYWORD2>
366       <KEYWORD2>OR</KEYWORD2>
367       <KEYWORD2>ORDER</KEYWORD2>
368       <KEYWORD2>OTHERWISE</KEYWORD2>
369       <KEYWORD2>OUT</KEYWORD2>
370       <KEYWORD2>OUTPUT</KEYWORD2>
371       <KEYWORD2>OVER</KEYWORD2>
372       <KEYWORD2>PAD</KEYWORD2>
373       <KEYWORD2>PAD2</KEYWORD2>
374       <KEYWORD2>PAGESIZE</KEYWORD2>
375       <KEYWORD2>PD</KEYWORD2>
376       <KEYWORD2>PERCENT</KEYWORD2>
377       <KEYWORD2>PIB</KEYWORD2>
378       <KEYWORD2>PK</KEYWORD2>
379       <KEYWORD2>POINT</KEYWORD2>
380       <KEYWORD2>POSITION</KEYWORD2>
381       <KEYWORD2>PRINTER</KEYWORD2>
382       <KEYWORD2>PRXMATCH</KEYWORD2>
383       <KEYWORD2>PRXCHANGE</KEYWORD2>
384       <KEYWORD2>PS</KEYWORD2>
385       <KEYWORD2>PUT</KEYWORD2>
386       <KEYWORD2>R</KEYWORD2>
387       <KEYWORD2>RB</KEYWORD2>
388       <KEYWORD2>RECFM</KEYWORD2>
389       <KEYWORD2>REG</KEYWORD2>
390       <KEYWORD2>REGR</KEYWORD2>
391       <KEYWORD2>RENAME</KEYWORD2>
392       <KEYWORD2>REPLACE</KEYWORD2>
393       <KEYWORD2>RETAIN</KEYWORD2>
394       <KEYWORD2>RETURN</KEYWORD2>
395       <KEYWORD2>REUSE</KEYWORD2>
396       <KEYWORD2>REVERSE</KEYWORD2>
397       <KEYWORD2>RSQUARE</KEYWORD2>
398       <KEYWORD2>RUN</KEYWORD2>
399       <KEYWORD2>SASAUTOS</KEYWORD2>
400       <KEYWORD2>SCAN</KEYWORD2>
401       <KEYWORD2>SELECT</KEYWORD2>
402       <KEYWORD2>SELECTION</KEYWORD2>
403       <KEYWORD2>SERROR</KEYWORD2>
404       <KEYWORD2> SET</KEYWORD2>
405       <KEYWORD2>SIMPLE</KEYWORD2>
406       <KEYWORD2>SLE</KEYWORD2>
407       <KEYWORD2>SLS</KEYWORD2>
408       <KEYWORD2>START</KEYWORD2>
409       <KEYWORD2>STDIN</KEYWORD2>
410       <KEYWORD2>STOP</KEYWORD2>
411       <KEYWORD2>STOPOVER</KEYWORD2>
412       <KEYWORD2>SUBSTR</KEYWORD2>
413       <KEYWORD2>SYMBOL</KEYWORD2>
414       <KEYWORD2>SYMBOLGEN</KEYWORD2>
415       <KEYWORD2>SYMGET</KEYWORD2>
416       <KEYWORD2>SYMPUT</KEYWORD2>
417       <KEYWORD2>SYMPUTX</KEYWORD2>
418       <KEYWORD2>T</KEYWORD2>
419       <KEYWORD2>TABLE</KEYWORD2>
420       <KEYWORD2>TABLES</KEYWORD2>
421       <KEYWORD2>THEN</KEYWORD2>
422       <KEYWORD2>TITLE</KEYWORD2>
423       <KEYWORD2>TITLE1</KEYWORD2>
424       <KEYWORD2>TITLE2</KEYWORD2>
425       <KEYWORD2>TITLE3</KEYWORD2>
426       <KEYWORD2>TITLE4</KEYWORD2>
427       <KEYWORD2>TITLE5</KEYWORD2>
428       <KEYWORD2>TO</KEYWORD2>
429       <KEYWORD2>TOL</KEYWORD2>
430       <KEYWORD2>TRIM</KEYWORD2>
431       <KEYWORD2>UNFORMATTED</KEYWORD2>
432       <KEYWORD2>UNTIL</KEYWORD2>
433       <KEYWORD2>UPDATE</KEYWORD2>
434       <KEYWORD2>UPCASE</KEYWORD2>
435       <KEYWORD2>VALUE</KEYWORD2>
436       <KEYWORD2>VAR</KEYWORD2>
437       <KEYWORD2>WHEN</KEYWORD2>
438       <KEYWORD2>WHERE</KEYWORD2>
439       <KEYWORD2>WHILE</KEYWORD2>
440       <KEYWORD2>WINDOW</KEYWORD2>
441       <KEYWORD2>WORK</KEYWORD2>
442       <KEYWORD2>X</KEYWORD2>
443       <KEYWORD2>XSYNC</KEYWORD2>
444       <KEYWORD2>XWAIT</KEYWORD2>
445       <KEYWORD2>YES</KEYWORD2>
446       <KEYWORD2>YYMMDD</KEYWORD2>
447       <KEYWORD2>GOPTIONS</KEYWORD2>
448       <KEYWORD2>AXIS1</KEYWORD2>
449       <KEYWORD2>AXIS2</KEYWORD2>
450       <KEYWORD2>SYMBOL1</KEYWORD2>
451       <KEYWORD2>SET</KEYWORD2>
452    </KEYWORDS>
453
454     </RULES>
455 </MODE>
456
457
458