apl.xml

 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="\&#39;((\&#39;\&#39;)|[^\&#39;])*\&#39;">
16        <token type="LiteralStringSingle"/>
17      </rule>
18      <rule pattern="&#34;((&#34;&#34;)|[^&#34;])*&#34;">
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="[+\-Γ—Γ·βŒˆβŒŠβˆ£|⍳?*βŸβ—‹!⌹&lt;≀=&gt;β‰₯β‰ β‰‘β‰’βˆŠβ·βˆͺ∩~∨∧⍱⍲⍴,βͺβŒ½βŠ–β‰β†‘β†“βŠ‚βŠƒβŒ·β‹β’βŠ€βŠ₯β•βŽβŠ£βŠ’ββ‚β‰ˆβŒΈβ―β†—βŠ†βΈ]">
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>