mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
continued Konstruktikon up to pred_som
This commit is contained in:
@@ -49,11 +49,30 @@ fun
|
||||
-- grad_mod_attribut
|
||||
-- superlativ
|
||||
|
||||
unikhetQuant : Quant ; -- den enda (varelse)
|
||||
unikhetQuant : Quant ; -- den enda (varelse) --- NP in K, but Quant gives the full generality, also "de enda fem"
|
||||
|
||||
i_adjaste_lagetComp : A -> Comp ; -- i sötaste laget --- AP i K, but this would be overgenerating
|
||||
|
||||
progpart_saettVP : V -> V -> VP ; -- en kille kommer springande ur en affär
|
||||
progpart_addVP : V -> V -> VP ; -- han gick skrikande fram till fotograferna --- what is the difference?
|
||||
|
||||
reaktiv_dubbel_auxUtt : VV -> NP -> Pol -> Utt ; -- måste måste man väl inte men ... --- the "men" clause is not there in the first K example
|
||||
reaktiv_x_och_xUtt : Utt -> Utt ; -- många och många ---- XP in K ; what exactly are the restrictions? can we use a lower category?
|
||||
|
||||
juxt_redupl_adj2AP : A -> AP ; -- liten liten stuga --- is this also possible as predicative? if not, we could
|
||||
juxt_redupl_adj3AP : A -> AP ; -- liten liten liten by --- implement this by just using (mkCN a (mkCN a cn)). Also blocking "mycket liten liten"
|
||||
|
||||
koord_redupl_adv2Adv : Adv -> Adv ; -- runt och runt
|
||||
koord_redupl_adv3Adv : Adv -> Adv ; -- runt och runt
|
||||
-- koord_redupl_adv_kompAdv --- seems to be just the same thing, except in the K example "närmare och närmare målet"
|
||||
|
||||
juxt_redupl_intj : Interj -> Utt ; -- tack tack
|
||||
|
||||
redupl_VP2cVP : V -> VP ; -- pratar och pratar --- K says the argument is VP, but all examples are one V only
|
||||
redupl_VP3cVP : V -> VP ; -- pratar och pratar och pratar --- our impl also gives: jag har sovit och sovit,
|
||||
redupl_VP3VP : V -> VP ; -- pratar pratar pratar --- and: jag passar och passar på
|
||||
|
||||
pred_somAdv : Temp -> AP -> NP -> Adv ; -- dum som jag var --- not Adv in K, but "avm"
|
||||
|
||||
|
||||
|
||||
@@ -69,6 +88,13 @@ fun
|
||||
|
||||
DetNPGender : NPGender -> Det -> NP ; -- a generalization of DetNP
|
||||
|
||||
man_NP : NP ; -- man, the impersonal/"passive" subject
|
||||
menUtt : Utt -> Utt -> Utt ; -- it is raining but what does it matter
|
||||
|
||||
UttBareVP : VP -> Utt ; -- sova och sova / sleep and sleep ; no infinitive mark
|
||||
|
||||
tack_Interj : Interj ;
|
||||
goddag_Interj : Interj ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -40,6 +40,70 @@ lin
|
||||
det = DDef Def
|
||||
} ;
|
||||
|
||||
i_adjaste_lagetComp a = {
|
||||
s = \\_ => "i" ++ a.s ! AF (ASuperl SupWeak) Nom ++ "laget"
|
||||
} ;
|
||||
|
||||
progpart_saettVP v w = insertAdv (w.s ! VI (VPtPres Sg Indef Nom)) (predV v) ;
|
||||
progpart_addVP v w = insertAdv (w.s ! VI (VPtPres Sg Indef Nom)) (predV v) ;
|
||||
|
||||
reaktiv_dubbel_auxUtt vv np pol =
|
||||
let
|
||||
verb = vv.s ! VF (VPres Act) ;
|
||||
subj = np.s ! NPNom ;
|
||||
inte = negation ! pol.p
|
||||
in
|
||||
{s = verb ++ verb ++ subj ++ "väl" ++ inte} ;
|
||||
reaktiv_x_och_xUtt u = {
|
||||
s = u.s ++ "och" ++ u.s
|
||||
} ;
|
||||
|
||||
juxt_redupl_adj2AP a = {
|
||||
s = \\ap => let adj = a.s ! AF (APosit ap) Nom in adj ++ adj ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
juxt_redupl_adj3AP a = {
|
||||
s = \\ap => let adj = a.s ! AF (APosit ap) Nom in adj ++ adj ++ adj ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
koord_redupl_adv2Adv ad =
|
||||
let adv = lin Adv ad in
|
||||
mkAdv and_Conj adv adv ;
|
||||
|
||||
koord_redupl_adv3Adv ad =
|
||||
let adv = lin Adv ad in
|
||||
mkAdv and_Conj adv (mkAdv and_Conj adv adv) ;
|
||||
|
||||
juxt_redupl_intj i =
|
||||
{s = i.s ++ i.s} ;
|
||||
|
||||
|
||||
redupl_VP2cVP v = predV verb where {
|
||||
verb = {
|
||||
s = table VForm {f => v.s ! f ++ "och" ++ v.s ! f} ;
|
||||
part = v.part ;
|
||||
vtype = v.vtype
|
||||
}
|
||||
} ;
|
||||
redupl_VP3cVP v = predV verb where {
|
||||
verb = {
|
||||
s = table VForm {f => v.s ! f ++ "och" ++ v.s ! f ++ "och" ++ v.s ! f} ;
|
||||
part = v.part ;
|
||||
vtype = v.vtype
|
||||
}
|
||||
} ;
|
||||
redupl_VP3VP v = predV verb where {
|
||||
verb = {
|
||||
s = table VForm {f => v.s ! f ++ v.s ! f ++ v.s ! f} ;
|
||||
part = v.part ;
|
||||
vtype = v.vtype
|
||||
}
|
||||
} ;
|
||||
|
||||
pred_somAdv t ap np =
|
||||
P.mkAdv (ap.s ! agrAdjNP np.a DIndef ++ (mkRS (lin Temp t) positivePol (mkRCl which_RP (lin NP np) (P.mkV2 verbBe))).s ! np.a ! RNom) ;
|
||||
|
||||
|
||||
lincat
|
||||
@@ -55,4 +119,20 @@ lin
|
||||
a = agrP3 npg.g det.n
|
||||
} ;
|
||||
|
||||
man_NP = {
|
||||
s = table {NPNom => "man" ; NPAcc => "en" ; NPPoss _ _ => "ens"} ;
|
||||
a = agrP3 Utr Sg
|
||||
} ;
|
||||
|
||||
menUtt u v =
|
||||
{s = u.s ++ "men" ++ v.s} ;
|
||||
|
||||
UttBareVP vp =
|
||||
{s = infVP vp (agrP3 Utr Sg)} ;
|
||||
|
||||
tack_Interj = P.mkInterj "tack" ;
|
||||
goddag_Interj = P.mkInterj "goddag" ;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user