Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GraphViz::Regex(3)    User Contributed Perl Documentation   GraphViz::Regex(3)

NAME
       GraphViz::Regex - Visualise a regular expression

SYNOPSIS
	 use GraphViz::Regex;

	 my $regex = '(([abcd0-9])|(foo))';

	 my $graph = GraphViz::Regex->new($regex);
	 print $graph->as_png;

DESCRIPTION
       This module attempts to visualise a Perl	regular	expression.
       Understanding regular expressions is tricky at the best of times, and
       regexess	almost always evolve in	ways unforseen at the start. This
       module aims to visualise	a regex	as a graph in order to make the
       structure clear and aid in understanding	the regex.

       The graph visualises how	the Perl regular expression engine attempts to
       match the regex.	Simple text matches or character classes are
       represented by.box-shaped nodes.	Alternations are represented by	a
       diamond-shaped node which points	to the alternations. Repetitions are
       represented by self-edges with a	label of the repetition	type (the
       nodes being repeated are	pointed	to be a	full edge, a dotted edge
       points to what to match after the repetition). Matched patterns (such
       as $1, $2, etc.)	are represented	by a 'START $1'	.. 'END	$1' node pair.

       This uses the GraphViz module to	draw the graph.

METHODS
   new
       This is the constructor.	It takes one mandatory argument, which is a
       string of the regular expression	to be visualised. A GraphViz object is
       returned.

	 my $graph = GraphViz::Regex->new($regex);

   as_*
       The regex can be	visualised in a	number of different graphical formats.
       Methods include as_ps, as_hpgl, as_pcl, as_mif, as_pic, as_gd, as_gd2,
       as_gif, as_jpeg,	as_png,	as_wbmp, as_ismap, as_imap, as_vrml, as_vtx,
       as_mp, as_fig, as_svg. See the GraphViz documentation for more
       information. The	two most common	methods	are:

	 # Print out a PNG-format file
	 print $g->as_png;

	 # Print out a PostScript-format file
	 print $g->as_ps;

BUGS
       Note that this module relies on debugging information provided by Perl,
       and is known to fail on at least	two versions of	Perl: 5.005_03 and
       5.7.1. Sorry about that - please	use a more recent version of Perl if
       you want	to use this module.

AUTHOR
       Leon Brocard <acme@astray.com>

COPYRIGHT
       Copyright (C) 2000-1, Leon Brocard

       This module is free software; you can redistribute it or	modify it
       under the Perl License, a copy of which is available at
       <http://dev.perl.org/licenses/>.

perl v5.24.1			  2016-12-27		    GraphViz::Regex(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | BUGS | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=GraphViz::Regex&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help