* 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.
This commit is contained in:
Joel E. Denny
2008-02-23 04:26:14 +00:00
parent 2bb3ebec21
commit 59da312bc7
5 changed files with 104 additions and 11 deletions

View File

@@ -1,3 +1,30 @@
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> 2008-02-21 Wojciech Polak <polak@gnu.org>
* data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer

35
NEWS
View File

@@ -28,13 +28,35 @@ Changes in version 2.3a+ (????-??-??):
See the new section `A Push Parser' in the Bison manual for details. 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, * The -g and --graph options now output graphs in Graphviz DOT format,
not VCG format. not VCG format.
* An experimental directive %language specifies the language of the * Java
generated parser, which can be C (the default) or C++. This
directive affects the skeleton used, and the names of the generated Bison can now generate an LALR(1) parser in Java. The skeleton is
files if the grammar file's name ends in ".y". `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 * The grammar file may now specify the name of the parser header file using
%defines. For example: %defines. For example:
@@ -79,7 +101,8 @@ Changes in version 2.3a+ (????-??-??):
bug affected only the `.output' file and not the generated parser source bug affected only the `.output' file and not the generated parser source
code. 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 * The `=' that used to be required in the following directives is now
deprecated: deprecated:
@@ -126,7 +149,7 @@ Changes in version 2.3a+ (????-??-??):
sometimes prove to be false alarms in existing grammars employing the Yacc sometimes prove to be false alarms in existing grammars employing the Yacc
constructs $0 or $-N (where N is some positive integer). 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'. `-W', which is a synonym for `--warnings=all'.
* Default %destructor or %printer with `<*>' or `<>' * Default %destructor or %printer with `<*>' or `<>'

View File

@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. .\" 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 .SH NAME
bison \- GNU Project parser generator (yacc replacement) bison \- GNU Project parser generator (yacc replacement)
.SH SYNOPSIS .SH SYNOPSIS
@@ -82,6 +82,9 @@ emulate POSIX Yacc
report the warnings falling in CATEGORY report the warnings falling in CATEGORY
.SS "Parser:" .SS "Parser:"
.TP .TP
\fB\-L\fR, \fB\-\-language\fR=\fILANGUAGE\fR
specify the output programming language
.TP
\fB\-S\fR, \fB\-\-skeleton\fR=\fIFILE\fR \fB\-S\fR, \fB\-\-skeleton\fR=\fIFILE\fR
specify the skeleton to use specify the skeleton to use
.TP .TP
@@ -124,6 +127,7 @@ also output a graph of the automaton
.TP .TP
\fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR] \fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR]
also output an XML report of the automaton also output an XML report of the automaton
(the XML schema is experimental)
.SS "Warning categories include:" .SS "Warning categories include:"
.TP .TP
`midrule\-values' `midrule\-values'

View File

@@ -4553,6 +4553,9 @@ valid grammar.
@cindex push parser @cindex push parser
@findex %define api.push_pull @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 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 is completely parsed. A push parser, on the other hand, is called
each time a new token is made available. each time a new token is made available.
@@ -4882,6 +4885,8 @@ Some of the accepted @var{variable}s are:
@item Purpose: Requests a pull parser, a push parser, or both. @item Purpose: Requests a pull parser, a push parser, or both.
@xref{Push Decl, ,A Push Parser}. @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"} @item Accepted Values: @code{"pull"}, @code{"push"}, @code{"both"}
@@ -5042,7 +5047,7 @@ chosen as if the input file were named @file{@var{prefix}.y}.
@deffn {Directive} %language "@var{language}" @deffn {Directive} %language "@var{language}"
Specify the programming language for the generated parser. Currently 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. @var{language} is case-insensitive.
@end deffn @end deffn
@@ -5304,6 +5309,9 @@ exp: @dots{} @{ @dots{}; *randomness += 1; @dots{} @}
@section The Push Parser Function @code{yypush_parse} @section The Push Parser Function @code{yypush_parse}
@findex 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 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 function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used. @code{%define api.push_pull "both"} declaration is used.
@@ -5319,6 +5327,9 @@ is required to finish parsing the grammar.
@section The Pull Parser Function @code{yypull_parse} @section The Pull Parser Function @code{yypull_parse}
@findex 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 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"} stream. This function is available if the @code{%define api.push_pull "both"}
declaration is used. declaration is used.
@@ -5332,6 +5343,9 @@ The value returned by @code{yypull_parse} is the same as for @code{yyparse}.
@section The Parser Create Function @code{yystate_new} @section The Parser Create Function @code{yystate_new}
@findex yypstate_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. 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 This function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used. @code{%define api.push_pull "both"} declaration is used.
@@ -5348,6 +5362,9 @@ allocated.
@section The Parser Delete Function @code{yystate_delete} @section The Parser Delete Function @code{yystate_delete}
@findex yypstate_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. 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 function is available if either the @code{%define api.push_pull "push"} or
@code{%define api.push_pull "both"} declaration is used. @code{%define api.push_pull "both"} declaration is used.
@@ -7775,7 +7792,7 @@ already defined, so that the debugging facilities are compiled.
@itemx --language=@var{language} @itemx --language=@var{language}
Specify the programming language for the generated parser, as if Specify the programming language for the generated parser, as if
@code{%language} was specified (@pxref{Decl Summary, , Bison Declaration @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. @var{language} is case-insensitive.
@item --locations @item --locations
@@ -7876,9 +7893,18 @@ If the grammar file is @file{foo.y}, the output file will
be @file{foo.dot}. be @file{foo.dot}.
@item --graph=@var{graph-file} @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 difference is that it has an optional argument which is the name of
the output graph file. 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 @end table
@node Option Cross Key @node Option Cross Key
@@ -8669,6 +8695,9 @@ main (int argc, char *argv[])
@c - %language "Java" @c - %language "Java"
@c - initial action @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, The Java parser skeletons are selected using a language directive,
@samp{%language "Java"}, or the synonymous command-line option @samp{%language "Java"}, or the synonymous command-line option
@option{--language=java}. @option{--language=java}.
@@ -9781,6 +9810,8 @@ The function to delete a parser instance, produced by Bison in push mode;
call this function to delete the memory associated with a parser. call this function to delete the memory associated with a parser.
@xref{Parser Delete Function, ,The Parser Delete Function @xref{Parser Delete Function, ,The Parser Delete Function
@code{yypstate_delete}}. @code{yypstate_delete}}.
(The current push parsing interface is experimental and may evolve.
More user feedback will help to stabilize it.)
@end deffn @end deffn
@deffn {Function} yypstate_new @deffn {Function} yypstate_new
@@ -9788,6 +9819,8 @@ The function to create a parser instance, produced by Bison in push mode;
call this function to create a new parser. call this function to create a new parser.
@xref{Parser Create Function, ,The Parser Create Function @xref{Parser Create Function, ,The Parser Create Function
@code{yypstate_new}}. @code{yypstate_new}}.
(The current push parsing interface is experimental and may evolve.
More user feedback will help to stabilize it.)
@end deffn @end deffn
@deffn {Function} yypull_parse @deffn {Function} yypull_parse
@@ -9795,12 +9828,16 @@ The parser function produced by Bison in push mode; call this function to
parse the rest of the input stream. parse the rest of the input stream.
@xref{Pull Parser Function, ,The Pull Parser Function @xref{Pull Parser Function, ,The Pull Parser Function
@code{yypull_parse}}. @code{yypull_parse}}.
(The current push parsing interface is experimental and may evolve.
More user feedback will help to stabilize it.)
@end deffn @end deffn
@deffn {Function} yypush_parse @deffn {Function} yypush_parse
The parser function produced by Bison in push mode; call this function to 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 parse a single token. @xref{Push Parser Function, ,The Push Parser Function
@code{yypush_parse}}. @code{yypush_parse}}.
(The current push parsing interface is experimental and may evolve.
More user feedback will help to stabilize it.)
@end deffn @end deffn
@deffn {Macro} YYPARSE_PARAM @deffn {Macro} YYPARSE_PARAM

View File

@@ -1,7 +1,7 @@
/* Parse command line arguments for Bison. /* Parse command line arguments for Bison.
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, 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. This file is part of Bison, the GNU Compiler Compiler.
@@ -269,6 +269,7 @@ Operation modes:\n\
fputs (_("\ fputs (_("\
Parser:\n\ Parser:\n\
-L, --language=LANGUAGE specify the output programming language\n\
-S, --skeleton=FILE specify the skeleton to use\n\ -S, --skeleton=FILE specify the skeleton to use\n\
-t, --debug instrument the parser for debugging\n\ -t, --debug instrument the parser for debugging\n\
--locations enable locations computation\n\ --locations enable locations computation\n\
@@ -288,6 +289,7 @@ Output:\n\
-o, --output=FILE leave output to FILE\n\ -o, --output=FILE leave output to FILE\n\
-g, --graph[=FILE] also output a graph of the automaton\n\ -g, --graph[=FILE] also output a graph of the automaton\n\
-x, --xml[=FILE] also output an XML report of the automaton\n\ -x, --xml[=FILE] also output an XML report of the automaton\n\
(the XML schema is experimental)\n\
\n\ \n\
"), stdout); "), stdout);