pro drops and 'how AP' in Extra for some languages

This commit is contained in:
aarne
2010-04-09 14:38:33 +00:00
parent 74a61db4a1
commit 64392c7a50
17 changed files with 64 additions and 6 deletions

View File

@@ -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"
}

View File

@@ -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

View File

@@ -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

View File

@@ -76,4 +76,5 @@ instance DiffDan of DiffScand = open CommonScand, Prelude in {
<_, P3> => "sig"
} ;
hur_IAdv = {s = "hvor"} ;
}

View File

@@ -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} ;
}

View File

@@ -1,4 +1,4 @@
abstract ExtraEngAbs = Extra ** {
abstract ExtraEngAbs = Extra - [ProDrop] ** {
-- uncontracted negations; contracted are the default
fun

View File

@@ -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} ;
}

View File

@@ -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

View File

@@ -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.

View File

@@ -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} ;
}

View File

@@ -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

View File

@@ -86,4 +86,6 @@ instance DiffNor of DiffScand = open CommonScand, Prelude in {
<_, P3> => "seg"
} ;
hur_IAdv = {s = "hvor"} ;
}

View File

@@ -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
} ;
}

View File

@@ -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

View File

@@ -61,5 +61,7 @@ interface DiffScand = open CommonScand, Prelude in {
reflPron : Agr -> Str ;
hur_IAdv : {s : Str} ;
}

View File

@@ -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} ;
}

View File

@@ -77,4 +77,5 @@ instance DiffSwe of DiffScand = open CommonScand, Prelude in {
<_, P3> => "sig"
} ;
hur_IAdv = {s = "hur"} ;
}