Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

graphviz::parse::yapp(3pm) [debian man page]

GraphViz::Parse::Yapp(3pm)				User Contributed Perl Documentation				GraphViz::Parse::Yapp(3pm)

NAME
GraphViz::Parse::Yapp - Visualise grammars SYNOPSIS
use GraphViz::Parse::Yapp; # Pass in a file generated via yapp -v my $g = GraphViz::Parse::Yapp->new('Yapp.output'); print $g->as_png; DESCRIPTION
This module makes it easy to visualise Parse::Yapp grammars. Writing Parse::Yapp grammars is tricky at the best of times, and grammars almost always evolve in ways unforseen at the start. This module aims to visualise a grammar as a graph in order to make the structure clear and aid in understanding the grammar. Rules are represented as nodes, which have their name on the left of the node and their productions on the right of the node. The subrules present in the productions are represented by edges to the subrule nodes. Thus, every node (rule) should be connected to the graph - otherwise a rule is not part of the grammar. This uses the GraphViz module to draw the graph. Thanks to Damian Conway for the original idea. METHODS
new This is the constructor. It takes one mandatory argument, which is a filename of the output file generated by running "yapp -v " on the grammar file. For example, if your Parse::Yapp grammar file is called "calc.yp", you would run "yapp -v calc.yp" and pass in "calc.output" as an argument here. A GraphViz object is returned. # Pass in a file generated via yapp -v my $graph = GraphViz::Parse::Yapp->new('Yapp.output'); print $g->as_png; as_* The grammar 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; AUTHOR
Leon Brocard <acme@astray.com> COPYRIGHT
Copyright (C) 2001, Leon Brocard This module is free software; you can redistribute it or modify it under the same terms as Perl itself. perl v5.14.2 2012-04-02 GraphViz::Parse::Yapp(3pm)

Check Out this Related Man Page

YAPP(1) 						User Contributed Perl Documentation						   YAPP(1)

NAME
yapp - A perl frontend to the Parse::Yapp module SYNOPSYS
yapp [options] grammar[.yp] yapp -V yapp -h DESCRIPTION
yapp is a frontend to the Parse::Yapp module, which lets you compile Parse::Yapp grammar input files into Perl LALR(1) OO parser modules. OPTIONS
Options, as of today, are all optionals :-) -v Creates a file grammar.output describing your parser. It will show you a summary of conflicts, rules, the DFA (Deterministic Finite Au- tomaton) states and overall usage of the parser. -s Create a standalone module in which the driver is included. Note that if you have more than one parser module called from a program, to have it standalone, you need this option only for one of your parser module. -n Disable source file line numbering embedded in your parser module. I don't know why one should need it, but it's there. -m module Gives your parser module the package name (or name space or module name or class name or whatever-you-call-it) of module. It defaults to grammar -o outfile The compiled output file will be named outfile for your parser module. It defaults to grammar.pm or, if you specified the option -m A::Module::Name (see below), to Name.pm. -t filename The -t filename option allows you to specify a file which should be used as template for generating the parser output. The default is to use the internal template defined in Parse::Yapp::Output.pm. For how to write your own template and which substitutions are avail- able, have a look to the module Parse::Yapp::Output.pm : it should be obvious. -b shebang If you work on systems that understand so called shebangs, and your generated parser is directly an executable script, you can specifie one with the -b option, ie: yapp -b '/usr/local/bin/perl -w' -o myscript.pl myscript.yp This will output a file called myscript.pl whose very first line is: #!/usr/local/bin/perl -w The argument is mandatory, but if you specify an empty string, the value of $Config{perlpath} will be used instead. grammar The input grammar file. If no suffix is given, and the file does not exists, an attempt to open the file with a suffix of .yp is tried before exiting. -V Display current version of Parse::Yapp and gracefully exits. -h Display the usage screen. BUGS
None known now :-) AUTHOR
Francois Desarmenien <francois@fdesar.net> COPYRIGHT
(c) Copyright 1998-1999 Francois Desarmenien, all rights reserved. See Parse::Yapp(3) for legal use and distribution rights SEE ALSO
Parse::Yapp(3) Perl(1) yacc(1) bison(1) perl v5.8.0 2001-02-11 YAPP(1)
Man Page