<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">

<MODE>
	<PROPS>
		<PROPERTY NAME="indentOpenBrackets" VALUE="[{"/>
		<PROPERTY NAME="indentCloseBrackets" VALUE="]}"/>
		<PROPERTY NAME="indentNextLines" VALUE="^(:|M:|C:|PREDICATE:)[^;]*"/>
		<PROPERTY NAME="unindentNextLines" VALUE="^.*;.*$"/>
		<PROPERTY NAME="doubleBracketIndent" VALUE="true"/>
		<PROPERTY NAME="commentStart" VALUE="("/>
		<PROPERTY NAME="commentEnd" VALUE=")"/>
		<PROPERTY NAME="lineComment" VALUE="!"/>
		<PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|"/>
	</PROPS>
	<RULES IGNORE_CASE="FALSE" NO_WORD_SEP="+-*=&gt;&lt;;.?/'()%,_"
		HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">
		<EOL_SPAN TYPE="COMMENT2" AT_WORD_START="TRUE"
			DELEGATE="COMMENT">#! </EOL_SPAN>
		<EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE"
			DELEGATE="COMMENT">! </EOL_SPAN>

		<!-- parsing words -->
		<SEQ_REGEXP TYPE="MARKUP"
			HASH_CHAR="\"
			AT_WORD_START="TRUE">\\\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="MARKUP"
			HASH_CHAR=":"
			AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="MARKUP"
			HASH_CHAR="IN:"
			AT_WORD_START="TRUE">IN:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="MARKUP"
			HASH_CHAR="USE:"
			AT_WORD_START="TRUE">USE:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="LITERAL2"
			HASH_CHAR="CHAR:"
			AT_WORD_START="TRUE">CHAR:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="LITERAL2"
			HASH_CHAR="BIN:"
			AT_WORD_START="TRUE">BIN:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="LITERAL2"
			HASH_CHAR="OCT:"
			AT_WORD_START="TRUE">OCT:\s+(\S+)</SEQ_REGEXP>
		<SEQ_REGEXP TYPE="LITERAL2"
			HASH_CHAR="HEX:"
			AT_WORD_START="TRUE">HEX:\s+(\S+)</SEQ_REGEXP>

		<SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT" NO_LINE_BREAK="TRUE">
			<BEGIN>\s+( </BEGIN>
			<END>)</END>
		</SPAN>
		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE"
			DELEGATE="LITERAL">
			<BEGIN>SBUF" </BEGIN>
			<END>"</END>
		</SPAN>
		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE"
			DELEGATE="LITERAL">
			<BEGIN>"</BEGIN>
			<END>"</END>
		</SPAN>
		<SPAN TYPE="MARKUP" DELEGATE="USING">
			<BEGIN>USING: </BEGIN>
			<END>;</END>
		</SPAN>

		<SEQ TYPE="OPERATOR">[</SEQ>
		<SEQ TYPE="OPERATOR">]</SEQ>
		<SEQ TYPE="OPERATOR">{</SEQ>
		<SEQ TYPE="OPERATOR">}</SEQ>

		<KEYWORDS>
			<KEYWORD1>&gt;r</KEYWORD1>
			<KEYWORD1>r&gt;</KEYWORD1>

			<MARKUP>;</MARKUP>

			<LITERAL3>t</LITERAL3>
			<LITERAL4>f</LITERAL4>

			<COMMENT2>#!</COMMENT2>
			<COMMENT1>!</COMMENT1>
		</KEYWORDS>
	</RULES>

	<RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">
		<SEQ TYPE="COMMENT3">--</SEQ>
	</RULES>

	<RULES SET="LITERAL" DEFAULT="LITERAL1">
	</RULES>

	<RULES SET="COMMENT" DEFAULT="COMMENT1">
	</RULES>

	<RULES SET="USING" DEFAULT="LITERAL2">
	</RULES>
</MODE>
