some new Swedish paradigms

This commit is contained in:
aarne
2004-06-21 15:14:37 +00:00
parent 667523c977
commit 3608e81186
2 changed files with 31 additions and 2 deletions

View File

@@ -12,7 +12,9 @@ lin
Japanese = AdjP1 (adjReg "japansk") ;
address = funAv (nRisk "adress") ;
phone = funTill (nPapper "nummer") ;
phone =
funTill (mkN "telefonnummer" "telefonnumret" "telefonnummer"
"telefonnumren" neutrum nonmasculine) ;
priceLevel = funPaa (nRisk "prisnivå") ;
Cheap = aReg "billig" ;
@@ -25,6 +27,6 @@ lin
LucasCarton = pnReg ["Lucas-Carton"] neutrum nonmasculine ; --- -
LaCoupole = pnReg ["La-Coupole"] neutrum nonmasculine ;
BurgerKing = pnReg ["Burger-King"] neutrum nonmasculine ;
BurgerKing = pnS ["Burger King"] neutrum nonmasculine ;
}

View File

@@ -81,6 +81,7 @@ oper
mkPN : (_,_ : Str) -> Gender -> Sex -> PN ; -- Karolus, Karoli
pnReg : Str -> Gender -> Sex -> PN ; -- Johan,Johans ; Johannes, Johannes
pnS : Str -> Gender -> Sex -> PN ; -- "Burger King(s)"
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
-- $NP$ rather than $PN$.
@@ -128,6 +129,24 @@ oper
apReg : Str -> AP ;
--2 Adverbs
-- Adverbs are not inflected. Most lexical ones have position not
-- before the verb. Some can be preverbal (e.g. "alltid").
mkAdv : Str -> AdV ;
mkAdvPre : Str -> AdV ;
-- Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -> AdA ;
mkAdS : Str -> AdS ;
-- Prepositional phrases are another productive form of adverbials.
mkPP : Str -> NP -> AdV ;
--2 Verbs
--
-- The fragment only has present tense so far.
@@ -238,6 +257,8 @@ oper
{s = table {Gen => karoli ; _ => karolus} ; g = g ; x = x ; lock_PN = <>} ;
pnReg = \horst ->
mkPN horst (ifTok Tok (Predef.dp 1 horst) "s" horst (horst + "s")) ;
pnS = \bk ->
mkPN bk (bk + "s") ;
mkCN = UseN ;
mkNP = \a,b,g -> UsePN (mkPN a b g nonmasculine) ; -- gender irrelevant in NP
@@ -282,6 +303,12 @@ oper
apReg = \s -> AdjP1 (adjReg s) ;
mkAdv a = advPost a ** {lock_AdV = <>} ;
mkAdvPre a = advPre a ** {lock_AdV = <>} ;
mkPP x y = prepPhrase x y ** {lock_AdV = <>} ;
mkAdA a = ss a ** {lock_AdA = <>} ;
mkAdS a = ss a ** {lock_AdS = <>} ;
mkV x y z = mkVerb x y z ** {lock_V = <>} ;
vKoka = \tala -> mkV tala (tala+"r") tala ;
vSteka = \leka -> let {lek = Predef.tk 1 leka} in mkV leka (lek + "er") lek ;