diff --git a/lib/src/french/DiffFre.gf b/lib/src/french/DiffFre.gf index fb14b2dd6..c3d2e3bec 100644 --- a/lib/src/french/DiffFre.gf +++ b/lib/src/french/DiffFre.gf @@ -30,7 +30,7 @@ instance DiffFre of DiffRomance - [ artDef : Gender -> Number -> Case -> Str = \g,n,c -> case of { => pre {"du" ; ("de l'" ++ Predef.BIND) / voyelle} ; - => pre {"au" ; ["à l'"] / voyelle} ; + => pre {"au" ; ("à l'" ++ Predef.BIND) / voyelle} ; => elisLe ; => prepCase c ++ elisLa ; <_, Pl, CPrep P_de> => "des" ; @@ -168,7 +168,19 @@ instance DiffFre of DiffRomance - [ relPron : Bool => AAgr => Case => Str = \\b,a,c => let - lequel = artDef a.g a.n c + quelPron ! a + lequel = case of { + => "duquel" ; + => "auquel" ; + => prepCase c ++ "lequel" ; + => prepCase c ++ "laquelle" ; + => "desquelles" ; + <_, Pl, CPrep P_de> => "desquels" ; + => "auxquelles" ; + <_, Pl, CPrep P_a> => "auxquels" ; + => "lesquelles" ; + <_, Pl, _ > => "lesquels" + } ; + ---- artDef a.g a.n c ++ quelPron ! a ---- doesn't compile properly AR 17/3/2014 in case b of { False => case c of { diff --git a/lib/src/french/PhonoFre.gf b/lib/src/french/PhonoFre.gf index 2b0a3277c..4b9bb4268 100644 --- a/lib/src/french/PhonoFre.gf +++ b/lib/src/french/PhonoFre.gf @@ -20,7 +20,7 @@ oper elisLa = pre {"la" ; ("l'" ++ Predef.BIND) / voyelle} ; elisLe = elision "l" ; elisNe = elision "n" ; - elisQue = elision "qu" ; + elisQue = elision "qu" ; -- The subjunction "si" has a special kind of elision. The rule is -- only approximatively correct, for "si" is not really elided before