diff --git a/grammars/database/RestaurantSwe.gf b/grammars/database/RestaurantSwe.gf index e41c9699a..bb7f9d891 100644 --- a/grammars/database/RestaurantSwe.gf +++ b/grammars/database/RestaurantSwe.gf @@ -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 ; } diff --git a/lib/resource-0.6/swedish/ParadigmsSwe.gf b/lib/resource-0.6/swedish/ParadigmsSwe.gf index d255eed79..180e1c225 100644 --- a/lib/resource-0.6/swedish/ParadigmsSwe.gf +++ b/lib/resource-0.6/swedish/ParadigmsSwe.gf @@ -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 ;