public void Contains() { State s = new State(); Item item = new Item(new Production(), s); Assert.IsFalse(s.Contains(item)); s.Add(item); Assert.IsTrue(s.Contains(item)); }
private void Predictor( State state, Item item, IDictionary<Production,IList<Item>> completedNullable) { Debug.Assert(!item.AtEnd && item.Symbol is Nonterminal); Nonterminal nt = item.Symbol as Nonterminal; foreach (Production p in nt.Productions) { Item newItem = new Item(p, state); if (!state.Contains(newItem)) { state.Add(newItem); ShiftCompletedNullable(state, newItem, completedNullable); } } }