Grammalecte  Diff

Differences From Artifact [638a00c590]:

To Artifact [910b4a2025]:


4334
4335
4336
4337
4338
4339
4340

4341

4342

4343
4344

4345
4346
4347
4348
4349

4350
4351
4352

4353
4354
4355

4356

4357
4358
4359
4360
4361
4362
4363
4364
__[i](p_vecteur)__                      vecteurs? (accélérations?|positions?|rotations?|vitesses?) @@$ <<- ~1>> *
__[i](p_vernis_à_ongles)__              vernis (à ongles) @@$ <<- ~1>> *
__[i](p_vol_à)__                        vols? (à l(?:’étalage|a (?:sauvette|tire))) @@$ <<- ~1>> *
__[i](p_voie_de_recours)__              voies? (de recours) @@$ <<- ~1>> *
__[i](p_usine_à_gaz)__                  usines? (à gaz) @@$ <<- ~1>> *

# simplification des nombres

__<i]__  dix-(?:sept|huit|neuf) <<- ~>> dix

__[i]__  (?:vingt|trente|quarante|cinquante)(-(?:deux|trois|quatre|cinq|six|sept|huit|neuf|et-un)| et un) @@$ <<- ~1>> *

__[i]__  soixante-(?:d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|quinze|seize| et (?:un|onze)|-et-(?:un|onze))
    <<- ~>> soixante

__[i]__  quatre-vingt-(?:un|d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|onze|quinze|seize)
    <<- ~>> quatre-vingts

__[i]__  ((?:d(?:eux|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|s(?:ix|seize)|sept|huit|neuf|onze|quinze) cents) +({w_2})  @@0,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> cent

__[i]__  (?:deux|trois|quatre|cinq|six|sept|huit|neuf|cent) (?:cent |)mille
    <<- ~>> mille


__[i]__  (?:le(?:ur|)s|des|ses|ces|mes|tes|nos|vos) +((?:quelque +|)(?:d(?:eux|ix|ouze)|tr(?:ois|eize|ente)|qua(?:t(?:re(?:-vingts|)|orze)|rante)|cinq(?:uante|)|s(?:ix|eize|oixante)|sept|huit|neuf|onze|quinze|vingt|cent|mille|\d+)) +({w_2})  @@w,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> *


__[i]__  (?:à |d(?:e +|’))une +heure(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt|décente|(?:très |)tardive)|) <<- ~>> *

__[i]__  (?:à|de) (?:d(?:eu|i)x|tr(?:ois|eize)|qu(?:at(?:re|orze)|inze)|cinq|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt) +heures(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt)|) <<- ~>> *

## Conditionnel
__[i]__  à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i]__  (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i]__  au hasard <<- isEndOfNG() ~>> *
__[i]__  aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i]__  au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A .*:m:s", False) ~>> *







>
|
>
|
>
|

>
|

|
|

>
|


>
|


>
|
>
|







4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
__[i](p_vecteur)__                      vecteurs? (accélérations?|positions?|rotations?|vitesses?) @@$ <<- ~1>> *
__[i](p_vernis_à_ongles)__              vernis (à ongles) @@$ <<- ~1>> *
__[i](p_vol_à)__                        vols? (à l(?:’étalage|a (?:sauvette|tire))) @@$ <<- ~1>> *
__[i](p_voie_de_recours)__              voies? (de recours) @@$ <<- ~1>> *
__[i](p_usine_à_gaz)__                  usines? (à gaz) @@$ <<- ~1>> *

# simplification des nombres
__<i](p_10_qqch)__
    dix-(?:sept|huit|neuf) <<- ~>> dix
__[i](p_20_30_40_50_qqch)__
    (?:vingt|trente|quarante|cinquante)(-(?:deux|trois|quatre|cinq|six|sept|huit|neuf|et-un)| et un) @@$ <<- ~1>> *
__[i](p_60_qqch)__
    soixante-(?:d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|quinze|seize| et (?:un|onze)|-et-(?:un|onze))
    <<- ~>> soixante
__[i](p_80_qqch)__
    quatre-vingt-(?:un|d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|onze|quinze|seize)
    <<- ~>> quatre-vingts
__[i](p_qqch_100)__
    ((?:d(?:eux|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|s(?:ix|seize)|sept|huit|neuf|onze|quinze) cents) +({w_2})  @@0,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> cent
__[i](p_qqch_1000)__
    (?:deux|trois|quatre|cinq|six|sept|huit|neuf|cent) (?:cent |)mille
    <<- ~>> mille

__[i](p_det_plur_nombre_nom)__
    (?:le(?:ur|)s|des|ses|ces|mes|tes|nos|vos) +((?:quelque +|)(?:d(?:eux|ix|ouze)|tr(?:ois|eize|ente)|qua(?:t(?:re(?:-vingts|)|orze)|rante)|cinq(?:uante|)|s(?:ix|eize|oixante)|sept|huit|neuf|onze|quinze|vingt|cent|mille|\d+)) +({w_2})  @@w,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> *

__[i](p_une_heure)__
    (?:à |d(?:e +|’))une +heure(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt|décente|(?:très |)tardive)|) <<- ~>> *
__[i](p_nombre_heure)__
    (?:à|de) (?:d(?:eu|i)x|tr(?:ois|eize)|qu(?:at(?:re|orze)|inze)|cinq|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt) +heures(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt)|) <<- ~>> *

## Conditionnel
__[i]__  à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i]__  (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i]__  au hasard <<- isEndOfNG() ~>> *
__[i]__  aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i]__  au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A .*:m:s", False) ~>> *
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400


4401

4402



4403


4404

4405

4406


4407
4408

4409

4410
4411
4412
4413
4414

4415
4416

4417
4418

4419
4420

4421
4422

4423
4424

4425
4426

4427
4428

4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442

4443

4444
4445
4446
4447
4448
4449
4450
    <<- not morph(\2, ":Y", False) ~1>> *
#__[i]__  avec ({w1}) <<- morph(\1, ":N") and not re.search("(?i)^(force|air)$", \1) and not morph(word(1), ":A", False) ~>> *
__[i]__  ({w_2}) +(tête baissée) @@0,$ <<- morphex(\1, ":[NV]", ":D") ~2>> *
__[i]__  ((?:pas |)tant que ça) ({w1}) @@0,$ <<- not morph(\2, ":(?:3s|X)", False) ~1>> *
__[i]__  (?:le|un|ce|[mts]on) (putain d(?:e +|’))({w_2}) @@*,$ <<- morph(\2, ":[me]", False) ~1>> *

# Noms propres
__[i]__  cocktails? (Molotov) @@$ <<- ~1>> *
__[i]__  effets? (Streisand) @@$ <<- ~1>> *
__[i]__  prix (Nobel) @@5 <<- ~1>> *
__[s]__  Amérique (centrale|du (?:Nord|Sud)) @@$ <<- ~1>> *


__[s]__  ([A-ZÉÈÂ][\w-]+) ([A-ZÉÈÂ][\w-]+) @@0,$ <<- morph(\1, ":M[12]", False) and (morph(\2, ":(?:M[12]|V)", False) or not spell(\2)) ~2>> *

__[s]__  (?:de |d’)([A-ZÉÈÂ][\w-]+) +(?:et|ou) +(?:de |d’)([A-ZÉÈÂ][\w-]+) @@w,$ <<- morph(\1, ":M", False) and morph(\2, ":M", False) ~>> *



__[s]__  (?:de |d’)([A-ZÉÈÂ][\w-]+) @@$ <<- morph(\1, ":M", False) or not spell(\1) ~>> *


__[s]__  entre ([A-ZÉÈÂ][\w-]*) +et ([A-ZÉÈÂ][\w-]*) @@6,$ <<- morph(\1, ":(?:M[12]|N)") and morph(\2, ":(?:M[12]|N)") ~>> *

__[s]__  en ([A-ZÉ][\w-]+) @@3 <<- morph(\1, ":MP") ~>> *

__[u]__  (?:[lc]e|du) (?:baron|docteur|député|duc|frère|prince|professeur|roi|sénateur|mir) ([A-ZÉÈÂ][\w-]+) @@$ <<- morph(\1, ":M[12]", False) ~1>> *


__[u]__  (?:la|cette) (?:baronne|docteure?|députée|duchesse|sœur|princesse|professeure?|reine|sénatrice) ([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M[12]", False) ~1>> *

__[s]__  M(?:r|lle|me|gr|iss) ([A-ZÉÈÂ][\w-]+) @@$ <<- ~1>> *

__[s]__  ([A-ZÉÈÊ][\w-]+) +et (lui|elles?|eux|[nv]ous|[mt]oi) @@0,$
    <<- morph(\1, ":[MT]", False) and morph(word(-1), ":Cs", False, True) and not before(r"\b(?:plus|moins|aussi) .* que +$")
    ~>> =rewriteSubject(\1,\2)

# après être, après avoir

__[i]__  ({etre}) +(à jamais|un jour|sous peu|du moins|avant tout|de passage|frère et sœur|mari et femme|père et mère|papa et maman|monnaie courante|pieds et poings liés|partie (?:intégrante|prenante))  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *

__[i]__  ([ésf]\w+)-(?:ils|[nv]ous|elles) +(frère et sœur|mari et femme|père et mère|papa et maman|bon marché|meilleur marché)  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *

__[i]__  ({w1}) +(on ne peut (?:pas |)(?:plus|moins)|plus que) +({w2})  @@0,w,$
    <<- morph(\1, ":(?:V0e|N)", False) and morph(\3, ":[AQ]", False) ~2>> *

__[i]__  ({avoir_etre}) +(pas|jamais|plus|en partie|point|tous (?:deux|trois)|somme toute)  @@0,$
    <<- morph(\1, ":V0", False) ~2>> *

__[i]__  ({avoir_etre}) +(beaucoup|bien entendu|dans (?:leur |son |l’)ensemble|à ce(?:t (?:instant|endroit)| moment)|sans peine|un (?:moment|peu|minimum|petit peu|tout petit peu)) +({w_2})  @@0,w,$
    <<- morph(\1, ":V0", False) and morph(\3, ":[QY]", False) ~2>> *

__[i]__  ({avoir}) +(besoin|bon (?:dos|pied,? bon œil)|confiance|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) and not (\2 == "crainte" and before(r"\w")) ~2>> *

__[i]__  ({avoir})-(?:je|tu|ils?|elles?|nous|vous|on) +(besoin|bon (?:dos|pied,? bon œil)|confiance|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) ~2>> *

__[i]__  ({avoir}) +(tou(?:te|)s les ({w_2})) +({w_2})  @@0,w,>3:$,$
    <<- morph(\1, ":V0a", False) and morph(\3, ":B", False) and morph(\4, ":(?:Q|V1.*:Y)", False) ~2>> *

# elle aussi + adj
__[i]__  (elle aussi) +({w_3}) @@0,$ <<- morph(\2, ":A:[fe]:s", False) ~1>> *
__[i]__  (elles aussi) +({w_3}) @@0,$ <<- morph(\2, ":A:[fe]:p", False) ~1>> *

# après verbe
__[i]__  ({w1}) (?:pas |)(jour et nuit|quand même(?: pas|)) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i]__  ({w_2}) (bien entendu|juste|ensemble) @@0,$ <<- morph(\1, ":V[123]") ~2>> *
__[i]__  ({w_2}) ((?:fort|très|super) (?:bien|mal)|bien|mal) @@0,$ <<- morph(\1, ":V[123]", False) ~2>> *
__[i]__  ({w_1}) ((?:[mt]oi|[nv]ous|elles?|lui|eux) aussi) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i]__  (?:tout |)aussi <<- ~>> *
__[i]__  aussi(?:tôt|) <<- ~>> *

__[i]__  ({w_1}) (même) @@0,$ <<- morphex(\1, ":V", ":G") ~2>> *


# avant adjectifs, avant adverbes
__[i](p_au_moins)__
    (au moins) ({w_2})  @@0,$
    <<- not morph(\2, "[NAQ].*:[me]:[si]", False) ~1>> *
__[i](p_le_xxx_le_plus_adj)__
    le ({w_2}) (le plus) ({w_2})  @@3,w,$







|
|
|
|
>
>
|
>
|
>
>
>
|
>
>
|
>
|
>
|
>
>
|

>
|
>
|




>
|

>
|

>
|

>
|

>
|

>
|

>
|

>
|



|
|


|
|
|
<
|
|
>
|
>







4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469

4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
    <<- not morph(\2, ":Y", False) ~1>> *
#__[i]__  avec ({w1}) <<- morph(\1, ":N") and not re.search("(?i)^(force|air)$", \1) and not morph(word(1), ":A", False) ~>> *
__[i]__  ({w_2}) +(tête baissée) @@0,$ <<- morphex(\1, ":[NV]", ":D") ~2>> *
__[i]__  ((?:pas |)tant que ça) ({w1}) @@0,$ <<- not morph(\2, ":(?:3s|X)", False) ~1>> *
__[i]__  (?:le|un|ce|[mts]on) (putain d(?:e +|’))({w_2}) @@*,$ <<- morph(\2, ":[me]", False) ~1>> *

# Noms propres
__[i](p_cocktail_Molotov)__     cocktails? (Molotov) @@$ <<- ~1>> *
__[i](p_effet_Streisand)__      effets? (Streisand) @@$ <<- ~1>> *
__[i](p_prix_Nobel)__           prix (Nobel) @@5 <<- ~1>> *
__[s](p_Amérique)__             Amérique (centrale|du (?:Nord|Sud)) @@$ <<- ~1>> *
__[s](p_nom_propre_nom_propre)__
    ([A-ZÉÈÂ][\w-]+) ([A-ZÉÈÂ][\w-]+) @@0,$
    <<- morph(\1, ":M[12]", False) and (morph(\2, ":(?:M[12]|V)", False) or not spell(\2)) ~2>> *
__[s](p_de_nom_propre_et_ou_de_nom_propre)__
    (?:de |d’)([A-ZÉÈÂ][\w-]+) +(?:et|ou) +(?:de |d’)([A-ZÉÈÂ][\w-]+) @@w,$
    <<- morph(\1, ":M", False) and morph(\2, ":M", False) ~>> *
__[s](p_de_nom_propre)__
    (?:de |d’)([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M", False) or not spell(\1) ~>> *
__[s](p_entre_nom_propre_et_nom_propre)__
    entre ([A-ZÉÈÂ][\w-]*) +et ([A-ZÉÈÂ][\w-]*) @@6,$
    <<- morph(\1, ":(?:M[12]|N)") and morph(\2, ":(?:M[12]|N)") ~>> *
__[s](p_en_nom_propre)__
    en ([A-ZÉ][\w-]+) @@3 <<- morph(\1, ":MP") ~>> *
__[u](p_titre_masculin_nom_propre)__
    (?:[lc]e|du) (?:baron|docteur|député|duc|frère|prince|professeur|roi|sénateur|mir) ([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M[12]", False) ~1>> *
__[u](p_titre_féminin_nom_propre)__
    (?:la|cette) (?:baronne|docteure?|députée|duchesse|sœur|princesse|professeure?|reine|sénatrice) ([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M[12]", False) ~1>> *
__[s](p_titre_abrégé_nom_propre)__
    M(?:r|lle|me|gr|iss) ([A-ZÉÈÂ][\w-]+) @@$ <<- ~1>> *
__[s](p_nom_propre_et_pronom)__
    ([A-ZÉÈÊ][\w-]+) +et (lui|elles?|eux|[nv]ous|[mt]oi) @@0,$
    <<- morph(\1, ":[MT]", False) and morph(word(-1), ":Cs", False, True) and not before(r"\b(?:plus|moins|aussi) .* que +$")
    ~>> =rewriteSubject(\1,\2)

# après être, après avoir
__[i](p_être_qqch)__
    ({etre}) +(à jamais|un jour|sous peu|du moins|avant tout|de passage|frère et sœur|mari et femme|père et mère|papa et maman|monnaie courante|pieds et poings liés|partie (?:intégrante|prenante))  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *
__[i](p_être_pronom_qqch)__
    ([ésf]\w+)-(?:ils|[nv]ous|elles) +(frère et sœur|mari et femme|père et mère|papa et maman|bon marché|meilleur marché)  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *
__[i](p_qqch_on_ne_peut_plus_que)__
    ({w1}) +(on ne peut (?:pas |)(?:plus|moins)|plus que) +({w2})  @@0,w,$
    <<- morph(\1, ":(?:V0e|N)", False) and morph(\3, ":[AQ]", False) ~2>> *
__[i](p_avoir_être_loc_adv1)__
    ({avoir_etre}) +(pas|jamais|plus|en partie|point|tous (?:deux|trois)|somme toute)  @@0,$
    <<- morph(\1, ":V0", False) ~2>> *
__[i](p_avoir_être_loc_adv2)__
    ({avoir_etre}) +(beaucoup|bien entendu|dans (?:leur |son |l’)ensemble|à ce(?:t (?:instant|endroit)| moment)|sans peine|un (?:moment|peu|minimum|petit peu|tout petit peu)) +({w_2})  @@0,w,$
    <<- morph(\1, ":V0", False) and morph(\3, ":[QY]", False) ~2>> *
__[i](p_avoir_loc_adv)__
    ({avoir}) +(besoin|bon (?:dos|pied,? bon œil)|confiance|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) and not (\2 == "crainte" and before(r"\w")) ~2>> *
__[i](p_avoir_pronom_loc_adv)__
    ({avoir})-(?:je|tu|ils?|elles?|nous|vous|on) +(besoin|bon (?:dos|pied,? bon œil)|confiance|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) ~2>> *
__[i](p_avoir_tous_toutes_les)__
    ({avoir}) +(tou(?:te|)s les ({w_2})) +({w_2})  @@0,w,>3:$,$
    <<- morph(\1, ":V0a", False) and morph(\3, ":B", False) and morph(\4, ":(?:Q|V1.*:Y)", False) ~2>> *

# elle aussi + adj
__[i](p_elle_aussi)__   (elle aussi) +({w_3}) @@0,$ <<- morph(\2, ":A:[fe]:s", False) ~1>> *
__[i](p_elles_aussi)__  (elles aussi) +({w_3}) @@0,$ <<- morph(\2, ":A:[fe]:p", False) ~1>> *

# après verbe
__[i](p_verbe_loc_adv1)__   ({w1}) (?:pas |)(jour et nuit|quand même(?: pas|)) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_verbe_loc_adv2)__   ({w_2}) (bien entendu|juste|ensemble) @@0,$ <<- morph(\1, ":V[123]") ~2>> *
__[i](p_verbe_loc_adv3)__   ({w_2}) ((?:fort|très|super) (?:bien|mal)|bien|mal) @@0,$ <<- morph(\1, ":V[123]", False) ~2>> *

__[i](p_tout_aussi)__       (?:tout |)aussi <<- ~>> *
__[i](p_aussi_aussitôt)__   aussi(?:tôt|) <<- ~>> *
__[i](p_verbe_pronom_aussi)__   ({w_1}) ((?:[mt]oi|[nv]ous|elles?|lui|eux) aussi) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_verbe_même)__       ({w_1}) (même) @@0,$ <<- morphex(\1, ":V", ":G") ~2>> *


# avant adjectifs, avant adverbes
__[i](p_au_moins)__
    (au moins) ({w_2})  @@0,$
    <<- not morph(\2, "[NAQ].*:[me]:[si]", False) ~1>> *
__[i](p_le_xxx_le_plus_adj)__
    le ({w_2}) (le plus) ({w_2})  @@3,w,$