X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FSequence.java;h=975b2b11802575d307372cc90b8445835e2e46da;hp=5ee8433431ef5d25137fead50bdb7a8debedd86a;hb=b8a597c8d1a29afc24f9b89f726d5b1a9b9aeec1;hpb=0e17670bcfa7b0fe8eb3a2cac81f4b080a09fc98 diff --git a/src/edu/berkeley/sbp/Sequence.java b/src/edu/berkeley/sbp/Sequence.java index 5ee8433..975b2b1 100644 --- a/src/edu/berkeley/sbp/Sequence.java +++ b/src/edu/berkeley/sbp/Sequence.java @@ -19,8 +19,7 @@ public abstract class Sequence extends Element implements Iterable { final Position firstp; - public Atom follow = null; - public final Topology follow() { return follow; } + Atom follow = null; // Static Constructors ////////////////////////////////////////////////////////////////////////////// @@ -63,6 +62,7 @@ public abstract class Sequence extends Element implements Iterable { public Sequence and(Sequence s) { Sequence ret = dup(); ret.needs.add(s); return ret; } public Sequence not(Sequence s) { Sequence ret = dup(); ret.hates.add(s); s.hated.add(ret); return ret; } + public Sequence followedBy(Atom a) { Sequence ret = dup(); ret.follow = a; return ret; } public Iterable needs() { return needs; } public Iterable hates() { return hates; } @@ -90,7 +90,7 @@ public abstract class Sequence extends Element implements Iterable { // Position ////////////////////////////////////////////////////////////////////////////// /** the imaginary position before or after an element of a sequence; corresponds to an "LR item" */ - public class Position implements IntegerMappable { + class Position implements IntegerMappable { private Forest zero = null; public Forest zero() {