broomhlda 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +201 -0
- data/lib/hl/define.ay +131 -0
- data/lib/hl/formatters/html.ay +26 -0
- data/lib/hl/lexer.ay +99 -0
- data/lib/hl/lexers/atomy.ay +122 -0
- data/lib/hl/lexers/haskell.ay +89 -0
- data/lib/hl/lexers/imported/abap.ay +43 -0
- data/lib/hl/lexers/imported/actionscript.ay +31 -0
- data/lib/hl/lexers/imported/actionscript3.ay +47 -0
- data/lib/hl/lexers/imported/ada.ay +107 -0
- data/lib/hl/lexers/imported/antlr.ay +95 -0
- data/lib/hl/lexers/imported/apacheconf.ay +29 -0
- data/lib/hl/lexers/imported/applescript.ay +48 -0
- data/lib/hl/lexers/imported/aspectj.ay +42 -0
- data/lib/hl/lexers/imported/asymptote.ay +64 -0
- data/lib/hl/lexers/imported/autohotkey.ay +76 -0
- data/lib/hl/lexers/imported/autoit.ay +64 -0
- data/lib/hl/lexers/imported/awk.ay +42 -0
- data/lib/hl/lexers/imported/bash.ay +63 -0
- data/lib/hl/lexers/imported/batch.ay +45 -0
- data/lib/hl/lexers/imported/bbcode.ay +23 -0
- data/lib/hl/lexers/imported/befunge.ay +26 -0
- data/lib/hl/lexers/imported/blitzmax.ay +44 -0
- data/lib/hl/lexers/imported/boo.ay +55 -0
- data/lib/hl/lexers/imported/brainfuck.ay +28 -0
- data/lib/hl/lexers/imported/bro.ay +57 -0
- data/lib/hl/lexers/imported/bugs.ay +31 -0
- data/lib/hl/lexers/imported/c.ay +84 -0
- data/lib/hl/lexers/imported/ca65.ay +26 -0
- data/lib/hl/lexers/imported/cbmbasicv2.ay +25 -0
- data/lib/hl/lexers/imported/ceylon.ay +47 -0
- data/lib/hl/lexers/imported/cfengine3.ay +50 -0
- data/lib/hl/lexers/imported/clojure.ay +32 -0
- data/lib/hl/lexers/imported/cmake.ay +38 -0
- data/lib/hl/lexers/imported/cobol.ay +44 -0
- data/lib/hl/lexers/imported/coffeescript.ay +79 -0
- data/lib/hl/lexers/imported/coldfusion.ay +36 -0
- data/lib/hl/lexers/imported/commonlisp.ay +65 -0
- data/lib/hl/lexers/imported/coq.ay +59 -0
- data/lib/hl/lexers/imported/croc.ay +37 -0
- data/lib/hl/lexers/imported/css.ay +55 -0
- data/lib/hl/lexers/imported/cuda.ay +84 -0
- data/lib/hl/lexers/imported/cython.ay +128 -0
- data/lib/hl/lexers/imported/d.ay +102 -0
- data/lib/hl/lexers/imported/darcspatch.ay +45 -0
- data/lib/hl/lexers/imported/dart.ay +84 -0
- data/lib/hl/lexers/imported/debiancontrol.ay +51 -0
- data/lib/hl/lexers/imported/dg.ay +61 -0
- data/lib/hl/lexers/imported/diff.ay +22 -0
- data/lib/hl/lexers/imported/django.ay +46 -0
- data/lib/hl/lexers/imported/dtd.ay +62 -0
- data/lib/hl/lexers/imported/dylan.ay +60 -0
- data/lib/hl/lexers/imported/dylanlid.ay +17 -0
- data/lib/hl/lexers/imported/ecl.ay +57 -0
- data/lib/hl/lexers/imported/elixir.ay +93 -0
- data/lib/hl/lexers/imported/erlang.ay +47 -0
- data/lib/hl/lexers/imported/factor.ay +89 -0
- data/lib/hl/lexers/imported/fancy.ay +54 -0
- data/lib/hl/lexers/imported/fantom.ay +149 -0
- data/lib/hl/lexers/imported/felix.ay +140 -0
- data/lib/hl/lexers/imported/fortran.ay +39 -0
- data/lib/hl/lexers/imported/foxpro.ay +37 -0
- data/lib/hl/lexers/imported/fsharp.ay +61 -0
- data/lib/hl/lexers/imported/gas.ay +51 -0
- data/lib/hl/lexers/imported/gettext.ay +21 -0
- data/lib/hl/lexers/imported/gherkin.ay +97 -0
- data/lib/hl/lexers/imported/glshader.ay +31 -0
- data/lib/hl/lexers/imported/gnuplot.ay +111 -0
- data/lib/hl/lexers/imported/go.ay +40 -0
- data/lib/hl/lexers/imported/gooddatacl.ay +33 -0
- data/lib/hl/lexers/imported/gosu.ay +58 -0
- data/lib/hl/lexers/imported/groff.ay +38 -0
- data/lib/hl/lexers/imported/groovy.ay +45 -0
- data/lib/hl/lexers/imported/haskell.ay +89 -0
- data/lib/hl/lexers/imported/haxe.ay +186 -0
- data/lib/hl/lexers/imported/hxml.ay +22 -0
- data/lib/hl/lexers/imported/hybris.ay +42 -0
- data/lib/hl/lexers/imported/idl.ay +23 -0
- data/lib/hl/lexers/imported/ini.ay +18 -0
- data/lib/hl/lexers/imported/io.ay +34 -0
- data/lib/hl/lexers/imported/ioke.ay +88 -0
- data/lib/hl/lexers/imported/irclogs.ay +24 -0
- data/lib/hl/lexers/imported/jags.ay +36 -0
- data/lib/hl/lexers/imported/java.ay +42 -0
- data/lib/hl/lexers/imported/javascript.ay +45 -0
- data/lib/hl/lexers/imported/json.ay +47 -0
- data/lib/hl/lexers/imported/julia.ay +60 -0
- data/lib/hl/lexers/imported/kconfig.ay +71 -0
- data/lib/hl/lexers/imported/koka.ay +104 -0
- data/lib/hl/lexers/imported/lasso.ay +143 -0
- data/lib/hl/lexers/imported/lighttpdconf.ay +24 -0
- data/lib/hl/lexers/imported/livescript.ay +82 -0
- data/lib/hl/lexers/imported/llvm.ay +36 -0
- data/lib/hl/lexers/imported/logtalk.ay +133 -0
- data/lib/hl/lexers/imported/lua.ay +56 -0
- data/lib/hl/lexers/imported/maql.ay +32 -0
- data/lib/hl/lexers/imported/matlab.ay +43 -0
- data/lib/hl/lexers/imported/minid.ay +37 -0
- data/lib/hl/lexers/imported/modula2.ay +63 -0
- data/lib/hl/lexers/imported/moinwiki.ay +33 -0
- data/lib/hl/lexers/imported/monkey.ay +84 -0
- data/lib/hl/lexers/imported/moocode.ay +26 -0
- data/lib/hl/lexers/imported/moonscript.ay +52 -0
- data/lib/hl/lexers/imported/mscgen.ay +35 -0
- data/lib/hl/lexers/imported/mupad.ay +36 -0
- data/lib/hl/lexers/imported/mysql.ay +37 -0
- data/lib/hl/lexers/imported/nasm.ay +52 -0
- data/lib/hl/lexers/imported/newlisp.ay +34 -0
- data/lib/hl/lexers/imported/newspeak.ay +49 -0
- data/lib/hl/lexers/imported/nginxconf.ay +41 -0
- data/lib/hl/lexers/imported/nimrod.ay +84 -0
- data/lib/hl/lexers/imported/nsis.ay +55 -0
- data/lib/hl/lexers/imported/numpy.ay +116 -0
- data/lib/hl/lexers/imported/objectivej.ay +120 -0
- data/lib/hl/lexers/imported/ocaml.ay +59 -0
- data/lib/hl/lexers/imported/octave.ay +39 -0
- data/lib/hl/lexers/imported/ooc.ay +45 -0
- data/lib/hl/lexers/imported/opa.ay +153 -0
- data/lib/hl/lexers/imported/openedge.ay +40 -0
- data/lib/hl/lexers/imported/perl.ay +130 -0
- data/lib/hl/lexers/imported/php.ay +63 -0
- data/lib/hl/lexers/imported/postscript.ay +39 -0
- data/lib/hl/lexers/imported/povray.ay +28 -0
- data/lib/hl/lexers/imported/powershell.ay +49 -0
- data/lib/hl/lexers/imported/prolog.ay +39 -0
- data/lib/hl/lexers/imported/properties.ay +17 -0
- data/lib/hl/lexers/imported/protobuf.ay +43 -0
- data/lib/hl/lexers/imported/puppet.ay +50 -0
- data/lib/hl/lexers/imported/pypylog.ay +44 -0
- data/lib/hl/lexers/imported/python.ay +116 -0
- data/lib/hl/lexers/imported/python3.ay +113 -0
- data/lib/hl/lexers/imported/qml.ay +47 -0
- data/lib/hl/lexers/imported/racket.ay +62 -0
- data/lib/hl/lexers/imported/ragel.ay +70 -0
- data/lib/hl/lexers/imported/rd.ay +22 -0
- data/lib/hl/lexers/imported/redcode.ay +23 -0
- data/lib/hl/lexers/imported/regedit.ay +25 -0
- data/lib/hl/lexers/imported/rpmspec.ay +57 -0
- data/lib/hl/lexers/imported/rust.ay +56 -0
- data/lib/hl/lexers/imported/s.ay +61 -0
- data/lib/hl/lexers/imported/scala.ay +72 -0
- data/lib/hl/lexers/imported/scheme.ay +31 -0
- data/lib/hl/lexers/imported/scilab.ay +37 -0
- data/lib/hl/lexers/imported/scss.ay +115 -0
- data/lib/hl/lexers/imported/smali.ay +71 -0
- data/lib/hl/lexers/imported/smalltalk.ay +93 -0
- data/lib/hl/lexers/imported/snobol.ay +42 -0
- data/lib/hl/lexers/imported/sourcepawn.ay +58 -0
- data/lib/hl/lexers/imported/sourceslist.ay +37 -0
- data/lib/hl/lexers/imported/sql.ay +31 -0
- data/lib/hl/lexers/imported/squidconf.ay +29 -0
- data/lib/hl/lexers/imported/stan.ay +38 -0
- data/lib/hl/lexers/imported/systemverilog.ay +65 -0
- data/lib/hl/lexers/imported/tcl.ay +110 -0
- data/lib/hl/lexers/imported/tcsh.ay +52 -0
- data/lib/hl/lexers/imported/tex.ay +49 -0
- data/lib/hl/lexers/imported/typescript.ay +51 -0
- data/lib/hl/lexers/imported/vala.ay +70 -0
- data/lib/hl/lexers/imported/vbnet.ay +62 -0
- data/lib/hl/lexers/imported/velocity.ay +50 -0
- data/lib/hl/lexers/imported/verilog.ay +61 -0
- data/lib/hl/lexers/imported/vgl.ay +25 -0
- data/lib/hl/lexers/imported/vhdl.ay +54 -0
- data/lib/hl/lexers/imported/vim.ay +28 -0
- data/lib/hl/lexers/imported/xml.ay +38 -0
- data/lib/hl/lexers/imported/xslt.ay +38 -0
- data/lib/hl/lexers/imported/xtend.ay +48 -0
- data/lib/hl/lexers/ruby.ay +238 -0
- data/lib/hl/state.ay +31 -0
- data/lib/hl/token.ay +8 -0
- data/lib/hl.ay +17 -0
- 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)
|