mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-30 10:28:53 -06:00
ExtendFre with some definitions
This commit is contained in:
@@ -3,5 +3,5 @@
|
||||
concrete AllFre of AllFreAbs =
|
||||
LangFre,
|
||||
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} ;
|
||||
|
||||
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 ->
|
||||
{s : Direct => RTense => Anteriority => RPolarity => Mood => Str} =
|
||||
mkClausePol False ;
|
||||
|
||||
Reference in New Issue
Block a user