...
1<lexer>
2 <config>
3 <name>MLIR</name>
4 <alias>mlir</alias>
5 <filename>*.mlir</filename>
6 <mime_type>text/x-mlir</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="(constant|return)">
19 <token type="KeywordType"/>
20 </rule>
21 <rule pattern="(memref|tensor|vector|func|loc)">
22 <token type="KeywordType"/>
23 </rule>
24 <rule pattern="bf16|f16|f32|f64|index">
25 <token type="Keyword"/>
26 </rule>
27 <rule pattern="i[1-9]\d*">
28 <token type="Keyword"/>
29 </rule>
30 </state>
31 <state name="root">
32 <rule>
33 <include state="whitespace"/>
34 </rule>
35 <rule pattern="c?"[^"]*?"">
36 <token type="LiteralString"/>
37 </rule>
38 <rule pattern="\^([-a-zA-Z$._][\w\-$.0-9]*)\s*">
39 <token type="NameLabel"/>
40 </rule>
41 <rule pattern="([\w\d_$.]+)\s*=">
42 <token type="NameLabel"/>
43 </rule>
44 <rule>
45 <include state="keyword"/>
46 </rule>
47 <rule pattern="->">
48 <token type="Punctuation"/>
49 </rule>
50 <rule pattern="@([\w_][\w\d_$.]*)">
51 <token type="NameFunction"/>
52 </rule>
53 <rule pattern="[%#][\w\d_$.]+">
54 <token type="NameVariable"/>
55 </rule>
56 <rule pattern="([1-9?][\d?]*\s*x)+">
57 <token type="LiteralNumber"/>
58 </rule>
59 <rule pattern="0[xX][a-fA-F0-9]+">
60 <token type="LiteralNumber"/>
61 </rule>
62 <rule pattern="-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?">
63 <token type="LiteralNumber"/>
64 </rule>
65 <rule pattern="[=<>{}\[\]()*.,!:]|x\b">
66 <token type="Punctuation"/>
67 </rule>
68 <rule pattern="[\w\d]+">
69 <token type="Text"/>
70 </rule>
71 </state>
72 </rules>
73</lexer>
View as plain text