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       <item> sspstrong </item>
     94     </list>
     95     <list name="types">
     96       <item> float </item>
     97       <item> double </item>
     98       <item> fp128 </item>
     99       <item> x86_fp80 </item>
    100       <item> ppc_fp128 </item>
    101       <item> x86mmx </item>
    102       <item> void </item>
    103       <item> label </item>
    104       <item> metadata </item>
    105       <item> opaque </item>
    106     </list>
    107     <list name="intrinsic-global-variables">
    108       <item> llvm.used </item>
    109       <item> llvm.compiler.used </item>
    110       <item> llvm.global_ctors </item>
    111       <item> llvm.global_dtors </item>
    112     </list>
    113     <list name="instructions">
    114       <item> ret </item>
    115       <item> br </item>
    116       <item> switch </item>
    117       <item> indirectbr </item>
    118       <item> invoke </item>
    119       <item> unwind </item>
    120       <item> unreachable </item>
    121       <item> add </item>
    122       <item> fadd </item>
    123       <item> sub </item>
    124       <item> fsub </item>
    125       <item> mul </item>
    126       <item> fmul </item>
    127       <item> udiv </item>
    128       <item> sdiv </item>
    129       <item> fdiv </item>
    130       <item> urem </item>
    131       <item> srem </item>
    132       <item> frem </item>
    133       <item> shl </item>
    134       <item> lshr </item>
    135       <item> ashr </item>
    136       <item> and </item>
    137       <item> or </item>
    138       <item> xor </item>
    139       <item> extractelement </item>
    140       <item> insertelement </item>
    141       <item> shufflevector </item>
    142       <item> extractvalue </item>
    143       <item> insertvalue </item>
    144       <item> alloca </item>
    145       <item> load </item>
    146       <item> store </item>
    147       <item> getelementptr </item>
    148       <item> trunc </item>
    149       <item> zext </item>
    150       <item> sext </item>
    151       <item> fptrunc </item>
    152       <item> fpext </item>
    153       <item> fptoui </item>
    154       <item> fptosi </item>
    155       <item> uitofp </item>
    156       <item> sitofp </item>
    157       <item> ptrtoint </item>
    158       <item> inttoptr </item>
    159       <item> bitcast </item>
    160       <item> icmp </item>
    161       <item> fcmp </item>
    162       <item> phi </item>
    163       <item> select </item>
    164       <item> call </item>
    165       <item> va_arg </item>
    166     </list>
    167     <list name="conditions">
    168       <item> eq </item>
    169       <item> ne </item>
    170       <item> ugt </item>
    171       <item> uge </item>
    172       <item> ult </item>
    173       <item> ule </item>
    174       <item> sgt </item>
    175       <item> sge </item>
    176       <item> slt </item>
    177       <item> sle </item>
    178       <item> oeq </item>
    179       <item> ogt </item>
    180       <item> oge </item>
    181       <item> olt </item>
    182       <item> ole </item>
    183       <item> one </item>
    184       <item> ord </item>
    185       <item> ueq </item>
    186       <item> une </item>
    187       <item> uno </item>
    188     </list>
    189     <contexts>
    190       <context name="llvm" attribute="Normal Text" lineEndContext="#stay">
    191         <DetectSpaces />
    192         <AnyChar String="@%" attribute="Symbol" context="symbol" />
    193 
    194         <DetectChar char="{" beginRegion="Brace1" />
    195         <DetectChar char="}" endRegion="Brace1" />
    196         <DetectChar char=";" attribute="Comment" context="comment" />
    197         <DetectChar attribute="String" context="string" char="&quot;" />
    198         <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
    199         <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
    200         <Int attribute="Int" context="#stay" />
    201 
    202         <keyword attribute="Keyword"   String="keywords" />
    203         <keyword attribute="Keyword"   String="linkage-types" />
    204         <keyword attribute="Keyword"   String="calling-conventions" />
    205         <keyword attribute="Keyword"   String="visibility-styles" />
    206         <keyword attribute="Keyword"   String="parameter-attributes" />
    207         <keyword attribute="Keyword"   String="function-attributes" />
    208         <keyword attribute="Data Type" String="types" />
    209         <keyword attribute="Keyword"   String="intrinsic-global-variables" />
    210         <keyword attribute="Keyword"   String="instructions" />
    211         <keyword attribute="Keyword"   String="conditions" />
    212       </context>
    213 
    214       <context name="symbol" attribute="Symbol" lineEndContext="#pop">
    215         <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
    216         <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
    217       </context>
    218 
    219       <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
    220         <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
    221       </context>
    222 
    223       <context name="string" attribute="String" lineEndContext="#stay">
    224         <DetectChar attribute="String" context="#pop" char="&quot;" />
    225       </context>
    226 
    227       <context name="comment" attribute="Comment" lineEndContext="#pop">
    228         <DetectSpaces />
    229         <!-- TODO: Add FileCheck syntax highlighting -->
    230         <IncludeRules context="##Alerts" />
    231         <DetectIdentifier />
    232       </context>
    233     </contexts>
    234     <itemDatas>
    235       <itemData name="Normal Text" defStyleNum="dsNormal" />
    236       <itemData name="Keyword" defStyleNum="dsKeyword" />
    237       <itemData name="Data Type" defStyleNum="dsDataType" />
    238       <itemData name="Int" defStyleNum="dsDecVal" />
    239       <itemData name="Hex" defStyleNum="dsBaseN" />
    240       <itemData name="Float" defStyleNum="dsFloat" />
    241       <itemData name="String" defStyleNum="dsString" />
    242       <itemData name="Comment" defStyleNum="dsComment" />
    243       <itemData name="Function" defStyleNum="dsFunction" />
    244       <itemData name="Symbol" defStyleNum="dsFunction" />
    245     </itemDatas>
    246   </highlighting>
    247   <general>
    248     <comments>
    249       <comment name="singleLine" start=";" />
    250     </comments>
    251     <keywords casesensitive="1" weakDeliminator="." />
    252   </general>
    253 </language>
    254 <!--
    255 // kate: space-indent on; indent-width 2; replace-tabs on;
    256 -->
    257