]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/nqc.xml
Move web framework to basis
[factor.git] / basis / xmode / modes / nqc.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="commentStart" VALUE="/*" />\r
8                 <PROPERTY NAME="commentEnd" VALUE="*/" />\r
9                 <PROPERTY NAME="lineComment" VALUE="//" />\r
10                 <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
11 \r
12                 <!-- Auto indent -->\r
13                 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
14                 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
15                 <PROPERTY NAME="indentNextLine"\r
16                         VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
17                 <!-- set this to 'true' if you want to use GNU coding style -->\r
18                 <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
19         </PROPS>\r
20         <RULES ESCAPE="\"\r
21                 IGNORE_CASE="FALSE"\r
22                 HIGHLIGHT_DIGITS="TRUE"\r
23                 DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
24 \r
25                 <!-- C style comment -->\r
26                 <SPAN TYPE="COMMENT1">\r
27                         <BEGIN>/*</BEGIN>\r
28                         <END>*/</END>\r
29                 </SPAN>\r
30 \r
31                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
32                         <BEGIN>"</BEGIN>\r
33                         <END>"</END>\r
34                 </SPAN>\r
35                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
36                         <BEGIN>'</BEGIN>\r
37                         <END>'</END>\r
38                 </SPAN>\r
39 \r
40                 <!-- preprocessor statements -->\r
41                 <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
42 \r
43                 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
44                 <SEQ TYPE="OPERATOR">=</SEQ>\r
45                 <SEQ TYPE="OPERATOR">!</SEQ>\r
46                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
47                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
48                 <SEQ TYPE="OPERATOR">+</SEQ>\r
49                 <SEQ TYPE="OPERATOR">-</SEQ>\r
50                 <SEQ TYPE="OPERATOR">/</SEQ>\r
51 \r
52                 <SEQ TYPE="OPERATOR">*</SEQ>\r
53                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
54                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
55                 <SEQ TYPE="OPERATOR">%</SEQ>\r
56                 <SEQ TYPE="OPERATOR">&amp;</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                 <SEQ TYPE="OPERATOR">{</SEQ>\r
62                 <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
63                         MATCH_TYPE="OPERATOR"\r
64                         TYPE="LABEL">:</MARK_PREVIOUS>\r
65 \r
66                 <!-- Function calls -->\r
67                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
68                 <SEQ TYPE="OPERATOR">)</SEQ>\r
69 \r
70                 <KEYWORDS>\r
71                         <KEYWORD1>__event_src</KEYWORD1>\r
72                         <KEYWORD1>__sensor</KEYWORD1>\r
73                         <KEYWORD1>__type</KEYWORD1>\r
74                         <KEYWORD1>abs</KEYWORD1>\r
75                         <KEYWORD1>aquire</KEYWORD1>\r
76                         <KEYWORD1>catch</KEYWORD1>\r
77                         <KEYWORD1>const</KEYWORD1>\r
78                         <KEYWORD1>break</KEYWORD1>\r
79                         <KEYWORD1>case</KEYWORD1>\r
80                         <KEYWORD1>continue</KEYWORD1>\r
81                         <KEYWORD1>default</KEYWORD1>\r
82                         <KEYWORD1>do</KEYWORD1>\r
83                         <KEYWORD1>else</KEYWORD1>\r
84                         <KEYWORD1>for</KEYWORD1>\r
85                         <KEYWORD1>monitor</KEYWORD1>\r
86                         <KEYWORD1>if</KEYWORD1>\r
87                         <KEYWORD1>return</KEYWORD1>\r
88                         <KEYWORD1>repeat</KEYWORD1>\r
89                         <KEYWORD1>sign</KEYWORD1>\r
90                         <KEYWORD1>start</KEYWORD1>\r
91                         <KEYWORD1>stop</KEYWORD1>\r
92                         <KEYWORD1>sub</KEYWORD1>\r
93                         <KEYWORD1>switch</KEYWORD1>\r
94                         <KEYWORD1>task</KEYWORD1>\r
95                         <KEYWORD1>while</KEYWORD1>\r
96 \r
97                         <KEYWORD2>asm</KEYWORD2>\r
98                         <KEYWORD2>inline</KEYWORD2>\r
99 \r
100                         <KEYWORD3>int</KEYWORD3>\r
101                         <KEYWORD3>void</KEYWORD3>\r
102 \r
103                         <LITERAL2>true</LITERAL2>\r
104                         <LITERAL2>false</LITERAL2>\r
105                         <LITERAL2>NULL</LITERAL2>\r
106 \r
107                         <LITERAL2>SENSOR_1</LITERAL2>\r
108                         <LITERAL2>SENSOR_2</LITERAL2>\r
109                         <LITERAL2>SENSOR_3</LITERAL2>\r
110 \r
111                         <LITERAL2>SENSOR_TYPE_NONE</LITERAL2>\r
112                         <LITERAL2>SENSOR_TYPE_TOUCH</LITERAL2>\r
113                         <LITERAL2>SENSOR_TYPE_TEMPERATURE</LITERAL2>\r
114                         <LITERAL2>SENSOR_TYPE_LIGHT</LITERAL2>\r
115                         <LITERAL2>SENSOR_TYPE_ROTATION</LITERAL2>\r
116 \r
117                         <LITERAL2>SENSOR_MODE_RAW</LITERAL2>\r
118                         <LITERAL2>SENSOR_MODE_BOOL</LITERAL2>\r
119                         <LITERAL2>SENSOR_MODE_EDGE</LITERAL2>\r
120                         <LITERAL2>SENSOR_MODE_PULSE</LITERAL2>\r
121                         <LITERAL2>SENSOR_MODE_PERCENT</LITERAL2>\r
122                         <LITERAL2>SENSOR_MODE_FAHRENHEIT</LITERAL2>\r
123                         <LITERAL2>SENSOR_MODE_CELSIUS</LITERAL2>\r
124                         <LITERAL2>SENSOR_MODE_ROTATION</LITERAL2>\r
125 \r
126                         <LITERAL2>SENSOR_TOUCH</LITERAL2>\r
127                         <LITERAL2>SENSOR_LIGHT</LITERAL2>\r
128                         <LITERAL2>SENSOR_EDGE</LITERAL2>\r
129                         <LITERAL2>SENSOR_PULSE</LITERAL2>\r
130                         <LITERAL2>SENSOR_FAHRENHEIT</LITERAL2>\r
131                         <LITERAL2>SENSOR_CELSIUS</LITERAL2>\r
132                         <LITERAL2>SENSOR_ROTATION</LITERAL2>\r
133 \r
134                         <LITERAL2>OUT_A</LITERAL2>\r
135                         <LITERAL2>OUT_B</LITERAL2>\r
136                         <LITERAL2>OUT_C</LITERAL2>\r
137 \r
138                         <LITERAL2>OUT_OFF</LITERAL2>\r
139                         <LITERAL2>OUT_ON</LITERAL2>\r
140                         <LITERAL2>OUT_FLOAT</LITERAL2>\r
141 \r
142                         <LITERAL2>OUT_FWD</LITERAL2>\r
143                         <LITERAL2>OUT_REV</LITERAL2>\r
144                         <LITERAL2>OUT_TOOGLE</LITERAL2>\r
145 \r
146                         <LITERAL2>OUT_FULL</LITERAL2>\r
147                         <LITERAL2>OUT_HALF</LITERAL2>\r
148                         <LITERAL2>OUT_LOW</LITERAL2>\r
149 \r
150                         <LITERAL2>SOUND_CLICK</LITERAL2>\r
151                         <LITERAL2>SOUND_DOUBLE_BEEP</LITERAL2>\r
152                         <LITERAL2>SOUND_DOWN</LITERAL2>\r
153                         <LITERAL2>SOUND_UP</LITERAL2>\r
154                         <LITERAL2>SOUND_LOW_BEEP</LITERAL2>\r
155                         <LITERAL2>SOUND_FAST_UP</LITERAL2>\r
156 \r
157                         <LITERAL2>DISPLAY_WATCH</LITERAL2>\r
158                         <LITERAL2>DISPLAY_OUT_A</LITERAL2>\r
159                         <LITERAL2>DISPLAY_OUT_B</LITERAL2>\r
160                         <LITERAL2>DISPLAY_OUT_C</LITERAL2>\r
161                         <LITERAL2>DISPLAY_SENSOR_1</LITERAL2>\r
162                         <LITERAL2>DISPLAY_SENSOR_2</LITERAL2>\r
163                         <LITERAL2>DISPLAY_SENSOR_3</LITERAL2>\r
164 \r
165                         <LITERAL2>TX_POWER_LO</LITERAL2>\r
166                         <LITERAL2>TX_POWER_HI</LITERAL2>\r
167 \r
168                         <LITERAL2>SERIAL_COMM_DEFAULT</LITERAL2>\r
169                         <LITERAL2>SERIAL_COMM_4800</LITERAL2>\r
170                         <LITERAL2>SERIAL_COMM_DUTY25</LITERAL2>\r
171                         <LITERAL2>SERIAL_COMM_76KHZ</LITERAL2>\r
172 \r
173                         <LITERAL2>SERIAL_PACKET_PREAMBLE</LITERAL2>\r
174                         <LITERAL2>SERIAL_PACKET_DEFAULT</LITERAL2>\r
175                         <LITERAL2>SERIAL_PACKET_NEGATED</LITERAL2>\r
176                         <LITERAL2>SERIAL_PACKET_CHECKSUM</LITERAL2>\r
177                         <LITERAL2>SERIAL_PACKET_RCX</LITERAL2>\r
178                         <LITERAL2>SERIAL_PACKET_</LITERAL2>\r
179 \r
180                         <LITERAL2>ACQUIRE_OUT_A</LITERAL2>\r
181                         <LITERAL2>ACQUIRE_OUT_B</LITERAL2>\r
182                         <LITERAL2>ACQUIRE_OUT_C</LITERAL2>\r
183                         <LITERAL2>ACQUIRE_SOUND</LITERAL2>\r
184                         <LITERAL2>ACQUIRE_USER_1</LITERAL2>\r
185                         <LITERAL2>ACQUIRE_USER_2</LITERAL2>\r
186                         <LITERAL2>ACQUIRE_USER_3</LITERAL2>\r
187                         <LITERAL2>ACQUIRE_USER_4</LITERAL2>\r
188 \r
189                         <LITERAL2>EVENT_TYPE_PRESSED</LITERAL2>\r
190                         <LITERAL2>EVENT_TYPE_RELEASED</LITERAL2>\r
191                         <LITERAL2>EVENT_TYPE_PULSE</LITERAL2>\r
192                         <LITERAL2>EVENT_TYPE_EDGE</LITERAL2>\r
193                         <LITERAL2>EVENT_TYPE_FASTCHANGE</LITERAL2>\r
194                         <LITERAL2>EVENT_TYPE_LOW</LITERAL2>\r
195                         <LITERAL2>EVENT_TYPE_NORMAL</LITERAL2>\r
196                         <LITERAL2>EVENT_TYPE_HIGH</LITERAL2>\r
197                         <LITERAL2>EVENT_TYPE_CLICK</LITERAL2>\r
198                         <LITERAL2>EVENT_TYPE_DOUBLECLICK</LITERAL2>\r
199                         <LITERAL2>EVENT_TYPE_MESSAGE</LITERAL2>\r
200 \r
201                         <LITERAL2>EVENT_1_PRESSED</LITERAL2>\r
202                         <LITERAL2>EVENT_1_RELEASED</LITERAL2>\r
203                         <LITERAL2>EVENT_2_PRESSED</LITERAL2>\r
204                         <LITERAL2>EVENT_2_RELEASED</LITERAL2>\r
205                         <LITERAL2>EVENT_LIGHT_HIGH</LITERAL2>\r
206                         <LITERAL2>EVENT_LIGHT_NORMAL</LITERAL2>\r
207                         <LITERAL2>EVENT_LIGHT_LOW</LITERAL2>\r
208                         <LITERAL2>EVENT_LIGHT_CLICK</LITERAL2>\r
209                         <LITERAL2>EVENT_LIGHT_DOUBLECLICK</LITERAL2>\r
210                         <LITERAL2>EVENT_COUNTER_0</LITERAL2>\r
211                         <LITERAL2>EVENT_COUNTER_1</LITERAL2>\r
212                         <LITERAL2>EVENT_TIMER_0</LITERAL2>\r
213                         <LITERAL2>EVENT_TIMER_1</LITERAL2>\r
214                         <LITERAL2>EVENT_TIMER_2</LITERAL2>\r
215                         <LITERAL2>EVENT_MESSAGE</LITERAL2>\r
216 \r
217                 </KEYWORDS>\r
218         </RULES>\r
219 </MODE>\r