Index: compile_rules_graph.py ================================================================== --- compile_rules_graph.py +++ compile_rules_graph.py @@ -38,19 +38,19 @@ "tokenize a string and return a list of lines of tokens" lToken = sTokenLine.split() lTokenLines = None for i, sToken in enumerate(lToken): # optional token? - bNullPossible = sToken.startswith("?") and sToken.endswith("?") + bNullPossible = sToken.startswith("?") and sToken.endswith("¿") if bNullPossible: sToken = sToken[1:-1] # token with definition? if sToken.startswith("({") and sToken.endswith("})") and sToken[1:-1] in dDef: sToken = "(" + dDef[sToken[1:-1]] + ")" elif sToken.startswith("{") and sToken.endswith("}") and sToken in dDef: sToken = dDef[sToken] - if ( (sToken.startswith("[") and sToken.endswith("]")) or (sToken.startswith("([") and sToken.endswith("])")) or (sToken.startswith("?[") and sToken.endswith("]?")) ): + if ( (sToken.startswith("[") and sToken.endswith("]")) or (sToken.startswith("([") and sToken.endswith("])")) ): # multiple token bSelectedGroup = sToken.startswith("(") and sToken.endswith(")") if bSelectedGroup: sToken = sToken[1:-1] lNewToken = sToken[1:-1].split("|") Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -4860,29 +4860,27 @@ @@@@ @@@@ # Dates __dates__ - >depuis le [1er|1ᵉʳ|~\d\d?] {mois} - >depuis le [1er|1ᵉʳ|~\d\d?] {mois} [dernier|prochain|~\d{2,5}] - [>le|>du|>au] [1er|1ᵉʳ|~\d\d?] {mois} - [>le|>du|>au] [1er|1ᵉʳ|~\d\d?] {mois} [dernier|prochain|~\d{2,5}] - [jusqu’|Jusqu’|jusqu|Jusqu] au [1er|1ᵉʳ|~\d\d?] {mois} - [jusqu’|Jusqu’|jusqu|Jusqu] au [1er|1ᵉʳ|~\d\d?] {mois} [dernier|prochain|~\d{2,5}] - >à compter du [1er|1ᵉʳ|~\d\d?] {mois} - >à compter du [1er|1ᵉʳ|~\d\d?] {mois} [dernier|prochain|~\d{2,5}] + >depuis le [1er|1ᵉʳ|~\d\d?] {mois} ?[dernier|prochain|~\d{2,5}]¿ + [>le|>du|>au] [1er|1ᵉʳ|~\d\d?] {mois} ?[dernier|prochain|~\d{2,5}]¿ + [jusqu’|Jusqu’|jusqu|Jusqu] au [1er|1ᵉʳ|~\d\d?] {mois} ?[dernier|prochain|~\d{2,5}]¿ + >à compter du [1er|1ᵉʳ|~\d\d?] {mois} ?[dernier|prochain|~\d{2,5}]¿ >en l’ an ~\d{2,5} >en l’ an de grâce ~\d{2,5} >en {mois} ~\d{2,5} [>de|d’|D’] {mois} ~\d{2,5} >en ~\d{2,5} [,|] >en ~\d{2,5} @:¬:[AN].*:[pi] de ~\d{2,5} @:A.*:s - >à la {mi_mois} - >à la {mi_mois} ~\d{2,5} + >à la {mi_mois} ?~\d{2,5}¿ <<- ~>> * +TEST: ils sont depuis le 2 janvier {{parti}} à l’étranger. +TEST: ils sont depuis le 2 janvier 2012 {{parti}} à l’étranger. + __saisons__ >à l’ [été|automne|hiver] ~\d{2,4} >au printemps ~\d{2,4} <<- ~>> * @@ -4921,53 +4919,48 @@ __purge_avant__ >dès [maintenant|lors|aujourd’hui] >dès à présent >dès que possible - >dès [demain|hier] - >dès [demain|hier] [soir|matin|après-midi] + >dès [demain|hier] ?[soir|matin|après-midi]¿ >et ainsi de suite >et tutti quanti >et / >ou - >ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] - >ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] , ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] + >ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] ?,¿ ni [à|avec|contre|pour|chez|sur|sous|devant|derrière] [moi|toi|lui|elle|elles|eux|nous|vous] >quant à présent <<- ~>> * __horaires__ 24 [heures|h] [sur|/] 24 7 [jours|j] [sur|/] 7 >sept [jours|j] [sur|/] sept - >vingt-quatre heures sur vingt-quatre + >vingt-quatre heures [sur|/] vingt-quatre <<- ~>> * __loc_de_début_phrase__ >car - >et - >et puis + >et ?puis¿ >mais >or donc >puis [m’|M’] est avis [que|qu’|qu] <<- ~>> * -__à_horaires__ - >à ~\d\d? h - >à ~\d\d? h ~\d\d? - >à ~\d\d? h [du|ce] [matin|soir] - >à ~\d\d? h ~\d\d? [du|ce] [matin|soir] - >à ~\d\d? h de l’ après-midi - >à ~\d\d? h ~\d\d? de l’ après-midi - >à ~\d\d? h cet après-midi - >à ~\d\d? h ~\d\d? cet après-midi - >à ~\d\d? h demain [matin|soir|après-midi] - >à ~\d\d? h ~\d\d? demain [matin|soir|après-midi] +__horaires__ + [>à|>de] ~\d\d? h ?~\d\d?¿ + [>à|>de] ~\d\d? h ?~\d\d?¿ [du|ce] [matin|soir] + [>à|>de] ~\d\d? h ?~\d\d?¿ de l’ après-midi + [>à|>de] ~\d\d? h ?~\d\d?¿ cet après-midi + [>à|>de] ~\d\d? h ?~\d\d?¿ demain [matin|soir|après-midi] <<- ~>> * - + +TEST: Le train de 2 h 47 {{arriveraient}} en retard. +TEST: Le train de 2 h 47 du matin {{arriveraient}} en retard. + __loc_à__ >à ~\d+(?:,\d+|) % >à [autrui|bâbord|califourchon|chacun|confesse|contrecœur|contre-cœur|contretemps|demi-mot|foison|grand-peine|loisir|merveille|moitié|nouveau|outrance|peine|perpétuité|présent|raison|rallonge|rebrousse-poil|reculons|regret|renverse|risque|tâtons|tort|tribord|tout-va] >à aucun prix @@ -4983,17 +4976,15 @@ >à bout de [bras|souffle|force|forces|nerf|nerfs] >à bout [portant|touchant] >à bras ouverts >à bras le corps >à brève échéance - >à but lucratif - >à but non lucratif + >à but ?non¿ lucratif >à cause [de|d’] [ça|moi|toi|lui|nous|vous|elle|elles|eux] >à ce [compte-là|moment-là|titre] >à cet égard - >à cet instant - >à cet instant précis + >à cet instant ?[exact|précis]¿ >à cette [date|occasion] >à cette époque >à cette époque de l’année >à cette heure >à cette heure du jour @@ -5073,12 +5064,11 @@ >à mains nues >à maints égards >à maintes reprises >à marche forcée >à merveille - >à [midi|minuit] - >à [midi|minuit] pile + >à [midi|minuit] ?pile¿ >à [mi-course|mi-distance|mi-temps] >à moindres frais >à mots couverts >à moyen terme >à moyenne échéance @@ -5095,12 +5085,11 @@ >à n’ en point douter >à parler franc >à part [entière|ça|cela|ceci] >à parts égales >à partir [de|d’] [aujourd’hui|ici|là|maintenant|rien] - >à partir [de|d’] [demain|hier] - >à partir [de|d’] [demain|hier] [matin|midi|soir] + >à partir [de|d’] [demain|hier] ?[matin|midi|soir]¿ >à pas de [géant|loup|tortue|velours] >à personne en danger >à perte de vue >à petit feu >à petite [dose|échelle] @@ -5133,12 +5122,11 @@ >à somme nulle >à tel point >à temps [plein|partiel|complet] >à tête reposée >à tire d’ [aile|ailes] - >à tire-d’aile - >à tire-d’ailes + >à [tire-d’aile|tire-d’ailes] >à titre [conservatoire|expérimental|indicatif|informatif|grâcieux|personnel|posthume] >à titre d’ exemple >à tombeau ouvert >à tort ou à raison >à tort et à travers