|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
|
|
<language name="B-Method" version="0.1" 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="#pop" 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>
|