diff --git a/lib/src/danish/MorphoDan.gf b/lib/src/danish/MorphoDan.gf index faea2b30e..74d262216 100644 --- a/lib/src/danish/MorphoDan.gf +++ b/lib/src/danish/MorphoDan.gf @@ -53,7 +53,8 @@ oper AF (APosit _) c => mkCase c store ; AF ACompar c => mkCase c storre ; AF (ASuperl SupStrong) c => mkCase c storst ; - AF (ASuperl SupWeak) c => mkCase c (storst + "e") + AF (ASuperl SupWeak) c => mkCase c (storst + "e") ; + AAdv => stort } } ; diff --git a/lib/src/norwegian/MorphoNor.gf b/lib/src/norwegian/MorphoNor.gf index f0b130f41..061ebe478 100644 --- a/lib/src/norwegian/MorphoNor.gf +++ b/lib/src/norwegian/MorphoNor.gf @@ -63,7 +63,8 @@ oper AF (APosit _) c => mkCase c store ; AF ACompar c => mkCase c storre ; AF (ASuperl SupStrong) c => mkCase c storst ; - AF (ASuperl SupWeak) c => mkCase c (storst + "e") + AF (ASuperl SupWeak) c => mkCase c (storst + "e") ; + AAdv => stort } } ; diff --git a/lib/src/scandinavian/AdverbScand.gf b/lib/src/scandinavian/AdverbScand.gf index 3a80641a2..a5e8b341a 100644 --- a/lib/src/scandinavian/AdverbScand.gf +++ b/lib/src/scandinavian/AdverbScand.gf @@ -2,13 +2,13 @@ incomplete concrete AdverbScand of Adverb = CatScand ** open CommonScand, ResSca lin PositAdvAdj a = { - s = a.s ! adverbForm + s = a.s ! AAdv } ; ComparAdvAdj cadv a np = { - s = cadv.s ++ a.s ! adverbForm ++ cadv.p ++ np.s ! nominative + s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ np.s ! nominative } ; ComparAdvAdjS cadv a s = { - s = cadv.s ++ a.s ! adverbForm ++ cadv.p ++ s.s ! Sub + s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ s.s ! Sub } ; PrepNP prep np = {s = prep.s ++ np.s ! accusative} ; @@ -16,7 +16,7 @@ incomplete concrete AdverbScand of Adverb = CatScand ** open CommonScand, ResSca AdAdv = cc2 ; PositAdAAdj a = { - s = a.s ! adverbForm + s = a.s ! AAdv } ; SubjS subj s = { @@ -25,7 +25,4 @@ incomplete concrete AdverbScand of Adverb = CatScand ** open CommonScand, ResSca AdnCAdv cadv = {s = cadv.s ++ conjThan} ; - oper - adverbForm : AForm = AF (APosit (Strong (GSg Neutr))) Nom ; - } diff --git a/lib/src/scandinavian/CommonScand.gf b/lib/src/scandinavian/CommonScand.gf index b0082e433..08bd20d33 100644 --- a/lib/src/scandinavian/CommonScand.gf +++ b/lib/src/scandinavian/CommonScand.gf @@ -31,7 +31,7 @@ param Gender = Utr | Neutr ; - AForm = AF AFormGrad Case ; + AForm = AF AFormGrad Case | AAdv ; AFormGrad = APosit AFormPos @@ -192,8 +192,9 @@ oper AF (APosit a) c => mkCase c (mkAdjPos a liten litet lilla sma) ; AF ACompar c => mkCase c mindre ; AF (ASuperl SupStrong) c => mkCase c minst ; - AF (ASuperl SupWeak) c => mkCase c minsta - } + AF (ASuperl SupWeak) c => mkCase c minsta ; + AAdv => litet + } } ; mkVerb9 : (x1,_,_,_,_,_,_,_,x9 : Str) -> {s : VForm => Str ; vtype : VType} = diff --git a/lib/src/swedish/DocumentationSwe.gf b/lib/src/swedish/DocumentationSwe.gf index b6068f64c..2423fe967 100644 --- a/lib/src/swedish/DocumentationSwe.gf +++ b/lib/src/swedish/DocumentationSwe.gf @@ -44,7 +44,9 @@ lin caseInfl Nom ++ tr (intagAttr "th" "colspan=5" "genitiv") ++ caseInfl Nom - ) + ) ++ + heading1 ("Adverb") ++ + paragraph (adj.s ! AAdv) ; } where { caseInfl : Case -> Str = \c -> tr (intagAttr "th" "rowspan=3" "obest" ++ diff --git a/lib/src/swedish/ParadigmsSwe.gf b/lib/src/swedish/ParadigmsSwe.gf index ef6add99a..30427ae1e 100644 --- a/lib/src/swedish/ParadigmsSwe.gf +++ b/lib/src/swedish/ParadigmsSwe.gf @@ -189,6 +189,8 @@ oper invarA : Str -> A ; -- e.g. äkta + irregAdv : A -> Str -> A ; -- adverb irreg + ---- Adjective with deviant adverb. ---- deviantAdvA : Str -> A -> A ; -- e.g. bra, god @@ -582,6 +584,8 @@ oper invarA s = mk3cA s s s True ; + irregAdv a adv = lin A {s = table {AAdv => adv; aform => a.s ! aform}; isComp = a.isComp} ; + mkA2 a p = a ** {c2 = mkComplement p.s ; lock_A2 = <>} ; mkAdv x = ss x ** {lock_Adv = <>} ; diff --git a/lib/src/translator/ExtensionsSwe.gf b/lib/src/translator/ExtensionsSwe.gf index f29b4c486..5969637ce 100644 --- a/lib/src/translator/ExtensionsSwe.gf +++ b/lib/src/translator/ExtensionsSwe.gf @@ -94,7 +94,7 @@ lin isDet = True } ; - PositAdVAdj a = {s = a.s ! G.adverbForm} ; + PositAdVAdj a = {s = a.s ! AAdv} ; UseQuantPN q pn = { s = \\c => q.s ! Sg ! True ! False ! pn.g ++ pn.s ! caseNP c ;