]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/b.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / b.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <MODE>
6         <PROPS>
7                 <PROPERTY NAME="indentNextLine" VALUE="\s*(((ANY|ASSERT|CASE|CHOICE|IF|LET|PRE|SELECT|VAR|WHILE|WHEN)\s*\(|ELSE|ELSEIF|EITHER|OR|VARIANT|INVARIANT)[^;]*|for\s*\(.*)" />
8                 <PROPERTY NAME="commentStart" VALUE="/*" />
9                 <PROPERTY NAME="commentEnd" VALUE="*/" />
10                 <PROPERTY NAME="lineComment" VALUE="//" />
11         </PROPS>
12         <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
13                 <!-- B style comment -->
14                 <SPAN TYPE="COMMENT3">
15                         <BEGIN>/*?</BEGIN>
16                         <END>?*/</END>
17                 </SPAN>
18
19                 <SPAN TYPE="COMMENT1">
20                         <BEGIN>/*</BEGIN>
21                         <END>*/</END>
22                 </SPAN>
23
24                 <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
25                         <BEGIN>"</BEGIN>
26                         <END>"</END>
27                 </SPAN>
28                 <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
29                         <BEGIN>'</BEGIN>
30                         <END>'</END>
31                 </SPAN>
32
33
34                 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
35                 <SEQ TYPE="OPERATOR">!</SEQ>
36                 <SEQ TYPE="OPERATOR">#</SEQ>
37                 <SEQ TYPE="OPERATOR">$0</SEQ>
38                 <SEQ TYPE="OPERATOR">%</SEQ>
39                 <SEQ TYPE="OPERATOR">=</SEQ>
40                 <!-- pour le & -->
41                 <SEQ TYPE="OPERATOR">&amp;</SEQ>
42                 <!-- pour le < et  > -->
43                 <SEQ TYPE="OPERATOR">&gt;</SEQ>
44                 <SEQ TYPE="OPERATOR">&lt;</SEQ>
45
46                 <SEQ TYPE="OPERATOR">*</SEQ>
47
48                 <SEQ TYPE="OPERATOR">+</SEQ>
49                 <SEQ TYPE="OPERATOR">/</SEQ>
50                 <SEQ TYPE="OPERATOR">\</SEQ>
51                 <SEQ TYPE="OPERATOR">~</SEQ>
52                 <SEQ TYPE="OPERATOR">:</SEQ>
53                 <SEQ TYPE="OPERATOR">;</SEQ>
54                 <SEQ TYPE="OPERATOR">|</SEQ>
55                 <SEQ TYPE="OPERATOR">-</SEQ>
56
57                 <SEQ TYPE="OPERATOR">^</SEQ>
58
59                 <SEQ TYPE="OPERATOR">.</SEQ>
60                 <SEQ TYPE="OPERATOR">,</SEQ>
61                 <SEQ TYPE="OPERATOR">(</SEQ>
62                 <SEQ TYPE="OPERATOR">)</SEQ>
63                 <SEQ TYPE="OPERATOR">}</SEQ>
64                 <SEQ TYPE="OPERATOR">{</SEQ>
65                 <SEQ TYPE="OPERATOR">]</SEQ>
66                 <SEQ TYPE="OPERATOR">[</SEQ>
67
68                 <KEYWORDS>
69
70                         <!-- clauses -->
71                         <KEYWORD2>ABSTRACT_CONSTANTS</KEYWORD2>
72                         <KEYWORD2>ABSTRACT_VARIABLES</KEYWORD2>
73                         <KEYWORD2>CONCRETE_CONSTANTS</KEYWORD2>
74                         <KEYWORD2>CONCRETE_VARIABLES</KEYWORD2>
75                         <KEYWORD2>CONSTANTS</KEYWORD2>
76                         <KEYWORD2>VARIABLES</KEYWORD2>
77                         <KEYWORD2>ASSERTIONS</KEYWORD2>
78                         <KEYWORD2>CONSTRAINTS</KEYWORD2>
79                         <KEYWORD2>DEFINITIONS</KEYWORD2>
80                         <KEYWORD2>EXTENDS</KEYWORD2>
81                         <KEYWORD2>IMPLEMENTATION</KEYWORD2>
82                         <KEYWORD2>IMPORTS</KEYWORD2>
83                         <KEYWORD2>INCLUDES</KEYWORD2>
84                         <KEYWORD2>INITIALISATION</KEYWORD2>
85                         <KEYWORD2>INVARIANT</KEYWORD2>
86                         <KEYWORD2>LOCAL_OPERATIONS</KEYWORD2>
87                         <KEYWORD2>MACHINE</KEYWORD2>
88                         <KEYWORD2>OPERATIONS</KEYWORD2>
89                         <KEYWORD2>PROMOTES</KEYWORD2>
90                         <KEYWORD2>PROPERTIES</KEYWORD2>
91                         <KEYWORD2>REFINES</KEYWORD2>
92                         <KEYWORD2>REFINEMENT</KEYWORD2>
93                         <KEYWORD2>SEES</KEYWORD2>
94                         <KEYWORD2>SETS</KEYWORD2>
95                         <KEYWORD2>USES</KEYWORD2>
96                         <KEYWORD2>VALUES</KEYWORD2>
97
98
99                         <!-- substitutions -->
100                         <KEYWORD2>ANY</KEYWORD2>
101                         <KEYWORD2>ASSERT</KEYWORD2>
102                         <KEYWORD2>BE</KEYWORD2>
103                         <KEYWORD2>BEGIN</KEYWORD2>
104                         <KEYWORD2>CASE</KEYWORD2>
105                         <KEYWORD2>CHOICE</KEYWORD2>
106                         <KEYWORD2>DO</KEYWORD2>
107                         <KEYWORD2>EITHER</KEYWORD2>
108                         <KEYWORD2>ELSE</KEYWORD2>
109                         <KEYWORD2>ELSIF</KEYWORD2>
110                         <!-- voir pour le end -->
111                         <KEYWORD2>END</KEYWORD2>
112                         <KEYWORD2>IF</KEYWORD2>
113                         <KEYWORD2>IN</KEYWORD2>
114                         <KEYWORD2>LET</KEYWORD2>
115                         <KEYWORD2>OF</KEYWORD2>
116                         <KEYWORD2>OR</KEYWORD2>
117                         <KEYWORD2>PRE</KEYWORD2>
118                         <KEYWORD2>SELECT</KEYWORD2>
119                         <KEYWORD2>THEN</KEYWORD2>
120                         <KEYWORD2>VAR</KEYWORD2>
121                         <KEYWORD2>VARIANT</KEYWORD2>
122                         <KEYWORD2>WHEN</KEYWORD2>
123                         <KEYWORD2>WHERE</KEYWORD2>
124                         <KEYWORD2>WHILE</KEYWORD2>
125
126
127                         <KEYWORD3>FIN</KEYWORD3>
128                         <KEYWORD3>FIN1</KEYWORD3>
129                         <KEYWORD3>INT</KEYWORD3>
130                         <KEYWORD3>INTEGER</KEYWORD3>
131                         <KEYWORD3>INTER</KEYWORD3>
132                         <KEYWORD3>MAXINT</KEYWORD3>
133                         <KEYWORD3>MININT</KEYWORD3>
134                         <KEYWORD3>NAT</KEYWORD3>
135                         <KEYWORD3>NAT1</KEYWORD3>
136                         <KEYWORD3>NATURAL</KEYWORD3>
137                         <KEYWORD3>NATURAL1</KEYWORD3>
138                         <KEYWORD3>PI</KEYWORD3>
139                         <KEYWORD3>POW</KEYWORD3>
140                         <KEYWORD3>POW1</KEYWORD3>
141                         <KEYWORD3>SIGMA</KEYWORD3>
142                         <KEYWORD3>UNION</KEYWORD3>
143
144                         <FUNCTION>arity</FUNCTION>
145                         <FUNCTION>bin</FUNCTION>
146                         <FUNCTION>bool</FUNCTION>
147                         <FUNCTION>btree</FUNCTION>
148                         <FUNCTION>card</FUNCTION>
149                         <FUNCTION>closure</FUNCTION>
150                         <FUNCTION>closure1</FUNCTION>
151                         <FUNCTION>conc</FUNCTION>
152                         <FUNCTION>const</FUNCTION>
153                         <FUNCTION>dom</FUNCTION>
154                         <FUNCTION>father</FUNCTION>
155                         <FUNCTION>first</FUNCTION>
156                         <FUNCTION>fnc</FUNCTION>
157                         <FUNCTION>front</FUNCTION>
158                         <FUNCTION>id</FUNCTION>
159                         <FUNCTION>infix</FUNCTION>
160                         <FUNCTION>inter</FUNCTION>
161                         <FUNCTION>iseq</FUNCTION>
162                         <FUNCTION>iseq1</FUNCTION>
163                         <FUNCTION>iterate</FUNCTION>
164                         <FUNCTION>last</FUNCTION>
165                         <FUNCTION>left</FUNCTION>
166                         <FUNCTION>max</FUNCTION>
167                         <FUNCTION>min</FUNCTION>
168                         <FUNCTION>mirror</FUNCTION>
169                         <FUNCTION>mod</FUNCTION>
170                         <FUNCTION>not</FUNCTION>
171                         <FUNCTION>or</FUNCTION>
172                         <FUNCTION>perm</FUNCTION>
173                         <FUNCTION>postfix</FUNCTION>
174                         <FUNCTION>pred</FUNCTION>
175                         <FUNCTION>prefix</FUNCTION>
176                         <FUNCTION>prj1</FUNCTION>
177                         <FUNCTION>prj2</FUNCTION>
178                         <FUNCTION>r~</FUNCTION>
179                         <FUNCTION>ran</FUNCTION>
180                         <FUNCTION>rank</FUNCTION>
181                         <FUNCTION>rec</FUNCTION>
182                         <FUNCTION>rel</FUNCTION>
183                         <FUNCTION>rev</FUNCTION>
184                         <FUNCTION>right</FUNCTION>
185                         <FUNCTION>seq</FUNCTION>
186                         <FUNCTION>seq1</FUNCTION>
187                         <FUNCTION>size</FUNCTION>
188                         <FUNCTION>sizet</FUNCTION>
189                         <FUNCTION>skip</FUNCTION>
190                         <FUNCTION>son</FUNCTION>
191                         <FUNCTION>sons</FUNCTION>
192                         <FUNCTION>struct</FUNCTION>
193                         <FUNCTION>subtree</FUNCTION>
194                         <FUNCTION>succ</FUNCTION>
195                         <FUNCTION>tail</FUNCTION>
196                         <FUNCTION>top</FUNCTION>
197                         <FUNCTION>tree</FUNCTION>
198                         <FUNCTION>union</FUNCTION>
199
200                 </KEYWORDS>
201
202         </RULES>
203 </MODE>