(Hun) Generalise Postposition to Adposition, allow it to preposition

This commit is contained in:
Inari Listenmaa
2020-04-19 17:05:51 +02:00
parent 27d307c9db
commit 84ff6b4f46
4 changed files with 14 additions and 7 deletions

View File

@@ -12,7 +12,7 @@ lin
-- : Prep -> NP -> Adv ; -- : Prep -> NP -> Adv ;
PrepNP prep np = { PrepNP prep np = {
s = np.s ! prep.c ++ prep.s ; s = prep.pr ++ np.s ! prep.c ++ prep.s ;
} ; } ;
-- Adverbs can be modified by 'adadjectives', just like adjectives. -- Adverbs can be modified by 'adadjectives', just like adjectives.

View File

@@ -87,7 +87,7 @@ concrete CatHun of Cat = CommonX ** open ResHun, Prelude in {
-- Constructed in StructuralHun. -- Constructed in StructuralHun.
Conj = ResHun.Conj ; Conj = ResHun.Conj ;
Subj = SS ; Subj = SS ;
Prep = ResHun.Postposition ; Prep = ResHun.Adposition ;

View File

@@ -85,6 +85,9 @@ oper
mkPrep : Str -> Case -> Prep ; -- Postposition and case mkPrep : Str -> Case -> Prep ; -- Postposition and case
} ; } ;
prePrep : Str -> Case -> Prep -- Preposition
= \s,c -> lin Prep {pr=s ; s=[] ; c=c} ;
casePrep : Case -> Prep ; -- No postposition, only case casePrep : Case -> Prep ; -- No postposition, only case
-- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num -> -- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num ->

View File

@@ -102,14 +102,18 @@ oper
} ; } ;
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- Postpositions -- Adpositions
-- TODO: personal suffixes, e.g. felettem, általam, not *felett/által én -- TODO: personal suffixes, e.g. felettem, általam, not *felett/által én
Postposition : Type = {s : Str ; c : Case} ; Adposition : Type = {
pr : Str ; -- Preposition
s : Str ; -- Postposition
c : Case ;
} ;
mkPrep : Str -> Postposition = \str -> {s=str ; c=Nom} ; mkPrep : Str -> Adposition = \str -> {s=str ; c=Nom ; pr=[]} ;
emptyPP : Postposition = mkPrep [] ; emptyAdp : Adposition = mkPrep [] ;
------------------ ------------------
-- Conj -- Conj
@@ -144,7 +148,7 @@ oper
s : Degree => Number => Str s : Degree => Number => Str
} ; } ;
Adjective2 : Type = Adjective ** { Adjective2 : Type = Adjective ** {
c2 : Postposition ; c2 : Adposition ;
} ; } ;
mkAdj : Str -> Adjective = \sg -> { mkAdj : Str -> Adjective = \sg -> {