summaryrefslogtreecommitdiffstats
path: root/kate/data/bmethod.xml
blob: e74aa3c77ee9caf015fc0824e733ed3467846ead (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="B-Method" version="0.02" 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"/>
		<itemData name="SectionKeyword" defStyleNum="dsKeyword" color="#ff0000"/>
		<itemData name="OperationKeyword" defStyleNum="dsKeyword" color="#0000ff"/>
		<itemData name="Comment" defStyleNum="dsComment"/>
		<itemData name="Data Type" defStyleNum="dsDataType"/>
		<itemData name="Decimal" defStyleNum="dsDecVal"/>
	</itemDatas>
</highlighting>

<general>
	<comments>
		<comment name="multiLine" start="/*" end="*/"/>
	</comments>
	<keywords casesensitive="1"/>
</general>

</language>