Beispiel #1
0
 /// <summary>
 /// Determines if two IAdverbial instances are similar.
 /// </summary>
 /// <param name="first">The first IAdverbial</param>
 /// <param name="second">The second IAdverbial</param>
 /// <returns><c>true</c> if the given IAdverbial instances are similar; otherwise, <c>false</c>.</returns>
 public static Similarity IsSimilarTo(this IAdverbial first, IAdverbial second) => Similarity.FromBoolean(
     Equals(first, second) ||
     first.Text.EqualsIgnoreCase(second.Text) ||
     first.Match()
     .Case((Adverb a1) =>
           second.Match()
           .Case((Adverb a2) => a1.IsSimilarTo(a2))
           .Case((AdverbPhrase ap2) => ap2.IsSimilarTo(a1))
           .Result())
     .Case((AdverbPhrase ap1) =>
           second.Match()
           .Case((AdverbPhrase ap2) => ap1.IsSimilarTo(ap2))
           .Case((Adverb a2) => ap1.IsSimilarTo(a2))
           .Result())
     .Result());
Beispiel #2
0
 /// <summary>
 /// Attaches an Adverbial construct, such as an Adverb or AdverbPhrase, as a modifier of the Verb.
 /// </summary>
 /// <param name="modifier">The Adverbial construct by which to modify the AdjectivePhrase.</param>
 public void ModifyWith(IAdverbial modifier)
 {
     modifiers         = modifiers.Add(modifier);
     modifier.Modifies = this;
 }
Beispiel #3
0
 public void ModifyWith(IAdverbial modifier) => adverbialModifiers = adverbialModifiers.Add(modifier);
Beispiel #4
0
 /// <summary>
 /// Attaches an Adverbial construct, such as an Adverb or AdverbPhrase, as a modifier of the AdjectivePhrase.
 /// </summary>
 /// <param name="modifier">The Adverbial construct by which to modify the AdjectivePhrase.</param>
 public virtual void ModifyWith(IAdverbial modifier)
 {
     adverbialModifiers.Add(modifier);
     modifier.Modifies = this;
 }
Beispiel #5
0
 /// <summary>
 /// Creates a Newtonsoft.Linq.JObject representation of the Adverbial.
 /// </summary>
 /// <param name="adverbial">The source Adverbial.</param>
 /// <returns>A Newtonsoft.Linq.JObject representation of the Adverbial.</returns>
 public static JObject ToJObject(this IAdverbial adverbial) => new JObject(GetRoleIndependentProperties(adverbial))
 {
     new JProperty("modifies", adverbial.Modifies)
 };