Permalink
Fetching contributors…
Cannot retrieve contributors at this time
1856 lines (1803 sloc) 96.8 KB
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" title="Pretty print" ?>
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?>
<!--
Italian Grammar and Typo Rules for LanguageTool
Copyright (C) 2006 Marcin Miłkowski
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-->
<!--
================================================================================
Italian Grammar and Style Rules for Italian
Paolo Bianchini
================================================================================
Categorie delle regole
gruppi delle regole ID stato
============================================== =============== ===============
Grammatica - Aggettivi GR_01
uso corretto GR_01_01 add more
Grammatica - Articoli GR_02
uso corretto GR_02_001 ok
Grammatica - Concordanza GR_03
tra genere e numero GR_03_001 to do
tra soggetto e verbo GR_03_002 to do
Grammatica - Elisioni e troncamenti GR_04
apocopi vocaliche GR_04_001 add more
elisioni GR_04_002 add more
Grammatica - Frase GR_05
altri elementi GR_05_001 to do
struttura GR_05_002 add more
Grammatica - Maiuscole GR_06
uso corretto GR_06_001 not needed?
Grammatica - Preposizioni GR_07
uso corretto GR_07_001 add more
Grammatica - Pronomi GR_08
uso corretto GR_08_001 to do
Grammatica - Punteggiatura GR_09
asterischi di omissione (***) GR_09_001 ok
puntini di sospensione (...) GR_09_002 ok
ripetizioni GR_09_003 ok
sigle GR_09_004 ok
Grammatica - Verbi GR_10
concordanza tempi delle coordinate GR_10_001 ok
concordanza tempi delle subordinate GR_10_002 to do
uso del congiuntivo GR_10_003 add more
uso corretto GR_10_004 add more
Stile - Espressioni ST_01
arcaiche ST_01_001 to do
parlato ST_01_002 add more
pleonasmi ST_01_003 add more
regionali ST_01_004 add more
straniere ST_01_005 add more
uso errato ST_01_006 to do
Stile - Frase ST_02
frasi lunghe ST_02_001 ok
Stile - Leggibilità ST_03
eufoniche ST_03_001 ok
ripetizioni ST_03_002 ok
Stile - Numeri ST_04
in cifre se minori di 10 ST_04_001 ok
in cifre se minori di 100 ST_04_002 ok
Ulteriori errori comuni - avere ER_01 ok
Ulteriori errori comuni - ortografia ER_02 ok
================================================================================
-->
<!--
================================================================================
Fixes
======== ===================================================================================
PB001 Removed prepositions and two letter words in repetition check
PB002 Added some preposition usage checks (moved a gratis rule)
2957133 name/article concordance (un vs uno)
PB003 Added rule for checking the use of adverbs instead of adjectives
PB004 Added rule for attimino and momentino in stile-parlato
PB005 Fixed rule for dà to exclude "se da" pattern voted as useless
PB006 Fixed rule for false positives in past tense concordance GR_10_001
PB007 Added check for person in tense concordance GR_10_* overrides PB006
PB008 Added rules to check the use of "congiuntivo"
PB009 Created uso corretto under verbs and added adire vie legali
PB010 Reworked repetition rule ST_03_002
PB011 Reworked rule GR_04_002 exteneded to all words ending with à|è|é|ì|ò|ù
PB012 Added exception for article of the word "dei"
3609558 False positive in rule ER_02_002 'al'-'la'
3610220 False positive in 'per lo meno' for rule GR_02_001 changed so that adv are skipped
3610360 False positive in dates for rule ST_04_001 fixes also 3611066
3610289 False positive il artice for word "Signore"
182 False positive in 'ai peccati' suggests 'hai'
181 Don't apply word repetition rule on 'via via' and 'così così'
180 Fix some false positives in al for la
PB013 Added ma però rule
PB014 We don't need the skip in article rules since we are unifying adj and noun
======== ==================================================================================
-->
<rules lang="it" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd">
<!-- GRAMMATICA AGGETTIVI - GR_01 -->
<category id="CAT1" name="Grammatica - Aggettivi">
<rulegroup name="uso corretto" id="GR_01_001">
<!-- PB003 + -->
<!-- meglio -->
<rule>
<pattern>
<token>meglio</token>
<token postag="(NOUN-M.s)|(NOUN-F.s)" postag_regexp="yes"/>
</pattern>
<message>Non utilizzare un avverbio in luogo di un aggettivo: <suggestion><match no="2"/> migliore</suggestion>.</message>
<example correction="occasione migliore">Bisogna cogliere la <marker>meglio occasione</marker>.</example>
<example>Bisogna cogliere l'<marker>occasione migliore</marker>.</example>
</rule>
<rule>
<pattern>
<token>meglio</token>
<token postag="(NOUN-M.p)|(NOUN-F.p)" postag_regexp="yes"/>
</pattern>
<message>Non utilizzare un avverbio in luogo di un aggettivo: <suggestion><match no="2"/> migliori</suggestion>.</message>
<example correction="occasioni migliori">Bisogna cogliere le <marker>meglio occasioni</marker>.</example>
</rule>
<!-- peggio -->
<rule>
<pattern>
<token>peggio</token>
<token postag="(NOUN-M.s)|(NOUN-F.s)" postag_regexp="yes"/>
</pattern>
<message>Non utilizzare un avverbio in luogo di un aggettivo: <suggestion><match no="2"/> peggiore</suggestion>.</message>
<example correction="figura peggiore">Evitiamo di fare una <marker>peggio figura</marker>.</example>
</rule>
<rule>
<pattern>
<token>peggio</token>
<token postag="(NOUN-M.p)|(NOUN-F.p)" postag_regexp="yes"/>
</pattern>
<message>Non utilizzare un avverbio in luogo di un aggettivo: <suggestion><match no="2"/> peggiori</suggestion>.</message>
<example correction="figure peggiori">Evitiamo di fare delle <marker>peggio figure</marker>.</example>
</rule>
<!-- PB003 - -->
</rulegroup>
</category>
<!-- GRAMMATICA ARTICOLI - GR_02 -->
<category id="CAT2" name="Grammatica - Articoli">
<rulegroup name="uso corretto" id="GR_02_001">
<!-- la -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">il|lo|i|gli|le</token></marker -->
<marker><token regexp="yes">il|lo|i|gli|le</token></marker>
<token postag="(NOUN-F.s)|(ADJ.*\+f\+s)" postag_regexp="yes"><exception postag="(NOUN-F.p)|(ADJ.*\+f\+p)|(NOUN-M.s)|(ADJ.*\+m\+s)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>la</suggestion>.</message>
<example correction="la">Vidi <marker>il</marker> mucca pascolare nel campo.</example>
</rule>
<!-- le -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">il|lo|i|gli|la</token></marker -->
<marker><token regexp="yes">il|lo|i|gli|la</token></marker>
<token postag="(NOUN-F.p)|(ADJ.*\+f\+p)" postag_regexp="yes"><exception postag="(NOUN-F.s)|(ADJ.*\+f\+s)|(NOUN-M.p)|(ADJ.*\+m\+p)(ADV)" postag_regexp="yes"/>
<!-- 3610289 + -->
<exception regexp="yes">(?-i)Signore</exception>
<!-- 3610289 - -->
</token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>le</suggestion>.</message>
<example correction="le">Vidi <marker>il</marker> mucche pascolare nel campo.</example>
</rule>
<!-- una -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">un|uno</token></marker -->
<marker><token regexp="yes">un|uno</token></marker>
<token postag="(NOUN-F.s)|(ADJ.*\+f\+s)" postag_regexp="yes"><exception postag="(NOUN-F.p)|(ADJ.*\+f\+p)|(NOUN-M.s)|(ADJ.*\+m\+s)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>una</suggestion>.</message>
<example correction="una">Vidi <marker>un</marker> mucca pascolare nel campo.</example>
<example>Vidi <marker>una</marker> mucche pascolare nel campo.</example>
</rule>
<!-- il -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">lo|la|i|gli|le</token></marker -->
<marker><token regexp="yes">lo|la|i|gli|le</token></marker>
<token postag="(NOUN-M.s)|(ADJ.*\+m\+s)" postag_regexp="yes" regexp="yes">[bcdfghlmnpqrstv][aeiou].*|[bcdfglmnqrtv][bcdfglmnpqrtv].*<exception postag="(NOUN-M.p)|(ADJ.*\+m\+p)|(NOUN-F.s)|(ADJ.*\+f\+s)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>il</suggestion>.</message>
<example correction="il">Quanto costa <marker>lo</marker> vino?</example>
</rule>
<!-- i -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">lo|la|il|gli|le</token></marker -->
<marker><token regexp="yes">lo|la|il|gli|le</token></marker>
<token postag="(NOUN-M.p)|(ADJ.*\+m\+p)" postag_regexp="yes" regexp="yes">[bcdfghlmnpqrstv][aeiou].*|[bcdfglmnqrtv][bcdfglmnpqrtv].*<exception postag="(NOUN-M.s)|(ADJ.*\+m\+s)|(NOUN-F.p)|(ADJ.*\+f\+p)|(ADV)" postag_regexp="yes"/>
<!-- PB0012 + -->
<exception>dei</exception>
<!-- PB0012 - -->
</token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>i</suggestion>.</message>
<example correction="i">Hai fatto <marker>le</marker> compiti?</example>
</rule>
<!-- un -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">uno|una</token></marker -->
<marker><token regexp="yes">uno|una</token></marker>
<token postag="(NOUN-M.s)|(ADJ.*\+m\+s)" postag_regexp="yes" regexp="yes">[bcdfghlmnpqrstv][aeiou].*|[bcdfghlmnqrtv][bcdfghlmnpqrtv].*<exception postag="(NOUN-M.p)|(ADJ.*\+m\+p)|(NOUN-F.s)|(ADJ.*\+f\+s)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>un</suggestion>.</message>
<example correction="un">Mi insegni <marker>uno</marker> trucco?</example>
</rule>
<!-- lo -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">i|la|il|gli|le</token></marker -->
<marker><token regexp="yes">i|la|il|gli|le</token></marker>
<token postag="(NOUN-M.s)|(ADJ.*\+m\+s)" postag_regexp="yes" regexp="yes">[zx].*|s[bcdfghlmnpqrstv].*|p[ns].*|gn.*|[iy][aeiou].*<exception postag="(NOUN-M.p)|(ADJ.*\+m\+p)|(NOUN-F.s)|(ADJ.*\+f\+s)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>lo</suggestion>.</message>
<example correction="lo">Ho forato <marker>il</marker> pneumatico.</example>
<example>Hai forato <marker>lo</marker> pneumatico.</example>
</rule>
<!-- gli -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">i|la|il|lo|le</token></marker -->
<marker><token regexp="yes">i|la|il|lo|le</token></marker>
<token postag="(NOUN-M.p)|(ADJ.*\+m\+p)" postag_regexp="yes" regexp="yes">[zx].*|s[bcdfghlmnpqrstv].*|p[ns].*|gn.*|[iy][aeiou].*<exception postag="(NOUN-M.s)|(ADJ.*\+m\+s)|(NOUN-F.p)|(ADJ.*\+f\+p)|(ADV)" postag_regexp="yes"/></token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>gli</suggestion>.</message>
<example correction="gli">Come raccontano <marker>i</marker> storici...</example>
</rule>
<!-- uno -->
<rule>
<pattern>
<!-- PB014 marker><token skip="1" regexp="yes">un|una</token></marker -->
<marker><token regexp="yes">un|una</token></marker>
<!-- 2957133 + -->
<!--
<token postag="NOUN-M.s" postag_regexp="yes" regexp="yes">[zx].*|s[bcdfghlmnpqrstv].*|p[ns].*|[gn].*|[iy][aeiou].*<exception postag="(NOUN-M.p)|(NOUN-F.s)" postag_regexp="yes"/></token>
-->
<token postag="(NOUN-M.s)|(ADJ.*\+m\+s)" postag_regexp="yes" regexp="yes">[zx].*|s[bcdfghlmnpqrstv].*|p[ns].*|gn.*|[iy][aeiou].*<exception postag="(NOUN-M.p)|(ADJ.*\+m\+p)|(NOUN-F.s)|(ADJ.*\+f\+s)|(ADV)" postag_regexp="yes"/></token>
<!-- 2957133 - -->
</pattern>
<message>L'articolo non concorda, usare: <suggestion>uno</suggestion>.</message>
<example correction="uno">Devi andare da <marker>un</marker> psicologo.</example>
</rule>
<!-- PB012 + -->
<!-- gli dei-->
<rule>
<pattern>
<marker><token regexp="yes">i|la|il|lo|le</token></marker>
<token>dei</token>
</pattern>
<message>L'articolo non concorda, usare: <suggestion>gli</suggestion>.</message>
<example correction="gli">Adoravano <marker>i</marker> dei del suono.</example>
</rule>
<!-- PB012 - -->
</rulegroup>
</category>
<!-- GRAMMATICA CONCORDANZA - GR_03 -->
<!-- category name="Grammatica - Concordanza"> -->
<!-- TO DO <rulegroup name="tra genere e numero" id="GR_03_001">
</rulegroup>
<rulegroup name="tra soggetto e verbo" id="GR_03_002">
</rulegroup>
</category> -->
<!-- GRAMMATICA ELSIONI E TRONCAMENTI - GR_04 -->
<category id="CAT3" name="Grammatica - Elisioni e troncamenti">
<rulegroup name="apocopi vocaliche" id="GR_04_001">
<!-- Qual è -->
<rule>
<pattern case_sensitive="no">
<token>qual</token>
<token>'</token>
<token>è</token>
</pattern>
<message>L'apostrofo non è richiesto in quanto non si tratta di elisione: <suggestion>qual è</suggestion>.</message>
<example correction="qual è">Da professionista <marker>qual'è</marker>.</example>
</rule>
<!-- Un altro-->
<rule>
<antipattern>
<marker>
<token regexp="yes">['’]</token>
<token min="0" regexp="yes">[«"“]|assai</token>
<token postag=".*[:+-][Ff][:+-][Ss]" postag_regexp="yes"/>
</marker>
</antipattern>
<pattern>
<token regexp="yes">nessun|un|alcun|buon</token>
<token regexp="yes">['’]</token>
<token postag=".*[:+-][Mm][:+-][Ss]" postag_regexp="yes"></token>
</pattern>
<message>Non si usa l'apostrofo se la parola che segue è maschile.</message>
<suggestion>\1 \3</suggestion>
<url>http://www.treccani.it/enciclopedia/apostrofo_(La-grammatica-italiana)/</url>
<example correction="nessun altro">Solo noi possiamo farlo, e <marker>nessun'altro</marker>, e dobbiamo agire in modo molto rapido.</example>
<example>Tuttavia, a mio avviso, l'unica soluzione è lasciar decidere al popolo e a nessun altro!</example>
<example>Un’isola, alcun’amica, buon’anima.</example>
<example>Un'interprete.</example> <!--maschile e femminile-->
<example>un'«unghia»</example>
</rule>
</rulegroup>
<rulegroup name="Elisioni" id="GR_04_002">
<!-- togli togli di metti d' -->
<rule>
<pattern>
<token>di</token>
<token regexp="yes">i.*</token>
</pattern>
<message>Si consiglia di sostituire la preposizione di con la forma apostrofata <suggestion>d'<match no="2"/></suggestion></message>
<example correction="d'informazioni">Ho bisogno <marker>di informazioni</marker>.</example>
</rule>
<!-- e' -->
<rule>
<pattern case_sensitive="yes">
<token>e</token>
<token>'</token>
</pattern>
<message>Si suggerisce di non usare l'apostrofo per scrivere il verbo essere: <suggestion>è</suggestion>.</message>
<example correction="è">L'uva <marker>e'</marker> sul tavolo.</example>
</rule>
<!-- perche' -->
<rule>
<pattern>
<!-- PB011 + -->
<!-- token regexp="yes">perché|poiché|affinché|giacché|finché|altroché</token -->
<token regexp="yes">.*[àèéìòù]</token>
<!-- PB011 - -->
<token>'</token>
</pattern>
<message>Togliere l'apostrofo in quanto la parola è già accentata: <suggestion><match no="1"/></suggestion>.</message>
<example correction="perché">Ve lo dico solo <marker>perché'</marker> mi siete simpatici.</example>
</rule>
<!-- E' -->
<rule>
<pattern case_sensitive="yes">
<token>E</token>
<token>'</token>
</pattern>
<message>Si suggerisce di non usare l'apostrofo per il verbo essere: <suggestion>È</suggestion>.</message>
<example correction="È"><marker>E'</marker> un peccato!</example>
</rule>
<!-- da' -->
<rule>
<pattern>
<token>da</token>
<token>'</token>
</pattern>
<message>Non utilizzare l'apostrofo per accentare: <suggestion>dà</suggestion>.</message>
<example correction="">Mi <marker>da'</marker> una mano per favore?</example>
</rule>
</rulegroup>
</category>
<!-- GRAMMATICA FRASE - GR_05 -->
<category id="CAT4" name="Grammatica - Frase">
<!-- TO DO <rulegroup name="altri elementi" id="GR_05_001">
</rulegroup> -->
<rulegroup name="struttura" id="GR_05_002">
<!-- non iniziare la frase con una congiunzione -->
<rule>
<pattern>
<token postag="SENT_START"/>
<token postag="CON"/>
</pattern>
<message>Si consiglia di non iniziare una frase con una congiunzione.</message>
<example correction=""><marker>E</marker> non si capisce il perché di tanta paura.</example>
<example><marker/>Non si capisce il perché di tanta paura.</example>
</rule>
</rulegroup>
</category>
<!-- GRAMMATICA MAIUSCOLE - GR_06
<category id="CATx" name="Grammatica - Maiuscole"> -->
<!-- TO DO <rulegroup name="uso corretto" id="GR_06_001">
</rulegroup>
</category> -->
<!-- GRAMMATICA PREPOSIZIONI - GR_07 -->
<category id="CAT5" name="Grammatica - Preposizioni">
<rulegroup id="ARTICOLATA_SOSTANTIVO" name="Concordanza preposizione articolata - sostantivo">
<rule>
<pattern>
<token postag='ARTPRE-M:p'/>
<token postag='NOUN-M:s'><exception postag="NOUN-M:p"/></token>
</pattern>
<message>La preposizione articolata non concorda con il sostantivo che la segue</message>
<example type="correct">Il libro <marker>degli amici</marker>.</example>
<example type="incorrect">Il libro <marker>degli amico</marker></example>
</rule>
<rule>
<pattern>
<token postag='ARTPRE-M:s'/>
<token postag='NOUN-M:p'><exception postag="NOUN-M:s"/></token>
</pattern>
<message>La preposizione articolata non concorda con il sostantivo che la segue</message>
<example type="correct">Il libro <marker>dell'amico amici</marker>.</example>
<example type="incorrect">Il libro <marker>dello amici</marker></example>
</rule>
<rule>
<pattern>
<token postag='ARTPRE-F:p'/>
<token postag='NOUN-F:s'><exception postag="NOUN-F:p"/></token>
</pattern>
<message>La preposizione articolata non concorda con il sostantivo che la segue</message>
<example type="correct">Il libro <marker>dell'amica</marker>.</example>
<example type="incorrect">Il libro <marker>delle amica</marker></example>
</rule>
<rule>
<pattern>
<token postag='ARTPRE-F:s'/>
<token postag='NOUN-F:p'><exception postag="NOUN-F:s"/></token>
</pattern>
<message>La preposizione articolata non concorda con il sostantivo che la segue</message>
<example type="correct">Il libro <marker>dell'amica</marker>.</example>
<example type="incorrect">Il libro <marker>della amiche</marker></example>
</rule>
</rulegroup>
<rule id="CONCORDANZA_PREPOSIZIONE" name="Concordanza preposizione articolata maschile - genere parola seguente">
<pattern case_sensitive='yes'>
<token regexp='yes'>del|al|dal|nel|sul</token>
<token regexp='yes'>[^A-Z].*i|[a-z].*a
<exception>sistema</exception>
<exception>pianeta</exception>
<exception>programma</exception>
<exception>cinema</exception>
<exception>panorama</exception>
<exception>tema</exception>
<exception>patriarca</exception>
</token>
</pattern>
<message>Concordanza preposizione articolata maschile - genere parola seguente</message>
<example correction=''>leader <marker>sul prodotti</marker></example>
<example>leader sui prodotti</example>
</rule>
<rulegroup name="uso corretto" id="GR_07_001">
<!-- da -->
<rule>
<pattern>
<token postag_regexp="yes" postag="VER:ind.*"/>
<marker>
<token>dà</token>
</marker>
</pattern>
<message>Probabilmente si scrive senza accento: <suggestion>da</suggestion>.</message>
<example correction="da">Vengo <marker>dà</marker> Roma.</example>
</rule>
<!-- PB002+ -->
<!-- assolvere a... -->
<rule>
<pattern>
<token regexp="yes">assolv.*|assols.*|assolt.*</token>
<marker>
<token>a</token>
</marker>
</pattern>
<message>Non si assolve a qualcosa, si assolve qualcosa. Rimuovere a <suggestion/></message>
<example correction="">Assolvere <marker>a</marker> un compito.</example>
<example>Assolvere<marker/> un compito.</example>
</rule>
<!-- interessarsi a... -->
<rule>
<pattern>
<token regexp="yes">mi|ti|si|ci|vi</token>
<token regexp="yes">interes.*</token>
<marker>
<token regexp="yes">a|al|ai</token>
</marker>
</pattern>
<message>Non ci si interessa a ma ci si interessa <suggestion>di</suggestion>...</message>
<example correction="di">Mi interesso <marker>al</marker> calcio.</example>
</rule>
<rule>
<pattern>
<token regexp="yes">interessar[mtscv]i</token>
<marker>
<token regexp="yes">a|al|ai</token>
</marker>
</pattern>
<message>Non ci si interessa a ma ci si interessa <suggestion>di</suggestion>...</message>
<example correction="di">Interessarsi <marker>al</marker> calcio.</example>
</rule>
<!-- promuovere a... -->
<rule>
<pattern>
<token regexp="yes">promuov.*|promoss.*</token>
<marker>
<token>a</token>
</marker>
</pattern>
<message>Non si promuove a qualcosa, si promuove qualcosa. Rimuovere a <suggestion/></message>
<example correction="">Fui promosso <marker>a</marker> direttore.</example>
<example>Fui promosso<marker/> direttore.</example>
</rule>
<!-- insistere a... -->
<rule>
<pattern>
<token regexp="yes">insist.*</token>
<marker>
<token>a</token>
</marker>
</pattern>
<message>Non si insiste a, si insiste <suggestion>nel</suggestion></message>
<example correction="nel">Insisto <marker>a</marker> dire che è così.</example>
</rule>
<!-- a gratis -->
<rule>
<pattern case_sensitive="no">
<token>a</token>
<token>gratis</token>
</pattern>
<message>Si scrive <suggestion>gratis</suggestion> (senza la preposizione).</message>
<example correction="gratis">Ovviamente... è tutto <marker>a gratis</marker>!</example>
</rule>
<!-- a nome Giuliano -->
<rule>
<pattern>
<marker>
<token>a</token>
<token>nome</token>
</marker>
<token postag="NPR"/>
</pattern>
<message>La forma corretta è <suggestion>di nome</suggestion> e non a nome.</message>
<example correction="di nome">Una ragazza <marker>a nome</marker> Francesca.</example>
</rule>
<!-- biglietto da visita -->
<rule>
<pattern>
<token regexp="yes">bigliett.*</token>
<marker>
<token>di</token>
</marker>
<token>visita</token>
</pattern>
<message>Biglietto <suggestion>da</suggestion> visita</message>
<example correction="da">Ecco il mio biglietto <marker>di</marker> visita.</example>
</rule>
<!-- PB002- -->
</rulegroup>
</category>
<!-- GRAMMATICA PRONOMI - GR_08
<category id="CATx" name="Grammatica - Pronomi"> -->
<!-- TO DO <rulegroup name="uso corretto" id="GR_08_001">
</rulegroup>
</category> -->
<!-- GRAMMATICA PUNTEGGIATURA - GR_09 -->
<category id="CAT6" name="Grammatica - Punteggiatura">
<rulegroup name="asterischi di omissione (***)" id="GR_09_001">
<rule>
<pattern>
<marker>
<token spacebefore="yes" regexp="no">*</token>
<token regexp="no" spacebefore="no">*</token>
</marker>
<token><exception regexp="no">*</exception></token>
</pattern>
<message>L’asterisco si usa per un’omissione nel numero di tre consecutivi: <suggestion>***</suggestion>.</message>
<example correction="***">Preferisco non pensare a quel <marker>**</marker>.</example>
</rule>
<rule>
<pattern>
<token spacebefore="yes" regexp="no">*</token>
<token postag="SENT_END" regexp="no" spacebefore="no">*</token>
</pattern>
<message>L’asterisco si usa per un’omissione nel numero di tre consecutivi: <suggestion>***</suggestion>.</message>
<example correction="***">Preferisco non pensare a quel <marker>**</marker></example>
</rule>
<rule>
<pattern>
<marker>
<token spacebefore="yes" regexp="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token regexp="no" spacebefore="no">*</token>
</marker>
<token><exception regexp="no">*</exception></token>
</pattern>
<message>L’asterisco si usa per un’omissione nel numero di tre consecutivi: <suggestion>***</suggestion>.</message>
<example correction="***">Preferisco non pensare a quel <marker>****</marker>.</example>
</rule>
<rule>
<pattern>
<token spacebefore="yes" regexp="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token postag="SENT_END" regexp="no" spacebefore="no">*</token>
</pattern>
<message>L’asterisco si usa per un’omissione nel numero di tre consecutivi: <suggestion>***</suggestion>.</message>
<example correction="***">Preferisco non pensare a quel <marker>****</marker></example>
</rule>
<rule>
<pattern>
<token spacebefore="yes" regexp="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token regexp="no" spacebefore="no">*</token>
<token postag="SENT_END" regexp="no" spacebefore="no">*</token>
</pattern>
<message>L’asterisco si usa per un’omissione nel numero di tre consecutivi: <suggestion>***</suggestion>.</message>
<example correction="***">Preferisco non pensare a quel <marker>*****</marker></example>
</rule>
</rulegroup>
<rulegroup name="puntini di sospensione (...)" id="GR_09_002">
<rule>
<pattern>
<token>.</token>
<token>.</token>
<token>.</token>
<token>.</token>
</pattern>
<message>I puntini di sospensione si usano sempre nel numero di tre, per indicare la sospensione del discorso: <suggestion>...</suggestion>.</message>
<example correction="...">Lasciami pensare<marker>....</marker></example>
</rule>
</rulegroup>
<rulegroup name="ripetizioni" id="GR_09_003">
<!-- Punto esclamativo ripetuto (!) -->
<rule>
<pattern>
<token>!</token>
<token>!</token>
</pattern>
<message>Se ne mette uno solo: <suggestion>!</suggestion>.</message>
<example correction="!">Fammi parlare<marker>!!</marker></example>
</rule>
<!-- Punto interrogativo ripetuto (?) -->
<rule>
<pattern>
<token>?</token>
<token>?</token>
</pattern>
<message>Se ne mette uno solo: <suggestion>?</suggestion>.</message>
<example correction="?">Quando vieni<marker>??</marker></example>
</rule>
</rulegroup>
<rulegroup name="sigle" id="GR_09_004">
<!-- S.p.A. -->
<rule>
<pattern>
<token>spa</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.p.A.</suggestion>.</message>
<example correction="S.p.A.">La Nomedifantasia <marker>spa</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>P</token>
<token>.</token>
<token>A</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.p.A.</suggestion>.</message>
<example correction="S.p.A.">La Nomedifantasia <marker>S.P.A.</marker> offre nuovi servizi.</example>
<example>La Nomedifantasia <marker>S.p.A.</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>p</token>
<token>.</token>
<token>a</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.p.A.</suggestion>.</message>
<example correction="S.p.A.">La Nomedifantasia <marker>S.p.a.</marker> offre nuovi servizi.</example>
</rule>
<!-- S.R.L. -->
<rule>
<pattern>
<token>srl</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.R.L.</suggestion>.</message>
<example correction="S.R.L.">La Nomedifantasia <marker>srl</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>R</token>
<token>.</token>
<token>l</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.R.L.</suggestion>.</message>
<example correction="S.R.L.">La Nomedifantasia <marker>S.R.l.</marker> offre nuovi servizi.</example>
<example>La Nomedifantasia <marker>S.R.L.</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>r</token>
<token>.</token>
<token>l</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.R.L.</suggestion>.</message>
<example correction="S.R.L.">La Nomedifantasia <marker>S.r.l.</marker> offre nuovi servizi.</example>
</rule>
<!-- S.N.C. -->
<rule>
<pattern>
<token>snc</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.N.C.</suggestion>.</message>
<example correction="S.N.C.">La Nomedifantasia <marker>snc</marker> offre nuovi servizi.</example>
<example>La Nomedifantasia <marker>S.R.L.</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>N</token>
<token>.</token>
<token>c</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.N.C.</suggestion>.</message>
<example correction="S.N.C.">La Nomedifantasia <marker>S.N.c.</marker> offre nuovi servizi.</example>
<example>La Nomedifantasia <marker>S.N.C.</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>n</token>
<token>.</token>
<token>c</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.N.C.</suggestion>.</message>
<example correction="S.N.C.">La Nomedifantasia <marker>S.n.c.</marker> offre nuovi servizi.</example>
</rule>
<!-- S.A.S. -->
<rule>
<pattern>
<token>sas</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.A.S.</suggestion>.</message>
<example correction="S.A.S.">La Nomedifantasia <marker>sas</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>A</token>
<token>.</token>
<token>s</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.A.S.</suggestion>.</message>
<example correction="S.A.S.">La Nomedifantasia <marker>S.A.s.</marker> offre nuovi servizi.</example>
<example>La Nomedifantasia <marker>S.A.S.</marker> offre nuovi servizi.</example>
</rule>
<rule>
<pattern case_sensitive="yes">
<token>S</token>
<token>.</token>
<token>a</token>
<token>.</token>
<token>s</token>
<token>.</token>
</pattern>
<message>Utilizzare la sigla corretta: <suggestion>S.A.S.</suggestion>.</message>
<example correction="S.A.S.">La Nomedifantasia <marker>S.a.s.</marker> offre nuovi servizi.</example>
</rule>
</rulegroup>
</category>
<!-- GRAMMATICA VERBI - GR_10 -->
<category id="CAT7" name="Grammatica - Verbi">
<rule id="DOPPIO_VERBO_AUSILIARE_TERZA_PERSONA" name="Doppio verbo ausiliare terza persona">
<pattern>
<token postag='AUX:ind+pres+3+p'/>
<token postag='AUX:ind+pres+3+p'/>
</pattern>
<message>La frase contiene un verbo ausiliare ripetuto</message>
<short>Verbo ausiliare ripetuto</short>
<example correction=''>non <marker>sono vengono</marker> preparate con le tecnologie e le infrastrutture adatte</example>
</rule>
<rulegroup name="concordanza tempi delle coordinate" id="GR_10_001">
<!-- PB007 + -->
<!-- IND PRESENTE -->
<rule>
<pattern>
<token skip="-1" postag="VER.ind.pres.1.*" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.1.*)|(VER.ind.impf.1.*)|(VER.ind.fut.1.*)" postag_regexp="yes"/>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Io <marker>navigo ma mi dirigevo</marker> nella direzione sbagliata.</example>
<example>Io <marker>navigo ma mi dirigo</marker> nella direzione sbagliata.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.pres.2.*" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.2.*)|(VER.ind.impf.2.*)|(VER.ind.fut.2.*)" postag_regexp="yes"/>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Tu <marker>navighi ma ti dirigevi</marker> nella direzione sbagliata.</example>
<example>Tu <marker>navighi ma ti dirigi</marker> nella direzione sbagliata.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.pres.3.*" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.3.*)|(VER.ind.impf.3.*)|(VER.ind.fut.3.*)" postag_regexp="yes"/>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">La barca <marker>naviga ma si dirigeva</marker> nella direzione sbagliata.</example>
<example>La barca <marker>naviga ma si dirige</marker> nella direzione sbagliata.</example>
</rule>
<!-- IND FUTURO -->
<rule>
<pattern>
<token skip="-1" postag="VER.ind.fut.1.*" postag_regexp="yes"/>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.1.*)|(VER.ind.impf.1.*)|(VER.ind.pres.1.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Questa notte <marker>camminerò nel buio e rischio</marker> di andare a sbattere contro una porta.</example>
<example>Questa notte <marker>camminerò nel buio e rischierò</marker> di andare a sbattere contro una porta.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.fut.2.*" postag_regexp="yes"/>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.2.*)|(VER.ind.impf.2.*)|(VER.ind.pres.2.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Questa notte <marker>camminerai nel buio e rischi</marker> di andare a sbattere contro una porta.</example>
<example>Questa notte <marker>camminerai nel buio e rischierai</marker> di andare a sbattere contro una porta.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.fut.3.*" postag_regexp="yes"/>
<token skip="-1" regexp="yes">e|o|ma</token>
<token postag="(VER.ind.past.3.*)|(VER.ind.impf.3.*)|(VER.ind.pres.3.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Questa notte <marker>camminerà nel buio e rischia</marker> di andare a sbattere contro una porta.</example>
<example>Questa notte <marker>camminerà nel buio e rischierà</marker> di andare a sbattere contro una porta.</example>
</rule>
<!-- IND IMPERFETTO -->
<rule>
<pattern>
<token skip="-1" postag="VER.ind.impf.1.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.1.*)|(VER.ind.pres.1.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Io <marker>aspettavo il tram e decido</marker> di telefonare.</example>
<example>Io <marker>aspettavo il tram e decidevo</marker> di telefonare.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.impf.2.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.2.*)|(VER.ind.pres.2.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Tu <marker>aspettavi il tram e decidi</marker> di telefonare.</example>
<example>Tu <marker>aspettavi il tram e decidevi</marker> di telefonare.</example>
</rule>
<rule name="Indicativo Imperfetto 3 pers">
<pattern>
<token skip="-1" postag="VER.ind.impf.3.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.3.*)|(VER.ind.pres.3.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Clara <marker>aspettava il tram e decide</marker> di telefonare.</example>
<example>Clara <marker>aspettava il tram e decideva</marker> di telefonare.</example>
</rule>
<!-- IND PASSATO -->
<rule>
<pattern>
<token skip="-1" postag="VER.ind.past.1.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.1.*)|(VER.ind.pres.1.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Io <marker>aspettai il tram e decido</marker> di telefonare.</example>
<example>Io <marker>aspettai il tram e decisi</marker> di telefonare.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.past.2.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.2.*)|(VER.ind.pres.2.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Tu <marker>aspettasti il tram e decidi</marker> di telefonare.</example>
<example>Tu <marker>aspettasti il tram e decisi</marker> di telefonare.</example>
</rule>
<rule>
<pattern>
<token skip="-1" postag="VER.ind.past.3.*" postag_regexp="yes"/>
<token skip="-1" postag="CON"/>
<token postag="(VER.ind.fut.3.*)|(VER.ind.pres.3.*)" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="">Clara <marker>aspettò il tram e decide</marker> di telefonare.</example>
<example>Clara <marker>aspettò il tram e decise</marker> di telefonare.</example>
</rule>
<!-- PB007 - -->
</rulegroup>
<!-- TO DO <rulegroup name="Cocordanza tempi nelle subordinate" id="GR_10_002">
<rule name="Indicativo Presente">
<pattern>
<token skip="-1" postag="VER.ind.*.*.*" postag_regexp="yes"><exception scope="previous" postag="(ART-F.*)|(ART-M.*)" postag_regexp="yes"/></token>
<token skip="-1" regexp="yes">che|se</token>
<token postag="(VER.ind.*.*.*)" postag_regexp="yes"/>
</pattern>
<message>Controllare il tempo dei verbi utilizzati nella frase.</message>
<example correction="entute">Gianna <marker>pensa che è</marker> meglio rimanere a casa.</example>
<example>Gianna <marker>pensa che sia</marker> meglio rimanere a casa.</example>
</rule>
</rulegroup> -->
<rulegroup name="uso del congiuntivo" id="GR_10_003">
<!-- PB008 + -->
<!-- use of congiuntivo
Il congiuntivo si usa:
1) con alcune congiunzioni subordinanti, quali affinché, benché, sebbene, quantunque, a meno che, nel caso che, qualora, prima che, senza che;
2) con aggettivi o pronomi indefiniti (qualunque, chiunque, qualsiasi, ovunque, dovunque);
3) con espressioni impersonali, come è necessario che, è probabile che, è bene che;
4) in formule ormai fissate nell'uso (vada come vada; costi quel che costi). -->
<!-- congiunzioni subordinanti -->
<rule>
<pattern>
<token skip="2" regexp="yes">affinché|acciocché|purché|benché|sebbene|quantunque|qualora</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>La congiunzione '<match no="1"/>' richiede il congiuntivo.</message>
<example correction="">Ti avviso affinché tu <marker>puoi</marker> rimediare.</example>
<example>Ti avviso affinché tu <marker>possa</marker> rimediare.</example>
</rule>
<rule>
<pattern>
<token>a</token>
<token>meno</token>
<token skip="2">che</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>La congiunzione 'a meno che' richiede il congiuntivo.</message>
<example correction="">Non possiamo vederci a meno che tu non <marker>puoi</marker> venire.</example>
<example>Non possiamo vederci a meno che tu non <marker>possa</marker> venire.</example>
</rule>
<rule>
<pattern>
<token>nel</token>
<token>caso</token>
<token skip="2">che</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>La congiunzione 'nel caso che' richiede il congiuntivo.</message>
<example correction="">Ci incontreremo nel caso che tu <marker>puoi</marker> venire.</example>
<example>Ci incontreremo nel caso che tu <marker>possa</marker> venire.</example>
</rule>
<rule>
<pattern>
<token regexp="yes">prima|senza</token>
<token skip="2">che</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>La congiunzione '<match no="1"/> che' richiede il congiuntivo.</message>
<example correction="">Ti avviso prima che tu <marker>fai</marker> qualcosa di sbagliato.</example>
<example>Ti avviso prima che tu <marker>faccia</marker> qualcosa di sbagliato.</example>
</rule>
<!-- aggettivi o pronomi indefiniti -->
<rule>
<pattern>
<token skip="2" regexp="yes">qualunque|chiunque|qualsiasi|ovunque|dovunque</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>L'aggettivo '<match no="1"/>' richiede il congiuntivo.</message>
<example correction="">Ti troverò ovunque tu <marker>sei</marker>.</example>
<example>Ti troverò ovunque tu <marker>sia</marker>.</example>
</rule>
<!-- espressioni impersonali è bene che, è meglio che -->
<rule>
<pattern>
<token>è</token>
<token/>
<token skip="2">che</token>
<marker>
<token postag="VER.*" postag_regexp="yes">
<exception postag="(VER.sub.*)|(NOUN.*)" postag_regexp="yes"/>
<exception scope="previous" postag="VER.sub.*" postag_regexp="yes"/>
</token>
</marker>
</pattern>
<message>L'espressione impersonale 'è <match no="2"/> che' richiede il congiuntivo.</message>
<example correction="">Credimi, è meglio che tu <marker>sei</marker> vicino.</example>
<example>Credimi, è meglio che tu <marker>sia</marker> vicino.</example>
</rule>
<!-- PB008 - -->
</rulegroup>
<!-- PB009 + -->
<rulegroup name="uso corretto" id="GR_10_004">
<!-- adire le vie legali -->
<rule>
<pattern>
<token inflected="yes">adire</token>
<marker>
<token regexp="yes" skip="1">a|alle|per</token>
<token>vie</token>
<token>legali</token>
</marker>
</pattern>
<message>Adire è un verbo transitivo per cui si adisce <suggestion>le vie legali</suggestion></message>
<example correction="le vie legali">Giorgio fu costretto a adire <marker>per le vie legali</marker> per far valere i propri diritti.</example>
</rule>
<rule>
<pattern>
<marker>
<token inflected="yes">aderire</token>
<token>alle</token>
</marker>
<token>vie</token>
<token>legali</token>
</pattern>
<message>Non si aderisce alle vie legali ma si adisce le vie legali.</message>
<example correction="">Giorgio fu costretto a <marker>aderire alle</marker> vie legali per far valere i propri diritti.</example>
<example>Giorgio fu costretto a <marker>adire le</marker> vie legali per far valere i propri diritti.</example>
</rule>
</rulegroup>
<!-- PB009 - -->
</category>
<!-- STILE ESPRESSIONI - ST_01 -->
<category id="CAT8" name="Stile - Espressioni">
<!-- TO DO <rulegroup name="arcaiche" id="ST_01_001">
</rulegroup> -->
<!-- PB002+ -->
<!--
<rulegroup name="parlato" id="ST_01_002">
-->
<!-- PB002- -->
<!-- a gratis -->
<!-- PB002+ -->
<!--
<rule>
<pattern mark_from="0" case_sensitive="no">
<token>a</token>
<token>gratis</token>
</pattern>
<message>Si scrive <suggestion>gratis</suggestion> (senza la preposizione).</message>
<example>Ovviamente... è tutto <marker>gratis</marker>!</example>
<example correction="attimo">Ovviamente... è tutto <marker>a gratis</marker>!</example>
</rule>
</rulegroup>
-->
<!-- PB002- -->
<!-- PB004+ -->
<rulegroup name="parlato" id="ST_01_002">
<!-- attimino -->
<rule>
<pattern case_sensitive="no">
<token>attimino</token>
</pattern>
<message>Si consiglia di utilizzare <suggestion>attimo</suggestion>.</message>
<example>Mi aspetti un <marker>attimo</marker>?</example>
<example correction="attimo">Mi aspetti un <marker>attimino</marker>?</example>
</rule>
<!-- momentino -->
<rule>
<pattern case_sensitive="no">
<token>momentino</token>
</pattern>
<message>Si consiglia di utilizzare <suggestion>momento</suggestion>.</message>
<example correction="momento">Mi aspetti un <marker>momentino</marker>?</example>
</rule>
</rulegroup>
<!-- PB004- -->
<rulegroup name="pleonasmi" id="ST_01_003">
<!-- PB0013 + -->
<!-- ma però grazie Valerio Summo per il suggerimento-->
<rule>
<pattern>
<token>ma</token>
<token>però</token>
</pattern>
<message>Ma e però non possono essere usati insieme.</message>
<example correction="">Sono arrivato <marker>ma però</marker> me ne vado subito.</example>
<example>Sono arrivato però me ne vado subito.</example>
</rule>
<!-- PB0013 -->
<!-- a me mi -->
<rule>
<pattern case_sensitive="no">
<token>a</token>
<token regexp="yes">me|noi</token>
<token regexp="yes">mi|ci</token>
</pattern>
<message>Si tratta di una ripetizione. Meglio scegliere una delle due forme: <suggestion><match no="1"/> <match no="2"/></suggestion> oppure <suggestion><match no="3"/></suggestion>.</message>
<example correction="A me|Mi"><marker>A me mi</marker> piace il gelato.</example>
<example>Mi piace il gelato.</example>
</rule>
<rule>
<pattern case_sensitive="no">
<token>a</token>
<token regexp="yes">te|voi</token>
<token regexp="yes">ti|vi</token>
</pattern>
<message>Si tratta di una ripetizione. Meglio scegliere una delle due forme: <suggestion><match no="1"/> <match no="2"/></suggestion> oppure <suggestion><match no="3"/></suggestion>.</message>
<example correction="A te|Ti"><marker>A te ti</marker> pare strano.</example>
<example>Ti pare strano.</example>
</rule>
<rule>
<pattern case_sensitive="no">
<token>a</token>
<token regexp="yes">lui|lei</token>
<token regexp="yes">gli|le</token>
</pattern>
<message>Si tratta di una ripetizione. Meglio scegliere una delle due forme: <suggestion><match no="1"/> <match no="2"/></suggestion> oppure <suggestion><match no="3"/></suggestion>.</message>
<example correction="A lui|Gli"><marker>A lui gli</marker> faceva comodo.</example>
<example>Gli faceva comodo.</example>
</rule>
<rule>
<pattern case_sensitive="no">
<token>a</token>
<token>loro</token>
<token>gli</token>
</pattern>
<message>Si tratta di una ripetizione. Meglio scegliere una delle due forme: <suggestion><match no="1"/> <match no="2"/></suggestion> oppure <suggestion><match no="3"/></suggestion>.</message>
<example correction="A loro|Gli"><marker>A loro gli</marker> era utile.</example>
<example>Gli era utile.</example>
</rule>
<!-- abolire interamente -->
<rule>
<pattern>
<token inflected="yes" skip="4" regexp="yes">abolire|eliminare|abrogare|togliere|levare|depennare|cancellare|cassare</token>
<token regexp="yes">interamente|completamente|totalmente|integralmente</token>
</pattern>
<message>Si tratta di una ripetizione, meglio usare <suggestion>\1</suggestion>.</message>
<example correction="abolito">La commissione ha <marker>abolito interamente</marker> il provvedimento.</example>
</rule>
<!-- io personalmente -->
<rule>
<pattern>
<token>io</token>
<token>personalmente</token>
</pattern>
<message>Si consiglia di evitare questa ridondanza a meno che non si intenda, ad esempio, tenere distinte le proprie opinioni personali da quelle che competono alla propria funzione, al proprio &quot;ruolo istituzionale&quot;.</message>
<example correction="">Verrò <marker>io personalmente</marker> a trovarla.</example>
<example>Verrò <marker>personalmente</marker> a trovarla.</example>
</rule>
<!-- più migliore -->
<rule>
<pattern>
<token>più</token>
<token regexp="yes">migliore|peggiore|superiore|inferiore|maggiore|ulteriore|posteriore|interiore|esteriore|citeriore|anteriore</token>
</pattern>
<message>Il più è ridondante in quanto la gradazione di comparazione è già contemplata nell'aggettivo. Sostituire con: <suggestion><match no="2"/></suggestion>.</message>
<example correction="migliore">Usa questo prodotto che è <marker>più migliore</marker> del tuo.</example>
</rule>
<!-- più molto -->
<rule>
<pattern>
<token>più</token>
<token>molto</token>
</pattern>
<message>E' un errore creare il comparativo di maggioranza degli avverbi molto e poco. Si scrive <suggestion>di più</suggestion>.</message>
<example correction="di più">Il calcio mi piace, ma il motociclismo mi piace <marker>più molto</marker>.</example>
<example>Il calcio mi piace, ma il motociclismo mi piace di più.</example>
</rule>
<!-- più poco -->
<rule>
<pattern>
<token>più</token>
<token>poco</token>
</pattern>
<message>E' un errore creare il comparativo di maggioranza degli avverbi molto e poco. Si scrive <suggestion>meno</suggestion>.</message>
<example correction="meno">Stasera abbiamo ballato <marker>più poco</marker> del solito.</example>
<example>Stasera abbiamo ballato meno del solito.</example>
</rule>
</rulegroup>
<rulegroup name="regionali" id="ST_01_004">
<!-- anguria -->
<rule>
<pattern>
<token regexp="yes">anguria|angurie</token>
</pattern>
<message>Sostituire forme dialettali con l'equivalente Italiano per migliorare al leggibilità: <suggestion>cocomero</suggestion>.</message>
<example correction="cocomero">Abbiamo mangiato un'<marker>anguria</marker>.</example>
<example>Abbiamo mangiato un <marker>cocomero</marker>.</example>
</rule>
<!-- asparagio -->
<rule>
<pattern>
<token>asparagio</token>
</pattern>
<message>Sostituire forme dialettali con l'equivalente Italiano per migliorare al leggibilità: <suggestion>asparago</suggestion>.</message>
<example correction="asparago">Ho colto un <marker>asparagio</marker>.</example>
</rule>
<!-- pedalino -->
<rule>
<pattern>
<token regexp="yes">pedalino|pedalini</token>
</pattern>
<message>Sostituire forme dialettali con l'equivalente Italiano per migliorare al leggibilità: <suggestion>calza</suggestion>.</message>
<example correction="calza">Mauro portava un paio di <marker>pedalini</marker> bianchi.</example>
<example>Mauro portava un paio di <marker>calze</marker> bianche.</example>
</rule>
<!-- pomidoro -->
<rule>
<pattern>
<token regexp="yes">pomidoro|pomidori</token>
</pattern>
<message>Sostituire forme dialettali con l'equivalente Italiano per migliorare al leggibilità: <suggestion>pomodoro</suggestion>.</message>
<example correction="pomodoro">Il <marker>pomidoro</marker> era maturo.</example>
</rule>
</rulegroup>
<rulegroup name="straniere" id="ST_01_005">
<!-- budget -->
<rule>
<pattern>
<token>budget</token>
</pattern>
<message><suggestion>bilancio</suggestion> <suggestion>bilancio di previsione</suggestion> <suggestion>stanziamento</suggestion></message>
<example correction="bilancio|bilancio di previsione|stanziamento"><marker>budget</marker></example>
<example><marker>bilancio</marker></example>
</rule>
<!-- input -->
<rule>
<pattern>
<token>input</token>
</pattern>
<message><suggestion>ingresso</suggestion> <suggestion>entrata</suggestion> <suggestion>immissione</suggestion></message>
<example correction="ingresso|entrata|immissione"><marker>input</marker></example>
<example><marker>ingresso</marker></example>
</rule>
<!-- output -->
<rule>
<pattern>
<token>output</token>
</pattern>
<message><suggestion>uscita</suggestion> <suggestion>prodotto</suggestion> <suggestion>produzione</suggestion></message>
<example correction="uscita|prodotto|produzione"><marker>output</marker></example>
<example><marker>uscita</marker></example>
</rule>
<!-- penalty -->
<rule>
<pattern>
<token>penalty</token>
</pattern>
<message><suggestion>rigore</suggestion> <suggestion>calcio di rigore</suggestion> <suggestion>punizione</suggestion></message>
<example correction="rigore|calcio di rigore|punizione"><marker>penalty</marker></example>
<example><marker>rigore</marker></example>
</rule>
<!-- show -->
<rule>
<pattern>
<token>show</token>
</pattern>
<message><suggestion>spettacolo</suggestion></message>
<example correction="spettacolo"><marker>show</marker></example>
</rule>
<!-- trend -->
<rule>
<pattern>
<token>trend</token>
</pattern>
<message><suggestion>tendenza</suggestion> <suggestion>orientamento</suggestion> <suggestion>corso</suggestion> <suggestion>evoluzione</suggestion></message>
<example correction="tendenza|orientamento|corso|evoluzione"><marker>trend</marker></example>
<example><marker>tendenza</marker></example>
</rule>
</rulegroup>
<!-- TO DO <rulegroup name="uso errato" id="ST_01_006">
</rulegroup> -->
</category>
<!-- STILE FRASE - ST_02 -->
<category id="CAT9" name="Stile - Frase">
<rulegroup name="frasi lunghe" id="ST_02_001">
<!-- 40 parole -->
<rule>
<pattern>
<token postag="SENT_START" />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token />
<token /><token /><token /><token /><token skip="-1"/>
<token postag="SENT_END" />
</pattern>
<message>Si suggerisce di frammentare questa frase perché risulta troppo lunga.</message>
<example correction=""><marker>La casa aveva tante cose da vedere e da toccare con mano attenta a non romperle e occhio pronto ad ammirarle in tutto lo splendore infuso loro dalla cura maniacale per la perfezione che la padrona esibiva in qualunque sua attività ogni giorno che passava.</marker></example>
<example><marker>La casa era piena di cose.</marker></example>
</rule>
</rulegroup>
</category>
<!-- STILE FRASE - ST_03 -->
<category id="CAT10" name="Stile - Leggibilità">
<rulegroup name="eufoniche" id="ST_03_001">
<!-- togli ad (escludi ad esempio) -->
<rule>
<pattern>
<token>ad</token>
<token regexp="yes">[eiou].*<exception regexp="yes">esempio|es</exception></token>
</pattern>
<message>L'uso della d eufonica dovrebbe essere limitato ai casi di incontro della stessa vocale: <suggestion>a <match no="2"/></suggestion>.</message>
<example correction="a interpretare">Provo <marker>ad interpretare</marker> il tuo pensiero.</example>
<example>Io, <marker>ad esempio</marker>, non ci sono cascato.</example>
</rule>
<!-- togli ed -->
<rule>
<pattern>
<token>ed</token>
<token regexp="yes">[aiou].*</token>
</pattern>
<message>L'uso della 'd' eufonica dovrebbe essere limitato ai casi di incontro della stessa vocale: <suggestion>e <match no="2"/></suggestion>.</message>
<example correction="e insisto">Ti dico <marker>ed insisto</marker> che è vero.</example>
</rule>
<!-- togli od -->
<rule>
<pattern>
<token>od</token>
<token regexp="yes">[aieu].*</token>
</pattern>
<message>L'uso della 'd' eufonica dovrebbe essere limitato ai casi di incontro della stessa vocale: <suggestion>o <match no="2"/></suggestion>.</message>
<example correction="o un">Si consiglia un farmaco blando <marker>od un</marker> omeopatico.</example>
</rule>
<!-- metti ad -->
<rule>
<pattern>
<token>a</token>
<token regexp="yes">[a].*|esempio|es</token>
</pattern>
<message>In questo caso l'uso della 'd' eufonica è ammesso: <suggestion>ad <match no="2"/></suggestion>.</message>
<example correction="ad arrivare">Provo <marker>a arrivare</marker> prima di te.</example>
<example>Io, <marker>ad esempio</marker>, non ci sono cascato.</example>
</rule>
<!-- metti ed -->
<rule>
<pattern>
<token>e</token>
<token regexp="yes">[e].*</token>
</pattern>
<message>In questo caso l'uso della 'd' eufonica è ammesso: <suggestion>ed <match no="2"/></suggestion>.</message>
<example correction="ed effettua">Si concentra <marker>e effettua</marker> una bella manovra.</example>
</rule>
<!-- metti od -->
<rule>
<pattern>
<token>o</token>
<token regexp="yes">[o].*</token>
</pattern>
<message>In questo caso l'uso della 'd' eufonica è ammesso: <suggestion>od <match no="2"/></suggestion>.</message>
<example correction="od ogni">Puoi vederlo ogni mattina <marker>o ogni</marker> sera.</example>
<example>Puoi vederlo ogni mattina <marker>od ogni</marker> sera.</example>
</rule>
</rulegroup>
<rulegroup name="ripetizioni" id="ST_03_002">
<rule>
<pattern>
<!-- PB001 + -->
<!--
<token skip="-1" regexp="yes">[qwertyuiopasdfghjklzxcvbnm].*<exception postag="ART.*|CON" postag_regexp="yes"/></token>
-->
<!-- PB010 + -->
<!--
<token skip="-1" regexp="yes">[qwertyuiopasdfghjklzxcvbnm].*<exception postag="PRE|ARTPRE.*|ART.*|CON|PON" postag_regexp="yes"></exception><exception regexp="yes">l|dell|all|sull|dall|nell</exception></token>
-->
<token skip="-1" postag_regexp="yes" postag="ADJ.*|ADV.*|NOUN.*|VER.*"/>
<!-- PB001 - -->
<marker>
<token>
<match no="0"/>
<!-- 181 + -->
<exception scope="previous" regexp="yes">via|così|Duran|Pago|Wagga</exception>
<!-- 181 - -->
</token>
</marker>
<!-- PB010 - -->
</pattern>
<message>Si consiglia di rivedere la frase al fine di eliminare la ripetizione della parola: <match no="1"/>.</message>
<example correction="">Il bambino aveva capito bene l'altro <marker>bambino</marker> di fronte a se.</example>
<example>Il bambino aveva capito bene l'altro fanciullo di fronte a se.</example>
</rule>
</rulegroup>
</category>
<!-- STILE NUMERI - ST_04 -->
<category id="CAT11" name="Stile - Numeri">
<rulegroup name="in cifre se minori di 10" id="ST_04_001">
<rule>
<pattern>
<marker><token>0</token></marker>
</pattern>
<message><suggestion>zero</suggestion></message>
<example correction="zero"><marker>0</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>1<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>uno</suggestion></message>
<example correction="uno"><marker>1</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>2<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>due</suggestion></message>
<example correction="due"><marker>2</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>3<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>tre</suggestion></message>
<example correction="tre"><marker>3</marker> volte</example>
<example><marker>tre</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>4<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>quattro</suggestion></message>
<example correction="quattro"><marker>4</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>5<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>cinque</suggestion></message>
<example correction="cinque"><marker>5</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>6<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>sei</suggestion></message>
<example correction="sei"><marker>6</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>7<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>sette</suggestion></message>
<example correction="sette"><marker>7</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>8<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>otto</suggestion></message>
<example correction="otto"><marker>8</marker> volte</example>
</rule>
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token>9<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message><suggestion>nove</suggestion></message>
<example correction="nove"><marker>9</marker> volte</example>
</rule>
</rulegroup>
<rulegroup name="in cifre se minori di 100" id="ST_04_002">
<rule>
<pattern>
<!-- 3610360 + -->
<marker><token regexp="yes">[123456789][0123456789]<exception scope="previous" regexp="yes">Lunedì|Martedì|Mercoledì|Giovedì|Venerdì|Sabato|Domenica</exception></token></marker>
<token><exception regexp="yes">Gennaio|Febbario|Aprile|Marzo|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre|/</exception></token>
<!-- 3610360 - -->
</pattern>
<message>Cambiare con il corrispondente in cifre</message>
<example correction=""><marker>99</marker> volte</example>
<example><marker>novantanove</marker> volte</example>
</rule>
</rulegroup>
</category>
<!-- ERRORI COMUNI - ER_01 -->
<category id="CAT12" name="Ulteriori errori comuni - voci del verbo 'avere'">
<rulegroup name="scambio di 'a' ed 'ha'" id="ER_01_001">
<rule>
<!-- "a" + un participio passato -->
<pattern>
<token>a</token>
<token postag="VER:part.+past.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>ha <match no="2"/></suggestion>?</message>
<example correction="ha fatto">La mamma <marker>a fatto</marker> la spesa.</example>
</rule>
<rule>
<!-- "a" + un sostantivo plurale -->
<pattern>
<token>a</token>
<token postag="NOUN.+p" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>ha <match no="2"/></suggestion>?</message>
<example correction="ha soldi">Piero <marker>a soldi</marker> con sé?.</example>
<example>Piero <marker>ha soldi</marker> con se?.</example>
</rule>
<rule default="off" name="suggerisci sempre lo scambio di 'a' con 'ha'" id="ER_01_001a">
<pattern>
<token>a</token>
</pattern>
<message>Forse volevi dire <suggestion>ha</suggestion>?</message>
<example correction="ha">Piero <marker>a</marker> un cane.</example>
<example>Piero <marker>ha</marker> un cane.</example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'ai' ed 'hai'" id="ER_01_002">
<rule>
<!-- "ai" + un participio passato -->
<pattern>
<token>ai</token>
<!-- 182 + -->
<!--
<token postag="VER:part.+past.*" postag_regexp="yes"></token>
-->
<token postag="VER:part.+past.*" postag_regexp="yes"><exception postag="NOUN-M:p"/></token>
<!-- 182 - -->
</pattern>
<message>Forse volevi dire <suggestion>hai <match no="2"/></suggestion>?</message>
<example correction="Hai fatto"><marker>Ai fatto</marker> i compiti?</example>
</rule>
<rule>
<!-- "ai" + un sostantivo singolare -->
<pattern>
<token>ai</token>
<token postag="NOUN.+s" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>hai <match no="2"/></suggestion>?</message>
<example correction="Hai fame"><marker>Ai fame</marker>?</example>
</rule>
<rule>
<!-- "ai" + articolo/aggettivo/etc singolare -->
<pattern>
<token>ai</token>
<token postag="(ADJ|ART|ARTPRE|DET-INDEF|DET-NUM-CARD).+s" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>ha <match no="2"/></suggestion>?</message>
<example correction="ha un">Tu <marker>ai un</marker> bel cane.</example>
<example>Tu <marker>hai un</marker> bel cane.</example>
</rule>
<rule default="off" name="suggerisci sempre lo scambio di 'ai' con 'hai'" id="ER_01_002a">
<pattern>
<token>ai</token>
</pattern>
<message>Forse volevi dire <suggestion>hai</suggestion>?</message>
<example correction="hai">Piero, tu <marker>ai</marker> un cane?</example>
<example>Piero, tu <marker>hai</marker> un cane?</example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'anno' ed 'hanno'" id="ER_01_003">
<rule>
<!-- "anno" + un participio passato -->
<pattern>
<token>anno</token>
<token postag="VER:part.+past.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>hanno <match no="2"/></suggestion>?</message>
<example correction="Hanno fatto"><marker>Anno fatto</marker> i compiti?</example>
</rule>
<rule>
<!-- "anno" + articolo -->
<pattern>
<token>anno</token>
<token postag="(ART|ARTPRE|DET-INDEF|DET-NUM-CARD).*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>ha <match no="2"/></suggestion>?</message>
<example correction="ha un">Piero e Cinzia <marker>anno un</marker> bel cane.</example>
<example>Piero e Cinzia <marker>hanno un</marker> bel cane.</example>
</rule>
</rulegroup>
<rule name="scambio di 'o' ed 'ho'" id="ER_01_004">
<!-- "o" + un participio passato -->
<pattern>
<token>o</token>
<token postag="VER:part.+past.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>ho <match no="2"/></suggestion>?</message>
<example correction="ho fatto">Non <marker>o fatto</marker> i compiti.</example>
</rule>
</category>
<!-- ERRORI COMUNI - ER_02 -->
<category id="CAT13" name="Ulteriori errori comuni - ortografia">
<!--
Casi in cui il correttore ortografico non interviene
perché entrambi i lemmi esistono in italiano.
-->
<rulegroup name="scambio di 'ala' ed 'alla'" id="ER_02_001">
<rule>
<!-- "ala" + sostantivo -->
<pattern>
<token>ala</token>
<token postag="NOUN-F.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>alla <match no="2"/></suggestion>?</message>
<example correction="alla mamma">Ho dato un bacio <marker>ala mamma</marker>.</example>
</rule>
<rule>
<!-- "ala" + aggettivo + sostantivo -->
<pattern>
<token>ala</token>
<token postag="(ADJ|DET).*" postag_regexp="yes"/>
<token postag="NOUN-F.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>alla <match no="2"/> <match no="3"/></suggestion>?</message>
<example correction="alla mia mamma">Ho dato un bacio <marker>ala mia mamma</marker>.</example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'la' e 'al'" id="ER_02_002">
<rule>
<!-- "la" + sostantivo maschile -->
<pattern>
<token>la</token>
<!-- 3609558 + -->
<!--
<token postag="NOUN-M:s"></token>
-->
<token postag="NOUN-M:s"><exception postag="NOUN-F:s"/></token>
<!-- 3609558 - -->
</pattern>
<message>Forse volevi dire <suggestion>al <match no="2"/></suggestion>?</message>
<example correction="al circo">Sono andato <marker>la circo</marker>.</example>
</rule>
<rule>
<!-- "la" + aggettivo maschile -->
<pattern>
<token>la</token>
<!-- serve il "\+m" con ADJ perché la 'm' compare anche in 'ADJ:comp+f' -->
<token postag="(ADJ.+\+m|DET.+:m).*" postag_regexp="yes">
<!-- 180 + -->
<exception postag="(ADJ.+\+f|DET.+:f).*" postag_regexp="yes"/>
<!-- 180 - -->
</token>
</pattern>
<message>Forse volevi dire <suggestion>al <match no="2"/></suggestion>?</message>
<example correction="al mio">Ho portato un regalo <marker>la mio</marker> papà.</example>
</rule>
<rule>
<!-- "al" + sostantivo femminile -->
<pattern>
<token>al</token>
<!-- 3609558 + -->
<!--
<token postag="NOUN-F:s"></token>
-->
<token postag="NOUN-F:s"><exception postag="NOUN-M:s"/></token>
<!-- 3609558 - -->
</pattern>
<message>Forse volevi dire <suggestion>la <match no="2"/></suggestion>?</message>
<example correction="la mela">Ho mangiato <marker>al mela</marker>.</example>
</rule>
<rule>
<!-- "al" + aggettivo + sostantivo femminile -->
<pattern>
<token>al</token>
<token postag="(ADJ.+\+f|DET.+:f).*" postag_regexp="yes">
<!-- 180 + -->
<exception postag="(ADJ.+\+m|DET.+:m).*" postag_regexp="yes"/>
<!-- 180 - -->
</token>
</pattern>
<message>Forse volevi dire <suggestion>la <match no="2"/></suggestion>?</message>
<example correction="la tua">Ho mangiato <marker>al tua</marker> merenda.</example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'li' e 'il'" id="ER_02_003">
<rule>
<!-- "li" + sostantivo maschile -->
<pattern>
<token>li</token>
<token postag="NOUN-M:s"/>
</pattern>
<message>Forse volevi dire <suggestion>il <match no="2"/></suggestion>?</message>
<example correction="Il gatto"><marker>Li gatto</marker> dormiva tranquillo.</example>
</rule>
<rule>
<!-- "li" + aggettivo + sostantivo maschile -->
<pattern>
<token>li</token>
<!-- serve il "\+m" con ADJ perché la 'm' compare anche in 'ADJ:comp+f' -->
<token postag="(ADJ.+\+m|DET.+:m).*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>il <match no="2"/></suggestion>?</message>
<example correction="Il mio"><marker>Li mio</marker> gatto dormiva tranquillo.</example>
<example correction="Il bel"><marker>Li bel</marker> gatto dormiva tranquillo.</example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'là' e 'la'" id="ER_02_004">
<rule>
<!-- 'là' + sostantivo femminile quasi certamente è 'la' -->
<pattern>
<token>là</token>
<token postag="NOUN-F.*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>la <match no="2"/></suggestion>?</message>
<example correction="La gatta"><marker>Là gatta</marker> dormiva tranquilla.</example>
</rule>
<rule>
<!-- 'là' + aggettivo/articolo/etc. femminile quasi certamente è 'la' -->
<pattern>
<token>là</token>
<token postag="(ADJ.+\+f|DET.+:f).*" postag_regexp="yes"/>
</pattern>
<message>Forse volevi dire <suggestion>la <match no="2"/></suggestion>?</message>
<example correction="La mia"><marker>Là mia</marker> gatta dormiva tranquilla.</example>
</rule>
<rule>
<!-- 'la' prima della punteggiatura quasi certamente è 'là' -->
<pattern>
<token>la</token>
<token regexp="yes">\.|,|;|:|!|\?</token>
</pattern>
<message>Forse volevi dire <suggestion>là<match no="2"/></suggestion>?</message>
<example correction="là.">Mettilo <marker>la.</marker></example>
</rule>
<rule>
<!-- 'la' in fine di frase quasi certamente è 'là' -->
<pattern>
<token>la</token>
<token postag="SENT"/>
</pattern>
<message>Forse volevi dire <suggestion>là<match no="2"/></suggestion>?</message>
<example correction="là.">Mettilo <marker>la.</marker></example>
</rule>
</rulegroup>
<rulegroup name="scambio di 'dà' e 'da'" id="ER_02_005">
<rule>
<!-- dare -->
<pattern>
<!-- PB005+ -->
<!--
<token postag_regexp="yes" postag="PRO-PERS-CLI.*"/>
-->
<token postag_regexp="yes" postag="PRO-PERS-CLI.*"><exception postag="CON"/></token>
<!-- PB005- -->
<marker>
<token>da</token>
</marker>
</pattern>
<message>Probabilmente si scrive con accento: <suggestion>dà</suggestion>.</message>
<example correction="">Luigi mi <marker>da</marker> la mano.</example>
<example>Luigi mi dà la mano.</example>
</rule>
</rulegroup>
</category>
</rules>