IEnumerable<ProductionModel> Rule(EbnfRule rule) { var nonTerminal = GetNonTerminalFromQualifiedIdentifier(rule.QualifiedIdentifier); var productionModel = new ProductionModel(nonTerminal); foreach(var production in Expression(rule.Expression, productionModel)) yield return production; yield return productionModel; }
public EbnfBlockRule(EbnfRule rule) { Rule = rule; _hashCode = ComputeHashCode(); }