X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FParser.java;h=8af800585900246ae930d78bcf1f63dc73f18737;hp=a3730b6b4b6c6dde44858e8bac5ea23fa10dc429;hb=eeb3a8b49bdbf753b5a70734fbae7f2c1ac06702;hpb=61a0c83fd40b98292b2dfe1eaba237eb804b2cb4 diff --git a/src/edu/berkeley/sbp/Parser.java b/src/edu/berkeley/sbp/Parser.java index a3730b6..8af8005 100644 --- a/src/edu/berkeley/sbp/Parser.java +++ b/src/edu/berkeley/sbp/Parser.java @@ -106,7 +106,7 @@ public abstract class Parser { // Table ////////////////////////////////////////////////////////////////////////////// /** an SLR(1) parse table which may contain conflicts */ - class Table extends Grammar { + class Table extends Grammar implements Serializable { /** the start state */ final State start; @@ -118,13 +118,13 @@ public abstract class Parser { private int master_state_idx = 0; /** all the states for this table */ - HashSet> all_states = new HashSet>(); + private transient HashSet> all_states = new HashSet>(); /** all the doomed states in this table */ - HashMap,State> doomed_states = new HashMap,State>(); + private transient HashMap,State> doomed_states = new HashMap,State>(); /** all the non-doomed states in this table */ - HashMap,State> normal_states = new HashMap,State>(); + private transient HashMap,State> normal_states = new HashMap,State>(); Topology emptyTopology() { return Parser.this.emptyTopology(); } @@ -263,10 +263,10 @@ public abstract class Parser { * space+time complexity in otherwise simple grammars. There * is an example of this in the regression suite. */ - class State implements IntegerMappable, Iterable { + class State implements IntegerMappable, Serializable { public final int idx = master_state_idx++; - private final HashSet hs; + private final transient HashSet hs; public HashSet> conjunctStates = new HashSet>(); HashMap> gotoSetNonTerminals = new HashMap>();