From 7a227a136cfb5b0f4b0e44bd201406493c3bbc02 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 21 Jun 2008 20:15:56 +0000 Subject: [PATCH] fixes in finnish --- lib/resource-1.4/exx-resource.gft | 2 +- lib/resource-1.4/finnish/CatFin.gf | 4 ++-- lib/resource-1.4/finnish/LexiconFin.gf | 2 +- lib/resource-1.4/finnish/NounFin.gf | 17 +++++++---------- lib/resource-1.4/finnish/ParadigmsFin.gf | 13 +++++++++++-- lib/resource-1.4/finnish/PhraseFin.gf | 2 +- lib/resource-1.4/finnish/ResFin.gf | 13 +++++++------ lib/resource-1.4/finnish/SentenceFin.gf | 2 +- lib/resource-1.4/finnish/StructuralFin.gf | 14 ++++++++------ lib/resource-1.4/finnish/VerbFin.gf | 8 ++++---- lib/resource-1.4/french/DiffFre.gf | 7 ++++--- lib/resource-1.4/french/MorphoFre.gf | 2 +- lib/resource-1.4/french/ParadigmsFre.gf | 2 +- lib/resource-1.4/italian/DiffIta.gf | 2 +- lib/resource-1.4/italian/LexiconIta.gf | 2 +- lib/resource-1.4/italian/NumeralIta.gf | 2 +- lib/resource-1.4/romance/QuestionRomance.gf | 10 +++++++--- lib/resource-1.4/romance/VerbRomance.gf | 2 +- 18 files changed, 60 insertions(+), 46 deletions(-) diff --git a/lib/resource-1.4/exx-resource.gft b/lib/resource-1.4/exx-resource.gft index fdf05d2f2..76de9a3ad 100644 --- a/lib/resource-1.4/exx-resource.gft +++ b/lib/resource-1.4/exx-resource.gft @@ -199,7 +199,7 @@ PredVP (UsePron i_Pron) (UseComp (CompAdv here_Adv)) RelCN (UseN car_N) (UseRCl TPres ASimul PPos (RelSlash IdRP (SlashVP (UsePron they_Pron) (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashVV want_VV (SlashV2A paint_V2A (PositA red_A))))))) PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdVVP always_AdV (ComplSlash (SlashV2a listen_V2) (DetArtSg DefArt (UseN sea_N)))))) NoVoc -PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (ExistNP (PredetNP only_Predet (DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))))) (AdvCN (SentCN (UseN woman_N) (EmbedQS (UseQCl TCond ASimul PPos (QuestSlash (IdetIP (IdetQuant which_IQuant NumPl)) (SlashPrep (PredVP (UsePron i_Pron) (ComplVV want_VV (PassV2 see_V2))) with_Prep))))) (PrepNP in_Prep (DetArtSg DefArt (UseN rain_N))))))))) NoVoc +PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (ExistNP (PredetNP only_Predet (DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))))) (AdvCN (RelCN (UseN woman_N) (UseRCl TCond ASimul PPos (RelSlash IdRP (SlashPrep (PredVP (UsePron i_Pron) (ComplVV want_VV (PassV2 see_V2))) with_Prep)))) (PrepNP in_Prep (DetArtSg DefArt (UseN rain_N))))))))) NoVoc PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplSlash (SlashV2A paint_V2A (ConjAP both7and_DConj (BaseAP (ComparA small_A (DetArtSg DefArt (UseN sun_N))) (ComparA big_A (DetArtSg DefArt (UseN moon_N)))))) (DetArtSg DefArt (UseN earth_N))))) NoVoc PhrUtt NoPConj (ImpPl1 (ComplVS hope_VS (ConjS either7or_DConj (BaseS (UseCl TPres ASimul PPos (PredVP (DetArtSg DefArt (ComplN2 father_N2 (DetArtSg DefArt (UseN baby_N)))) (UseV run_V))) (UseCl TPres ASimul PPos (PredVP (DetArtSg DefArt (UseN2 (Use2N3 distance_N3))) (UseComp (CompAP (PositA small_A))))))))) NoVoc PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (PredVP (DetCN every_Det (UseN baby_N)) (UseComp (CompNP (ConjNP either7or_DConj (BaseNP (DetArtSg IndefArt (UseN boy_N)) (DetArtSg IndefArt (UseN girl_N))))))))) NoVoc diff --git a/lib/resource-1.4/finnish/CatFin.gf b/lib/resource-1.4/finnish/CatFin.gf index e745c2dd9..9c937941e 100644 --- a/lib/resource-1.4/finnish/CatFin.gf +++ b/lib/resource-1.4/finnish/CatFin.gf @@ -83,8 +83,8 @@ concrete CatFin of Cat = CommonX ** open ResFin, Prelude in { V, VS, VQ = Verb1 ; -- = {s : VForm => Str ; sc : Case} ; V2, VA, V2Q, V2S = Verb1 ** {c2 : Compl} ; V2A = Verb1 ** {c2, c3 : Compl} ; - VV = Verb1 ; ---- infinitive form - V2V = Verb1 ** {c2 : Compl} ; ---- infinitive form + VV = Verb1 ** {vi : InfForm} ; ---- infinitive form + V2V = Verb1 ** {c2 : Compl ; vi : InfForm} ; ---- infinitive form V3 = Verb1 ** {c2, c3 : Compl} ; A = {s : Degree => AForm => Str} ; diff --git a/lib/resource-1.4/finnish/LexiconFin.gf b/lib/resource-1.4/finnish/LexiconFin.gf index 7a19a2521..e15538b4f 100644 --- a/lib/resource-1.4/finnish/LexiconFin.gf +++ b/lib/resource-1.4/finnish/LexiconFin.gf @@ -19,7 +19,7 @@ lin beautiful_A = mkA (mkN "kaunis") "kauniimpi" "kaunein" ; become_VA = mkVA (mkV "tulla") (casePrep translative) ; beer_N = mkN "olut" "oluita" ; - beg_V2V = mkV2 (mk2V "pyytää" "pyysi") (casePrep partitive) ; + beg_V2V = mkV2V (mk2V "pyytää" "pyysi") (casePrep partitive) ; big_A = mkA (mkN "suuri" "suuria") "suurempi" "suurin" ; bike_N = mkN "polkupyörä" ; --- for correct vowel harmony bird_N = mkN "lintu" ; diff --git a/lib/resource-1.4/finnish/NounFin.gf b/lib/resource-1.4/finnish/NounFin.gf index 3857ffbd5..e3ff586e3 100644 --- a/lib/resource-1.4/finnish/NounFin.gf +++ b/lib/resource-1.4/finnish/NounFin.gf @@ -14,7 +14,7 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in { _ => det.n } ; ncase : Case -> NForm = \c -> - case of { + case of { <_, Nom, True,_,_> => NCase Sg Part ; -- kolme kytkintä(ni) <_, _, True,False,_> => NCase Sg c ; -- kolmeksi kytkimeksi => NCase Pl Part ; -- kytkimiä @@ -107,7 +107,7 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in { s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ; s2 = [] ; n = num.n ; - isNum = True ; + isNum = case num.n of {Sg => False ; _ => True} ; isPoss = False ; isDef = True } ; @@ -152,25 +152,22 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in { NumSg = {s = \\_,_ => [] ; isNum = False ; n = Sg} ; NumPl = {s = \\_,_ => [] ; isNum = False ; n = Pl} ; - NumCard n = n ** {isNum = True} ; + NumCard n = n ** {isNum = case n.n of {Sg => False ; _ => True}} ; -- yksi talo/kaksi taloa NumDigits numeral = { s = \\n,c => numeral.s ! NCard (NCase n c) ; - n = numeral.n ; - isNum = True + n = numeral.n } ; OrdDigits numeral = {s = \\n,c => numeral.s ! NOrd (NCase n c)} ; NumNumeral numeral = { s = \\n,c => numeral.s ! NCard (NCase n c) ; - n = numeral.n ; - isNum = True + n = numeral.n } ; OrdNumeral numeral = {s = \\n,c => numeral.s ! NOrd (NCase n c)} ; AdNum adn num = { s = \\n,c => adn.s ++ num.s ! n ! c ; - isNum = num.isNum ; n = num.n } ; @@ -217,10 +214,10 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in { --- If a possessive suffix is added here it goes after the complements... ComplN2 f x = { - s = \\nf => appCompl True Pos f.c2 x ++ f.s ! nf + s = \\nf => f.s ! nf ++ appCompl True Pos f.c2 x } ; ComplN3 f x = { - s = \\nf => appCompl True Pos f.c2 x ++ f.s ! nf ; + s = \\nf => f.s ! nf ++ appCompl True Pos f.c2 x ; c2 = f.c3 } ; diff --git a/lib/resource-1.4/finnish/ParadigmsFin.gf b/lib/resource-1.4/finnish/ParadigmsFin.gf index bb9b2fb6b..fcb042002 100644 --- a/lib/resource-1.4/finnish/ParadigmsFin.gf +++ b/lib/resource-1.4/finnish/ParadigmsFin.gf @@ -55,6 +55,8 @@ oper ablative : Case ; allative : Case ; + infFirst, infElat, infIllat : InfForm ; + -- The following type is used for defining *rection*, i.e. complements -- of many-place verbs and adjective. A complement can be defined by -- just a case, or a pre/postposition and a case. @@ -194,7 +196,9 @@ oper mkVS : V -> VS ; mkV2S : V -> Prep -> V2S ; mkVV : V -> VV ; + mkVVf : V -> InfForm -> VV ; mkV2V : V -> Prep -> V2V ; + mkV2Vf : V -> Prep -> InfForm -> V2V ; mkVA : V -> Prep -> VA ; mkV2A : V -> Prep -> Prep -> V2A ; mkVQ : V -> VQ ; @@ -234,6 +238,8 @@ oper ablative = Ablat ; allative = Allat ; + infFirst = Inf1 ; infElat = Inf3Elat ; infIllat = Inf3Illat ; + prePrep : Case -> Str -> Prep = \c,p -> {c = NPCase c ; s = p ; isPre = True ; lock_Prep = <>} ; postPrep : Case -> Str -> Prep = @@ -563,7 +569,8 @@ oper dirdirV3 v = dirV3 v allative ; mkVS v = v ** {lock_VS = <>} ; - mkVV v = v ** {lock_VV = <>} ; + mkVV v = mkVVf v infFirst ; + mkVVf v f = v ** {vi = f ; lock_VV = <>} ; mkVQ v = v ** {lock_VQ = <>} ; V0 : Type = V ; @@ -572,7 +579,9 @@ oper mkV0 v = v ** {lock_V = <>} ; mkV2S v p = mk2V2 v p ** {lock_V2S = <>} ; - mkV2V v p = mk2V2 v p ** {lock_V2V = <>} ; + mkV2V v p = mkV2Vf v p infIllat ; + mkV2Vf v p f = mk2V2 v p ** {vi = f ; lock_V2V = <>} ; + mkVA v p = v ** {c2 = p ; lock_VA = <>} ; mkV2A v p q = v ** {c2 = p ; c3 = q ; lock_V2A = <>} ; mkV2Q v p = mk2V2 v p ** {lock_V2Q = <>} ; diff --git a/lib/resource-1.4/finnish/PhraseFin.gf b/lib/resource-1.4/finnish/PhraseFin.gf index 48bbc7a11..1b8e55b08 100644 --- a/lib/resource-1.4/finnish/PhraseFin.gf +++ b/lib/resource-1.4/finnish/PhraseFin.gf @@ -12,7 +12,7 @@ concrete PhraseFin of Phrase = CatFin ** open ResFin in { UttIP ip = {s = ip.s ! NPCase Nom} ; UttIAdv iadv = iadv ; UttNP np = {s = np.s ! NPCase Nom} ; - UttVP vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp} ; + UttVP vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp Inf1} ; UttAdv adv = adv ; NoPConj = {s = []} ; diff --git a/lib/resource-1.4/finnish/ResFin.gf b/lib/resource-1.4/finnish/ResFin.gf index 0c271e173..7f2cb9aae 100644 --- a/lib/resource-1.4/finnish/ResFin.gf +++ b/lib/resource-1.4/finnish/ResFin.gf @@ -223,10 +223,9 @@ oper sc = verb.sc } ; - insertObj : (Bool => Polarity => Agr => Str) -> VP -> VP = \obj,vp -> { s = vp.s ; - s2 = \\fin,b,a => vp.s2 ! fin ! b ! a ++ obj ! fin ! b ! a ; + s2 = \\fin,b,a => obj ! fin ! b ! a ++ vp.s2 ! fin ! b ! a ; ext = vp.ext ; sc = vp.sc } ; @@ -269,14 +268,14 @@ oper questPart : Str -> Str = \on -> on ++ BIND ++ "ko" ; ---- - infVP : NPForm -> Polarity -> Agr -> VP -> Str = - \sc,pol,agr,vp -> + infVP : NPForm -> Polarity -> Agr -> VP -> InfForm -> Str = + \sc,pol,agr,vp,vi -> let fin = case sc of { -- subject case NPCase Nom => True ; -- minä tahdon nähdä auton _ => False -- minun täytyy nähdä auto } ; - verb = vp.s ! VIInf Inf1 ! Simul ! Pos ! agr ; -- no "ei" + verb = vp.s ! VIInf vi ! Simul ! Pos ! agr ; -- no "ei" compl = vp.s2 ! fin ! pol ! agr ++ vp.ext -- but compl. case propagated in verb.fin ++ verb.inf ++ compl ; @@ -551,7 +550,7 @@ oper reflPron : Agr -> NP = \agr -> let itse = (nhn (sKukko "itse" "itsen" "itsejä")).s ; - nsa = possSuffix agr + nsa = possSuffixFront agr in { s = table { NPCase (Nom | Gen) | NPAcc => itse ! NPossNom Sg + nsa ; @@ -563,6 +562,8 @@ oper isPron = False -- no special acc form } ; + possSuffixFront : Agr -> Str = \agr -> + table Agr ["ni" ; "si" ; "nsä" ; "mme" ; "nne" ; "nsä"] ! agr ; possSuffix : Agr -> Str = \agr -> table Agr ["ni" ; "si" ; "nsa" ; "mme" ; "nne" ; "nsa"] ! agr ; diff --git a/lib/resource-1.4/finnish/SentenceFin.gf b/lib/resource-1.4/finnish/SentenceFin.gf index 44cec5ed5..8ea12f2d8 100644 --- a/lib/resource-1.4/finnish/SentenceFin.gf +++ b/lib/resource-1.4/finnish/SentenceFin.gf @@ -47,7 +47,7 @@ concrete SentenceFin of Sentence = CatFin ** open Prelude, ResFin in { EmbedS s = {s = etta_Conj ++ s.s} ; EmbedQS qs = {s = qs.s} ; - EmbedVP vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp} ; --- case,pol,agr + EmbedVP vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp Inf1} ; --- case,pol,agr,infform UseCl t a p cl = {s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! SDecl} ; UseQCl t a p cl = {s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p} ; diff --git a/lib/resource-1.4/finnish/StructuralFin.gf b/lib/resource-1.4/finnish/StructuralFin.gf index 177867225..43092fb23 100644 --- a/lib/resource-1.4/finnish/StructuralFin.gf +++ b/lib/resource-1.4/finnish/StructuralFin.gf @@ -28,8 +28,8 @@ concrete StructuralFin of Structural = CatFin ** but_PConj = ss "mutta" ; by8agent_Prep = postGenPrep "toimesta" ; by8means_Prep = casePrep adessive ; - can8know_VV = mkV "osata" "osasi" ; - can_VV = mkV "voida" "voi" ; + can8know_VV = mkVV (mkV "osata" "osasi") ; + can_VV = mkVV (mkV "voida" "voi") ; during_Prep = postGenPrep "aikana" ; either7or_DConj = sd2 "joko" "tai" ** {n = Sg} ; everybody_NP = makeNP (mkN "jokainen") Sg ; @@ -62,7 +62,7 @@ concrete StructuralFin of Structural = CatFin ** more_CAdv = ss "enemmän" ; most_Predet = {s = \\n,c => (nForms2N (dSuurin "useinta")).s ! NCase n (npform2case n c)} ; much_Det = mkDet Sg {s = \\_ => "paljon"} ; - must_VV = caseV genitive (mkV "täytyä") ; + must_VV = mkVV (caseV genitive (mkV "täytyä")) ; no_Utt = ss "ei" ; on_Prep = casePrep adessive ; --- one_Quant = mkDet Sg DEPREC @@ -128,7 +128,7 @@ concrete StructuralFin of Structural = CatFin ** to_Prep = casePrep illative ; --- allative under_Prep = postGenPrep "alla" ; very_AdA = ss "erittäin" ; - want_VV = mkV "tahtoa" ; + want_VV = mkVV (mkV "tahtoa") ; we_Pron = mkPronoun "me" "meidän" "meitä" "meinä" "meihin" Pl P1 ; whatPl_IP = { s = table {NPAcc => "mitkä" ; c => mikaInt ! Pl ! npform2case Pl c} ; @@ -200,11 +200,13 @@ oper Sg => table { Nom => "mikä" ; Gen => "minkä" ; + Part => "mitä" ; c => mi.s ! NCase Sg c } ; Pl => table { Nom => "mitkä" ; - Gen => "mittenkä" ; + Gen => "minkä" ; + Part => "mitä" ; c => mi.s ! NCase Sg c } } ; @@ -282,7 +284,7 @@ oper oper - makeNP : N -> Number -> CatFin.NP ; + makeNP : N -> MorphoFin.Number -> CatFin.NP ; makeNP noun num = { s = \\c => noun.s ! NCase num (npform2case num c) ; a = agrP3 num ; diff --git a/lib/resource-1.4/finnish/VerbFin.gf b/lib/resource-1.4/finnish/VerbFin.gf index 24cd8ff5e..7dbf9e218 100644 --- a/lib/resource-1.4/finnish/VerbFin.gf +++ b/lib/resource-1.4/finnish/VerbFin.gf @@ -18,7 +18,7 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in { ComplVV v vp = insertObj - (\\_,b,a => infVP v.sc b a vp) + (\\_,b,a => infVP v.sc b a vp v.vi) (predV {s = v.s ; sc = case vp.sc of { NPCase Nom => v.sc ; -- minun täytyy pestä auto @@ -40,7 +40,7 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in { SlashV2Q v q = insertExtrapos (q.s) (predV v) ** {c2 = v.c2} ; SlashV2V v vp = - insertObj (\\_,b,a => infVP v.sc b a vp) (predV v) ** {c2 = v.c2} ; + insertObj (\\_,b,a => infVP v.sc b a vp v.vi) (predV v) ** {c2 = v.c2} ; ---- different infinitives SlashV2A v ap = insertObj @@ -55,7 +55,7 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in { SlashVV v vp = insertObj - (\\_,b,a => infVP v.sc b a vp) + (\\_,b,a => infVP v.sc b a vp v.vi) (predV {s = v.s ; sc = case vp.sc of { NPCase Nom => v.sc ; -- minun täytyy pestä auto @@ -66,7 +66,7 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in { SlashV2VNP v np vp = insertObj - (\\fin,b,a => appCompl fin b v.c2 np ++ infVP v.sc b a vp) + (\\fin,b,a => appCompl fin b v.c2 np ++ infVP v.sc b a vp v.vi) (predV v) ** {c2 = vp.c2} ; AdvVP vp adv = insertObj (\\_,_,_ => adv.s) vp ; diff --git a/lib/resource-1.4/french/DiffFre.gf b/lib/resource-1.4/french/DiffFre.gf index f8800a63d..6d6492c31 100644 --- a/lib/resource-1.4/french/DiffFre.gf +++ b/lib/resource-1.4/french/DiffFre.gf @@ -6,7 +6,7 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { -- flags optimize=all ; param - Prepos = P_de | P_a ; + Prepos = P_de | P_a | PNul ; VType = VHabere | VEsse | VRefl ; oper @@ -17,7 +17,8 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { Nom => [] ; Acc => [] ; CPrep P_a => "à" ; - CPrep P_de => elisDe + CPrep P_de => elisDe ; + CPrep PNul => [] } ; artDef : Gender -> Number -> Case -> Str = \g,n,c -> @@ -163,7 +164,7 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { quelPron : AAgr => Str = aagrForms "quel" "quelle" "quels" "quelles" ; - partQIndir = [] ; --- only for qui,que: elision "c" ; + partQIndir = "ce" ; --- only for qui,que: elision "c" ; reflPron : Number -> Person -> Case -> Str = \n,p,c -> let pron = argPron Fem n p c in diff --git a/lib/resource-1.4/french/MorphoFre.gf b/lib/resource-1.4/french/MorphoFre.gf index 5464c8875..96ce22850 100644 --- a/lib/resource-1.4/french/MorphoFre.gf +++ b/lib/resource-1.4/french/MorphoFre.gf @@ -168,7 +168,7 @@ oper Aton Nom => il ; Aton Acc => le ; Aton (CPrep P_de) => "en" ; --- hmm - Aton (CPrep P_a) => lui ; + Aton (CPrep _) => lui ; Poss {n = Sg ; g = Masc} => son ; Poss {n = Sg ; g = Fem} => sa ; Poss {n = Pl} => ses diff --git a/lib/resource-1.4/french/ParadigmsFre.gf b/lib/resource-1.4/french/ParadigmsFre.gf index 7a25d00c8..b5406b558 100644 --- a/lib/resource-1.4/french/ParadigmsFre.gf +++ b/lib/resource-1.4/french/ParadigmsFre.gf @@ -300,7 +300,7 @@ oper accusative = complAcc ** {lock_Prep = <>} ; genitive = complGen ** {lock_Prep = <>} ; dative = complDat ** {lock_Prep = <>} ; - mkPrep p = {s = p ; c = Acc ; isDir = False ; lock_Prep = <>} ; + mkPrep p = {s = p ; c = CPrep PNul ; isDir = False ; lock_Prep = <>} ; --- obsolete Preposition : Type ; diff --git a/lib/resource-1.4/italian/DiffIta.gf b/lib/resource-1.4/italian/DiffIta.gf index 3cca9cd5c..e43e0e97d 100644 --- a/lib/resource-1.4/italian/DiffIta.gf +++ b/lib/resource-1.4/italian/DiffIta.gf @@ -144,7 +144,7 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud quelPron : AAgr => Str = aagrForms "quale" "quale" "quali" "quali" ; - partQIndir = [] ; --- "ciò" ; + partQIndir = "ciò" ; reflPron : Number -> Person -> Case -> Str = let diff --git a/lib/resource-1.4/italian/LexiconIta.gf b/lib/resource-1.4/italian/LexiconIta.gf index 6cbc29d85..3f379c752 100644 --- a/lib/resource-1.4/italian/LexiconIta.gf +++ b/lib/resource-1.4/italian/LexiconIta.gf @@ -12,7 +12,7 @@ lin apartment_N = regN "apartamento" ; apple_N = regN "mela" ; art_N = femN (regN "arte") ; - ask_V2Q = mkV2Q (verboV (rispondere_76 "chiedere")) ParadigmsIta.dative ; + ask_V2Q = mkV2Q (verboV (chiedere_29 "chiedere")) ParadigmsIta.dative ; baby_N = regN "bambino" ; bad_A = prefA (mkADeg (regA "cattivo") (regA "peggio")) ; bank_N = regN "banca" ; diff --git a/lib/resource-1.4/italian/NumeralIta.gf b/lib/resource-1.4/italian/NumeralIta.gf index 88ccd7e69..453caee0f 100644 --- a/lib/resource-1.4/italian/NumeralIta.gf +++ b/lib/resource-1.4/italian/NumeralIta.gf @@ -25,7 +25,7 @@ lin pot01 = ental pred => [] ; _ => uno ! f ! g } ; - n = Pl} ; + n = Sg} ; lin pot0 d = {s = d.s ; n = Pl} ; lin pot110 = spl ((mkTal "dieci" [] [] "decimo").s ! ental indip) ; diff --git a/lib/resource-1.4/romance/QuestionRomance.gf b/lib/resource-1.4/romance/QuestionRomance.gf index e4959c0fe..6d2fa8669 100644 --- a/lib/resource-1.4/romance/QuestionRomance.gf +++ b/lib/resource-1.4/romance/QuestionRomance.gf @@ -30,14 +30,18 @@ incomplete concrete QuestionRomance of Question = who = slash.c2.s ++ ip.s ! slash.c2.c in table { QDir => who ++ cls DInv ; - QIndir => partQIndir ++ who ++ cls DDir + QIndir => who ++ cls DDir } } ; QuestIAdv iadv cl = { - s = \\t,a,p,_ => + s = \\t,a,p,q => let - cls = cl.s ! DInv ! t ! a ! p ! Indic ; + ord = case q of { + QDir => DInv ; + QIndir => DDir + } ; + cls = cl.s ! ord ! t ! a ! p ! Indic ; why = iadv.s in why ++ cls } ; diff --git a/lib/resource-1.4/romance/VerbRomance.gf b/lib/resource-1.4/romance/VerbRomance.gf index b09e0426b..96992bd35 100644 --- a/lib/resource-1.4/romance/VerbRomance.gf +++ b/lib/resource-1.4/romance/VerbRomance.gf @@ -27,7 +27,7 @@ incomplete concrete VerbRomance of Verb = SlashV2S v s = mkVPSlash v.c2 (insertExtrapos - (\\b => s.s ! Indic) ---- mood + (\\b => conjThat ++ s.s ! Indic) ---- mood (predV v)) ; SlashV2Q v q =