mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-12 14:29:31 -06:00
114 lines
4.0 KiB
Plaintext
114 lines
4.0 KiB
Plaintext
--# -path=.:../romance:../abstract:../../prelude
|
|
|
|
concrete StructuralFre of Structural = CategoriesFre, NumeralsFre **
|
|
open SyntaxFre, MorphoFre, Prelude in {
|
|
|
|
lin
|
|
INP = pronNounPhrase pronJe ;
|
|
ThouNP = pronNounPhrase pronTu ;
|
|
HeNP = pronNounPhrase pronIl ;
|
|
SheNP = pronNounPhrase pronElle ;
|
|
WeNumNP n = pronNounPhrase (pronWithNum pronNous n) ;
|
|
YeNumNP n = pronNounPhrase (pronWithNum pronVous n) ;
|
|
YouNP = pronNounPhrase pronVous ;
|
|
TheyNP = pronNounPhrase pronIls ;
|
|
|
|
-- Here is a point where the API is really inadequate for French,
|
|
-- which distinguishes between masculine and feminine "they".
|
|
-- The following solution is not attractive.
|
|
|
|
--- TheyNP = pronNounPhrase (variants {pronIls ; pronElles}) ;
|
|
|
|
ThisNP = mkNameNounPhrase ["ceci"] Masc ;
|
|
ThatNP = mkNameNounPhrase ["ça"] Masc ;
|
|
TheseNumNP n = mkNameNounPhrase ("ceux" ++ n.s ! Masc ++ "ci") Masc ;
|
|
ThoseNumNP n = mkNameNounPhrase ("ceux" ++ n.s ! Masc ++ "là") Masc ;
|
|
|
|
UseNumeral n = {s = \\_ => n.s} ; ---- gender
|
|
|
|
ItNP = pronNounPhrase pronIl ;
|
|
|
|
EveryDet = chaqueDet ;
|
|
AllMassDet = toutDet ;
|
|
AllNumDet = tousDet ;
|
|
WhichDet = quelDet ;
|
|
WhichNumDet = mkDeterminerNum plural "quels" "quelles" ;
|
|
MostsDet = plupartDet ;
|
|
MostDet = mkDeterminer1 singular (["la plupart"] ++ elisDe) ; --- de
|
|
SomeDet = mkDeterminer1 singular "quelque" ;
|
|
SomeNumDet = mkDeterminerNum plural "quelques" "quelques" ;
|
|
NoDet = mkDeterminer singular "aucun" "aucune" ; --- ne
|
|
NoNumDet = mkDeterminerNum plural ("aucun" ++ "des") ("aucune" ++ "des") ; --- ne
|
|
AnyDet = mkDeterminer1 singular "quelque" ; ---
|
|
AnyNumDet = mkDeterminerNum plural "quelques" "quelques" ; ---
|
|
ManyDet = mkDeterminer1 plural "plusieurs" ;
|
|
MuchDet = mkDeterminer1 singular ("beaucoup" ++ elisDe) ; --- de
|
|
ThisDet = mkDeterminer singular (pre {"ce" ; "cet" / voyelle}) "cette" ; --- ci
|
|
ThatDet = mkDeterminer singular (pre {"ce" ; "cet" / voyelle}) "cette" ; --- là
|
|
TheseNumDet = mkDeterminerNum plural "ces" "ces" ; --- ci
|
|
ThoseNumDet = mkDeterminerNum plural "ces" "ces" ; --- là
|
|
|
|
HowIAdv = commentAdv ;
|
|
WhenIAdv = quandAdv ;
|
|
WhereIAdv = ouAdv ;
|
|
WhyIAdv = pourquoiAdv ;
|
|
|
|
AndConj = etConj ;
|
|
OrConj = ouConj ;
|
|
BothAnd = etetConj ;
|
|
EitherOr = ououConj ;
|
|
NeitherNor = niniConj ; --- requires ne !
|
|
IfSubj = siSubj ;
|
|
WhenSubj = quandSubj ;
|
|
|
|
PhrYes = ouiPhr ;
|
|
PhrNo = nonPhr ; --- and also Si!
|
|
|
|
VeryAdv = ss "très" ;
|
|
TooAdv = ss "trop" ;
|
|
OtherwiseAdv = ss "autrement" ;
|
|
ThereforeAdv = ss "donc" ;
|
|
|
|
EverybodyNP = mkNameNounPhrase ["tout le monde"] Masc ;
|
|
SomebodyNP = mkNameNounPhrase ["quelqu'un"] Masc ;
|
|
NobodyNP = mkNameNounPhrase ["personne"] Masc ; --- ne
|
|
EverythingNP = mkNameNounPhrase ["tout"] Masc ;
|
|
SomethingNP = mkNameNounPhrase ["quelque chose"] Masc ;
|
|
NothingNP = mkNameNounPhrase ["rien"] Masc ; --- ne
|
|
|
|
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
|
|
NowhereNP = ss ["nulle part"] ;
|
|
|
|
AlthoughSubj = ss ("bien" ++ elisQue) ** {m = Con} ;
|
|
|
|
AlmostAdv = ss "presque" ;
|
|
QuiteAdv = ss "assez" ;
|
|
|
|
InPrep = justPrep "dans" ;
|
|
OnPrep = justPrep "sur" ;
|
|
ToPrep = justCase dative ; ---
|
|
ThroughPrep = justPrep "par" ;
|
|
AbovePrep = {s = ["au dessus"] ; c = genitive} ;
|
|
UnderPrep = justPrep "sous" ;
|
|
InFrontPrep = justPrep "devant" ;
|
|
BehindPrep = justPrep "derrière" ;
|
|
BetweenPrep = justPrep "entre" ;
|
|
FromPrep = justCase genitive ; ---
|
|
BeforePrep = justPrep "avant" ;
|
|
DuringPrep = justPrep "pendant" ;
|
|
AfterPrep = justPrep "après" ;
|
|
WithPrep = justPrep "avec" ;
|
|
WithoutPrep = justPrep "sans" ;
|
|
ByMeansPrep = justPrep "par" ;
|
|
PossessPrep = justCase genitive ;
|
|
PartPrep = justCase genitive ; ---
|
|
AgentPrep = justPrep "par" ;
|
|
|
|
}
|