CFGLib.CFGtoCNF.StepUnit C# (CSharp) 메소드

StepUnit() 개인적인 메소드

Eliminate unit rules (e.g., <X> -> <Y>)
private StepUnit ( ISet productions ) : void
productions ISet
리턴 void
		private void StepUnit(ISet<Production> productions) {
			// TODO: maybe we shouldn't allow self loops?
			RemoveSelfLoops(productions);

			var toRemove = BaseGrammar.RemoveDuplicatesHelper(productions);
			foreach (var production in toRemove) {
				productions.Remove(production);
			}

			var finalProductions = RemoveUnits(productions);
			productions.Clear();
			productions.UnionWith(finalProductions);
		}