mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
java: finish fixing parser stack popping bug.
* NEWS (2.5): Document. * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error in clearing the location stack. Also fix pop function that accepts no arguments.
This commit is contained in:
@@ -1,3 +1,11 @@
|
|||||||
|
2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
|
||||||
|
|
||||||
|
java: finish fixing parser stack popping bug.
|
||||||
|
* NEWS (2.5): Document.
|
||||||
|
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
|
||||||
|
in clearing the location stack. Also fix pop function that
|
||||||
|
accepts no arguments.
|
||||||
|
|
||||||
2011-03-06 Angelo Borsotti <angelo.borsotti@gmail.com> (tiny change)
|
2011-03-06 Angelo Borsotti <angelo.borsotti@gmail.com> (tiny change)
|
||||||
|
|
||||||
java: fix parser stack popping bug.
|
java: fix parser stack popping bug.
|
||||||
|
|||||||
7
NEWS
7
NEWS
@@ -291,7 +291,12 @@ Bison News
|
|||||||
canonical LR. However, LAC is still experimental and is disabled
|
canonical LR. However, LAC is still experimental and is disabled
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
** A location handling bug in the Java skeleton has been fixed.
|
** Java skeleton fixes:
|
||||||
|
|
||||||
|
*** A location handling bug has been fixed.
|
||||||
|
|
||||||
|
*** The top element of each of the value stack and location stack is now
|
||||||
|
cleared when popped so that it can be garbage collected.
|
||||||
|
|
||||||
* Changes in version 2.4.3 (2010-08-05):
|
* Changes in version 2.4.3 (2010-08-05):
|
||||||
|
|
||||||
|
|||||||
@@ -255,14 +255,14 @@ b4_lexer_if([[
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final void pop () {
|
public final void pop () {
|
||||||
height--;
|
pop (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void pop (int num) {
|
public final void pop (int num) {
|
||||||
// Avoid memory leaks... garbage collection is a white lie!
|
// Avoid memory leaks... garbage collection is a white lie!
|
||||||
if (num > 0) {
|
if (num > 0) {
|
||||||
java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
|
java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
|
||||||
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height, null);]])[
|
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
|
||||||
}
|
}
|
||||||
height -= num;
|
height -= num;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user