2 USING: kernel multiline parser arrays
3 sequences splitting grouping help.markup ;
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11 ".." parse-multiline-string
14 [ dup " " head? [ 4 tail ] [ ] if ] map
15 [ dup "" = [ drop { $nl } ] [ ] if ] map
21 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25 { $heading "Example" } parsed
27 ".." parse-multiline-string
29 [ dup " " head? [ 4 tail ] [ ] if ] map
37 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41 ".." parse-multiline-string
44 [ dup " " head? [ 4 tail ] [ ] if ] map
45 [ dup "" = [ drop { $nl } ] [ ] if ] map
46 { $heading "Summary" } prefix
51 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
55 ".." parse-multiline-string
58 [ dup " " head? [ 4 tail ] [ ] if ] map
59 [ " " split1 [ " " first = ] trim-left 2array ] map
65 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
69 scan current-vocab create dup old-definitions get
70 [ delete-at ] with each dup set-word
72 bootstrap-word dup set-word
73 dup >link save-location
74 \ ; parse-until >array swap set-word-help ; parsing