mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-17 16:23:04 +00:00
Merge branch 'maint'
* origin/maint: java: use api.location.type and api.position.type Conflicts: NEWS data/java.m4 doc/bison.texi tests/java.at
This commit is contained in:
8
NEWS
8
NEWS
@@ -283,7 +283,7 @@ GNU Bison NEWS
|
|||||||
|
|
||||||
The parse function now catches exceptions, uses the %destructors to
|
The parse function now catches exceptions, uses the %destructors to
|
||||||
release memory (the lookahead symbol and the symbols pushed on the stack)
|
release memory (the lookahead symbol and the symbols pushed on the stack)
|
||||||
before rethrowing the exception.
|
before re-throwing the exception.
|
||||||
|
|
||||||
This feature is somewhat experimental. User feedback would be
|
This feature is somewhat experimental. User feedback would be
|
||||||
appreciated.
|
appreciated.
|
||||||
@@ -305,7 +305,7 @@ GNU Bison NEWS
|
|||||||
"function declared 'noreturn' should not return") have also been
|
"function declared 'noreturn' should not return") have also been
|
||||||
addressed.
|
addressed.
|
||||||
|
|
||||||
** New %define variable: api.location.type (glr.cc, lalr1.cc)
|
** New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java)
|
||||||
|
|
||||||
The %define variable api.location.type defines the name of the type to use
|
The %define variable api.location.type defines the name of the type to use
|
||||||
for locations. When defined, Bison no longer generates the position.hh
|
for locations. When defined, Bison no longer generates the position.hh
|
||||||
@@ -320,6 +320,10 @@ GNU Bison NEWS
|
|||||||
under the name "location_type" (which is maintained for backward
|
under the name "location_type" (which is maintained for backward
|
||||||
compatibility).
|
compatibility).
|
||||||
|
|
||||||
|
For consistency, lalr1.java's %define variables location_type and
|
||||||
|
position_type are deprecated in favor of api.location.type and
|
||||||
|
api.position.type.
|
||||||
|
|
||||||
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
|
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
|
||||||
|
|
||||||
** Bug fixes
|
** Bug fixes
|
||||||
|
|||||||
@@ -200,8 +200,8 @@ m4_define([b4_init_throws], [b4_percent_define_get([[init_throws]])])
|
|||||||
b4_percent_define_default([[api.location.type]], [Location])
|
b4_percent_define_default([[api.location.type]], [Location])
|
||||||
m4_define([b4_location_type], [b4_percent_define_get([[api.location.type]])])
|
m4_define([b4_location_type], [b4_percent_define_get([[api.location.type]])])
|
||||||
|
|
||||||
b4_percent_define_default([[position_type]], [Position])
|
b4_percent_define_default([[api.position.type]], [Position])])
|
||||||
m4_define([b4_position_type], [b4_percent_define_get([[position_type]])])
|
m4_define([b4_position_type], [b4_percent_define_get([[api.position.type]])])
|
||||||
|
|
||||||
|
|
||||||
## ----------------- ##
|
## ----------------- ##
|
||||||
|
|||||||
@@ -5479,7 +5479,7 @@ The parser namespace is @code{foo} and @code{yylex} is referenced as
|
|||||||
@findex %define api.location.type
|
@findex %define api.location.type
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item Language(s): C++
|
@item Language(s): C++, Java
|
||||||
|
|
||||||
@item Purpose: Define the location type.
|
@item Purpose: Define the location type.
|
||||||
@xref{User Defined Location Type}.
|
@xref{User Defined Location Type}.
|
||||||
@@ -9923,7 +9923,7 @@ to generate the @file{master/position.hh} and @file{master/location.hh}
|
|||||||
files, reused by other parsers as follows:
|
files, reused by other parsers as follows:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
%define location_type "master::location"
|
%define api.location.type "master::location"
|
||||||
%code requires @{ #include <master/location.hh> @}
|
%code requires @{ #include <master/location.hh> @}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -10812,11 +10812,11 @@ class defines a @dfn{position}, a single point in a file; Bison itself
|
|||||||
defines a class representing a @dfn{location}, a range composed of a pair of
|
defines a class representing a @dfn{location}, a range composed of a pair of
|
||||||
positions (possibly spanning several files). The location class is an inner
|
positions (possibly spanning several files). The location class is an inner
|
||||||
class of the parser; the name is @code{Location} by default, and may also be
|
class of the parser; the name is @code{Location} by default, and may also be
|
||||||
renamed using @samp{%define location_type "@var{class-name}"}.
|
renamed using @code{%define api.location.type "@var{class-name}"}.
|
||||||
|
|
||||||
The location class treats the position as a completely opaque value.
|
The location class treats the position as a completely opaque value.
|
||||||
By default, the class name is @code{Position}, but this can be changed
|
By default, the class name is @code{Position}, but this can be changed
|
||||||
with @samp{%define position_type "@var{class-name}"}. This class must
|
with @code{%define api.position.type "@var{class-name}"}. This class must
|
||||||
be supplied by the user.
|
be supplied by the user.
|
||||||
|
|
||||||
|
|
||||||
@@ -10978,7 +10978,7 @@ In both cases, the scanner has to implement the following methods.
|
|||||||
@deftypemethod {Lexer} {void} yyerror (Location @var{loc}, String @var{msg})
|
@deftypemethod {Lexer} {void} yyerror (Location @var{loc}, String @var{msg})
|
||||||
This method is defined by the user to emit an error message. The first
|
This method is defined by the user to emit an error message. The first
|
||||||
parameter is omitted if location tracking is not active. Its type can be
|
parameter is omitted if location tracking is not active. Its type can be
|
||||||
changed using @samp{%define location_type "@var{class-name}".}
|
changed using @code{%define api.location.type "@var{class-name}".}
|
||||||
@end deftypemethod
|
@end deftypemethod
|
||||||
|
|
||||||
@deftypemethod {Lexer} {int} yylex ()
|
@deftypemethod {Lexer} {int} yylex ()
|
||||||
@@ -10996,7 +10996,7 @@ Return respectively the first position of the last token that
|
|||||||
@code{yylex} returned, and the first position beyond it. These
|
@code{yylex} returned, and the first position beyond it. These
|
||||||
methods are not needed unless location tracking is active.
|
methods are not needed unless location tracking is active.
|
||||||
|
|
||||||
The return type can be changed using @samp{%define position_type
|
The return type can be changed using @code{%define api.position.type
|
||||||
"@var{class-name}".}
|
"@var{class-name}".}
|
||||||
@end deftypemethod
|
@end deftypemethod
|
||||||
|
|
||||||
@@ -11258,10 +11258,11 @@ comma-separated list. Default is @code{java.io.IOException}.
|
|||||||
@xref{Java Scanner Interface}.
|
@xref{Java Scanner Interface}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Directive} {%define location_type} "@var{class}"
|
@deffn {Directive} {%define api.location.type} "@var{class}"
|
||||||
The name of the class used for locations (a range between two
|
The name of the class used for locations (a range between two
|
||||||
positions). This class is generated as an inner class of the parser
|
positions). This class is generated as an inner class of the parser
|
||||||
class by @command{bison}. Default is @code{Location}.
|
class by @command{bison}. Default is @code{Location}.
|
||||||
|
Formerly named @code{location_type}.
|
||||||
@xref{Java Location Values}.
|
@xref{Java Location Values}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@@ -11276,9 +11277,10 @@ The name of the parser class. Default is @code{YYParser} or
|
|||||||
@xref{Java Bison Interface}.
|
@xref{Java Bison Interface}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Directive} {%define position_type} "@var{class}"
|
@deffn {Directive} {%define api.position.type} "@var{class}"
|
||||||
The name of the class used for positions. This class must be supplied by
|
The name of the class used for positions. This class must be supplied by
|
||||||
the user. Default is @code{Position}.
|
the user. Default is @code{Position}.
|
||||||
|
Formerly named @code{position_type}.
|
||||||
@xref{Java Location Values}.
|
@xref{Java Location Values}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@@ -12577,9 +12579,10 @@ London, Department of Computer Science, TR-00-12 (December 2000).
|
|||||||
@c LocalWords: getLVal defvar deftypefn deftypefnx gotos msgfmt Corbett LALR's
|
@c LocalWords: getLVal defvar deftypefn deftypefnx gotos msgfmt Corbett LALR's
|
||||||
@c LocalWords: subdirectory Solaris nonassociativity perror schemas Malloy ints
|
@c LocalWords: subdirectory Solaris nonassociativity perror schemas Malloy ints
|
||||||
@c LocalWords: Scannerless ispell american ChangeLog smallexample CSTYPE CLTYPE
|
@c LocalWords: Scannerless ispell american ChangeLog smallexample CSTYPE CLTYPE
|
||||||
@c LocalWords: clval CDEBUG cdebug deftypeopx yyterminate
|
@c LocalWords: clval CDEBUG cdebug deftypeopx yyterminate LocationType
|
||||||
|
|
||||||
@c Local Variables:
|
@c Local Variables:
|
||||||
@c ispell-dictionary: "american"
|
@c ispell-dictionary: "american"
|
||||||
@c fill-column: 76
|
@c fill-column: 76
|
||||||
@c End:
|
@c End:
|
||||||
|
@c LocalWords: errorVerbose
|
||||||
|
|||||||
@@ -752,7 +752,7 @@ AT_CHECK_JAVA_MINIMAL([[
|
|||||||
%define stype "java.awt.Color"
|
%define stype "java.awt.Color"
|
||||||
%type<java.awt.Color> start;
|
%type<java.awt.Color> start;
|
||||||
%define api.location.type "MyLoc"
|
%define api.location.type "MyLoc"
|
||||||
%define position_type "MyPos"
|
%define api.position.type "MyPos"
|
||||||
%code { class MyPos {} }]], [[$$ = $<java.awt.Color>1;]], [[MyPos]])
|
%code { class MyPos {} }]], [[$$ = $<java.awt.Color>1;]], [[MyPos]])
|
||||||
AT_CHECK([[grep 'java.awt.Color' YYParser.java]], [0], [ignore])
|
AT_CHECK([[grep 'java.awt.Color' YYParser.java]], [0], [ignore])
|
||||||
AT_CHECK([[$EGREP -v ' */?\*' YYParser.java | grep 'Position']], [1], [ignore])
|
AT_CHECK([[$EGREP -v ' */?\*' YYParser.java | grep 'Position']], [1], [ignore])
|
||||||
@@ -762,7 +762,7 @@ AT_CHECK_JAVA_MINIMAL_W_LEXER([[
|
|||||||
%define stype "java.awt.Color"
|
%define stype "java.awt.Color"
|
||||||
%type<java.awt.Color> start;
|
%type<java.awt.Color> start;
|
||||||
%define api.location.type "MyLoc"
|
%define api.location.type "MyLoc"
|
||||||
%define position_type "MyPos"
|
%define api.position.type "MyPos"
|
||||||
%code { class MyPos {} }]], [], [[return EOF;]], [],
|
%code { class MyPos {} }]], [], [[return EOF;]], [],
|
||||||
[[$$ = $<java.awt.Color>1;]],
|
[[$$ = $<java.awt.Color>1;]],
|
||||||
[[java.awt.Color]], [[MyPos]], [[MyLoc]])
|
[[java.awt.Color]], [[MyPos]], [[MyLoc]])
|
||||||
|
|||||||
Reference in New Issue
Block a user