Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 <lexer> | |
2 <config> | |
3 <name>Ruby</name> | |
4 <alias>rb</alias> | |
5 <alias>ruby</alias> | |
6 <alias>duby</alias> | |
7 <filename>*.rb</filename> | |
8 <filename>*.rbw</filename> | |
9 <filename>Rakefile</filename> | |
10 <filename>*.rake</filename> | |
11 <filename>*.gemspec</filename> | |
12 <filename>*.rbx</filename> | |
13 <filename>*.duby</filename> | |
14 <filename>Gemfile</filename> | |
15 <mime_type>text/x-ruby</mime_type> | |
16 <mime_type>application/x-ruby</mime_type> | |
17 <dot_all>true</dot_all> | |
18 </config> | |
19 <rules> | |
20 <state name="simple-sym"> | |
21 <rule> | |
22 <include state="string-intp-escaped"/> | |
23 </rule> | |
24 <rule pattern="[^\\"#]+"> | |
25 <token type="LiteralStringSymbol"/> | |
26 </rule> | |
27 <rule pattern="[\\#]"> | |
28 <token type="LiteralStringSymbol"/> | |
29 </rule> | |
30 <rule pattern="""> | |
31 <token type="LiteralStringSymbol"/> | |
32 <pop depth="1"/> | |
33 </rule> | |
34 </state> | |
35 <state name="interpolated-regex"> | |
36 <rule> | |
37 <include state="string-intp"/> | |
38 </rule> | |
39 <rule pattern="[\\#]"> | |
40 <token type="LiteralStringRegex"/> | |
41 </rule> | |
42 <rule pattern="[^\\#]+"> | |
43 <token type="LiteralStringRegex"/> | |
44 </rule> | |
45 </state> | |
46 <state name="strings"> | |
47 <rule pattern="\:@{0,2}[a-zA-Z_]\w*[!?]?"> | |
48 <token type="LiteralStringSymbol"/> | |
49 </rule> | |
50 <rule pattern="\:@{0,2}(===|\[\]=|<=>|\*\*|==|>=|\+@|<>|>>|<<|-@|\[\]|~|`|\^|\||&|<|%|/|>|\+|-|\*)"> | |
51 <token type="LiteralStringSymbol"/> | |
52 </rule> | |
53 <rule pattern=":'(\\\\|\\'|[^'])*'"> | |
54 <token type="LiteralStringSymbol"/> | |
55 </rule> | |
56 <rule pattern="'(\\\\|\\'|[^'])*'"> | |
57 <token type="LiteralStringSingle"/> | |
58 </rule> | |
59 <rule pattern=":""> | |
60 <token type="LiteralStringSymbol"/> | |
61 <push state="simple-sym"/> | |
62 </rule> | |
63 <rule pattern="([a-zA-Z_]\w*)(:)(?!:)"> | |
64 <bygroups> | |
65 <token type="LiteralStringSymbol"/> | |
66 <token type="Punctuation"/> | |
67 </bygroups> | |
68 </rule> | |
69 <rule pattern="""> | |
70 <token type="LiteralStringDouble"/> | |
71 <push state="simple-string"/> | |
72 </rule> | |
73 <rule pattern="(?<!\.)`"> | |
74 <token type="LiteralStringBacktick"/> | |
75 <push state="simple-backtick"/> | |
76 </rule> | |
77 <rule pattern="%[QWx]?\{"> | |
78 <token type="LiteralStringOther"/> | |
79 <push state="cb-intp-string"/> | |
80 </rule> | |
81 <rule pattern="%[qsw]\{"> | |
82 <token type="LiteralStringOther"/> | |
83 <push state="cb-string"/> | |
84 </rule> | |
85 <rule pattern="%r\{"> | |
86 <token type="LiteralStringRegex"/> | |
87 <push state="cb-regex"/> | |
88 </rule> | |
89 <rule pattern="%[QWx]?\["> | |
90 <token type="LiteralStringOther"/> | |
91 <push state="sb-intp-string"/> | |
92 </rule> | |
93 <rule pattern="%[qsw]\["> | |
94 <token type="LiteralStringOther"/> | |
95 <push state="sb-string"/> | |
96 </rule> | |
97 <rule pattern="%r\["> | |
98 <token type="LiteralStringRegex"/> | |
99 <push state="sb-regex"/> | |
100 </rule> | |
101 <rule pattern="%[QWx]?\("> | |
102 <token type="LiteralStringOther"/> | |
103 <push state="pa-intp-string"/> | |
104 </rule> | |
105 <rule pattern="%[qsw]\("> | |
106 <token type="LiteralStringOther"/> | |
107 <push state="pa-string"/> | |
108 </rule> | |
109 <rule pattern="%r\("> | |
110 <token type="LiteralStringRegex"/> | |
111 <push state="pa-regex"/> | |
112 </rule> | |
113 <rule pattern="%[QWx]?<"> | |
114 <token type="LiteralStringOther"/> | |
115 <push state="ab-intp-string"/> | |
116 </rule> | |
117 <rule pattern="%[qsw]<"> | |
118 <token type="LiteralStringOther"/> | |
119 <push state="ab-string"/> | |
120 </rule> | |
121 <rule pattern="%r<"> | |
122 <token type="LiteralStringRegex"/> | |
123 <push state="ab-regex"/> | |
124 </rule> | |
125 <rule pattern="(%r([\W_]))((?:\\\2|(?!\2).)*)(\2[mixounse]*)"> | |
126 <token type="LiteralString"/> | |
127 </rule> | |
128 <rule pattern="%[qsw]([\W_])((?:\\\1|(?!\1).)*)\1"> | |
129 <token type="LiteralStringOther"/> | |
130 </rule> | |
131 <rule pattern="(%[QWx]([\W_]))((?:\\\2|(?!\2).)*)(\2)"> | |
132 <token type="LiteralString"/> | |
133 </rule> | |
134 <rule pattern="(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)"> | |
135 <bygroups> | |
136 <token type="Text"/> | |
137 <token type="LiteralStringOther"/> | |
138 <token type="None"/> | |
139 </bygroups> | |
140 </rule> | |
141 <rule pattern="^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)"> | |
142 <bygroups> | |
143 <token type="Text"/> | |
144 <token type="LiteralStringOther"/> | |
145 <token type="None"/> | |
146 </bygroups> | |
147 </rule> | |
148 <rule pattern="(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2)"> | |
149 <token type="LiteralString"/> | |
150 </rule> | |
151 </state> | |
152 <state name="simple-backtick"> | |
153 <rule> | |
154 <include state="string-intp-escaped"/> | |
155 </rule> | |
156 <rule pattern="[^\\`#]+"> | |
157 <token type="LiteralStringBacktick"/> | |
158 </rule> | |
159 <rule pattern="[\\#]"> | |
160 <token type="LiteralStringBacktick"/> | |
161 </rule> | |
162 <rule pattern="`"> | |
163 <token type="LiteralStringBacktick"/> | |
164 <pop depth="1"/> | |
165 </rule> | |
166 </state> | |
167 <state name="ab-regex"> | |
168 <rule pattern="\\[\\<>]"> | |
169 <token type="LiteralStringRegex"/> | |
170 </rule> | |
171 <rule pattern="<"> | |
172 <token type="LiteralStringRegex"/> | |
173 <push/> | |
174 </rule> | |
175 <rule pattern=">[mixounse]*"> | |
176 <token type="LiteralStringRegex"/> | |
177 <pop depth="1"/> | |
178 </rule> | |
179 <rule> | |
180 <include state="string-intp"/> | |
181 </rule> | |
182 <rule pattern="[\\#<>]"> | |
183 <token type="LiteralStringRegex"/> | |
184 </rule> | |
185 <rule pattern="[^\\#<>]+"> | |
186 <token type="LiteralStringRegex"/> | |
187 </rule> | |
188 </state> | |
189 <state name="cb-regex"> | |
190 <rule pattern="\\[\\{}]"> | |
191 <token type="LiteralStringRegex"/> | |
192 </rule> | |
193 <rule pattern="\{"> | |
194 <token type="LiteralStringRegex"/> | |
195 <push/> | |
196 </rule> | |
197 <rule pattern="\}[mixounse]*"> | |
198 <token type="LiteralStringRegex"/> | |
199 <pop depth="1"/> | |
200 </rule> | |
201 <rule> | |
202 <include state="string-intp"/> | |
203 </rule> | |
204 <rule pattern="[\\#{}]"> | |
205 <token type="LiteralStringRegex"/> | |
206 </rule> | |
207 <rule pattern="[^\\#{}]+"> | |
208 <token type="LiteralStringRegex"/> | |
209 </rule> | |
210 </state> | |
211 <state name="end-part"> | |
212 <rule pattern=".+"> | |
213 <token type="CommentPreproc"/> | |
214 <pop depth="1"/> | |
215 </rule> | |
216 </state> | |
217 <state name="string-intp"> | |
218 <rule pattern="#\{"> | |
219 <token type="LiteralStringInterpol"/> | |
220 <push state="in-intp"/> | |
221 </rule> | |
222 <rule pattern="#@@?[a-zA-Z_]\w*"> | |
223 <token type="LiteralStringInterpol"/> | |
224 </rule> | |
225 <rule pattern="#\$[a-zA-Z_]\w*"> | |
226 <token type="LiteralStringInterpol"/> | |
227 </rule> | |
228 </state> | |
229 <state name="interpolated-string"> | |
230 <rule> | |
231 <include state="string-intp"/> | |
232 </rule> | |
233 <rule pattern="[\\#]"> | |
234 <token type="LiteralStringOther"/> | |
235 </rule> | |
236 <rule pattern="[^\\#]+"> | |
237 <token type="LiteralStringOther"/> | |
238 </rule> | |
239 </state> | |
240 <state name="classname"> | |
241 <rule pattern="\("> | |
242 <token type="Punctuation"/> | |
243 <push state="defexpr"/> | |
244 </rule> | |
245 <rule pattern="<<"> | |
246 <token type="Operator"/> | |
247 <pop depth="1"/> | |
248 </rule> | |
249 <rule pattern="[A-Z_]\w*"> | |
250 <token type="NameClass"/> | |
251 <pop depth="1"/> | |
252 </rule> | |
253 <rule> | |
254 <pop depth="1"/> | |
255 </rule> | |
256 </state> | |
257 <state name="cb-intp-string"> | |
258 <rule pattern="\\[\\{}]"> | |
259 <token type="LiteralStringOther"/> | |
260 </rule> | |
261 <rule pattern="\{"> | |
262 <token type="LiteralStringOther"/> | |
263 <push/> | |
264 </rule> | |
265 <rule pattern="\}"> | |
266 <token type="LiteralStringOther"/> | |
267 <pop depth="1"/> | |
268 </rule> | |
269 <rule> | |
270 <include state="string-intp-escaped"/> | |
271 </rule> | |
272 <rule pattern="[\\#{}]"> | |
273 <token type="LiteralStringOther"/> | |
274 </rule> | |
275 <rule pattern="[^\\#{}]+"> | |
276 <token type="LiteralStringOther"/> | |
277 </rule> | |
278 </state> | |
279 <state name="root"> | |
280 <rule pattern="\A#!.+?$"> | |
281 <token type="CommentHashbang"/> | |
282 </rule> | |
283 <rule pattern="#.*?$"> | |
284 <token type="CommentSingle"/> | |
285 </rule> | |
286 <rule pattern="=begin\s.*?\n=end.*?$"> | |
287 <token type="CommentMultiline"/> | |
288 </rule> | |
289 <rule pattern="(defined\?|return|ensure|rescue|unless|undef|until|break|begin|elsif|super|alias|while|retry|BEGIN|raise|yield|redo|next|case|when|then|else|end|for|END|do|if|in)\b"> | |
290 <token type="Keyword"/> | |
291 </rule> | |
292 <rule pattern="(module)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)"> | |
293 <bygroups> | |
294 <token type="Keyword"/> | |
295 <token type="Text"/> | |
296 <token type="NameNamespace"/> | |
297 </bygroups> | |
298 </rule> | |
299 <rule pattern="(def)(\s+)"> | |
300 <bygroups> | |
301 <token type="Keyword"/> | |
302 <token type="Text"/> | |
303 </bygroups> | |
304 <push state="funcname"/> | |
305 </rule> | |
306 <rule pattern="def(?=[*%&^`~+-/\[<>=])"> | |
307 <token type="Keyword"/> | |
308 <push state="funcname"/> | |
309 </rule> | |
310 <rule pattern="(class)(\s+)"> | |
311 <bygroups> | |
312 <token type="Keyword"/> | |
313 <token type="Text"/> | |
314 </bygroups> | |
315 <push state="classname"/> | |
316 </rule> | |
317 <rule pattern="(module_function|attr_accessor|attr_reader|attr_writer|initialize|protected|include|private|extend|public|raise|false|catch|throw|attr|loop|true|new|nil)\b"> | |
318 <token type="KeywordPseudo"/> | |
319 </rule> | |
320 <rule pattern="(not|and|or)\b"> | |
321 <token type="OperatorWord"/> | |
322 </rule> | |
323 <rule pattern="(protected_method_defined|private_method_defined|public_method_defined|method_defined|const_defined|block_given|instance_of|respond_to|iterator|autoload|kind_of|tainted|include|frozen|equal|is_a|nil|eql)\?"> | |
324 <token type="NameBuiltin"/> | |
325 </rule> | |
326 <rule pattern="(chomp|chop|exit|gsub|sub)!"> | |
327 <token type="NameBuiltin"/> | |
328 </rule> | |
329 <rule pattern="(?<!\.)(protected_instance_methods|private_instance_methods|public_instance_methods|instance_variable_set|instance_variable_get|private_class_method|public_class_method|instance_variables|protected_methods|singleton_methods|included_modules|instance_methods|global_variables|private_methods|local_variables|instance_method|class_variables|public_methods|const_defined\?|set_trace_func|method_missing|const_missing|instance_eval|module_eval|untrace_var|class_eval|trace_var|const_get|readlines|ancestors|constants|const_set|object_id|readline|autoload|__send__|untaint|methods|display|Integer|sprintf|inspect|require|syscall|at_exit|binding|extend|printf|lambda|__id__|String|callcc|method|select|format|system|freeze|caller|raise|Float|print|throw|taint|clone|srand|Array|abort|split|catch|chomp|sleep|open|puts|putc|fork|fail|trap|exit|scan|getc|self|send|eval|gets|exec|gsub|proc|load|loop|chop|warn|hash|test|name|to_a|rand|to_s|sub|dup|id|p)\b"> | |
330 <token type="NameBuiltin"/> | |
331 </rule> | |
332 <rule pattern="__(FILE|LINE)__\b"> | |
333 <token type="NameBuiltinPseudo"/> | |
334 </rule> | |
335 <rule pattern="(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)"> | |
336 <token type="LiteralString"/> | |
337 </rule> | |
338 <rule pattern="(<<-?)("|\')()(\2)(.*?\n)"> | |
339 <token type="LiteralString"/> | |
340 </rule> | |
341 <rule pattern="__END__"> | |
342 <token type="CommentPreproc"/> | |
343 <push state="end-part"/> | |
344 </rule> | |
345 <rule pattern="(?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)"> | |
346 <bygroups> | |
347 <token type="Text"/> | |
348 <token type="LiteralStringRegex"/> | |
349 </bygroups> | |
350 <push state="multiline-regex"/> | |
351 </rule> | |
352 <rule pattern="(?<=\(|,|\[)/"> | |
353 <token type="LiteralStringRegex"/> | |
354 <push state="multiline-regex"/> | |
355 </rule> | |
356 <rule pattern="(\s+)(/)(?![\s=])"> | |
357 <bygroups> | |
358 <token type="Text"/> | |
359 <token type="LiteralStringRegex"/> | |
360 </bygroups> | |
361 <push state="multiline-regex"/> | |
362 </rule> | |
363 <rule pattern="(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?"> | |
364 <bygroups> | |
365 <token type="LiteralNumberOct"/> | |
366 <token type="Text"/> | |
367 <token type="Operator"/> | |
368 </bygroups> | |
369 </rule> | |
370 <rule pattern="(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?"> | |
371 <bygroups> | |
372 <token type="LiteralNumberHex"/> | |
373 <token type="Text"/> | |
374 <token type="Operator"/> | |
375 </bygroups> | |
376 </rule> | |
377 <rule pattern="(0b[01]+(?:_[01]+)*)(\s*)([/?])?"> | |
378 <bygroups> | |
379 <token type="LiteralNumberBin"/> | |
380 <token type="Text"/> | |
381 <token type="Operator"/> | |
382 </bygroups> | |
383 </rule> | |
384 <rule pattern="([\d]+(?:[_e]\d+)*)(\s*)([/?])?"> | |
385 <bygroups> | |
386 <token type="LiteralNumberInteger"/> | |
387 <token type="Text"/> | |
388 <token type="Operator"/> | |
389 </bygroups> | |
390 </rule> | |
391 <rule pattern="@@[a-zA-Z_]\w*"> | |
392 <token type="NameVariableClass"/> | |
393 </rule> | |
394 <rule pattern="@[a-zA-Z_]\w*"> | |
395 <token type="NameVariableInstance"/> | |
396 </rule> | |
397 <rule pattern="\$\w+"> | |
398 <token type="NameVariableGlobal"/> | |
399 </rule> | |
400 <rule pattern="\$[!@&`\'+~=/\\,;.<>_*$?:"^-]"> | |
401 <token type="NameVariableGlobal"/> | |
402 </rule> | |
403 <rule pattern="\$-[0adFiIlpvw]"> | |
404 <token type="NameVariableGlobal"/> | |
405 </rule> | |
406 <rule pattern="::"> | |
407 <token type="Operator"/> | |
408 </rule> | |
409 <rule> | |
410 <include state="strings"/> | |
411 </rule> | |
412 <rule pattern="\?(\\[MC]-)*(\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)"> | |
413 <token type="LiteralStringChar"/> | |
414 </rule> | |
415 <rule pattern="[A-Z]\w+"> | |
416 <token type="NameConstant"/> | |
417 </rule> | |
418 <rule pattern="(\.|::)(===|\[\]=|<=>|\*\*|==|>=|\+@|<>|>>|<<|-@|\[\]|~|`|\^|\||&|<|%|/|>|\+|-|\*)"> | |
419 <bygroups> | |
420 <token type="Operator"/> | |
421 <token type="NameOperator"/> | |
422 </bygroups> | |
423 </rule> | |
424 <rule pattern="(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])"> | |
425 <bygroups> | |
426 <token type="Operator"/> | |
427 <token type="Name"/> | |
428 </bygroups> | |
429 </rule> | |
430 <rule pattern="[a-zA-Z_]\w*[!?]?"> | |
431 <token type="Name"/> | |
432 </rule> | |
433 <rule pattern="(\[|\]|\*\*|<<?|>>?|>=|<=|<=>|=~|={3}|!~|&&?|\|\||\.{1,3})"> | |
434 <token type="Operator"/> | |
435 </rule> | |
436 <rule pattern="[-+/*%=<>&!^|~]=?"> | |
437 <token type="Operator"/> | |
438 </rule> | |
439 <rule pattern="[(){};,/?:\\]"> | |
440 <token type="Punctuation"/> | |
441 </rule> | |
442 <rule pattern="\s+"> | |
443 <token type="Text"/> | |
444 </rule> | |
445 </state> | |
446 <state name="defexpr"> | |
447 <rule pattern="(\))(\.|::)?"> | |
448 <bygroups> | |
449 <token type="Punctuation"/> | |
450 <token type="Operator"/> | |
451 </bygroups> | |
452 <pop depth="1"/> | |
453 </rule> | |
454 <rule pattern="\("> | |
455 <token type="Operator"/> | |
456 <push/> | |
457 </rule> | |
458 <rule> | |
459 <include state="root"/> | |
460 </rule> | |
461 </state> | |
462 <state name="in-intp"> | |
463 <rule pattern="\{"> | |
464 <token type="LiteralStringInterpol"/> | |
465 <push/> | |
466 </rule> | |
467 <rule pattern="\}"> | |
468 <token type="LiteralStringInterpol"/> | |
469 <pop depth="1"/> | |
470 </rule> | |
471 <rule> | |
472 <include state="root"/> | |
473 </rule> | |
474 </state> | |
475 <state name="multiline-regex"> | |
476 <rule> | |
477 <include state="string-intp"/> | |
478 </rule> | |
479 <rule pattern="\\\\"> | |
480 <token type="LiteralStringRegex"/> | |
481 </rule> | |
482 <rule pattern="\\/"> | |
483 <token type="LiteralStringRegex"/> | |
484 </rule> | |
485 <rule pattern="[\\#]"> | |
486 <token type="LiteralStringRegex"/> | |
487 </rule> | |
488 <rule pattern="[^\\/#]+"> | |
489 <token type="LiteralStringRegex"/> | |
490 </rule> | |
491 <rule pattern="/[mixounse]*"> | |
492 <token type="LiteralStringRegex"/> | |
493 <pop depth="1"/> | |
494 </rule> | |
495 </state> | |
496 <state name="cb-string"> | |
497 <rule pattern="\\[\\{}]"> | |
498 <token type="LiteralStringOther"/> | |
499 </rule> | |
500 <rule pattern="\{"> | |
501 <token type="LiteralStringOther"/> | |
502 <push/> | |
503 </rule> | |
504 <rule pattern="\}"> | |
505 <token type="LiteralStringOther"/> | |
506 <pop depth="1"/> | |
507 </rule> | |
508 <rule pattern="[\\#{}]"> | |
509 <token type="LiteralStringOther"/> | |
510 </rule> | |
511 <rule pattern="[^\\#{}]+"> | |
512 <token type="LiteralStringOther"/> | |
513 </rule> | |
514 </state> | |
515 <state name="funcname"> | |
516 <rule pattern="\("> | |
517 <token type="Punctuation"/> | |
518 <push state="defexpr"/> | |
519 </rule> | |
520 <rule pattern="(?:([a-zA-Z_]\w*)(\.))?([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)"> | |
521 <bygroups> | |
522 <token type="NameClass"/> | |
523 <token type="Operator"/> | |
524 <token type="NameFunction"/> | |
525 </bygroups> | |
526 <pop depth="1"/> | |
527 </rule> | |
528 <rule> | |
529 <pop depth="1"/> | |
530 </rule> | |
531 </state> | |
532 <state name="sb-intp-string"> | |
533 <rule pattern="\\[\\\[\]]"> | |
534 <token type="LiteralStringOther"/> | |
535 </rule> | |
536 <rule pattern="\["> | |
537 <token type="LiteralStringOther"/> | |
538 <push/> | |
539 </rule> | |
540 <rule pattern="\]"> | |
541 <token type="LiteralStringOther"/> | |
542 <pop depth="1"/> | |
543 </rule> | |
544 <rule> | |
545 <include state="string-intp-escaped"/> | |
546 </rule> | |
547 <rule pattern="[\\#\[\]]"> | |
548 <token type="LiteralStringOther"/> | |
549 </rule> | |
550 <rule pattern="[^\\#\[\]]+"> | |
551 <token type="LiteralStringOther"/> | |
552 </rule> | |
553 </state> | |
554 <state name="pa-string"> | |
555 <rule pattern="\\[\\()]"> | |
556 <token type="LiteralStringOther"/> | |
557 </rule> | |
558 <rule pattern="\("> | |
559 <token type="LiteralStringOther"/> | |
560 <push/> | |
561 </rule> | |
562 <rule pattern="\)"> | |
563 <token type="LiteralStringOther"/> | |
564 <pop depth="1"/> | |
565 </rule> | |
566 <rule pattern="[\\#()]"> | |
567 <token type="LiteralStringOther"/> | |
568 </rule> | |
569 <rule pattern="[^\\#()]+"> | |
570 <token type="LiteralStringOther"/> | |
571 </rule> | |
572 </state> | |
573 <state name="string-intp-escaped"> | |
574 <rule> | |
575 <include state="string-intp"/> | |
576 </rule> | |
577 <rule pattern="\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})"> | |
578 <token type="LiteralStringEscape"/> | |
579 </rule> | |
580 </state> | |
581 <state name="simple-string"> | |
582 <rule> | |
583 <include state="string-intp-escaped"/> | |
584 </rule> | |
585 <rule pattern="[^\\"#]+"> | |
586 <token type="LiteralStringDouble"/> | |
587 </rule> | |
588 <rule pattern="[\\#]"> | |
589 <token type="LiteralStringDouble"/> | |
590 </rule> | |
591 <rule pattern="""> | |
592 <token type="LiteralStringDouble"/> | |
593 <pop depth="1"/> | |
594 </rule> | |
595 </state> | |
596 <state name="pa-intp-string"> | |
597 <rule pattern="\\[\\()]"> | |
598 <token type="LiteralStringOther"/> | |
599 </rule> | |
600 <rule pattern="\("> | |
601 <token type="LiteralStringOther"/> | |
602 <push/> | |
603 </rule> | |
604 <rule pattern="\)"> | |
605 <token type="LiteralStringOther"/> | |
606 <pop depth="1"/> | |
607 </rule> | |
608 <rule> | |
609 <include state="string-intp-escaped"/> | |
610 </rule> | |
611 <rule pattern="[\\#()]"> | |
612 <token type="LiteralStringOther"/> | |
613 </rule> | |
614 <rule pattern="[^\\#()]+"> | |
615 <token type="LiteralStringOther"/> | |
616 </rule> | |
617 </state> | |
618 <state name="ab-string"> | |
619 <rule pattern="\\[\\<>]"> | |
620 <token type="LiteralStringOther"/> | |
621 </rule> | |
622 <rule pattern="<"> | |
623 <token type="LiteralStringOther"/> | |
624 <push/> | |
625 </rule> | |
626 <rule pattern=">"> | |
627 <token type="LiteralStringOther"/> | |
628 <pop depth="1"/> | |
629 </rule> | |
630 <rule pattern="[\\#<>]"> | |
631 <token type="LiteralStringOther"/> | |
632 </rule> | |
633 <rule pattern="[^\\#<>]+"> | |
634 <token type="LiteralStringOther"/> | |
635 </rule> | |
636 </state> | |
637 <state name="sb-regex"> | |
638 <rule pattern="\\[\\\[\]]"> | |
639 <token type="LiteralStringRegex"/> | |
640 </rule> | |
641 <rule pattern="\["> | |
642 <token type="LiteralStringRegex"/> | |
643 <push/> | |
644 </rule> | |
645 <rule pattern="\][mixounse]*"> | |
646 <token type="LiteralStringRegex"/> | |
647 <pop depth="1"/> | |
648 </rule> | |
649 <rule> | |
650 <include state="string-intp"/> | |
651 </rule> | |
652 <rule pattern="[\\#\[\]]"> | |
653 <token type="LiteralStringRegex"/> | |
654 </rule> | |
655 <rule pattern="[^\\#\[\]]+"> | |
656 <token type="LiteralStringRegex"/> | |
657 </rule> | |
658 </state> | |
659 <state name="pa-regex"> | |
660 <rule pattern="\\[\\()]"> | |
661 <token type="LiteralStringRegex"/> | |
662 </rule> | |
663 <rule pattern="\("> | |
664 <token type="LiteralStringRegex"/> | |
665 <push/> | |
666 </rule> | |
667 <rule pattern="\)[mixounse]*"> | |
668 <token type="LiteralStringRegex"/> | |
669 <pop depth="1"/> | |
670 </rule> | |
671 <rule> | |
672 <include state="string-intp"/> | |
673 </rule> | |
674 <rule pattern="[\\#()]"> | |
675 <token type="LiteralStringRegex"/> | |
676 </rule> | |
677 <rule pattern="[^\\#()]+"> | |
678 <token type="LiteralStringRegex"/> | |
679 </rule> | |
680 </state> | |
681 <state name="sb-string"> | |
682 <rule pattern="\\[\\\[\]]"> | |
683 <token type="LiteralStringOther"/> | |
684 </rule> | |
685 <rule pattern="\["> | |
686 <token type="LiteralStringOther"/> | |
687 <push/> | |
688 </rule> | |
689 <rule pattern="\]"> | |
690 <token type="LiteralStringOther"/> | |
691 <pop depth="1"/> | |
692 </rule> | |
693 <rule pattern="[\\#\[\]]"> | |
694 <token type="LiteralStringOther"/> | |
695 </rule> | |
696 <rule pattern="[^\\#\[\]]+"> | |
697 <token type="LiteralStringOther"/> | |
698 </rule> | |
699 </state> | |
700 <state name="ab-intp-string"> | |
701 <rule pattern="\\[\\<>]"> | |
702 <token type="LiteralStringOther"/> | |
703 </rule> | |
704 <rule pattern="<"> | |
705 <token type="LiteralStringOther"/> | |
706 <push/> | |
707 </rule> | |
708 <rule pattern=">"> | |
709 <token type="LiteralStringOther"/> | |
710 <pop depth="1"/> | |
711 </rule> | |
712 <rule> | |
713 <include state="string-intp-escaped"/> | |
714 </rule> | |
715 <rule pattern="[\\#<>]"> | |
716 <token type="LiteralStringOther"/> | |
717 </rule> | |
718 <rule pattern="[^\\#<>]+"> | |
719 <token type="LiteralStringOther"/> | |
720 </rule> | |
721 </state> | |
722 </rules> | |
723 </lexer> |