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); }
private IEnumerable <ProductionModel> Rule(EbnfRule rule) { var nonTerminal = GetQualifiedName(rule.Identifier); var productionModel = ProductionModel.From(nonTerminal); foreach (var production in Expression(rule.Expression, productionModel)) { yield return(production); } yield return(productionModel); }
public EbnfBlockRule(EbnfRule rule) { Rule = rule; _hashCode = ComputeHashCode(); }
public EbnfBlockRule(EbnfRule rule) { Rule = rule; }