[up] [log] [?]
[first]  [entry] [exit]  [last]

(meg/match ~{:close (capture (backmatch :delim)) :main (sequence :thing -1) :open (capture (sequence "[" (some "_") "]") :delim) :thing (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))}
           "[__][_]a[_][__]")

captures and tags
captures: @["[__]" "[_]"]
tagged-captures:
  tags: @[:delim :delim]
  values: @["[__]" "[_]"]

current frame
status: exiting frame 31 with value: nil
peg: (capture (sequence "[" (some "_") "]") :delim)
text: [__][_]a[_][__]
index: 7
matched: no

frames call stack
31 (capture (sequence "[" (some "_") "]") :delim)
30 :open
29 (sequence :open :thing :close)
28 (unref (sequence :open :thing :close))
27 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
26 :thing
17 (sequence :open :thing :close)
16 (unref (sequence :open :thing :close))
15 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
14 :thing
4 (sequence :open :thing :close)
3 (unref (sequence :open :thing :close))
2 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
1 :thing
0 (sequence :thing -1)