forked from GitHub/gf-core
updated ExistIP for all languages
This commit is contained in:
@@ -4,11 +4,24 @@ concrete IdiomDan of Idiom = CatDan **
|
||||
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 finne_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 finne_V))).s ! t ! a ! p ;
|
||||
who = ip.s ! accusative
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
}
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
insertObj (\\a => ["ved å"] ++ infVP vp a) (predV verbBe) ;
|
||||
|
||||
@@ -36,11 +36,12 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
|
||||
|
||||
VP = {
|
||||
s : Tense => Anteriority => Polarity => Order => Agr => {fin, inf : Str} ;
|
||||
prp : Str ; -- present participle
|
||||
prp : Str ; -- present participle
|
||||
inf : Str ; -- infinitive
|
||||
ad : Str ;
|
||||
s2 : Agr => Str
|
||||
} ;
|
||||
|
||||
Comp = {s : Agr => Str} ;
|
||||
SC = {s : Str} ;
|
||||
|
||||
|
||||
@@ -10,12 +10,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in {
|
||||
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"
|
||||
} ;
|
||||
|
||||
mkQuestion (ss (ip.s ! Nom)) (mkClause "there" (agrP3 ip.n) (predAux auxBe)) ;
|
||||
|
||||
ProgrVP vp = insertObj (\\a => vp.ad ++ vp.prp ++ vp.s2 ! a) (predAux auxBe) ;
|
||||
|
||||
|
||||
@@ -41,19 +41,4 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
|
||||
|
||||
CompIAdv a = a ;
|
||||
|
||||
oper
|
||||
mkQuestion :
|
||||
{s : Str} -> Clause ->
|
||||
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
|
||||
{
|
||||
s = \\t,a,p =>
|
||||
let
|
||||
cls = cl.s ! t ! a ! p ;
|
||||
why = wh.s
|
||||
in table {
|
||||
QDir => why ++ cls ! OQuest ;
|
||||
QIndir => why ++ cls ! ODir
|
||||
}
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -180,6 +180,7 @@ resource ResEng = ParamX ** open Prelude in {
|
||||
s2 : Agr => Str
|
||||
} ;
|
||||
|
||||
|
||||
--- The order gets wrong with AdV, but works around a parser
|
||||
--- generation bug.
|
||||
|
||||
@@ -390,4 +391,18 @@ resource ResEng = ParamX ** open Prelude in {
|
||||
_ => ten + "th"
|
||||
} ;
|
||||
|
||||
mkQuestion :
|
||||
{s : Str} -> Clause ->
|
||||
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
|
||||
{
|
||||
s = \\t,a,p =>
|
||||
let
|
||||
cls = cl.s ! t ! a ! p ;
|
||||
why = wh.s
|
||||
in table {
|
||||
QDir => why ++ cls ! OQuest ;
|
||||
QIndir => why ++ cls ! ODir
|
||||
}
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,5 +33,4 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
|
||||
CompNP np = {s = \\_ => np.s ! Acc} ;
|
||||
CompAdv a = {s = \\_ => a.s} ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,15 @@ concrete IdiomFin of Idiom = CatFin **
|
||||
mkClause noSubj (agrP3 Sg) (insertObj
|
||||
(\\_,b,_ => "olemassa" ++ np.s ! cas b) (predV olla)) ;
|
||||
|
||||
ExistIP ip =
|
||||
let
|
||||
cas : NPForm = NPCase Part ; --- dep on num, pol?
|
||||
vp = insertObj (\\_,b,_ => "olemassa") (predV olla) ;
|
||||
cl = mkClause (subjForm (ip ** {isPron = False ; a = agrP3 Sg}) cas) (agrP3 Sg) vp
|
||||
in {
|
||||
s = \\t,a,p => cl.s ! t ! a ! p ! SDecl
|
||||
} ;
|
||||
|
||||
ImpersCl vp = mkClause noSubj (agrP3 Sg) vp ;
|
||||
|
||||
GenericCl vp = mkClause noSubj (agrP3 Sg) {
|
||||
|
||||
@@ -7,15 +7,14 @@ concrete IdiomFre of Idiom = CatFre **
|
||||
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))) ;
|
||||
|
||||
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
|
||||
ip.s ! Nom ++
|
||||
(mkClause "il" (agrP3 Masc Sg) (insertClit2 "y" (predV avoir_V))).s ! t ! a ! p ! Indic
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
|
||||
@@ -4,13 +4,21 @@ concrete IdiomIta of Idiom = CatIta **
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "si" (agrP3 Masc Sg) vp ; ---- non se ci fanno cose
|
||||
|
||||
ExistNP np =
|
||||
mkClause [] (agrP3 np.a.g np.a.n)
|
||||
(insertClit2 (elision "ci" "c'" "ci")
|
||||
(insertComplement (\\_ => np.s ! Ton Nom)
|
||||
(predV copula))) ;
|
||||
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "si" (agrP3 Masc Sg) vp ; ---- non se ci fanno cose
|
||||
|
||||
ExistIP ip = {
|
||||
s = \\t,a,p,_ =>
|
||||
ip.s ! Nom ++
|
||||
(mkClause [] (agrP3 ip.a.g ip.a.n)
|
||||
(insertClit2 (elision "ci" "c'" "ci") (predV copula))).s ! t ! a ! p ! Indic
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
insertComplement
|
||||
|
||||
@@ -7,7 +7,7 @@ resource PhonoIta = open Prelude in {
|
||||
|
||||
oper
|
||||
vocale : Strs = strs {
|
||||
"a" ; "e" ; "h" ; "i" ; "o" ; "u"
|
||||
"a" ; "e" ; "h" ; "i" ; "o" ; "u" ; "è"
|
||||
} ;
|
||||
|
||||
sImpuro : Strs = strs {
|
||||
|
||||
@@ -4,11 +4,25 @@ concrete IdiomNor of Idiom = CatNor **
|
||||
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 finne_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 finne_V))).s ! t ! a ! p ;
|
||||
who = ip.s ! accusative
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
}
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
insertObj (\\a => ["ved å"] ++ infVP vp a) (predV verbBe) ;
|
||||
|
||||
@@ -4,11 +4,17 @@ concrete IdiomSpa of Idiom = CatSpa **
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "se" (agrP3 Masc Sg) vp ; ---- just Italian ?
|
||||
|
||||
ExistNP np =
|
||||
mkClause [] (agrP3 Masc Sg)
|
||||
(insertComplement (\\_ => np.s ! Ton Acc) (predV (verboV (hay_3 "haber")))) ;
|
||||
ImpersCl vp = mkClause [] (agrP3 Masc Sg) vp ;
|
||||
GenericCl vp = mkClause "se" (agrP3 Masc Sg) vp ; ---- just Italian ?
|
||||
ExistIP ip = {
|
||||
s = \\t,a,p,_ =>
|
||||
ip.s ! Nom ++
|
||||
(mkClause [] (agrP3 Masc Sg) (predV (verboV (hay_3 "haber")))).s ! t ! a ! p ! Indic
|
||||
} ;
|
||||
|
||||
ProgrVP vp =
|
||||
insertComplement
|
||||
|
||||
Reference in New Issue
Block a user