1
0
forked from GitHub/gf-rgl

Merge pull request #65 from odanoburu/romance

(Romance) add lins
This commit is contained in:
Inari Listenmaa
2018-06-27 08:43:40 +03:00
committed by GitHub
4 changed files with 18 additions and 28 deletions

View File

@@ -1,11 +1,4 @@
concrete NounPor of Noun = CatPor ** NounRomance with concrete NounPor of Noun = CatPor ** NounRomance with
(ResRomance = ResPor) ** open Prelude, PhonoPor in { (ResRomance = ResPor) ** open Prelude, PhonoPor in {
lin
-- not implemented for romance languages, maybe because it can't
-- be done elegantly?
CountNP det np = heavyNPpol np.isNeg
{s = \\c => det.s ! np.a.g ! c ++ (np.s ! c).ton ;
a = np.a ** {n = det.n} } ;
} ; } ;

View File

@@ -180,7 +180,14 @@ incomplete concrete NounRomance of Noun =
g = cn.g ; g = cn.g ;
} ; } ;
-- PartNP and CounNP missing: how to define 'of' in the functor? PartNP cn np = {
s = \\n => cn.s ! n ++ appCompl {s = [] ; c = genitive ; isDir = False} np ;
g = cn.g ;
} ;
CountNP det np = heavyNPpol np.isNeg
{s = \\c => det.s ! np.a.g ! c ++ (np.s ! genitive).ton ;
a = np.a ** {n = det.n} } ;
AdjDAP det ap = { AdjDAP det ap = {
s = \\g => det.s ! g ++ ap.s ! AF g det.n ; s = \\g => det.s ! g ++ ap.s ! AF g det.n ;

View File

@@ -77,7 +77,6 @@ oper
oper oper
predV : Verb -> VP = \verb -> predV : Verb -> VP = \verb ->
let let
typ = verb.vtyp ; typ = verb.vtyp ;
@@ -111,16 +110,9 @@ oper
ext = vp.ext ; ext = vp.ext ;
} ; } ;
insertComplement : (Agr => Str) -> VP -> VP = \co,vp -> { insertComplement : (Agr => Str) -> VP -> VP ;
s = vp.s ; insertComplement co vp = vp ** {
agr = vp.agr ;
clit1 = vp.clit1 ;
clit2 = vp.clit2 ;
clit3 = vp.clit3 ;
isNeg = vp.isNeg ; --- can be in compl as well
neg = vp.neg ;
comp = \\a => vp.comp ! a ++ co ! a ; comp = \\a => vp.comp ! a ++ co ! a ;
ext = vp.ext ;
} ; } ;
@@ -141,16 +133,10 @@ oper
comp = \\a => vp.comp ! a ++ co ; comp = \\a => vp.comp ! a ++ co ;
} ; } ;
insertAdV : Str -> VP -> VP = \co,vp -> { insertAdV : Str -> VP -> VP ;
s = vp.s ; insertAdV co vp = vp ** {
agr = vp.agr ; neg = \\b => let vpn = vp.neg ! b
clit1 = vp.clit1 ; in {p1 = vpn.p1 ; p2 = vpn.p2 ++ co}
clit2 = vp.clit2 ;
clit3 = vp.clit3 ;
isNeg = vp.isNeg ;
neg = \\b => let vpn = vp.neg ! b in {p1 = vpn.p1 ; p2 = vpn.p2 ++ co} ;
comp = vp.comp ;
ext = vp.ext ;
} ; } ;
insertClit3 : Str -> VP -> VP = \co,vp -> { insertClit3 : Str -> VP -> VP = \co,vp -> {

View File

@@ -105,6 +105,10 @@ incomplete concrete VerbRomance of Verb =
AdVVP adv vp = insertAdV adv.s vp ; AdVVP adv vp = insertAdV adv.s vp ;
AdvVPSlash vps adv = vps ** insertAdv adv.s vps ;
AdVVPSlash adv vps = vps ** insertAdV adv.s vps ;
PassV2 v = insertComplement PassV2 v = insertComplement
(\\a => let agr = complAgr a in v.s ! VPart agr.g agr.n) (predV auxPassive) ; (\\a => let agr = complAgr a in v.s ! VPart agr.g agr.n) (predV auxPassive) ;