mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
pro drops and 'how AP' in Extra for some languages
This commit is contained in:
@@ -36,4 +36,11 @@ abstract Extra = Cat ** {
|
||||
ConjVPS : Conj -> [VPS] -> VPS ;
|
||||
PredVPS : NP -> VPS -> S ;
|
||||
|
||||
-- 9/4/2010
|
||||
|
||||
fun
|
||||
ProDrop : Pron -> Pron ; -- unstressed subject pronoun becomes []: "(io) sono stanco"
|
||||
ICompAP : AP -> IComp ; -- "how old"
|
||||
IAdvAdv : Adv -> IAdv ; -- "how often"
|
||||
|
||||
}
|
||||
|
||||
@@ -443,6 +443,10 @@ incomplete resource Constructors = open Grammar in {
|
||||
|
||||
-- There are definite and indefinite articles.
|
||||
|
||||
mkQuant : overload { --# notminimal
|
||||
mkQuant : Pron -> Quant ; -- 1. my --# notminimal
|
||||
} ; --# notminimal
|
||||
|
||||
the_Quant : Quant ; -- the --# notminimal
|
||||
a_Quant : Quant ; -- a --# notminimal
|
||||
|
||||
@@ -1125,6 +1129,10 @@ incomplete resource Constructors = open Grammar in {
|
||||
= \p -> DetQuant (PossPron p) ; --# notminimal
|
||||
} ;
|
||||
|
||||
mkQuant = overload { --# notminimal
|
||||
mkQuant : Pron -> Quant = PossPron ; -- 1. my --# notminimal
|
||||
} ; --# notminimal
|
||||
|
||||
|
||||
the_Art : Art = DefArt ; -- the
|
||||
a_Art : Art = IndefArt ; -- a
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
resource TryEng = SyntaxEng-[mkAdN], LexiconEng, ParadigmsEng - [mkAdv,mkAdN,mkOrd] **
|
||||
resource TryEng = SyntaxEng-[mkAdN], LexiconEng, ParadigmsEng - [mkAdv,mkAdN,mkOrd,mkQuant] **
|
||||
open (P = ParadigmsEng) in {
|
||||
|
||||
oper
|
||||
|
||||
@@ -76,4 +76,5 @@ instance DiffDan of DiffScand = open CommonScand, Prelude in {
|
||||
<_, P3> => "sig"
|
||||
} ;
|
||||
|
||||
hur_IAdv = {s = "hvor"} ;
|
||||
}
|
||||
|
||||
@@ -93,4 +93,8 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
|
||||
|
||||
ConjVPS = conjunctDistrTable Agr ;
|
||||
|
||||
ICompAP ap = {s = "how" ++ ap.s ! agrP3 Sg} ; ---- IComp should have agr!
|
||||
|
||||
IAdvAdv adv = {s = "how" ++ adv.s} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
abstract ExtraEngAbs = Extra ** {
|
||||
abstract ExtraEngAbs = Extra - [ProDrop] ** {
|
||||
|
||||
-- uncontracted negations; contracted are the default
|
||||
fun
|
||||
|
||||
@@ -75,4 +75,18 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
|
||||
s = \\agr => ap.s ! False ! NCase (complNumAgr agr) Part
|
||||
} ;
|
||||
|
||||
---- copied from VerbFin.CompAP, should be shared
|
||||
ICompAP ap = {
|
||||
s = \\agr =>
|
||||
let
|
||||
n = complNumAgr agr ;
|
||||
c = case n of {
|
||||
Sg => Nom ; -- minä olen iso ; te olette iso
|
||||
Pl => Part -- me olemme isoja ; te olette isoja
|
||||
} --- definiteness of NP ?
|
||||
in "kuinka" ++ ap.s ! False ! (NCase n c)
|
||||
} ;
|
||||
|
||||
IAdvAdv adv = {s = "kuinka" ++ adv.s} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
abstract ExtraFinAbs = Extra [
|
||||
GenNP,VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VV,VP,Conj,NP,Quant] ** {
|
||||
VV,VP,Conj,NP,Quant,IAdv,IComp,ICompAP,IAdvAdv,Adv,AP] ** {
|
||||
|
||||
fun
|
||||
AdvExistNP : Adv -> NP -> Cl ; -- kuvassa olemme me
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Structures special for French. These are not implemented in other
|
||||
-- Romance languages.
|
||||
|
||||
abstract ExtraFreAbs = ExtraRomanceAbs ** {
|
||||
abstract ExtraFreAbs = ExtraRomanceAbs - [ProDrop] ** {
|
||||
|
||||
-- Notice: only direct (main-clause) questions are generated, and needed.
|
||||
|
||||
|
||||
@@ -31,4 +31,8 @@ concrete ExtraGer of ExtraGerAbs = CatGer **
|
||||
|
||||
moegen_VV = auxVV mögen_V ;
|
||||
|
||||
ICompAP ap = {s = \\_ => "wie" ++ ap.s ! APred} ;
|
||||
|
||||
IAdvAdv adv = {s = "wie" ++ adv.s} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
abstract ExtraGerAbs = Extra [
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VV,VP,Conj] ** {
|
||||
VV,VP,Conj,IAdv,IComp,ICompAP,IAdvAdv,Adv,AP] ** {
|
||||
|
||||
fun
|
||||
PPzuAdv : CN -> Adv ; -- zum Lied, zur Flasche
|
||||
|
||||
@@ -86,4 +86,6 @@ instance DiffNor of DiffScand = open CommonScand, Prelude in {
|
||||
<_, P3> => "seg"
|
||||
} ;
|
||||
|
||||
hur_IAdv = {s = "hvor"} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -20,4 +20,15 @@ incomplete concrete ExtraRomance of ExtraRomanceAbs = CatRomance **
|
||||
ComplVPIVV v vpi =
|
||||
insertComplement (\\a => prepCase v.c2.c ++ vpi.s) (predV v) ;
|
||||
|
||||
ProDrop p = {
|
||||
s = table {
|
||||
Nom => let pn = p.s ! Nom in {c1 = pn.c1 ; c2 = pn.c2 ; comp = [] ; ton = pn.ton} ;
|
||||
c => p.s ! c
|
||||
} ;
|
||||
a = p.a ;
|
||||
poss = p.poss ;
|
||||
hasClit = p.hasClit ;
|
||||
isPol = p.isPol
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
abstract ExtraRomanceAbs = Cat, Extra[
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VV,VP,Conj] ** {
|
||||
VV,VP,Conj,Pron,ProDrop] ** {
|
||||
|
||||
fun
|
||||
TPasseSimple : Tense ; --# notpresent
|
||||
|
||||
@@ -61,5 +61,7 @@ interface DiffScand = open CommonScand, Prelude in {
|
||||
|
||||
reflPron : Agr -> Str ;
|
||||
|
||||
hur_IAdv : {s : Str} ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -80,4 +80,8 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand **
|
||||
} ;
|
||||
|
||||
ConjVPS = conjunctDistrTable2 Order Agr ;
|
||||
|
||||
ICompAP ap = {s = \\a => hur_IAdv.s ++ ap.s ! a} ;
|
||||
|
||||
IAdvAdv adv = {s = hur_IAdv.s ++ adv.s} ;
|
||||
}
|
||||
|
||||
@@ -77,4 +77,5 @@ instance DiffSwe of DiffScand = open CommonScand, Prelude in {
|
||||
<_, P3> => "sig"
|
||||
} ;
|
||||
|
||||
hur_IAdv = {s = "hur"} ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user