2018-07-19 02:35:27 +08:00
|
|
|
<?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>
|
2020-01-14 21:12:16 +08:00
|
|
|
<item> if </item>
|
|
|
|
<item> then </item>
|
|
|
|
<item> else </item>
|
2018-07-19 02:35:27 +08:00
|
|
|
</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>
|
2019-04-11 02:26:23 +08:00
|
|
|
<item> !mul </item>
|
2018-07-19 02:35:27 +08:00
|
|
|
<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>
|
2019-04-11 02:26:36 +08:00
|
|
|
<item> !listsplat </item>
|
2018-07-19 02:35:27 +08:00
|
|
|
<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>
|
2020-01-14 21:12:16 +08:00
|
|
|
<item> defvar </item>
|
2018-07-19 02:35:27 +08:00
|
|
|
<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;
|
|
|
|
-->
|