* 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.
(cherry picked from commit
4c2a6e42ba8b6bc4e04985f5ef3ec8926048d4b1)
Conflicts:
data/lalr1.java
+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)
java: fix parser stack popping bug.
canonical LR. However, LAC is still experimental and is disabled
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):
}
public final void pop () {
- height--;
+ pop (1);
}
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 + 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;
}