Exemplo n.º 1
0
 public PrefixEntry(
     string strip,
     string affixText,
     CharacterConditionGroup conditions,
     MorphSet morph,
     FlagSet contClass)
     : base(strip, affixText, conditions, morph, contClass)
 {
 }
Exemplo n.º 2
0
 public SuffixEntry(
     string strip,
     string affixText,
     CharacterConditionGroup conditions,
     MorphSet morph,
     FlagSet contClass)
     : base(strip, affixText, conditions, morph, contClass)
 {
     Key = affixText.GetReversed();
 }
Exemplo n.º 3
0
 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
 };
Exemplo n.º 5
0
        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));
        }