mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-24 02:31:10 -06:00
Prints to facilitate all form checks; Participles - first draft
This commit is contained in:
@@ -86,7 +86,7 @@ oper
|
||||
non_reflexive : Reflexivity
|
||||
= NonReflexive ;
|
||||
|
||||
-- Voice (not yet used)
|
||||
-- Voice
|
||||
active : Voice
|
||||
= Act ;
|
||||
passive : Voice
|
||||
@@ -131,7 +131,8 @@ oper
|
||||
mkA : Str -> ZAIndex -> A ;
|
||||
mkA : Str -> Str -> ZAIndex -> A ;
|
||||
mkA : Str -> Str -> ZAIndex -> ShortFormPreference -> A ;
|
||||
mkA : A -> Str -> A -> A -- Compound adjective like социально-экономический
|
||||
mkA : A -> Str -> A -> A ; -- Compound adjective like социально-экономический
|
||||
mkA : V -> Voice -> Tense -> A ; -- make participles
|
||||
} ;
|
||||
|
||||
ShortenA : A -> A ;
|
||||
@@ -301,6 +302,25 @@ oper
|
||||
= \pf -> pronToAdj pf ;
|
||||
mkA : A -> Str -> A -> A
|
||||
= \a1,link,a2 -> lin A (mkCompoundA a1 link a2) ;
|
||||
mkA : V -> Voice -> Tense -> A
|
||||
= \v,voice,t -> case <voice,t> of {
|
||||
<Pass,Past|Cond> => lin A (guessAdjectiveForms (v.pppss + "ный")) ;
|
||||
<Pass,Pres> => lin A ( -- overgenerated
|
||||
let s : Str = case v.prpl1 of {
|
||||
f + #consonant + "ём" => (Predef.tk 2 v.prpl1) + "омый" ;
|
||||
_ => v.prpl1 + "ый"
|
||||
} in
|
||||
makeAdjectiveFormsUseIndex s "" (Z.ZA 1 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||
<Act,Pres> => lin A (
|
||||
makeAdjectiveFormsUseIndex (Z.addRefl ((Predef.tk 1 v.prpl3) + "щий")) "" (Z.ZA 4 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||
<Act,Past|Cond> => lin A (
|
||||
let s : Str = case v.inf of {
|
||||
_ + ("сти"|"зти") => (Predef.tk 1 v.prsg1) + "ший" ; -- TODO: check if not all of these cases are ok
|
||||
_ => (Predef.tk 1 v.psgm) + "вший"
|
||||
} in
|
||||
makeAdjectiveFormsUseIndex (Z.addRefl s) "" (Z.ZA 4 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||
_ => Predef.error "Error: participle for this voice and tense does not exist"
|
||||
} -- TODO: suppress comp and short for all but Pass Pres; take sya into account
|
||||
} ;
|
||||
|
||||
ShortenA : A -> A
|
||||
|
||||
Reference in New Issue
Block a user