From cd1a43db58ac62b70616bb96b983d229d83989a6 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Tue, 24 Oct 2023 08:27:36 +0200 Subject: [PATCH] added UseDAP --- src/russian/ExtendRus.gf | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/russian/ExtendRus.gf b/src/russian/ExtendRus.gf index 04060d9b..5c97b8e5 100644 --- a/src/russian/ExtendRus.gf +++ b/src/russian/ExtendRus.gf @@ -23,6 +23,9 @@ concrete ExtendRus of Extend = --ConjRNP, Cons_nr_RNP, Cons_rr_RNP, DetNPMasc, DetNPFem, + UseDAP, + UseDAPMasc, + UseDAPFem, -- EmbedPresPart, EmptyRelSlash, ExistsNP, -- ExistCN, ExistMassCN, ExistPluralCN, @@ -214,6 +217,41 @@ lin a=Ag (gennum g (numSizeNumber det.size)) P3 } ; + UseDAP det = + let g = det.g in { + s=case det.type of { + EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + _ => \\cas => det.s ! g ! Inanimate ! cas + } ; + pron=False ; + a=Ag (gennum g (numSizeNumber det.size)) P3 + } ; + + -- : DAP -> NP ; + UseDAPFem det = + let g = Fem in { + s=case det.type of { + EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + _ => \\cas => det.s ! g ! Inanimate ! cas + } ; + pron=False ; + a=Ag (gennum g (numSizeNumber det.size)) P3 + } ; + + -- : Det -> NP ; + UseDAPMasc det = + let g = Masc in { + s=case det.type of { + EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; + _ => \\cas => det.s ! g ! Inanimate ! cas + } ; + pron=False ; + a=Ag (gennum g (numSizeNumber det.size)) P3 + } ; + oper rus_quoted : Str -> Str = \s -> "«" ++ s ++ "»" ; ---- TODO bind ; move to Prelude?