...
1<lexer>
2 <config>
3 <name>Elixir</name>
4 <alias>elixir</alias>
5 <alias>ex</alias>
6 <alias>exs</alias>
7 <filename>*.ex</filename>
8 <filename>*.exs</filename>
9 <mime_type>text/x-elixir</mime_type>
10 </config>
11 <rules>
12 <state name="cb-intp">
13 <rule pattern="[^#\}\\]+">
14 <token type="LiteralStringOther"/>
15 </rule>
16 <rule>
17 <include state="escapes"/>
18 </rule>
19 <rule pattern="\\.">
20 <token type="LiteralStringOther"/>
21 </rule>
22 <rule pattern="\}[a-zA-Z]*">
23 <token type="LiteralStringOther"/>
24 <pop depth="1"/>
25 </rule>
26 <rule>
27 <include state="interpol"/>
28 </rule>
29 </state>
30 <state name="triquot-end">
31 <rule pattern="[a-zA-Z]+">
32 <token type="LiteralStringOther"/>
33 <pop depth="1"/>
34 </rule>
35 <rule>
36 <pop depth="1"/>
37 </rule>
38 </state>
39 <state name="apos-no-intp">
40 <rule pattern="[^'\\]+">
41 <token type="LiteralStringOther"/>
42 </rule>
43 <rule pattern="\\.">
44 <token type="LiteralStringOther"/>
45 </rule>
46 <rule pattern="'[a-zA-Z]*">
47 <token type="LiteralStringOther"/>
48 <pop depth="1"/>
49 </rule>
50 </state>
51 <state name="slas-no-intp">
52 <rule pattern="[^/\\]+">
53 <token type="LiteralStringOther"/>
54 </rule>
55 <rule pattern="\\.">
56 <token type="LiteralStringOther"/>
57 </rule>
58 <rule pattern="/[a-zA-Z]*">
59 <token type="LiteralStringOther"/>
60 <pop depth="1"/>
61 </rule>
62 </state>
63 <state name="pipe-no-intp">
64 <rule pattern="[^\|\\]+">
65 <token type="LiteralStringOther"/>
66 </rule>
67 <rule pattern="\\.">
68 <token type="LiteralStringOther"/>
69 </rule>
70 <rule pattern="\|[a-zA-Z]*">
71 <token type="LiteralStringOther"/>
72 <pop depth="1"/>
73 </rule>
74 </state>
75 <state name="apos-intp">
76 <rule pattern="[^#'\\]+">
77 <token type="LiteralStringOther"/>
78 </rule>
79 <rule>
80 <include state="escapes"/>
81 </rule>
82 <rule pattern="\\.">
83 <token type="LiteralStringOther"/>
84 </rule>
85 <rule pattern="'[a-zA-Z]*">
86 <token type="LiteralStringOther"/>
87 <pop depth="1"/>
88 </rule>
89 <rule>
90 <include state="interpol"/>
91 </rule>
92 </state>
93 <state name="cb-no-intp">
94 <rule pattern="[^\}\\]+">
95 <token type="LiteralStringOther"/>
96 </rule>
97 <rule pattern="\\.">
98 <token type="LiteralStringOther"/>
99 </rule>
100 <rule pattern="\}[a-zA-Z]*">
101 <token type="LiteralStringOther"/>
102 <pop depth="1"/>
103 </rule>
104 </state>
105 <state name="heredoc_double">
106 <rule pattern="^\s*"""">
107 <token type="LiteralStringHeredoc"/>
108 <pop depth="1"/>
109 </rule>
110 <rule>
111 <include state="heredoc_interpol"/>
112 </rule>
113 </state>
114 <state name="triapos-end">
115 <rule pattern="[a-zA-Z]+">
116 <token type="LiteralStringOther"/>
117 <pop depth="1"/>
118 </rule>
119 <rule>
120 <pop depth="1"/>
121 </rule>
122 </state>
123 <state name="interpol_string">
124 <rule pattern="\}">
125 <token type="LiteralStringInterpol"/>
126 <pop depth="1"/>
127 </rule>
128 <rule>
129 <include state="root"/>
130 </rule>
131 </state>
132 <state name="triquot-intp">
133 <rule pattern="^\s*"""">
134 <token type="LiteralStringHeredoc"/>
135 <pop depth="1"/>
136 </rule>
137 <rule>
138 <include state="heredoc_interpol"/>
139 </rule>
140 </state>
141 <state name="interpol">
142 <rule pattern="#\{">
143 <token type="LiteralStringInterpol"/>
144 <push state="interpol_string"/>
145 </rule>
146 </state>
147 <state name="pa-no-intp">
148 <rule pattern="[^\)\\]+">
149 <token type="LiteralStringOther"/>
150 </rule>
151 <rule pattern="\\.">
152 <token type="LiteralStringOther"/>
153 </rule>
154 <rule pattern="\)[a-zA-Z]*">
155 <token type="LiteralStringOther"/>
156 <pop depth="1"/>
157 </rule>
158 </state>
159 <state name="map_key">
160 <rule>
161 <include state="root"/>
162 </rule>
163 <rule pattern=":">
164 <token type="Punctuation"/>
165 <push state="map_val"/>
166 </rule>
167 <rule pattern="=>">
168 <token type="Punctuation"/>
169 <push state="map_val"/>
170 </rule>
171 <rule pattern="\}">
172 <token type="Punctuation"/>
173 <pop depth="1"/>
174 </rule>
175 </state>
176 <state name="pa-intp">
177 <rule pattern="[^#\)\\]+">
178 <token type="LiteralStringOther"/>
179 </rule>
180 <rule>
181 <include state="escapes"/>
182 </rule>
183 <rule pattern="\\.">
184 <token type="LiteralStringOther"/>
185 </rule>
186 <rule pattern="\)[a-zA-Z]*">
187 <token type="LiteralStringOther"/>
188 <pop depth="1"/>
189 </rule>
190 <rule>
191 <include state="interpol"/>
192 </rule>
193 </state>
194 <state name="tuple">
195 <rule>
196 <include state="root"/>
197 </rule>
198 <rule pattern="\}">
199 <token type="Punctuation"/>
200 <pop depth="1"/>
201 </rule>
202 </state>
203 <state name="root">
204 <rule pattern="\s+">
205 <token type="Text"/>
206 </rule>
207 <rule pattern="#.*$">
208 <token type="CommentSingle"/>
209 </rule>
210 <rule pattern="(\?)(\\x\{)([\da-fA-F]+)(\})">
211 <bygroups>
212 <token type="LiteralStringChar"/>
213 <token type="LiteralStringEscape"/>
214 <token type="LiteralNumberHex"/>
215 <token type="LiteralStringEscape"/>
216 </bygroups>
217 </rule>
218 <rule pattern="(\?)(\\x[\da-fA-F]{1,2})">
219 <bygroups>
220 <token type="LiteralStringChar"/>
221 <token type="LiteralStringEscape"/>
222 </bygroups>
223 </rule>
224 <rule pattern="(\?)(\\[abdefnrstv])">
225 <bygroups>
226 <token type="LiteralStringChar"/>
227 <token type="LiteralStringEscape"/>
228 </bygroups>
229 </rule>
230 <rule pattern="\?\\?.">
231 <token type="LiteralStringChar"/>
232 </rule>
233 <rule pattern=":::">
234 <token type="LiteralStringSymbol"/>
235 </rule>
236 <rule pattern="::">
237 <token type="Operator"/>
238 </rule>
239 <rule pattern=":(?:\.\.\.|<<>>|%\{\}|%|\{\})">
240 <token type="LiteralStringSymbol"/>
241 </rule>
242 <rule pattern=":(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&))">
243 <token type="LiteralStringSymbol"/>
244 </rule>
245 <rule pattern=":"">
246 <token type="LiteralStringSymbol"/>
247 <push state="string_double_atom"/>
248 </rule>
249 <rule pattern=":'">
250 <token type="LiteralStringSymbol"/>
251 <push state="string_single_atom"/>
252 </rule>
253 <rule pattern="((?:\.\.\.|<<>>|%\{\}|%|\{\})|(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&)))(:)(?=\s|\n)">
254 <bygroups>
255 <token type="LiteralStringSymbol"/>
256 <token type="Punctuation"/>
257 </bygroups>
258 </rule>
259 <rule pattern="(fn|do|end|after|else|rescue|catch)\b">
260 <token type="Keyword"/>
261 </rule>
262 <rule pattern="(not|and|or|when|in)\b">
263 <token type="OperatorWord"/>
264 </rule>
265 <rule pattern="(case|cond|for|if|unless|try|receive|raise|quote|unquote|unquote_splicing|throw|super|while)\b">
266 <token type="Keyword"/>
267 </rule>
268 <rule pattern="(def|defp|defmodule|defprotocol|defmacro|defmacrop|defdelegate|defexception|defstruct|defimpl|defcallback)\b">
269 <token type="KeywordDeclaration"/>
270 </rule>
271 <rule pattern="(import|require|use|alias)\b">
272 <token type="KeywordNamespace"/>
273 </rule>
274 <rule pattern="(nil|true|false)\b">
275 <token type="NameConstant"/>
276 </rule>
277 <rule pattern="(_|__MODULE__|__DIR__|__ENV__|__CALLER__)\b">
278 <token type="NamePseudo"/>
279 </rule>
280 <rule pattern="@(?:\.\.\.|[a-z_]\w*[!?]?)">
281 <token type="NameAttribute"/>
282 </rule>
283 <rule pattern="(?:\.\.\.|[a-z_]\w*[!?]?)">
284 <token type="Name"/>
285 </rule>
286 <rule pattern="(%?)([A-Z]\w*(?:\.[A-Z]\w*)*)">
287 <bygroups>
288 <token type="Punctuation"/>
289 <token type="NameClass"/>
290 </bygroups>
291 </rule>
292 <rule pattern="\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>">
293 <token type="Operator"/>
294 </rule>
295 <rule pattern="\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~">
296 <token type="Operator"/>
297 </rule>
298 <rule pattern="\\\\|\<\<|\>\>|\=\>|\(|\)|\:|\;|\,|\[|\]">
299 <token type="Punctuation"/>
300 </rule>
301 <rule pattern="&\d">
302 <token type="NameEntity"/>
303 </rule>
304 <rule pattern="\<|\>|\+|\-|\*|\/|\!|\^|\&">
305 <token type="Operator"/>
306 </rule>
307 <rule pattern="0b[01](_?[01])*">
308 <token type="LiteralNumberBin"/>
309 </rule>
310 <rule pattern="0o[0-7](_?[0-7])*">
311 <token type="LiteralNumberOct"/>
312 </rule>
313 <rule pattern="0x[\da-fA-F](_?[\dA-Fa-f])*">
314 <token type="LiteralNumberHex"/>
315 </rule>
316 <rule pattern="\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?">
317 <token type="LiteralNumberFloat"/>
318 </rule>
319 <rule pattern="\d(_?\d)*">
320 <token type="LiteralNumberInteger"/>
321 </rule>
322 <rule pattern=""""\s*">
323 <token type="LiteralStringHeredoc"/>
324 <push state="heredoc_double"/>
325 </rule>
326 <rule pattern="'''\s*$">
327 <token type="LiteralStringHeredoc"/>
328 <push state="heredoc_single"/>
329 </rule>
330 <rule pattern=""">
331 <token type="LiteralStringDouble"/>
332 <push state="string_double"/>
333 </rule>
334 <rule pattern="'">
335 <token type="LiteralStringSingle"/>
336 <push state="string_single"/>
337 </rule>
338 <rule>
339 <include state="sigils"/>
340 </rule>
341 <rule pattern="%\{">
342 <token type="Punctuation"/>
343 <push state="map_key"/>
344 </rule>
345 <rule pattern="\{">
346 <token type="Punctuation"/>
347 <push state="tuple"/>
348 </rule>
349 </state>
350 <state name="sigils">
351 <rule pattern="(~[a-z])(""")">
352 <bygroups>
353 <token type="LiteralStringOther"/>
354 <token type="LiteralStringHeredoc"/>
355 </bygroups>
356 <push state="triquot-end" state="triquot-intp"/>
357 </rule>
358 <rule pattern="(~[A-Z])(""")">
359 <bygroups>
360 <token type="LiteralStringOther"/>
361 <token type="LiteralStringHeredoc"/>
362 </bygroups>
363 <push state="triquot-end" state="triquot-no-intp"/>
364 </rule>
365 <rule pattern="(~[a-z])(''')">
366 <bygroups>
367 <token type="LiteralStringOther"/>
368 <token type="LiteralStringHeredoc"/>
369 </bygroups>
370 <push state="triapos-end" state="triapos-intp"/>
371 </rule>
372 <rule pattern="(~[A-Z])(''')">
373 <bygroups>
374 <token type="LiteralStringOther"/>
375 <token type="LiteralStringHeredoc"/>
376 </bygroups>
377 <push state="triapos-end" state="triapos-no-intp"/>
378 </rule>
379 <rule pattern="~[a-z]\{">
380 <token type="LiteralStringOther"/>
381 <push state="cb-intp"/>
382 </rule>
383 <rule pattern="~[A-Z]\{">
384 <token type="LiteralStringOther"/>
385 <push state="cb-no-intp"/>
386 </rule>
387 <rule pattern="~[a-z]\[">
388 <token type="LiteralStringOther"/>
389 <push state="sb-intp"/>
390 </rule>
391 <rule pattern="~[A-Z]\[">
392 <token type="LiteralStringOther"/>
393 <push state="sb-no-intp"/>
394 </rule>
395 <rule pattern="~[a-z]\(">
396 <token type="LiteralStringOther"/>
397 <push state="pa-intp"/>
398 </rule>
399 <rule pattern="~[A-Z]\(">
400 <token type="LiteralStringOther"/>
401 <push state="pa-no-intp"/>
402 </rule>
403 <rule pattern="~[a-z]<">
404 <token type="LiteralStringOther"/>
405 <push state="ab-intp"/>
406 </rule>
407 <rule pattern="~[A-Z]<">
408 <token type="LiteralStringOther"/>
409 <push state="ab-no-intp"/>
410 </rule>
411 <rule pattern="~[a-z]/">
412 <token type="LiteralStringOther"/>
413 <push state="slas-intp"/>
414 </rule>
415 <rule pattern="~[A-Z]/">
416 <token type="LiteralStringOther"/>
417 <push state="slas-no-intp"/>
418 </rule>
419 <rule pattern="~[a-z]\|">
420 <token type="LiteralStringOther"/>
421 <push state="pipe-intp"/>
422 </rule>
423 <rule pattern="~[A-Z]\|">
424 <token type="LiteralStringOther"/>
425 <push state="pipe-no-intp"/>
426 </rule>
427 <rule pattern="~[a-z]"">
428 <token type="LiteralStringOther"/>
429 <push state="quot-intp"/>
430 </rule>
431 <rule pattern="~[A-Z]"">
432 <token type="LiteralStringOther"/>
433 <push state="quot-no-intp"/>
434 </rule>
435 <rule pattern="~[a-z]'">
436 <token type="LiteralStringOther"/>
437 <push state="apos-intp"/>
438 </rule>
439 <rule pattern="~[A-Z]'">
440 <token type="LiteralStringOther"/>
441 <push state="apos-no-intp"/>
442 </rule>
443 </state>
444 <state name="triapos-intp">
445 <rule pattern="^\s*'''">
446 <token type="LiteralStringHeredoc"/>
447 <pop depth="1"/>
448 </rule>
449 <rule>
450 <include state="heredoc_interpol"/>
451 </rule>
452 </state>
453 <state name="string_single_atom">
454 <rule pattern="[^#'\\]+">
455 <token type="LiteralStringSymbol"/>
456 </rule>
457 <rule>
458 <include state="escapes"/>
459 </rule>
460 <rule pattern="\\.">
461 <token type="LiteralStringSymbol"/>
462 </rule>
463 <rule pattern="(')">
464 <bygroups>
465 <token type="LiteralStringSymbol"/>
466 </bygroups>
467 <pop depth="1"/>
468 </rule>
469 <rule>
470 <include state="interpol"/>
471 </rule>
472 </state>
473 <state name="quot-intp">
474 <rule pattern="[^#"\\]+">
475 <token type="LiteralStringOther"/>
476 </rule>
477 <rule>
478 <include state="escapes"/>
479 </rule>
480 <rule pattern="\\.">
481 <token type="LiteralStringOther"/>
482 </rule>
483 <rule pattern=""[a-zA-Z]*">
484 <token type="LiteralStringOther"/>
485 <pop depth="1"/>
486 </rule>
487 <rule>
488 <include state="interpol"/>
489 </rule>
490 </state>
491 <state name="sb-no-intp">
492 <rule pattern="[^\]\\]+">
493 <token type="LiteralStringOther"/>
494 </rule>
495 <rule pattern="\\.">
496 <token type="LiteralStringOther"/>
497 </rule>
498 <rule pattern="\][a-zA-Z]*">
499 <token type="LiteralStringOther"/>
500 <pop depth="1"/>
501 </rule>
502 </state>
503 <state name="slas-intp">
504 <rule pattern="[^#/\\]+">
505 <token type="LiteralStringOther"/>
506 </rule>
507 <rule>
508 <include state="escapes"/>
509 </rule>
510 <rule pattern="\\.">
511 <token type="LiteralStringOther"/>
512 </rule>
513 <rule pattern="/[a-zA-Z]*">
514 <token type="LiteralStringOther"/>
515 <pop depth="1"/>
516 </rule>
517 <rule>
518 <include state="interpol"/>
519 </rule>
520 </state>
521 <state name="sb-intp">
522 <rule pattern="[^#\]\\]+">
523 <token type="LiteralStringOther"/>
524 </rule>
525 <rule>
526 <include state="escapes"/>
527 </rule>
528 <rule pattern="\\.">
529 <token type="LiteralStringOther"/>
530 </rule>
531 <rule pattern="\][a-zA-Z]*">
532 <token type="LiteralStringOther"/>
533 <pop depth="1"/>
534 </rule>
535 <rule>
536 <include state="interpol"/>
537 </rule>
538 </state>
539 <state name="heredoc_no_interpol">
540 <rule pattern="[^\\\n]+">
541 <token type="LiteralStringHeredoc"/>
542 </rule>
543 <rule pattern="\\.">
544 <token type="LiteralStringHeredoc"/>
545 </rule>
546 <rule pattern="\n+">
547 <token type="LiteralStringHeredoc"/>
548 </rule>
549 </state>
550 <state name="pipe-intp">
551 <rule pattern="[^#\|\\]+">
552 <token type="LiteralStringOther"/>
553 </rule>
554 <rule>
555 <include state="escapes"/>
556 </rule>
557 <rule pattern="\\.">
558 <token type="LiteralStringOther"/>
559 </rule>
560 <rule pattern="\|[a-zA-Z]*">
561 <token type="LiteralStringOther"/>
562 <pop depth="1"/>
563 </rule>
564 <rule>
565 <include state="interpol"/>
566 </rule>
567 </state>
568 <state name="map_val">
569 <rule>
570 <include state="root"/>
571 </rule>
572 <rule pattern=",">
573 <token type="Punctuation"/>
574 <pop depth="1"/>
575 </rule>
576 <rule pattern="(?=\})">
577 <token type="Punctuation"/>
578 <pop depth="1"/>
579 </rule>
580 </state>
581 <state name="heredoc_single">
582 <rule pattern="^\s*'''">
583 <token type="LiteralStringHeredoc"/>
584 <pop depth="1"/>
585 </rule>
586 <rule>
587 <include state="heredoc_interpol"/>
588 </rule>
589 </state>
590 <state name="heredoc_interpol">
591 <rule pattern="[^#\\\n]+">
592 <token type="LiteralStringHeredoc"/>
593 </rule>
594 <rule>
595 <include state="escapes"/>
596 </rule>
597 <rule pattern="\\.">
598 <token type="LiteralStringHeredoc"/>
599 </rule>
600 <rule pattern="\n+">
601 <token type="LiteralStringHeredoc"/>
602 </rule>
603 <rule>
604 <include state="interpol"/>
605 </rule>
606 </state>
607 <state name="string_single">
608 <rule pattern="[^#'\\]+">
609 <token type="LiteralStringSingle"/>
610 </rule>
611 <rule>
612 <include state="escapes"/>
613 </rule>
614 <rule pattern="\\.">
615 <token type="LiteralStringSingle"/>
616 </rule>
617 <rule pattern="(')">
618 <bygroups>
619 <token type="LiteralStringSingle"/>
620 </bygroups>
621 <pop depth="1"/>
622 </rule>
623 <rule>
624 <include state="interpol"/>
625 </rule>
626 </state>
627 <state name="string_double_atom">
628 <rule pattern="[^#"\\]+">
629 <token type="LiteralStringSymbol"/>
630 </rule>
631 <rule>
632 <include state="escapes"/>
633 </rule>
634 <rule pattern="\\.">
635 <token type="LiteralStringSymbol"/>
636 </rule>
637 <rule pattern="(")">
638 <bygroups>
639 <token type="LiteralStringSymbol"/>
640 </bygroups>
641 <pop depth="1"/>
642 </rule>
643 <rule>
644 <include state="interpol"/>
645 </rule>
646 </state>
647 <state name="ab-no-intp">
648 <rule pattern="[^>\\]+">
649 <token type="LiteralStringOther"/>
650 </rule>
651 <rule pattern="\\.">
652 <token type="LiteralStringOther"/>
653 </rule>
654 <rule pattern=">[a-zA-Z]*">
655 <token type="LiteralStringOther"/>
656 <pop depth="1"/>
657 </rule>
658 </state>
659 <state name="ab-intp">
660 <rule pattern="[^#>\\]+">
661 <token type="LiteralStringOther"/>
662 </rule>
663 <rule>
664 <include state="escapes"/>
665 </rule>
666 <rule pattern="\\.">
667 <token type="LiteralStringOther"/>
668 </rule>
669 <rule pattern=">[a-zA-Z]*">
670 <token type="LiteralStringOther"/>
671 <pop depth="1"/>
672 </rule>
673 <rule>
674 <include state="interpol"/>
675 </rule>
676 </state>
677 <state name="quot-no-intp">
678 <rule pattern="[^"\\]+">
679 <token type="LiteralStringOther"/>
680 </rule>
681 <rule pattern="\\.">
682 <token type="LiteralStringOther"/>
683 </rule>
684 <rule pattern=""[a-zA-Z]*">
685 <token type="LiteralStringOther"/>
686 <pop depth="1"/>
687 </rule>
688 </state>
689 <state name="triapos-no-intp">
690 <rule pattern="^\s*'''">
691 <token type="LiteralStringHeredoc"/>
692 <pop depth="1"/>
693 </rule>
694 <rule>
695 <include state="heredoc_no_interpol"/>
696 </rule>
697 </state>
698 <state name="string_double">
699 <rule pattern="[^#"\\]+">
700 <token type="LiteralStringDouble"/>
701 </rule>
702 <rule>
703 <include state="escapes"/>
704 </rule>
705 <rule pattern="\\.">
706 <token type="LiteralStringDouble"/>
707 </rule>
708 <rule pattern="(")">
709 <bygroups>
710 <token type="LiteralStringDouble"/>
711 </bygroups>
712 <pop depth="1"/>
713 </rule>
714 <rule>
715 <include state="interpol"/>
716 </rule>
717 </state>
718 <state name="escapes">
719 <rule pattern="(\\x\{)([\da-fA-F]+)(\})">
720 <bygroups>
721 <token type="LiteralStringEscape"/>
722 <token type="LiteralNumberHex"/>
723 <token type="LiteralStringEscape"/>
724 </bygroups>
725 </rule>
726 <rule pattern="(\\x[\da-fA-F]{1,2})">
727 <token type="LiteralStringEscape"/>
728 </rule>
729 <rule pattern="(\\[abdefnrstv])">
730 <token type="LiteralStringEscape"/>
731 </rule>
732 </state>
733 <state name="triquot-no-intp">
734 <rule pattern="^\s*"""">
735 <token type="LiteralStringHeredoc"/>
736 <pop depth="1"/>
737 </rule>
738 <rule>
739 <include state="heredoc_no_interpol"/>
740 </rule>
741 </state>
742 </rules>
743</lexer>
View as plain text