forked from GitHub/gf-rgl
@@ -14,7 +14,7 @@ concrete AdjectivePes of Adjective = CatPes ** open ResPes, Prelude in {
|
||||
---- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||
|
||||
ComplA2 a np = a ** {
|
||||
s = \\m => np2str np ++ a.c2 ++ a.s ! m ;
|
||||
s = \\m => a.c2 ++ np2str np ++ a.s ! m ;
|
||||
adv = np2str np ++ a.c2 ++ a.adv
|
||||
} ;
|
||||
|
||||
|
||||
@@ -77,11 +77,12 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in {
|
||||
relpron : RelPron -- choose between که and آنچه
|
||||
} ;
|
||||
VS = ResPes.Verb ** {compl : VVForm} ; -- subjunctive or indicative
|
||||
V2S = ResPes.Verb ** {c2 : Compl ; compl : VVForm} ;
|
||||
Prep = Compl ;
|
||||
---- Open lexical classes, e.g. Lexicon
|
||||
V, VQ = ResPes.Verb ;
|
||||
|
||||
V2, VA, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ;
|
||||
V2, VA, V2A, V2Q = ResPes.Verb ** {c2 : Compl} ;
|
||||
V3 = ResPes.Verb ** {c2, c3 : Compl} ;
|
||||
VV = ResPes.VV ;
|
||||
V2V = ResPes.VV ** {c2 : Compl} ;
|
||||
|
||||
@@ -10,7 +10,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
||||
lin
|
||||
|
||||
airplane_N = mkN01 "هواپیما" inanimate ;
|
||||
answer_V2S = mkV2 (compoundV "جواب" giveVerb) "به" False;
|
||||
answer_V2S = mkV2S (mkV2 (compoundV "جواب" giveVerb) "به" False) ;
|
||||
apartment_N = mkN01 "آپارتمان" inanimate;
|
||||
apple_N = mkN01 "سیب" inanimate;
|
||||
art_N = mkN01 "هنر" inanimate;
|
||||
|
||||
@@ -150,10 +150,12 @@ oper
|
||||
} ;
|
||||
|
||||
mkVS = overload {
|
||||
mkVS : Str -> VS -- predictable verb with sentence complement
|
||||
mkVS : Str -> VS -- predictable verb with sentence complement in subjunctive.
|
||||
= \s -> lin VS (regV s ** {compl=subjunctive}) ;
|
||||
mkVS : V -> VS -- VS out of a verb
|
||||
= \v -> lin VS (v ** {compl=subjunctive})
|
||||
mkVS : V -> VS -- VS out of a verb, sentence complement in subjunctive.
|
||||
= \v -> lin VS (v ** {compl=subjunctive}) ;
|
||||
mkVS : VVForm -> V -> VS -- sentence complement given as argument
|
||||
= \vvf,v -> lin VS (v ** {compl=vvf}) ;
|
||||
} ;
|
||||
|
||||
mkVV = overload {
|
||||
@@ -169,6 +171,19 @@ oper
|
||||
|
||||
defVV : VV -> VV = \vv -> vv ** {isDef=True} ;
|
||||
|
||||
mkV2S = overload {
|
||||
mkV2S : Str -> V2S -- predictable morphology, direct object with را, sentence complement in subjunctive.
|
||||
= \s -> lin V2S (regV s ** {compl=subjunctive ; c2 = prepOrRa "را"}) ;
|
||||
mkV2S : V -> V2S -- direct object with را, sentence complement in subjunctive.
|
||||
= \v -> lin V2S (v ** {compl=subjunctive ; c2 = prepOrRa "را"}) ;
|
||||
mkV2S : Prep -> VVForm -> V -> V2S -- direct object and mood for sentence complement as arguments.
|
||||
= \prep,vvf,v -> lin V2S (v ** {compl=vvf ; c2 = prep}) ;
|
||||
mkV2S : V2 -> V2S -- direct object given by V2, sentence complement in subjunctive.
|
||||
= \v2 -> lin V2S (v2 ** {compl=subjunctive}) ;
|
||||
mkV2S : VS -> V2S -- direct object with را, sentence complement given by VS.
|
||||
= \vs -> lin V2S (vs ** {c2 = prepOrRa "را"})
|
||||
} ;
|
||||
|
||||
mkV2V = overload {
|
||||
mkV2V : V -> (cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the noun, whether it's auxiliary.
|
||||
= \v,s,b -> let vv : VV = mkVV b subjunctive v in
|
||||
|
||||
Reference in New Issue
Block a user