From 14825b5617e3f754724f03c91138c6a0e9582fc3 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Sat, 4 Nov 2023 15:03:44 +0100 Subject: [PATCH] add ReflRNP and ReflPron --- src/romance/ExtendRomanceFunctor.gf | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/romance/ExtendRomanceFunctor.gf b/src/romance/ExtendRomanceFunctor.gf index cc68dbbc8..257780709 100644 --- a/src/romance/ExtendRomanceFunctor.gf +++ b/src/romance/ExtendRomanceFunctor.gf @@ -2,8 +2,7 @@ incomplete concrete ExtendRomanceFunctor of Extend = Cat ** open Grammar, ResRomance in { lincat - RNP = Grammar.NP ; - RNPList = Grammar.ListNP ; + RNP = {s : Agr => Case => Str} ; ---- these come from ExtraRomance: how to avoid the repetition? ---- can't seem to be able to use two functors @@ -153,8 +152,17 @@ incomplete concrete ExtendRomanceFunctor of Extend = } ; lin - ReflRNP = variants {} ; -- VPSlash -> RNP -> VP ; -- love my family and myself - ReflPron = variants {} ; -- RNP ; -- myself + ReflRNP v rnp = -- VPSlash -> RNP -> VP ; -- love my family and myself + case v.c2.isDir of { + True => insertRefl v ; + False => insertComplement + (\\a => let agr = verbAgr a in v.c2.s ++ rnp.s ! agr ! v.c2.c) v + } ; + + ReflPron = { -- RNP ; -- myself + s = \\agr,c => reflPron agr.n agr.p c + } ; + ReflPoss = variants {} ; -- Num -> CN -> RNP ; -- my car(s) PredetRNP = variants {} ; -- Predet -> RNP -> RNP ; -- all my brothers ConjRNP = variants {} ; -- Conj -> RNPList -> RNP ; -- my family, John and myself