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