mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
Merge pull request #222 from inariksit/arabic
(Ara,Pes) Add {Base,Cons,Conj}CN
This commit is contained in:
@@ -6,6 +6,7 @@ lincat
|
|||||||
[S] = {s1,s2 : Order => Str} ;
|
[S] = {s1,s2 : Order => Str} ;
|
||||||
[Adv] = {s1,s2 : Str} ;
|
[Adv] = {s1,s2 : Str} ;
|
||||||
[NP] = {s1,s2 : Case => Str ; a : Agr ; empty : Str; isHeavy : Bool} ;
|
[NP] = {s1,s2 : Case => Str ; a : Agr ; empty : Str; isHeavy : Bool} ;
|
||||||
|
[CN] = {s1,s2 : NTable ; g : Gender ; h : Species ; isDual : Bool ; np : Case => Str ; isHeavy : Bool} ;
|
||||||
[AP] = {s1,s2 : Species => Gender => Number => State => Case => Str} ;
|
[AP] = {s1,s2 : Species => Gender => Number => State => Case => Str} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
@@ -34,8 +35,17 @@ lin
|
|||||||
ConsAP = consrTable5 Species Gender Number State Case comma ;
|
ConsAP = consrTable5 Species Gender Number State Case comma ;
|
||||||
ConjAP = conjunctDistrTable5 Species Gender Number State Case ;
|
ConjAP = conjunctDistrTable5 Species Gender Number State Case ;
|
||||||
|
|
||||||
|
BaseCN cn1 cn2 = leanCN cn1 ** twoTable3 Number State Case (leanCN cn1) (leanCN cn2) ;
|
||||||
|
ConsCN cn cns = leanCN cn ** consrTable3 Number State Case comma (leanCN cn) cns ;
|
||||||
|
ConjCN conj cns = cns ** conjunctDistrTable3 Number State Case conj cns ;
|
||||||
|
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
leanCN : CN -> CN = \cn -> cn ** {
|
||||||
|
np = \\_ => [] ;
|
||||||
|
s = \\n,s,c => cn2str cn n s c
|
||||||
|
} ;
|
||||||
|
|
||||||
conjAgr : Agr -> Agr -> Agr = \a,b -> {
|
conjAgr : Agr -> Agr -> Agr = \a,b -> {
|
||||||
isPron = False ;
|
isPron = False ;
|
||||||
pgn = let gnA = pgn2gn a.pgn ; gnB = pgn2gn b.pgn in
|
pgn = let gnA = pgn2gn a.pgn ; gnB = pgn2gn b.pgn in
|
||||||
|
|||||||
@@ -35,11 +35,25 @@ concrete ConjunctionPes of Conjunction =
|
|||||||
BaseAP x y = y ** twoTable Mod x y ;
|
BaseAP x y = y ** twoTable Mod x y ;
|
||||||
ConsAP xs x = xs ** consrTable Mod comma xs x ; -- Table3 Number Gender Case comma xs x ;-- ** {isPre = andB xs.isPre x.isPre} ;
|
ConsAP xs x = xs ** consrTable Mod comma xs x ; -- Table3 Number Gender Case comma xs x ;-- ** {isPre = andB xs.isPre x.isPre} ;
|
||||||
|
|
||||||
|
BaseCN cn1 cn2 = leanCN cn1 ** twoTable2 Number Mod (leanCN cn1) (leanCN cn2) ;
|
||||||
|
ConsCN cn cns = leanCN cn ** consrTable2 Number Mod comma (leanCN cn) cns ;
|
||||||
|
ConjCN conj cns = cns ** conjunctDistrTable2 Number Mod conj cns ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
[S] = {s1,s2 : VVForm => Str} ;
|
[S] = {s1,s2 : VVForm => Str} ;
|
||||||
[Adv] = {s1,s2 : Str} ;
|
[Adv] = {s1,s2 : Str} ;
|
||||||
[NP] = {s1,s2 : Mod => Str} ** BaseNP ;
|
[NP] = {s1,s2 : Mod => Str} ** BaseNP ;
|
||||||
|
[CN] = {s1,s2 : Number => Mod => Str ;
|
||||||
|
animacy : Animacy ;
|
||||||
|
isCmpd : CmpdStatus;
|
||||||
|
hasAdj : Bool ;
|
||||||
|
compl : Number => Str} ;
|
||||||
[AP] = {s1,s2 : Mod => Str ; adv : Str ; isPre : Bool} ;
|
[AP] = {s1,s2 : Mod => Str ; adv : Str ; isPre : Bool} ;
|
||||||
[RS] = {s1,s2 : Agr => Str ; rp : RelPron => Str} ;
|
[RS] = {s1,s2 : Agr => Str ; rp : RelPron => Str} ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
leanCN : CN -> CN = \cn -> cn ** {
|
||||||
|
compl = \\n => [] ;
|
||||||
|
s = \\n,m => cn.s ! n ! m ++ cn.compl ! n ;
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user