public PrefixEntry( string strip, string affixText, CharacterConditionGroup conditions, MorphSet morph, FlagSet contClass) : base(strip, affixText, conditions, morph, contClass) { }
public SuffixEntry( string strip, string affixText, CharacterConditionGroup conditions, MorphSet morph, FlagSet contClass) : base(strip, affixText, conditions, morph, contClass) { Key = affixText.GetReversed(); }
protected AffixEntry( string strip, string affixText, CharacterConditionGroup conditions, MorphSet morph, FlagSet contClass) { Strip = strip ?? string.Empty; Append = affixText ?? string.Empty; Conditions = conditions ?? CharacterConditionGroup.Empty; MorphCode = morph ?? MorphSet.Empty; ContClass = contClass ?? FlagSet.Empty; }
public static TEntry Create <TEntry>( string strip, string affixText, CharacterConditionGroup conditions, MorphSet morph, FlagSet contClass) where TEntry : AffixEntry, new() => new TEntry { Strip = strip, Append = affixText, Conditions = conditions, MorphCode = morph ?? MorphSet.Empty, ContClass = contClass ?? FlagSet.Empty };
public static CharacterConditionGroup Parse(string text) { if (string.IsNullOrEmpty(text)) { return(CharacterConditionGroup.Empty); } var match = ConditionParsingRegex.Match(text); if (!match.Success || match.Groups.Count < 2) { return(CharacterConditionGroup.Empty); } var captures = match.Groups[1].Captures; var conditions = new CharacterCondition[captures.Count]; for (var captureIndex = 0; captureIndex < captures.Count; captureIndex++) { conditions[captureIndex] = ParseSingle(captures[captureIndex].Value); } return(CharacterConditionGroup.TakeArray(conditions)); }