CFGLib.Parsers.Forests.ForestOption.BuildChildren C# (CSharp) Method

BuildChildren() private method

private BuildChildren ( ) : List
return List
		private List<ForestNode[]> BuildChildren() {
			var count = _family.Production.Rhs.Count;
			if (count == 0) {
				if (_family.Members.Count != 1) {
					throw new Exception();
				}
				var leaf = new ForestLeaf((EpsilonNode)_family.Members[0]);
				return new List<ForestNode[]> { new ForestNode[1] { leaf } };
			}
			var start = new ForestNode[count];
			var startList = new List<ForestNode[]> { start };
			BuildChildrenHelper(_family, startList, _family.Production.Rhs, count - 1);
			return startList;
		}