CFGLib.CFGtoCNF.RemoveExtraneousNulls C# (CSharp) Method

RemoveExtraneousNulls() private method

Remove <A> -> ε unless A is the start symbol
private RemoveExtraneousNulls ( List productions ) : void
productions List
return void
		private void RemoveExtraneousNulls(List<Production> productions) {
			if (productions.Count == 0) {
				return;
			}
			for (int i = productions.Count - 1; i >= 0; i--) {
				var production = productions[i];
				if (production.Lhs == _startSymbol) {
					continue;
				}
				if (production.IsEmpty) {
					productions.RemoveAt(i);
				}
			}
		}