From 4031b30c23cf27936c217047191f419eeac1a257 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 5 Jun 2014 21:58:03 -0400 Subject: [PATCH 2/3] Support the last stable release of CUP, instead of requiring a beta. Unfortunately, the last stable release (0.10k) predates Java 5, and thus does not support generics. This requires some clever work-arounds. --- build.xml | 25 ++++++++++++++++--------- src/main/java/jflex/IntCharSet.java | 8 ++++---- src/main/java/jflex/IntegerList.java | 14 ++++++++++++++ src/main/java/jflex/IntervalList.java | 14 ++++++++++++++ 4 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 src/main/java/jflex/IntegerList.java create mode 100644 src/main/java/jflex/IntervalList.java diff --git a/build.xml b/build.xml index b4a5124..334d439 100644 --- a/build.xml +++ b/build.xml @@ -4,7 +4,6 @@ - @@ -16,7 +15,7 @@ - + @@ -125,13 +124,21 @@ - - - + + + + + + + + diff --git a/src/main/java/jflex/IntCharSet.java b/src/main/java/jflex/IntCharSet.java index 570c0cb..0f3a7cb 100644 --- a/src/main/java/jflex/IntCharSet.java +++ b/src/main/java/jflex/IntCharSet.java @@ -26,11 +26,11 @@ public final class IntCharSet { private final static boolean DEBUG = false; /* invariant: all intervals are disjoint, ordered */ - private List intervals; + private IntervalList intervals; private int pos; public IntCharSet() { - this.intervals = new ArrayList(); + this.intervals = new IntervalList(); } public IntCharSet(char c) { @@ -44,7 +44,7 @@ public final class IntCharSet { public IntCharSet(List chars) { int size = chars.size(); - intervals = new ArrayList(size); + intervals = new IntervalList(size); for (Interval interval : chars) add(interval); @@ -329,7 +329,7 @@ public final class IntCharSet { return intervals.size(); } - public List getIntervals() { + public IntervalList getIntervals() { return intervals; } diff --git a/src/main/java/jflex/IntegerList.java b/src/main/java/jflex/IntegerList.java new file mode 100644 index 0000000..c793ef9 --- /dev/null +++ b/src/main/java/jflex/IntegerList.java @@ -0,0 +1,14 @@ +package jflex; +import java.util.ArrayList; +import java.util.Collection; +public class IntegerList extends ArrayList { + public IntegerList() { + super(); + } + public IntegerList(Collection c) { + super(c); + } + public IntegerList(int initialCapacity) { + super(initialCapacity); + } +} diff --git a/src/main/java/jflex/IntervalList.java b/src/main/java/jflex/IntervalList.java new file mode 100644 index 0000000..4731832 --- /dev/null +++ b/src/main/java/jflex/IntervalList.java @@ -0,0 +1,14 @@ +package jflex; +import java.util.ArrayList; +import java.util.Collection; +public class IntervalList extends ArrayList { + public IntervalList() { + super(); + } + public IntervalList(Collection c) { + super(c); + } + public IntervalList(int initialCapacity) { + super(initialCapacity); + } +} -- 2.0.0