--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="LLVM TableGen" section="Sources" version="1.00" kateversion="3.4.4" extensions="*.td" mimetype="" author="LLVM Team" license="LLVM Release License">
+ <highlighting>
+ <list name="keywords">
+ <item> foreach </item>
+ <item> field </item>
+ </list>
+ <list name="operator-keywords">
+ <item> in </item>
+ </list>
+ <list name="bang-operators">
+ <item> !eq </item>
+ <item> !if </item>
+ <item> !head </item>
+ <item> !tail </item>
+ <item> !con </item>
+ <item> !add </item>
+ <item> !shl </item>
+ <item> !sra </item>
+ <item> !srl </item>
+ <item> !and </item>
+ <item> !or </item>
+ <item> !empty </item>
+ <item> !subst </item>
+ <item> !foreach </item>
+ <item> !strconcat </item>
+ <item> !cast </item>
+ <item> !listconcat </item>
+ <item> !size </item>
+ <item> !foldl </item>
+ <item> !isa </item>
+ <item> !dag </item>
+ <item> !le </item>
+ <item> !lt </item>
+ <item> !ge </item>
+ <item> !gt </item>
+ <item> !ne </item>
+ </list>
+ <list name="objects">
+ <item> class </item>
+ <item> def </item>
+ <item> defm </item>
+ <item> defset </item>
+ <item> let </item>
+ <item> multiclass </item>
+ </list>
+ <list name="class-like">
+ <item> class </item>
+ <item> def </item>
+ <item> defm </item>
+ <item> defset </item>
+ <item> multiclass </item>
+ </list>
+ <list name="variable-like">
+ <item> let </item>
+ </list>
+ <list name="types">
+ <item> string </item>
+ <item> code </item>
+ <item> bit </item>
+ <item> int </item>
+ <item> dag </item>
+ <item> bits </item>
+ <item> list </item>
+ </list>
+ <contexts>
+ <context name="llvm tablegen" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces/>
+ <Detect2Chars attribute="Comment" context="Single-line comment" char="/" char1="/"/>
+ <Detect2Chars attribute="Comment" context="Multi-line comment" char="/" char1="*" beginRegion="Comment"/>
+ <keyword attribute="Keyword" context="Definition" String="class-like"/>
+ <keyword attribute="Keyword" context="Let expression" String="variable-like"/>
+ <keyword attribute="Keyword" String="objects"/>
+ <keyword attribute="Keyword" String="keywords"/>
+ <keyword attribute="Keyword" String="operator-keywords"/>
+ <keyword attribute="Keyword" String="bang-operators"/>
+ <keyword attribute="Data Type" String="types"/>
+ <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
+ <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
+ <Int attribute="Int" context="#stay"/>
+ <RegExpr attribute="Normal Text" String="[a-zA-Z_][a-zA-Z_0-9]{2,}" context="#stay"/>
+ </context>
+ <context attribute="Comment" lineEndContext="#pop" name="Single-line comment">
+ <IncludeRules context="##Alerts"/>
+ <LineContinue attribute="Comment" context="#stay"/>
+ </context>
+ <context attribute="Comment" lineEndContext="#stay" name="Multi-line comment">
+ <Detect2Chars attribute="Comment" context="Multi-line comment" char="/" char1="*" beginRegion="Comment"/>
+ <IncludeRules context="##Alerts"/>
+ <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+ </context>
+ <context attribute="Normal Text" lineEndContext="#stay" name="Definition">
+ <DetectSpaces/>
+ <RegExpr attribute="Type" context="#stay" String="[a-zA-Z0-9_]+"/>
+ <DetectSpaces/>
+ <DetectChar char=":" />
+ <DetectSpaces/>
+ <RegExpr attribute="Type" context="#stay" String="[a-zA-Z0-9_]+"/>
+ <AnyChar context="#pop" lookAhead="true" String=" :;{<" />
+ </context>
+ <context attribute="Normal Text" lineEndContext="#stay" name="Let expression">
+ <DetectSpaces/>
+ <RegExpr attribute="Variable" context="#pop" String="[a-zA-Z0-9_]+"/>
+ </context>
+ </contexts>
+ <itemDatas>
+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>
+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
+ <itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
+ <itemData name="Int" defStyleNum="dsDecVal"/>
+ <itemData name="Hex" defStyleNum="dsBaseN"/>
+ <itemData name="Float" defStyleNum="dsFloat"/>
+ <itemData name="String" defStyleNum="dsString"/>
+ <itemData name="Comment" defStyleNum="dsComment"/>
+ <itemData name="Function" defStyleNum="dsFunction"/>
+ <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
+ <itemData name="SPECIAL" defStyleNum="dsAlert" strikeout="true" bold="true" underline="true" italic="true"/>
+ </itemDatas>
+ </highlighting>
+ <general>
+ <comments>
+ <comment name="singleLine" start="//"/>
+ <comment name="multiLine" start="/*" end="*/"/>
+ </comments>
+ <keywords casesensitive="1" weakDeliminator=".!"/>
+ </general>
+</language>
+<!--
+// kate: space-indent on; indent-width 2; replace-tabs on;
+-->