Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

yapp (1)


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


Please see following description for synopsis


User Contributed Perl Documentation                                    YAPP(1)

       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 :-)

       -v  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.

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

       -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

               #!/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.

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

       -h  Display the usage screen.

       None known now :-)

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

       Copyright (C) 1998, 1999, 2000, 2001, Francois Desarmenien.  Copyright
       (C) 2017 William N. Braswell, Jr.

       See Parse::Yapp(3) for legal use and distribution rights

       See attributes(7) for descriptions of the following attributes:

       |ATTRIBUTE TYPE |       ATTRIBUTE VALUE         |
       |Availability   | library/perl-5/parse-yapp-532 |
       |Stability      | Volatile                      |

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

       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from

       Further information about this software can be found on the open source
       community website at https://metacpan.org/release/Parse-Yapp.

perl v5.32.0                      2017-08-04                           YAPP(1)