...
1<lexer>
2 <config>
3 <name>BQN</name>
4 <alias>bqn</alias>
5 <filename>*.bqn</filename>
6 </config>
7 <rules>
8 <state name="root">
9 <rule pattern="\s+">
10 <token type="TextWhitespace"/>
11 </rule>
12 <rule pattern="\A#!.+$">
13 <token type="CommentPreproc"/>
14 </rule>
15 <rule pattern="#.*$">
16 <token type="CommentSingle"/>
17 </rule>
18 <rule pattern=""(?:[^"]|"")*"">
19 <token type="LiteralString"/>
20 </rule>
21 <rule pattern="[{}]">
22 <token type="KeywordPseudo"/>
23 </rule>
24 <rule pattern="[⟨⟩\[\]‿]">
25 <token type="KeywordPseudo"/>
26 </rule>
27 <rule pattern="[()]">
28 <token type="Punctuation"/>
29 </rule>
30 <rule pattern="[:;?]">
31 <token type="Punctuation"/>
32 </rule>
33 <rule pattern="[⋄,]">
34 <token type="KeywordPseudo"/>
35 </rule>
36 <rule pattern="[←⇐↩→]">
37 <token type="Text"/>
38 </rule>
39 <rule pattern="'.'">
40 <token type="LiteralStringChar"/>
41 </rule>
42 <rule pattern="[˙˜˘¨⌜⁼´˝`]">
43 <token type="Operator"/>
44 </rule>
45 <rule pattern="[∘○⊸⟜⌾⊘◶⎉⚇⍟⎊]">
46 <token type="OperatorWord"/>
47 </rule>
48 <rule pattern="[𝔽𝔾𝕎𝕏𝕊+\-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!⍕⍎]">
49 <token type="NameFunction"/>
50 </rule>
51 <rule pattern="[𝕗𝕘𝕨𝕩𝕤]">
52 <token type="Name"/>
53 </rule>
54 <rule pattern="·">
55 <token type="NameConstant"/>
56 </rule>
57 <rule pattern="@">
58 <token type="LiteralStringChar"/>
59 </rule>
60 <rule pattern="\d+(?:\.\d+)?[eE]¯?\d+">
61 <token type="LiteralNumber"/>
62 </rule>
63 <rule pattern="[¯∞π]?(?:\d*\.?\b\d+(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π))?">
64 <token type="LiteralNumber"/>
65 </rule>
66 <rule pattern="(•?[a-z][A-Z_a-z0-9π∞¯]*|𝕣)">
67 <token type="Name"/>
68 </rule>
69 <rule pattern="•?[A-Z][A-Z_a-z0-9π∞¯]*">
70 <token type="NameFunction"/>
71 </rule>
72 <rule pattern="(•?_[A-Za-z][A-Z_a-z0-9π∞¯]*|_𝕣)">
73 <token type="Operator"/>
74 </rule>
75 <rule pattern="(•?_[A-Za-z][A-Z_a-z0-9π∞¯]*_|_𝕣_)">
76 <token type="OperatorWord"/>
77 </rule>
78 <rule pattern="\.">
79 <token type="Text"/>
80 </rule>
81 </state>
82 </rules>
83</lexer>
View as plain text