From 2ae1392cc1ccf832928ce485a114c5e791fd8d4a Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 2 Apr 2014 21:16:03 +0000 Subject: [PATCH] Chunking and other robust translation facilities in plain RGL --- lib/src/chunk/ChunkBul.gf | 67 +++++++++++++++++++++++++++++ lib/src/chunk/ChunkChi.gf | 51 ++++++++++++++++++++++ lib/src/chunk/ChunkEng.gf | 4 ++ lib/src/chunk/ChunkFin.gf | 37 ++++++++++++++++ lib/src/chunk/ChunkFre.gf | 52 ++++++++++++++++++++++ lib/src/chunk/ChunkGer.gf | 37 ++++++++++++++++ lib/src/chunk/ChunkHin.gf | 46 ++++++++++++++++++++ lib/src/chunk/ChunkIta.gf | 52 ++++++++++++++++++++++ lib/src/chunk/ChunkSpa.gf | 52 ++++++++++++++++++++++ lib/src/chunk/ChunkSwe.gf | 6 ++- lib/src/translator/ExtensionsFre.gf | 16 +++---- lib/src/translator/ExtensionsIta.gf | 16 +++---- lib/src/translator/ExtensionsSpa.gf | 16 +++---- lib/src/translator/Translate.gf | 4 +- lib/src/translator/TranslateChi.gf | 3 +- lib/src/translator/TranslateEng.gf | 11 ++--- lib/src/translator/TranslateSwe.gf | 5 +-- 17 files changed, 437 insertions(+), 38 deletions(-) create mode 100644 lib/src/chunk/ChunkBul.gf create mode 100644 lib/src/chunk/ChunkChi.gf create mode 100644 lib/src/chunk/ChunkFin.gf create mode 100644 lib/src/chunk/ChunkFre.gf create mode 100644 lib/src/chunk/ChunkGer.gf create mode 100644 lib/src/chunk/ChunkHin.gf create mode 100644 lib/src/chunk/ChunkIta.gf create mode 100644 lib/src/chunk/ChunkSpa.gf diff --git a/lib/src/chunk/ChunkBul.gf b/lib/src/chunk/ChunkBul.gf new file mode 100644 index 000000000..e0297453c --- /dev/null +++ b/lib/src/chunk/ChunkBul.gf @@ -0,0 +1,67 @@ +concrete ChunkBul of Chunk = CatBul, ExtensionsBul [VPS,VPI] ** + ChunkFunctor - [ + CN_Pl_Chunk, CN_Sg_Chunk, Conj_Chunk, IAdv_Chunk, IP_Chunk, Numeral_Nom_Chunk, SSlash_Chunk, Predet_Chunk, + emptyNP, Prep_Chunk + ] + with (Syntax = SyntaxBul), (Extensions = ExtensionsBul) ** + open + SyntaxBul, (E = ExtensionsBul), Prelude, + ResBul, MorphoFunsBul, (P = ParadigmsBul) in { + + +lin CN_Pl_Chunk, CN_Pl_Gen_Chunk = \cn -> {s = cn.s ! (NF Pl allSpecies | NFPlCount)} ; +lin CN_Sg_Chunk, CN_Sg_Gen_Chunk = \cn -> {s = cn.s ! (NF Sg allSpecies | NFSgDefNom)} ; +lin Conj_Chunk c = {s = c.s ++ linCoord ! c.conj}; +lin IAdv_Chunk iadv = {s = iadv.s ! allQForm}; +lin IP_Chunk ip = {s = ip.s ! (RSubj | RObj allCases | RVoc) ! allQForm}; +lin Predet_Chunk predet = {s = predet.s ! allGenNum}; +lin Numeral_Nom_Chunk, Numeral_Gen_Chunk = \num -> {s = num.s ! NCard allCardForm}; +lin Prep_Chunk prep = prep; + +lin NP_Acc_Chunk np = {s = np.s ! RObj allCases}; +lin NP_Gen_Chunk np = {s = np.s ! RSubj}; + +oper + emptyNP : NP = SyntaxBul.mkNP (P.mkPN [] Masc) ; + + +lin refl_SgP1_Chunk, refl_SgP2_Chunk, refl_SgP3_Chunk, refl_PlP1_Chunk, + refl_PlP2_Chunk, refl_PlP3_Chunk = + {s = reflClitics ! allCases}; + +lin neg_Chunk = {s = "не"}; + +lin copula_Chunk = {s = auxBe ! VPres allNumber allPerson}; +lin copula_neg_Chunk = {s = "не" ++ auxBe ! VPres allNumber allPerson}; +lin copula_inf_Chunk = {s = auxWould ! VPres allNumber allPerson}; +lin past_copula_Chunk = {s = auxBe ! VAorist allNumber allPerson}; +lin past_copula_neg_Chunk = {s = "не" ++ auxBe ! VAorist allNumber allPerson}; +lin future_Chunk = {s = "ще"}; +lin future_neg_Chunk = {s = "не ще"}; +lin cond_Chunk = {s = auxWould ! VAorist allNumber allPerson} ; +lin cond_neg_Chunk = {s = "не" ++ auxWould ! VAorist allNumber allPerson} ; +lin perfect_Chunk = {s = "*"} ; +lin perfect_neg_Chunk = {s = "не" ++ "*"} ; +lin past_perfect_Chunk = {s = "*"} ; +lin past_perfect_neg_Chunk = {s = "не" ++ "*"} ; + +oper + allAForm + = ASg allGender allSpecies + | ASgMascDefNom + | APl allSpecies ; + allGender = Masc | Fem | Neut ; + allSpecies = Indef | Def ; + allCases = Acc | Dat ; + allQForm = QDir | QIndir ; + allAnimacy = Human | NonHuman ; + allCardForm = + CFMasc allSpecies allAnimacy + | CFMascDefNom allAnimacy + | CFFem allSpecies + | CFNeut allSpecies ; + allGenNum = GSg allGender | GPl ; + allNumber = Sg | Pl ; + allPerson = P1 | P2 | P3 ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkChi.gf b/lib/src/chunk/ChunkChi.gf new file mode 100644 index 000000000..af89f0d85 --- /dev/null +++ b/lib/src/chunk/ChunkChi.gf @@ -0,0 +1,51 @@ +concrete ChunkChi of Chunk = CatChi, ExtensionsChi [VPS,VPI] ** + ChunkFunctor - [Numeral_Nom_Chunk, Conj_Chunk, CN_Pl_Chunk, Subj_Chunk, emptyNP, Prep_Chunk, Predet_Chunk] + with (Syntax = SyntaxChi), (Extensions = ExtensionsChi) ** + open + SyntaxChi, (E = ExtensionsChi), Prelude, + ResChi, (P = ParadigmsChi) in { + +oper + emptyNP : NP = mkNP [] ; + +-- exceptions to functor + +lin + Conj_Chunk conj = ss (conj.s ! CSent).s2 ; + Numeral_Nom_Chunk num = ss (num.s ++ ge_s) ; + CN_Pl_Chunk cn = cn ; + Subj_Chunk subj = ss (subj.prePart ++ subj.sufPart) ; + Prep_Chunk prep = ss (prep.prepPre ++ prep.prepPost) ; + Predet_Chunk predet = predet ; + + + +lin + NP_Acc_Chunk np = np ; + NP_Gen_Chunk np = ss (np.s ++ de_s) ; + + copula_inf_Chunk = ss copula_s ; + + refl_SgP1_Chunk = ss reflPron ; + refl_SgP2_Chunk = ss reflPron ; + refl_SgP3_Chunk = ss reflPron ; + refl_PlP1_Chunk = ss reflPron ; + refl_PlP2_Chunk = ss reflPron ; + refl_PlP3_Chunk = ss reflPron ; + neg_Chunk = ss neg_s ; + copula_Chunk = ss copula_s ; + copula_neg_Chunk = ss (neg_s ++ copula_s) ; + past_copula_Chunk = ss "了" ; + past_copula_neg_Chunk = ss (neg_s ++ copula_s ++ "了") ; + future_Chunk = ss copula_s ; ---- + future_neg_Chunk = ss (neg_s ++ copula_s) ; + cond_Chunk = ss copula_s ; ---- + cond_neg_Chunk = ss (neg_s ++ copula_s) ; + perfect_Chunk = ss "了" ; + perfect_neg_Chunk = ss (neg_s ++ copula_s ++ "了") ; + past_perfect_Chunk = ss "了" ; + past_perfect_neg_Chunk = ss (neg_s ++ copula_s ++ "了") ; + + + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkEng.gf b/lib/src/chunk/ChunkEng.gf index 21631c428..446baebcb 100644 --- a/lib/src/chunk/ChunkEng.gf +++ b/lib/src/chunk/ChunkEng.gf @@ -4,6 +4,10 @@ concrete ChunkEng of Chunk = CatEng, ExtensionsEng [VPS,VPI] ** SyntaxEng, (E = ExtensionsEng), Prelude, (R = ResEng), (P = ParadigmsEng) in { +lin + NP_Acc_Chunk np = ss (np.s ! R.NPAcc) ; + NP_Gen_Chunk np = ss (np.s ! R.NCase R.Gen) | ss (np.s ! R.NPNomPoss) ; + oper emptyNP = mkNP (P.mkPN []) ; diff --git a/lib/src/chunk/ChunkFin.gf b/lib/src/chunk/ChunkFin.gf new file mode 100644 index 000000000..2b3fc074f --- /dev/null +++ b/lib/src/chunk/ChunkFin.gf @@ -0,0 +1,37 @@ +concrete ChunkFin of Chunk = CatFin, ExtensionsFin [VPS,VPI] ** + ChunkFunctor with (Syntax = SyntaxFin), (Extensions = ExtensionsFin) ** + open + SyntaxFin, (E = ExtensionsFin), Prelude, + ResFin, (P = ParadigmsFin) in { + +oper + emptyNP = mkNP (lin PN {s = \\_ => []}) ; + +lin + NP_Acc_Chunk np = ss (np.s ! NPAcc) ; + NP_Gen_Chunk np = ss (np.s ! NPCase Gen) ; + +lin + copula_inf_Chunk = ss "olla" ; + + refl_SgP1_Chunk = ss "itseni" ; + refl_SgP2_Chunk = ss "itsesi" ; + refl_SgP3_Chunk = ss "itse" ; + refl_PlP1_Chunk = ss "itsemme" ; + refl_PlP2_Chunk = ss "itsenne" ; + refl_PlP3_Chunk = ss "itsensä" ; + neg_Chunk = ss "ei" ; + copula_Chunk = ss "on" ; + copula_neg_Chunk = ss "ei ole" ; + past_copula_Chunk = ss "oli" ; + past_copula_neg_Chunk = ss "ei ollut" ; + future_Chunk = ss "tulee" ; + future_neg_Chunk = ss "ei tule" ; + cond_Chunk = ss "olisi" ; + cond_neg_Chunk = ss "ei olisi" ; + perfect_Chunk = ss "on" ; + perfect_neg_Chunk = ss "ei ole" ; + past_perfect_Chunk = ss "oli" ; + past_perfect_neg_Chunk = ss "ei ollut" ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkFre.gf b/lib/src/chunk/ChunkFre.gf new file mode 100644 index 000000000..bfdac0b38 --- /dev/null +++ b/lib/src/chunk/ChunkFre.gf @@ -0,0 +1,52 @@ +concrete ChunkFre of Chunk = CatFre, ExtensionsFre [VPS,VPI] ** + ChunkFunctor - [SSlash_Chunk] + with (Syntax = SyntaxFre), (Extensions = ExtensionsFre) ** + open + SyntaxFre, (E = ExtensionsFre), Prelude, + ResFre, PhonoFre, CommonRomance, (P = ParadigmsFre) in { + +lin + SSlash_Chunk s = mkUtt ; + +lin + NP_Acc_Chunk np = ss (np.s ! Acc).ton ; + NP_Gen_Chunk np = ss (np.s ! genitive).comp ; + +oper + emptyNP = mkNP (P.mkPN []) ; + +lin + copula_inf_Chunk = ss "être" ; + + refl_SgP1_Chunk = ss "moi-même" ; + refl_SgP2_Chunk = ss "toi-même" ; + refl_SgP3_Chunk = ss "lui-même" ; + refl_PlP1_Chunk = ss "nous-mêmes" ; + refl_PlP2_Chunk = ss "vous-mêmes" ; + refl_PlP3_Chunk = ss "eux-mêmes" ; + neg_Chunk = ss "non" ; + copula_Chunk = ss "est" ; + copula_neg_Chunk = ss "n'est pas" ; + past_copula_Chunk = ss "était" ; + past_copula_neg_Chunk = ss "n'était pas" ; + future_Chunk = ss "va" ; + future_neg_Chunk = ss "ne va pas" ; + cond_Chunk = ss "ferait" ; ---- + cond_neg_Chunk = ss "ne ferait pas" ; ---- + perfect_Chunk = ss "a" ; + perfect_neg_Chunk = ss "n'a pas" ; + past_perfect_Chunk = ss "avait" ; + past_perfect_neg_Chunk = ss "n'avait pas" ; + + fullstop_Chunk = ss "." ; + exclmark_Chunk = ss "!" ; + questmark_Chunk = ss "?" ; + comma_Chunk = ss "," ; + colon_Chunk = ss ":" ; + semicolon_Chunk = ss ";" ; + quote_Chunk = ss "\"" ; + lpar_Chunk = ss "(" ; + rpar_Chunk = ss ")" ; + dash_Chunk = ss "-" ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkGer.gf b/lib/src/chunk/ChunkGer.gf new file mode 100644 index 000000000..a3173477c --- /dev/null +++ b/lib/src/chunk/ChunkGer.gf @@ -0,0 +1,37 @@ +concrete ChunkGer of Chunk = CatGer, ExtensionsGer [VPS,VPI] ** + ChunkFunctor with (Syntax = SyntaxGer), (Extensions = ExtensionsGer) ** + open + SyntaxGer, (E = ExtensionsGer), Prelude, + ResGer, (P = ParadigmsGer) in { + +oper + emptyNP = mkNP (P.mkPN []) ; + +lin + NP_Acc_Chunk np = ss (np.s ! NPC Acc) ; + NP_Gen_Chunk np = ss (np.s ! NPC Gen) ; + +lin + copula_inf_Chunk = ss "sein" ; + + refl_SgP1_Chunk = ss "mich selbst" ; + refl_SgP2_Chunk = ss "dich selbst" ; + refl_SgP3_Chunk = ss "sich selbst" ; + refl_PlP1_Chunk = ss "uns selbst" ; + refl_PlP2_Chunk = ss "euch selbst" ; + refl_PlP3_Chunk = ss "sich selbst" ; + neg_Chunk = ss "nicht" ; + copula_Chunk = ss "ist" ; + copula_neg_Chunk = ss "ist nicht" ; + past_copula_Chunk = ss "war" ; + past_copula_neg_Chunk = ss "war nicht" ; + future_Chunk = ss "wird" ; + future_neg_Chunk = ss "wird nicht" ; + cond_Chunk = ss "würde" ; + cond_neg_Chunk = ss "würde nicht" ; + perfect_Chunk = ss "hat" ; + perfect_neg_Chunk = ss "hat nicht" ; + past_perfect_Chunk = ss "hatte" ; + past_perfect_neg_Chunk = ss "hatte nicht" ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkHin.gf b/lib/src/chunk/ChunkHin.gf new file mode 100644 index 000000000..f76dda96b --- /dev/null +++ b/lib/src/chunk/ChunkHin.gf @@ -0,0 +1,46 @@ +concrete ChunkHin of Chunk = CatHin, ExtensionsHin [VPS,VPI] ** + ChunkFunctor - [Adv_Chunk, Prep_Chunk] + with (Syntax = SyntaxHin), (Extensions = ExtensionsHin) ** + open + SyntaxHin, (E = ExtensionsHin), Prelude, CommonHindustani, + (R = ResHin), (P = ParadigmsHin) in { + +lin + Adv_Chunk adv = mkUtt adv ; + Prep_Chunk prep = pss (prep.s ! Masc) ; ---- + +oper + emptyNP = mkNP (P.mkPN []) ; + pss = Prelude.ss ; + +lin + NP_Acc_Chunk np = mkUtt np ; + NP_Gen_Chunk np = mkUtt (mkAdv possess_Prep np) ; + + copula_inf_Chunk = pss " है " ; + + refl_SgP1_Chunk, + refl_SgP2_Chunk, + refl_SgP3_Chunk, + refl_PlP1_Chunk, + refl_PlP2_Chunk, + refl_PlP3_Chunk = pss " आप " ; ---- + + neg_Chunk = pss " नहीं " ; + copula_Chunk = pss " है " ; + copula_neg_Chunk = pss " नहीं है " ; + + past_copula_Chunk = pss " था " ; + past_copula_neg_Chunk = pss " नहीं था " ; + + future_Chunk = pss " हीं होगा " ; + future_neg_Chunk = pss " नहीं होगा " ; + + cond_Chunk = pss " हीं होगा " ; ---- same as future + cond_neg_Chunk = pss " नहीं होगा " ; + perfect_Chunk = pss " है " ; + perfect_neg_Chunk = pss " नहीं " ; + past_perfect_Chunk = pss " था " ; + past_perfect_neg_Chunk = pss " नहीं " ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkIta.gf b/lib/src/chunk/ChunkIta.gf new file mode 100644 index 000000000..5fad79502 --- /dev/null +++ b/lib/src/chunk/ChunkIta.gf @@ -0,0 +1,52 @@ +concrete ChunkIta of Chunk = CatIta, ExtensionsIta [VPS,VPI] ** + ChunkFunctor - [SSlash_Chunk] + with (Syntax = SyntaxIta), (Extensions = ExtensionsIta) ** + open + SyntaxIta, (E = ExtensionsIta), Prelude, + ResIta, CommonRomance, (P = ParadigmsIta) in { + +lin + SSlash_Chunk s = mkUtt ; + +lin + NP_Acc_Chunk np = ss (np.s ! Acc).ton ; + NP_Gen_Chunk np = ss (np.s ! genitive).comp ; + +oper + emptyNP = mkNP (P.mkPN []) ; + + + copula_inf_Chunk = ss "essere" ; + + refl_SgP1_Chunk = ss "me stesso" ; + refl_SgP2_Chunk = ss "te stesso" ; + refl_SgP3_Chunk = ss "lui stesso" ; + refl_PlP1_Chunk = ss "noi stessi" ; + refl_PlP2_Chunk = ss "voi stessi" ; + refl_PlP3_Chunk = ss "loro stessi" ; + neg_Chunk = ss "non" ; + copula_Chunk = ss "è" ; + copula_neg_Chunk = ss "non è" ; + past_copula_Chunk = ss "era" ; + past_copula_neg_Chunk = ss "non era" ; + future_Chunk = ss "vuole" ; ---- + future_neg_Chunk = ss "non vuole" ; ---- + cond_Chunk = ss "vorrebbe" ; ---- + cond_neg_Chunk = ss "non vorrebbe" ; ---- + perfect_Chunk = ss "ha" ; + perfect_neg_Chunk = ss "non ha" ; + past_perfect_Chunk = ss "aveva" ; + past_perfect_neg_Chunk = ss "non aveva" ; + + fullstop_Chunk = ss "." ; + exclmark_Chunk = ss "!" ; + questmark_Chunk = ss "?" ; + comma_Chunk = ss "," ; + colon_Chunk = ss ":" ; + semicolon_Chunk = ss ";" ; + quote_Chunk = ss "\"" ; + lpar_Chunk = ss "(" ; + rpar_Chunk = ss ")" ; + dash_Chunk = ss "-" ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkSpa.gf b/lib/src/chunk/ChunkSpa.gf new file mode 100644 index 000000000..a1fdc4f7e --- /dev/null +++ b/lib/src/chunk/ChunkSpa.gf @@ -0,0 +1,52 @@ +concrete ChunkSpa of Chunk = CatSpa, ExtensionsSpa [VPS,VPI] ** + ChunkFunctor - [SSlash_Chunk] + with (Syntax = SyntaxSpa), (Extensions = ExtensionsSpa) ** + open + SyntaxSpa, (E = ExtensionsSpa), Prelude, + ResSpa, CommonRomance, (P = ParadigmsSpa) in { + +lin + SSlash_Chunk s = mkUtt ; + +lin + NP_Acc_Chunk np = ss (np.s ! Acc).ton ; + NP_Gen_Chunk np = ss (np.s ! genitive).comp ; + +oper + emptyNP = mkNP (P.mkPN []) ; + +lin + copula_inf_Chunk = ss "ser" ; + + refl_SgP1_Chunk = ss "yo mismo" ; + refl_SgP2_Chunk = ss "tu mismo" ; + refl_SgP3_Chunk = ss "ello mismo" ; + refl_PlP1_Chunk = ss "nosotros mismos" ; + refl_PlP2_Chunk = ss "vosotros mismos" ; + refl_PlP3_Chunk = ss "ellos mismos" ; + neg_Chunk = ss "no" ; + copula_Chunk = ss "es" ; + copula_neg_Chunk = ss "no es" ; + past_copula_Chunk = ss "era" ; + past_copula_neg_Chunk = ss "no era" ; + future_Chunk = ss "va" ; ---- + future_neg_Chunk = ss "no va" ; ---- + cond_Chunk = ss "iría" ; ---- + cond_neg_Chunk = ss "no iría" ; ---- + perfect_Chunk = ss "ha" ; + perfect_neg_Chunk = ss "no ha" ; + past_perfect_Chunk = ss "había" ; + past_perfect_neg_Chunk = ss "no había" ; + + fullstop_Chunk = ss "." ; + exclmark_Chunk = ss "!" ; + questmark_Chunk = ss "?" ; + comma_Chunk = ss "," ; + colon_Chunk = ss ":" ; + semicolon_Chunk = ss ";" ; + quote_Chunk = ss "\"" ; + lpar_Chunk = ss "(" ; + rpar_Chunk = ss ")" ; + dash_Chunk = ss "-" ; + +} \ No newline at end of file diff --git a/lib/src/chunk/ChunkSwe.gf b/lib/src/chunk/ChunkSwe.gf index abb0eac04..144bb184f 100644 --- a/lib/src/chunk/ChunkSwe.gf +++ b/lib/src/chunk/ChunkSwe.gf @@ -2,7 +2,11 @@ concrete ChunkSwe of Chunk = CatSwe, ExtensionsSwe [VPS,VPI] ** ChunkFunctor with (Syntax = SyntaxSwe), (Extensions = ExtensionsSwe) ** open SyntaxSwe, (E = ExtensionsSwe), Prelude, - (R = ResSwe), (P = ParadigmsSwe) in { + (C=CommonScand), (R=ResSwe), (P = ParadigmsSwe) in { + +lin + NP_Acc_Chunk np = ss (np.s ! C.NPAcc) ; + NP_Gen_Chunk np = ss (np.s ! C.NPPoss (C.GSg C.Utr) C.Nom) ; oper emptyNP = mkNP (P.mkPN []) ; diff --git a/lib/src/translator/ExtensionsFre.gf b/lib/src/translator/ExtensionsFre.gf index 44407f7b0..4581783d3 100644 --- a/lib/src/translator/ExtensionsFre.gf +++ b/lib/src/translator/ExtensionsFre.gf @@ -1,22 +1,22 @@ concrete ExtensionsFre of Extensions = CatFre ** open - PhonoFre, MorphoFre, ResFre, CommonRomance, ParadigmsFre, SyntaxFre, Prelude, (G = GrammarFre) in { + PhonoFre, MorphoFre, ResFre, CommonRomance, ParadigmsFre, SyntaxFre, Prelude, (G = GrammarFre), (E = ExtraFre) in { -----lincat ----- VPI = E.VPI ; +lincat + VPI = E.VPI ; ---- ListVPI = E.ListVPI ; ----- VPS = E.VPS ; + VPS = E.VPS ; ---- ListVPS = E.ListVPS ; -----lin ----- MkVPI = E.MkVPI ; +lin + MkVPI = E.MkVPI ; ---- ConjVPI = E.ConjVPI ; ---- ComplVPIVV = E.ComplVPIVV ; ----- MkVPS = E.MkVPS ; + MkVPS = E.MkVPS ; ---- ConjVPS = E.ConjVPS ; ----- PredVPS = E.PredVPS ; + PredVPS = E.PredVPS ; ---- BaseVPI = E.BaseVPI ; ---- ConsVPI = E.ConsVPI ; diff --git a/lib/src/translator/ExtensionsIta.gf b/lib/src/translator/ExtensionsIta.gf index 7a5c1700f..71b0d5ae5 100644 --- a/lib/src/translator/ExtensionsIta.gf +++ b/lib/src/translator/ExtensionsIta.gf @@ -1,22 +1,22 @@ concrete ExtensionsIta of Extensions = CatIta ** open - PhonoIta, MorphoIta, ResIta, CommonRomance, ParadigmsIta, SyntaxIta, Prelude, (G = GrammarIta) in { + PhonoIta, MorphoIta, ResIta, CommonRomance, ParadigmsIta, SyntaxIta, Prelude, (G = GrammarIta), (E = ExtraIta) in { -----lincat ----- VPI = E.VPI ; +lincat + VPI = E.VPI ; ---- ListVPI = E.ListVPI ; ----- VPS = E.VPS ; + VPS = E.VPS ; ---- ListVPS = E.ListVPS ; -----lin ----- MkVPI = E.MkVPI ; +lin + MkVPI = E.MkVPI ; ---- ConjVPI = E.ConjVPI ; ---- ComplVPIVV = E.ComplVPIVV ; ----- MkVPS = E.MkVPS ; + MkVPS = E.MkVPS ; ---- ConjVPS = E.ConjVPS ; ----- PredVPS = E.PredVPS ; + PredVPS = E.PredVPS ; ---- BaseVPI = E.BaseVPI ; ---- ConsVPI = E.ConsVPI ; diff --git a/lib/src/translator/ExtensionsSpa.gf b/lib/src/translator/ExtensionsSpa.gf index f68b77c2e..a068f46b1 100644 --- a/lib/src/translator/ExtensionsSpa.gf +++ b/lib/src/translator/ExtensionsSpa.gf @@ -1,22 +1,22 @@ concrete ExtensionsSpa of Extensions = CatSpa ** open - PhonoSpa, MorphoSpa, ResSpa, CommonRomance, ParadigmsSpa, SyntaxSpa, Prelude, (G = GrammarSpa) in { + PhonoSpa, MorphoSpa, ResSpa, CommonRomance, ParadigmsSpa, SyntaxSpa, Prelude, (G = GrammarSpa), (E = ExtraSpa) in { -----lincat ----- VPI = E.VPI ; +lincat + VPI = E.VPI ; ---- ListVPI = E.ListVPI ; ----- VPS = E.VPS ; + VPS = E.VPS ; ---- ListVPS = E.ListVPS ; -----lin ----- MkVPI = E.MkVPI ; +lin + MkVPI = E.MkVPI ; ---- ConjVPI = E.ConjVPI ; ---- ComplVPIVV = E.ComplVPIVV ; ----- MkVPS = E.MkVPS ; + MkVPS = E.MkVPS ; ---- ConjVPS = E.ConjVPS ; ----- PredVPS = E.PredVPS ; + PredVPS = E.PredVPS ; ---- BaseVPI = E.BaseVPI ; ---- ConsVPI = E.ConsVPI ; diff --git a/lib/src/translator/Translate.gf b/lib/src/translator/Translate.gf index 843b9fb9d..363ecbccc 100644 --- a/lib/src/translator/Translate.gf +++ b/lib/src/translator/Translate.gf @@ -7,7 +7,7 @@ abstract Translate = Numeral, Conjunction, Verb - [ ------ SlashV2V, PassV2, ComplVV, -- to be generalized + SlashV2V, PassV2, ComplVV, -- to be generalized UseCopula ---- overgenerating ?? ], Adverb, @@ -22,7 +22,7 @@ abstract Translate = Chunk, Construction, - Extensions - [VPI,VPS,PredFrontVQ,PredFrontVS,SlashSlashV2V,SlashV2V,SlashVPIV2V,ComplVV,PassVPSlash,PassAgentVPSlash], + Extensions - [VPI,VPS], Dictionary, Documentation diff --git a/lib/src/translator/TranslateChi.gf b/lib/src/translator/TranslateChi.gf index e2861e6f8..5e1f1b347 100644 --- a/lib/src/translator/TranslateChi.gf +++ b/lib/src/translator/TranslateChi.gf @@ -8,7 +8,8 @@ concrete TranslateChi of Translate = SymbolChi [PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP], ConjunctionChi, VerbChi - [ - SlashV2V, PassV2, UseCopula, ComplVV, + UseCopula, -- just removed + SlashV2V, PassV2, ComplVV, -- generalized CompAP, AdvVP -- Chi exceptions ], AdverbChi, diff --git a/lib/src/translator/TranslateEng.gf b/lib/src/translator/TranslateEng.gf index 16e46fd5b..8e3a3cfba 100644 --- a/lib/src/translator/TranslateEng.gf +++ b/lib/src/translator/TranslateEng.gf @@ -12,16 +12,13 @@ concrete TranslateEng of Translate = ], ConjunctionEng, VerbEng - [ - UseCopula, --- SlashV2V, PassV2, ComplVV, -- generalized in Extensions - ComplVS, SlashV2S, ComplSlash, -- have variants in Eng - SlashV2VNP, SlashVV, AdVVPSlash,AdvVPSlash,VPSlashPrep ----- + UseCopula, -- just removed + SlashV2V, PassV2, ComplVV, -- generalized in Extensions + ComplVS, SlashV2S, ComplSlash -- Eng exceptions ], AdverbEng, PhraseEng, SentenceEng - [ - SlashVS, ----- ----- PredVP, -- to be replaced by PredVPS, QuestVPS, QuestIAdvVPS in Extensions UseCl -- replaced by UseCl | ContractedUseCl ], QuestionEng, @@ -33,7 +30,7 @@ concrete TranslateEng of Translate = ChunkEng, ExtensionsEng - [ - VPI,VPS,PredFrontVQ,PredFrontVS,SlashSlashV2V,SlashV2V,SlashVPIV2V,ComplVV,PassVPSlash,PassAgentVPSlash + VPI,VPS ], DictionaryEng ** open MorphoEng, ResEng, ParadigmsEng, (G = GrammarEng), (E = ExtraEng), Prelude in { diff --git a/lib/src/translator/TranslateSwe.gf b/lib/src/translator/TranslateSwe.gf index ec02ead65..cd7823cf6 100644 --- a/lib/src/translator/TranslateSwe.gf +++ b/lib/src/translator/TranslateSwe.gf @@ -11,8 +11,7 @@ concrete TranslateSwe of Translate = ConjunctionSwe, VerbSwe - [ UseCopula, --- SlashV2V, PassV2, ComplVV, -- generalized in Extensions - SlashV2VNP, SlashVV, AdVVPSlash,AdvVPSlash,VPSlashPrep ----- + SlashV2V, PassV2, ComplVV -- generalized in Extensions ], AdverbSwe, PhraseSwe, @@ -29,7 +28,7 @@ concrete TranslateSwe of Translate = ChunkSwe, ExtensionsSwe - [ - VPI,VPS,PredFrontVQ,PredFrontVS,SlashSlashV2V,SlashV2V,SlashVPIV2V,ComplVV,PassVPSlash,PassAgentVPSlash + VPI,VPS ], DictionarySwe ** open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in {