Graph::Easy::Parser::VCG - Parse VCG or GDL text into Graph::Easy |
Graph::Easy::Parser::VCG - Parse VCG or GDL text into Graph::Easy
# 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();
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.
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.
Attributes 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''.
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 the Graph::Easy::Parser manpage 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 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.
The parser has problems with the following things:
comment
.
These are correctly read in and stored, and then output into the different
formats, too.
Exports nothing.
the Graph::Easy manpage, the Graph::Write::VCG manpage.
Copyright (C) 2005 - 2008 by Tels http://bloodgate.com
See the LICENSE file for information.
Graph::Easy::Parser::VCG - Parse VCG or GDL text into Graph::Easy |