The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

Graph::Easy.

AUTHOR

Copyright (C) 2005 - 2006 by Tels http://bloodgate.com

See the LICENSE file for information.