diff --git a/lib/src/finnish/DictEngFin.gf b/lib/src/finnish/DictEngFin.gf index de1d063f2..0a018a6e6 100644 --- a/lib/src/finnish/DictEngFin.gf +++ b/lib/src/finnish/DictEngFin.gf @@ -9563,10 +9563,10 @@ come_on_V = mkWV (k52A "kehittyä") ; come_out_V = mkWV (k52A "näyttäytyä") ; come_over_V = mkWV (k71 "tehdä") "tiettäväksi" ; come_over_V2 = mkWV2 (k71 "tehdä") "tiettäväksi" ; -come_through_V = mkWV (k67 "tulla") "esiin" ; +come_through_V = mkV (mkV "päästä") "läpi" ; come_to_V = mkWV (k67 "tulla") "tajuihinsa" ; -come_to_V2 = mkWV2 (k67 "tulla") "tajuihinsa" ; -come_up_V = mkWV (k52A "syntyä") ; +come_to_V2 = mkV2 (mkV "tulla") illative ; -- CHECKED +come_up_V = mkV "ilmaantua" ; -- CHECKED come_up_to_V2 = mkWV2 (k52 "lähestyä") ; come_upon_V2 = mkWV2 (k63 "saada") "tuurilla" ; come_with_V2 = mkWV2 (k65 "käydä") ; @@ -19562,7 +19562,7 @@ go_over_V2 = mkWV2 (k52A "kaatua") ; go_past_V2 = mkWV2 (k53A "sivuuttaa") ; go_through_V = mkWV (k65 "käydä") "läpi" ; go_through_V2 = mkWV2 (k65 "käydä") "läpi" ; -go_to_V2 = mkWV2 (k52 "osallistua") ; +go_to_V2 = mkV2 (mkV "mennä") illative ; -- CHECKED go_under_V = mkWV (k52 "kutsua") ; go_up_V = mkWV (k74A "kiivetä") ; go_with_V2 = mkWV2 (k52 "kuulua") "yhteen" ; diff --git a/lib/src/swedish/DictEngSwe.gf b/lib/src/swedish/DictEngSwe.gf index 9f757b0b3..481d44eea 100644 --- a/lib/src/swedish/DictEngSwe.gf +++ b/lib/src/swedish/DictEngSwe.gf @@ -24452,4 +24452,17 @@ lin zoom_in_V = zooma_vb_1_V ; -- comment=1 lin zoom_off_V = zooma_vb_1_V ; -- comment=1 lin zoom_out_V = zooma_vb_1_V ; -- comment=1 lin zooplankton_N = djurplankton_nn_1_N ; -- status=guess + +--- studying Penn output 3/11/2013 AR + +lin conclude_VS = mkVS (mkV "konkludera") ; +lin attribute_V2 = mkV2 (mkV "tilldela" ) ; +lin for_starters_Adv = mkAdv "för att börja med" ; +lin start_ing_VV = auxVV (mkV "börja") ; +lin lower_V2 = mkV2 (mkV "sänka") ; +lin dislike_V2 = mkV2 (mkV (mkV "tycker") "illa") (mkPrep "om") ; +lin idea_of_N2 = mkN2 (mkN "idé" "idéer") (mkPrep "om") ; +lin middle_aged_A = invarA "medelÃ¥lders" ; + + } diff --git a/lib/src/swedish/ParadigmsSwe.gf b/lib/src/swedish/ParadigmsSwe.gf index e7aa2fb4e..dc3e54b33 100644 --- a/lib/src/swedish/ParadigmsSwe.gf +++ b/lib/src/swedish/ParadigmsSwe.gf @@ -176,7 +176,9 @@ oper compoundA : A -> A ; -- force comparison by mera - mest - +-- Adjective with all positive forms the same. + + invarA : Str -> A ; -- e.g. äkta --3 Two-place adjectives @@ -527,6 +529,8 @@ oper compoundA adj = {s = adj.s ; isComp = True ; lock_A = <>} ; + invarA s = mk3cA s s s True ; + mkA2 a p = a ** {c2 = mkComplement p.s ; lock_A2 = <>} ; mkAdv x = ss x ** {lock_Adv = <>} ; diff --git a/lib/src/swedish/ParseSwe.gf b/lib/src/swedish/ParseSwe.gf index 9bd713b79..729ce249d 100644 --- a/lib/src/swedish/ParseSwe.gf +++ b/lib/src/swedish/ParseSwe.gf @@ -19,7 +19,7 @@ concrete ParseSwe of ParseEngAbs = ClSlash, RCl, EmptyRelSlash], DictEngSwe ** -open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, Prelude in { +open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in { flags literal=Symb ; @@ -65,74 +65,52 @@ lin isPre = True } ; -{- - OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ; - PositAdVAdj a = {s = a.s ! AAdv} ; + OrdCompar a = { + s = case a.isComp of { + True => "mera" ++ a.s ! AF (APosit (Weak Sg)) Nom ; + _ => a.s ! AF ACompar Nom + } ; + isDet = True + } ; - UseQuantPN q pn = {s = \\c => q.s ! False ! Sg ++ pn.s ! npcase2case c ; a = agrgP3 Sg pn.g} ; + PositAdVAdj a = {s = a.s ! adverbForm} ; - SlashV2V v ant p vp = insertObjc (\\a => v.c3 ++ ant.s ++ p.s ++ - infVP v.typ vp ant.a p.p a) - (predVc v) ; + UseQuantPN q pn = { + s = \\c => q.s ! Sg ! True ! False ! pn.g ++ pn.s ! caseNP c ; + a = agrP3 pn.g Sg + } ; - SlashVPIV2V v p vpi = insertObjc (\\a => p.s ++ - v.c3 ++ - vpi.s ! VVAux ! a) - (predVc v) ; --} + SlashV2V v ant p vp = predV v ** { + n3 = \\a => v.c3.s ++ ant.s ++ p.s ++ infVPPlus vp a ant.a p.p ; + c2 = v.c2 + } ; + + SlashVPIV2V v p vpi = predV v ** { + n3 = \\a => v.c3.s ++ p.s ++ negation ! p.p ++ vpi.s ! VPIInf ! a ; + c2 = v.c2 + } ; ComplVV v ant pol vp = insertObjPost (\\a => v.c2.s ++ ant.s ++ pol.s ++ infVPPlus vp a ant.a pol.p) (predV v) ; -{- - PredVPosv np vp = { - s = \\t,a,b,o => - let - verb = vp.s ! t ! a ! b ! o ! np.a ; - compl = vp.s2 ! np.a - in - case o of { - ODir => compl ++ "," ++ np.s ! npNom ++ verb.aux ++ vp.ad ++ verb.fin ++ verb.adv ++ verb.inf ; - OQuest => verb.aux ++ compl ++ "," ++ np.s ! npNom ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf - } - } ; - - PredVPovs np vp = { - s = \\t,a,b,o => - let - verb = vp.s ! t ! a ! b ! o ! np.a ; - compl = vp.s2 ! np.a - in - case o of { - ODir => compl ++ verb.aux ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf ++ np.s ! npNom ; - OQuest => verb.aux ++ compl ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf ++ np.s ! npNom - } - } ; --} + PredVPosv np vp = mkCl np vp ; ---- TODO restructure all this using Extra.Foc + PredVPovs np vp = mkCl np vp ; ---- that_RP = which_RP ; -- som -{- - CompS s = {s = \\_ => "that" ++ s.s} ; + CompS s = {s = \\_ => "att" ++ s.s ! Sub} ; CompQS qs = {s = \\_ => qs.s ! QIndir} ; - CompVP ant p vp = {s = \\a => ant.s ++ p.s ++ - infVP VVInf vp ant.a p.p a} ; + CompVP ant p vp = {s = \\a => ant.s ++ p.s ++ infVPPlus vp a ant.a p.p} ; - VPSlashVS vs vp = - insertObj (\\a => infVP VVInf vp Simul CPos a) (predV vs) ** - {c2 = ""; gapInMiddle = False} ; + -- VPSlashVS : VS -> VP -> VPSlash + ---VPSlashVS vs vp = + --- insertObj (\\a => infVP VVInf vp Simul CPos a) (predV vs) ** + --- {c2 = ""; gapInMiddle = False} ; - PastPartRS ant pol vps = { - s = \\agr => vps.ad ++ vps.ptp ++ vps.s2 ! agr ; - c = npNom - } ; + PastPartRS ant pol vps = mkRS ant pol (mkRCl which_RP ) ; ---- maybe as participle construction? - PresPartRS ant pol vp = { - s = \\agr => vp.ad ++ vp.prp ++ vp.s2 ! agr ; - c = npNom - } ; --} + PresPartRS ant pol vp = mkRS ant pol (mkRCl which_RP vp) ; --- probably not as participle construction ApposNP np1 np2 = { s = \\c => np1.s ! c ++ "," ++ np2.s ! NPNom ;