<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<MODE>
	<PROPS>
		<PROPERTY NAME="lineComment" VALUE="%" />
	</PROPS>

	<RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
		<!-- Standard literals -->
		<EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>
		<EOL_SPAN TYPE="COMMENT2">...</EOL_SPAN>
		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
			<BEGIN>'</BEGIN>
			<END>'</END>
		</SPAN>
		<MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>

		<SEQ TYPE="OPERATOR">:</SEQ>
		<SEQ TYPE="OPERATOR">;</SEQ>
		<SEQ TYPE="OPERATOR">,</SEQ>
		<SEQ TYPE="OPERATOR">~</SEQ>
		<SEQ TYPE="OPERATOR">+</SEQ>
		<SEQ TYPE="OPERATOR">-</SEQ>
		<SEQ TYPE="OPERATOR">*</SEQ>
		<SEQ TYPE="OPERATOR">/</SEQ>
		<SEQ TYPE="OPERATOR">\</SEQ>
		<SEQ TYPE="OPERATOR">^</SEQ>
		<SEQ TYPE="OPERATOR">.+</SEQ>
		<SEQ TYPE="OPERATOR">.-</SEQ>
		<SEQ TYPE="OPERATOR">.*</SEQ>
		<SEQ TYPE="OPERATOR">./</SEQ>
		<SEQ TYPE="OPERATOR">.\</SEQ>
		<SEQ TYPE="OPERATOR">.^</SEQ>
		<SEQ TYPE="OPERATOR">&lt;=</SEQ>
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">&gt;=</SEQ>
		<SEQ TYPE="OPERATOR">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">~=</SEQ>
		<SEQ TYPE="OPERATOR">==</SEQ>
		<SEQ TYPE="OPERATOR">=</SEQ>
		<SEQ TYPE="OPERATOR">||</SEQ>
		<SEQ TYPE="OPERATOR">|</SEQ>
		<SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
		<SEQ TYPE="OPERATOR">'</SEQ>
		<SEQ TYPE="OPERATOR">.'</SEQ>
		<SEQ TYPE="OPERATOR">.</SEQ>

		<KEYWORDS>
			<!-- Reserved words -->
			<KEYWORD1>if</KEYWORD1>
			<KEYWORD1>else</KEYWORD1>
			<KEYWORD1>elseif</KEYWORD1>
			<KEYWORD1>end</KEYWORD1>
			<KEYWORD1>while</KEYWORD1>
			<KEYWORD1>for</KEYWORD1>
			<KEYWORD1>break</KEYWORD1>
			<KEYWORD1>continue</KEYWORD1>
			<KEYWORD1>switch</KEYWORD1>
			<KEYWORD1>case</KEYWORD1>
			<KEYWORD1>otherwise</KEYWORD1>
			
			<KEYWORD2>try</KEYWORD2>
			<KEYWORD2>catch</KEYWORD2>
			<KEYWORD2>finally</KEYWORD2>
			<KEYWORD2>function</KEYWORD2>
			<KEYWORD2>return</KEYWORD2>
			<KEYWORD2>global</KEYWORD2>
			<KEYWORD2>local</KEYWORD2>

			<!-- pseudo variables -->
			<LITERAL3>nargin</LITERAL3>
			<LITERAL3>nargout</LITERAL3>
			<LITERAL3>varargin</LITERAL3>
			<LITERAL3>varargout</LITERAL3>
			
			<!-- Standard library functions -->
			<FUNCTION>arccos</FUNCTION>
			<FUNCTION>arccosh</FUNCTION>
			<FUNCTION>arccot</FUNCTION>
			<FUNCTION>arccoth</FUNCTION>
			<FUNCTION>arccsc</FUNCTION>
			<FUNCTION>arccsch</FUNCTION>
			<FUNCTION>arcsec</FUNCTION>
			<FUNCTION>arcsech</FUNCTION>
			<FUNCTION>arcsin</FUNCTION>
			<FUNCTION>arcsinh</FUNCTION>
			<FUNCTION>arctan</FUNCTION>
			<FUNCTION>arctanh</FUNCTION>
			<FUNCTION>cat</FUNCTION>
			<FUNCTION>ceil</FUNCTION>
			<FUNCTION>close</FUNCTION>
			<FUNCTION>cos</FUNCTION>
			<FUNCTION>cosh</FUNCTION>
			<FUNCTION>cot</FUNCTION>
			<FUNCTION>coth</FUNCTION>
			<FUNCTION>csc</FUNCTION>
			<FUNCTION>csch</FUNCTION>
			<FUNCTION>csgn</FUNCTION>
			<FUNCTION>diff</FUNCTION>
			<FUNCTION>size</FUNCTION>
			<FUNCTION>length</FUNCTION>
			<FUNCTION>angle</FUNCTION>
			<FUNCTION>abs</FUNCTION>
			<FUNCTION>norm</FUNCTION>
			<FUNCTION>plot</FUNCTION>
			<FUNCTION>title</FUNCTION>
			<FUNCTION>figure</FUNCTION>
			<FUNCTION>image</FUNCTION>
			<FUNCTION>imagesc</FUNCTION>
			<FUNCTION>axis</FUNCTION>
			<FUNCTION>true</FUNCTION>
			<FUNCTION>false</FUNCTION>
			<FUNCTION>zeros</FUNCTION>
			<FUNCTION>ones</FUNCTION>

			<!-- Initially known names -->
			<LITERAL2>pi</LITERAL2>
			<LITERAL2>nan</LITERAL2>
			<LITERAL2>inf</LITERAL2>
			
		</KEYWORDS>
	</RULES>
</MODE>
