mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
French structural words and VV
This commit is contained in:
@@ -58,6 +58,8 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
|||||||
|
|
||||||
conjThan = elisQue ;
|
conjThan = elisQue ;
|
||||||
|
|
||||||
|
clitInf cli inf = cli ++ inf ;
|
||||||
|
|
||||||
copula : Verb = {s = table VF ["être";"suis";"es";"est";"sommes";"êtes";"sont";"sois";"sois";"soit";"soyons";"soyez";"soient";"étais";"étais";"était";"étions";"étiez";"étaient";"fusse";"fusses";"fût";"fussions";"fussiez";"fussent";"fus";"fus";"fut";"fûmes";"fûtes";"furent";"serai";"seras";"sera";"serons";"serez";"seront";"serais";"serais";"serait";"serions";"seriez";"seraient";"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VHabere} ;
|
copula : Verb = {s = table VF ["être";"suis";"es";"est";"sommes";"êtes";"sont";"sois";"sois";"soit";"soyons";"soyez";"soient";"étais";"étais";"était";"étions";"étiez";"étaient";"fusse";"fusses";"fût";"fussions";"fussiez";"fussent";"fus";"fus";"fut";"fûmes";"fûtes";"furent";"serai";"seras";"sera";"serons";"serez";"seront";"serais";"serais";"serait";"serions";"seriez";"seraient";"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VHabere} ;
|
||||||
|
|
||||||
avoir_V : Verb = {s=table VF ["avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait";"ayons";"ayez";"aient";"avais";"avais";"avait";"avions";"aviez";"avaient";"eusse";"eusses";"eût";"eussions";"eussiez";"eussent";"eus";"eus";"eut";"eûmes";"eûtes";"eurent";"aurai";"auras";"aura";"aurons";"aurez";"auront";"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VHabere};
|
avoir_V : Verb = {s=table VF ["avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait";"ayons";"ayez";"aient";"avais";"avais";"avait";"avions";"aviez";"avaient";"eusse";"eusses";"eût";"eussions";"eussiez";"eussent";"eus";"eus";"eut";"eûmes";"eûtes";"eurent";"aurai";"auras";"aura";"aurons";"aurez";"auront";"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VHabere};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete StructuralFre of Structural = CatFre **
|
concrete StructuralFre of Structural = CatFre **
|
||||||
open PhonoFre, MorphoFre, ParadigmsFre, Prelude in {
|
open PhonoFre, MorphoFre, ParadigmsFre, VerbsFre, Prelude in {
|
||||||
|
|
||||||
flags optimize=all ;
|
flags optimize=all ;
|
||||||
|
|
||||||
@@ -7,8 +7,9 @@ lin
|
|||||||
|
|
||||||
above_Prep = {s = ["au dessus"] ; c = genitive ; isDir = False} ;
|
above_Prep = {s = ["au dessus"] ; c = genitive ; isDir = False} ;
|
||||||
after_Prep = mkPreposition "après" ;
|
after_Prep = mkPreposition "après" ;
|
||||||
-- all_Predet = toutDet ;
|
all_Predet = {s = aagrForms "tout" "toute" "tous" "toutes"} ;
|
||||||
almost_AdA, almost_AdN = ss "presque" ;
|
almost_AdA, almost_AdN = ss "presque" ;
|
||||||
|
always_AdV = ss "toujours" ;
|
||||||
although_Subj = ss ("bien" ++ elisQue) ** {m = Conjunct} ;
|
although_Subj = ss ("bien" ++ elisQue) ** {m = Conjunct} ;
|
||||||
and_Conj = ss "et" ** {n = Pl} ;
|
and_Conj = ss "et" ** {n = Pl} ;
|
||||||
because_Subj = ss ("parce" ++ elisQue) ** {m = Indic} ;
|
because_Subj = ss ("parce" ++ elisQue) ** {m = Indic} ;
|
||||||
@@ -16,21 +17,26 @@ lin
|
|||||||
behind_Prep = mkPreposition "derrière" ;
|
behind_Prep = mkPreposition "derrière" ;
|
||||||
between_Prep = mkPreposition "entre" ;
|
between_Prep = mkPreposition "entre" ;
|
||||||
both7and_DConj = {s1,s2 = "et" ; n = Pl} ;
|
both7and_DConj = {s1,s2 = "et" ; n = Pl} ;
|
||||||
|
but_PConj = ss "mais" ;
|
||||||
by8agent_Prep = mkPreposition "par" ;
|
by8agent_Prep = mkPreposition "par" ;
|
||||||
by8means_Prep = mkPreposition "par" ;
|
by8means_Prep = mkPreposition "par" ;
|
||||||
-- can8know_VV = mkVerbVerbDir (verbPres (conj3savoir "savoir") AHabere) ;
|
can8know_VV = mkVV (savoir_V2 ** {lock_V = <>}) ;
|
||||||
-- can_VV = mkVerbVerbDir (verbPres (conj3pouvoir "pouvoir") AHabere) ;
|
can_VV = mkVV pouvoir_V ;
|
||||||
during_Prep = mkPreposition "pendant" ;
|
during_Prep = mkPreposition "pendant" ;
|
||||||
either7or_DConj = {s1,s2 = "ou" ; n = Pl} ;
|
either7or_DConj = {s1,s2 = "ou" ; n = Pl} ;
|
||||||
-- everybody_NP = mkNameNounPhrase ["tout le monde"] Masc ;
|
-- everybody_NP = mkNameNounPhrase ["tout le monde"] Masc ;
|
||||||
every_Det = {s = \\_,_ => "chaque" ; n = Sg} ;
|
every_Det = {s = \\_,_ => "chaque" ; n = Sg} ;
|
||||||
-- everything_NP = mkNameNounPhrase ["tout"] Masc ;
|
-- everything_NP = mkNameNounPhrase ["tout"] Masc ;
|
||||||
everywhere_Adv = ss "partout" ;
|
everywhere_Adv = ss "partout" ;
|
||||||
|
first_Ord = {s = \\ag => (regA "premier").s ! Posit ! AF ag.g ag.n} ;
|
||||||
from_Prep = complGen ; ---
|
from_Prep = complGen ; ---
|
||||||
he_Pron =
|
he_Pron =
|
||||||
mkPronoun
|
mkPronoun
|
||||||
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
|
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
|
||||||
Masc Sg P3 Clit2 ;
|
Masc Sg P3 Clit2 ;
|
||||||
|
here7from_Adv = ss "d'ici" ;
|
||||||
|
here7to_Adv = ss "ici" ;
|
||||||
|
here_Adv = ss "ici" ;
|
||||||
how_IAdv = ss "comment" ;
|
how_IAdv = ss "comment" ;
|
||||||
how8many_IDet = {s = \\_ => "combien" ++ elisDe ; n = Pl} ;
|
how8many_IDet = {s = \\_ => "combien" ++ elisDe ; n = Pl} ;
|
||||||
if_Subj = ss elisSi ** {m = Indic} ;
|
if_Subj = ss elisSi ** {m = Indic} ;
|
||||||
@@ -44,13 +50,16 @@ lin
|
|||||||
mkPronoun
|
mkPronoun
|
||||||
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
|
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
|
||||||
Masc Sg P3 Clit2 ;
|
Masc Sg P3 Clit2 ;
|
||||||
|
less_CAdv = ss "moins" ;
|
||||||
-- many_Det = mkDeterminer1 plural "plusieurs" ;
|
-- many_Det = mkDeterminer1 plural "plusieurs" ;
|
||||||
-- most8many_Det = plupartDet ;
|
-- most8many_Det = plupartDet ;
|
||||||
-- most_Det = mkDeterminer1 singular (["la plupart"] ++ elisDe) ; --- de
|
-- most_Det = mkDeterminer1 singular (["la plupart"] ++ elisDe) ; --- de
|
||||||
-- much_Det = mkDeterminer1 singular ("beaucoup" ++ elisDe) ; --- de
|
-- much_Det = mkDeterminer1 singular ("beaucoup" ++ elisDe) ; --- de
|
||||||
-- must_VV = mkVerbVerbDir (verbPres (conj3devoir "devoir") AHabere) ;
|
must_VV = mkVV (devoir_V2 ** {lock_V = <>}) ;
|
||||||
no_Phr = ss "non" ; --- and also Si!
|
no_Phr = ss "non" ; --- and also Si!
|
||||||
on_Prep = mkPreposition "sur" ;
|
on_Prep = mkPreposition "sur" ;
|
||||||
|
one_Quant = {s = \\g,c => prepCase c ++ genForms "un" "une" ! g} ;
|
||||||
|
only_Predet = {s = \\_ => "seulement"} ; --- seul(e)(s)
|
||||||
or_Conj = {s = "ou" ; n = Sg} ;
|
or_Conj = {s = "ou" ; n = Sg} ;
|
||||||
otherwise_PConj = ss "autrement" ;
|
otherwise_PConj = ss "autrement" ;
|
||||||
part_Prep = complGen ;
|
part_Prep = complGen ;
|
||||||
@@ -69,6 +78,9 @@ lin
|
|||||||
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
||||||
-- that_Det = mkDeterminer singular (pre {"ce" ; "cet" / voyelle}) "cette" ; --- là
|
-- that_Det = mkDeterminer singular (pre {"ce" ; "cet" / voyelle}) "cette" ; --- là
|
||||||
-- that_NP = mkNameNounPhrase ["ça"] Masc ;
|
-- that_NP = mkNameNounPhrase ["ça"] Masc ;
|
||||||
|
there7from_Adv = ss "de là" ;
|
||||||
|
there7to_Adv = ss "là" ; --- y
|
||||||
|
there_Adv = ss "là" ;
|
||||||
therefore_PConj = ss "donc" ;
|
therefore_PConj = ss "donc" ;
|
||||||
-- these_NDet = mkDeterminerNum "ces" "ces" ; --- ci
|
-- these_NDet = mkDeterminerNum "ces" "ces" ; --- ci
|
||||||
-- they_Pron = pronNounPhrase pronIls ;
|
-- they_Pron = pronNounPhrase pronIls ;
|
||||||
@@ -84,28 +96,27 @@ lin
|
|||||||
to_Prep = complDat ;
|
to_Prep = complDat ;
|
||||||
under_Prep = mkPreposition "sous" ;
|
under_Prep = mkPreposition "sous" ;
|
||||||
very_AdA = ss "très" ;
|
very_AdA = ss "très" ;
|
||||||
-- want_VV = mkVerbVerbDir (verbPres (conj3vouloir "vouloir") AHabere) ;
|
want_VV = mkVV (vouloir_V2 ** {lock_V = <>}) ;
|
||||||
we_Pron =
|
we_Pron =
|
||||||
mkPronoun "nous" "nous" "nous" "nous" "notre" "notre" "nos"
|
mkPronoun "nous" "nous" "nous" "nous" "notre" "notre" "nos"
|
||||||
Fem Pl P1 Clit3 ;
|
Fem Pl P1 Clit3 ;
|
||||||
whatSg_IP = {s = \\_ => "quoi" ; a = aagr Fem Sg} ;
|
whatSg_IP = {s = \\c => prepCase c ++ "quoi" ; a = aagr Fem Sg} ;
|
||||||
-- what8many_IP = intPronWhat plural ;
|
whatPl_IP = {s = \\c => prepCase c ++ "quoi" ; a = aagr Fem Pl} ;
|
||||||
when_IAdv = ss "quand" ;
|
when_IAdv = ss "quand" ;
|
||||||
when_Subj = ss "quand" ** {m = Indic} ;
|
when_Subj = ss "quand" ** {m = Indic} ;
|
||||||
where_IAdv = ss "où" ;
|
where_IAdv = ss "où" ;
|
||||||
-- which8many_IDet = mkDeterminerNum "quels" "quelles" ** {n = Pl} ;
|
-- which8many_IDet = mkDeterminerNum "quels" "quelles" ** {n = Pl} ;
|
||||||
-- which8one_IDet = quelDet ;
|
-- which8one_IDet = quelDet ;
|
||||||
whoSg_IP = {s = \\_ => "qui" ; a = aagr Fem Sg} ;
|
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Sg} ;
|
||||||
-- who8many_IP = intPronWho plural ;
|
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Pl} ;
|
||||||
why_IAdv = ss "pourquoi" ;
|
why_IAdv = ss "pourquoi" ;
|
||||||
without_Prep = mkPreposition "sans" ;
|
without_Prep = mkPreposition "sans" ;
|
||||||
with_Prep = mkPreposition "avec" ;
|
with_Prep = mkPreposition "avec" ;
|
||||||
ye_Pron =
|
ye_Pron, you_Pron =
|
||||||
mkPronoun
|
mkPronoun
|
||||||
"vous" "vous" "vous" "vous" "votre" "votre" "vos"
|
"vous" "vous" "vous" "vous" "votre" "votre" "vos"
|
||||||
Fem Pl P2 Clit3 ;
|
Fem Pl P2 Clit3 ;
|
||||||
yes_Phr = ss "oui" ; --- si
|
yes_Phr = ss "oui" ; --- si
|
||||||
-- you_Pron = pronNounPhrase pronVous ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -390,6 +390,6 @@ lin
|
|||||||
vêtir_V2 = v_besch26 "vêtir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
vêtir_V2 = v_besch26 "vêtir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
vivre_V2 = v_besch76 "vivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
vivre_V2 = v_besch76 "vivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
voir_V2 = v_besch39 "voir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
voir_V2 = v_besch39 "voir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
vouloir_V2 = v_besch48 "vouloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
vouloir_V2 = v_besch48 "vouloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,12 @@ resource CommonRomance = ParamRomance ** open Prelude in {
|
|||||||
Fem => bonne
|
Fem => bonne
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
aagrForms : (x1,_,_,x4 : Str) -> (AAgr => Str) = \tout,toute,tous,toutes ->
|
||||||
|
table {
|
||||||
|
{g = g ; n = Sg} => genForms tout toute ! g ;
|
||||||
|
{g = g ; n = Pl} => genForms tous toutes ! g
|
||||||
|
} ;
|
||||||
|
|
||||||
Noun = {s : Number => Str ; g : Gender} ;
|
Noun = {s : Number => Str ; g : Gender} ;
|
||||||
|
|
||||||
VP : Type = {
|
VP : Type = {
|
||||||
@@ -44,7 +50,7 @@ resource CommonRomance = ParamRomance ** open Prelude in {
|
|||||||
VPAgrNone -- elle a dormi
|
VPAgrNone -- elle a dormi
|
||||||
| VPAgrSubj -- elle est partie, elle s'est vue
|
| VPAgrSubj -- elle est partie, elle s'est vue
|
||||||
| VPAgrClit -- elle les a vues
|
| VPAgrClit -- elle les a vues
|
||||||
{g : Gender ; n : Number} ;
|
{g : Gender ; n : Number} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ oper
|
|||||||
|
|
||||||
conjThan : Str ;
|
conjThan : Str ;
|
||||||
|
|
||||||
|
clitInf : Str -> Str -> Str ;
|
||||||
|
|
||||||
-- These needed above.
|
-- These needed above.
|
||||||
|
|
||||||
param
|
param
|
||||||
|
|||||||
@@ -145,6 +145,14 @@ oper
|
|||||||
subj ++ neg.p1 ++ clit ++ verb ++ neg.p2 ++ inf ++ compl
|
subj ++ neg.p1 ++ clit ++ verb ++ neg.p2 ++ inf ++ compl
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
infVP : VP -> Agr -> Str = \vp,agr ->
|
||||||
|
let
|
||||||
|
inf = (vp.s ! VPInfinit Simul).inf ! (aagr agr.g agr.n) ;
|
||||||
|
neg = vp.neg ! Pos ; --- Neg not in API
|
||||||
|
cli = vp.clit1 ! agr ++ vp.clit2 ;
|
||||||
|
obj = vp.comp ! agr
|
||||||
|
in
|
||||||
|
clitInf cli inf ++ obj ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,9 @@ incomplete concrete VerbRomance of Verb =
|
|||||||
|
|
||||||
ComplV3 v np np2 = insertObject v.c3 np2 (insertObject v.c2 np (predV v)) ;
|
ComplV3 v np np2 = insertObject v.c3 np2 (insertObject v.c2 np (predV v)) ;
|
||||||
|
|
||||||
|
ComplVV v vp = insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ;
|
||||||
|
|
||||||
{-
|
{-
|
||||||
ComplVV v vp = insertObj (\\a => v.c2 ++ infVP vp a) (predV v) ;
|
|
||||||
ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ;
|
ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ;
|
||||||
ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user