forked from GitHub/gf-rgl
ExtendFre with some definitions
This commit is contained in:
@@ -3,5 +3,5 @@
|
|||||||
concrete AllFre of AllFreAbs =
|
concrete AllFre of AllFreAbs =
|
||||||
LangFre,
|
LangFre,
|
||||||
IrregFre,
|
IrregFre,
|
||||||
ExtraFre
|
ExtendFre ---- ExtraFre
|
||||||
** {} ;
|
** {} ;
|
||||||
|
|||||||
43
src/french/ExtendFre.gf
Normal file
43
src/french/ExtendFre.gf
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
--# -path=alltenses:../common:../abstract
|
||||||
|
|
||||||
|
concrete ExtendFre of Extend =
|
||||||
|
CatFre ** ExtendFunctor -
|
||||||
|
[
|
||||||
|
---- iFem_Pron, youFem_Pron, weFem_Pron, youPlFem_Pron, theyFem_Pron, youPolFem_Pron, youPolPl_Pron, youPolPlFem_Pron,
|
||||||
|
ExistCN, ExistMassCN, ExistPluralCN
|
||||||
|
] -- put the names of your own definitions here
|
||||||
|
with
|
||||||
|
(Grammar = GrammarFre) **
|
||||||
|
open
|
||||||
|
GrammarFre,
|
||||||
|
ResFre,
|
||||||
|
MorphoFre,
|
||||||
|
PhonoFre,
|
||||||
|
Coordination,
|
||||||
|
Prelude,
|
||||||
|
ParadigmsFre in {
|
||||||
|
-- put your own definitions here
|
||||||
|
|
||||||
|
lin
|
||||||
|
ExistCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant de_Quant NumSg) cn) ;
|
||||||
|
in posNegClause pos neg PNeg.p ;
|
||||||
|
ExistMassCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (MassNP cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant de_Quant NumSg) cn) ;
|
||||||
|
in posNegClause pos neg PNeg.p ;
|
||||||
|
ExistPluralCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (DetCN (DetQuant IndefArt NumPl) cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant de_Quant NumPl) cn) ;
|
||||||
|
in posNegClause pos neg PNeg.p ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
de_Quant : Quant = IndefArt ** {s = \\_,_,_,_ => elisDe} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -178,6 +178,16 @@ oper
|
|||||||
|
|
||||||
mkVPSlash : Compl -> VP -> VP ** {c2 : Compl} = \c,vp -> vp ** {c2 = c} ;
|
mkVPSlash : Compl -> VP -> VP ** {c2 : Compl} = \c,vp -> vp ** {c2 = c} ;
|
||||||
|
|
||||||
|
Clause : Type = {s : Direct => RTense => Anteriority => RPolarity => Mood => Str} ;
|
||||||
|
|
||||||
|
-- for pos/neg variation other than negation word, e.g. "il y a du vin" / "il n'y a pas de vin"
|
||||||
|
posNegClause : Clause -> Clause -> RPolarity -> Clause = \pos,neg,pol -> {
|
||||||
|
s = \\d,t,a,b,m => case b of {
|
||||||
|
RPos => pos.s ! d ! t ! a ! b ! m ;
|
||||||
|
_ => neg.s ! d ! t ! a ! pol ! m
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
mkClause : Str -> Bool -> Bool -> Agr -> VP ->
|
mkClause : Str -> Bool -> Bool -> Agr -> VP ->
|
||||||
{s : Direct => RTense => Anteriority => RPolarity => Mood => Str} =
|
{s : Direct => RTense => Anteriority => RPolarity => Mood => Str} =
|
||||||
mkClausePol False ;
|
mkClausePol False ;
|
||||||
|
|||||||
Reference in New Issue
Block a user