java: fix parser stack popping bug.

Reported at
<http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
* THANKS (Angelo Borsotti): Add.
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
in clearing the value stack.  Previously, the top element of the
stack wasn't cleared and so the value was not garbage collected.
(cherry picked from commit 6f75992be5)

Conflicts:

	data/lalr1.java
This commit is contained in:
Angelo Borsotti
2011-03-06 22:19:18 -05:00
committed by Joel E. Denny
parent 15e46f2df4
commit 3f8ffd15ee
3 changed files with 12 additions and 1 deletions

View File

@@ -303,7 +303,7 @@ b4_lexer_if([[
public final void pop (int num) {
// Avoid memory leaks... garbage collection is a white lie!
if (num > 0) {
java.util.Arrays.fill (valueStack, height - num + 1, height, 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);]])[
}
height -= num;