147 lines · plain
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