]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/icon.xml
892609b841e3a6d00f0d9f12549e107367d6f5f5
[factor.git] / basis / xmode / modes / icon.xml
1 <?xml version="1.0"?>\r
2 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
3 \r
4 <!-- Icon mode by Silas Smith (smiths@cs.arizona.edu) -->\r
5 <!-- Updated 08/07/2003 -->\r
6 <MODE>\r
7         <PROPS>\r
8                 <PROPERTY NAME="lineComment" VALUE="#" />\r
9                 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
10                 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
11                 <PROPERTY NAME="wordBreakChars" VALUE="|.\\:,+-*/=?^!@%&lt;&gt;&amp;" />\r
12         </PROPS>\r
13         <RULES ESCAPE="\" IGNORE_CASE="FALSE"\r
14             HIGHLIGHT_DIGITS="TRUE"\r
15             DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
16                 <!-- comments -->\r
17                 <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
18 \r
19                 <!-- string literals -->\r
20                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
21                         <BEGIN>"</BEGIN>\r
22                         <END>"</END>\r
23                 </SPAN>\r
24 \r
25                 <!-- cset literals -->\r
26                 <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
27                         <BEGIN>'</BEGIN>\r
28                         <END>'</END>\r
29                 </SPAN>\r
30 \r
31                 <SEQ TYPE="OPERATOR">~===</SEQ>\r
32                 <SEQ TYPE="OPERATOR">===</SEQ>\r
33                 <SEQ TYPE="OPERATOR">|||</SEQ> <!-- list concatenation -->\r
34 \r
35                 <!-- lexical operators -->\r
36                 <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ> <!-- ">>=" -->\r
37                 <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ> <!-- ">>" -->\r
38                 <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ> <!-- "<<=" -->\r
39                 <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ> <!-- "<<" -->\r
40                 <SEQ TYPE="OPERATOR">~==</SEQ>\r
41                 <SEQ TYPE="OPERATOR">==</SEQ>\r
42                 <SEQ TYPE="OPERATOR">||</SEQ>\r
43 \r
44                 <!-- set operators -->\r
45                 <SEQ TYPE="OPERATOR">++</SEQ> <!-- union -->\r
46                 <SEQ TYPE="OPERATOR">**</SEQ> <!-- intersection -->\r
47                 <SEQ TYPE="OPERATOR">--</SEQ> <!-- difference -->\r
48 \r
49                 <SEQ TYPE="OPERATOR">&lt;-&gt;</SEQ> <!-- "<->" -->\r
50                 <SEQ TYPE="OPERATOR">&lt;-</SEQ> <!-- "<-" -->\r
51                 <SEQ TYPE="OPERATOR">op:=</SEQ>\r
52                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
53                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
54                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
55                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
56                 <SEQ TYPE="OPERATOR">~=</SEQ>\r
57                 <SEQ TYPE="OPERATOR">:=:</SEQ>\r
58                 <SEQ TYPE="OPERATOR">:=</SEQ>\r
59                 <SEQ TYPE="OPERATOR">-:</SEQ>\r
60                 <SEQ TYPE="OPERATOR">+:</SEQ>\r
61 \r
62                 <SEQ TYPE="OPERATOR">~</SEQ>\r
63                 <SEQ TYPE="OPERATOR">:</SEQ>\r
64                 <SEQ TYPE="OPERATOR">!</SEQ>\r
65                 <SEQ TYPE="OPERATOR">|</SEQ>\r
66                 <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
67                 <SEQ TYPE="OPERATOR">not</SEQ>\r
68                 <SEQ TYPE="OPERATOR">*</SEQ>\r
69                 <SEQ TYPE="OPERATOR">?</SEQ>\r
70                 <SEQ TYPE="OPERATOR">@</SEQ>\r
71 \r
72                 <!-- numerical operators -->\r
73                                 <!-- NOTE: '*' defined above -->\r
74                 <SEQ TYPE="OPERATOR">^</SEQ>\r
75                 <SEQ TYPE="OPERATOR">%</SEQ>\r
76                 <SEQ TYPE="OPERATOR">-</SEQ>\r
77                 <SEQ TYPE="OPERATOR">+</SEQ>\r
78                 <SEQ TYPE="OPERATOR">=</SEQ>\r
79                 <SEQ TYPE="OPERATOR">/</SEQ>\r
80 \r
81                 <!-- Function calls -->\r
82                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
83                 <SEQ TYPE="OPERATOR">)</SEQ>\r
84 \r
85                 <KEYWORDS>\r
86                         <KEYWORD1>by</KEYWORD1>\r
87                         <KEYWORD1>case</KEYWORD1>\r
88                         <KEYWORD1>create</KEYWORD1>\r
89                         <KEYWORD1>default</KEYWORD1>\r
90                         <KEYWORD1>do</KEYWORD1>\r
91                         <KEYWORD1>else</KEYWORD1>\r
92                         <KEYWORD1>every</KEYWORD1>\r
93                         <KEYWORD1>if</KEYWORD1>\r
94                         <KEYWORD1>initial</KEYWORD1>\r
95                         <KEYWORD1>next</KEYWORD1>\r
96                         <KEYWORD1>of</KEYWORD1>\r
97                         <KEYWORD1>repeat</KEYWORD1>\r
98                         <KEYWORD1>then</KEYWORD1>\r
99                         <KEYWORD1>to</KEYWORD1>\r
100                         <KEYWORD1>until</KEYWORD1>\r
101                         <KEYWORD1>while</KEYWORD1>\r
102 \r
103                         <KEYWORD2>break</KEYWORD2>\r
104                         <KEYWORD2>end</KEYWORD2>\r
105                         <KEYWORD2>fail</KEYWORD2>\r
106                         <KEYWORD2>global</KEYWORD2>\r
107                         <KEYWORD2>invocable</KEYWORD2>\r
108                         <KEYWORD2>link</KEYWORD2>\r
109                         <KEYWORD2>local</KEYWORD2>\r
110                         <KEYWORD2>procedure</KEYWORD2>\r
111                         <KEYWORD2>record</KEYWORD2>\r
112                         <KEYWORD2>return</KEYWORD2>\r
113                         <KEYWORD2>static</KEYWORD2>\r
114                         <KEYWORD2>suspend</KEYWORD2>\r
115 \r
116                         <KEYWORD3>&amp;allocated</KEYWORD3>\r
117                         <KEYWORD3>&amp;ascii</KEYWORD3>\r
118                         <KEYWORD3>&amp;clock</KEYWORD3>\r
119                         <KEYWORD3>&amp;collections</KEYWORD3>\r
120                         <KEYWORD3>&amp;cset</KEYWORD3>\r
121                         <KEYWORD3>&amp;current</KEYWORD3>\r
122                         <KEYWORD3>&amp;date</KEYWORD3>\r
123                         <KEYWORD3>&amp;dateline</KEYWORD3>\r
124                         <KEYWORD3>&amp;digits</KEYWORD3>\r
125                         <KEYWORD3>&amp;dump</KEYWORD3>\r
126                         <KEYWORD3>&amp;e</KEYWORD3>\r
127                         <KEYWORD3>&amp;error</KEYWORD3>\r
128                         <KEYWORD3>&amp;errornumber</KEYWORD3>\r
129                         <KEYWORD3>&amp;errortext</KEYWORD3>\r
130                         <KEYWORD3>&amp;errorvalue</KEYWORD3>\r
131                         <KEYWORD3>&amp;errout</KEYWORD3>\r
132                         <KEYWORD3>&amp;fail</KEYWORD3>\r
133                         <KEYWORD3>&amp;features</KEYWORD3>\r
134                         <KEYWORD3>&amp;file</KEYWORD3>\r
135                         <KEYWORD3>&amp;host</KEYWORD3>\r
136                         <KEYWORD3>&amp;input</KEYWORD3>\r
137                         <KEYWORD3>&amp;lcase</KEYWORD3>\r
138                         <KEYWORD3>&amp;letters</KEYWORD3>\r
139                         <KEYWORD3>&amp;level</KEYWORD3>\r
140                         <KEYWORD3>&amp;line</KEYWORD3>\r
141                         <KEYWORD3>&amp;main</KEYWORD3>\r
142                         <KEYWORD3>&amp;null</KEYWORD3>\r
143                         <KEYWORD3>&amp;output</KEYWORD3>\r
144                         <KEYWORD3>&amp;phi</KEYWORD3>\r
145                         <KEYWORD3>&amp;pi</KEYWORD3>\r
146                         <KEYWORD3>&amp;pos</KEYWORD3>\r
147                         <KEYWORD3>&amp;progname</KEYWORD3>\r
148                         <KEYWORD3>&amp;random</KEYWORD3>\r
149                         <KEYWORD3>&amp;regions</KEYWORD3>\r
150                         <KEYWORD3>&amp;source</KEYWORD3>\r
151                         <KEYWORD3>&amp;storage</KEYWORD3>\r
152                         <KEYWORD3>&amp;subject</KEYWORD3>\r
153                         <KEYWORD3>&amp;time</KEYWORD3>\r
154                         <KEYWORD3>&amp;trace</KEYWORD3>\r
155                         <KEYWORD3>&amp;ucase</KEYWORD3>\r
156                         <KEYWORD3>&amp;version</KEYWORD3>\r
157 \r
158                         <!-- preprocessor directives -->\r
159                         <KEYWORD3>$define</KEYWORD3>\r
160                         <KEYWORD3>$else</KEYWORD3>\r
161                         <KEYWORD3>$endif</KEYWORD3>\r
162                         <KEYWORD3>$error</KEYWORD3>\r
163                         <KEYWORD3>$ifdef</KEYWORD3>\r
164                         <KEYWORD3>$ifndef</KEYWORD3>\r
165                         <KEYWORD3>$include</KEYWORD3>\r
166                         <KEYWORD3>$line</KEYWORD3>\r
167                         <KEYWORD3>$undef</KEYWORD3>\r
168 \r
169                         <!-- predefined prepocessor symbols -->\r
170                         <KEYWORD3>_MACINTOSH</KEYWORD3>\r
171                         <KEYWORD3>_MS_WINDOWS_NT</KEYWORD3>\r
172                         <KEYWORD3>_MS_WINDOWS</KEYWORD3>\r
173                         <KEYWORD3>_MSDOS_386</KEYWORD3>\r
174                         <KEYWORD3>_MSDOS</KEYWORD3>\r
175                         <KEYWORD3>_OS2</KEYWORD3>\r
176                         <KEYWORD3>_PIPES</KEYWORD3>\r
177                         <KEYWORD3>_PRESENTATION_MGR</KEYWORD3>\r
178                         <KEYWORD3>_SYSTEM_FUNCTION</KEYWORD3>\r
179                         <KEYWORD3>_UNIX</KEYWORD3>\r
180                         <KEYWORD3>_VMS</KEYWORD3>\r
181                         <KEYWORD3>_WINDOW_FUNCTIONS</KEYWORD3>\r
182                         <KEYWORD3>_X_WINDOW_SYSTEM</KEYWORD3>\r
183 \r
184                         <KEYWORD4>co-expression</KEYWORD4>\r
185                         <KEYWORD4>cset</KEYWORD4>\r
186                         <KEYWORD4>file</KEYWORD4>\r
187                         <KEYWORD4>integer</KEYWORD4>\r
188                         <KEYWORD4>list</KEYWORD4>\r
189                         <KEYWORD4>null</KEYWORD4>\r
190                         <KEYWORD4>real</KEYWORD4>\r
191                         <KEYWORD4>set</KEYWORD4>\r
192                         <KEYWORD4>string</KEYWORD4>\r
193                         <KEYWORD4>table</KEYWORD4>\r
194                         <KEYWORD4>window</KEYWORD4>\r
195                 </KEYWORDS>\r
196         </RULES>\r
197 </MODE>\r
198 \r