mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Chunking and other robust translation facilities in plain RGL
This commit is contained in:
67
lib/src/chunk/ChunkBul.gf
Normal file
67
lib/src/chunk/ChunkBul.gf
Normal file
@@ -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 ;
|
||||
|
||||
}
|
||||
51
lib/src/chunk/ChunkChi.gf
Normal file
51
lib/src/chunk/ChunkChi.gf
Normal file
@@ -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 ++ "了") ;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -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 []) ;
|
||||
|
||||
|
||||
37
lib/src/chunk/ChunkFin.gf
Normal file
37
lib/src/chunk/ChunkFin.gf
Normal file
@@ -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" ;
|
||||
|
||||
}
|
||||
52
lib/src/chunk/ChunkFre.gf
Normal file
52
lib/src/chunk/ChunkFre.gf
Normal file
@@ -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 S {s = s.s ! {g = Masc ; n = Sg}} : S> ;
|
||||
|
||||
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 "-" ;
|
||||
|
||||
}
|
||||
37
lib/src/chunk/ChunkGer.gf
Normal file
37
lib/src/chunk/ChunkGer.gf
Normal file
@@ -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" ;
|
||||
|
||||
}
|
||||
46
lib/src/chunk/ChunkHin.gf
Normal file
46
lib/src/chunk/ChunkHin.gf
Normal file
@@ -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 " नहीं " ;
|
||||
|
||||
}
|
||||
52
lib/src/chunk/ChunkIta.gf
Normal file
52
lib/src/chunk/ChunkIta.gf
Normal file
@@ -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 S {s = s.s ! {g = Masc ; n = Sg}} : S> ;
|
||||
|
||||
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 "-" ;
|
||||
|
||||
}
|
||||
52
lib/src/chunk/ChunkSpa.gf
Normal file
52
lib/src/chunk/ChunkSpa.gf
Normal file
@@ -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 S {s = s.s ! {g = Masc ; n = Sg}} : S> ;
|
||||
|
||||
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 "-" ;
|
||||
|
||||
}
|
||||
@@ -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 []) ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user