<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> <language name="B-Method" version="0.2" kateversion="2.4" section="Scientific" extensions="*.mch;*.imp;*.ref" author="Ivo Anjo (knuckles@gmail.com)" license="LGPL"> <highlighting> <list name="sections"> <item> MACHINE </item> <item> SETS </item> <item> CONSTANTS </item> <item> PROPERTIES </item> <item> PROMOTES </item> <item> INCLUDES </item> <item> USES </item> <item> SEES </item> <item> VARIABLES </item> <item> INVARIANT </item> <item> INITIALISATION </item> <item> REFINEMENT </item> <item> REFINES </item> <item> CONSTRAINTS </item> <item> IMPLEMENTATION </item> <item> IMPORTS </item> </list> <list name="sectionsBlockStart"> <item> OPERATIONS </item> </list> <list name="sectionsBlockEnd"> <item> END </item> </list> <list name="operationSections"> <item> THEN </item> <item> WHEN </item> <item> ELSE </item> <item> OR </item> <item> WHERE </item> <item> INVARIANT </item> <item> DO </item> <item> VARIANT </item> <item> IN </item> <item> ELSIF </item> </list> <list name="operationSectionsBlockStart"> <item> PRE </item> <item> IF </item> <item> ANY </item> <item> LET </item> <item> CHOICE </item> <item> CASE </item> <item> SELECT </item> <item> VAR </item> <item> WHILE </item> <item> BEGIN </item> </list> <list name="operationSectionsBlockEnd"> <item> END </item> </list> <list name="types"> <item> NAT </item> <item> NAT1 </item> </list> <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text"> <keyword attribute="SectionKeyword" context="#stay" String="sections" column="0"/> <keyword attribute="SectionKeyword" context="#stay" String="sectionsBlockStart" column="0" beginRegion="sectionsBlock"/> <keyword attribute="SectionKeyword" context="#stay" String="sectionsBlockEnd" column="0" endRegion="sectionsBlock"/> <keyword attribute="Data Type" context="#stay" String="types"/> <Int attribute="Decimal" context="#stay"/> <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="Comment"/> <keyword attribute="OperationKeyword" context="#stay" String="operationSections"/> <keyword attribute="OperationKeyword" context="#stay" String="operationSectionsBlockStart" beginRegion="CodeBlock"/> <keyword attribute="OperationKeyword" context="#stay" String="operationSectionsBlockEnd" endRegion="CodeBlock"/> </context> <context attribute="Comment" lineEndContext="#stay" name="Comment"> <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/> <IncludeRules context="##Alerts"/> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/> <itemData name="SectionKeyword" defStyleNum="dsKeyword" color="#ff0000" spellChecking="0"/> <itemData name="OperationKeyword" defStyleNum="dsKeyword" color="#0000ff" spellChecking="0"/> <itemData name="Comment" defStyleNum="dsComment"/> <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="0"/> <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/> </itemDatas> </highlighting> <general> <comments> <comment name="multiLine" start="/*" end="*/"/> </comments> <keywords casesensitive="1"/> </general> </language>