.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "YAPP 1" .TH YAPP 1 2023-07-26 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME yapp \- A perl frontend to the Parse::Yapp module .SH SYNOPSYS .IX Header "SYNOPSYS" yapp [options] \fIgrammar\fR[.yp] .PP yapp \fI\-V\fR .PP yapp \fI\-h\fR .SH DESCRIPTION .IX Header "DESCRIPTION" yapp is a frontend to the Parse::Yapp module, which lets you compile Parse::Yapp grammar input files into Perl \fBLALR\fR\|(1) OO parser modules. .SH OPTIONS .IX Header "OPTIONS" Options, as of today, are all optionals :\-) .IP \fI\-v\fR 4 .IX Item "-v" Creates a file \fIgrammar\fR.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. .IP \fI\-s\fR 4 .IX Item "-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. .IP \fI\-n\fR 4 .IX Item "-n" Disable source file line numbering embedded in your parser module. I don't know why one should need it, but it's there. .IP "\fI\-m module\fR" 4 .IX Item "-m module" Gives your parser module the package name (or name space or module name or class name or whatever-you-call-it) of \fImodule\fR. It defaults to \fIgrammar\fR .IP "\fI\-o outfile\fR" 4 .IX Item "-o outfile" The compiled output file will be named \fIoutfile\fR for your parser module. It defaults to \fIgrammar\fR.pm or, if you specified the option \&\fI\-m A::Module::Name\fR (see below), to \fIName.pm\fR, in the current working directory. .IP "\fI\-t filename\fR" 4 .IX Item "-t filename" The \fI\-t filename\fR 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 \fIParse::Yapp::Output.pm\fR. For how to write your own template and which substitutions are available, have a look to the module \fIParse::Yapp::Output.pm\fR : it should be obvious. .IP "\fI\-b shebang\fR" 4 .IX Item "-b shebang" If you work on systems that understand so called \fIshebangs\fR, and your generated parser is directly an executable script, you can specifie one with the \fI\-b\fR option, ie: .Sp .Vb 1 \& yapp \-b \*(Aq/usr/local/bin/perl \-w\*(Aq \-o myscript.pl myscript.yp .Ve .Sp This will output a file called \fImyscript.pl\fR whose very first line is: .Sp .Vb 1 \& #!/usr/local/bin/perl \-w .Ve .Sp The argument is mandatory, but if you specify an empty string, the value of \fR\f(CI$Config\fR\fI{perlpath}\fR will be used instead. .IP \fIgrammar\fR 4 .IX Item "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 \fI.yp\fR is tried before exiting. .IP \fI\-V\fR 4 .IX Item "-V" Display current version of Parse::Yapp and gracefully exits. .IP \fI\-h\fR 4 .IX Item "-h" Display the usage screen. .SH BUGS .IX Header "BUGS" None known now :\-) .SH AUTHOR .IX Header "AUTHOR" William N. Braswell, Jr. (Remove "NOSPAM".) .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright © 1998, 1999, 2000, 2001, Francois Desarmenien. Copyright © 2017 William N. Braswell, Jr. .PP See \fBParse::Yapp\fR\|(3) for legal use and distribution rights .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBParse::Yapp\fR\|(3) \fBPerl\fR\|(1) \fByacc\fR\|(1) \fBbison\fR\|(1)