forked from GitHub/gf-rgl
(Ara) Various fixes with nouns, compounding, attributes etc.
This commit is contained in:
@@ -99,7 +99,7 @@ lin
|
||||
} ;
|
||||
|
||||
PossPron p = {
|
||||
s = \\_,_,_,_ => p.s ! Gen;
|
||||
s = \\_,_,_,_ => BIND ++ p.s ! Gen;
|
||||
d = Poss;
|
||||
is1sg = case p.a.pgn of { Per1 Sing => True ; _ => False } ;
|
||||
isPron = True;
|
||||
@@ -195,7 +195,7 @@ lin
|
||||
-- : CN -> NP -> CN ; -- house of Paris, house of mine
|
||||
PossNP cn np = cn ** {
|
||||
s = \\n,_d,c => cn.s ! n ! Const ! c ;
|
||||
s2 = \\n,_d,c => cn.s2 ! n ! Const ! c ;
|
||||
s2 = \\n,_d,c => cn.s2 ! n ! Const ! Gen ; -- unsure about this /IL
|
||||
np = \\c => cn.np ! c ++ np.s ! Gen
|
||||
};
|
||||
|
||||
|
||||
@@ -71,7 +71,8 @@ resource ParadigmsAra = open
|
||||
mkN : NTable -> Gender -> Species -> N ; -- loan words, irregular
|
||||
mkN : (root,sgPatt,brokenPlPatt : Str) -> Gender -> Species -> N ; -- broken plural
|
||||
mkN : N -> (attr : Str) -> N ; -- Compound noun with invariant attribute
|
||||
mkN : N -> N -> N ; -- Compound noun where both parts inflect
|
||||
mkN : N -> N -> N ; -- Compound noun where attribute inflects in state and case but not number
|
||||
mkN : Number -> N -> N -> N ; -- Compound noun where attribute inflects in state, case and number
|
||||
--- mkN : (root,sgPatt : Str) -> Gender -> Species -> N -- sound feminine plural
|
||||
--- = sdfN ;
|
||||
} ;
|
||||
@@ -338,16 +339,21 @@ resource ParadigmsAra = open
|
||||
= mkFullN ;
|
||||
mkN : (root,sgPatt,brokenPlPatt : Str) -> Gender -> Species -> N -- broken plural
|
||||
= brkN ;
|
||||
mkN : N -> (attr : Str) -> N -- Compound nouns
|
||||
mkN : N -> (attr : Str) -> N -- Compound nouns with noninflecting attribute
|
||||
= \n,attr -> n ** {s2 = \\n,s,c => attr} ;
|
||||
mkN : N -> N -> N -- Compound nouns
|
||||
= \n1,n2 -> n1 ** {
|
||||
s = \\n,_,c => n1.s ! n ! Const ! c ;
|
||||
s2 = \\n,s,c => n1.s2 ! n ! s ! c
|
||||
++ n2.s ! n ! s ! c
|
||||
++ n2.s2 ! n ! s ! c} ;
|
||||
mkN : N -> N -> N -- Compound nouns where attribute inflects in state and case but not number
|
||||
= attrN Sg ;
|
||||
mkN : Number -> N -> N -> N -- Compound nouns where attribute inflects in state, case and number
|
||||
= attrN ;
|
||||
} ;
|
||||
|
||||
attrN : Number -> N -> N -> N = \num,n1,n2 -> n1 ** {
|
||||
s = \\n,_,c => n1.s ! n ! Const ! c ;
|
||||
s2 = \\n,s,c => let c' = case c of {Dat => Gen; _ => c} in -- the Dat with liPrep hack only applies to the first word
|
||||
n1.s2 ! num ! s ! c' -- attribute doesn't change
|
||||
++ n2.s ! num ! s ! c'
|
||||
++ n2.s2 ! num ! s ! c'} ;
|
||||
|
||||
dualN : N -> N = \n -> n ** {isDual=True} ;
|
||||
|
||||
proDrop : NP -> NP ; -- Force a NP to lose its string, only contributing with its agreement.
|
||||
|
||||
Reference in New Issue
Block a user