termcap.xml

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