Package org.languagetool.rules.de
Class SubjectVerbAgreementRule
java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.de.SubjectVerbAgreementRule
public class SubjectVerbAgreementRule
extends org.languagetool.rules.Rule
Check subject verb agreement for verb forms "ist", "sind", "war" and "waren".
For example, it detects the errors in:
- Das Auto sind schnell.
- Das Auto waren schnell.
- Die Autos ist schnell.
- Die Katze und der Hund ist schön.
- Since:
- 2.9
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final German
private static final org.languagetool.chunking.ChunkTag
private static final org.languagetool.chunking.ChunkTag
private static final List
<SubjectVerbAgreementRule.SingularPluralPair> private static final org.languagetool.chunking.ChunkTag
private final GermanTagger
Fields inherited from class org.languagetool.rules.Rule
messages
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
containsOnlyInfinitivesToTheLeft
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) private boolean
containsRegexToTheLeft
(String regex, org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) int
List
<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule> getId()
private String
getPluralFor
(String token) private @Nullable org.languagetool.rules.RuleMatch
getPluralMatchOrNull
(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, String tokenStr, org.languagetool.AnalyzedSentence sentence) private String
getSingularFor
(String token) private @Nullable org.languagetool.rules.RuleMatch
getSingularMatchOrNull
(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, String tokenStr, org.languagetool.AnalyzedSentence sentence) getUrl()
private boolean
hasQuestionPronounToTheLeft
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) private boolean
hasUnknownTokenAt
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos, int endPos) private boolean
hasUnknownTokenToTheLeft
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) private boolean
hasUnknownTokenToTheRight
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) private boolean
hasVerbToTheLeft
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) private boolean
isCurrency
(org.languagetool.AnalyzedTokenReadings token) (package private) boolean
isFollowedByNominativePlural
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) org.languagetool.rules.RuleMatch[]
match
(org.languagetool.AnalyzedSentence sentence) (package private) boolean
prevChunkIsNominative
(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) Methods inherited from class org.languagetool.rules.Rule
addExamplePair, getCategory, getConfigureText, getCorrectExamples, getDefaultValue, getErrorTriggeringExamples, getIncorrectExamples, getLocQualityIssueType, getMaxConfigurableValue, getMinConfigurableValue, getSentenceWithImmunization, hasConfigurableValue, isDefaultOff, isDefaultTempOff, isDictionaryBasedSpellingRule, isOfficeDefaultOff, isOfficeDefaultOn, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setErrorTriggeringExamples, setIncorrectExamples, setLocQualityIssueType, setOfficeDefaultOff, setOfficeDefaultOn, setUrl, supportsLanguage, toRuleMatchArray, useInOffice
-
Field Details
-
NPS
private static final org.languagetool.chunking.ChunkTag NPS -
NPP
private static final org.languagetool.chunking.ChunkTag NPP -
PP
private static final org.languagetool.chunking.ChunkTag PP -
QUESTION_PRONOUNS
-
CURRENCIES
-
PAIRS
-
singular
-
plural
-
ANTI_PATTERNS
-
tagger
-
language
-
-
Constructor Details
-
SubjectVerbAgreementRule
-
-
Method Details
-
getId
- Specified by:
getId
in classorg.languagetool.rules.Rule
-
getDescription
- Specified by:
getDescription
in classorg.languagetool.rules.Rule
-
estimateContextForSureMatch
public int estimateContextForSureMatch()- Overrides:
estimateContextForSureMatch
in classorg.languagetool.rules.Rule
-
getAntiPatterns
public List<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule> getAntiPatterns()- Overrides:
getAntiPatterns
in classorg.languagetool.rules.Rule
-
getUrl
- Overrides:
getUrl
in classorg.languagetool.rules.Rule
-
match
public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence sentence) throws IOException - Specified by:
match
in classorg.languagetool.rules.Rule
- Throws:
IOException
-
getSingularMatchOrNull
@Nullable private @Nullable org.languagetool.rules.RuleMatch getSingularMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, String tokenStr, org.languagetool.AnalyzedSentence sentence) throws IOException - Throws:
IOException
-
getPluralMatchOrNull
@Nullable private @Nullable org.languagetool.rules.RuleMatch getPluralMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, String tokenStr, org.languagetool.AnalyzedSentence sentence) -
isCurrency
private boolean isCurrency(org.languagetool.AnalyzedTokenReadings token) -
prevChunkIsNominative
boolean prevChunkIsNominative(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
hasUnknownTokenToTheLeft
private boolean hasUnknownTokenToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
hasUnknownTokenToTheRight
private boolean hasUnknownTokenToTheRight(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
hasUnknownTokenAt
private boolean hasUnknownTokenAt(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos, int endPos) -
hasQuestionPronounToTheLeft
private boolean hasQuestionPronounToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
hasVerbToTheLeft
private boolean hasVerbToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
containsRegexToTheLeft
private boolean containsRegexToTheLeft(String regex, org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
containsOnlyInfinitivesToTheLeft
private boolean containsOnlyInfinitivesToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) throws IOException - Throws:
IOException
-
isFollowedByNominativePlural
boolean isFollowedByNominativePlural(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) -
getSingularFor
-
getPluralFor
-