event log
> 0 (sequence :thing -1)
> 1 :thing
> 2 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
> 3 (unref (sequence :open :thing :close))
> 4 (sequence :open :thing :close)
> 5 :open
> 6 (capture (sequence "[" (some "_") "]") :delim)
> 7 (sequence "[" (some "_") "]")
> 8 "["
8 > "["
> 9 (some "_")
> 10 "_"
10 > "_"
> 11 "_"
11 > "_"
> 12 "_"
12 > "_"
9 > (some "_")
> 13 "]"
13 > "]"
7 > (sequence "[" (some "_") "]")
6 > (capture (sequence "[" (some "_") "]") :delim)
5 > :open
> 14 :thing
> 15 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
> 16 (unref (sequence :open :thing :close))
> 17 (sequence :open :thing :close)
> 18 :open
> 19 (capture (sequence "[" (some "_") "]") :delim)
> 20 (sequence "[" (some "_") "]")
> 21 "["
21 > "["
> 22 (some "_")
> 23 "_"
23 > "_"
> 24 "_"
24 > "_"
22 > (some "_")
> 25 "]"
25 > "]"
20 > (sequence "[" (some "_") "]")
19 > (capture (sequence "[" (some "_") "]") :delim)
18 > :open
> 26 :thing
> 27 (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
> 28 (unref (sequence :open :thing :close))
> 29 (sequence :open :thing :close)
> 30 :open
> 31 (capture (sequence "[" (some "_") "]") :delim)
> 32 (sequence "[" (some "_") "]")
> 33 "["
33 > "["
32 > (sequence "[" (some "_") "]")
31 > (capture (sequence "[" (some "_") "]") :delim)
30 > :open
29 > (sequence :open :thing :close)
28 > (unref (sequence :open :thing :close))
> 34 (capture (any (if-not "[" 1)))
> 35 (any (if-not "[" 1))
> 36 (if-not "[" 1)
> 37 "["
37 > "["
> 38 1
38 > 1
36 > (if-not "[" 1)
> 39 (if-not "[" 1)
> 40 "["
40 > "["
39 > (if-not "[" 1)
35 > (any (if-not "[" 1))
34 > (capture (any (if-not "[" 1)))
27 > (choice (unref (sequence :open :thing :close)) (capture (any (if-not "[" 1))))
26 > :thing
> 41 :close
> 42 (capture (backmatch :delim))
> 43 (backmatch :delim)
43 > (backmatch :delim)
42 > (capture (backmatch :delim))
41 > :close
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
> 44 :close
> 45 (capture (backmatch :delim))
> 46 (backmatch :delim)
46 > (backmatch :delim)
45 > (capture (backmatch :delim))
44 > :close
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
> 47 -1
47 > -1
0 > (sequence :thing -1)