File: metamath.xml

package info (click to toggle)
kf6-syntax-highlighting 6.13.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 47,568 kB
  • sloc: xml: 197,750; cpp: 12,850; python: 3,023; sh: 955; perl: 546; ruby: 488; pascal: 393; javascript: 161; php: 150; jsp: 132; lisp: 131; haskell: 124; ada: 119; ansic: 107; makefile: 96; f90: 94; ml: 85; cobol: 81; yacc: 71; csh: 62; erlang: 54; sql: 51; java: 47; objc: 37; awk: 31; asm: 30; tcl: 29; fortran: 18; cs: 10
file content (125 lines) | stat: -rw-r--r-- 7,326 bytes parent folder | download | duplicates (2)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language [
	<!ENTITY label "[0-9A-Za-z.\-_]+">
	<!ENTITY symbol "[^ $]+">
]>
<!-- low priority to let Objective-C++ win for .mm files per default -->
<language name="Metamath" section="Scientific" extensions="*.mm" priority="-9"
	version="5" kateversion="5.0" author="Aaron Puchert" license="MIT">
<highlighting>
	<contexts>
		<!-- Block: ${ statement* $} -->
		<context name="Block" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="[" attribute="Keyword" context="Include"/>
			<Detect2Chars char="$" char1="{" attribute="Keyword" context="Block" beginRegion="block"/>
			<Detect2Chars char="$" char1="}" attribute="Keyword" context="#pop" endRegion="block"/>
			<Detect2Chars char="$" char1="v" attribute="Keyword" context="VariableDeclaration"/>
			<Detect2Chars char="$" char1="c" attribute="Keyword" context="ConstantDeclaration"/>
			<Detect2Chars char="$" char1="d" attribute="Keyword" context="DisjointRestriction"/>
			<RegExpr String="&label;" attribute="Label" context="LabelledStatement"/>
		</context>
		<!-- Comment: $( text $) -->
		<context name="Comment" attribute="Comment" lineEndContext="#stay">
			<RegExpr String=" ~ *&label;" attribute="ReferenceLabel" context="#stay"/>
			<Detect2Chars char="$" char1=")" attribute="Comment" context="#pop" endRegion="comment"/>
			<IncludeRules context="##Comments"/>
		</context>
		<!-- Include: $[ filename $] -->
		<context name="Include" attribute="Include" lineEndContext="#stay">
			<Detect2Chars char="$" char1="]" attribute="Keyword" context="#pop"/>
		</context>
		<!-- Variable symbol declaration: $v symbol* $. -->
		<context name="VariableDeclaration" attribute="Variable" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
		</context>
		<!-- Constant symbol declaration: $c symbol* $. -->
		<context name="ConstantDeclaration" attribute="Constant" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
		</context>
		<!-- Disjoint variable restriction: $d [variable]* $. -->
		<context name="DisjointRestriction" attribute="Variable" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
		</context>
		<!-- Labeled statements: label $* ... $. -->
		<context name="LabelledStatement" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="f" attribute="Keyword" context="#pop!VariableTypeHypothesis"/>
			<Detect2Chars char="$" char1="e" attribute="Keyword" context="#pop!LogicalHypothesis"/>
			<Detect2Chars char="$" char1="a" attribute="Keyword" context="#pop!AxiomaticAssertion"/>
			<Detect2Chars char="$" char1="p" attribute="Keyword" context="#pop!ProvableAssertion"/>
		</context>
		<!-- Variable-type hypothesis: label $f constant variable $. -->
		<context name="VariableTypeHypothesis" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
		</context>
		<!-- Logical hypothesis: label $e constant symbol* $. -->
		<context name="LogicalHypothesis" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
		</context>
		<!-- Axiomatic assertion: label $a constant symbol* $. -->
		<context name="AxiomaticAssertion" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
		</context>
		<!-- Provable assertion: label $p constant symbol* $= label* $. -->
		<context name="ProvableAssertion" attribute="Normal" lineEndContext="#stay">
			<DetectSpaces/>
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<RegExpr String="&symbol;" attribute="Constant" context="#pop!ProvableAssertionSymbolList"/>
		</context>
		<!-- List of symbols, ending either with $. or $= -->
		<context name="SymbolList" attribute="Variable" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
		</context>
		<context name="ProvableAssertionSymbolList" attribute="Variable" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="=" attribute="Keyword" context="#pop!Proof" beginRegion="proof"/>
		</context>
		<!-- Proof: label* -->
		<context name="Proof" attribute="Label" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<DetectChar char="(" attribute="Keyword" context="#pop!CompressedProofStatements"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop" endRegion="proof"/>
		</context>
		<!-- Compressed proof syntax: instead of label* we have (label*) [A-Z]* -->
		<context name="CompressedProofStatements" attribute="Label" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<DetectChar char=")" attribute="Keyword" context="#pop!CompressedProofSteps"/>
		</context>
		<context name="CompressedProofSteps" attribute="CompressedProof" lineEndContext="#stay">
			<Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
			<Detect2Chars char="$" char1="." attribute="Keyword" context="#pop" endRegion="proof"/>
		</context>
	</contexts>
	<itemDatas>
		<itemData name="Normal"   defStyleNum="dsNormal" spellChecking="false"/>
		<itemData name="Comment"  defStyleNum="dsComment"/>
		<itemData name="Include"  defStyleNum="dsImport" spellChecking="false"/>
		<itemData name="Keyword"  defStyleNum="dsKeyword" spellChecking="false"/>
		<itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
		<itemData name="Constant" defStyleNum="dsFunction" spellChecking="false"/>
		<itemData name="Label"    defStyleNum="dsSpecialString" spellChecking="false"/>
		<itemData name="ReferenceLabel"  defStyleNum="dsCommentVar" spellChecking="false"/>
		<itemData name="CompressedProof" defStyleNum="dsString" spellChecking="false"/>
	</itemDatas>
</highlighting>
<general>
	<keywords casesensitive="1"/>
	<comments>
		<comment name="multiLine" start="$(" end="$)" region="comment"/>
	</comments>
</general>
</language>
<!-- kate: replace-tabs off; -->