-
Notifications
You must be signed in to change notification settings - Fork 3
/
sexp.scm
47 lines (45 loc) · 856 Bytes
/
sexp.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
([
; atom-ish
(num_lit)
(kwd_lit)
(str_lit)
(char_lit)
(nil_lit)
(bool_lit)
(sym_lit)
; basic collection-ish
(list_lit)
(map_lit)
(vec_lit)
; dispatch reader macros
(set_lit)
(anon_fn_lit)
(regex_lit)
(read_cond_lit)
(splicing_read_cond_lit)
(ns_map_lit)
(var_quoting_lit)
(sym_val_lit)
(evaling_lit)
(tagged_or_ctor_lit)
; some other reader macros
(derefing_lit)
(quoting_lit)
(syn_quoting_lit)
(unquote_splicing_lit)
(unquoting_lit)
] @sexp.elem)
((_ open: _ @sexp.open close: _ @sexp.close) @sexp.form
(#not-has-parent? @sexp.form
derefing_lit
quoting_lit
syn_quoting_lit
unquote_splicing_lit
unquoting_lit))
((_ (_ open: _ @sexp.open close: _ @sexp.close)) @sexp.form
(#kind-eq? @sexp.form
derefing_lit
quoting_lit
syn_quoting_lit
unquote_splicing_lit
unquoting_lit))