broomhlda 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +201 -0
  3. data/lib/hl/define.ay +131 -0
  4. data/lib/hl/formatters/html.ay +26 -0
  5. data/lib/hl/lexer.ay +99 -0
  6. data/lib/hl/lexers/atomy.ay +122 -0
  7. data/lib/hl/lexers/haskell.ay +89 -0
  8. data/lib/hl/lexers/imported/abap.ay +43 -0
  9. data/lib/hl/lexers/imported/actionscript.ay +31 -0
  10. data/lib/hl/lexers/imported/actionscript3.ay +47 -0
  11. data/lib/hl/lexers/imported/ada.ay +107 -0
  12. data/lib/hl/lexers/imported/antlr.ay +95 -0
  13. data/lib/hl/lexers/imported/apacheconf.ay +29 -0
  14. data/lib/hl/lexers/imported/applescript.ay +48 -0
  15. data/lib/hl/lexers/imported/aspectj.ay +42 -0
  16. data/lib/hl/lexers/imported/asymptote.ay +64 -0
  17. data/lib/hl/lexers/imported/autohotkey.ay +76 -0
  18. data/lib/hl/lexers/imported/autoit.ay +64 -0
  19. data/lib/hl/lexers/imported/awk.ay +42 -0
  20. data/lib/hl/lexers/imported/bash.ay +63 -0
  21. data/lib/hl/lexers/imported/batch.ay +45 -0
  22. data/lib/hl/lexers/imported/bbcode.ay +23 -0
  23. data/lib/hl/lexers/imported/befunge.ay +26 -0
  24. data/lib/hl/lexers/imported/blitzmax.ay +44 -0
  25. data/lib/hl/lexers/imported/boo.ay +55 -0
  26. data/lib/hl/lexers/imported/brainfuck.ay +28 -0
  27. data/lib/hl/lexers/imported/bro.ay +57 -0
  28. data/lib/hl/lexers/imported/bugs.ay +31 -0
  29. data/lib/hl/lexers/imported/c.ay +84 -0
  30. data/lib/hl/lexers/imported/ca65.ay +26 -0
  31. data/lib/hl/lexers/imported/cbmbasicv2.ay +25 -0
  32. data/lib/hl/lexers/imported/ceylon.ay +47 -0
  33. data/lib/hl/lexers/imported/cfengine3.ay +50 -0
  34. data/lib/hl/lexers/imported/clojure.ay +32 -0
  35. data/lib/hl/lexers/imported/cmake.ay +38 -0
  36. data/lib/hl/lexers/imported/cobol.ay +44 -0
  37. data/lib/hl/lexers/imported/coffeescript.ay +79 -0
  38. data/lib/hl/lexers/imported/coldfusion.ay +36 -0
  39. data/lib/hl/lexers/imported/commonlisp.ay +65 -0
  40. data/lib/hl/lexers/imported/coq.ay +59 -0
  41. data/lib/hl/lexers/imported/croc.ay +37 -0
  42. data/lib/hl/lexers/imported/css.ay +55 -0
  43. data/lib/hl/lexers/imported/cuda.ay +84 -0
  44. data/lib/hl/lexers/imported/cython.ay +128 -0
  45. data/lib/hl/lexers/imported/d.ay +102 -0
  46. data/lib/hl/lexers/imported/darcspatch.ay +45 -0
  47. data/lib/hl/lexers/imported/dart.ay +84 -0
  48. data/lib/hl/lexers/imported/debiancontrol.ay +51 -0
  49. data/lib/hl/lexers/imported/dg.ay +61 -0
  50. data/lib/hl/lexers/imported/diff.ay +22 -0
  51. data/lib/hl/lexers/imported/django.ay +46 -0
  52. data/lib/hl/lexers/imported/dtd.ay +62 -0
  53. data/lib/hl/lexers/imported/dylan.ay +60 -0
  54. data/lib/hl/lexers/imported/dylanlid.ay +17 -0
  55. data/lib/hl/lexers/imported/ecl.ay +57 -0
  56. data/lib/hl/lexers/imported/elixir.ay +93 -0
  57. data/lib/hl/lexers/imported/erlang.ay +47 -0
  58. data/lib/hl/lexers/imported/factor.ay +89 -0
  59. data/lib/hl/lexers/imported/fancy.ay +54 -0
  60. data/lib/hl/lexers/imported/fantom.ay +149 -0
  61. data/lib/hl/lexers/imported/felix.ay +140 -0
  62. data/lib/hl/lexers/imported/fortran.ay +39 -0
  63. data/lib/hl/lexers/imported/foxpro.ay +37 -0
  64. data/lib/hl/lexers/imported/fsharp.ay +61 -0
  65. data/lib/hl/lexers/imported/gas.ay +51 -0
  66. data/lib/hl/lexers/imported/gettext.ay +21 -0
  67. data/lib/hl/lexers/imported/gherkin.ay +97 -0
  68. data/lib/hl/lexers/imported/glshader.ay +31 -0
  69. data/lib/hl/lexers/imported/gnuplot.ay +111 -0
  70. data/lib/hl/lexers/imported/go.ay +40 -0
  71. data/lib/hl/lexers/imported/gooddatacl.ay +33 -0
  72. data/lib/hl/lexers/imported/gosu.ay +58 -0
  73. data/lib/hl/lexers/imported/groff.ay +38 -0
  74. data/lib/hl/lexers/imported/groovy.ay +45 -0
  75. data/lib/hl/lexers/imported/haskell.ay +89 -0
  76. data/lib/hl/lexers/imported/haxe.ay +186 -0
  77. data/lib/hl/lexers/imported/hxml.ay +22 -0
  78. data/lib/hl/lexers/imported/hybris.ay +42 -0
  79. data/lib/hl/lexers/imported/idl.ay +23 -0
  80. data/lib/hl/lexers/imported/ini.ay +18 -0
  81. data/lib/hl/lexers/imported/io.ay +34 -0
  82. data/lib/hl/lexers/imported/ioke.ay +88 -0
  83. data/lib/hl/lexers/imported/irclogs.ay +24 -0
  84. data/lib/hl/lexers/imported/jags.ay +36 -0
  85. data/lib/hl/lexers/imported/java.ay +42 -0
  86. data/lib/hl/lexers/imported/javascript.ay +45 -0
  87. data/lib/hl/lexers/imported/json.ay +47 -0
  88. data/lib/hl/lexers/imported/julia.ay +60 -0
  89. data/lib/hl/lexers/imported/kconfig.ay +71 -0
  90. data/lib/hl/lexers/imported/koka.ay +104 -0
  91. data/lib/hl/lexers/imported/lasso.ay +143 -0
  92. data/lib/hl/lexers/imported/lighttpdconf.ay +24 -0
  93. data/lib/hl/lexers/imported/livescript.ay +82 -0
  94. data/lib/hl/lexers/imported/llvm.ay +36 -0
  95. data/lib/hl/lexers/imported/logtalk.ay +133 -0
  96. data/lib/hl/lexers/imported/lua.ay +56 -0
  97. data/lib/hl/lexers/imported/maql.ay +32 -0
  98. data/lib/hl/lexers/imported/matlab.ay +43 -0
  99. data/lib/hl/lexers/imported/minid.ay +37 -0
  100. data/lib/hl/lexers/imported/modula2.ay +63 -0
  101. data/lib/hl/lexers/imported/moinwiki.ay +33 -0
  102. data/lib/hl/lexers/imported/monkey.ay +84 -0
  103. data/lib/hl/lexers/imported/moocode.ay +26 -0
  104. data/lib/hl/lexers/imported/moonscript.ay +52 -0
  105. data/lib/hl/lexers/imported/mscgen.ay +35 -0
  106. data/lib/hl/lexers/imported/mupad.ay +36 -0
  107. data/lib/hl/lexers/imported/mysql.ay +37 -0
  108. data/lib/hl/lexers/imported/nasm.ay +52 -0
  109. data/lib/hl/lexers/imported/newlisp.ay +34 -0
  110. data/lib/hl/lexers/imported/newspeak.ay +49 -0
  111. data/lib/hl/lexers/imported/nginxconf.ay +41 -0
  112. data/lib/hl/lexers/imported/nimrod.ay +84 -0
  113. data/lib/hl/lexers/imported/nsis.ay +55 -0
  114. data/lib/hl/lexers/imported/numpy.ay +116 -0
  115. data/lib/hl/lexers/imported/objectivej.ay +120 -0
  116. data/lib/hl/lexers/imported/ocaml.ay +59 -0
  117. data/lib/hl/lexers/imported/octave.ay +39 -0
  118. data/lib/hl/lexers/imported/ooc.ay +45 -0
  119. data/lib/hl/lexers/imported/opa.ay +153 -0
  120. data/lib/hl/lexers/imported/openedge.ay +40 -0
  121. data/lib/hl/lexers/imported/perl.ay +130 -0
  122. data/lib/hl/lexers/imported/php.ay +63 -0
  123. data/lib/hl/lexers/imported/postscript.ay +39 -0
  124. data/lib/hl/lexers/imported/povray.ay +28 -0
  125. data/lib/hl/lexers/imported/powershell.ay +49 -0
  126. data/lib/hl/lexers/imported/prolog.ay +39 -0
  127. data/lib/hl/lexers/imported/properties.ay +17 -0
  128. data/lib/hl/lexers/imported/protobuf.ay +43 -0
  129. data/lib/hl/lexers/imported/puppet.ay +50 -0
  130. data/lib/hl/lexers/imported/pypylog.ay +44 -0
  131. data/lib/hl/lexers/imported/python.ay +116 -0
  132. data/lib/hl/lexers/imported/python3.ay +113 -0
  133. data/lib/hl/lexers/imported/qml.ay +47 -0
  134. data/lib/hl/lexers/imported/racket.ay +62 -0
  135. data/lib/hl/lexers/imported/ragel.ay +70 -0
  136. data/lib/hl/lexers/imported/rd.ay +22 -0
  137. data/lib/hl/lexers/imported/redcode.ay +23 -0
  138. data/lib/hl/lexers/imported/regedit.ay +25 -0
  139. data/lib/hl/lexers/imported/rpmspec.ay +57 -0
  140. data/lib/hl/lexers/imported/rust.ay +56 -0
  141. data/lib/hl/lexers/imported/s.ay +61 -0
  142. data/lib/hl/lexers/imported/scala.ay +72 -0
  143. data/lib/hl/lexers/imported/scheme.ay +31 -0
  144. data/lib/hl/lexers/imported/scilab.ay +37 -0
  145. data/lib/hl/lexers/imported/scss.ay +115 -0
  146. data/lib/hl/lexers/imported/smali.ay +71 -0
  147. data/lib/hl/lexers/imported/smalltalk.ay +93 -0
  148. data/lib/hl/lexers/imported/snobol.ay +42 -0
  149. data/lib/hl/lexers/imported/sourcepawn.ay +58 -0
  150. data/lib/hl/lexers/imported/sourceslist.ay +37 -0
  151. data/lib/hl/lexers/imported/sql.ay +31 -0
  152. data/lib/hl/lexers/imported/squidconf.ay +29 -0
  153. data/lib/hl/lexers/imported/stan.ay +38 -0
  154. data/lib/hl/lexers/imported/systemverilog.ay +65 -0
  155. data/lib/hl/lexers/imported/tcl.ay +110 -0
  156. data/lib/hl/lexers/imported/tcsh.ay +52 -0
  157. data/lib/hl/lexers/imported/tex.ay +49 -0
  158. data/lib/hl/lexers/imported/typescript.ay +51 -0
  159. data/lib/hl/lexers/imported/vala.ay +70 -0
  160. data/lib/hl/lexers/imported/vbnet.ay +62 -0
  161. data/lib/hl/lexers/imported/velocity.ay +50 -0
  162. data/lib/hl/lexers/imported/verilog.ay +61 -0
  163. data/lib/hl/lexers/imported/vgl.ay +25 -0
  164. data/lib/hl/lexers/imported/vhdl.ay +54 -0
  165. data/lib/hl/lexers/imported/vim.ay +28 -0
  166. data/lib/hl/lexers/imported/xml.ay +38 -0
  167. data/lib/hl/lexers/imported/xslt.ay +38 -0
  168. data/lib/hl/lexers/imported/xtend.ay +48 -0
  169. data/lib/hl/lexers/ruby.ay +238 -0
  170. data/lib/hl/state.ay +31 -0
  171. data/lib/hl/token.ay +8 -0
  172. data/lib/hl.ay +17 -0
  173. metadata +244 -0
@@ -0,0 +1,116 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Python"
6
+ aliases: ["python", "py", "sage"]
7
+ extensions: [".py", ".pyw", ".sc", "SConstruct", "SConscript", ".tac", ".sage"]
8
+ mimetypes: ["text/x-python", "application/x-python"]
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(tsqs):
13
+ r"'''" is(literal.string) -> pop
14
+ any-of(strings)
15
+ any-of(nl)
16
+
17
+ lex(builtins):
18
+ r"(?<!\.)(__import__|abs|all|any|apply|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|exit|file|filter|float|frozenset|getattr|globals|hasattr|hash|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b" is(name.builtin)
19
+ r"(?<!\.)(self|None|Ellipsis|NotImplemented|False|True)\b" is(name.builtin.pseudo)
20
+ r"(?<!\.)(ArithmeticError|AssertionError|AttributeError|BaseException|DeprecationWarning|EOFError|EnvironmentError|Exception|FloatingPointError|FutureWarning|GeneratorExit|IOError|ImportError|ImportWarning|IndentationError|IndexError|KeyError|KeyboardInterrupt|LookupError|MemoryError|NameError|NotImplemented|NotImplementedError|OSError|OverflowError|OverflowWarning|PendingDeprecationWarning|ReferenceError|RuntimeError|RuntimeWarning|StandardError|StopIteration|SyntaxError|SyntaxWarning|SystemError|SystemExit|TabError|TypeError|UnboundLocalError|UnicodeDecodeError|UnicodeEncodeError|UnicodeError|UnicodeTranslateError|UnicodeWarning|UserWarning|ValueError|VMSError|Warning|WindowsError|ZeroDivisionError)\b" is(name.exception)
21
+
22
+ lex(name):
23
+ r"@[a-zA-Z0-9_.]+" is(name.decorator)
24
+ r"[a-zA-Z_][a-zA-Z0-9_]*" is(name)
25
+
26
+ lex(dqs):
27
+ r"\"" is(literal.string) -> pop
28
+ r"\\\\|\\\"|\\\n" is(literal.string.escape)
29
+ any-of(strings)
30
+
31
+ lex(sqs):
32
+ r"'" is(literal.string) -> pop
33
+ r"\\\\|\\'|\\\n" is(literal.string.escape)
34
+ any-of(strings)
35
+
36
+ lex(tdqs):
37
+ r"\"\"\"" is(literal.string) -> pop
38
+ any-of(strings)
39
+ any-of(nl)
40
+
41
+ lex(backtick):
42
+ r"`.*?`" is(literal.string.backtick)
43
+
44
+ lex(funcname):
45
+ r"[a-zA-Z_][a-zA-Z0-9_]*" is(name.function) -> pop
46
+
47
+ lex(classname):
48
+ r"[a-zA-Z_][a-zA-Z0-9_]*" is(name.class) -> pop
49
+
50
+ lex(stringescape):
51
+ r"\\([\\abfnrtv\"\']|\n|N{.*?}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})" is(literal.string.escape)
52
+
53
+ lex(numbers):
54
+ r"(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?" is(literal.number.float)
55
+ r"\d+[eE][+-]?[0-9]+j?" is(literal.number.float)
56
+ r"0[0-7]+j?" is(literal.number.oct)
57
+ r"0[xX][a-fA-F0-9]+" is(literal.number.hex)
58
+ r"\d+L" is(literal.number.integer.long)
59
+ r"\d+j?" is(literal.number.integer)
60
+
61
+ lex(keywords):
62
+ r"(assert|break|continue|del|elif|else|except|exec|finally|for|global|if|lambda|pass|print|raise|return|try|while|yield(\s+from)?|as|with)\b" is(keyword)
63
+
64
+ lex(import):
65
+ r"(?:[ \t]|\\\n)+" is(text)
66
+ r"as\b" is(keyword.namespace)
67
+ r"," is(operator)
68
+ r"[a-zA-Z_][a-zA-Z0-9_.]*" is(name.namespace)
69
+ r"" is(text) -> pop
70
+
71
+ lex(nl):
72
+ r"\n" is(literal.string)
73
+
74
+ lex(root):
75
+ r"\n" is(text)
76
+ r"^(\s*)([rRuU]{,2}\"\"\"(?:.|\n)*?\"\"\")" is(by-groups(text, literal.string.doc))
77
+ r"^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')" is(by-groups(text, literal.string.doc))
78
+ r"[^\S\n]+" is(text)
79
+ r"\#.*$" is(comment)
80
+ r"[\]{}:(),;\[]" is(punctuation)
81
+ r"\\\n" is(text)
82
+ r"\\" is(text)
83
+ r"(in|is|and|or|not)\b" is(operator.word)
84
+ r"!=|==|<<|>>|[-\126+/*%=<>&^|.]" is(operator)
85
+ any-of(keywords)
86
+ r"(def)((?:\s|\\\s)+)" is(by-groups(keyword, text)) -> go-to(funcname)
87
+ r"(class)((?:\s|\\\s)+)" is(by-groups(keyword, text)) -> go-to(classname)
88
+ r"(from)((?:\s|\\\s)+)" is(by-groups(keyword.namespace, text)) -> go-to(fromimport)
89
+ r"(import)((?:\s|\\\s)+)" is(by-groups(keyword.namespace, text)) -> go-to(import)
90
+ any-of(builtins)
91
+ any-of(backtick)
92
+ r"(?:[rR]|[uU][rR]|[rR][uU])\"\"\"" is(literal.string) -> go-to(tdqs)
93
+ r"(?:[rR]|[uU][rR]|[rR][uU])'''" is(literal.string) -> go-to(tsqs)
94
+ r"(?:[rR]|[uU][rR]|[rR][uU])\"" is(literal.string) -> go-to(dqs)
95
+ r"(?:[rR]|[uU][rR]|[rR][uU])'" is(literal.string) -> go-to(sqs)
96
+ r"[uU]?\"\"\"" is(literal.string) -> combined(stringescape, tdqs)
97
+ r"[uU]?'''" is(literal.string) -> combined(stringescape, tsqs)
98
+ r"[uU]?\"" is(literal.string) -> combined(stringescape, dqs)
99
+ r"[uU]?'" is(literal.string) -> combined(stringescape, sqs)
100
+ any-of(name)
101
+ any-of(numbers)
102
+
103
+ lex(strings):
104
+ r"%(\([a-zA-Z0-9_]+\))?[-\#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[diouxXeEfFgGcrs%]" is(literal.string.interpol)
105
+ r"[^\\\'\"%\n]+" is(literal.string)
106
+ r"[\'\"\\]" is(literal.string)
107
+ r"%" is(literal.string)
108
+
109
+ lex(fromimport):
110
+ r"(?:[ \t]|\\\n)+" is(text)
111
+ r"import\b" is(keyword.namespace) -> pop
112
+ r"None\b" is(name.builtin.pseudo) -> pop
113
+ r"[a-zA-Z_.][a-zA-Z0-9_.]*" is(name.namespace)
114
+ r"" is(text) -> pop
115
+
116
+ const-set(.Lexer, lexer)
@@ -0,0 +1,113 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Python 3"
6
+ aliases: ["python3", "py3"]
7
+ extensions: []
8
+ mimetypes: ["text/x-python3", "application/x-python3"]
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(tsqs):
13
+ r"'''" is(literal.string) -> pop
14
+ any-of(strings)
15
+ any-of(nl)
16
+
17
+ lex(sqs):
18
+ r"'" is(literal.string) -> pop
19
+ r"\\\\|\\'|\\\n" is(literal.string.escape)
20
+ any-of(strings)
21
+
22
+ lex(backtick):
23
+
24
+
25
+ lex(classname):
26
+ r"[A-Z_a-z\170\181\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1488-\1514\1520-\1522\1569-\1594\1600\1601-\1610\1646-\1647\1649-\1747\1749\1765-\1766\1774-\1775\1786-\1788\1791\1808\1810-\1839\1869-\1901\1920-\1957\1969\2308-\2361\2365\2384\2392-\2401\2429\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2493\2510\2524-\2525\2527-\2529\2544-\2545\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2649-\2652\2654\2674-\2676\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2749\2768\2784-\2785\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2877\2908-\2909\2911-\2913\2929\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3168-\3169\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3261\3294\3296-\3297\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3424-\3425\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3585-\3632\3634\3648-\3653\3654\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3762\3773\3776-\3780\3782\3804-\3805\3840\3904-\3911\3913-\3946\3976-\3979\4096-\4129\4131-\4135\4137-\4138\4176-\4181\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5920-\5937\5952-\5969\5984-\5996\5998-\6000\6016-\6067\6103\6108\6176-\6210\6211\6212-\6263\6272-\6312\6400-\6428\6480-\6509\6512-\6516\6528-\6569\6593-\6599\6656-\6678\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8305\8319\8336-\8340\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12337-\12341\12344-\12346\12347\12348\12353-\12438\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43011-\43013\43015-\43018\43020-\43042\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65137\65139\65143\65145\65147\65149\65151-\65276\65313-\65338\65345-\65370\65382-\65391\65392\65393-\65437\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500][0-9A-Z_a-z\170\181\183\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\768-\879\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1155-\1158\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1425-\1465\1467-\1469\1471\1473-\1474\1476-\1477\1479\1488-\1514\1520-\1522\1552-\1557\1569-\1594\1600\1601-\1610\1611-\1630\1632-\1641\1646-\1647\1648\1649-\1747\1749\1750-\1756\1759-\1764\1765-\1766\1767-\1768\1770-\1773\1774-\1775\1776-\1785\1786-\1788\1791\1808\1809\1810-\1839\1840-\1866\1869-\1901\1920-\1957\1958-\1968\1969\2305-\2306\2307\2308-\2361\2364\2365\2366-\2368\2369-\2376\2377-\2380\2381\2384\2385-\2388\2392-\2401\2402-\2403\2406-\2415\2429\2433\2434-\2435\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2492\2493\2494-\2496\2497-\2500\2503-\2504\2507-\2508\2509\2510\2519\2524-\2525\2527-\2529\2530-\2531\2534-\2543\2544-\2545\2561-\2562\2563\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2620\2622-\2624\2625-\2626\2631-\2632\2635-\2637\2649-\2652\2654\2662-\2671\2672-\2673\2674-\2676\2689-\2690\2691\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2748\2749\2750-\2752\2753-\2757\2759-\2760\2761\2763-\2764\2765\2768\2784-\2785\2786-\2787\2790-\2799\2817\2818-\2819\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2876\2877\2878\2879\2880\2881-\2883\2887-\2888\2891-\2892\2893\2902\2903\2908-\2909\2911-\2913\2918-\2927\2929\2946\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3006-\3007\3008\3009-\3010\3014-\3016\3018-\3020\3021\3031\3046-\3055\3073-\3075\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3134-\3136\3137-\3140\3142-\3144\3146-\3149\3157-\3158\3168-\3169\3174-\3183\3202-\3203\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3260\3261\3262\3263\3264-\3268\3270\3271-\3272\3274-\3275\3276-\3277\3285-\3286\3294\3296-\3297\3302-\3311\3330-\3331\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3390-\3392\3393-\3395\3398-\3400\3402-\3404\3405\3415\3424-\3425\3430-\3439\3458-\3459\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3530\3535-\3537\3538-\3540\3542\3544-\3551\3570-\3571\3585-\3632\3633\3634-\3635\3636-\3642\3648-\3653\3654\3655-\3662\3664-\3673\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3761\3762-\3763\3764-\3769\3771-\3772\3773\3776-\3780\3782\3784-\3789\3792-\3801\3804-\3805\3840\3864-\3865\3872-\3881\3893\3895\3897\3902-\3903\3904-\3911\3913-\3946\3953-\3966\3967\3968-\3972\3974-\3975\3976-\3979\3984-\3991\3993-\4028\4038\4096-\4129\4131-\4135\4137-\4138\4140\4141-\4144\4145\4146\4150-\4151\4152\4153\4160-\4169\4176-\4181\4182-\4183\4184-\4185\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4959\4969-\4977\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5906-\5908\5920-\5937\5938-\5940\5952-\5969\5970-\5971\5984-\5996\5998-\6000\6002-\6003\6016-\6067\6070\6071-\6077\6078-\6085\6086\6087-\6088\6089-\6099\6103\6108\6109\6112-\6121\6155-\6157\6160-\6169\6176-\6210\6211\6212-\6263\6272-\6312\6313\6400-\6428\6432-\6434\6435-\6438\6439-\6440\6441-\6443\6448-\6449\6450\6451-\6456\6457-\6459\6470-\6479\6480-\6509\6512-\6516\6528-\6569\6576-\6592\6593-\6599\6600-\6601\6608-\6617\6656-\6678\6679-\6680\6681-\6683\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7616-\7619\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8255-\8256\8276\8305\8319\8336-\8340\8400-\8412\8417\8421-\8427\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12330-\12335\12337-\12341\12344-\12346\12347\12348\12353-\12438\12441-\12442\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43010\43011-\43013\43014\43015-\43018\43019\43020-\43042\43043-\43044\43045-\43046\43047\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64286\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65024-\65039\65056-\65059\65075-\65076\65101-\65103\65137\65139\65143\65145\65147\65149\65151-\65276\65296-\65305\65313-\65338\65343\65345-\65370\65382-\65391\65392\65393-\65437\65438-\65439\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500]*" is(name.class) -> pop
27
+
28
+ lex(stringescape):
29
+ r"\\([\\abfnrtv\"\']|\n|N{.*?}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})" is(literal.string.escape)
30
+
31
+ lex(numbers):
32
+ r"(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?" is(literal.number.float)
33
+ r"0[oO][0-7]+" is(literal.number.oct)
34
+ r"0[bB][01]+" is(literal.number.bin)
35
+ r"0[xX][a-fA-F0-9]+" is(literal.number.hex)
36
+ r"\d+" is(literal.number.integer)
37
+
38
+ lex(keywords):
39
+ r"(assert|break|continue|del|elif|else|except|finally|for|global|if|lambda|pass|raise|nonlocal|return|try|while|yield(\s+from)?|as|with|True|False|None)\b" is(keyword)
40
+
41
+ lex(nl):
42
+ r"\n" is(literal.string)
43
+
44
+ lex(builtins):
45
+ r"(?<!\.)(__import__|abs|all|any|bin|bool|bytearray|bytes|chr|classmethod|cmp|compile|complex|delattr|dict|dir|divmod|enumerate|eval|filter|float|format|frozenset|getattr|globals|hasattr|hash|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip)\b" is(name.builtin)
46
+ r"(?<!\.)(self|Ellipsis|NotImplemented)\b" is(name.builtin.pseudo)
47
+ r"(?<!\.)(ArithmeticError|AssertionError|AttributeError|BaseException|BufferError|BytesWarning|DeprecationWarning|EOFError|EnvironmentError|Exception|FloatingPointError|FutureWarning|GeneratorExit|IOError|ImportError|ImportWarning|IndentationError|IndexError|KeyError|KeyboardInterrupt|LookupError|MemoryError|NameError|NotImplementedError|OSError|OverflowError|PendingDeprecationWarning|ReferenceError|RuntimeError|RuntimeWarning|StopIteration|SyntaxError|SyntaxWarning|SystemError|SystemExit|TabError|TypeError|UnboundLocalError|UnicodeDecodeError|UnicodeEncodeError|UnicodeError|UnicodeTranslateError|UnicodeWarning|UserWarning|ValueError|VMSError|Warning|WindowsError|ZeroDivisionError)\b" is(name.exception)
48
+
49
+ lex(name):
50
+ r"@[a-zA-Z0-9_]+" is(name.decorator)
51
+ r"[A-Z_a-z\170\181\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1488-\1514\1520-\1522\1569-\1594\1600\1601-\1610\1646-\1647\1649-\1747\1749\1765-\1766\1774-\1775\1786-\1788\1791\1808\1810-\1839\1869-\1901\1920-\1957\1969\2308-\2361\2365\2384\2392-\2401\2429\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2493\2510\2524-\2525\2527-\2529\2544-\2545\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2649-\2652\2654\2674-\2676\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2749\2768\2784-\2785\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2877\2908-\2909\2911-\2913\2929\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3168-\3169\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3261\3294\3296-\3297\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3424-\3425\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3585-\3632\3634\3648-\3653\3654\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3762\3773\3776-\3780\3782\3804-\3805\3840\3904-\3911\3913-\3946\3976-\3979\4096-\4129\4131-\4135\4137-\4138\4176-\4181\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5920-\5937\5952-\5969\5984-\5996\5998-\6000\6016-\6067\6103\6108\6176-\6210\6211\6212-\6263\6272-\6312\6400-\6428\6480-\6509\6512-\6516\6528-\6569\6593-\6599\6656-\6678\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8305\8319\8336-\8340\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12337-\12341\12344-\12346\12347\12348\12353-\12438\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43011-\43013\43015-\43018\43020-\43042\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65137\65139\65143\65145\65147\65149\65151-\65276\65313-\65338\65345-\65370\65382-\65391\65392\65393-\65437\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500][0-9A-Z_a-z\170\181\183\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\768-\879\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1155-\1158\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1425-\1465\1467-\1469\1471\1473-\1474\1476-\1477\1479\1488-\1514\1520-\1522\1552-\1557\1569-\1594\1600\1601-\1610\1611-\1630\1632-\1641\1646-\1647\1648\1649-\1747\1749\1750-\1756\1759-\1764\1765-\1766\1767-\1768\1770-\1773\1774-\1775\1776-\1785\1786-\1788\1791\1808\1809\1810-\1839\1840-\1866\1869-\1901\1920-\1957\1958-\1968\1969\2305-\2306\2307\2308-\2361\2364\2365\2366-\2368\2369-\2376\2377-\2380\2381\2384\2385-\2388\2392-\2401\2402-\2403\2406-\2415\2429\2433\2434-\2435\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2492\2493\2494-\2496\2497-\2500\2503-\2504\2507-\2508\2509\2510\2519\2524-\2525\2527-\2529\2530-\2531\2534-\2543\2544-\2545\2561-\2562\2563\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2620\2622-\2624\2625-\2626\2631-\2632\2635-\2637\2649-\2652\2654\2662-\2671\2672-\2673\2674-\2676\2689-\2690\2691\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2748\2749\2750-\2752\2753-\2757\2759-\2760\2761\2763-\2764\2765\2768\2784-\2785\2786-\2787\2790-\2799\2817\2818-\2819\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2876\2877\2878\2879\2880\2881-\2883\2887-\2888\2891-\2892\2893\2902\2903\2908-\2909\2911-\2913\2918-\2927\2929\2946\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3006-\3007\3008\3009-\3010\3014-\3016\3018-\3020\3021\3031\3046-\3055\3073-\3075\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3134-\3136\3137-\3140\3142-\3144\3146-\3149\3157-\3158\3168-\3169\3174-\3183\3202-\3203\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3260\3261\3262\3263\3264-\3268\3270\3271-\3272\3274-\3275\3276-\3277\3285-\3286\3294\3296-\3297\3302-\3311\3330-\3331\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3390-\3392\3393-\3395\3398-\3400\3402-\3404\3405\3415\3424-\3425\3430-\3439\3458-\3459\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3530\3535-\3537\3538-\3540\3542\3544-\3551\3570-\3571\3585-\3632\3633\3634-\3635\3636-\3642\3648-\3653\3654\3655-\3662\3664-\3673\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3761\3762-\3763\3764-\3769\3771-\3772\3773\3776-\3780\3782\3784-\3789\3792-\3801\3804-\3805\3840\3864-\3865\3872-\3881\3893\3895\3897\3902-\3903\3904-\3911\3913-\3946\3953-\3966\3967\3968-\3972\3974-\3975\3976-\3979\3984-\3991\3993-\4028\4038\4096-\4129\4131-\4135\4137-\4138\4140\4141-\4144\4145\4146\4150-\4151\4152\4153\4160-\4169\4176-\4181\4182-\4183\4184-\4185\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4959\4969-\4977\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5906-\5908\5920-\5937\5938-\5940\5952-\5969\5970-\5971\5984-\5996\5998-\6000\6002-\6003\6016-\6067\6070\6071-\6077\6078-\6085\6086\6087-\6088\6089-\6099\6103\6108\6109\6112-\6121\6155-\6157\6160-\6169\6176-\6210\6211\6212-\6263\6272-\6312\6313\6400-\6428\6432-\6434\6435-\6438\6439-\6440\6441-\6443\6448-\6449\6450\6451-\6456\6457-\6459\6470-\6479\6480-\6509\6512-\6516\6528-\6569\6576-\6592\6593-\6599\6600-\6601\6608-\6617\6656-\6678\6679-\6680\6681-\6683\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7616-\7619\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8255-\8256\8276\8305\8319\8336-\8340\8400-\8412\8417\8421-\8427\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12330-\12335\12337-\12341\12344-\12346\12347\12348\12353-\12438\12441-\12442\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43010\43011-\43013\43014\43015-\43018\43019\43020-\43042\43043-\43044\43045-\43046\43047\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64286\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65024-\65039\65056-\65059\65075-\65076\65101-\65103\65137\65139\65143\65145\65147\65149\65151-\65276\65296-\65305\65313-\65338\65343\65345-\65370\65382-\65391\65392\65393-\65437\65438-\65439\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500]*" is(name)
52
+
53
+ lex(dqs):
54
+ r"\"" is(literal.string) -> pop
55
+ r"\\\\|\\\"|\\\n" is(literal.string.escape)
56
+ any-of(strings)
57
+
58
+ lex(root):
59
+ r"\n" is(text)
60
+ r"^(\s*)([rRuU]{,2}\"\"\"(?:.|\n)*?\"\"\")" is(by-groups(text, literal.string.doc))
61
+ r"^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')" is(by-groups(text, literal.string.doc))
62
+ r"[^\S\n]+" is(text)
63
+ r"\#.*$" is(comment)
64
+ r"[\]{}:(),;\[]" is(punctuation)
65
+ r"\\\n" is(text)
66
+ r"\\" is(text)
67
+ r"(in|is|and|or|not)\b" is(operator.word)
68
+ r"!=|==|<<|>>|[-\126+/*%=<>&^|.]" is(operator)
69
+ any-of(keywords)
70
+ r"(def)((?:\s|\\\s)+)" is(by-groups(keyword, text)) -> go-to(funcname)
71
+ r"(class)((?:\s|\\\s)+)" is(by-groups(keyword, text)) -> go-to(classname)
72
+ r"(from)((?:\s|\\\s)+)" is(by-groups(keyword.namespace, text)) -> go-to(fromimport)
73
+ r"(import)((?:\s|\\\s)+)" is(by-groups(keyword.namespace, text)) -> go-to(import)
74
+ any-of(builtins)
75
+ any-of(backtick)
76
+ r"(?:[rR]|[uU][rR]|[rR][uU])\"\"\"" is(literal.string) -> go-to(tdqs)
77
+ r"(?:[rR]|[uU][rR]|[rR][uU])'''" is(literal.string) -> go-to(tsqs)
78
+ r"(?:[rR]|[uU][rR]|[rR][uU])\"" is(literal.string) -> go-to(dqs)
79
+ r"(?:[rR]|[uU][rR]|[rR][uU])'" is(literal.string) -> go-to(sqs)
80
+ r"[uU]?\"\"\"" is(literal.string) -> combined(stringescape, tdqs)
81
+ r"[uU]?'''" is(literal.string) -> combined(stringescape, tsqs)
82
+ r"[uU]?\"" is(literal.string) -> combined(stringescape, dqs)
83
+ r"[uU]?'" is(literal.string) -> combined(stringescape, sqs)
84
+ any-of(name)
85
+ any-of(numbers)
86
+
87
+ lex(funcname):
88
+ r"[A-Z_a-z\170\181\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1488-\1514\1520-\1522\1569-\1594\1600\1601-\1610\1646-\1647\1649-\1747\1749\1765-\1766\1774-\1775\1786-\1788\1791\1808\1810-\1839\1869-\1901\1920-\1957\1969\2308-\2361\2365\2384\2392-\2401\2429\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2493\2510\2524-\2525\2527-\2529\2544-\2545\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2649-\2652\2654\2674-\2676\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2749\2768\2784-\2785\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2877\2908-\2909\2911-\2913\2929\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3168-\3169\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3261\3294\3296-\3297\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3424-\3425\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3585-\3632\3634\3648-\3653\3654\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3762\3773\3776-\3780\3782\3804-\3805\3840\3904-\3911\3913-\3946\3976-\3979\4096-\4129\4131-\4135\4137-\4138\4176-\4181\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5920-\5937\5952-\5969\5984-\5996\5998-\6000\6016-\6067\6103\6108\6176-\6210\6211\6212-\6263\6272-\6312\6400-\6428\6480-\6509\6512-\6516\6528-\6569\6593-\6599\6656-\6678\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8305\8319\8336-\8340\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12337-\12341\12344-\12346\12347\12348\12353-\12438\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43011-\43013\43015-\43018\43020-\43042\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65137\65139\65143\65145\65147\65149\65151-\65276\65313-\65338\65345-\65370\65382-\65391\65392\65393-\65437\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500][0-9A-Z_a-z\170\181\183\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\768-\879\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1155-\1158\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1425-\1465\1467-\1469\1471\1473-\1474\1476-\1477\1479\1488-\1514\1520-\1522\1552-\1557\1569-\1594\1600\1601-\1610\1611-\1630\1632-\1641\1646-\1647\1648\1649-\1747\1749\1750-\1756\1759-\1764\1765-\1766\1767-\1768\1770-\1773\1774-\1775\1776-\1785\1786-\1788\1791\1808\1809\1810-\1839\1840-\1866\1869-\1901\1920-\1957\1958-\1968\1969\2305-\2306\2307\2308-\2361\2364\2365\2366-\2368\2369-\2376\2377-\2380\2381\2384\2385-\2388\2392-\2401\2402-\2403\2406-\2415\2429\2433\2434-\2435\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2492\2493\2494-\2496\2497-\2500\2503-\2504\2507-\2508\2509\2510\2519\2524-\2525\2527-\2529\2530-\2531\2534-\2543\2544-\2545\2561-\2562\2563\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2620\2622-\2624\2625-\2626\2631-\2632\2635-\2637\2649-\2652\2654\2662-\2671\2672-\2673\2674-\2676\2689-\2690\2691\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2748\2749\2750-\2752\2753-\2757\2759-\2760\2761\2763-\2764\2765\2768\2784-\2785\2786-\2787\2790-\2799\2817\2818-\2819\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2876\2877\2878\2879\2880\2881-\2883\2887-\2888\2891-\2892\2893\2902\2903\2908-\2909\2911-\2913\2918-\2927\2929\2946\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3006-\3007\3008\3009-\3010\3014-\3016\3018-\3020\3021\3031\3046-\3055\3073-\3075\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3134-\3136\3137-\3140\3142-\3144\3146-\3149\3157-\3158\3168-\3169\3174-\3183\3202-\3203\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3260\3261\3262\3263\3264-\3268\3270\3271-\3272\3274-\3275\3276-\3277\3285-\3286\3294\3296-\3297\3302-\3311\3330-\3331\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3390-\3392\3393-\3395\3398-\3400\3402-\3404\3405\3415\3424-\3425\3430-\3439\3458-\3459\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3530\3535-\3537\3538-\3540\3542\3544-\3551\3570-\3571\3585-\3632\3633\3634-\3635\3636-\3642\3648-\3653\3654\3655-\3662\3664-\3673\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3761\3762-\3763\3764-\3769\3771-\3772\3773\3776-\3780\3782\3784-\3789\3792-\3801\3804-\3805\3840\3864-\3865\3872-\3881\3893\3895\3897\3902-\3903\3904-\3911\3913-\3946\3953-\3966\3967\3968-\3972\3974-\3975\3976-\3979\3984-\3991\3993-\4028\4038\4096-\4129\4131-\4135\4137-\4138\4140\4141-\4144\4145\4146\4150-\4151\4152\4153\4160-\4169\4176-\4181\4182-\4183\4184-\4185\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4959\4969-\4977\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5906-\5908\5920-\5937\5938-\5940\5952-\5969\5970-\5971\5984-\5996\5998-\6000\6002-\6003\6016-\6067\6070\6071-\6077\6078-\6085\6086\6087-\6088\6089-\6099\6103\6108\6109\6112-\6121\6155-\6157\6160-\6169\6176-\6210\6211\6212-\6263\6272-\6312\6313\6400-\6428\6432-\6434\6435-\6438\6439-\6440\6441-\6443\6448-\6449\6450\6451-\6456\6457-\6459\6470-\6479\6480-\6509\6512-\6516\6528-\6569\6576-\6592\6593-\6599\6600-\6601\6608-\6617\6656-\6678\6679-\6680\6681-\6683\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7616-\7619\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8255-\8256\8276\8305\8319\8336-\8340\8400-\8412\8417\8421-\8427\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12330-\12335\12337-\12341\12344-\12346\12347\12348\12353-\12438\12441-\12442\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43010\43011-\43013\43014\43015-\43018\43019\43020-\43042\43043-\43044\43045-\43046\43047\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64286\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65024-\65039\65056-\65059\65075-\65076\65101-\65103\65137\65139\65143\65145\65147\65149\65151-\65276\65296-\65305\65313-\65338\65343\65345-\65370\65382-\65391\65392\65393-\65437\65438-\65439\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500]*" is(name.function) -> pop
89
+
90
+ lex(import):
91
+ r"(\s+)(as)(\s+)" is(by-groups(text, keyword, text))
92
+ r"\." is(name.namespace)
93
+ r"[A-Z_a-z\170\181\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1488-\1514\1520-\1522\1569-\1594\1600\1601-\1610\1646-\1647\1649-\1747\1749\1765-\1766\1774-\1775\1786-\1788\1791\1808\1810-\1839\1869-\1901\1920-\1957\1969\2308-\2361\2365\2384\2392-\2401\2429\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2493\2510\2524-\2525\2527-\2529\2544-\2545\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2649-\2652\2654\2674-\2676\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2749\2768\2784-\2785\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2877\2908-\2909\2911-\2913\2929\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3168-\3169\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3261\3294\3296-\3297\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3424-\3425\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3585-\3632\3634\3648-\3653\3654\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3762\3773\3776-\3780\3782\3804-\3805\3840\3904-\3911\3913-\3946\3976-\3979\4096-\4129\4131-\4135\4137-\4138\4176-\4181\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5920-\5937\5952-\5969\5984-\5996\5998-\6000\6016-\6067\6103\6108\6176-\6210\6211\6212-\6263\6272-\6312\6400-\6428\6480-\6509\6512-\6516\6528-\6569\6593-\6599\6656-\6678\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8305\8319\8336-\8340\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12337-\12341\12344-\12346\12347\12348\12353-\12438\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43011-\43013\43015-\43018\43020-\43042\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65137\65139\65143\65145\65147\65149\65151-\65276\65313-\65338\65345-\65370\65382-\65391\65392\65393-\65437\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500][0-9A-Z_a-z\170\181\183\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\768-\879\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1155-\1158\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1425-\1465\1467-\1469\1471\1473-\1474\1476-\1477\1479\1488-\1514\1520-\1522\1552-\1557\1569-\1594\1600\1601-\1610\1611-\1630\1632-\1641\1646-\1647\1648\1649-\1747\1749\1750-\1756\1759-\1764\1765-\1766\1767-\1768\1770-\1773\1774-\1775\1776-\1785\1786-\1788\1791\1808\1809\1810-\1839\1840-\1866\1869-\1901\1920-\1957\1958-\1968\1969\2305-\2306\2307\2308-\2361\2364\2365\2366-\2368\2369-\2376\2377-\2380\2381\2384\2385-\2388\2392-\2401\2402-\2403\2406-\2415\2429\2433\2434-\2435\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2492\2493\2494-\2496\2497-\2500\2503-\2504\2507-\2508\2509\2510\2519\2524-\2525\2527-\2529\2530-\2531\2534-\2543\2544-\2545\2561-\2562\2563\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2620\2622-\2624\2625-\2626\2631-\2632\2635-\2637\2649-\2652\2654\2662-\2671\2672-\2673\2674-\2676\2689-\2690\2691\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2748\2749\2750-\2752\2753-\2757\2759-\2760\2761\2763-\2764\2765\2768\2784-\2785\2786-\2787\2790-\2799\2817\2818-\2819\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2876\2877\2878\2879\2880\2881-\2883\2887-\2888\2891-\2892\2893\2902\2903\2908-\2909\2911-\2913\2918-\2927\2929\2946\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3006-\3007\3008\3009-\3010\3014-\3016\3018-\3020\3021\3031\3046-\3055\3073-\3075\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3134-\3136\3137-\3140\3142-\3144\3146-\3149\3157-\3158\3168-\3169\3174-\3183\3202-\3203\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3260\3261\3262\3263\3264-\3268\3270\3271-\3272\3274-\3275\3276-\3277\3285-\3286\3294\3296-\3297\3302-\3311\3330-\3331\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3390-\3392\3393-\3395\3398-\3400\3402-\3404\3405\3415\3424-\3425\3430-\3439\3458-\3459\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3530\3535-\3537\3538-\3540\3542\3544-\3551\3570-\3571\3585-\3632\3633\3634-\3635\3636-\3642\3648-\3653\3654\3655-\3662\3664-\3673\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3761\3762-\3763\3764-\3769\3771-\3772\3773\3776-\3780\3782\3784-\3789\3792-\3801\3804-\3805\3840\3864-\3865\3872-\3881\3893\3895\3897\3902-\3903\3904-\3911\3913-\3946\3953-\3966\3967\3968-\3972\3974-\3975\3976-\3979\3984-\3991\3993-\4028\4038\4096-\4129\4131-\4135\4137-\4138\4140\4141-\4144\4145\4146\4150-\4151\4152\4153\4160-\4169\4176-\4181\4182-\4183\4184-\4185\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4959\4969-\4977\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5906-\5908\5920-\5937\5938-\5940\5952-\5969\5970-\5971\5984-\5996\5998-\6000\6002-\6003\6016-\6067\6070\6071-\6077\6078-\6085\6086\6087-\6088\6089-\6099\6103\6108\6109\6112-\6121\6155-\6157\6160-\6169\6176-\6210\6211\6212-\6263\6272-\6312\6313\6400-\6428\6432-\6434\6435-\6438\6439-\6440\6441-\6443\6448-\6449\6450\6451-\6456\6457-\6459\6470-\6479\6480-\6509\6512-\6516\6528-\6569\6576-\6592\6593-\6599\6600-\6601\6608-\6617\6656-\6678\6679-\6680\6681-\6683\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7616-\7619\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8255-\8256\8276\8305\8319\8336-\8340\8400-\8412\8417\8421-\8427\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12330-\12335\12337-\12341\12344-\12346\12347\12348\12353-\12438\12441-\12442\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43010\43011-\43013\43014\43015-\43018\43019\43020-\43042\43043-\43044\43045-\43046\43047\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64286\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65024-\65039\65056-\65059\65075-\65076\65101-\65103\65137\65139\65143\65145\65147\65149\65151-\65276\65296-\65305\65313-\65338\65343\65345-\65370\65382-\65391\65392\65393-\65437\65438-\65439\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500]*" is(name.namespace)
94
+ r"(\s*)(,)(\s*)" is(by-groups(text, operator, text))
95
+ r"" is(text) -> pop
96
+
97
+ lex(tdqs):
98
+ r"\"\"\"" is(literal.string) -> pop
99
+ any-of(strings)
100
+ any-of(nl)
101
+
102
+ lex(strings):
103
+ r"[^\\\'\"%\n]+" is(literal.string)
104
+ r"[\'\"\\]" is(literal.string)
105
+ r"%" is(literal.string)
106
+
107
+ lex(fromimport):
108
+ r"(\s+)(import)\b" is(by-groups(text, keyword)) -> pop
109
+ r"\." is(name.namespace)
110
+ r"[A-Z_a-z\170\181\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1488-\1514\1520-\1522\1569-\1594\1600\1601-\1610\1646-\1647\1649-\1747\1749\1765-\1766\1774-\1775\1786-\1788\1791\1808\1810-\1839\1869-\1901\1920-\1957\1969\2308-\2361\2365\2384\2392-\2401\2429\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2493\2510\2524-\2525\2527-\2529\2544-\2545\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2649-\2652\2654\2674-\2676\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2749\2768\2784-\2785\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2877\2908-\2909\2911-\2913\2929\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3168-\3169\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3261\3294\3296-\3297\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3424-\3425\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3585-\3632\3634\3648-\3653\3654\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3762\3773\3776-\3780\3782\3804-\3805\3840\3904-\3911\3913-\3946\3976-\3979\4096-\4129\4131-\4135\4137-\4138\4176-\4181\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5920-\5937\5952-\5969\5984-\5996\5998-\6000\6016-\6067\6103\6108\6176-\6210\6211\6212-\6263\6272-\6312\6400-\6428\6480-\6509\6512-\6516\6528-\6569\6593-\6599\6656-\6678\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8305\8319\8336-\8340\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12337-\12341\12344-\12346\12347\12348\12353-\12438\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43011-\43013\43015-\43018\43020-\43042\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65137\65139\65143\65145\65147\65149\65151-\65276\65313-\65338\65345-\65370\65382-\65391\65392\65393-\65437\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500][0-9A-Z_a-z\170\181\183\186\192-\214\216-\246\248-\442\443\444-\447\448-\451\452-\577\592-\687\688-\705\710-\721\736-\740\750\768-\879\902\904-\906\908\910-\929\931-\974\976-\1013\1015-\1153\1155-\1158\1162-\1230\1232-\1273\1280-\1295\1329-\1366\1369\1377-\1415\1425-\1465\1467-\1469\1471\1473-\1474\1476-\1477\1479\1488-\1514\1520-\1522\1552-\1557\1569-\1594\1600\1601-\1610\1611-\1630\1632-\1641\1646-\1647\1648\1649-\1747\1749\1750-\1756\1759-\1764\1765-\1766\1767-\1768\1770-\1773\1774-\1775\1776-\1785\1786-\1788\1791\1808\1809\1810-\1839\1840-\1866\1869-\1901\1920-\1957\1958-\1968\1969\2305-\2306\2307\2308-\2361\2364\2365\2366-\2368\2369-\2376\2377-\2380\2381\2384\2385-\2388\2392-\2401\2402-\2403\2406-\2415\2429\2433\2434-\2435\2437-\2444\2447-\2448\2451-\2472\2474-\2480\2482\2486-\2489\2492\2493\2494-\2496\2497-\2500\2503-\2504\2507-\2508\2509\2510\2519\2524-\2525\2527-\2529\2530-\2531\2534-\2543\2544-\2545\2561-\2562\2563\2565-\2570\2575-\2576\2579-\2600\2602-\2608\2610-\2611\2613-\2614\2616-\2617\2620\2622-\2624\2625-\2626\2631-\2632\2635-\2637\2649-\2652\2654\2662-\2671\2672-\2673\2674-\2676\2689-\2690\2691\2693-\2701\2703-\2705\2707-\2728\2730-\2736\2738-\2739\2741-\2745\2748\2749\2750-\2752\2753-\2757\2759-\2760\2761\2763-\2764\2765\2768\2784-\2785\2786-\2787\2790-\2799\2817\2818-\2819\2821-\2828\2831-\2832\2835-\2856\2858-\2864\2866-\2867\2869-\2873\2876\2877\2878\2879\2880\2881-\2883\2887-\2888\2891-\2892\2893\2902\2903\2908-\2909\2911-\2913\2918-\2927\2929\2946\2947\2949-\2954\2958-\2960\2962-\2965\2969-\2970\2972\2974-\2975\2979-\2980\2984-\2986\2990-\3001\3006-\3007\3008\3009-\3010\3014-\3016\3018-\3020\3021\3031\3046-\3055\3073-\3075\3077-\3084\3086-\3088\3090-\3112\3114-\3123\3125-\3129\3134-\3136\3137-\3140\3142-\3144\3146-\3149\3157-\3158\3168-\3169\3174-\3183\3202-\3203\3205-\3212\3214-\3216\3218-\3240\3242-\3251\3253-\3257\3260\3261\3262\3263\3264-\3268\3270\3271-\3272\3274-\3275\3276-\3277\3285-\3286\3294\3296-\3297\3302-\3311\3330-\3331\3333-\3340\3342-\3344\3346-\3368\3370-\3385\3390-\3392\3393-\3395\3398-\3400\3402-\3404\3405\3415\3424-\3425\3430-\3439\3458-\3459\3461-\3478\3482-\3505\3507-\3515\3517\3520-\3526\3530\3535-\3537\3538-\3540\3542\3544-\3551\3570-\3571\3585-\3632\3633\3634-\3635\3636-\3642\3648-\3653\3654\3655-\3662\3664-\3673\3713-\3714\3716\3719-\3720\3722\3725\3732-\3735\3737-\3743\3745-\3747\3749\3751\3754-\3755\3757-\3760\3761\3762-\3763\3764-\3769\3771-\3772\3773\3776-\3780\3782\3784-\3789\3792-\3801\3804-\3805\3840\3864-\3865\3872-\3881\3893\3895\3897\3902-\3903\3904-\3911\3913-\3946\3953-\3966\3967\3968-\3972\3974-\3975\3976-\3979\3984-\3991\3993-\4028\4038\4096-\4129\4131-\4135\4137-\4138\4140\4141-\4144\4145\4146\4150-\4151\4152\4153\4160-\4169\4176-\4181\4182-\4183\4184-\4185\4256-\4293\4304-\4346\4348\4352-\4441\4447-\4514\4520-\4601\4608-\4680\4682-\4685\4688-\4694\4696\4698-\4701\4704-\4744\4746-\4749\4752-\4784\4786-\4789\4792-\4798\4800\4802-\4805\4808-\4822\4824-\4880\4882-\4885\4888-\4954\4959\4969-\4977\4992-\5007\5024-\5108\5121-\5740\5743-\5750\5761-\5786\5792-\5866\5870-\5872\5888-\5900\5902-\5905\5906-\5908\5920-\5937\5938-\5940\5952-\5969\5970-\5971\5984-\5996\5998-\6000\6002-\6003\6016-\6067\6070\6071-\6077\6078-\6085\6086\6087-\6088\6089-\6099\6103\6108\6109\6112-\6121\6155-\6157\6160-\6169\6176-\6210\6211\6212-\6263\6272-\6312\6313\6400-\6428\6432-\6434\6435-\6438\6439-\6440\6441-\6443\6448-\6449\6450\6451-\6456\6457-\6459\6470-\6479\6480-\6509\6512-\6516\6528-\6569\6576-\6592\6593-\6599\6600-\6601\6608-\6617\6656-\6678\6679-\6680\6681-\6683\7424-\7467\7468-\7521\7522-\7543\7544\7545-\7578\7579-\7615\7616-\7619\7680-\7835\7840-\7929\7936-\7957\7960-\7965\7968-\8005\8008-\8013\8016-\8023\8025\8027\8029\8031-\8061\8064-\8116\8118-\8124\8126\8130-\8132\8134-\8140\8144-\8147\8150-\8155\8160-\8172\8178-\8180\8182-\8188\8255-\8256\8276\8305\8319\8336-\8340\8400-\8412\8417\8421-\8427\8450\8455\8458-\8467\8469\8472\8473-\8477\8484\8486\8488\8490-\8493\8494\8495-\8497\8499-\8500\8501-\8504\8505\8508-\8511\8517-\8521\8544-\8579\11264-\11310\11312-\11358\11392-\11492\11520-\11557\11568-\11621\11631\11648-\11670\11680-\11686\11688-\11694\11696-\11702\11704-\11710\11712-\11718\11720-\11726\11728-\11734\11736-\11742\12293\12294\12295\12321-\12329\12330-\12335\12337-\12341\12344-\12346\12347\12348\12353-\12438\12441-\12442\12445-\12446\12447\12449-\12538\12540-\12542\12543\12549-\12588\12593-\12686\12704-\12727\12784-\12799\13312-\19893\19968-\40891\40960-\40980\40981\40982-\42124\43008-\43009\43010\43011-\43013\43014\43015-\43018\43019\43020-\43042\43043-\43044\43045-\43046\43047\44032-\55203\63744-\64045\64048-\64106\64112-\64217\64256-\64262\64275-\64279\64285\64286\64287-\64296\64298-\64310\64312-\64316\64318\64320-\64321\64323-\64324\64326-\64433\64467-\64605\64612-\64829\64848-\64911\64914-\64967\65008-\65017\65024-\65039\65056-\65059\65075-\65076\65101-\65103\65137\65139\65143\65145\65147\65149\65151-\65276\65296-\65305\65313-\65338\65343\65345-\65370\65382-\65391\65392\65393-\65437\65438-\65439\65440-\65470\65474-\65479\65482-\65487\65490-\65495\65498-\65500]*" is(name.namespace)
111
+ r"" is(text) -> pop
112
+
113
+ const-set(.Lexer, lexer)
@@ -0,0 +1,47 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "QML"
6
+ aliases: ["qml", "Qt Meta Language", "Qt modeling Language"]
7
+ extensions: [".qml"]
8
+ mimetypes: ["application/x-qml"]
9
+ start: .root
10
+ flags: Regexp MULTILINE
11
+
12
+ lex(commentsandwhitespace):
13
+ r"\s+" is(text)
14
+ r"<!--" is(comment)
15
+ r"//.*?\n" is(comment.single)
16
+ r"/\*.*?\*/" is(comment.multiline)
17
+
18
+ lex(root):
19
+ r"^(?=\s|/|<!--)" is(text) -> go-to(slashstartsregex)
20
+ any-of(commentsandwhitespace)
21
+ r"\+\+|--|\126|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&\|\^/])=?" is(operator) -> go-to(slashstartsregex)
22
+ r"[{(\[;,]" is(punctuation) -> go-to(slashstartsregex)
23
+ r"[})\].]" is(punctuation)
24
+ r"\bid\s*:\s*[A-Za-z][_A-Za-z.0-9]*" is(keyword.declaration) -> go-to(slashstartsregex)
25
+ r"\b[A-Za-z][_A-Za-z.0-9]*\s*:" is(keyword) -> go-to(slashstartsregex)
26
+ r"(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|this)\b" is(keyword) -> go-to(slashstartsregex)
27
+ r"(var|let|with|function)\b" is(keyword.declaration) -> go-to(slashstartsregex)
28
+ r"(abstract|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\b" is(keyword.reserved)
29
+ r"(true|false|null|NaN|Infinity|undefined)\b" is(keyword.constant)
30
+ r"(Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\b" is(name.builtin)
31
+ r"[$a-zA-Z_][a-zA-Z0-9_]*" is(name.other)
32
+ r"[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?" is(literal.number.float)
33
+ r"0x[0-9a-fA-F]+" is(literal.number.hex)
34
+ r"[0-9]+" is(literal.number.integer)
35
+ r"\"(\\\\|\\\"|[^\"])*\"" is(literal.string.double)
36
+ r"'(\\\\|\\'|[^'])*'" is(literal.string.single)
37
+
38
+ lex(slashstartsregex):
39
+ any-of(commentsandwhitespace)
40
+ r"/(\\.|[^\[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)" is(literal.string.regex) -> pop
41
+ r"(?=/)" is(text) -> do-all(pop, go-to(badregex))
42
+ r"" is(text) -> pop
43
+
44
+ lex(badregex):
45
+ r"\n" is(text) -> pop
46
+
47
+ const-set(.Lexer, lexer)
@@ -0,0 +1,62 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Racket"
6
+ aliases: ["racket", "rkt"]
7
+ extensions: [".rkt", ".rktl"]
8
+ mimetypes: ["text/x-racket", "application/x-racket"]
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(root):
13
+ r";.*$" is(comment.single)
14
+ r"\#\|[^|]+\|\#" is(comment.multiline)
15
+ r"\s+" is(text)
16
+ r"\#b[-+]?[01]+\.[01]+" is(literal.number.float)
17
+ r"\#b[01]+e[-+]?[01]+" is(literal.number.float)
18
+ r"\#b[-+]?[01]/[01]+" is(literal.number)
19
+ r"\#b[-+]?[01]+" is(literal.number.integer)
20
+ r"\#b\S*" is(error)
21
+ r"(\#d)?[-+]?\d+\.\d+" is(literal.number.float)
22
+ r"(\#d)?\d+e[-+]?\d+" is(literal.number.float)
23
+ r"(\#d)?[-+]?\d+/\d+" is(literal.number)
24
+ r"(\#d)?[-+]?\d+" is(literal.number.integer)
25
+ r"\#d\S*" is(error)
26
+ r"\#e[-+]?\d+\.\d+" is(literal.number.float)
27
+ r"\#e\d+e[-+]?\d+" is(literal.number.float)
28
+ r"\#e[-+]?\d+/\d+" is(literal.number)
29
+ r"\#e[-+]?\d+" is(literal.number)
30
+ r"\#e\S*" is(error)
31
+ r"\#i[-+]?\d+\.\d+" is(literal.number.float)
32
+ r"\#i\d+e[-+]?\d+" is(literal.number.float)
33
+ r"\#i[-+]?\d+/\d+" is(literal.number.float)
34
+ r"\#i[-+]?\d+" is(literal.number.float)
35
+ r"\#i\S*" is(error)
36
+ r"\#o[-+]?[0-7]+\.[0-7]+" is(literal.number.oct)
37
+ r"\#o[0-7]+e[-+]?[0-7]+" is(literal.number.oct)
38
+ r"\#o[-+]?[0-7]+/[0-7]+" is(literal.number.oct)
39
+ r"\#o[-+]?[0-7]+" is(literal.number.oct)
40
+ r"\#o\S*" is(error)
41
+ r"\#x[-+]?[0-9a-fA-F]+\.[0-9a-fA-F]+" is(literal.number.hex)
42
+ r"\#x[-+]?[0-9a-fA-F]+/[0-9a-fA-F]+" is(literal.number.hex)
43
+ r"\#x[-+]?[0-9a-fA-F]+" is(literal.number.hex)
44
+ r"\#x\S*" is(error)
45
+ r"\"(\\\\|\\\"|[^\"])*\"" is(literal.string)
46
+ r"'[a-zA-Z0-9!$%&*+,/:<=>?@^_\126|-]+" is(literal.string.symbol)
47
+ r"\#\\([()/'\\"._!\194\167$%& ?=+-]{1}|[a-zA-Z0-9]+)" is(literal.string.char)
48
+ r"\#rx\".+\"" is(literal.string.regex)
49
+ r"\#px\".+\"" is(literal.string.regex)
50
+ r"(\#t|\#f)" is(name.constant)
51
+ r"\#:\S+" is(keyword.declaration)
52
+ r"\#lang \S+" is(keyword.namespace)
53
+ r"('|\#|`|,@|,|\.)" is(operator)
54
+ r"(\\#\%app |\\#\%datum |\\#\%expression |\\#\%module\-begin |\\#\%plain\-app |\\#\%plain\-lambda |\\#\%plain\-module\-begin |\\#\%provide |\\#\%require |\\#\%stratified\-body |\\#\%top |\\#\%top\-interaction |\\#\%variable\-reference |\.\.\. |and |begin |begin\-for\-syntax |begin0 |case |case\-lambda |cond |datum\-\>syntax\-object |define |define\-for\-syntax |define\-struct |define\-syntax |define\-syntax\-rule |define\-syntaxes |define\-values |define\-values\-for\-syntax |delay |do |expand\-path |fluid\-let |hash\-table\-copy |hash\-table\-count |hash\-table\-for\-each |hash\-table\-get |hash\-table\-iterate\-first |hash\-table\-iterate\-key |hash\-table\-iterate\-next |hash\-table\-iterate\-value |hash\-table\-map |hash\-table\-put\! |hash\-table\-remove\! |hash\-table\? |if |lambda |let |let\* |let\*\-values |let\-struct |let\-syntax |let\-syntaxes |let\-values |let\/cc |let\/ec |letrec |letrec\-syntax |letrec\-syntaxes |letrec\-syntaxes\+values |letrec\-values |list\-immutable |make\-hash\-table |make\-immutable\-hash\-table |make\-namespace |module |module\-identifier\=\? |module\-label\-identifier\=\? |module\-template\-identifier\=\? |module\-transformer\-identifier\=\? |namespace\-transformer\-require |or |parameterize |parameterize\* |parameterize\-break |provide |provide\-for\-label |provide\-for\-syntax |quasiquote |quasisyntax |quasisyntax\/loc |quote |quote\-syntax |quote\-syntax\/prune |require |require\-for\-label |require\-for\-syntax |require\-for\-template |set\! |set\!\-values |syntax |syntax\-case |syntax\-case\* |syntax\-id\-rules |syntax\-object\-\>datum |syntax\-rules |syntax\/loc |time |transcript\-off |transcript\-on |unless |unquote |unquote\-splicing |unsyntax |unsyntax\-splicing |when |with\-continuation\-mark |with\-handlers |with\-handlers\* |with\-syntax |\\206\\187 )" is(keyword)
55
+ r"(?<='\()[a-zA-Z0-9!$%&*+,/:<=>?@^_\126|-]+" is(name.variable)
56
+ r"(?<=\#\()[a-zA-Z0-9!$%&*+,/:<=>?@^_\126|-]+" is(name.variable)
57
+ r"(?<=\()(\* |\+ |\- |\/ |\< |\<\= |\= |\> |\>\= |abort\-current\-continuation |abs |absolute\-path\? |acos |add1 |alarm\-evt |always\-evt |andmap |angle |append |apply |arithmetic\-shift |arity\-at\-least |arity\-at\-least\-value |arity\-at\-least\? |asin |assoc |assq |assv |atan |banner |bitwise\-and |bitwise\-bit\-field |bitwise\-bit\-set\? |bitwise\-ior |bitwise\-not |bitwise\-xor |boolean\? |bound\-identifier\=\? |box |box\-immutable |box\? |break\-enabled |break\-thread |build\-path |build\-path\/convention\-type |byte\-pregexp |byte\-pregexp\? |byte\-ready\? |byte\-regexp |byte\-regexp\? |byte\? |bytes |bytes\-\>immutable\-bytes |bytes\-\>list |bytes\-\>path |bytes\-\>path\-element |bytes\-\>string\/latin\-1 |bytes\-\>string\/locale |bytes\-\>string\/utf\-8 |bytes\-append |bytes\-close\-converter |bytes\-convert |bytes\-convert\-end |bytes\-converter\? |bytes\-copy |bytes\-copy\! |bytes\-fill\! |bytes\-length |bytes\-open\-converter |bytes\-ref |bytes\-set\! |bytes\-utf\-8\-index |bytes\-utf\-8\-length |bytes\-utf\-8\-ref |bytes\<\? |bytes\=\? |bytes\>\? |bytes\? |caaaar |caaadr |caaar |caadar |caaddr |caadr |caar |cadaar |cadadr |cadar |caddar |cadddr |caddr |cadr |call\-in\-nested\-thread |call\-with\-break\-parameterization |call\-with\-composable\-continuation |call\-with\-continuation\-barrier |call\-with\-continuation\-prompt |call\-with\-current\-continuation |call\-with\-escape\-continuation |call\-with\-exception\-handler |call\-with\-immediate\-continuation\-mark |call\-with\-input\-file |call\-with\-output\-file |call\-with\-parameterization |call\-with\-semaphore |call\-with\-semaphore\/enable\-break |call\-with\-values |call\/cc |call\/ec |car |cdaaar |cdaadr |cdaar |cdadar |cdaddr |cdadr |cdar |cddaar |cddadr |cddar |cdddar |cddddr |cdddr |cddr |cdr |ceiling |channel\-get |channel\-put |channel\-put\-evt |channel\-try\-get |channel\? |chaperone\-box |chaperone\-evt |chaperone\-hash |chaperone\-of\? |chaperone\-procedure |chaperone\-struct |chaperone\-struct\-type |chaperone\-vector |chaperone\? |char\-\>integer |char\-alphabetic\? |char\-blank\? |char\-ci\<\=\? |char\-ci\<\? |char\-ci\=\? |char\-ci\>\=\? |char\-ci\>\? |char\-downcase |char\-foldcase |char\-general\-category |char\-graphic\? |char\-iso\-control\? |char\-lower\-case\? |char\-numeric\? |char\-punctuation\? |char\-ready\? |char\-symbolic\? |char\-title\-case\? |char\-titlecase |char\-upcase |char\-upper\-case\? |char\-utf\-8\-length |char\-whitespace\? |char\<\=\? |char\<\? |char\=\? |char\>\=\? |char\>\? |char\? |check\-duplicate\-identifier |checked\-procedure\-check\-and\-extract |choice\-evt |cleanse\-path |close\-input\-port |close\-output\-port |collect\-garbage |collection\-file\-path |collection\-path |compile |compile\-allow\-set\!\-undefined |compile\-context\-preservation\-enabled |compile\-enforce\-module\-constants |compile\-syntax |compiled\-expression\? |compiled\-module\-expression\? |complete\-path\? |complex\? |cons |continuation\-mark\-set\-\>context |continuation\-mark\-set\-\>list |continuation\-mark\-set\-\>list\* |continuation\-mark\-set\-first |continuation\-mark\-set\? |continuation\-marks |continuation\-prompt\-available\? |continuation\-prompt\-tag\? |continuation\? |copy\-file |cos |current\-break\-parameterization |current\-code\-inspector |current\-command\-line\-arguments |current\-compile |current\-continuation\-marks |current\-custodian |current\-directory |current\-drive |current\-error\-port |current\-eval |current\-evt\-pseudo\-random\-generator |current\-gc\-milliseconds |current\-get\-interaction\-input\-port |current\-inexact\-milliseconds |current\-input\-port |current\-inspector |current\-library\-collection\-paths |current\-load |current\-load\-extension |current\-load\-relative\-directory |current\-load\/use\-compiled |current\-locale |current\-memory\-use |current\-milliseconds |current\-module\-declare\-name |current\-module\-declare\-source |current\-module\-name\-resolver |current\-namespace |current\-output\-port |current\-parameterization |current\-preserved\-thread\-cell\-values |current\-print |current\-process\-milliseconds |current\-prompt\-read |current\-pseudo\-random\-generator |current\-read\-interaction |current\-reader\-guard |current\-readtable |current\-seconds |current\-security\-guard |current\-subprocess\-custodian\-mode |current\-thread |current\-thread\-group |current\-thread\-initial\-stack\-size |current\-write\-relative\-directory |custodian\-box\-value |custodian\-box\? |custodian\-limit\-memory |custodian\-managed\-list |custodian\-memory\-accounting\-available\? |custodian\-require\-memory |custodian\-shutdown\-all |custodian\? |custom\-print\-quotable\-accessor |custom\-print\-quotable\? |custom\-write\-accessor |custom\-write\? |date |date\* |date\*\-nanosecond |date\*\-time\-zone\-name |date\*\? |date\-day |date\-dst\? |date\-hour |date\-minute |date\-month |date\-second |date\-time\-zone\-offset |date\-week\-day |date\-year |date\-year\-day |date\? |datum\-intern\-literal |default\-continuation\-prompt\-tag |delete\-directory |delete\-file |denominator |directory\-exists\? |directory\-list |display |displayln |dump\-memory\-stats |dynamic\-require |dynamic\-require\-for\-syntax |dynamic\-wind |eof |eof\-object\? |ephemeron\-value |ephemeron\? |eprintf |eq\-hash\-code |eq\? |equal\-hash\-code |equal\-secondary\-hash\-code |equal\? |equal\?\/recur |eqv\-hash\-code |eqv\? |error |error\-display\-handler |error\-escape\-handler |error\-print\-context\-length |error\-print\-source\-location |error\-print\-width |error\-value\-\>string\-handler |eval |eval\-jit\-enabled |eval\-syntax |even\? |evt\? |exact\-\>inexact |exact\-integer\? |exact\-nonnegative\-integer\? |exact\-positive\-integer\? |exact\? |executable\-yield\-handler |exit |exit\-handler |exn |exn\-continuation\-marks |exn\-message |exn\:break |exn\:break\-continuation |exn\:break\? |exn\:fail |exn\:fail\:contract |exn\:fail\:contract\:arity |exn\:fail\:contract\:arity\? |exn\:fail\:contract\:continuation |exn\:fail\:contract\:continuation\? |exn\:fail\:contract\:divide\-by\-zero |exn\:fail\:contract\:divide\-by\-zero\? |exn\:fail\:contract\:non\-fixnum\-result |exn\:fail\:contract\:non\-fixnum\-result\? |exn\:fail\:contract\:variable |exn\:fail\:contract\:variable\-id |exn\:fail\:contract\:variable\? |exn\:fail\:contract\? |exn\:fail\:filesystem |exn\:fail\:filesystem\:exists |exn\:fail\:filesystem\:exists\? |exn\:fail\:filesystem\:version |exn\:fail\:filesystem\:version\? |exn\:fail\:filesystem\? |exn\:fail\:network |exn\:fail\:network\? |exn\:fail\:out\-of\-memory |exn\:fail\:out\-of\-memory\? |exn\:fail\:read |exn\:fail\:read\-srclocs |exn\:fail\:read\:eof |exn\:fail\:read\:eof\? |exn\:fail\:read\:non\-char |exn\:fail\:read\:non\-char\? |exn\:fail\:read\? |exn\:fail\:syntax |exn\:fail\:syntax\-exprs |exn\:fail\:syntax\:unbound |exn\:fail\:syntax\:unbound\? |exn\:fail\:syntax\? |exn\:fail\:unsupported |exn\:fail\:unsupported\? |exn\:fail\:user |exn\:fail\:user\? |exn\:fail\? |exn\:srclocs\-accessor |exn\:srclocs\? |exn\? |exp |expand |expand\-once |expand\-syntax |expand\-syntax\-once |expand\-syntax\-to\-top\-form |expand\-to\-top\-form |expand\-user\-path |expt |file\-exists\? |file\-or\-directory\-identity |file\-or\-directory\-modify\-seconds |file\-or\-directory\-permissions |file\-position |file\-size |file\-stream\-buffer\-mode |file\-stream\-port\? |filesystem\-root\-list |find\-executable\-path |find\-library\-collection\-paths |find\-system\-path |fixnum\? |floating\-point\-bytes\-\>real |flonum\? |floor |flush\-output |for\-each |force |format |fprintf |free\-identifier\=\? |gcd |generate\-temporaries |gensym |get\-output\-bytes |get\-output\-string |getenv |global\-port\-print\-handler |guard\-evt |handle\-evt |handle\-evt\? |hash |hash\-equal\? |hash\-eqv\? |hash\-has\-key\? |hash\-placeholder\? |hash\-ref\! |hasheq |hasheqv |identifier\-binding |identifier\-label\-binding |identifier\-prune\-lexical\-context |identifier\-prune\-to\-source\-module |identifier\-remove\-from\-definition\-context |identifier\-template\-binding |identifier\-transformer\-binding |identifier\? |imag\-part |immutable\? |impersonate\-box |impersonate\-hash |impersonate\-procedure |impersonate\-struct |impersonate\-vector |impersonator\-of\? |impersonator\-prop\:application\-mark |impersonator\-property\-accessor\-procedure\? |impersonator\-property\? |impersonator\? |inexact\-\>exact |inexact\-real\? |inexact\? |input\-port\? |inspector\? |integer\-\>char |integer\-\>integer\-bytes |integer\-bytes\-\>integer |integer\-length |integer\-sqrt |integer\-sqrt\/remainder |integer\? |internal\-definition\-context\-seal |internal\-definition\-context\? |keyword\-\>string |keyword\<\? |keyword\? |kill\-thread |lcm |length |liberal\-define\-context\? |link\-exists\? |list |list\* |list\-\>bytes |list\-\>string |list\-\>vector |list\-ref |list\-tail |list\? |load |load\-extension |load\-on\-demand\-enabled |load\-relative |load\-relative\-extension |load\/cd |load\/use\-compiled |local\-expand |local\-expand\/capture\-lifts |local\-transformer\-expand |local\-transformer\-expand\/capture\-lifts |locale\-string\-encoding |log |magnitude |make\-arity\-at\-least |make\-bytes |make\-channel |make\-continuation\-prompt\-tag |make\-custodian |make\-custodian\-box |make\-date |make\-date\* |make\-derived\-parameter |make\-directory |make\-ephemeron |make\-exn |make\-exn\:break |make\-exn\:fail |make\-exn\:fail\:contract |make\-exn\:fail\:contract\:arity |make\-exn\:fail\:contract\:continuation |make\-exn\:fail\:contract\:divide\-by\-zero |make\-exn\:fail\:contract\:non\-fixnum\-result |make\-exn\:fail\:contract\:variable |make\-exn\:fail\:filesystem |make\-exn\:fail\:filesystem\:exists |make\-exn\:fail\:filesystem\:version |make\-exn\:fail\:network |make\-exn\:fail\:out\-of\-memory |make\-exn\:fail\:read |make\-exn\:fail\:read\:eof |make\-exn\:fail\:read\:non\-char |make\-exn\:fail\:syntax |make\-exn\:fail\:syntax\:unbound |make\-exn\:fail\:unsupported |make\-exn\:fail\:user |make\-file\-or\-directory\-link |make\-hash\-placeholder |make\-hasheq\-placeholder |make\-hasheqv |make\-hasheqv\-placeholder |make\-immutable\-hasheqv |make\-impersonator\-property |make\-input\-port |make\-inspector |make\-known\-char\-range\-list |make\-output\-port |make\-parameter |make\-pipe |make\-placeholder |make\-polar |make\-prefab\-struct |make\-pseudo\-random\-generator |make\-reader\-graph |make\-readtable |make\-rectangular |make\-rename\-transformer |make\-resolved\-module\-path |make\-security\-guard |make\-semaphore |make\-set\!\-transformer |make\-shared\-bytes |make\-sibling\-inspector |make\-special\-comment |make\-srcloc |make\-string |make\-struct\-field\-accessor |make\-struct\-field\-mutator |make\-struct\-type |make\-struct\-type\-property |make\-syntax\-delta\-introducer |make\-syntax\-introducer |make\-thread\-cell |make\-thread\-group |make\-vector |make\-weak\-box |make\-weak\-hasheqv |make\-will\-executor |map |max |mcar |mcdr |mcons |member |memq |memv |min |module\-\>exports |module\-\>imports |module\-\>language\-info |module\-\>namespace |module\-compiled\-exports |module\-compiled\-imports |module\-compiled\-language\-info |module\-compiled\-name |module\-path\-index\-join |module\-path\-index\-resolve |module\-path\-index\-split |module\-path\-index\? |module\-path\? |module\-predefined\? |module\-provide\-protected\? |modulo |mpair\? |nack\-guard\-evt |namespace\-attach\-module |namespace\-attach\-module\-declaration |namespace\-base\-phase |namespace\-mapped\-symbols |namespace\-module\-identifier |namespace\-module\-registry |namespace\-require |namespace\-require\/constant |namespace\-require\/copy |namespace\-require\/expansion\-time |namespace\-set\-variable\-value\! |namespace\-symbol\-\>identifier |namespace\-syntax\-introduce |namespace\-undefine\-variable\! |namespace\-unprotect\-module |namespace\-variable\-value |namespace\? |negative\? |never\-evt |newline |normal\-case\-path |not |null |null\? |number\-\>string |number\? |numerator |object\-name |odd\? |open\-input\-bytes |open\-input\-file |open\-input\-output\-file |open\-input\-string |open\-output\-bytes |open\-output\-file |open\-output\-string |ormap |output\-port\? |pair\? |parameter\-procedure\=\? |parameter\? |parameterization\? |path\-\>bytes |path\-\>complete\-path |path\-\>directory\-path |path\-\>string |path\-add\-suffix |path\-convention\-type |path\-element\-\>bytes |path\-element\-\>string |path\-for\-some\-system\? |path\-list\-string\-\>path\-list |path\-replace\-suffix |path\-string\? |path\? |peek\-byte |peek\-byte\-or\-special |peek\-bytes |peek\-bytes\! |peek\-bytes\-avail\! |peek\-bytes\-avail\!\* |peek\-bytes\-avail\!\/enable\-break |peek\-char |peek\-char\-or\-special |peek\-string |peek\-string\! |pipe\-content\-length |placeholder\-get |placeholder\-set\! |placeholder\? |poll\-guard\-evt |port\-closed\-evt |port\-closed\? |port\-commit\-peeked |port\-count\-lines\! |port\-count\-lines\-enabled |port\-display\-handler |port\-file\-identity |port\-file\-unlock |port\-next\-location |port\-print\-handler |port\-progress\-evt |port\-provides\-progress\-evts\? |port\-read\-handler |port\-try\-file\-lock\? |port\-write\-handler |port\-writes\-atomic\? |port\-writes\-special\? |port\? |positive\? |prefab\-key\-\>struct\-type |prefab\-struct\-key |pregexp |pregexp\? |primitive\-closure\? |primitive\-result\-arity |primitive\? |print |print\-as\-expression |print\-boolean\-long\-form |print\-box |print\-graph |print\-hash\-table |print\-mpair\-curly\-braces |print\-pair\-curly\-braces |print\-reader\-abbreviations |print\-struct |print\-syntax\-width |print\-unreadable |print\-vector\-length |printf |procedure\-\>method |procedure\-arity |procedure\-arity\-includes\? |procedure\-arity\? |procedure\-closure\-contents\-eq\? |procedure\-extract\-target |procedure\-reduce\-arity |procedure\-rename |procedure\-struct\-type\? |procedure\? |promise\? |prop\:arity\-string |prop\:checked\-procedure |prop\:custom\-print\-quotable |prop\:custom\-write |prop\:equal\+hash |prop\:evt |prop\:exn\:srclocs |prop\:impersonator\-of |prop\:input\-port |prop\:liberal\-define\-context |prop\:output\-port |prop\:procedure |prop\:rename\-transformer |prop\:set\!\-transformer |pseudo\-random\-generator\-\>vector |pseudo\-random\-generator\-vector\? |pseudo\-random\-generator\? |putenv |quotient |quotient\/remainder |raise |raise\-arity\-error |raise\-mismatch\-error |raise\-syntax\-error |raise\-type\-error |raise\-user\-error |random |random\-seed |rational\? |rationalize |read |read\-accept\-bar\-quote |read\-accept\-box |read\-accept\-compiled |read\-accept\-dot |read\-accept\-graph |read\-accept\-infix\-dot |read\-accept\-lang |read\-accept\-quasiquote |read\-accept\-reader |read\-byte |read\-byte\-or\-special |read\-bytes |read\-bytes\! |read\-bytes\-avail\! |read\-bytes\-avail\!\* |read\-bytes\-avail\!\/enable\-break |read\-bytes\-line |read\-case\-sensitive |read\-char |read\-char\-or\-special |read\-curly\-brace\-as\-paren |read\-decimal\-as\-inexact |read\-eval\-print\-loop |read\-language |read\-line |read\-on\-demand\-source |read\-square\-bracket\-as\-paren |read\-string |read\-string\! |read\-syntax |read\-syntax\/recursive |read\/recursive |readtable\-mapping |readtable\? |real\-\>double\-flonum |real\-\>floating\-point\-bytes |real\-\>single\-flonum |real\-part |real\? |regexp |regexp\-match |regexp\-match\-peek |regexp\-match\-peek\-immediate |regexp\-match\-peek\-positions |regexp\-match\-peek\-positions\-immediate |regexp\-match\-peek\-positions\-immediate\/end |regexp\-match\-peek\-positions\/end |regexp\-match\-positions |regexp\-match\-positions\/end |regexp\-match\/end |regexp\-match\? |regexp\-max\-lookbehind |regexp\-replace |regexp\-replace\* |regexp\? |relative\-path\? |remainder |rename\-file\-or\-directory |rename\-transformer\-target |rename\-transformer\? |resolve\-path |resolved\-module\-path\-name |resolved\-module\-path\? |reverse |round |seconds\-\>date |security\-guard\? |semaphore\-peek\-evt |semaphore\-post |semaphore\-try\-wait\? |semaphore\-wait |semaphore\-wait\/enable\-break |semaphore\? |set\!\-transformer\-procedure |set\!\-transformer\? |set\-box\! |set\-mcar\! |set\-mcdr\! |set\-port\-next\-location\! |shared\-bytes |shell\-execute |simplify\-path |sin |single\-flonum\? |sleep |special\-comment\-value |special\-comment\? |split\-path |sqrt |srcloc |srcloc\-column |srcloc\-line |srcloc\-position |srcloc\-source |srcloc\-span |srcloc\? |string |string\-\>bytes\/latin\-1 |string\-\>bytes\/locale |string\-\>bytes\/utf\-8 |string\-\>immutable\-string |string\-\>keyword |string\-\>list |string\-\>number |string\-\>path |string\-\>path\-element |string\-\>symbol |string\-\>uninterned\-symbol |string\-\>unreadable\-symbol |string\-append |string\-ci\<\=\? |string\-ci\<\? |string\-ci\=\? |string\-ci\>\=\? |string\-ci\>\? |string\-copy |string\-copy\! |string\-downcase |string\-fill\! |string\-foldcase |string\-length |string\-locale\-ci\<\? |string\-locale\-ci\=\? |string\-locale\-ci\>\? |string\-locale\-downcase |string\-locale\-upcase |string\-locale\<\? |string\-locale\=\? |string\-locale\>\? |string\-normalize\-nfc |string\-normalize\-nfd |string\-normalize\-nfkc |string\-normalize\-nfkd |string\-ref |string\-set\! |string\-titlecase |string\-upcase |string\-utf\-8\-length |string\<\=\? |string\<\? |string\=\? |string\>\=\? |string\>\? |string\? |struct\-\>vector |struct\-accessor\-procedure\? |struct\-constructor\-procedure\? |struct\-info |struct\-mutator\-procedure\? |struct\-predicate\-procedure\? |struct\-type\-info |struct\-type\-make\-constructor |struct\-type\-make\-predicate |struct\-type\-property\-accessor\-procedure\? |struct\-type\-property\? |struct\-type\? |struct\:arity\-at\-least |struct\:date |struct\:date\* |struct\:exn |struct\:exn\:break |struct\:exn\:fail |struct\:exn\:fail\:contract |struct\:exn\:fail\:contract\:arity |struct\:exn\:fail\:contract\:continuation |struct\:exn\:fail\:contract\:divide\-by\-zero |struct\:exn\:fail\:contract\:non\-fixnum\-result |struct\:exn\:fail\:contract\:variable |struct\:exn\:fail\:filesystem |struct\:exn\:fail\:filesystem\:exists |struct\:exn\:fail\:filesystem\:version |struct\:exn\:fail\:network |struct\:exn\:fail\:out\-of\-memory |struct\:exn\:fail\:read |struct\:exn\:fail\:read\:eof |struct\:exn\:fail\:read\:non\-char |struct\:exn\:fail\:syntax |struct\:exn\:fail\:syntax\:unbound |struct\:exn\:fail\:unsupported |struct\:exn\:fail\:user |struct\:srcloc |struct\? |sub1 |subbytes |subprocess |subprocess\-group\-enabled |subprocess\-kill |subprocess\-pid |subprocess\-status |subprocess\-wait |subprocess\? |substring |symbol\-\>string |symbol\-interned\? |symbol\-unreadable\? |symbol\? |sync |sync\/enable\-break |sync\/timeout |sync\/timeout\/enable\-break |syntax\-\>list |syntax\-arm |syntax\-column |syntax\-disarm |syntax\-e |syntax\-line |syntax\-local\-bind\-syntaxes |syntax\-local\-certifier |syntax\-local\-context |syntax\-local\-expand\-expression |syntax\-local\-get\-shadower |syntax\-local\-introduce |syntax\-local\-lift\-context |syntax\-local\-lift\-expression |syntax\-local\-lift\-module\-end\-declaration |syntax\-local\-lift\-provide |syntax\-local\-lift\-require |syntax\-local\-lift\-values\-expression |syntax\-local\-make\-definition\-context |syntax\-local\-make\-delta\-introducer |syntax\-local\-module\-defined\-identifiers |syntax\-local\-module\-exports |syntax\-local\-module\-required\-identifiers |syntax\-local\-name |syntax\-local\-phase\-level |syntax\-local\-transforming\-module\-provides\? |syntax\-local\-value |syntax\-local\-value\/immediate |syntax\-original\? |syntax\-position |syntax\-property |syntax\-property\-symbol\-keys |syntax\-protect |syntax\-rearm |syntax\-recertify |syntax\-shift\-phase\-level |syntax\-source |syntax\-source\-module |syntax\-span |syntax\-taint |syntax\-tainted\? |syntax\-track\-origin |syntax\-transforming\-module\-expression\? |syntax\-transforming\? |syntax\? |system\-big\-endian\? |system\-idle\-evt |system\-language\+country |system\-library\-subpath |system\-path\-convention\-type |system\-type |tan |tcp\-abandon\-port |tcp\-accept |tcp\-accept\-evt |tcp\-accept\-ready\? |tcp\-accept\/enable\-break |tcp\-addresses |tcp\-close |tcp\-connect |tcp\-connect\/enable\-break |tcp\-listen |tcp\-listener\? |tcp\-port\? |terminal\-port\? |thread |thread\-cell\-ref |thread\-cell\-set\! |thread\-cell\? |thread\-dead\-evt |thread\-dead\? |thread\-group\? |thread\-resume |thread\-resume\-evt |thread\-rewind\-receive |thread\-running\? |thread\-suspend |thread\-suspend\-evt |thread\-wait |thread\/suspend\-to\-kill |thread\? |time\-apply |truncate |udp\-addresses |udp\-bind\! |udp\-bound\? |udp\-close |udp\-connect\! |udp\-connected\? |udp\-open\-socket |udp\-receive\! |udp\-receive\!\* |udp\-receive\!\-evt |udp\-receive\!\/enable\-break |udp\-receive\-ready\-evt |udp\-send |udp\-send\* |udp\-send\-evt |udp\-send\-ready\-evt |udp\-send\-to |udp\-send\-to\* |udp\-send\-to\-evt |udp\-send\-to\/enable\-break |udp\-send\/enable\-break |udp\? |unbox |uncaught\-exception\-handler |use\-collection\-link\-paths |use\-compiled\-file\-paths |use\-user\-specific\-search\-paths |values |variable\-reference\-\>empty\-namespace |variable\-reference\-\>module\-base\-phase |variable\-reference\-\>module\-declaration\-inspector |variable\-reference\-\>module\-source |variable\-reference\-\>namespace |variable\-reference\-\>phase |variable\-reference\-\>resolved\-module\-path |variable\-reference\-constant\? |variable\-reference\? |vector |vector\-\>immutable\-vector |vector\-\>list |vector\-\>pseudo\-random\-generator |vector\-\>pseudo\-random\-generator\! |vector\-\>values |vector\-fill\! |vector\-immutable |vector\-length |vector\-ref |vector\-set\! |vector\-set\-performance\-stats\! |vector\? |version |void |void\? |weak\-box\-value |weak\-box\? |will\-execute |will\-executor\? |will\-register |will\-try\-execute |with\-input\-from\-file |with\-output\-to\-file |wrap\-evt |write |write\-byte |write\-bytes |write\-bytes\-avail |write\-bytes\-avail\* |write\-bytes\-avail\-evt |write\-bytes\-avail\/enable\-break |write\-char |write\-special |write\-special\-avail\* |write\-special\-evt |write\-string |zero\? )" is(name.builtin)
58
+ r"(?<=(\(|\[|\{))[a-zA-Z0-9!$%&*+,/:<=>?@^_\126|-]+" is(name.function)
59
+ r"[a-zA-Z0-9!$%&*+,/:<=>?@^_\126|-]+" is(name.variable)
60
+ r"(\(|\)|\[|\]|\{|\})" is(punctuation)
61
+
62
+ const-set(.Lexer, lexer)
@@ -0,0 +1,70 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Ragel"
6
+ aliases: ["ragel"]
7
+ extensions: []
8
+ mimetypes: []
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(host):
13
+ r"([^{}\'\"/\#]+|[^\\][\\][{}]|\"(\\\\|\\\"|[^\"])*\"|'(\\\\|\\'|[^'])*'|//.*$\n?|/\*(.|\n)*?\*/|\\#.*$\n?|/(?!\*)(\\\\|\\/|[^/])*/|/)+" is(other)
14
+ r"{" is(punctuation) -> push
15
+ r"}" is(punctuation) -> pop
16
+
17
+ lex(literals):
18
+ r"\"(\\\\|\\\"|[^\"])*\"" is(literal.string)
19
+ r"'(\\\\|\\'|[^'])*'" is(literal.string)
20
+ r"\[(\\\\|\\\]|[^\]])*\]" is(literal.string)
21
+ r"/(?!\*)(\\\\|\\/|[^/])*/" is(literal.string.regex)
22
+
23
+ lex(whitespace):
24
+ r"\s+" is(text.whitespace)
25
+
26
+ lex(keywords):
27
+ r"(access|action|alphtype)\b" is(keyword)
28
+ r"(getkey|write|machine|include)\b" is(keyword)
29
+ r"(any|ascii|extend|alpha|digit|alnum|lower|upper)\b" is(keyword)
30
+ r"(xdigit|cntrl|graph|print|punct|space|zlen|empty)\b" is(keyword)
31
+
32
+ lex(operators):
33
+ r"," is(operator)
34
+ r"\||&|--?" is(operator)
35
+ r"\.|<:|:>>?" is(operator)
36
+ r":" is(operator)
37
+ r"->" is(operator)
38
+ r"(>|\$|%|<|@|<>)(/|eof\b)" is(operator)
39
+ r"(>|\$|%|<|@|<>)(!|err\b)" is(operator)
40
+ r"(>|\$|%|<|@|<>)(\^|lerr\b)" is(operator)
41
+ r"(>|\$|%|<|@|<>)(\126|to\b)" is(operator)
42
+ r"(>|\$|%|<|@|<>)(\*|from\b)" is(operator)
43
+ r">|@|\$|%" is(operator)
44
+ r"\*|\?|\+|{[0-9]*,[0-9]*}" is(operator)
45
+ r"!|\^" is(operator)
46
+ r"\(|\)" is(operator)
47
+
48
+ lex(identifiers):
49
+ r"[a-zA-Z_][a-zA-Z_0-9]*" is(name.variable)
50
+
51
+ lex(root):
52
+ any-of(literals)
53
+ any-of(whitespace)
54
+ any-of(comments)
55
+ any-of(keywords)
56
+ any-of(numbers)
57
+ any-of(identifiers)
58
+ any-of(operators)
59
+ r"{" is(punctuation) -> go-to(host)
60
+ r"=" is(operator)
61
+ r";" is(punctuation)
62
+
63
+ lex(comments):
64
+ r"\\#.*$" is(comment)
65
+
66
+ lex(numbers):
67
+ r"0x[0-9A-Fa-f]+" is(literal.number.hex)
68
+ r"[+-]?[0-9]+" is(literal.number.integer)
69
+
70
+ const-set(.Lexer, lexer)
@@ -0,0 +1,22 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Rd"
6
+ aliases: ["rd"]
7
+ extensions: [".Rd"]
8
+ mimetypes: ["text/x-r-doc"]
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(root):
13
+ r"\\[\\{}%]" is(literal.string.escape)
14
+ r"%.*$" is(comment)
15
+ r"\\(?:cr|l?dots|R|tab)\b" is(keyword.constant)
16
+ r"\\[a-zA-Z]+\b" is(keyword)
17
+ r"^\s*\#(?:ifn?def|endif).*\b" is(comment.preproc)
18
+ r"[{}]" is(name.builtin)
19
+ r"[^\\%\n{}]+" is(text)
20
+ r"." is(text)
21
+
22
+ const-set(.Lexer, lexer)
@@ -0,0 +1,23 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "Redcode"
6
+ aliases: ["redcode"]
7
+ extensions: [".cw"]
8
+ mimetypes: []
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(root):
13
+ r"\s+" is(text)
14
+ r";.*$" is(comment.single)
15
+ r"\b(DAT|MOV|ADD|SUB|MUL|DIV|MOD|JMP|JMZ|JMN|DJN|CMP|SLT|SPL|ORG|EQU|END)\b" is(name.function)
16
+ r"\b(A|B|AB|BA|F|X|I)\b" is(name.decorator)
17
+ r"[A-Za-z_][A-Za-z_0-9]+" is(name)
18
+ r"[-+*/%]" is(operator)
19
+ r"[\#$@<>]" is(operator)
20
+ r"[.,]" is(punctuation)
21
+ r"[-+]?\d+" is(literal.number.integer)
22
+
23
+ const-set(.Lexer, lexer)
@@ -0,0 +1,25 @@
1
+ use(require("atomy"))
2
+ use(require("hl/define"))
3
+
4
+ lexer = lexer:
5
+ name: "reg"
6
+ aliases: ["registry"]
7
+ extensions: [".reg"]
8
+ mimetypes: ["text/x-windows-registry"]
9
+ start: .root
10
+ flags: 0
11
+
12
+ lex(root):
13
+ r"Windows Registry Editor.*" is(text)
14
+ r"\s+" is(text)
15
+ r"[;\#].*" is(comment.single)
16
+ r"(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$" is(by-groups(keyword, operator, name.builtin, keyword))
17
+ r"(\"(?:\\\"|\\\\|[^\"])+\")([ \t]*)(=)([ \t]*)" is(by-groups(name.attribute, text, operator, text)) -> go-to(value)
18
+ r"(.*?)([ \t]*)(=)([ \t]*)" is(by-groups(name.attribute, text, operator, text)) -> go-to(value)
19
+
20
+ lex(value):
21
+ r"-" is(operator) -> pop
22
+ r"(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)" is(by-groups(name.variable, punctuation, literal.number)) -> pop
23
+ r".*" is(literal.string) -> pop
24
+
25
+ const-set(.Lexer, lexer)