mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
ExistIP (still unfinished)
This commit is contained in:
@@ -6,10 +6,12 @@ abstract Idiom = Cat ** {
|
||||
-- often different even in closely related languages.
|
||||
|
||||
fun
|
||||
ExistNP : NP -> Cl ; -- there is a house
|
||||
ImpersCl : VP -> Cl ; -- it rains
|
||||
GenericCl : VP -> Cl ; -- one sleeps
|
||||
|
||||
ProgrVP : VP -> VP ; -- sleeping
|
||||
ExistNP : NP -> Cl ; -- there is a house
|
||||
ExistIP : IP -> QCl ; -- which houses are there
|
||||
|
||||
ProgrVP : VP -> VP ; -- be sleeping
|
||||
|
||||
}
|
||||
|
||||
@@ -3,11 +3,20 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in {
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
ExistNP np =
|
||||
mkClause "there" (agrP3 np.a.n) (insertObj (\\_ => np.s ! Acc) (predAux auxBe)) ;
|
||||
ImpersCl vp = mkClause "it" (agrP3 Sg) vp ;
|
||||
GenericCl vp = mkClause "one" (agrP3 Sg) vp ;
|
||||
|
||||
ExistNP np =
|
||||
mkClause "there" (agrP3 np.a.n) (insertObj (\\_ => np.s ! Acc) (predAux auxBe)) ;
|
||||
|
||||
ExistIP ip =
|
||||
let cl =
|
||||
mkClause (ip.s ! Nom) (agrP3 ip.n) (insertObj (\\_ => "there") (predAux auxBe))
|
||||
in {
|
||||
s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir --- "what is there", no "what there is"
|
||||
} ;
|
||||
|
||||
|
||||
ProgrVP vp = insertObj (\\a => vp.ad ++ vp.prp ++ vp.s2 ! a) (predAux auxBe) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,19 @@ concrete IdiomFre of Idiom = CatFre **
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
ImpersCl vp = mkClause "il" (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "on" (agrP3 Masc Sg) vp ;
|
||||
|
||||
|
||||
ExistNP np =
|
||||
mkClause "il" (agrP3 Masc Sg)
|
||||
(insertClit2 "y" (insertComplement (\\_ => np.s ! Ton Acc) (predV avoir_V))) ;
|
||||
ImpersCl vp = mkClause "il" (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "on" (agrP3 Masc Sg) vp ;
|
||||
|
||||
ExistIP ip = {
|
||||
s = \\t,a,p,_ =>
|
||||
(mkClause (ip.s ! Nom) (agrP3 ip.a.g ip.a.n)
|
||||
(insertClit2 "y" (predV avoir_V))).s ! t ! a ! p ! Indic
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
insertComplement
|
||||
|
||||
@@ -4,11 +4,24 @@ concrete IdiomSwe of Idiom = CatSwe **
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
ImpersCl vp = mkClause "det" (agrP3 neutrum Sg) vp ;
|
||||
GenericCl vp = mkClause "man" (agrP3 neutrum Sg) vp ;
|
||||
ExistNP np =
|
||||
mkClause "det" (agrP3 neutrum Sg) (insertObj
|
||||
(\\_ => np.s ! accusative) (predV (depV finna_V))) ;
|
||||
ImpersCl vp = mkClause "det" (agrP3 neutrum Sg) vp ;
|
||||
GenericCl vp = mkClause "man" (agrP3 neutrum Sg) vp ;
|
||||
|
||||
ExistIP ip = {
|
||||
s = \\t,a,p =>
|
||||
let
|
||||
cls =
|
||||
(mkClause "det" (agrP3 neutrum Sg) (predV (depV finna_V))).s ! t ! a ! p ;
|
||||
who = ip.s ! accusative
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
ProgrVP vp =
|
||||
insertObj (\\a => "att" ++ infVP vp a) (predV (partV hålla_V "på")) ;
|
||||
|
||||
@@ -109,6 +109,7 @@ concrete IrregSwe of IrregSweAbs = CatSwe ** open ParadigmsSwe in {
|
||||
ljuda_V = irregV "ljuda" "ljöd" "ljudit" ;
|
||||
ljuga_V = irregV "ljuga" "ljög" "ljugit" ;
|
||||
ljuta_V = irregV "ljuta" "ljöt" "ljutit" ;
|
||||
lägga_V = irregV "lägga" "lade" "lagt" ;
|
||||
mottaga_V = irregV "mottaga" "mottog" "mottagit" ;
|
||||
nerstiga_V = irregV "nerstiga" "nersteg" "nerstigit" ;
|
||||
niga_V = irregV "niga" "neg" "nigit" ;
|
||||
|
||||
@@ -103,6 +103,7 @@ abstract IrregSweAbs = Cat ** {
|
||||
ljuda_V : V ;
|
||||
ljuga_V : V ;
|
||||
ljuta_V : V ;
|
||||
lägga_V : V ;
|
||||
mottaga_V : V ;
|
||||
nerstiga_V : V ;
|
||||
niga_V : V ;
|
||||
|
||||
Reference in New Issue
Block a user