Index: gc_core/py/lang_core/gc_engine.py ================================================================== --- gc_core/py/lang_core/gc_engine.py +++ gc_core/py/lang_core/gc_engine.py @@ -183,11 +183,11 @@ bCondMemo = not sFuncCond or globals()[sFuncCond](s, sx, m, dTokenPos, sCountry, bCondMemo) if bCondMemo: if cActionType == "-": # grammar error nErrorStart = nOffset + m.start(eAct[0]) - if nErrorStart not in dErrs or nPriority > dPriority[nErrorStart]: + if nErrorStart not in dErrs or nPriority > dPriority.get(nErrorStart, -1): dErrs[nErrorStart] = _createRegexError(s, sx, sWhat, nOffset, m, eAct[0], sLineId, sRuleId, bUppercase, eAct[1], eAct[2], bShowRuleId, sOption, bContext) dPriority[nErrorStart] = nPriority elif cActionType == "~": # text processor s = _rewrite(s, sWhat, eAct[0], m, bUppercase) @@ -714,11 +714,11 @@ # grammar error nTokenErrorStart = nTokenOffset + eAct[0] nTokenErrorEnd = (nTokenOffset + eAct[1]) if eAct[1] else nLastToken nErrorStart = self.nOffsetWithinParagraph + self.lToken[nTokenErrorStart]["nStart"] nErrorEnd = self.nOffsetWithinParagraph + self.lToken[nTokenErrorEnd]["nEnd"] - if nErrorStart not in dErrs or eAct[2] > dPriority[nErrorStart]: + if nErrorStart not in dErrs or eAct[2] > dPriority.get(nErrorStart, -1): dErrs[nErrorStart] = self.createError(sWhat, nTokenOffset, nTokenErrorStart, nErrorStart, nErrorEnd, sLineId, sRuleId, True, eAct[3], eAct[4], bShowRuleId, "notype", bContext) dPriority[nErrorStart] = eAct[2] if bDebug: print("-", sRuleId, dErrs[nErrorStart]) elif cActionType == "~": Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -4826,17 +4826,10 @@ TEST: __neg__ On {{en}} a pas. TEST: __neg__ Il {{y}} a jamais d’eau. - - - - - - - @@@@ @@@@ @@@@ @@@@ @@@@GRAPH: graphe1 @@ -4857,34 +4850,34 @@ ne [pas|plus|jamais|guère] [beaucoup|trop|rien] <<- ~3>> * __infi_ne_xxx__ - ne [pas|rien|guère|point] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] non plus [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ non plus [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ non plus [me|te|nous|vous] [le|la|les] (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") - ne [pas|rien|guère|point] non plus [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") - ne jamais ?[rien|plus]¿ non plus [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") - ne plus ?[jamais|rien|guère]¿ non plus [le|la|les] [lui|leur] (@:¬:(?:Y|W|O[ow])|>que?/") + ne [pas|rien|guère|point] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] non plus [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ non plus [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ non plus [me|te|nous|vous] [le|la|les] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne [pas|rien|guère|point] non plus [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne jamais ?[rien|plus]¿ non plus [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") + ne plus ?[jamais|rien|guère]¿ non plus [le|la|les] [lui|leur] (@:[VNA]¬:(?:Y|W|X|O[ow])|>que?/") <<- -1>> =suggVerbInfi(\1) # Le verbe devrait être à l’infinitif. TEST: ne jamais les {{cédé}} TEST: ne point nous {{donné}} TEST: ne rien {{finit}}