The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

eyapp - A perl frontend to the Parse::Eyapp module

SYNOPSYS

eyapp [options] grammar[.yp]

eyapp -V

eyapp -h

DESCRIPTION

eyapp is a frontend to the Parse::Eyapp module, which lets you compile Parse::Eyapp grammar input files into Perl LALR(1) OO parser modules.

OPTIONS

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

This file grammar.output will be also automatically generated if warnings are issued.

-s

Create a standalone module in which the parsing driver is included. The modules including the LALR driver (Parse::Eyapp::Driver), and those for AST manipulations (<Parse::Eyapp::Node> and <Parse::Eyapp::YATW>)) are included - almost verbatim - inside the generated 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::Eyapp::Output.pm. For how to write your own template and which substitutions are available, have a look to the module Parse::Eyapp::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:

    eyapp -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::Eyapp and gracefully exits.

-h

Display the usage screen.

AUTHOR

Casiano Rodriguez-Leon

COPYRIGHT

(c) Copyright 2006 Casiano Rodriguez-Leon

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

SEE ALSO