[llvm-exegesis][NFC] Improve parsing of the YAML files
[llvm-core.git] / utils / kate / llvm-tablegen.xml
blobccca1d3cf14e5df168eb15be0e8b43829364ee30
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE language SYSTEM "language.dtd">
3 <language name="LLVM TableGen" section="Sources" version="1.00" kateversion="3.4.4" extensions="*.td" mimetype="" author="LLVM Team" license="LLVM Release License">
4   <highlighting>
5     <list name="keywords">
6       <item> foreach </item>
7       <item> field </item>
8     </list>
9     <list name="operator-keywords">
10       <item> in </item>
11     </list>
12     <list name="bang-operators">
13       <item> !eq </item>
14       <item> !if </item>
15       <item> !head </item>
16       <item> !tail </item>
17       <item> !con </item>
18       <item> !add </item>
19       <item> !shl </item>
20       <item> !sra </item>
21       <item> !srl </item>
22       <item> !and </item>
23       <item> !or </item>
24       <item> !empty </item>
25       <item> !subst </item>
26       <item> !foreach </item>
27       <item> !strconcat </item>
28       <item> !cast </item>
29       <item> !listconcat </item>
30       <item> !size </item>
31       <item> !foldl </item>
32       <item> !isa </item>
33       <item> !dag </item>
34       <item> !le </item>
35       <item> !lt </item>
36       <item> !ge </item>
37       <item> !gt </item>
38       <item> !ne </item>
39     </list>
40     <list name="objects">
41       <item> class </item>
42       <item> def </item>
43       <item> defm </item>
44       <item> defset </item>
45       <item> let </item>
46       <item> multiclass </item>
47     </list>
48     <list name="class-like">
49       <item> class </item>
50       <item> def </item>
51       <item> defm </item>
52       <item> defset </item>
53       <item> multiclass </item>
54     </list>
55     <list name="variable-like">
56       <item> let </item>
57     </list>
58     <list name="types">
59       <item> string </item>
60       <item> code </item>
61       <item> bit </item>
62       <item> int </item>
63       <item> dag </item>
64       <item> bits </item>
65       <item> list </item>
66     </list>
67     <contexts>
68       <context name="llvm tablegen" attribute="Normal Text" lineEndContext="#stay">
69         <DetectSpaces/>
70         <Detect2Chars attribute="Comment" context="Single-line comment" char="/" char1="/"/>
71         <Detect2Chars attribute="Comment" context="Multi-line comment" char="/" char1="*" beginRegion="Comment"/>
72         <keyword attribute="Keyword" context="Definition" String="class-like"/>
73         <keyword attribute="Keyword" context="Let expression" String="variable-like"/>
74         <keyword attribute="Keyword" String="objects"/>
75         <keyword attribute="Keyword" String="keywords"/>
76         <keyword attribute="Keyword" String="operator-keywords"/>
77         <keyword attribute="Keyword" String="bang-operators"/>
78         <keyword attribute="Data Type" String="types"/>
79         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
80         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
81         <Int attribute="Int" context="#stay"/>
82         <RegExpr attribute="Normal Text" String="[a-zA-Z_][a-zA-Z_0-9]{2,}" context="#stay"/>
83       </context>
84       <context attribute="Comment" lineEndContext="#pop" name="Single-line comment">
85         <IncludeRules context="##Alerts"/>
86         <LineContinue attribute="Comment" context="#stay"/>
87       </context>
88       <context attribute="Comment" lineEndContext="#stay" name="Multi-line comment">
89         <Detect2Chars attribute="Comment" context="Multi-line comment" char="/" char1="*" beginRegion="Comment"/>
90         <IncludeRules context="##Alerts"/>
91         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
92       </context>
93       <context attribute="Normal Text" lineEndContext="#stay" name="Definition">
94         <DetectSpaces/>
95         <RegExpr attribute="Type" context="#stay" String="[a-zA-Z0-9_]+"/>
96         <DetectSpaces/>
97         <DetectChar char=":" />
98         <DetectSpaces/>
99         <RegExpr attribute="Type" context="#stay" String="[a-zA-Z0-9_]+"/>
100         <AnyChar context="#pop" lookAhead="true" String=" :;{&lt;" />
101       </context>
102       <context attribute="Normal Text" lineEndContext="#stay" name="Let expression">
103         <DetectSpaces/>
104         <RegExpr attribute="Variable" context="#pop" String="[a-zA-Z0-9_]+"/>
105       </context>
106     </contexts>
107     <itemDatas>
108       <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
109       <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>
110       <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
111       <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
112       <itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
113       <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
114       <itemData name="Int" defStyleNum="dsDecVal"/>
115       <itemData name="Hex" defStyleNum="dsBaseN"/>
116       <itemData name="Float" defStyleNum="dsFloat"/>
117       <itemData name="String" defStyleNum="dsString"/>
118       <itemData name="Comment" defStyleNum="dsComment"/>
119       <itemData name="Function" defStyleNum="dsFunction"/>
120       <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
121       <itemData name="SPECIAL" defStyleNum="dsAlert" strikeout="true" bold="true" underline="true" italic="true"/>
122     </itemDatas>
123   </highlighting>
124   <general>
125     <comments>
126       <comment name="singleLine" start="//"/>
127       <comment name="multiLine" start="/*" end="*/"/>
128     </comments>
129     <keywords casesensitive="1" weakDeliminator=".!"/>
130   </general>
131 </language>
132 <!--
133 // kate: space-indent on; indent-width 2; replace-tabs on;