(Hun) A2 can go before or after its complement

This commit is contained in:
Inari Listenmaa
2020-04-26 21:17:14 +02:00
parent a9e02de33e
commit 61a3fe78b4
3 changed files with 11 additions and 6 deletions

View File

@@ -18,8 +18,12 @@ concrete AdjectiveHun of Adjective = CatHun ** open ResHun, Prelude in {
} ;
-- : A2 -> NP -> AP ; -- married to her
ComplA2 a2 np = PositA a2 ** {
compl = \\n => applyAdp a2.c2 np ;
ComplA2 a2 np = let ap : AP = PositA a2 in ap ** {
s = case a2.isPost of {False => ap.s ; _ => \\_,_ => []} ;
compl = \\n => applyAdp a2.c2 np
++ case a2.isPost of {
True => ap.s ! n ! Nom ;
False => [] } ;
} ;
-- : A2 -> AP ; -- married to itself

View File

@@ -158,13 +158,13 @@ oper
} ;
mkA2 = overload {
mkA2 : A -> A2 = \a -> a ** {c2 = casePrep Nom} ;
mkA2 : A -> A2 = \a -> a ** {c2 = casePrep Nom ; isPost = False} ;
mkA2 : Str -> Prep -> A2 = \s,p ->
lin A2 ((mkAdj s) ** {c2 = p}) ;
lin A2 ((mkAdj s) ** {c2 = p ; isPost = False}) ;
mkA2 : Str -> Case -> A2 = \s,c ->
lin A2 ((mkAdj s) ** {c2 = casePrep c}) ;
lin A2 ((mkAdj s) ** {c2 = casePrep c ; isPost = False}) ;
mkA2 : A -> Prep -> A2 = \a,p ->
lin A2 (a ** {c2 = p}) ;
lin A2 (a ** {c2 = p ; isPost = False}) ;
} ;
mkV = overload {

View File

@@ -318,6 +318,7 @@ oper
Adjective2 : Type = Adjective ** {
c2 : Adposition ;
isPost : Bool ; -- put adjective past the thing it modifies
} ;
mkAdj : Str -> Adjective = \sgnom -> mkAdj2 sgnom (mkNoun sgnom) ;