Home | History | Annotate | Download | only in kate
      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <!DOCTYPE language SYSTEM "language.dtd">
      3 <language name="LLVM" section="Sources"
      4           version="1.00" kateversion="3.4.4"
      5           extensions="*.ll"
      6           mimetype=""
      7           author="LLVM Team"
      8           license="LLVM Release License">
      9   <highlighting>
     10     <list name="keywords">
     11       <item> begin </item>
     12       <item> end </item>
     13       <item> true </item>
     14       <item> false </item>
     15       <item> declare </item>
     16       <item> define </item>
     17       <item> global </item>
     18       <item> constant </item>
     19       <item> gc </item>
     20       <item> module </item>
     21       <item> asm </item>
     22       <item> target </item>
     23       <item> datalayout </item>
     24       <item> null </item>
     25       <item> undef </item>
     26       <item> blockaddress </item>
     27       <item> sideeffect </item>
     28       <item> alignstack </item>
     29       <item> to </item>
     30       <item> unwind </item>
     31       <item> nuw </item>
     32       <item> nsw </item>
     33       <item> inbounds </item>
     34       <item> tail </item>
     35       <item> triple </item>
     36       <item> type </item>
     37       <item> align </item>
     38       <item> alias </item>
     39     </list>
     40     <list name="linkage-types">
     41       <item> private </item>
     42       <item> linker_private </item>
     43       <item> linker_private_weak </item>
     44       <item> linker_private_weak_def_auto </item>
     45       <item> internal </item>
     46       <item> available_externally </item>
     47       <item> linkonce </item>
     48       <item> weak </item>
     49       <item> common </item>
     50       <item> appending </item>
     51       <item> extern_weak </item>
     52       <item> linkonce_odr </item>
     53       <item> weak_odr </item>
     54       <item> dllimport </item>
     55       <item> dllexport </item>
     56     </list>
     57     <list name="calling-conventions">
     58       <item> ccc </item>
     59       <item> fastcc </item>
     60       <item> coldcc </item>
     61       <item> cc </item>
     62     </list>
     63     <list name="visibility-styles">
     64       <item> default </item>
     65       <item> hidden </item>
     66       <item> protected </item>
     67     </list>
     68     <list name="parameter-attributes">
     69       <item> zeroext </item>
     70       <item> signext </item>
     71       <item> inreg </item>
     72       <item> byval </item>
     73       <item> sret </item>
     74       <item> noalias </item>
     75       <item> nocapture </item>
     76       <item> nest </item>
     77     </list>
     78     <list name="function-attributes">
     79       <item> alignstack </item>
     80       <item> alwaysinline </item>
     81       <item> inlinehint </item>
     82       <item> naked </item>
     83       <item> noimplicitfloat </item>
     84       <item> noinline </item>
     85       <item> noredzone </item>
     86       <item> noreturn </item>
     87       <item> nounwind </item>
     88       <item> optsize </item>
     89       <item> readnone </item>
     90       <item> readonly </item>
     91       <item> ssp </item>
     92       <item> sspreq </item>
     93     </list>
     94     <list name="types">
     95       <item> float </item>
     96       <item> double </item>
     97       <item> fp128 </item>
     98       <item> x86_fp80 </item>
     99       <item> ppc_fp128 </item>
    100       <item> x86mmx </item>
    101       <item> void </item>
    102       <item> label </item>
    103       <item> metadata </item>
    104       <item> opaque </item>
    105     </list>
    106     <list name="intrinsic-global-variables">
    107       <item> llvm.used </item>
    108       <item> llvm.compiler.used </item>
    109       <item> llvm.global_ctors </item>
    110       <item> llvm.global_dtors </item>
    111     </list>
    112     <list name="instructions">
    113       <item> ret </item>
    114       <item> br </item>
    115       <item> switch </item>
    116       <item> indirectbr </item>
    117       <item> invoke </item>
    118       <item> unwind </item>
    119       <item> unreachable </item>
    120       <item> add </item>
    121       <item> fadd </item>
    122       <item> sub </item>
    123       <item> fsub </item>
    124       <item> mul </item>
    125       <item> fmul </item>
    126       <item> udiv </item>
    127       <item> sdiv </item>
    128       <item> fdiv </item>
    129       <item> urem </item>
    130       <item> srem </item>
    131       <item> frem </item>
    132       <item> shl </item>
    133       <item> lshr </item>
    134       <item> ashr </item>
    135       <item> and </item>
    136       <item> or </item>
    137       <item> xor </item>
    138       <item> extractelement </item>
    139       <item> insertelement </item>
    140       <item> shufflevector </item>
    141       <item> extractvalue </item>
    142       <item> insertvalue </item>
    143       <item> alloca </item>
    144       <item> load </item>
    145       <item> store </item>
    146       <item> getelementptr </item>
    147       <item> trunc </item>
    148       <item> zext </item>
    149       <item> sext </item>
    150       <item> fptrunc </item>
    151       <item> fpext </item>
    152       <item> fptoui </item>
    153       <item> fptosi </item>
    154       <item> uitofp </item>
    155       <item> sitofp </item>
    156       <item> ptrtoint </item>
    157       <item> inttoptr </item>
    158       <item> bitcast </item>
    159       <item> icmp </item>
    160       <item> fcmp </item>
    161       <item> phi </item>
    162       <item> select </item>
    163       <item> call </item>
    164       <item> va_arg </item>
    165     </list>
    166     <list name="conditions">
    167       <item> eq </item>
    168       <item> ne </item>
    169       <item> ugt </item>
    170       <item> uge </item>
    171       <item> ult </item>
    172       <item> ule </item>
    173       <item> sgt </item>
    174       <item> sge </item>
    175       <item> slt </item>
    176       <item> sle </item>
    177       <item> oeq </item>
    178       <item> ogt </item>
    179       <item> oge </item>
    180       <item> olt </item>
    181       <item> ole </item>
    182       <item> one </item>
    183       <item> ord </item>
    184       <item> ueq </item>
    185       <item> une </item>
    186       <item> uno </item>
    187     </list>
    188     <contexts>
    189       <context name="llvm" attribute="Normal Text" lineEndContext="#stay">
    190         <DetectSpaces />
    191         <AnyChar String="@%" attribute="Symbol" context="symbol" />
    192 
    193         <DetectChar char="{" beginRegion="Brace1" />
    194         <DetectChar char="}" endRegion="Brace1" />
    195         <DetectChar char=";" attribute="Comment" context="comment" />
    196         <DetectChar attribute="String" context="string" char="&quot;" />
    197         <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
    198         <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
    199         <Int attribute="Int" context="#stay" />
    200 
    201         <keyword attribute="Keyword"   String="keywords" />
    202         <keyword attribute="Keyword"   String="linkage-types" />
    203         <keyword attribute="Keyword"   String="calling-conventions" />
    204         <keyword attribute="Keyword"   String="visibility-styles" />
    205         <keyword attribute="Keyword"   String="parameter-attributes" />
    206         <keyword attribute="Keyword"   String="function-attributes" />
    207         <keyword attribute="Data Type" String="types" />
    208         <keyword attribute="Keyword"   String="intrinsic-global-variables" />
    209         <keyword attribute="Keyword"   String="instructions" />
    210         <keyword attribute="Keyword"   String="conditions" />
    211       </context>
    212 
    213       <context name="symbol" attribute="Symbol" lineEndContext="#pop">
    214         <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
    215         <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
    216       </context>
    217 
    218       <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
    219         <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
    220       </context>
    221 
    222       <context name="string" attribute="String" lineEndContext="#stay">
    223         <DetectChar attribute="String" context="#pop" char="&quot;" />
    224       </context>
    225 
    226       <context name="comment" attribute="Comment" lineEndContext="#pop">
    227         <DetectSpaces />
    228         <!-- TODO: Add FileCheck syntax highlighting -->
    229         <IncludeRules context="##Alerts" />
    230         <DetectIdentifier />
    231       </context>
    232     </contexts>
    233     <itemDatas>
    234       <itemData name="Normal Text" defStyleNum="dsNormal" />
    235       <itemData name="Keyword" defStyleNum="dsKeyword" />
    236       <itemData name="Data Type" defStyleNum="dsDataType" />
    237       <itemData name="Int" defStyleNum="dsDecVal" />
    238       <itemData name="Hex" defStyleNum="dsBaseN" />
    239       <itemData name="Float" defStyleNum="dsFloat" />
    240       <itemData name="String" defStyleNum="dsString" />
    241       <itemData name="Comment" defStyleNum="dsComment" />
    242       <itemData name="Function" defStyleNum="dsFunction" />
    243       <itemData name="Symbol" defStyleNum="dsFunction" />
    244     </itemDatas>
    245   </highlighting>
    246   <general>
    247     <comments>
    248       <comment name="singleLine" start=";" />
    249     </comments>
    250     <keywords casesensitive="1" weakDeliminator="." />
    251   </general>
    252 </language>
    253 <!--
    254 // kate: space-indent on; indent-width 2; replace-tabs on;
    255 -->
    256