protected virtual void PopulateSkipList() { for (int i = 0; i < TargetGrammar.Count; i++) { Rule r = TargetGrammar[i]; AdvanceableRule rul = new AdvanceableRule(r.Name); for (int j = 0; j < r.Count; j++) { if (!r[j][0].Equals(r.Name)) { rul.Add(advProds[r[j]]); } } skipList.Add(r.Name, rul); } }
protected virtual void PopulateInitialListings() { for (int i = 0; i < TargetGrammar.Count; i++) { Rule r = TargetGrammar[i]; if (!initialListing.ContainsKey(r)) { var tmp = new AdvanceableRule(r.Name); for (int j = 0; j < r.Count; j++) { tmp.Add(advProds[r[j]]); } initialListing.Add(r, tmp); } } }