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