mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Quant with variable number
This commit is contained in:
@@ -68,8 +68,9 @@ abstract Cat = Tense ** {
|
||||
Pron ; -- personal pronoun e.g. "she"
|
||||
Det ; -- determiner phrase e.g. "all the seven"
|
||||
Predet; -- predeterminer (prefixed Quant) e.g. "all"
|
||||
QuantSg;-- quantifier ('nucleus' of sing. Det) e.g. "this"
|
||||
QuantPl;-- quantifier ('nucleus' of plur. Det) e.g. "these"
|
||||
QuantSg;-- quantifier ('nucleus' of sing. Det) e.g. "every"
|
||||
QuantPl;-- quantifier ('nucleus' of plur. Det) e.g. "many"
|
||||
Quant ; -- quantifier with both sg and pl e.g. "this/these"
|
||||
Num ; -- cardinal number (used with QuantPl) e.g. "seven"
|
||||
Ord ; -- ordinal number (used in Det) e.g. "seventh"
|
||||
|
||||
|
||||
@@ -32,12 +32,16 @@ abstract Noun = Cat ** {
|
||||
DetSg : QuantSg -> Ord -> Det ; -- this best man
|
||||
DetPl : QuantPl -> Num -> Ord -> Det ; -- these five best men
|
||||
|
||||
-- Quantifiers that have both forms can be used in both ways.
|
||||
|
||||
SgQuant : Quant -> QuantSg ; -- this
|
||||
PlQuant : Quant -> QuantPl ; -- these
|
||||
|
||||
-- Pronouns have possessive forms. Genitives of other kinds
|
||||
-- of noun phrases are not given here, since they are not possible
|
||||
-- in e.g. Romance languages.
|
||||
|
||||
PossSg : Pron -> QuantSg ; -- my (house)
|
||||
PossPl : Pron -> QuantPl ; -- my (houses)
|
||||
PossPron : Pron -> Quant ; -- my (house)
|
||||
|
||||
-- All parts of the determiner can be empty, except $Quant$, which is
|
||||
-- the "kernel" of a determiner.
|
||||
@@ -70,16 +74,14 @@ abstract Noun = Cat ** {
|
||||
-- neatly distinct words (Spanish "un, unos ; el, los") but also without
|
||||
-- any particular word (Finnish; Swedish definites).
|
||||
|
||||
DefSg : QuantSg ; -- the (house)
|
||||
DefPl : QuantPl ; -- the (houses)
|
||||
IndefSg : QuantSg ; -- a (house)
|
||||
IndefPl : QuantPl ; -- (houses)
|
||||
DefArt : Quant ; -- the (house), the (houses)
|
||||
IndefArt : Quant ; -- a (house), (houses)
|
||||
|
||||
-- Nouns can be used without an article as mass nouns. The resource does
|
||||
-- not distinguish mass nouns from other common nouns, which can result
|
||||
-- in semantically odd expressions.
|
||||
|
||||
MassDet : QuantSg ; -- (beer)
|
||||
MassDet : QuantSg ; -- (beer)
|
||||
|
||||
-- Other determiners are defined in [Structural Structural.html].
|
||||
|
||||
|
||||
@@ -73,19 +73,17 @@ abstract Structural = Cat ** {
|
||||
somebody_NP : NP ;
|
||||
something_NP : NP ;
|
||||
somewhere_Adv : Adv ;
|
||||
that_Quant : QuantSg ;
|
||||
that_Quant : Quant ;
|
||||
that_NP : NP ;
|
||||
there_Adv : Adv ;
|
||||
there7to_Adv : Adv ;
|
||||
there7from_Adv : Adv ;
|
||||
therefore_PConj : PConj ;
|
||||
these_NP : NP ;
|
||||
these_Quant : QuantPl ;
|
||||
they_Pron : Pron ;
|
||||
this_Quant : QuantSg ;
|
||||
this_Quant : Quant ;
|
||||
this_NP : NP ;
|
||||
those_NP : NP ;
|
||||
those_Quant : QuantPl ;
|
||||
through_Prep : Prep ;
|
||||
to_Prep : Prep ;
|
||||
too_AdA : AdA ;
|
||||
|
||||
@@ -51,6 +51,7 @@ concrete CatEng of Cat = TenseX ** open ResEng, Prelude in {
|
||||
NP, Pron = {s : Case => Str ; a : Agr} ;
|
||||
Det = {s : Str ; n : Number} ;
|
||||
Predet, QuantSg, QuantPl, Num, Ord = {s : Str} ;
|
||||
Quant = {s : Number => Str} ;
|
||||
|
||||
-- Adverb
|
||||
|
||||
|
||||
@@ -25,8 +25,10 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
PossSg p = {s = p.s ! Gen} ;
|
||||
PossPl p = {s = p.s ! Gen} ;
|
||||
SgQuant quant = {s = quant.s ! Sg} ;
|
||||
PlQuant quant = {s = quant.s ! Pl} ;
|
||||
|
||||
PossPron p = {s = \\_ => p.s ! Gen} ;
|
||||
|
||||
NoNum, NoOrd = {s = []} ;
|
||||
|
||||
@@ -40,11 +42,14 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
|
||||
OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
||||
|
||||
DefSg = {s = artDef ; n = Sg} ;
|
||||
DefPl = {s = artDef ; n = Pl} ;
|
||||
DefArt = {s = \\_ => artDef} ;
|
||||
|
||||
IndefSg = {s = artIndef ; n = Sg} ;
|
||||
IndefPl = {s = [] ; n = Pl} ;
|
||||
IndefArt = {
|
||||
s = table {
|
||||
Sg => artIndef ;
|
||||
Pl => []
|
||||
}
|
||||
} ;
|
||||
|
||||
MassDet = {s = [] ; n = Sg} ;
|
||||
|
||||
|
||||
@@ -63,19 +63,16 @@ concrete StructuralEng of Structural = CatEng **
|
||||
somePl_Det = mkDeterminer Pl "some" ;
|
||||
something_NP = regNP "something" Sg ;
|
||||
somewhere_Adv = ss "somewhere" ;
|
||||
that_Quant = mkDeterminer Sg "that" ;
|
||||
that_Quant = mkQuant "that" "those" ;
|
||||
that_NP = regNP "that" Sg ;
|
||||
there_Adv = ss "there" ;
|
||||
there7to_Adv = ss "there" ;
|
||||
there7from_Adv = ss ["from there"] ;
|
||||
therefore_PConj = ss "therefore" ;
|
||||
these_NP = regNP "these" Pl ;
|
||||
these_Quant = mkDeterminer Pl "these" ;
|
||||
they_Pron = mkNP "they" "them" "their" Pl P3 ;
|
||||
this_Quant = mkDeterminer Sg "this" ;
|
||||
this_Quant = mkQuant "this" "these" ;
|
||||
this_NP = regNP "this" Sg ;
|
||||
those_NP = regNP "those" Pl ;
|
||||
those_Quant = mkDeterminer Pl "those" ;
|
||||
through_Prep = ss "through" ;
|
||||
too_AdA = ss "too" ;
|
||||
to_Prep = ss "to" ;
|
||||
@@ -100,5 +97,10 @@ concrete StructuralEng of Structural = CatEng **
|
||||
youPl_Pron = mkNP "you" "you" "your" Pl P2 ;
|
||||
youPol_Pron = mkNP "you" "you" "your" Sg P2 ;
|
||||
|
||||
oper
|
||||
mkQuant : Str -> Str -> {s : Number => Str} = \x,y -> {
|
||||
s = table Number [x ; y]
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -80,21 +80,29 @@ lin
|
||||
someSg_Det = {s = \\_,c => prepCase c ++ elision "quelqu" ; n = Sg} ;
|
||||
something_NP = pn2np (mkPN ["quelque chose"] Masc) ;
|
||||
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
||||
that_Quant = {s = \\g,c => prepCase c ++ genForms "ce" "cette" ! g} ; ---- cet
|
||||
that_Quant = {s =
|
||||
table {
|
||||
Sg => \\g,c => prepCase c ++ genForms "ce" "cette" ! g ; ---- cet ; là
|
||||
Pl => \\_,_ => "ces"
|
||||
}
|
||||
} ;
|
||||
that_NP = mkNP ["ceci"] Masc Sg ;
|
||||
there7from_Adv = ss ["de là"] ;
|
||||
there7to_Adv = ss "là" ; --- y
|
||||
there_Adv = ss "là" ;
|
||||
therefore_PConj = ss "donc" ;
|
||||
these_NP = mkNP ["celles-ci"] Fem Pl ;
|
||||
these_Quant = {s = \\_,c => prepCase c ++ "ces"} ; ---- ci
|
||||
they_Pron = mkPronoun
|
||||
"elles" "les" "leur" "eux" "leur" "leur" "leurs"
|
||||
Fem Pl P3 Clit1 ;
|
||||
this_Quant = {s = \\g,c => prepCase c ++ genForms "ce" "cette" ! g} ; ---- cet
|
||||
this_Quant = {s =
|
||||
table {
|
||||
Sg => \\g,c => prepCase c ++ genForms "ce" "cette" ! g ; ---- cet ; ci
|
||||
Pl => \\_,_ => "ces"
|
||||
}
|
||||
} ;
|
||||
this_NP = pn2np (mkPN ["ceci"] Masc) ;
|
||||
those_NP = mkNP ["celles-là"] Fem Pl ;
|
||||
those_Quant = {s = \\_,c => prepCase c ++ "ces"} ; ---- là
|
||||
through_Prep = mkPreposition "par" ;
|
||||
too_AdA = ss "trop" ;
|
||||
to_Prep = complDat ;
|
||||
|
||||
@@ -50,6 +50,7 @@ concrete CatGer of Cat = TenseX ** open ResGer, Prelude in {
|
||||
Pron = {s : NPForm => Str ; a : Agr} ;
|
||||
Det = {s : Gender => Case => Str ; n : Number ; a : Adjf} ;
|
||||
QuantSg, QuantPl = {s : Gender => Case => Str ; a : Adjf} ;
|
||||
Quant = {s : Number => Gender => Case => Str ; a : Adjf} ;
|
||||
Predet = {s : Number => Gender => Case => Str} ;
|
||||
Num = {s : Str} ;
|
||||
Ord = {s : AForm => Str} ;
|
||||
|
||||
@@ -42,16 +42,18 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
a = a
|
||||
} ;
|
||||
|
||||
PossSg p = {
|
||||
s = \\g,c => p.s ! NPPoss (gennum g Sg) c ;
|
||||
n = Sg ;
|
||||
a = Strong
|
||||
SgQuant q = {
|
||||
s = q.s ! Sg ;
|
||||
a = q.a
|
||||
} ;
|
||||
PlQuant q = {
|
||||
s = q.s ! Pl ;
|
||||
a = q.a
|
||||
} ;
|
||||
|
||||
PossPl p = {
|
||||
s = \\g,c => p.s ! NPPoss (gennum g Pl) c ;
|
||||
n = Pl ;
|
||||
a = Weak
|
||||
PossPron p = {
|
||||
s = \\n,g,c => p.s ! NPPoss (gennum g n) c ;
|
||||
a = Strong --- need separately weak for Pl ?
|
||||
} ;
|
||||
|
||||
NoNum = {s = []} ;
|
||||
@@ -67,25 +69,16 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
|
||||
OrdSuperl a = {s = a.s ! Superl} ;
|
||||
|
||||
DefSg = {
|
||||
s = \\g,c => artDef ! GSg g ! c ;
|
||||
n = Sg ;
|
||||
a = Weak
|
||||
} ;
|
||||
DefPl = {
|
||||
s = \\_,c => artDef ! GPl ! c ;
|
||||
n = Pl ;
|
||||
DefArt = {
|
||||
s = \\n,g,c => artDef ! gennum g n ! c ;
|
||||
a = Weak
|
||||
} ;
|
||||
|
||||
IndefSg = {
|
||||
s = \\g,c => "ein" + pronEnding ! GSg g ! c ;
|
||||
n = Sg ;
|
||||
a = Strong
|
||||
} ;
|
||||
IndefPl = {
|
||||
s = \\_,_ => [] ;
|
||||
n = Pl ;
|
||||
IndefArt = {
|
||||
s = table {
|
||||
Sg => \\g,c => "ein" + pronEnding ! GSg g ! c ;
|
||||
Pl => \\_,_ => []
|
||||
} ;
|
||||
a = Strong
|
||||
} ;
|
||||
|
||||
@@ -95,7 +88,6 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
a = Strong
|
||||
} ;
|
||||
|
||||
|
||||
UseN, UseN2, UseN3 = \n -> {
|
||||
s = \\_ => n.s ;
|
||||
g = n.g
|
||||
|
||||
@@ -82,19 +82,17 @@ concrete StructuralGer of Structural = CatGer **
|
||||
} ;
|
||||
something_NP = nameNounPhrase {s = \\_ => "etwas"} ;
|
||||
somewhere_Adv = ss "irgendwo" ;
|
||||
that_Quant = detLikeAdj Sg "jen" ;
|
||||
that_Quant = {s = \\n => (detLikeAdj n "jen").s ; a = Weak} ;
|
||||
that_NP = nameNounPhrase {s = caselist "das" "das" "denem" "dessen"} ; ----
|
||||
there_Adv = ss "da" ;
|
||||
there7to_Adv = ss "dahin" ;
|
||||
there7from_Adv = ss ["daher"] ;
|
||||
therefore_PConj = ss "deshalb" ;
|
||||
these_NP = {s = caselist "diese" "diese" "diesen" "dieser" ; a = agrP3 Pl} ;
|
||||
these_Quant = detLikeAdj Pl "dies" ;
|
||||
they_Pron = mkPronPers "sie" "sie" "ihnen" "ihrer" "ihr" Pl P3 ;
|
||||
this_Quant = detLikeAdj Sg "dies" ;
|
||||
this_Quant = {s = \\n => (detLikeAdj n "dies").s ; a = Weak} ;
|
||||
this_NP = nameNounPhrase {s = caselist "dies" "dies" "diesem" "dieses"} ; ----
|
||||
those_NP = {s = caselist "jene" "jene" "jenen" "jener" ; a = agrP3 Pl} ;
|
||||
those_Quant = detLikeAdj Pl "jen" ;
|
||||
through_Prep = mkPrep "durch" Acc ;
|
||||
too_AdA = ss "zu" ;
|
||||
to_Prep = mkPrep "nach" Dat ;
|
||||
|
||||
@@ -79,21 +79,29 @@ lin
|
||||
someSg_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Sg} ;
|
||||
something_NP = pn2np (mkPN ["qualche cosa"] Masc) ;
|
||||
somewhere_Adv = ss ["qualche parte"] ;
|
||||
that_Quant = {s = \\g,c => prepCase c ++ genForms "quello" "quella" ! g} ;
|
||||
that_Quant = {
|
||||
s = table {
|
||||
Sg => \\g,c => prepCase c ++ genForms "quello" "quella" ! g ;
|
||||
Pl => \\g,c => prepCase c ++ genForms "quelli" "quelle" ! g ---- quegli
|
||||
}
|
||||
} ;
|
||||
that_NP = mkNP ["questo"] Masc Sg ;
|
||||
there7from_Adv = ss ["di là"] ;
|
||||
there7to_Adv = ss "là" ; --- ci
|
||||
there_Adv = ss "là" ;
|
||||
therefore_PConj = ss "quindi" ;
|
||||
these_NP = mkNP ["queste"] Fem Pl ;
|
||||
these_Quant = {s = \\g,c => prepCase c ++ genForms "questo" "questa" ! g} ;
|
||||
they_Pron = mkPronoun
|
||||
"loro" "loro" "li" "loro" "loro" "loro" "loro" "loro"
|
||||
Fem Pl P3 Clit1 ;
|
||||
this_Quant = {s = \\g,c => prepCase c ++ genForms "questo" "questa" ! g} ;
|
||||
this_Quant = {
|
||||
s = table {
|
||||
Sg => \\g,c => prepCase c ++ genForms "questo" "questa" ! g ;
|
||||
Pl => \\g,c => prepCase c ++ genForms "questi" "queste" ! g
|
||||
}
|
||||
} ;
|
||||
this_NP = pn2np (mkPN ["questo"] Masc) ;
|
||||
those_NP = mkNP ["quelle"] Fem Pl ;
|
||||
those_Quant = {s = \\g,c => prepCase c ++ genForms "quelli" "quelle" ! g} ; --- quegli
|
||||
through_Prep = mkPreposition "per" ;
|
||||
too_AdA = ss "troppo" ;
|
||||
to_Prep = complDat ;
|
||||
|
||||
@@ -17,19 +17,21 @@ lin
|
||||
predAComp a x y = PredVP x (UseComp (CompAP (ComparA a y))) ;
|
||||
predAColl a x y =
|
||||
PredVP (ConjNP and_Conj (BaseNP x y)) (UseComp (CompAP (PositA a))) ;
|
||||
predN n x = PredVP x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (UseN n)))) ;
|
||||
predN n x =
|
||||
PredVP x (UseComp (CompNP (DetCN (DetSg (SgQuant IndefArt) NoOrd) (UseN n)))) ;
|
||||
predN2 n x y =
|
||||
PredVP x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (ComplN2 n y)))) ;
|
||||
PredVP x (UseComp (CompNP (DetCN (DetSg (SgQuant IndefArt) NoOrd) (ComplN2 n y)))) ;
|
||||
predNColl n x y = PredVP (ConjNP and_Conj (BaseNP x y))
|
||||
(UseComp (CompNP (DetCN (DetPl IndefPl NoNum NoOrd) (UseN n)))) ;
|
||||
(UseComp (CompNP (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) (UseN n)))) ;
|
||||
predAdv a x = PredVP x (UseComp (CompAdv a)) ;
|
||||
predPrep p x y = PredVP x (UseComp (CompAdv (PrepNP p y))) ;
|
||||
|
||||
--2 Individual-valued function applications
|
||||
|
||||
appN2 n x = DetCN (DetSg DefSg NoOrd) (ComplN2 n x) ;
|
||||
appN3 n x y = DetCN (DetSg DefSg NoOrd) (ComplN2 (ComplN3 n x) y) ;
|
||||
appColl n x y = DetCN (DetSg DefSg NoOrd) (ComplN2 n (ConjNP and_Conj (BaseNP x y))) ;
|
||||
appN2 n x = DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 n x) ;
|
||||
appN3 n x y = DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 (ComplN3 n x) y) ;
|
||||
appColl n x y =
|
||||
DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 n (ConjNP and_Conj (BaseNP x y))) ;
|
||||
|
||||
--2 Families of types
|
||||
|
||||
@@ -43,6 +45,6 @@ lin
|
||||
|
||||
-- This is similar to a family except that the argument is a type.
|
||||
|
||||
typN2 f n = ComplN2 f (DetCN (DetPl IndefPl NoNum NoOrd) n) ;
|
||||
typN2 f n = ComplN2 f (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) n) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -82,9 +82,9 @@ incomplete concrete DemonstrativeI of Demonstrative = Cat **
|
||||
that_MNP = mkDem NP that_NP ;
|
||||
|
||||
thisDet_MNP cn =
|
||||
mkDem NP (DetCN (DetSg this_Quant NoOrd) cn) ;
|
||||
mkDem NP (DetCN (DetSg (SgQuant this_Quant) NoOrd) cn) ;
|
||||
thatDet_MNP cn =
|
||||
mkDem NP (DetCN (DetSg that_Quant NoOrd) cn) ;
|
||||
mkDem NP (DetCN (DetSg (SgQuant that_Quant) NoOrd) cn) ;
|
||||
|
||||
here_MAdv = mkDem Adv here_Adv ;
|
||||
here7from_MAdv = mkDem Adv here7from_Adv ;
|
||||
|
||||
@@ -67,20 +67,28 @@ concrete StructuralNor of Structural = CatNor **
|
||||
something_NP = regNP "noe" "noes" SgNeutr ;
|
||||
somewhere_Adv = ss ["et eller annet sted"] ; ---- ?
|
||||
that_Quant =
|
||||
{s = \\_ => genderForms ["den der"] ["det der"] ; n = Sg ; det = DDef Def} ;
|
||||
{s = table {
|
||||
Sg => \\_ => genderForms ["den der"] ["det der"] ;
|
||||
Pl => \\_,_ => ["de der"]
|
||||
} ;
|
||||
det = DDef Def
|
||||
} ;
|
||||
that_NP = regNP ["det der"] ["det ders"] SgNeutr ;
|
||||
there_Adv = ss "der" ;
|
||||
there7to_Adv = ss "dit" ;
|
||||
there7from_Adv = ss "derfra" ;
|
||||
therefore_PConj = ss "derfor" ;
|
||||
these_NP = regNP ["de her"] ["det hers"] Plg ;
|
||||
these_Quant = {s = \\_,_ => ["de her"] ; n = Pl ; det = DDef Def} ;
|
||||
they_Pron = MorphoNor.mkNP "de" "dem" "deres" "deres" "deres" Plg P1 ;
|
||||
this_Quant =
|
||||
{s = \\_ => genderForms ["den her"] ["det her"] ; n = Sg ; det = DDef Def} ;
|
||||
{s = table {
|
||||
Sg => \\_ => genderForms ["den her"] ["det her"] ;
|
||||
Pl => \\_,_ => ["de her"]
|
||||
} ;
|
||||
det = DDef Def
|
||||
} ;
|
||||
this_NP = regNP ["det her"] ["det hers"] SgNeutr ;
|
||||
those_NP = regNP ["de der"] ["de ders"] Plg ;
|
||||
those_Quant = {s = \\_,_ => ["de der"] ; n = Pl ; det = DDef Def} ;
|
||||
through_Prep = ss "gjennom" ;
|
||||
too_AdA = ss "for" ;
|
||||
to_Prep = ss "til" ;
|
||||
|
||||
@@ -50,6 +50,7 @@ incomplete concrete CatRomance of Cat =
|
||||
Det = {s : Gender => Case => Str ; n : Number} ;
|
||||
QuantSg = {s : Gender => Case => Str} ;
|
||||
QuantPl = {s : Gender => Case => Str} ;
|
||||
Quant = {s : Number => Gender => Case => Str} ;
|
||||
Predet = {s : AAgr => Case => Str ; c : Case} ; -- la plupart de...
|
||||
Num = {s : Gender => Str} ;
|
||||
Ord = {s : AAgr => Str} ;
|
||||
|
||||
@@ -34,13 +34,11 @@ incomplete concrete NounRomance of Noun =
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
PossSg p = {
|
||||
s = \\g,c => prepCase c ++ p.s ! Poss (aagr g Sg) ;
|
||||
n = Sg
|
||||
} ;
|
||||
PossPl p = {
|
||||
s = \\g,c => prepCase c ++ p.s ! Poss (aagr g Pl) ;
|
||||
n = Pl
|
||||
SgQuant q = {s = q.s ! Sg} ;
|
||||
PlQuant q = {s = q.s ! Pl} ;
|
||||
|
||||
PossPron p = {
|
||||
s = \\n,g,c => prepCase c ++ p.s ! Poss (aagr g n) ---- il mio!
|
||||
} ;
|
||||
|
||||
NoNum = {s = \\_ => []} ;
|
||||
@@ -56,22 +54,12 @@ incomplete concrete NounRomance of Noun =
|
||||
|
||||
OrdSuperl adj = {s = \\a => adj.s ! Superl ! AF a.g a.n} ;
|
||||
|
||||
DefSg = {
|
||||
s = \\g,c => artDef g Sg c ;
|
||||
n = Sg
|
||||
} ;
|
||||
DefPl = {
|
||||
s = \\g,c => artDef g Pl c ;
|
||||
n = Pl
|
||||
DefArt = {
|
||||
s = \\n,g,c => artDef g n c
|
||||
} ;
|
||||
|
||||
IndefSg = {
|
||||
s = \\g,c => artIndef g Sg c ;
|
||||
n = Sg
|
||||
} ;
|
||||
IndefPl = {
|
||||
s = \\g,c => artIndef g Pl c ;
|
||||
n = Pl
|
||||
IndefArt = {
|
||||
s = \\n,g,c => artIndef g n c
|
||||
} ;
|
||||
|
||||
MassDet = {
|
||||
|
||||
@@ -66,6 +66,7 @@ incomplete concrete CatScand of Cat =
|
||||
Det = {s : Bool => Gender => Str ; n : Number ; det : DetSpecies} ;
|
||||
QuantSg = {s : Bool => Gender => Str ; det : DetSpecies} ;
|
||||
QuantPl = {s : Bool => Gender => Str ; det : DetSpecies} ;
|
||||
Quant = {s : Number => Bool => Gender => Str ; det : DetSpecies} ;
|
||||
Predet = {s : GenNum => Str} ;
|
||||
Num = {s : Gender => Str ; isDet : Bool} ;
|
||||
Ord = {s : Str ; isDet : Bool} ;
|
||||
|
||||
@@ -39,14 +39,19 @@ incomplete concrete NounScand of Noun =
|
||||
det = quant.det
|
||||
} ;
|
||||
|
||||
PossSg p = {
|
||||
s = \\_,g => p.s ! NPPoss (gennum g Sg) ;
|
||||
SgQuant quant = {
|
||||
s = quant.s ! Sg ;
|
||||
n = Sg ;
|
||||
det = DDef Indef
|
||||
det = quant.det
|
||||
} ;
|
||||
PossPl p = {
|
||||
s = \\_,_ => p.s ! NPPoss Plg ;
|
||||
PlQuant quant = {
|
||||
s = quant.s ! Pl ;
|
||||
n = Pl ;
|
||||
det = quant.det
|
||||
} ;
|
||||
|
||||
PossPron p = {
|
||||
s = \\n,_,g => p.s ! NPPoss (gennum g n) ;
|
||||
det = DDef Indef
|
||||
} ;
|
||||
|
||||
@@ -63,19 +68,18 @@ incomplete concrete NounScand of Noun =
|
||||
|
||||
OrdSuperl a = {s = a.s ! AF (ASuperl SupWeak) Nom ; isDet = True} ;
|
||||
|
||||
DefSg = {
|
||||
s = \\b,g => if_then_Str b (artDef (gennum g Sg)) [] ;
|
||||
n = Sg ;
|
||||
det = DDef detDef
|
||||
} ;
|
||||
DefPl = {
|
||||
s = \\b,_ => if_then_Str b (artDef Plg) [] ;
|
||||
n = Pl ;
|
||||
DefArt = {
|
||||
s = \\n,b,g => if_then_Str b (artDef (gennum g n)) [] ;
|
||||
det = DDef detDef
|
||||
} ;
|
||||
|
||||
IndefSg = {s = \\_ => artIndef ; n = Sg ; det = DIndef} ;
|
||||
IndefPl = {s = \\_,_ => [] ; n = Pl ; det = DIndef} ;
|
||||
IndefArt = {
|
||||
s = table {
|
||||
Sg => \\_ => artIndef ;
|
||||
Pl => \\_,_ => []
|
||||
} ;
|
||||
det = DIndef
|
||||
} ;
|
||||
|
||||
MassDet = {s = \\_,_ => [] ; n = Sg ; det = DIndef} ;
|
||||
|
||||
|
||||
@@ -66,20 +66,28 @@ concrete StructuralSwe of Structural = CatSwe **
|
||||
something_NP = regNP "något" "någots" SgNeutr ;
|
||||
somewhere_Adv = ss "någonstans" ;
|
||||
that_Quant =
|
||||
{s = \\_ => genderForms ["den där"] ["det där"] ; n = Sg ; det = DDef Def} ;
|
||||
{s = table {
|
||||
Sg => \\_ => genderForms ["den där"] ["det där"] ;
|
||||
Pl => \\_,_ => ["de där"]
|
||||
} ;
|
||||
det = DDef Def
|
||||
} ;
|
||||
that_NP = regNP ["det där"] ["det därs"] SgNeutr ;
|
||||
there_Adv = ss "där" ;
|
||||
there7to_Adv = ss "dit" ;
|
||||
there7from_Adv = ss "därifrån" ;
|
||||
therefore_PConj = ss "därför" ;
|
||||
these_NP = regNP ["de här"] ["det härs"] Plg ;
|
||||
these_Quant = {s = \\_,_ => ["de här"] ; n = Pl ; det = DDef Def} ;
|
||||
they_Pron = MorphoSwe.mkNP "de" "dem" "deras" "deras" "deras" Plg P1 ;
|
||||
this_Quant =
|
||||
{s = \\_ => genderForms ["den här"] ["det här"] ; n = Sg ; det = DDef Def} ;
|
||||
{s = table {
|
||||
Sg => \\_ => genderForms ["den här"] ["det här"] ;
|
||||
Pl => \\_,_ => ["de här"]
|
||||
} ;
|
||||
det = DDef Def
|
||||
} ;
|
||||
this_NP = regNP ["det här"] ["det härs"] SgNeutr ;
|
||||
those_NP = regNP ["de där"] ["det därs"] Plg ;
|
||||
those_Quant = {s = \\_,_ => ["de där"] ; n = Pl ; det = DDef Def} ;
|
||||
through_Prep = ss "genom" ;
|
||||
too_AdA = ss "för" ;
|
||||
to_Prep = ss "till" ;
|
||||
|
||||
Reference in New Issue
Block a user