...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/tablegen.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>TableGen</name>
     4    <alias>tablegen</alias>
     5    <filename>*.td</filename>
     6    <mime_type>text/x-tablegen</mime_type>
     7  </config>
     8  <rules>
     9    <state name="whitespace">
    10      <rule pattern="(\n|\s)+">
    11        <token type="Text"/>
    12      </rule>
    13      <rule pattern="//.*?\n">
    14        <token type="Comment"/>
    15      </rule>
    16    </state>
    17    <state name="keyword">
    18      <rule pattern="(multiclass|foreach|string|class|field|defm|bits|code|list|def|int|let|dag|bit|in)\b">
    19        <token type="Keyword"/>
    20      </rule>
    21    </state>
    22    <state name="root">
    23      <rule>
    24        <include state="macro"/>
    25      </rule>
    26      <rule>
    27        <include state="whitespace"/>
    28      </rule>
    29      <rule pattern="c?&#34;[^&#34;]*?&#34;">
    30        <token type="LiteralString"/>
    31      </rule>
    32      <rule>
    33        <include state="keyword"/>
    34      </rule>
    35      <rule pattern="\$[_a-zA-Z][_\w]*">
    36        <token type="NameVariable"/>
    37      </rule>
    38      <rule pattern="\d*[_a-zA-Z][_\w]*">
    39        <token type="NameVariable"/>
    40      </rule>
    41      <rule pattern="\[\{[\w\W]*?\}\]">
    42        <token type="LiteralString"/>
    43      </rule>
    44      <rule pattern="[+-]?\d+|0x[\da-fA-F]+|0b[01]+">
    45        <token type="LiteralNumber"/>
    46      </rule>
    47      <rule pattern="[=&lt;&gt;{}\[\]()*.,!:;]">
    48        <token type="Punctuation"/>
    49      </rule>
    50    </state>
    51    <state name="macro">
    52      <rule pattern="(#include\s+)(&#34;[^&#34;]*&#34;)">
    53        <bygroups>
    54          <token type="CommentPreproc"/>
    55          <token type="LiteralString"/>
    56        </bygroups>
    57      </rule>
    58      <rule pattern="^\s*#(ifdef|ifndef)\s+[_\w][_\w\d]*">
    59        <token type="CommentPreproc"/>
    60      </rule>
    61      <rule pattern="^\s*#define\s+[_\w][_\w\d]*">
    62        <token type="CommentPreproc"/>
    63      </rule>
    64      <rule pattern="^\s*#endif">
    65        <token type="CommentPreproc"/>
    66      </rule>
    67    </state>
    68  </rules>
    69</lexer>

View as plain text