diff --git a/lib/src/french/MakeStructuralFre.gf b/lib/src/french/MakeStructuralFre.gf index d7d18a4f6..5969d05a9 100644 --- a/lib/src/french/MakeStructuralFre.gf +++ b/lib/src/french/MakeStructuralFre.gf @@ -3,8 +3,13 @@ resource MakeStructuralFre = open CatFre, (P = ParadigmsFre), MorphoFre, Prelude in { oper - mkConj : Str -> Str -> Number -> Conj = \x,y,n -> - {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + + mkConj = overload { + mkConj : Str -> Conj = \s -> lin Conj {s1 = [] ; s2 = s ; n = Pl} ; + + mkConj : Str -> Str -> Number -> Conj = \x,y,n -> + {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + } ; mkSubj : Str -> Subj = \x -> {s = x ; m = Indic ; lock_Subj = <>} ; mkSubjSubj : Str -> Subj = \x -> @@ -31,5 +36,12 @@ oper a = if_then_else PAgr p (PAg Sg) PNoAg ---- e,g, "chacun de"; other possibilities? } ; + mkInterj : Str -> Interj = \s -> lin Interj (ss s) ; + mkDet = overload { + mkDet : Str -> Det = \s -> lin Det {s,sp = \\_,c => prepCase c ++ s ; n = Sg ; s2 = [] ; isNeg = False} ; + mkDet : Str -> Str -> Number -> Det = \m,f,n -> lin Det { + s,sp = \\g,c => prepCase c ++ case g of {Masc => m ; Fem => f} ; n = n ; s2 = [] ; isNeg = False + } ; + } ; } diff --git a/lib/src/french/PhonoFre.gf b/lib/src/french/PhonoFre.gf index 31c7ccda3..30118d065 100644 --- a/lib/src/french/PhonoFre.gf +++ b/lib/src/french/PhonoFre.gf @@ -28,6 +28,6 @@ oper -- only approximatively correct, for "si" is not really elided before -- the string "il" in general, but before the pronouns "il" and "ils". - elisSi = pre {"si" ; "s'" / strs {"il"}} ; + elisSi = pre {"si" ; ("s'" ++ Predef.BIND) / strs {"il"}} ; } diff --git a/lib/src/romance/VerbRomance.gf b/lib/src/romance/VerbRomance.gf index e08d4cbb0..9de658fa5 100644 --- a/lib/src/romance/VerbRomance.gf +++ b/lib/src/romance/VerbRomance.gf @@ -21,7 +21,7 @@ incomplete concrete VerbRomance of Verb = SlashV2V v vp = mkVPSlash v.c2 (insertComplement - (\\a => prepCase v.c3.c ++ infVP vp a) + (\\a => v.c3.s ++ prepCase v.c3.c ++ infVP vp a) (predV v)) ; SlashV2S v s =