NAME
Language::Homespring::Visulaise::GraphViz - A visual op-tree viewer for "Homespring"
SYNOPSIS
use Language::Homespring;
use Language::Homespring::Visualise::GraphViz;
my $code = "bear hatchery Hello,. World ..\n powers";
my $hs = new Language::Homespring();
$hs->parse($code);
my $vis = new Language::Homespring::Visualise::GraphViz({'interp' => $hs});
print $vis->do()->as_gif;
DESCRIPTION
This module implements a viewer for Homespring op-trees, using the GraphViz program. You can now see the rivers that your code produces :)
METHODS
new({'interp' => $hs})-
Creates a new
Language::Homespring::Visualise::GraphVizobject. The single hash argument contains initialisation info. The only key currently required is 'interp', which should point to theLanguage::Homespringobject you wish to visualise.Other optional keys are:
node_col-
The background color to use for reserved word nodes. Specified in GraphViz format (#rrggbb is ok). Defaults to white.
spring_col-
The background color to use for spring nodes. Specified in GraphViz format (#rrggbb is ok). Defaults to #c0c0ff (light blue).
fontname-
The name of the font to use. Defaults to "Times".
Important: If the font file cannot be found (for "Times", "Times.ttf" must be in the font seach path - remember case sensitivity on unix etc.) then a built in font will be used, BUT the labels will not be centered in the nodes.
fontsize-
The size of the font in points. Defaults to 12.
do()-
Returns a
GraphVizobject, with all nodes and edges for the current state of the op-tree. You can then call standard GraphViz methods on this object such as as_gif() and as_png() to output an image.
EXAMPLES
The examples folder in this distribution contains an example script (example.pl) and three example GIFs. The GIFs are visual representations of the .hs files of the same name from the Language::Homespring distribution.
AUTHOR
Copyright (C) 2003 Cal Henderson <cal@iamcal.com>