public Sentence ApplySubstitution(Sentence startSentence, Substitution substitution) { var result = new Sentence(startSentence.Expression); result.ApplySubstitution(substitution); return(result); }
public void AddSubstitution(Substitution substitution) { //if (_substitutions.Any(s => s.Symbol == substitution.Symbol && s.Sentence == substitution.Sentence)) // throw new TinyGrammarException("Substitution already present."); if (!_symbols.Contains(substitution.Symbol)) { AddSymbol(substitution.Symbol); } _substitutions.Add(substitution); }
public void ApplySubstitution(Substitution substitution) { Expression = _helper.Replace(Expression, substitution.Symbol.Name, substitution.Sentence.Expression); }