forked from GitHub/gf-rgl
(Pes) Add relative pronoun type in Subj
This commit is contained in:
@@ -16,7 +16,12 @@ concrete AdverbPes of Adverb = CatPes ** open ResPes, Prelude in {
|
|||||||
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
||||||
|
|
||||||
-- SubjS = cc2 ;
|
-- SubjS = cc2 ;
|
||||||
SubjS sub snt = {s = sub.s ++ conjThat ++ snt.s ! sub.compl} ;
|
SubjS sub snt = {
|
||||||
|
s = case sub.relpron of {
|
||||||
|
Ke => sub.s ++ conjThat ++ snt.s ! sub.compl ;
|
||||||
|
Ance => "آنچه" ++ snt.s ! sub.compl }
|
||||||
|
} ;
|
||||||
|
|
||||||
AdnCAdv cadv = {s = cadv.s ++ "از"} ;
|
AdnCAdv cadv = {s = cadv.s ++ "از"} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,11 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in {
|
|||||||
Conj = {s1,s2 : Str ; n : Number} ;
|
Conj = {s1,s2 : Str ; n : Number} ;
|
||||||
-----b Conj = {s : Str ; n : Number} ;
|
-----b Conj = {s : Str ; n : Number} ;
|
||||||
-----b DConj = {s1,s2 : Str ; n : Number} ;
|
-----b DConj = {s1,s2 : Str ; n : Number} ;
|
||||||
Subj = {s : Str ; compl : VVForm} ; -- subjunctive or indicative
|
Subj = {
|
||||||
|
s : Str ;
|
||||||
|
compl : VVForm ; -- subjunctive or indicative
|
||||||
|
relpron : RelPron -- choose between که and آنچه
|
||||||
|
} ;
|
||||||
VS = ResPes.Verb ** {compl : VVForm} ; -- subjunctive or indicative
|
VS = ResPes.Verb ** {compl : VVForm} ; -- subjunctive or indicative
|
||||||
Prep = Compl ;
|
Prep = Compl ;
|
||||||
---- Open lexical classes, e.g. Lexicon
|
---- Open lexical classes, e.g. Lexicon
|
||||||
|
|||||||
@@ -216,9 +216,9 @@ oper
|
|||||||
|
|
||||||
mkSubj = overload {
|
mkSubj = overload {
|
||||||
mkSubj : Str -> Subj -- Takes its verbal complement in indicative.
|
mkSubj : Str -> Subj -- Takes its verbal complement in indicative.
|
||||||
= \s -> lin Subj {s=s ; compl=indicative} ;
|
= \s -> mkSubj' s ;
|
||||||
mkSubj : VVForm -> Str -> Subj -- Specify whether it takes complement in subjunctive or indicative.
|
mkSubj : VVForm -> Str -> Subj -- Specify whether it takes complement in subjunctive or indicative.
|
||||||
= \vvf,s -> lin Subj {s=s ; compl=vvf}
|
= \vvf,s -> mkSubj' s ** {compl=vvf}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkInterj : Str -> Interj
|
mkInterj : Str -> Interj
|
||||||
@@ -248,6 +248,13 @@ oper
|
|||||||
Mod = ResPes.Mod ;
|
Mod = ResPes.Mod ;
|
||||||
ezafe = ResPes.Ezafe ;
|
ezafe = ResPes.Ezafe ;
|
||||||
|
|
||||||
|
|
||||||
|
mkSubj' : Str -> Subj ;
|
||||||
|
mkSubj' s = lin Subj (case s of {
|
||||||
|
"آن" => {s = [] ; relpron = Ance ; compl = indicative} ;
|
||||||
|
_ => {s = s ; relpron = Ke ; compl = indicative}
|
||||||
|
}) ;
|
||||||
|
|
||||||
-- Removed mkV_1, mkV_2, mkN01 and mkN02 from public API, still available for
|
-- Removed mkV_1, mkV_2, mkN01 and mkN02 from public API, still available for
|
||||||
-- any applications that open ParadigmsPes. /IL 2019-02-08
|
-- any applications that open ParadigmsPes. /IL 2019-02-08
|
||||||
mkV_1 : Str -> V
|
mkV_1 : Str -> V
|
||||||
|
|||||||
Reference in New Issue
Block a user