yapp man page

yapp — A perl frontend to the Parse::Yapp module


yapp [options] grammar[.yp]

yapp -V

yapp -h


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, as of today, are all optionals :-)


Creates a file grammar.output describing your parser. It will show you a summary of conflicts, rules, the DFA (Deterministic Finite Automaton) states and overall usage of the parser.


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.


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, in the current working directory.

-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 available, 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.


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.


Display current version of Parse::Yapp and gracefully exits.


Display the usage screen.


None known now :-)


William N. Braswell, Jr. <wbraswell_cpan@NOSPAM.nym.hush.com> (Remove "NOSPAM".)

See Also

Parse::Yapp(3) Perl(1) yacc(1) bison(1)

Referenced By

Parse::Yapp(3), pidl(1).

2017-08-04 perl v5.26.0 User Contributed Perl Documentation