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