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>