...
1<lexer>
2 <config>
3 <name>Terminfo</name>
4 <alias>terminfo</alias>
5 <filename>terminfo</filename>
6 <filename>terminfo.src</filename>
7 </config>
8 <rules>
9 <state name="names">
10 <rule pattern="\n">
11 <token type="Text"/>
12 <pop depth="1"/>
13 </rule>
14 <rule pattern="(,)([ \t]*)">
15 <bygroups>
16 <token type="Punctuation"/>
17 <token type="Text"/>
18 </bygroups>
19 <push state="defs"/>
20 </rule>
21 <rule pattern="\|">
22 <token type="Punctuation"/>
23 </rule>
24 <rule pattern="[^,|]+">
25 <token type="NameAttribute"/>
26 </rule>
27 </state>
28 <state name="defs">
29 <rule pattern="\n[ \t]+">
30 <token type="Text"/>
31 </rule>
32 <rule pattern="\n">
33 <token type="Text"/>
34 <pop depth="2"/>
35 </rule>
36 <rule pattern="(#)([0-9]+)">
37 <bygroups>
38 <token type="Operator"/>
39 <token type="LiteralNumber"/>
40 </bygroups>
41 </rule>
42 <rule pattern="=">
43 <token type="Operator"/>
44 <push state="data"/>
45 </rule>
46 <rule pattern="(,)([ \t]*)">
47 <bygroups>
48 <token type="Punctuation"/>
49 <token type="Text"/>
50 </bygroups>
51 </rule>
52 <rule pattern="[^\s,=#]+">
53 <token type="NameClass"/>
54 </rule>
55 </state>
56 <state name="data">
57 <rule pattern="\\[,\\]">
58 <token type="Literal"/>
59 </rule>
60 <rule pattern="(,)([ \t]*)">
61 <bygroups>
62 <token type="Punctuation"/>
63 <token type="Text"/>
64 </bygroups>
65 <pop depth="1"/>
66 </rule>
67 <rule pattern="[^\\,]+">
68 <token type="Literal"/>
69 </rule>
70 <rule pattern=".">
71 <token type="Literal"/>
72 </rule>
73 </state>
74 <state name="root">
75 <rule pattern="^#.*$">
76 <token type="Comment"/>
77 </rule>
78 <rule pattern="^[^\s#,|]+">
79 <token type="NameTag"/>
80 <push state="names"/>
81 </rule>
82 </state>
83 </rules>
84</lexer>
View as plain text