<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<MODE>
	<PROPS>
		<PROPERTY NAME="commentStart" VALUE="/*" />
		<PROPERTY NAME="commentEnd" VALUE="*/" />
		<PROPERTY NAME="lineComment" VALUE="//" />
		<PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />

		<!-- Auto indent -->
		<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
		<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
		<PROPERTY NAME="indentNextLine"
			VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
		<!-- set this to 'true' if you want to use GNU coding style -->
		<PROPERTY NAME="doubleBracketIndent" VALUE="false" />
	</PROPS>
	<RULES IGNORE_CASE="FALSE"
		HIGHLIGHT_DIGITS="TRUE"
		DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">

		<!-- C style comment -->
		<SPAN TYPE="COMMENT1">
			<BEGIN>/*</BEGIN>
			<END>*/</END>
		</SPAN>

		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
			<BEGIN>"</BEGIN>
			<END>"</END>
		</SPAN>
		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
			<BEGIN>'</BEGIN>
			<END>'</END>
		</SPAN>

		<!-- preprocessor statements -->
		<EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>

		<EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
		<SEQ TYPE="OPERATOR">=</SEQ>
		<SEQ TYPE="OPERATOR">!</SEQ>
		<SEQ TYPE="OPERATOR">&gt;=</SEQ>
		<SEQ TYPE="OPERATOR">&lt;=</SEQ>
		<SEQ TYPE="OPERATOR">+</SEQ>
		<SEQ TYPE="OPERATOR">-</SEQ>
		<SEQ TYPE="OPERATOR">/</SEQ>

		<SEQ TYPE="OPERATOR">*</SEQ>
		<SEQ TYPE="OPERATOR">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">%</SEQ>
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
		<SEQ TYPE="OPERATOR">|</SEQ>
		<SEQ TYPE="OPERATOR">^</SEQ>
		<SEQ TYPE="OPERATOR">~</SEQ>
		<SEQ TYPE="OPERATOR">}</SEQ>
		<SEQ TYPE="OPERATOR">{</SEQ>
		<MARK_PREVIOUS AT_WHITESPACE_END="TRUE"
			MATCH_TYPE="OPERATOR"
			TYPE="LABEL">:</MARK_PREVIOUS>

		<!-- Function calls -->
		<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
		<SEQ TYPE="OPERATOR">)</SEQ>

		<KEYWORDS>
			<KEYWORD1>__event_src</KEYWORD1>
			<KEYWORD1>__sensor</KEYWORD1>
			<KEYWORD1>__type</KEYWORD1>
			<KEYWORD1>abs</KEYWORD1>
			<KEYWORD1>aquire</KEYWORD1>
			<KEYWORD1>catch</KEYWORD1>
			<KEYWORD1>const</KEYWORD1>
			<KEYWORD1>break</KEYWORD1>
			<KEYWORD1>case</KEYWORD1>
			<KEYWORD1>continue</KEYWORD1>
			<KEYWORD1>default</KEYWORD1>
			<KEYWORD1>do</KEYWORD1>
			<KEYWORD1>else</KEYWORD1>
			<KEYWORD1>for</KEYWORD1>
			<KEYWORD1>monitor</KEYWORD1>
			<KEYWORD1>if</KEYWORD1>
			<KEYWORD1>return</KEYWORD1>
			<KEYWORD1>repeat</KEYWORD1>
			<KEYWORD1>sign</KEYWORD1>
			<KEYWORD1>start</KEYWORD1>
			<KEYWORD1>stop</KEYWORD1>
			<KEYWORD1>sub</KEYWORD1>
			<KEYWORD1>switch</KEYWORD1>
			<KEYWORD1>task</KEYWORD1>
			<KEYWORD1>while</KEYWORD1>

			<KEYWORD2>asm</KEYWORD2>
			<KEYWORD2>inline</KEYWORD2>

			<KEYWORD3>int</KEYWORD3>
			<KEYWORD3>void</KEYWORD3>

			<LITERAL2>true</LITERAL2>
			<LITERAL2>false</LITERAL2>
			<LITERAL2>NULL</LITERAL2>

			<LITERAL2>SENSOR_1</LITERAL2>
			<LITERAL2>SENSOR_2</LITERAL2>
			<LITERAL2>SENSOR_3</LITERAL2>

			<LITERAL2>SENSOR_TYPE_NONE</LITERAL2>
			<LITERAL2>SENSOR_TYPE_TOUCH</LITERAL2>
			<LITERAL2>SENSOR_TYPE_TEMPERATURE</LITERAL2>
			<LITERAL2>SENSOR_TYPE_LIGHT</LITERAL2>
			<LITERAL2>SENSOR_TYPE_ROTATION</LITERAL2>

			<LITERAL2>SENSOR_MODE_RAW</LITERAL2>
			<LITERAL2>SENSOR_MODE_BOOL</LITERAL2>
			<LITERAL2>SENSOR_MODE_EDGE</LITERAL2>
			<LITERAL2>SENSOR_MODE_PULSE</LITERAL2>
			<LITERAL2>SENSOR_MODE_PERCENT</LITERAL2>
			<LITERAL2>SENSOR_MODE_FAHRENHEIT</LITERAL2>
			<LITERAL2>SENSOR_MODE_CELSIUS</LITERAL2>
			<LITERAL2>SENSOR_MODE_ROTATION</LITERAL2>

			<LITERAL2>SENSOR_TOUCH</LITERAL2>
			<LITERAL2>SENSOR_LIGHT</LITERAL2>
			<LITERAL2>SENSOR_EDGE</LITERAL2>
			<LITERAL2>SENSOR_PULSE</LITERAL2>
			<LITERAL2>SENSOR_FAHRENHEIT</LITERAL2>
			<LITERAL2>SENSOR_CELSIUS</LITERAL2>
			<LITERAL2>SENSOR_ROTATION</LITERAL2>

			<LITERAL2>OUT_A</LITERAL2>
			<LITERAL2>OUT_B</LITERAL2>
			<LITERAL2>OUT_C</LITERAL2>

			<LITERAL2>OUT_OFF</LITERAL2>
			<LITERAL2>OUT_ON</LITERAL2>
			<LITERAL2>OUT_FLOAT</LITERAL2>

			<LITERAL2>OUT_FWD</LITERAL2>
			<LITERAL2>OUT_REV</LITERAL2>
			<LITERAL2>OUT_TOOGLE</LITERAL2>

			<LITERAL2>OUT_FULL</LITERAL2>
			<LITERAL2>OUT_HALF</LITERAL2>
			<LITERAL2>OUT_LOW</LITERAL2>

			<LITERAL2>SOUND_CLICK</LITERAL2>
			<LITERAL2>SOUND_DOUBLE_BEEP</LITERAL2>
			<LITERAL2>SOUND_DOWN</LITERAL2>
			<LITERAL2>SOUND_UP</LITERAL2>
			<LITERAL2>SOUND_LOW_BEEP</LITERAL2>
			<LITERAL2>SOUND_FAST_UP</LITERAL2>

			<LITERAL2>DISPLAY_WATCH</LITERAL2>
			<LITERAL2>DISPLAY_OUT_A</LITERAL2>
			<LITERAL2>DISPLAY_OUT_B</LITERAL2>
			<LITERAL2>DISPLAY_OUT_C</LITERAL2>
			<LITERAL2>DISPLAY_SENSOR_1</LITERAL2>
			<LITERAL2>DISPLAY_SENSOR_2</LITERAL2>
			<LITERAL2>DISPLAY_SENSOR_3</LITERAL2>

			<LITERAL2>TX_POWER_LO</LITERAL2>
			<LITERAL2>TX_POWER_HI</LITERAL2>

			<LITERAL2>SERIAL_COMM_DEFAULT</LITERAL2>
			<LITERAL2>SERIAL_COMM_4800</LITERAL2>
			<LITERAL2>SERIAL_COMM_DUTY25</LITERAL2>
			<LITERAL2>SERIAL_COMM_76KHZ</LITERAL2>

			<LITERAL2>SERIAL_PACKET_PREAMBLE</LITERAL2>
			<LITERAL2>SERIAL_PACKET_DEFAULT</LITERAL2>
			<LITERAL2>SERIAL_PACKET_NEGATED</LITERAL2>
			<LITERAL2>SERIAL_PACKET_CHECKSUM</LITERAL2>
			<LITERAL2>SERIAL_PACKET_RCX</LITERAL2>
			<LITERAL2>SERIAL_PACKET_</LITERAL2>

			<LITERAL2>ACQUIRE_OUT_A</LITERAL2>
			<LITERAL2>ACQUIRE_OUT_B</LITERAL2>
			<LITERAL2>ACQUIRE_OUT_C</LITERAL2>
			<LITERAL2>ACQUIRE_SOUND</LITERAL2>
			<LITERAL2>ACQUIRE_USER_1</LITERAL2>
			<LITERAL2>ACQUIRE_USER_2</LITERAL2>
			<LITERAL2>ACQUIRE_USER_3</LITERAL2>
			<LITERAL2>ACQUIRE_USER_4</LITERAL2>

			<LITERAL2>EVENT_TYPE_PRESSED</LITERAL2>
			<LITERAL2>EVENT_TYPE_RELEASED</LITERAL2>
			<LITERAL2>EVENT_TYPE_PULSE</LITERAL2>
			<LITERAL2>EVENT_TYPE_EDGE</LITERAL2>
			<LITERAL2>EVENT_TYPE_FASTCHANGE</LITERAL2>
			<LITERAL2>EVENT_TYPE_LOW</LITERAL2>
			<LITERAL2>EVENT_TYPE_NORMAL</LITERAL2>
			<LITERAL2>EVENT_TYPE_HIGH</LITERAL2>
			<LITERAL2>EVENT_TYPE_CLICK</LITERAL2>
			<LITERAL2>EVENT_TYPE_DOUBLECLICK</LITERAL2>
			<LITERAL2>EVENT_TYPE_MESSAGE</LITERAL2>

			<LITERAL2>EVENT_1_PRESSED</LITERAL2>
			<LITERAL2>EVENT_1_RELEASED</LITERAL2>
			<LITERAL2>EVENT_2_PRESSED</LITERAL2>
			<LITERAL2>EVENT_2_RELEASED</LITERAL2>
			<LITERAL2>EVENT_LIGHT_HIGH</LITERAL2>
			<LITERAL2>EVENT_LIGHT_NORMAL</LITERAL2>
			<LITERAL2>EVENT_LIGHT_LOW</LITERAL2>
			<LITERAL2>EVENT_LIGHT_CLICK</LITERAL2>
			<LITERAL2>EVENT_LIGHT_DOUBLECLICK</LITERAL2>
			<LITERAL2>EVENT_COUNTER_0</LITERAL2>
			<LITERAL2>EVENT_COUNTER_1</LITERAL2>
			<LITERAL2>EVENT_TIMER_0</LITERAL2>
			<LITERAL2>EVENT_TIMER_1</LITERAL2>
			<LITERAL2>EVENT_TIMER_2</LITERAL2>
			<LITERAL2>EVENT_MESSAGE</LITERAL2>

		</KEYWORDS>
	</RULES>
</MODE>
