trees, cleanup privates
parent
8b136cdd6d
commit
e0bd21e24a
|
@ -369,8 +369,6 @@ DEFER: delete-node
|
||||||
] with-side
|
] with-side
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
PRIVATE>
|
|
||||||
|
|
||||||
M: tree delete-at
|
M: tree delete-at
|
||||||
[ delete-bst-node swap ] change-root
|
[ delete-bst-node swap ] change-root
|
||||||
swap [ dup dec-count ] when drop ;
|
swap [ dup dec-count ] when drop ;
|
||||||
|
@ -378,8 +376,6 @@ M: tree delete-at
|
||||||
M: tree new-assoc
|
M: tree new-assoc
|
||||||
2drop <tree> ;
|
2drop <tree> ;
|
||||||
|
|
||||||
<PRIVATE
|
|
||||||
|
|
||||||
: clone-nodes ( node -- node' )
|
: clone-nodes ( node -- node' )
|
||||||
dup [
|
dup [
|
||||||
clone
|
clone
|
||||||
|
@ -387,25 +383,25 @@ M: tree new-assoc
|
||||||
[ clone-nodes ] change-right
|
[ clone-nodes ] change-right
|
||||||
] when ;
|
] when ;
|
||||||
|
|
||||||
PRIVATE>
|
|
||||||
|
|
||||||
M: tree clone (clone) [ clone-nodes ] change-root ;
|
M: tree clone (clone) [ clone-nodes ] change-root ;
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
: >tree ( assoc -- tree )
|
: >tree ( assoc -- tree )
|
||||||
T{ tree f f 0 } assoc-clone-like ;
|
T{ tree f f 0 } assoc-clone-like ;
|
||||||
|
|
||||||
M: tree assoc-like drop dup tree? [ >tree ] unless ;
|
|
||||||
|
|
||||||
SYNTAX: TREE{
|
SYNTAX: TREE{
|
||||||
\ } [ >tree ] parse-literal ;
|
\ } [ >tree ] parse-literal ;
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
|
M: tree assoc-like drop dup tree? [ >tree ] unless ;
|
||||||
|
|
||||||
M: tree assoc-size count>> ;
|
M: tree assoc-size count>> ;
|
||||||
M: tree pprint-delims drop \ TREE{ \ } ;
|
M: tree pprint-delims drop \ TREE{ \ } ;
|
||||||
M: tree >pprint-sequence >alist ;
|
M: tree >pprint-sequence >alist ;
|
||||||
M: tree pprint-narrow? drop t ;
|
M: tree pprint-narrow? drop t ;
|
||||||
|
|
||||||
<PRIVATE
|
|
||||||
|
|
||||||
: node-height ( node -- n )
|
: node-height ( node -- n )
|
||||||
[
|
[
|
||||||
[ left>> ] [ right>> ] bi
|
[ left>> ] [ right>> ] bi
|
||||||
|
|
Loading…
Reference in New Issue