mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
@@ -3,7 +3,6 @@ concrete AdjectiveAra of Adjective = CatAra ** open ResAra, Prelude in {
|
|||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
lin
|
lin
|
||||||
|
|
||||||
|
|
||||||
PositA a = {
|
PositA a = {
|
||||||
s = \\h,g,n,d,c => case h of {
|
s = \\h,g,n,d,c => case h of {
|
||||||
Hum => a.s ! APosit g n d c;
|
Hum => a.s ! APosit g n d c;
|
||||||
@@ -23,20 +22,19 @@ concrete AdjectiveAra of Adjective = CatAra ** open ResAra, Prelude in {
|
|||||||
ComplA2 a np = {
|
ComplA2 a np = {
|
||||||
s = \\sp,g,n,st,c => a.s ! APosit g n st c ++ a.c2.s ++ bindIf a.c2.binds ++ np.s ! a.c2.c ;
|
s = \\sp,g,n,st,c => a.s ! APosit g n st c ++ a.c2.s ++ bindIf a.c2.binds ++ np.s ! a.c2.c ;
|
||||||
} ;
|
} ;
|
||||||
--
|
|
||||||
-- ReflA2 a = {
|
-- full PerGenNum should be added to make this work properly
|
||||||
-- s = \\ag => a.s ! AAdj Posit ++ a.c2 ++ reflPron ! ag ;
|
ReflA2 a = {
|
||||||
-- isPre = False
|
s = \\sp,g,n,st,c => a.s ! APosit g n st c ++ a.c2.s ++ reflPron c (gn2pgn {g=g;n=n})
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
SentAP ap sc = ap ** {
|
|
||||||
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ sc.s ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdAP ada ap = {
|
AdAP ada ap = {
|
||||||
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ ada.s
|
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ ada.s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
AdvAP,
|
||||||
|
SentAP = \ap,ss -> AdAP ss ap ;
|
||||||
|
|
||||||
UseA2 = PositA ;
|
UseA2 = PositA ;
|
||||||
|
|
||||||
UseComparA a = {
|
UseComparA a = {
|
||||||
|
|||||||
@@ -19,21 +19,15 @@ lin
|
|||||||
ConsS = consrTable Order comma ;
|
ConsS = consrTable Order comma ;
|
||||||
ConjS = conjunctDistrTable Order ;
|
ConjS = conjunctDistrTable Order ;
|
||||||
|
|
||||||
BaseNP x y = twoTable Case x y ** {
|
BaseNP x y = emptyNP ** twoTable Case x y ** {
|
||||||
a = conjAgr x.a y.a ;
|
a = conjAgr x.a y.a
|
||||||
empty = [] ;
|
|
||||||
isHeavy = True ;
|
|
||||||
} ;
|
} ;
|
||||||
ConsNP xs x = consrTable Case comma xs x ** {
|
ConsNP xs x = emptyNP ** consrTable Case comma xs x ** {
|
||||||
a = conjAgr xs.a x.a ;
|
a = conjAgr xs.a x.a
|
||||||
empty = [] ;
|
|
||||||
isHeavy = True ;
|
|
||||||
} ;
|
} ;
|
||||||
ConjNP conj ss = conjunctDistrTable Case conj ss ** {
|
ConjNP conj ss = emptyNP ** conjunctDistrTable Case conj ss ** {
|
||||||
a = let gn = pgn2gn ss.a.pgn in
|
a = let gn = pgn2gn ss.a.pgn in
|
||||||
{pgn = Per3 gn.g (conjNumber conj.n gn.n) ; isPron = False} ;
|
{pgn = Per3 gn.g (conjNumber conj.n gn.n) ; isPron = False}
|
||||||
empty = [] ;
|
|
||||||
isHeavy = True ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
BaseAP = twoTable5 Species Gender Number State Case ;
|
BaseAP = twoTable5 Species Gender Number State Case ;
|
||||||
|
|||||||
@@ -19,8 +19,6 @@ oper PConjConj : Conj -> PConj = notYet "PConjConj" ;
|
|||||||
oper PPartNP : NP -> V2 -> NP = notYet "PPartNP" ;
|
oper PPartNP : NP -> V2 -> NP = notYet "PPartNP" ;
|
||||||
oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ;
|
oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ;
|
||||||
oper ProgrVP : VP -> VP = notYet "ProgrVP" ;
|
oper ProgrVP : VP -> VP = notYet "ProgrVP" ;
|
||||||
oper ReflA2 : A2 -> AP = notYet "ReflA2" ;
|
|
||||||
oper ReflVP : VPSlash -> VP = notYet "ReflVP" ;
|
|
||||||
oper SentCN : CN -> SC -> CN = notYet "SentCN" ;
|
oper SentCN : CN -> SC -> CN = notYet "SentCN" ;
|
||||||
oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ;
|
oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ;
|
||||||
oper SlashV2A : V2A -> AP -> VPSlash = notYet "SlashV2A" ;
|
oper SlashV2A : V2A -> AP -> VPSlash = notYet "SlashV2A" ;
|
||||||
|
|||||||
@@ -99,9 +99,12 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
|
|||||||
|
|
||||||
AdVVP adv = insertStr adv.s ;
|
AdVVP adv = insertStr adv.s ;
|
||||||
AdVVPSlash adv vps = vps ** insertStr adv.s vps ;
|
AdVVPSlash adv vps = vps ** insertStr adv.s vps ;
|
||||||
--
|
|
||||||
-- ReflV2 v = insertObj (\\a => v.c2 ++ reflPron ! a) (predV v) ;
|
-- : VPSlash -> VP ; -- love himself
|
||||||
--
|
ReflVP vps = vps ** {
|
||||||
|
s = \\pgn,vf => vps.s ! pgn ! vf ++ reflPron Acc pgn
|
||||||
|
} ;
|
||||||
|
|
||||||
PassV2 = passPredV ;
|
PassV2 = passPredV ;
|
||||||
--
|
--
|
||||||
-- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no
|
-- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no
|
||||||
|
|||||||
Reference in New Issue
Block a user