forked from GitHub/gf-core
Translate grammar for Ger and Hin added. Some functions in Ger phrasebook need to be commented out to compile. Now a system for 7 languages can be built, but including Fre as well is too heavy on my laptop although it can be compiled separately.
This commit is contained in:
@@ -4,24 +4,33 @@ GF=gf +RTS -K200M -RTS -make
|
|||||||
|
|
||||||
all: TranslateEng TranslateBul TranslateFre TranslateBulEngFre
|
all: TranslateEng TranslateBul TranslateFre TranslateBulEngFre
|
||||||
|
|
||||||
TranslateEng:
|
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEng TranslateEng.gf
|
|
||||||
|
|
||||||
TranslateBul:
|
TranslateBul:
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateBul TranslateBul.gf
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateBul TranslateBul.gf
|
||||||
|
|
||||||
TranslateChi:
|
TranslateChi:
|
||||||
$(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateChi TranslateChi.gf
|
$(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateChi TranslateChi.gf
|
||||||
|
|
||||||
|
TranslateEng:
|
||||||
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEng TranslateEng.gf
|
||||||
|
|
||||||
TranslateFin:
|
TranslateFin:
|
||||||
$(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateFin TranslateFin.gf
|
$(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateFin TranslateFin.gf
|
||||||
|
|
||||||
TranslateFre:
|
TranslateFre:
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateFre TranslateFre.gf
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateFre TranslateFre.gf
|
||||||
|
|
||||||
|
TranslateGer:
|
||||||
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateGer TranslateGer.gf
|
||||||
|
|
||||||
|
TranslateHin:
|
||||||
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateHin TranslateHin.gf
|
||||||
|
|
||||||
TranslateSwe:
|
TranslateSwe:
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateSwe TranslateSwe.gf
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateSwe TranslateSwe.gf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TranslateEngBul:
|
TranslateEngBul:
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngBul TranslateEng.pgf TranslateBul.pgf
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngBul TranslateEng.pgf TranslateBul.pgf
|
||||||
|
|
||||||
@@ -40,3 +49,7 @@ TranslateEngSwe:
|
|||||||
TranslateBulEngFre:
|
TranslateBulEngFre:
|
||||||
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateBulEngFre TranslateBul.pgf TranslateEng.pgf TranslateFre.pgf
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateBulEngFre TranslateBul.pgf TranslateEng.pgf TranslateFre.pgf
|
||||||
|
|
||||||
|
Translate7:
|
||||||
|
$(GF) -literal=Symb -probs=$(PROBSFILE) -name=Translate7 TranslateEng.pgf TranslateChi.pgf TranslateFin.pgf TranslateSwe.pgf TranslateBul.pgf TranslateGer.pgf TranslateHin.pgf
|
||||||
|
# adding TranslateFre too heavy so far
|
||||||
|
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ fun
|
|||||||
NP_Object : NP -> Object ;
|
NP_Object : NP -> Object ;
|
||||||
NP_Item : NP -> Item ;
|
NP_Item : NP -> Item ;
|
||||||
NP_Place : NP -> Place ;
|
NP_Place : NP -> Place ;
|
||||||
|
NP_Name : NP -> Name ;
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,7 @@ lin
|
|||||||
NP_Item np = lin NP np ;
|
NP_Item np = lin NP np ;
|
||||||
NP_Place np0 = let np = lin NP np0 in
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
{name = np ; at = SyntaxChi.mkAdv in_Prep np ; to = SyntaxChi.mkAdv to_Prep np} ;
|
{name = np ; at = SyntaxChi.mkAdv in_Prep np ; to = SyntaxChi.mkAdv to_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ lin
|
|||||||
NP_Item np = lin NP np ;
|
NP_Item np = lin NP np ;
|
||||||
NP_Place np0 = let np = lin NP np0 in
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
{name = np ; at = SyntaxEng.mkAdv in_Prep np ; to = SyntaxEng.mkAdv to_Prep np} ;
|
{name = np ; at = SyntaxEng.mkAdv in_Prep np ; to = SyntaxEng.mkAdv to_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ lin
|
|||||||
NP_Place np0 = let np = lin NP np0 in
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
{name = np ; at = SyntaxFin.mkAdv in_Prep np ;
|
{name = np ; at = SyntaxFin.mkAdv in_Prep np ;
|
||||||
to = SyntaxFin.mkAdv to_Prep np ; from = SyntaxFin.mkAdv from_Prep np} ;
|
to = SyntaxFin.mkAdv to_Prep np ; from = SyntaxFin.mkAdv from_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
|||||||
27
examples/translator/TranslateGer.gf
Normal file
27
examples/translator/TranslateGer.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
--# -path=.:alltenses:../phrasebook:../../lib/src/english:../../lib/src/german
|
||||||
|
|
||||||
|
concrete TranslateGer of Translate =
|
||||||
|
ParseGer - [open_A],
|
||||||
|
PhrasebookGer - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
|
||||||
|
** open SyntaxGer, ParadigmsGer, (E = ExtraGer), Prelude in {
|
||||||
|
|
||||||
|
flags
|
||||||
|
literal = Symb ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
PPhr p = lin Text p ;
|
||||||
|
NP_Person np = {name = lin NP np ; isPron = False ; poss = mkQuant he_Pron} ;
|
||||||
|
NP_Object np = lin NP np ;
|
||||||
|
NP_Item np = lin NP np ;
|
||||||
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
|
{name = np ; at = SyntaxGer.mkAdv in_Prep np ; to = SyntaxGer.mkAdv to_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
PSentence s = lin Text (mkUtt s) ;
|
||||||
|
PQuestion s = lin Text (mkUtt s) ;
|
||||||
|
PGreetingMale, PGreetingFemale = \g -> lin Text g ;
|
||||||
|
GObjectPlease o = lin Text (mkUtt o) ;
|
||||||
|
|
||||||
|
}
|
||||||
26
examples/translator/TranslateHin.gf
Normal file
26
examples/translator/TranslateHin.gf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
--# -path=.:../phrasebook:../../lib/src/english:../../lib/src/abstract:../../lib/src/hindi:../../lib/src/hindustani
|
||||||
|
|
||||||
|
concrete TranslateHin of Translate =
|
||||||
|
ParseHin,
|
||||||
|
PhrasebookHin - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
|
||||||
|
** open SyntaxHin, (E = ExtraHin), Prelude in {
|
||||||
|
|
||||||
|
flags
|
||||||
|
literal = Symb ;
|
||||||
|
lin
|
||||||
|
PPhr p = lin Text p ;
|
||||||
|
NP_Person np = {name = lin NP np ; isPron = False ; poss = E.GenNP np} ;
|
||||||
|
NP_Object np = lin NP np ;
|
||||||
|
NP_Item np = lin NP np ;
|
||||||
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
|
{name = np ; at = SyntaxHin.mkAdv in_Prep np ; to = SyntaxHin.mkAdv to_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
PSentence s = lin Text (mkUtt s) ;
|
||||||
|
PQuestion s = lin Text (mkUtt s) ;
|
||||||
|
PGreetingMale, PGreetingFemale = \g -> lin Text g ;
|
||||||
|
GObjectPlease o = lin Text (mkUtt o) ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@ lin
|
|||||||
NP_Item np = lin NP np ;
|
NP_Item np = lin NP np ;
|
||||||
NP_Place np0 = let np = lin NP np0 in
|
NP_Place np0 = let np = lin NP np0 in
|
||||||
{name = np ; at = SyntaxSwe.mkAdv in_Prep np ; to = SyntaxSwe.mkAdv to_Prep np} ;
|
{name = np ; at = SyntaxSwe.mkAdv in_Prep np ; to = SyntaxSwe.mkAdv to_Prep np} ;
|
||||||
|
NP_Name np = lin NP np ;
|
||||||
|
|
||||||
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user