66
|
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> |