CFGLib.Grammar.Grammar C# (CSharp) Method

Grammar() public method

public Grammar ( IEnumerable productions, Nonterminal start ) : System
productions IEnumerable
start Nonterminal
return System
		public Grammar(IEnumerable<Production> productions, Nonterminal start) {
			_productions = new List<Production>(productions);
			this.Start = start;
			
			// if (simplify) {
			SimplifyWithoutInvalidate();
			//}

			_table = Cache.Create(() => Helpers.BuildLookup(
				() => _productions,
				(p) => p.Lhs,
				(p) => p,
				() => (ICollection<Production>)new List<Production>(),
				(x, y) => x.Add(y)
			));
			this.Caches.Add(_table);

			BuildHelpers();
		}