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

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

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

	<keyword-list _name="Keywords" style="Keyword" case-sensitive="TRUE">
		<!-- UML OCL2 Specification Page 29. Plus some other that
		 aren't included  -->
		<keyword>and</keyword>
		<keyword>attr</keyword>
		<keyword>body</keyword>
		<keyword>context</keyword>
		<keyword>derive</keyword>
		<keyword>else</keyword>
		<keyword>endif</keyword>
		<keyword>endpackage</keyword>
		<keyword>if</keyword>
		<keyword>implies</keyword>
		<keyword>in</keyword>
		<keyword>init</keyword>
		<keyword>inv</keyword>
		<keyword>let</keyword>
		<keyword>not</keyword>
		<keyword>oper</keyword>
		<keyword>or</keyword>
		<keyword>package</keyword>
		<keyword>post</keyword>
		<keyword>pre</keyword>
		<keyword>self</keyword>
		<keyword>then</keyword>
		<keyword>xor</keyword>
	</keyword-list>

	<keyword-list _name="Primitives" style="Data Type" case-sensitive="TRUE">
		<keyword>Boolean</keyword>
		<keyword>Integer</keyword>
		<keyword>Real</keyword>
		<keyword>String</keyword>
	</keyword-list>

</language>
