say its interface is experimental.
* doc/bison.texinfo (Decl Summary): In the %language entry, mention
Java.
(Bison Options): In the -L and --language entry, mention Java.
(Java Bison Interface): Say the interface is experimental.
* src/getargs.c (usage): Mention -L and --language.
* NEWS (2.3a+): Say the push parsing interface is experimental.
* doc/bison.texinfo (Push Decl): Likewise.
(Decl Summary): Likewise in the "%define api.push_pull" entry.
(Push Parser Function): Likewise.
(Pull Parser Function): Likewise.
(Parser Create Function): Likewise.
(Parser Delete Function): Likewise.
(Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
yypull_parse, and yypush_parse entries.
* NEWS (2.3a+): Mention XML support, and say the schema is
experimental.
* doc/bison.texinfo (Bison Options): Mention -x and --xml.
* src/getargs.c (usage): Say the XML schema is experimental.
* NEWS (2.3a+): Say option instead of flag.
+2008-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Don't say %language is experimental. Mention Java and
+ say its interface is experimental.
+ * doc/bison.texinfo (Decl Summary): In the %language entry, mention
+ Java.
+ (Bison Options): In the -L and --language entry, mention Java.
+ (Java Bison Interface): Say the interface is experimental.
+ * src/getargs.c (usage): Mention -L and --language.
+
+ * NEWS (2.3a+): Say the push parsing interface is experimental.
+ * doc/bison.texinfo (Push Decl): Likewise.
+ (Decl Summary): Likewise in the "%define api.push_pull" entry.
+ (Push Parser Function): Likewise.
+ (Pull Parser Function): Likewise.
+ (Parser Create Function): Likewise.
+ (Parser Delete Function): Likewise.
+ (Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
+ yypull_parse, and yypush_parse entries.
+
+ * NEWS (2.3a+): Mention XML support, and say the schema is
+ experimental.
+ * doc/bison.texinfo (Bison Options): Mention -x and --xml.
+ * src/getargs.c (usage): Say the XML schema is experimental.
+
+ * NEWS (2.3a+): Say option instead of flag.
+
2008-02-21 Wojciech Polak <polak@gnu.org>
* data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer
See the new section `A Push Parser' in the Bison manual for details.
+ The current push parsing interface is experimental and may evolve. More user
+ feedback will help to stabilize it.
+
* The -g and --graph options now output graphs in Graphviz DOT format,
not VCG format.
-* An experimental directive %language specifies the language of the
- generated parser, which can be C (the default) or C++. This
- directive affects the skeleton used, and the names of the generated
- files if the grammar file's name ends in ".y".
+* Java
+
+ Bison can now generate an LALR(1) parser in Java. The skeleton is
+ `data/lalr1.java'. Consider using the new %language directive instead of
+ %skeleton to select it.
+
+ See the new section `Java Parsers' in the Bison manual for details.
+
+ The current Java interface is experimental and may evolve. More user
+ feedback will help to stabilize it.
+
+* %language
+
+ This new directive specifies the programming language of the generated
+ parser, which can be C (the default), C++, or Java. This directive affects
+ the skeleton used and the names of the generated files if the grammar file's
+ name ends in ".y".
+
+* XML Automaton Report
+
+ Bison can now generate an XML report of the LALR(1) automaton using the new
+ `--xml' option. The current XML schema is experimental and may evolve. More
+ user feedback will help to stabilize it.
* The grammar file may now specify the name of the parser header file using
%defines. For example:
bug affected only the `.output' file and not the generated parser source
code.
-* --report-file=FILE is a new flag to override the default `.output' file name.
+* --report-file=FILE is a new option to override the default `.output' file
+ name.
* The `=' that used to be required in the following directives is now
deprecated:
sometimes prove to be false alarms in existing grammars employing the Yacc
constructs $0 or $-N (where N is some positive integer).
- To enable these warnings, specify the flag `--warnings=midrule-values' or
+ To enable these warnings, specify the option `--warnings=midrule-values' or
`-W', which is a synonym for `--warnings=all'.
* Default %destructor or %printer with `<*>' or `<>'
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
-.TH BISON "1" "November 2007" "bison 2.3a+" "User Commands"
+.TH BISON "1" "February 2008" "bison 2.3a+" "User Commands"
.SH NAME
bison \- GNU Project parser generator (yacc replacement)
.SH SYNOPSIS
report the warnings falling in CATEGORY
.SS "Parser:"
.TP
+\fB\-L\fR, \fB\-\-language\fR=\fILANGUAGE\fR
+specify the output programming language
+.TP
\fB\-S\fR, \fB\-\-skeleton\fR=\fIFILE\fR
specify the skeleton to use
.TP
.TP
\fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR]
also output an XML report of the automaton
+(the XML schema is experimental)
.SS "Warning categories include:"
.TP
`midrule\-values'
@cindex push parser
@findex %define api.push_pull
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
A pull parser is called once and it takes control until all its input
is completely parsed. A push parser, on the other hand, is called
each time a new token is made available.
@item Purpose: Requests a pull parser, a push parser, or both.
@xref{Push Decl, ,A Push Parser}.
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
@item Accepted Values: @code{"pull"}, @code{"push"}, @code{"both"}
@deffn {Directive} %language "@var{language}"
Specify the programming language for the generated parser. Currently
-supported languages include C and C++.
+supported languages include C, C++, and Java.
@var{language} is case-insensitive.
@end deffn
@section The Push Parser Function @code{yypush_parse}
@findex yypush_parse
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
You call the function @code{yypush_parse} to parse a single token. This
function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used.
@section The Pull Parser Function @code{yypull_parse}
@findex yypull_parse
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
You call the function @code{yypull_parse} to parse the rest of the input
stream. This function is available if the @code{%define api.push_pull "both"}
declaration is used.
@section The Parser Create Function @code{yystate_new}
@findex yypstate_new
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
You call the function @code{yypstate_new} to create a new parser instance.
This function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used.
@section The Parser Delete Function @code{yystate_delete}
@findex yypstate_delete
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
You call the function @code{yypstate_delete} to delete a parser instance.
function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used.
@itemx --language=@var{language}
Specify the programming language for the generated parser, as if
@code{%language} was specified (@pxref{Decl Summary, , Bison Declaration
-Summary}). Currently supported languages include C and C++.
+Summary}). Currently supported languages include C, C++, and Java.
@var{language} is case-insensitive.
@item --locations
be @file{foo.dot}.
@item --graph=@var{graph-file}
-The behavior of @var{--graph} is the same than @samp{-g}. The only
+The behavior of @var{--graph} is the same as @samp{-g}. The only
difference is that it has an optional argument which is the name of
the output graph file.
+
+@item -x
+@itemx --xml=@var{file}
+Output an XML report of the @acronym{LALR}(1) automaton computed by Bison.
+@code{=@var{file}} is optional.
+If omitted and the grammar file is @file{foo.y}, the output file will be
+@file{foo.xml}.
+(The current XML schema is experimental and may evolve.
+More user feedback will help to stabilize it.)
@end table
@node Option Cross Key
@c - %language "Java"
@c - initial action
+(The current Java interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
+
The Java parser skeletons are selected using a language directive,
@samp{%language "Java"}, or the synonymous command-line option
@option{--language=java}.
call this function to delete the memory associated with a parser.
@xref{Parser Delete Function, ,The Parser Delete Function
@code{yypstate_delete}}.
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
@end deffn
@deffn {Function} yypstate_new
call this function to create a new parser.
@xref{Parser Create Function, ,The Parser Create Function
@code{yypstate_new}}.
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
@end deffn
@deffn {Function} yypull_parse
parse the rest of the input stream.
@xref{Pull Parser Function, ,The Pull Parser Function
@code{yypull_parse}}.
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
@end deffn
@deffn {Function} yypush_parse
The parser function produced by Bison in push mode; call this function to
parse a single token. @xref{Push Parser Function, ,The Push Parser Function
@code{yypush_parse}}.
+(The current push parsing interface is experimental and may evolve.
+More user feedback will help to stabilize it.)
@end deffn
@deffn {Macro} YYPARSE_PARAM
/* Parse command line arguments for Bison.
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
fputs (_("\
Parser:\n\
+ -L, --language=LANGUAGE specify the output programming language\n\
-S, --skeleton=FILE specify the skeleton to use\n\
-t, --debug instrument the parser for debugging\n\
--locations enable locations computation\n\
-o, --output=FILE leave output to FILE\n\
-g, --graph[=FILE] also output a graph of the automaton\n\
-x, --xml[=FILE] also output an XML report of the automaton\n\
+ (the XML schema is experimental)\n\
\n\
"), stdout);