Grammalecte  Check-in [079e65db1c]

Overview
Comment:[build][fr] darg builder: optional token with ? and ¿ signs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fr | build | rg
Files: files | file ages | folders
SHA3-256: 079e65db1c85b44b708319ca0754689e2d5a20d7693cdca49a0a7d1465cb0703
User & Date: olr on 2018-06-18 15:00:00
Other Links: branch diff | manifest | tags
Context
2018-06-18
18:07
[fr] conversion: regex rules -> graph rules check-in: 4dd0153de3 user: olr tags: fr, rg
15:00
[build][fr] darg builder: optional token with ? and ¿ signs check-in: 079e65db1c user: olr tags: fr, build, rg
14:23
[core] variable renaming to avoid confusion check-in: 0a9a5192b6 user: olr tags: core, rg
Changes

Modified compile_rules_graph.py from [1c73a8473c] to [11960e859e].

36
37
38
39
40
41
42
43

44
45
46
47
48
49
50
51

52
53
54
55
56
57
58
36
37
38
39
40
41
42

43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
58







-
+







-
+








def genTokenLines (sTokenLine, dDef):
    "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("|")
            if not lTokenLines:
                lTokenLines = [ [s]  for s  in lNewToken ]

Modified gc_lang/fr/rules.grx from [817c2f4a81] to [d9185b38ce].

4858
4859
4860
4861
4862
4863
4864
4865

4866
4867

4868
4869
4870

4871
4872

4873
4874
4875
4876
4877
4878
4879
4880
4881

4882
4883



4884
4885
4886
4887
4888
4889
4890
4858
4859
4860
4861
4862
4863
4864

4865


4866



4867


4868
4869
4870
4871
4872
4873
4874
4875


4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888







-
+
-
-
+
-
-
-
+
-
-
+







-
-
+


+
+
+







@@@@
@@@@
@@@@
@@@@

# Dates
__dates__
    >depuis le                          [1er|1ᵉʳ|~\d\d?]  {mois}
    >depuis le                          [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}
    [>le|>du|>au]                       [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}
    [jusqu’|Jusqu’|jusqu|Jusqu]  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}
    >à  compter  du                     [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}  [,|<end>]
    >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}
        <<- ~>> *

TEST: Une étude de 2005 publiée dans le Journal
4919
4920
4921
4922
4923
4924
4925
4926

4927
4928
4929
4930
4931

4932
4933
4934
4935
4936
4937
4938
4939
4940
4941

4942
4943
4944
4945
4946
4947
4948

4949
4950
4951
4952
4953
4954
4955
4956
4957


4958
4959

4960
4961

4962
4963

4964
4965

4966
4967
4968




4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988

4989
4990
4991
4992
4993

4994
4995
4996
4997
4998
4999
5000
5001
4917
4918
4919
4920
4921
4922
4923

4924

4925
4926
4927

4928

4929
4930
4931
4932
4933
4934
4935
4936

4937
4938
4939
4940
4941
4942


4943
4944
4945
4946
4947
4948
4949
4950


4951
4952


4953


4954


4955


4956

4957

4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980

4981

4982
4983
4984

4985

4986
4987
4988
4989
4990
4991
4992







-
+
-



-
+
-








-
+





-
-
+







-
-
+
+
-
-
+
-
-
+
-
-
+
-
-
+
-

-
+
+
+
+



















-
+
-



-
+
-








## Avant

__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__
    <start>  >car
    <start>  >et
    <start>  >et  puis
    <start>  >et  ?puis¿
    <start>  >mais    
    <start>  >or  donc
    <start>  >puis
    <start>  [m’|M’]  est   avis  [que|qu’|qu]
        <<- ~>> *


__horaires__
      ~\d\d?  h
__horaires__
    [>à|>de]  ~\d\d?  h  ?~\d\d?¿
    >à  ~\d\d?  h  ~\d\d?
      ~\d\d?  h           [du|ce]  [matin|soir]
    [>à|>de]  ~\d\d?  h  ?~\d\d?¿   [du|ce]  [matin|soir]
    >à  ~\d\d?  h  ~\d\d?   [du|ce]  [matin|soir]
      ~\d\d?  h           de  l’ après-midi
    [>à|>de]  ~\d\d?  h  ?~\d\d?¿   de  l’ après-midi
    >à  ~\d\d?  h  ~\d\d?   de  l’ après-midi
      ~\d\d?  h           cet  après-midi
    [>à|>de]  ~\d\d?  h  ?~\d\d?¿   cet  après-midi
    >à  ~\d\d?  h  ~\d\d?   cet  après-midi
      ~\d\d?  h           demain  [matin|soir|après-midi]
    [>à|>de]  ~\d\d?  h  ?~\d\d?¿   demain  [matin|soir|après-midi]
    >à  ~\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
    >à  autre chose
    >à  bas [cout|coût|prix]
    >à  bâtons rompus
    >à  beaucoup près
    >à  belles dents
    >à  bien des égards
    >à  bien pire
    >à  bien y [penser|réfléchir|songer|repenser]
    >à  bon [compte|escient|droit]
    >à  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 ?[exact|précis]¿
    >à  cet instant précis
    >à  cette [date|occasion]
    >à  cette époque
    >à  cette époque de l’année
    >à  cette heure
    >à  cette heure du jour
    >à  cette heure de la [journée|nuit]
    >à  cette heure [tardive|matinale]
5071
5072
5073
5074
5075
5076
5077
5078
5079

5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101

5102
5103
5104
5105
5106
5107
5108
5062
5063
5064
5065
5066
5067
5068


5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089


5090
5091
5092
5093
5094
5095
5096
5097







-
-
+




















-
-
+







    >à  loyer modéré
    >à  main [armée|droite|gauche|levée]
    >à  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
    >à  [mes|tes|ses|nos|vos|leurs] [côtés|dépens|trousses]
    >à  [mes|tes|ses|nos|vos|leurs] risques et périls
    >à  [ma|ta|sa|notre|votre|leur] [connaissance|disposition|guise|portée]
    >à  [ma|ta|sa|notre|votre|leur] grande [surprise|tristesse]
    >à  [ma|ta|sa|notre|votre|leur] juste mesure
    >à  [mon|ton|son|notre|votre|leur] [avis|détriment|encontre|égard|insu|sujet|tour]
    >à  [mon|ton|son|notre|votre|leur] [cœur|corps] défendant
    >à  [mon|ton|son|notre|votre|leur] grand [désarroi|soulagement]
    >à  n’ en pas douter
    >à  n’ en plus finir
    >à  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]
    >à  peu de choses près
    >à  peu de [distance|frais]
5131
5132
5133
5134
5135
5136
5137
5138
5139

5140
5141
5142
5143
5144
5145
5146
5120
5121
5122
5123
5124
5125
5126


5127
5128
5129
5130
5131
5132
5133
5134







-
-
+







    >à  rude épreuve
    >à  s’ y méprendre
    >à  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
    >à  tour de  [bras|rôle]
    >à  tout [âge|crin|instant|jamais|moment|prix]