[pt] Adverbs

Read the error message.

cvc-complex-type.2.4.a: Invalid content was found starting with element ‘suggestion’. One of ‘{filter, message}’ is expected. Problem found at line 7859, column 19.

The <message> is missing.

I have just added the missing line:

<!-- DE FORMA/MODO + ADJ adv -->
<!--      Created by Marco A.G.Pinto, Portuguese rule 2020-10-08 (2-JUL-2020+)     -->
<rule id='DE_FORMA-MODO_ADJ' name="De + forma/modo + Adj -> Advérbio">
  <pattern>
	  <token regexp="no">de</token>
	  <token regexp="yes">forma|modo</token>
      <token postag='AQ0[CFM]S0' postag_regexp='yes'/>
  </pattern>
  <message>Substitua por</message>
  <suggestion><match no='3' postag='AQ0[CFM]S0' postag_regexp='yes' postag_replace='AQ0[CF]S0'/>mente</suggestion>
  <example correction="permanentemente">A Ana foi banida <marker>de forma permanente</marker> por violar as regras.</example>
  <example type='correct'>A Ana foi banida <marker>permanentemente</marker> por violar as regras.</example>
</rule>

But TESTRULES PT still complains about a missing expected error:

Skipped 0 rules for variant language to avoid checking rules more than once
2567 rules tested.
Exception in thread “main” org.languagetool.rules.patterns.PatternRuleTest$PatternRuleTestFailure: Test failure for rule DE_FORMA-MODO_ADJ[1] in file /org/languagetool/rules/pt/grammar.xml: A Ana foi banida de forma permanente por violar as regras."
Errors expected: 1
Errors found : 0
Message: Substitua por
Analyzed token readings: [/SENT_START*] A[o/DA0FS0*] [ /null*] Ana[Ana/NPFS000,Ana/NPFSS00] [ /null*] foi[ir/VMIS3S0,ser/VMIS3S0] [ /null*] banida[banir/VMP00SF] [ /null*] de[de/RG] [ /null*] forma[forma/RG] [ /null*] permanente[permanente/RG] [ /null*] por[por/SPS00] [ /null*] violar[violar/VMN0000,violar/VMSF1S0,violar/VMSF3S0] [ /null*] as[o/DA0FP0] [ /null*] regras[regra/NCFP000] .[./SENT_END*,./_PUNCT*]
Matches:
at org.languagetool.rules.patterns.PatternRuleTest.testBadSentences(PatternRuleTest.java:396)
at org.languagetool.rules.patterns.PatternRuleTest.testGrammarRulesFromXML(PatternRuleTest.java:318)
at org.languagetool.rules.patterns.PatternRuleTest.runTestForLanguage(PatternRuleTest.java:169)
at org.languagetool.rules.patterns.PatternRuleTest.runGrammarRulesFromXmlTestIgnoringLanguages(PatternRuleTest.java:152)
at org.languagetool.rules.patterns.PatternRuleTest.main(PatternRuleTest.java:683)

I have added your rule here with some adjustments in disambiguation and other rules. It only works for adjectives that don’t contain any diacritic mark.

Thank you!

:slight_smile: :slight_smile: :slight_smile: