public override void ProcessSentence(Sentence sentence) { _sentence = sentence; Debug.Assert(sentence.ElementList != null); Debug.Assert(sentence.ElementList.Count > 0); foreach (var word in sentence.ElementList.FindAll(x => (x.SyntacticRole.Value == SyntacticRole.DirectObject.Value && !(x.SurfaceSlot.Value == SurfaceSlot.ClauseInfinitiveForModalVerbs.Value) && !(x.SurfaceSlot.Value == SurfaceSlot.ClauseInfinitiveControl.Value) ) || x.SyntacticRole.Value == SyntacticRole.IndirectObject.Value || (x.SyntacticRole.Value == SyntacticRole.NonConcordantAttr.Value && ( x.SurfaceSlot.Value == SurfaceSlot.GenitivePostModifier.Value || x.SurfaceSlot.Value == SurfaceSlot.IdiomaticNominalGenitivePostmodifier.Value ) ) || ( (x.GrammarInfo.PartOfSpeech.Value == GrammarInfoPartOfSpeech.Noun.Value) && !(x.GrammarInfo.Case.Value == GrammarInfoCase.Nominative.Value) && (x.SurfaceSlot.Value == SurfaceSlot.RelativeGroup.Value) ) )) { Stage1ResultElement item = new Stage1ResultElement(); item.CopyFromSourceWord(word); Result.Items.Add(item); } }
public override void ProcessSentence(Sentence sentence) { _sentence = sentence; Debug.Assert(sentence.ElementList != null); Debug.Assert(sentence.ElementList.Count > 0); foreach (SentenceElement word in sentence.ElementList.FindAll(x => (x.SyntacticRole.Value == SyntacticRole.Predicate.Value) & !(x.SurfaceSlot.Value == SurfaceSlot.InternalFiniteVerb.Value))) { Stage1ResultElement item = new Stage1ResultElement(); item.CopyFromSourceWord(word); Result.Items.Add(item); } }
public override void ProcessSentence(Sentence sentence) { _sentence = sentence; Debug.Assert(sentence.WordList != null); Debug.Assert(sentence.WordList.Count > 0); foreach (SentenceWord word in sentence.WordList.FindAll(x => x.DOM == SentenceWord.DOMRoot || x.Link.Value == LinkType.SentSoch.Value || x.Link.Value == LinkType.PodchSouz.Value || x.Link.Value == LinkType.InfSouz.Value || x.Link.Value == LinkType.Eksplet.Value || x.Link.Value == LinkType.Relyat.Value )) { Stage1ResultElement item = new Stage1ResultElement(); item.CopyFromSourceWord(word); Result.Items.Add(item); } }