|
NAMEGraph::Easy::Parser::VCG - Parse VCG or GDL text into Graph::Easy SYNOPSIS # creating a graph from a textual description
use Graph::Easy::Parser::VCG;
my $parser = Graph::Easy::Parser::VCG->new();
my $graph = $parser->from_text(
"graph: { \n" .
" node: { title: "Bonn" }\n" .
" node: { title: "Berlin" }\n" .
" edge: { sourcename: "Bonn" targetname: "Berlin" }\n" .
"}\n"
);
print $graph->as_ascii();
print $parser->from_file('mygraph.vcg')->as_ascii();
DESCRIPTION"Graph::Easy::Parser::VCG" parses the text format from the VCG or GDL (Graph Description Language) use by tools like GCC and AiSee, and constructs a "Graph::Easy" object from it. The resulting object can then be used to layout and output the graph in various formats. OutputThe output will be a Graph::Easy object (unless overridden with use_class()), see the documentation for Graph::Easy what you can do with it. AttributesAttributes will be remapped to the proper Graph::Easy attribute names and values, as much as possible. Anything else will be converted to custom attributes starting with "x-vcg-". So "dirty_edge_labels: yes" will become "x-vcg-dirty_edge_labels: yes". METHODS"Graph::Easy::Parser::VCG" supports the same methods as its parent class "Graph::Easy::Parser": new() use Graph::Easy::Parser::VCG;
my $parser = Graph::Easy::Parser::VCG->new();
Creates a new parser object. There are two valid parameters: debug
fatal_errors
Both take either a false or a true value. my $parser = Graph::Easy::Parser::VCG->new( debug => 1 );
$parser->from_text('graph: { }');
reset()$parser->reset(); Reset the status of the parser, clear errors etc. Automatically called when you call any of the from_XXX() methods below. use_class() $parser->use_class('node', 'Graph::Easy::MyNode');
Override the class to be used to constructs objects while parsing. See Graph::Easy::Parser for further information. from_text()my $graph = $parser->from_text( $text ); Create a Graph::Easy object from the textual description in $text. Returns undef for error, you can find out what the error was with error(). This method will reset any previous error, and thus the $parser object can be re-used to parse different texts by just calling from_text() multiple times. from_file() my $graph = $parser->from_file( $filename );
my $graph = Graph::Easy::Parser::VCG->from_file( $filename );
Creates a Graph::Easy object from the textual description in the file $filename. The second calling style will create a temporary parser object, parse the file and return the resulting "Graph::Easy" object. Returns undef for error, you can find out what the error was with error() when using the first calling style. error()my $error = $parser->error(); Returns the last error, or the empty string if no error occurred. parse_error()$parser->parse_error( $msg_nr, @params); Sets an error message from a message number and replaces embedded templates like "##param1##" with the passed parameters. CAVEATSThe parser has problems with the following things:
EXPORTExports nothing. SEE ALSOGraph::Easy, Graph::Write::VCG. AUTHORCopyright (C) 2005 - 2008 by Tels <http://bloodgate.com> See the LICENSE file for information.
|