From f924e4be28d072d97f44c81e8b0ec09d610a1673 Mon Sep 17 00:00:00 2001 From: Tomasz Obrebski Date: Mon, 10 Mar 2014 16:20:00 +0100 Subject: [PATCH] better p format --- src/tre/tre | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/src/tre/tre b/src/tre/tre index f138624..8c61dbe 100755 --- a/src/tre/tre +++ b/src/tre/tre @@ -232,17 +232,40 @@ def printtree_dgp(root,arcs,o) end end +# old: +# def printpar(root,arcs) +# print nodeinfo(root) +# deps = arcs.select{ |a| a[0]==root }.sort{|a,b| a[1]<=>b[1] } +# unless deps == [] +# print '(' +# cont=false +# for arc in deps +# if cont then print ',' else cont=true end +# print arc[2],':' if $INFO =~ /l/ +# printpar(arc[1],arcs) +# end +# print ')' +# end +# end + def printpar(root,arcs) - print nodeinfo(root) - deps = arcs.select{ |a| a[0]==root }.sort{|a,b| a[1]<=>b[1] } - unless deps == [] - print '(' - cont=false - for arc in deps - if cont then print ',' else cont=true end - print arc[2],':' if $INFO =~ /l/ - printpar(arc[1],arcs) - end + + ldeps = arcs.select{|a| a[0]==root and $gphid[a[1]] < $gphid[root]}.sort{|a,b| $gphid[a[1]]<=>$gphid[b[1]] } + rdeps = arcs.select{|a| a[0]==root and $gphid[a[1]] > $gphid[root]}.sort{|a,b| $gphid[a[1]]<=>$gphid[b[1]] } + + for arc in ldeps + print ' (' + print arc[2].upcase if $INFO =~ /l/ + printpar(arc[1],arcs) + print ')' + end + + print ' ',nodeinfo(root) + + for arc in rdeps + print ' (' + print arc[2].upcase if $INFO =~ /l/ + printpar(arc[1],arcs) print ')' end end