66
|
1 <lexer>
|
|
2 <config>
|
|
3 <name>Julia</name>
|
|
4 <alias>julia</alias>
|
|
5 <alias>jl</alias>
|
|
6 <filename>*.jl</filename>
|
|
7 <mime_type>text/x-julia</mime_type>
|
|
8 <mime_type>application/x-julia</mime_type>
|
|
9 </config>
|
|
10 <rules>
|
|
11 <state name="string">
|
|
12 <rule pattern="(")((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)|\d+)?">
|
|
13 <bygroups>
|
|
14 <token type="LiteralString"/>
|
|
15 <token type="LiteralStringAffix"/>
|
|
16 </bygroups>
|
|
17 <pop depth="1"/>
|
|
18 </rule>
|
|
19 <rule pattern="\\([\\"\'$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)">
|
|
20 <token type="LiteralStringEscape"/>
|
|
21 </rule>
|
|
22 <rule>
|
|
23 <include state="interp"/>
|
|
24 </rule>
|
|
25 <rule pattern="%[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
|
|
26 <token type="LiteralStringInterpol"/>
|
|
27 </rule>
|
|
28 <rule pattern="[^"$%\\]+">
|
|
29 <token type="LiteralString"/>
|
|
30 </rule>
|
|
31 <rule pattern=".">
|
|
32 <token type="LiteralString"/>
|
|
33 </rule>
|
|
34 </state>
|
|
35 <state name="curly">
|
|
36 <rule pattern="\{">
|
|
37 <token type="Punctuation"/>
|
|
38 <push/>
|
|
39 </rule>
|
|
40 <rule pattern="\}">
|
|
41 <token type="Punctuation"/>
|
|
42 <pop depth="1"/>
|
|
43 </rule>
|
|
44 <rule pattern="(?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)">
|
|
45 <token type="KeywordType"/>
|
|
46 </rule>
|
|
47 <rule>
|
|
48 <include state="root"/>
|
|
49 </rule>
|
|
50 </state>
|
|
51 <state name="rawstring">
|
|
52 <rule pattern=""">
|
|
53 <token type="LiteralString"/>
|
|
54 <pop depth="1"/>
|
|
55 </rule>
|
|
56 <rule pattern="\\"">
|
|
57 <token type="LiteralStringEscape"/>
|
|
58 </rule>
|
|
59 <rule pattern="([^"\\]|\\[^"])+">
|
|
60 <token type="LiteralString"/>
|
|
61 </rule>
|
|
62 </state>
|
|
63 <state name="tqcommand">
|
|
64 <rule pattern="(```)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)|\d+)?">
|
|
65 <bygroups>
|
|
66 <token type="LiteralStringBacktick"/>
|
|
67 <token type="LiteralStringAffix"/>
|
|
68 </bygroups>
|
|
69 <pop depth="1"/>
|
|
70 </rule>
|
|
71 <rule pattern="\\\$">
|
|
72 <token type="LiteralStringEscape"/>
|
|
73 </rule>
|
|
74 <rule>
|
|
75 <include state="interp"/>
|
|
76 </rule>
|
|
77 <rule pattern="[^\\`$]+">
|
|
78 <token type="LiteralStringBacktick"/>
|
|
79 </rule>
|
|
80 <rule pattern=".">
|
|
81 <token type="LiteralStringBacktick"/>
|
|
82 </rule>
|
|
83 </state>
|
|
84 <state name="in-intp">
|
|
85 <rule pattern="\(">
|
|
86 <token type="Punctuation"/>
|
|
87 <push/>
|
|
88 </rule>
|
|
89 <rule pattern="\)">
|
|
90 <token type="Punctuation"/>
|
|
91 <pop depth="1"/>
|
|
92 </rule>
|
|
93 <rule>
|
|
94 <include state="root"/>
|
|
95 </rule>
|
|
96 </state>
|
|
97 <state name="tqstring">
|
|
98 <rule pattern="(""")((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)|\d+)?">
|
|
99 <bygroups>
|
|
100 <token type="LiteralString"/>
|
|
101 <token type="LiteralStringAffix"/>
|
|
102 </bygroups>
|
|
103 <pop depth="1"/>
|
|
104 </rule>
|
|
105 <rule pattern="\\([\\"\'$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)">
|
|
106 <token type="LiteralStringEscape"/>
|
|
107 </rule>
|
|
108 <rule>
|
|
109 <include state="interp"/>
|
|
110 </rule>
|
|
111 <rule pattern="[^"$%\\]+">
|
|
112 <token type="LiteralString"/>
|
|
113 </rule>
|
|
114 <rule pattern=".">
|
|
115 <token type="LiteralString"/>
|
|
116 </rule>
|
|
117 </state>
|
|
118 <state name="interp">
|
|
119 <rule pattern="\$(?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)">
|
|
120 <token type="LiteralStringInterpol"/>
|
|
121 </rule>
|
|
122 <rule pattern="(\$)(\()">
|
|
123 <bygroups>
|
|
124 <token type="LiteralStringInterpol"/>
|
|
125 <token type="Punctuation"/>
|
|
126 </bygroups>
|
|
127 <push state="in-intp"/>
|
|
128 </rule>
|
|
129 </state>
|
|
130 <state name="tqregex">
|
|
131 <rule pattern="(""")([imsxa]*)?">
|
|
132 <bygroups>
|
|
133 <token type="LiteralStringRegex"/>
|
|
134 <token type="LiteralStringAffix"/>
|
|
135 </bygroups>
|
|
136 <pop depth="1"/>
|
|
137 </rule>
|
|
138 <rule pattern="[^"]+">
|
|
139 <token type="LiteralStringRegex"/>
|
|
140 </rule>
|
|
141 </state>
|
|
142 <state name="root">
|
|
143 <rule pattern="\n">
|
|
144 <token type="Text"/>
|
|
145 </rule>
|
|
146 <rule pattern="[^\S\n]+">
|
|
147 <token type="Text"/>
|
|
148 </rule>
|
|
149 <rule pattern="#=">
|
|
150 <token type="CommentMultiline"/>
|
|
151 <push state="blockcomment"/>
|
|
152 </rule>
|
|
153 <rule pattern="#.*$">
|
|
154 <token type="Comment"/>
|
|
155 </rule>
|
|
156 <rule pattern="[\[\](),;]">
|
|
157 <token type="Punctuation"/>
|
|
158 </rule>
|
|
159 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))(\s*)(:)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))">
|
|
160 <bygroups>
|
|
161 <token type="Name"/>
|
|
162 <token type="Text"/>
|
|
163 <token type="Operator"/>
|
|
164 <token type="Name"/>
|
|
165 </bygroups>
|
|
166 </rule>
|
|
167 <rule pattern="(?<![\]):<>\d.])(:(?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))">
|
|
168 <token type="LiteralStringSymbol"/>
|
|
169 </rule>
|
|
170 <rule pattern="(?<=::)(\s*)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))\b(?![(\[])">
|
|
171 <bygroups>
|
|
172 <token type="Text"/>
|
|
173 <token type="KeywordType"/>
|
|
174 </bygroups>
|
|
175 </rule>
|
|
176 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))(\s*)([<>]:)(\s*)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))\b(?![(\[])">
|
|
177 <bygroups>
|
|
178 <token type="KeywordType"/>
|
|
179 <token type="Text"/>
|
|
180 <token type="Operator"/>
|
|
181 <token type="Text"/>
|
|
182 <token type="KeywordType"/>
|
|
183 </bygroups>
|
|
184 </rule>
|
|
185 <rule pattern="([<>]:)(\s*)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))\b(?![(\[])">
|
|
186 <bygroups>
|
|
187 <token type="Operator"/>
|
|
188 <token type="Text"/>
|
|
189 <token type="KeywordType"/>
|
|
190 </bygroups>
|
|
191 </rule>
|
|
192 <rule pattern="\b((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))(\s*)([<>]:)">
|
|
193 <bygroups>
|
|
194 <token type="KeywordType"/>
|
|
195 <token type="Text"/>
|
|
196 <token type="Operator"/>
|
|
197 </bygroups>
|
|
198 </rule>
|
|
199 <rule pattern="(>>>=|<-->|≕'|⊻=|⇁|⥯|⥮|⥥|⥣|⥡|⥠|⥝|⥜|⥙|//=|⥘|⥕|÷=|⥔|<<=|>>=|↑|⥑|⥏|↓|≔|⩴|√|⥍|⥌|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⭄|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⥉|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|-->|<--|∛|⤓|⤒|⤋|≥|⤊|≤|⤉|===|≡|⤈|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⩚|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⟱|⟰|⇵|↓|…|⁝|⋮|⋱|⋰|⋯|↑|>>>|⨟|⟗|⊕|⊖|⊞|⊟|⟖|∪|∨|⊔|⟕|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|⨝|▷|⌿|⊍|⫛|⩠|⋅|∘|⩟|⩞|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⋸|⩜|∜|\^=|:=|\$=|÷|¬|\|\||±|\+\+|&&|¦|//|>>|<<|::|-=|\*=|\|>|<\||>:|<:|!=|==|<=|>=|/=|%=|->|=>|\\=|&=|\|=|×|\+=|:|<|\+|\^|\\|=|-|\$|~|\||\*|\?|!|/|%|&|>)[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*">
|
|
200 <token type="Operator"/>
|
|
201 </rule>
|
|
202 <rule pattern="(\.>>>=|\.<-->|\.≕'|\.⊻=|\.⇚|\.//=|\.⥯|\.⥮|\.÷=|\.⥥|\.<<=|\.>>=|\.↑|\.⥣|\.⥡|\.↓|\.≔|\.⩴|\.√|\.⥠|\.⥝|\.→|\.↔|\.↚|\.↛|\.↞|\.↠|\.↢|\.↣|\.↦|\.↤|\.↮|\.⇎|\.⇍|\.⇏|\.⇐|\.⇒|\.⇔|\.⇴|\.⇶|\.⇷|\.⇸|\.⇹|\.⇺|\.⇻|\.⇼|\.⇽|\.⇾|\.⇿|\.⟵|\.⟶|\.⟷|\.⟹|\.⟺|\.⟻|\.⟼|\.⟽|\.⟾|\.⟿|\.⤀|\.⤁|\.⤂|\.⤃|\.⤄|\.⤅|\.⤆|\.⤇|\.⤌|\.⤍|\.⤎|\.⤏|\.⤐|\.⤑|\.⤔|\.⤕|\.⤖|\.⤗|\.⤘|\.⤝|\.⤞|\.⤟|\.⤠|\.⥄|\.⥅|\.⥆|\.⥇|\.⥈|\.⥊|\.⥋|\.⥎|\.⥐|\.⥒|\.⥓|\.⥖|\.⥗|\.⥚|\.⥛|\.⥞|\.⥟|\.⥢|\.⥤|\.⥦|\.⥧|\.⥨|\.⥩|\.⥪|\.⥫|\.⥬|\.⥭|\.⥰|\.⧴|\.⬱|\.⬰|\.⬲|\.⬳|\.⬴|\.⬵|\.⬶|\.⬷|\.⬸|\.⬹|\.⬺|\.⬻|\.⬼|\.⬽|\.⬾|\.⬿|\.⭀|\.⭁|\.⭂|\.⭃|\.⭄|\.⭇|\.⭈|\.⭉|\.⭊|\.⭋|\.⭌|\.←|\.→|\.⇜|\.⇝|\.↜|\.↝|\.↩|\.↪|\.↫|\.↬|\.↼|\.↽|\.⇀|\.⇁|\.⇄|\.⇆|\.⇇|\.⇉|\.⇋|\.⇌|\.⥜|\.⇛|\.⇠|\.⇢|\.↷|\.↶|\.↺|\.↻|\.-->|\.<--|\.∛|\.⥙|\.⥘|\.⥕|\.≥|\.⥔|\.≤|\.⥑|\.===|\.≡|\.⥏|\.≠|\.!==|\.≢|\.∈|\.∉|\.∋|\.∌|\.⊆|\.⊈|\.⊂|\.⊄|\.⊊|\.∝|\.∊|\.∍|\.∥|\.∦|\.∷|\.∺|\.∻|\.∽|\.∾|\.≁|\.≃|\.≂|\.≄|\.≅|\.≆|\.≇|\.≈|\.≉|\.≊|\.≋|\.≌|\.≍|\.≎|\.≐|\.≑|\.≒|\.≓|\.≖|\.≗|\.≘|\.≙|\.≚|\.≛|\.≜|\.≝|\.≞|\.≟|\.≣|\.≦|\.≧|\.≨|\.≩|\.≪|\.≫|\.≬|\.≭|\.≮|\.≯|\.≰|\.≱|\.≲|\.≳|\.≴|\.≵|\.≶|\.≷|\.≸|\.≹|\.≺|\.≻|\.≼|\.≽|\.≾|\.≿|\.⊀|\.⊁|\.⊃|\.⊅|\.⊇|\.⊉|\.⊋|\.⊏|\.⊐|\.⊑|\.⊒|\.⊜|\.⊩|\.⊬|\.⊮|\.⊰|\.⊱|\.⊲|\.⊳|\.⊴|\.⊵|\.⊶|\.⊷|\.⋍|\.⋐|\.⋑|\.⋕|\.⋖|\.⋗|\.⋘|\.⋙|\.⋚|\.⋛|\.⋜|\.⋝|\.⋞|\.⋟|\.⋠|\.⋡|\.⋢|\.⋣|\.⋤|\.⋥|\.⋦|\.⋧|\.⋨|\.⋩|\.⋪|\.⋫|\.⋬|\.⋭|\.⋲|\.⋳|\.⋴|\.⋵|\.⋶|\.⋷|\.⋸|\.⋹|\.⋺|\.⋻|\.⟕|\.⋽|\.⋾|\.⋿|\.⟈|\.⟉|\.⟒|\.⦷|\.⧀|\.⧁|\.⧡|\.⧣|\.⧤|\.⧥|\.⩦|\.⩧|\.⩪|\.⩫|\.⩬|\.⩭|\.⩮|\.⩯|\.⩰|\.⩱|\.⩲|\.⩳|\.⩵|\.⩶|\.⩷|\.⩸|\.⩹|\.⩺|\.⩻|\.⩼|\.⩽|\.⩾|\.⩿|\.⪀|\.⪁|\.⪂|\.⪃|\.⪄|\.⪅|\.⪆|\.⪇|\.⪈|\.⪉|\.⪊|\.⪋|\.⪌|\.⪍|\.⪎|\.⪏|\.⪐|\.⪑|\.⪒|\.⪓|\.⪔|\.⪕|\.⪖|\.⪗|\.⪘|\.⪙|\.⪚|\.⪛|\.⪜|\.⪝|\.⪞|\.⪟|\.⪠|\.⪡|\.⪢|\.⪣|\.⪤|\.⪥|\.⪦|\.⪧|\.⪨|\.⪩|\.⪪|\.⪫|\.⪬|\.⪭|\.⪮|\.⪯|\.⪰|\.⪱|\.⪲|\.⪳|\.⪴|\.⪵|\.⪶|\.⪷|\.⪸|\.⪹|\.⪺|\.⪻|\.⪼|\.⪽|\.⪾|\.⪿|\.⫀|\.⫁|\.⫂|\.⫃|\.⫄|\.⫅|\.⫆|\.⫇|\.⫈|\.⫉|\.⫊|\.⫋|\.⫌|\.⫍|\.⫎|\.⫏|\.⫐|\.⫑|\.⫒|\.⫓|\.⫔|\.⫕|\.⫖|\.⫗|\.⫘|\.⫙|\.⫷|\.⫸|\.⫹|\.⫺|\.⊢|\.⊣|\.⟂|\.⥍|\.⥌|\.⥉|\.⤓|\.…|\.⁝|\.⋮|\.⋱|\.⋰|\.⋯|\.⤒|\.⤋|\.⤊|\.⤉|\.⊕|\.⊖|\.⊞|\.⊟|\.⤈|\.∪|\.∨|\.⊔|\.⟱|\.∓|\.∔|\.∸|\.≏|\.⊎|\.⊻|\.⊽|\.⋎|\.⋓|\.⧺|\.⧻|\.⨈|\.⨢|\.⨣|\.⨤|\.⨥|\.⨦|\.⨧|\.⨨|\.⨩|\.⨪|\.⨫|\.⨬|\.⨭|\.⨮|\.⨹|\.⨺|\.⩁|\.⩂|\.⩅|\.⩊|\.⩌|\.⩏|\.⩐|\.⩒|\.⩔|\.⩖|\.⩗|\.⩛|\.⩝|\.⩡|\.⩢|\.⩣|\.⟰|\.⇵|\.⌿|\.↓|\.↑|\.>>>|\.⋅|\.∘|\.⨟|\.⟗|\.∩|\.∧|\.⊗|\.⊘|\.⊙|\.⊚|\.⊛|\.⊠|\.⊡|\.⊓|\.∗|\.∙|\.∤|\.⅋|\.≀|\.⊼|\.⋄|\.⋆|\.⋇|\.⋉|\.⋊|\.⋋|\.⋌|\.⋏|\.⋒|\.⟑|\.⦸|\.⦼|\.⦾|\.⦿|\.⧶|\.⧷|\.⨇|\.⨰|\.⨱|\.⨲|\.⨳|\.⨴|\.⨵|\.⨶|\.⨷|\.⨸|\.⨻|\.⨼|\.⨽|\.⩀|\.⩃|\.⩄|\.⩋|\.⩍|\.⩎|\.⩑|\.⩓|\.⩕|\.⩘|\.⩚|\.⩜|\.⩞|\.⩟|\.⩠|\.⫛|\.⊍|\.▷|\.⨝|\.⋼|\.⟖|\.∜|\.=>|\.//|\.>>|\.<<|\.\+=|\.×|\.-=|\.÷|\.¬|\.\*=|\./=|\.\+\+|\.\\=|\.¦|\.\^=|\.!=|\.\|>|\.<\||\.>:|\.<:|\.±|\.==|\.<=|\.>=|\.%=|\.&=|\.\|=|\.=|\.~|\.>|\.\\|\.<|\.-|\.\||\.\^|\.\*|\.!|\./|\.%|\.&|\.\+)[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*">
|
|
203 <token type="Operator"/>
|
|
204 </rule>
|
|
205 <rule pattern="(\.\.\.|\.\.)">
|
|
206 <token type="Operator"/>
|
|
207 </rule>
|
|
208 <rule pattern="'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,3}|\\u[a-fA-F0-9]{1,4}|\\U[a-fA-F0-9]{1,6}|[^\\\'\n])'">
|
|
209 <token type="LiteralStringChar"/>
|
|
210 </rule>
|
|
211 <rule pattern="(?<=[.\w)\]])(\'[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*)+">
|
|
212 <token type="Operator"/>
|
|
213 </rule>
|
|
214 <rule pattern="(raw)(""")">
|
|
215 <bygroups>
|
|
216 <token type="LiteralStringAffix"/>
|
|
217 <token type="LiteralString"/>
|
|
218 </bygroups>
|
|
219 <push state="tqrawstring"/>
|
|
220 </rule>
|
|
221 <rule pattern="(raw)(")">
|
|
222 <bygroups>
|
|
223 <token type="LiteralStringAffix"/>
|
|
224 <token type="LiteralString"/>
|
|
225 </bygroups>
|
|
226 <push state="rawstring"/>
|
|
227 </rule>
|
|
228 <rule pattern="(r)(""")">
|
|
229 <bygroups>
|
|
230 <token type="LiteralStringAffix"/>
|
|
231 <token type="LiteralStringRegex"/>
|
|
232 </bygroups>
|
|
233 <push state="tqregex"/>
|
|
234 </rule>
|
|
235 <rule pattern="(r)(")">
|
|
236 <bygroups>
|
|
237 <token type="LiteralStringAffix"/>
|
|
238 <token type="LiteralStringRegex"/>
|
|
239 </bygroups>
|
|
240 <push state="regex"/>
|
|
241 </rule>
|
|
242 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))?(""")">
|
|
243 <bygroups>
|
|
244 <token type="LiteralStringAffix"/>
|
|
245 <token type="LiteralString"/>
|
|
246 </bygroups>
|
|
247 <push state="tqstring"/>
|
|
248 </rule>
|
|
249 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))?(")">
|
|
250 <bygroups>
|
|
251 <token type="LiteralStringAffix"/>
|
|
252 <token type="LiteralString"/>
|
|
253 </bygroups>
|
|
254 <push state="string"/>
|
|
255 </rule>
|
|
256 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))?(```)">
|
|
257 <bygroups>
|
|
258 <token type="LiteralStringAffix"/>
|
|
259 <token type="LiteralStringBacktick"/>
|
|
260 </bygroups>
|
|
261 <push state="tqcommand"/>
|
|
262 </rule>
|
|
263 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))?(`)">
|
|
264 <bygroups>
|
|
265 <token type="LiteralStringAffix"/>
|
|
266 <token type="LiteralStringBacktick"/>
|
|
267 </bygroups>
|
|
268 <push state="command"/>
|
|
269 </rule>
|
|
270 <rule pattern="((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))(\{)">
|
|
271 <bygroups>
|
|
272 <token type="KeywordType"/>
|
|
273 <token type="Punctuation"/>
|
|
274 </bygroups>
|
|
275 <push state="curly"/>
|
|
276 </rule>
|
|
277 <rule pattern="(where)(\s+)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))">
|
|
278 <bygroups>
|
|
279 <token type="Keyword"/>
|
|
280 <token type="Text"/>
|
|
281 <token type="KeywordType"/>
|
|
282 </bygroups>
|
|
283 </rule>
|
|
284 <rule pattern="(\{)">
|
|
285 <token type="Punctuation"/>
|
|
286 <push state="curly"/>
|
|
287 </rule>
|
|
288 <rule pattern="(abstract[ \t]+type|primitive[ \t]+type|mutable[ \t]+struct|struct)([\s()]+)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*))">
|
|
289 <bygroups>
|
|
290 <token type="Keyword"/>
|
|
291 <token type="Text"/>
|
|
292 <token type="KeywordType"/>
|
|
293 </bygroups>
|
|
294 </rule>
|
|
295 <rule pattern="@(?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)">
|
|
296 <token type="NameDecorator"/>
|
|
297 </rule>
|
|
298 <rule pattern="@(>>>=|<-->|≕'|⊻=|↽|⥯|⥮|⥥|⥣|⥡|⥠|⥝|⥜|⥙|⥘|⥕|//=|⥔|⥑|÷=|⥏|<<=|>>=|↑|⥍|⥌|↓|≔|⩴|√|⥉|⤓|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⭄|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|⤒|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|-->|<--|∛|⤋|⤊|⤉|≥|⤈|≤|⟱|===|≡|⟰|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⩕|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⇵|↓|↑|>>>|…|⁝|⋮|⋱|⋰|⋯|⨟|⟗|⟖|⟕|⊕|⊖|⊞|⊟|⨝|∪|∨|⊔|▷|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|⊍|⫛|⌿|⩠|⩟|⩞|⋅|∘|⩜|⩚|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⋷|⩘|∜|\\=|:=|\$=|÷|¬|\|\||±|\+\+|&&|¦|::|\.\.|//|>>|<<|\|>|\+=|<\||>:|<:|!=|==|<=|>=|-=|\*=|->|=>|/=|&=|\|=|%=|\^=|×|~|>|<|\^|=|\.|\+|-|\$|:|\||\*|\?|!|/|%|&|\\)[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*">
|
|
299 <token type="NameDecorator"/>
|
|
300 </rule>
|
|
301 <rule pattern="(baremodule|continue|function|finally|module|import|elseif|return|export|global|macro|catch|where|begin|const|ccall|using|quote|break|while|local|else|let|isa|try|for|end|in|if|do)\b">
|
|
302 <token type="Keyword"/>
|
|
303 </rule>
|
|
304 <rule pattern="(ProcessFailedException|InvalidStateException|ReadOnlyMemoryError|TaskFailedException|InterruptException|StackOverflowError|CompositeException|AbstractIrrational|SubstitutionString|ExponentialBackOff|UndefKeywordError|CapturedException|DimensionMismatch|AbstractUnitRange|SegmentationFault|PermutedDimsArray|AbstractVecOrMat|UndefInitializer|CartesianIndices|OutOfMemoryError|ComposedFunction|MissingException|StringIndexError|PartialQuickSort|AbstractDisplay|AbstractPattern|StridedVecOrMat|AbstractChannel|LineNumberNode|AbstractVector|CartesianIndex|AssertionError|IndexCartesian|ErrorException|AbstractMatrix|AbstractString|OverflowError|UndefRefError|LinearIndices|DenseVecOrMat|ArgumentError|StridedVector|StridedMatrix|AbstractArray|AbstractRange|ReentrantLock|AbstractMatch|AbstractFloat|VersionNumber|UndefVarError|RoundingMode|StridedArray|StepRangeLen|OrdinalRange|AbstractChar|AbstractDict|InexactError|DenseVector|WeakKeyDict|MethodError|AbstractSet|IndexLinear|BoundsError|TextDisplay|DomainError|DenseMatrix|SystemError|DivideError|NamedTuple|IndexStyle|Cptrdiff_t|Cuintmax_t|DenseArray|ComplexF16|Irrational|VecElement|Culonglong|RegexMatch|ComplexF32|ComplexF64|BitMatrix|BitVector|Exception|GlobalRef|UnitRange|QuoteNode|TypeError|IOContext|LoadError|Clonglong|Condition|StepRange|Cintmax_t|SubString|InitError|Cssize_t|VecOrMat|BigFloat|Unsigned|UnionAll|Rational|EOFError|BitArray|IOStream|IOBuffer|KeyError|LinRange|Cwchar_t|SubArray|Function|DataType|Cwstring|Csize_t|Float64|Missing|Float32|Complex|Cstring|Float16|Nothing|Cdouble|Cushort|UInt128|Integer|WeakRef|Channel|TypeVar|Cshort|Cfloat|NTuple|IdDict|BitSet|BigInt|UInt16|Symbol|UInt32|Vector|Signed|Vararg|Culong|String|Int128|Number|UInt64|Cuchar|Matrix|Module|Method|Tuple|Int16|Colon|Cuint|UInt8|Regex|Clong|Cvoid|Cchar|Int32|RawFD|Array|Union|Int64|Timer|Pipe|Type|HTML|Text|UInt|MIME|Char|Cint|Some|Expr|Real|Enum|Pair|Dims|Int8|Dict|Task|Bool|Any|Cmd|Int|Set|Ref|Ptr|Val|IO)\b">
|
|
305 <token type="KeywordType"/>
|
|
306 </rule>
|
|
307 <rule pattern="(RoundNearestTiesAway|RoundNearestTiesUp|InsertionSort|RoundFromZero|PROGRAM_FILE|RoundNearest|RoundToZero|ENDIAN_BOM|DEPOT_PATH|RoundDown|QuickSort|MergeSort|LOAD_PATH|VERSION|missing|nothing|devnull|RoundUp|C_NULL|stdout|stderr|NaN32|NaN16|Inf64|Inf32|Inf16|false|stdin|undef|NaN64|true|ARGS|ℯ|NaN|Inf|ENV|im|π|pi)\b">
|
|
308 <token type="NameBuiltin"/>
|
|
309 </rule>
|
|
310 <rule pattern="(?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)">
|
|
311 <token type="Name"/>
|
|
312 </rule>
|
|
313 <rule pattern="(\d+((_\d+)+)?\.(?!\.)(\d+((_\d+)+)?)?|\.\d+((_\d+)+)?)([eEf][+-]?[0-9]+)?">
|
|
314 <token type="LiteralNumberFloat"/>
|
|
315 </rule>
|
|
316 <rule pattern="\d+((_\d+)+)?[eEf][+-]?[0-9]+">
|
|
317 <token type="LiteralNumberFloat"/>
|
|
318 </rule>
|
|
319 <rule pattern="0x[a-fA-F0-9]+((_[a-fA-F0-9]+)+)?(\.([a-fA-F0-9]+((_[a-fA-F0-9]+)+)?)?)?p[+-]?\d+">
|
|
320 <token type="LiteralNumberFloat"/>
|
|
321 </rule>
|
|
322 <rule pattern="0b[01]+((_[01]+)+)?">
|
|
323 <token type="LiteralNumberBin"/>
|
|
324 </rule>
|
|
325 <rule pattern="0o[0-7]+((_[0-7]+)+)?">
|
|
326 <token type="LiteralNumberOct"/>
|
|
327 </rule>
|
|
328 <rule pattern="0x[a-fA-F0-9]+((_[a-fA-F0-9]+)+)?">
|
|
329 <token type="LiteralNumberHex"/>
|
|
330 </rule>
|
|
331 <rule pattern="\d+((_\d+)+)?">
|
|
332 <token type="LiteralNumberInteger"/>
|
|
333 </rule>
|
|
334 <rule pattern="(\.)">
|
|
335 <token type="Operator"/>
|
|
336 </rule>
|
|
337 </state>
|
|
338 <state name="blockcomment">
|
|
339 <rule pattern="[^=#]">
|
|
340 <token type="CommentMultiline"/>
|
|
341 </rule>
|
|
342 <rule pattern="#=">
|
|
343 <token type="CommentMultiline"/>
|
|
344 <push/>
|
|
345 </rule>
|
|
346 <rule pattern="=#">
|
|
347 <token type="CommentMultiline"/>
|
|
348 <pop depth="1"/>
|
|
349 </rule>
|
|
350 <rule pattern="[=#]">
|
|
351 <token type="CommentMultiline"/>
|
|
352 </rule>
|
|
353 </state>
|
|
354 <state name="command">
|
|
355 <rule pattern="(`)((?:[a-zA-Z_¡-][a-zA-Z_0-9!¡-]*)|\d+)?">
|
|
356 <bygroups>
|
|
357 <token type="LiteralStringBacktick"/>
|
|
358 <token type="LiteralStringAffix"/>
|
|
359 </bygroups>
|
|
360 <pop depth="1"/>
|
|
361 </rule>
|
|
362 <rule pattern="\\[`$]">
|
|
363 <token type="LiteralStringEscape"/>
|
|
364 </rule>
|
|
365 <rule>
|
|
366 <include state="interp"/>
|
|
367 </rule>
|
|
368 <rule pattern="[^\\`$]+">
|
|
369 <token type="LiteralStringBacktick"/>
|
|
370 </rule>
|
|
371 <rule pattern=".">
|
|
372 <token type="LiteralStringBacktick"/>
|
|
373 </rule>
|
|
374 </state>
|
|
375 <state name="tqrawstring">
|
|
376 <rule pattern=""""">
|
|
377 <token type="LiteralString"/>
|
|
378 <pop depth="1"/>
|
|
379 </rule>
|
|
380 <rule pattern="([^"]|"[^"][^"])+">
|
|
381 <token type="LiteralString"/>
|
|
382 </rule>
|
|
383 </state>
|
|
384 <state name="regex">
|
|
385 <rule pattern="(")([imsxa]*)?">
|
|
386 <bygroups>
|
|
387 <token type="LiteralStringRegex"/>
|
|
388 <token type="LiteralStringAffix"/>
|
|
389 </bygroups>
|
|
390 <pop depth="1"/>
|
|
391 </rule>
|
|
392 <rule pattern="\\"">
|
|
393 <token type="LiteralStringRegex"/>
|
|
394 </rule>
|
|
395 <rule pattern="[^\\"]+">
|
|
396 <token type="LiteralStringRegex"/>
|
|
397 </rule>
|
|
398 </state>
|
|
399 </rules>
|
|
400 </lexer> |