approaching french

This commit is contained in:
aarne
2004-11-18 15:11:27 +00:00
parent 2754a5a758
commit 5104521a0e
9 changed files with 105 additions and 51 deletions

View File

@@ -302,7 +302,8 @@ oper
--
-- The verb "être" is often used in syntax.
verbEtre = verbPres (conjÊtre "être") ;
verbEtre = verbPres (conjÊtre "être") AHabere ;
verbAvoir = verbPres (conjAvoir "avoir") AHabere ;
-- We very often form the verb stem by dropping out the infinitive ending.

View File

@@ -76,10 +76,10 @@ lin
SomethingNP = mkNameNounPhrase ["quelque chose"] Masc ;
NothingNP = mkNameNounPhrase ["rien"] Masc ; --- ne
CanVV = mkVerbVerbDir (verbPres (conj3pouvoir "pouvoir")) ;
CanKnowVV = mkVerbVerbDir (verbPres (conj3savoir "savoir")) ;
MustVV = mkVerbVerbDir (verbPres (conj3devoir "devoir")) ;
WantVV = mkVerbVerbDir (verbPres (conj3vouloir "vouloir")) ;
CanVV = mkVerbVerbDir (verbPres (conj3pouvoir "pouvoir") AHabere) ;
CanKnowVV = mkVerbVerbDir (verbPres (conj3savoir "savoir") AHabere) ;
MustVV = mkVerbVerbDir (verbPres (conj3devoir "devoir") AHabere) ;
WantVV = mkVerbVerbDir (verbPres (conj3vouloir "vouloir") AHabere) ;
EverywhereNP = ss "partout" ;
SomewhereNP = ss ["quelque part"] ; --- ne - pas

View File

@@ -88,7 +88,8 @@ oper
negVerb = \va -> elisNe ++ va ++ "pas" ;
copula = \b -> (etreNetre b).s ;
copula = \b,w -> let etre = (predVerb verbEtre).s in
etre ! b ! Masc ! w ;
isTransVerbClit = \v -> case v.c of {
Acc => True ;
@@ -96,6 +97,11 @@ oper
_ => False
} ;
auxVerb ve = case ve.aux of {
AHabere => verbAvoir ;
AEsse => verbEtre
} ;
-- The "ne - pas" negation.
posNeg = \b,v,c ->
@@ -106,7 +112,7 @@ oper
-- Exampe: 'to be or not to be'.
etreNetre : Bool -> Verb = \b ->
{s = \\w => posNeg b (verbEtre.s ! w) []} ; ---- v reveals a BUG in refresh
{s = \\w => posNeg b (verbEtre.s ! w) [] ; aux = AHabere} ; ---- v reveals a BUG in refresh
embedConj = elisQue ;
@@ -172,11 +178,12 @@ oper
++ duvin.s ! stressed accusative --- il y en a ; have to define "y"
} ;
intVerbPhrase = \qui, dort ->
intVerbPhrase = \qui, dormir ->
let dort = dormir.s ! qui.g ! VPF Simul (VFin presInd qui.n P3)
in
{s = table {
DirQ => qui.s ! Nom ++ optStr (estCeQue Nom) ++
dort.s ! qui.g ! VFin presInd qui.n P3 ;
IndirQ => "ce" ++ qui.s ! Nom ++ dort.s ! qui.g ! VFin presInd qui.n P3
DirQ => qui.s ! Nom ++ optStr (estCeQue Nom) ++ dort ;
IndirQ => "ce" ++ qui.s ! Nom ++ dort
}
} ;

View File

@@ -22,18 +22,18 @@ lin
Light = mkCNomReg "lumière" Fem ;
House = mkCNomReg "maison" Fem ;
Bottle = mkCNomReg "bouteille" Fem ;
Walk = verbPres (conj1aimer "marcher") ;
Run = verbPres (conj3courir "courir") ;
Send = mkTransVerbDir (verbPres (conj1envoyer "envoyer")) ;
Love = mkTransVerbDir (verbPres (conj1aimer "aimer")) ;
Drink = mkTransVerbDir (verbPres (conj3boire "boire")) ;
Wait = mkTransVerbDir (verbPres (conj3rendre "attendre")) ;
Give = mkDitransVerb (verbPres (conj1aimer "donner")) [] dative [] accusative ;
Prefer = mkDitransVerb (verbPres (conj1aimer "preférer")) [] accusative [] dative ;
Say = verbSent (verbPres (conj3dire "dire")) Ind Ind ;
Prove = verbSent (verbPres (conj1aimer "démontrer")) Ind Ind ;
SwitchOn = mkTransVerbDir (verbPres (conj1aimer "allumer")) ;
SwitchOff = mkTransVerbDir (verbPres (conj3peindre "éteindre")) ;
Walk = verbPres (conj1aimer "marcher") AHabere ;
Run = verbPres (conj3courir "courir") AHabere ;
Send = mkTransVerbDir (verbPres (conj1envoyer "envoyer") AHabere) ;
Love = mkTransVerbDir (verbPres (conj1aimer "aimer") AHabere) ;
Drink = mkTransVerbDir (verbPres (conj3boire "boire") AHabere) ;
Wait = mkTransVerbDir (verbPres (conj3rendre "attendre") AHabere) ;
Give = mkDitransVerb (verbPres (conj1aimer "donner") AHabere) [] dative [] accusative ;
Prefer = mkDitransVerb (verbPres (conj1aimer "preférer") AHabere) [] accusative [] dative ;
Say = verbSent (verbPres (conj3dire "dire") AHabere) Ind Ind ;
Prove = verbSent (verbPres (conj1aimer "démontrer") AHabere) Ind Ind ;
SwitchOn = mkTransVerbDir (verbPres (conj1aimer "allumer") AHabere) ;
SwitchOff = mkTransVerbDir (verbPres (conj3peindre "éteindre") AHabere) ;
Mother = funDe (mkCNomReg "mère" Fem) ;
Uncle = funDe (mkCNomReg "oncle" Masc) ;
Connection = mkCNomReg "connection" Fem **