(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 -- : A2 -> NP -> AP ; -- married to her
ComplA2 a2 np = PositA a2 ** { ComplA2 a2 np = let ap : AP = PositA a2 in ap ** {
compl = \\n => applyAdp a2.c2 np ; 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 -- : A2 -> AP ; -- married to itself

View File

@@ -158,13 +158,13 @@ oper
} ; } ;
mkA2 = overload { 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 -> 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 -> 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 -> mkA2 : A -> Prep -> A2 = \a,p ->
lin A2 (a ** {c2 = p}) ; lin A2 (a ** {c2 = p ; isPost = False}) ;
} ; } ;
mkV = overload { mkV = overload {

View File

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