NAME
Graph::Easy::Parser::Graphviz - Parse graphviz text into Graph::Easy
SYNOPSIS
# creating a graph from a textual description
use Graph::Easy::Parser::Graphviz;
my $parser = Graph::Easy::Parser::Graphviz->new();
my $graph = $parser->from_text(
"digraph Graph {\" .
' Bonn -> "Berlin"' . "\n}\n" );
);
print $graph->as_ascii();
print $parser->from_file('mygraph.dot')->as_ascii();
DESCRIPTION
Graph::Easy::Parser::Graphviz
parses the text format from graphviz and constructs a Graph::Easy
object from it.
The resulting object can than be used to layout and output the graph.
Please see the Grapviz manual for a full description of the syntax rules.
Output
The output will be a Graph::Easy object (unless overrriden with use_class()
), see the documentation for Graph::Easy what you can do with it.
METHODS
Graph::Easy::Parser::Graphviz
supports the same methods that its parent class Graph::Easy::Parser
:
new()
use Graph::Easy::Parser::Graphviz;
my $parser = Graph::Easy::Parser::Graphviz->new();
Creates a new parser object. The only valid parameter is debug, when set to true it will enable debug output to STDERR:
my $parser = Graph::Easy::Parser::Graphviz->new( debug => 1 );
$parser->from_text('digraph G { A -> B }');
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->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 occured.
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.
EXPORT
Exports nothing.
SEE ALSO
AUTHOR
Copyright (C) 2005 - 2006 by Tels http://bloodgate.com
See the LICENSE file for information.