...
1<lexer>
2 <config>
3 <name>APL</name>
4 <alias>apl</alias>
5 <filename>*.apl</filename>
6 </config>
7 <rules>
8 <state name="root">
9 <rule pattern="\s+">
10 <token type="Text"/>
11 </rule>
12 <rule pattern="[⍝#].*$">
13 <token type="CommentSingle"/>
14 </rule>
15 <rule pattern="\'((\'\')|[^\'])*\'">
16 <token type="LiteralStringSingle"/>
17 </rule>
18 <rule pattern=""(("")|[^"])*"">
19 <token type="LiteralStringDouble"/>
20 </rule>
21 <rule pattern="[⋄◇()]">
22 <token type="Punctuation"/>
23 </rule>
24 <rule pattern="[\[\];]">
25 <token type="LiteralStringRegex"/>
26 </rule>
27 <rule pattern="⎕[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*">
28 <token type="NameFunction"/>
29 </rule>
30 <rule pattern="[A-Za-zΔ∆⍙_][A-Za-zΔ∆⍙_¯0-9]*">
31 <token type="NameVariable"/>
32 </rule>
33 <rule pattern="¯?(0[Xx][0-9A-Fa-f]+|[0-9]*\.?[0-9]+([Ee][+¯]?[0-9]+)?|¯|∞)([Jj]¯?(0[Xx][0-9A-Fa-f]+|[0-9]*\.?[0-9]+([Ee][+¯]?[0-9]+)?|¯|∞))?">
34 <token type="LiteralNumber"/>
35 </rule>
36 <rule pattern="[\.\\/⌿⍀¨⍣⍨⍠⍤∘⍥@⌺⌶⍢]">
37 <token type="NameAttribute"/>
38 </rule>
39 <rule pattern="[+\-×÷⌈⌊∣|⍳?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⌸⍯↗⊆⍸]">
40 <token type="Operator"/>
41 </rule>
42 <rule pattern="⍬">
43 <token type="NameConstant"/>
44 </rule>
45 <rule pattern="[⎕⍞]">
46 <token type="NameVariableGlobal"/>
47 </rule>
48 <rule pattern="[←→]">
49 <token type="KeywordDeclaration"/>
50 </rule>
51 <rule pattern="[⍺⍵⍶⍹∇:]">
52 <token type="NameBuiltinPseudo"/>
53 </rule>
54 <rule pattern="[{}]">
55 <token type="KeywordType"/>
56 </rule>
57 </state>
58 </rules>
59</lexer>
View as plain text