|
NAMEGraphViz2::Parse::ISA - Visualize N Perl class hierarchies as a graphSYNOPSISuse strict; use warnings; use File::Spec; use GraphViz2::Parse::ISA; my $parser = GraphViz2::Parse::ISA->new; unshift @INC, 't/lib'; $parser->add(class => 'Adult::Child::Grandchild', ignore => []); $parser->add(class => 'HybridVariety', ignore => []); $parser->generate_graph; my $format = shift || 'svg'; my $output_file = shift || "parse.code.$format"; $parser->graph->run(format => $format, output_file => $output_file); See scripts/parse.isa.pl. DESCRIPTIONTakes a class name and converts its class hierarchy into a graph. This can be done for N different classes before the graph is generated.You can write the result in any format supported by Graphviz <http://www.graphviz.org/>. Constructor and InitializationCalling new()"new()" is called as "my($obj) = GraphViz2::Parse::ISA->new(k1 => v1, k2 => v2, ...)".It returns a new object of type "GraphViz2::Parse::ISA". Key-value pairs accepted in the parameter list:
METHODSadd(class => $class[, ignore => $ignore])Adds the class hierarchy of $class to an internal structure.$class is the name of the class whose parents are to be found. $ignore is an optional arrayref of class names to ignore. The value of $ignore is not preserved between calls to add(). After all desired calls to add(), you must call "generate_graph()" to actually trigger the call to the GraphViz2 methods add_node() and add_edge(). Returns $self for method chaining. See scripts/parse.isa.pl. generate_graph()Processes the internal structure mentioned under add() to add all the nodes and edges to the graph.After that you call GraphViz2's run() method on the graph object. See "graph()". Returns $self for method chaining. See scripts/parse.isa.pl. graph()Returns the graph object, either the one supplied to new() or the one created during the call to new().Scripts Shipped with this Modulescripts/parse.isa.plDemonstrates combining 2 Perl class hierarchies on the same graph.Outputs to ./html/parse.isa.svg by default. Change this by providing a format argument (e.g. "svg") and a filename argument. THANKSMany thanks are due to the people who chose to make Graphviz <http://www.graphviz.org/> Open Source.And thanks to Leon Brocard <http://search.cpan.org/~lbrocard/>, who wrote GraphViz, and kindly gave me co-maint of the module. The code in add() was adapted from GraphViz::ISA::Multi by Marcus Thiesen, but that code gobbled up package declarations in comments and POD, so I used Pod::Simple to give me just the source code. AUTHORGraphViz2 was written by Ron Savage <ron@savage.net.au> in 2011.Home page: <http://savage.net.au/index.html>. COPYRIGHTAustralian copyright (c) 2011, Ron Savage.All Programs of mine are 'OSI Certified Open Source Software'; you can redistribute them and/or modify them under the terms of The Perl License, a copy of which is available at: http://dev.perl.org/licenses/
Visit the GSP FreeBSD Man Page Interface. |