...
1<lexer>
2 <config>
3 <name>Brainfuck</name>
4 <alias>brainfuck</alias>
5 <alias>bf</alias>
6 <filename>*.bf</filename>
7 <filename>*.b</filename>
8 <mime_type>application/x-brainfuck</mime_type>
9 </config>
10 <rules>
11 <state name="common">
12 <rule pattern="[.,]+">
13 <token type="NameTag"/>
14 </rule>
15 <rule pattern="[+-]+">
16 <token type="NameBuiltin"/>
17 </rule>
18 <rule pattern="[<>]+">
19 <token type="NameVariable"/>
20 </rule>
21 <rule pattern="[^.,+\-<>\[\]]+">
22 <token type="Comment"/>
23 </rule>
24 </state>
25 <state name="root">
26 <rule pattern="\[">
27 <token type="Keyword"/>
28 <push state="loop"/>
29 </rule>
30 <rule pattern="\]">
31 <token type="Error"/>
32 </rule>
33 <rule>
34 <include state="common"/>
35 </rule>
36 </state>
37 <state name="loop">
38 <rule pattern="\[">
39 <token type="Keyword"/>
40 <push/>
41 </rule>
42 <rule pattern="\]">
43 <token type="Keyword"/>
44 <pop depth="1"/>
45 </rule>
46 <rule>
47 <include state="common"/>
48 </rule>
49 </state>
50 </rules>
51</lexer>
View as plain text