<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="IDL" version="1.0" _section="Sources" mimetypes="text/x-idl">

	<escape-char>\</escape-char>

	<block-comment _name = "Block Comment" style = "Comment">
		<start-regex>/\*</start-regex>
        	<end-regex>\*/</end-regex>
	</block-comment>

	<line-comment _name = "Line Comment" style= "Comment">
		<start-regex>//</start-regex>
	</line-comment>

	<block-comment _name = "Sectional" style = "Preprocessor">
		<start-regex>%\{</start-regex>
        	<end-regex>%\}</end-regex>
	</block-comment>

	<string _name = "String" style = "String" end-at-line-end = "TRUE">
		<start-regex>&quot;</start-regex>
		<end-regex>&quot;</end-regex>
	</string>

	<syntax-item _name = "Include/Pragma" style = "Preprocessor">
		<start-regex>^#[ \t]*(include|pragma)</start-regex>
		<end-regex>\n</end-regex>
	</syntax-item>

	<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
		<keyword>abstract</keyword>
		<keyword>attribute</keyword>		
		<keyword>case</keyword>
		<keyword>const</keyword>
		<keyword>context</keyword>
		<keyword>custom</keyword>
		<keyword>default</keyword>
		<keyword>exception</keyword>
		<keyword>enum</keyword>
		<keyword>factory</keyword>
		<keyword>FALSE</keyword>
		<keyword>in</keyword>
		<keyword>inout</keyword>
		<keyword>interface</keyword>
		<keyword>local</keyword>
		<keyword>module</keyword>
		<keyword>native</keyword>
		<keyword>oneway</keyword>
		<keyword>out</keyword>
		<keyword>private</keyword>
		<keyword>public</keyword>
		<keyword>raises</keyword>
		<keyword>readonly</keyword>
		<keyword>struct</keyword>
		<keyword>support</keyword>
		<keyword>switch</keyword>
		<keyword>TRUE</keyword>
		<keyword>truncatable</keyword>
		<keyword>typedef</keyword>
		<keyword>union</keyword>
		<keyword>valuetype</keyword>
	</keyword-list>

	<keyword-list _name = "Types" style = "Data Type" case-sensitive="TRUE">
		<keyword>any</keyword>
		<keyword>boolean</keyword>
		<keyword>char</keyword>
		<keyword>double</keyword>
		<keyword>fixed</keyword>
		<keyword>float</keyword>
		<keyword>long</keyword>
		<keyword>Object</keyword>
		<keyword>octet</keyword>
		<keyword>sequence</keyword>
		<keyword>short</keyword>
		<keyword>string</keyword>
		<keyword>unsigned</keyword>
		<keyword>ValueBase</keyword>
		<keyword>void</keyword>
		<keyword>wchar</keyword>
		<keyword>wstring</keyword>
	</keyword-list>

	<keyword-list _name = "Preprocessor Definitions" style = "Preprocessor" case-sensitive="TRUE"
		match-empty-string-at-beginning = "FALSE"
		match-empty-string-at-end = "TRUE"
		beginning-regex = "^[ \t]*#[ \t]*">
		<keyword>if</keyword>
		<keyword>ifdef</keyword>
		<keyword>ifndef</keyword>
		<keyword>else</keyword>
		<keyword>elif</keyword>
		<keyword>define</keyword>
		<keyword>endif</keyword>
		<keyword>undef</keyword>
	</keyword-list>

</language>

