forked from GitHub/gf-core
copied examples/app to examples/slowApp; the new app is a bit scaled down but much faster
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
|
||||
|
||||
abstract App =
|
||||
Translate - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -28,10 +32,14 @@ fun
|
||||
PhrasePhr : Phrase -> Phr ;
|
||||
Phrase_Chunk : Phrase -> Chunk ;
|
||||
|
||||
ComplV2 : V2 -> NP -> VP ;
|
||||
|
||||
{-
|
||||
ComplV2V : V2V -> NP -> VP -> VP ;
|
||||
ComplV2A : V2A -> NP -> AP -> VP ;
|
||||
ComplV2Q : V2Q -> NP -> QS -> VP ;
|
||||
ComplV2S : V2S -> NP -> S -> VP ;
|
||||
ComplV3 : V3 -> NP -> NP -> VP ;
|
||||
-}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppBul of App =
|
||||
|
||||
TranslateBul - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -44,4 +46,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -5,11 +5,13 @@ concrete AppCat of App =
|
||||
|
||||
TranslateCat - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -44,4 +46,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppChi of App =
|
||||
|
||||
TranslateChi - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -45,4 +47,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppDut of App =
|
||||
|
||||
TranslateDut - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -43,4 +45,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppEng of App =
|
||||
|
||||
TranslateEng - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -42,4 +44,7 @@ lin
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppFin of App =
|
||||
|
||||
TranslateFin - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -43,4 +45,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppFre of App =
|
||||
|
||||
TranslateFre - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -20,8 +21,6 @@ concrete AppFre of App =
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
|
||||
,PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, closed_A]
|
||||
|
||||
** open ParadigmsFre, SyntaxFre, Prelude in {
|
||||
@@ -37,11 +36,16 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
{-
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
-}
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
BIN
examples/app/AppFre.pgf
Normal file
BIN
examples/app/AppFre.pgf
Normal file
Binary file not shown.
@@ -4,11 +4,13 @@ concrete AppGer of App =
|
||||
|
||||
TranslateGer - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -43,4 +45,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppHin of App =
|
||||
|
||||
TranslateHin - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -43,4 +45,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppIta of App =
|
||||
|
||||
TranslateIta - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -42,4 +44,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppJpn of App =
|
||||
|
||||
TranslateJpn - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -45,4 +47,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -5,11 +5,13 @@ concrete AppSpa of App =
|
||||
|
||||
TranslateSpa - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -44,4 +46,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
concrete AppSwe of App =
|
||||
TranslateSwe - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -42,4 +44,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ concrete AppTha of App =
|
||||
|
||||
TranslateTha - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
|
||||
SlashV2V,
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
SlashVP, SlashVS,
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
@@ -45,4 +47,7 @@ ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2 v np = mkVP v np ;
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ GFMKT=mkdir -p $(GFODIR) && gf $S -make -literal=PN,Symb -probs=$(PROBSFILE) -gf
|
||||
APP11=AppEng.pgf AppBul.pgf AppChi.pgf AppGer.pgf AppSwe.pgf AppHin.pgf AppFin.pgf AppFre.pgf AppIta.pgf AppSpa.pgf AppDut.pgf
|
||||
APP12=$(APP11) AppCat.pgf
|
||||
APP13=$(APP12) AppJpn.pgf
|
||||
APP14=$(APP13) AppTha.pgf AppFreInput.pgf
|
||||
APP14=$(APP13) AppTha.pgf
|
||||
|
||||
# With dependencies:
|
||||
App11.pgf: $(APP11)
|
||||
@@ -46,7 +46,6 @@ AppFin.pgf:: ; $(GFMKT) -name=AppFin AppFin.gf +RTS -K64M
|
||||
AppGer.pgf:: ; $(GFMKT) -name=AppGer AppGer.gf +RTS -K64M
|
||||
AppHin.pgf:: ; $(GFMKT) -name=AppHin AppHin.gf
|
||||
AppFre.pgf:: ; $(GFMKT) -name=AppFre AppFre.gf +RTS -K64M
|
||||
AppFreInput.pgf:: ; $(GFMKT) -name=AppFreInput AppFreInput.gf +RTS -K64M
|
||||
AppIta.pgf:: ; $(GFMKT) -name=AppIta AppIta.gf +RTS -K64M
|
||||
AppJpn.pgf:: ; $(GFMKT) -name=AppJpn AppJpn.gf +RTS -K64M
|
||||
AppSpa.pgf:: ; $(GFMKT) -name=AppSpa AppSpa.gf +RTS -K64M
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-- update the import list of every language
|
||||
-- although possibly some extra definitions at the end
|
||||
-- the new files are produced in ./tmp/
|
||||
-- the new files are produced in ./tmp/ which has to be created first
|
||||
-- usage: runghc MkApp.hs
|
||||
|
||||
langs = words "Bul Cat Chi Dut Eng Fin Fre Ger Hin Ita Spa Swe"
|
||||
langs = words "Bul Cat Chi Dut Eng Fin Fre Ger Hin Ita Jpn Spa Swe Tha"
|
||||
appCnc lang = "App" ++ lang ++ ".gf"
|
||||
|
||||
appAbs = "App.gf"
|
||||
@@ -26,10 +26,6 @@ extraLines = -- [] -- default: no extra
|
||||
|
||||
[
|
||||
"",
|
||||
"ComplV2V v np vp = mkVP v np vp ;",
|
||||
"ComplV2A v np vp = mkVP v np vp ;",
|
||||
"ComplV2Q v np vp = mkVP v np vp ;",
|
||||
"ComplV2S v np vp = mkVP v np vp ;",
|
||||
"ComplV3 v np vp = mkVP v np vp ;",
|
||||
"ComplV2 v np = mkVP v np ;",
|
||||
""
|
||||
]
|
||||
@@ -58,7 +58,7 @@ ComplVPIVV 1.629348323337908e-4
|
||||
ComplVQ 3.3840311330864245e-4
|
||||
ComplVS 0.10664084776246609
|
||||
ComplVV 6.258577578913727e-2
|
||||
CompoundN 0.10736547702286556
|
||||
CompoundN 0.010736547702286556
|
||||
ConjAP 2.1189670416781e-3
|
||||
ConjAdV 9.744689144416293e-5
|
||||
ConjAdv 1.0922898208991453e-3
|
||||
|
||||
4
examples/app/fre.tmp
Normal file
4
examples/app/fre.tmp
Normal file
@@ -0,0 +1,4 @@
|
||||
je suis ici
|
||||
ma femme est allée a Nice
|
||||
où est la voiture
|
||||
personne ne vous aime
|
||||
37
examples/slowApp/App.gf
Normal file
37
examples/slowApp/App.gf
Normal file
@@ -0,0 +1,37 @@
|
||||
abstract App =
|
||||
Translate - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
,Phrasebook
|
||||
|
||||
** {
|
||||
flags
|
||||
startcat=Phr ;
|
||||
heuristic_search_factor=0.80; -- doesn't seem to affect speed or quality much
|
||||
|
||||
fun
|
||||
PhrasePhr : Phrase -> Phr ;
|
||||
Phrase_Chunk : Phrase -> Chunk ;
|
||||
|
||||
ComplV2V : V2V -> NP -> VP -> VP ;
|
||||
ComplV2A : V2A -> NP -> AP -> VP ;
|
||||
ComplV2Q : V2Q -> NP -> QS -> VP ;
|
||||
ComplV2S : V2S -> NP -> S -> VP ;
|
||||
ComplV3 : V3 -> NP -> NP -> VP ;
|
||||
|
||||
}
|
||||
47
examples/slowApp/AppBul.gf
Normal file
47
examples/slowApp/AppBul.gf
Normal file
@@ -0,0 +1,47 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppBul of App =
|
||||
|
||||
TranslateBul - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookBul - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A]
|
||||
|
||||
** open ParadigmsBul, SyntaxBul, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
47
examples/slowApp/AppCat.gf
Normal file
47
examples/slowApp/AppCat.gf
Normal file
@@ -0,0 +1,47 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
|
||||
concrete AppCat of App =
|
||||
|
||||
TranslateCat - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookCat - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, cheap_A,expensive_A, open_A, closed_A]
|
||||
|
||||
** open ParadigmsCat, SyntaxCat, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
48
examples/slowApp/AppChi.gf
Normal file
48
examples/slowApp/AppChi.gf
Normal file
@@ -0,0 +1,48 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppChi of App =
|
||||
|
||||
TranslateChi - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookChi - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A, at_Prep, by_Prep]
|
||||
|
||||
** open ParadigmsChi, SyntaxChi, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
46
examples/slowApp/AppDut.gf
Normal file
46
examples/slowApp/AppDut.gf
Normal file
@@ -0,0 +1,46 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppDut of App =
|
||||
|
||||
TranslateDut - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookDut - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A]
|
||||
|
||||
** open ParadigmsDut, SyntaxDut, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
45
examples/slowApp/AppEng.gf
Normal file
45
examples/slowApp/AppEng.gf
Normal file
@@ -0,0 +1,45 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppEng of App =
|
||||
|
||||
TranslateEng - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookEng - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv]
|
||||
|
||||
** open MorphoEng, ResEng, ParadigmsEng, SyntaxEng, (G = GrammarEng), (E = ExtraEng), Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
46
examples/slowApp/AppFin.gf
Normal file
46
examples/slowApp/AppFin.gf
Normal file
@@ -0,0 +1,46 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/finnish/stemmed:../../lib/src/finnish:../../lib/src/api:../../lib/src/translator:../phrasebook/gfos:alltenses
|
||||
|
||||
concrete AppFin of App =
|
||||
|
||||
TranslateFin - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookFin - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, open_Adv]
|
||||
|
||||
** open ParadigmsFin, SyntaxFin, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
47
examples/slowApp/AppFre.gf
Normal file
47
examples/slowApp/AppFre.gf
Normal file
@@ -0,0 +1,47 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppFre of App =
|
||||
|
||||
TranslateFre - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
|
||||
,PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, closed_A]
|
||||
|
||||
** open ParadigmsFre, SyntaxFre, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
46
examples/slowApp/AppGer.gf
Normal file
46
examples/slowApp/AppGer.gf
Normal file
@@ -0,0 +1,46 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos:alltenses::../../lib/src/german
|
||||
|
||||
concrete AppGer of App =
|
||||
|
||||
TranslateGer - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookGer - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A]
|
||||
|
||||
** open ParadigmsGer, SyntaxGer, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
46
examples/slowApp/AppHin.gf
Normal file
46
examples/slowApp/AppHin.gf
Normal file
@@ -0,0 +1,46 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppHin of App =
|
||||
|
||||
TranslateHin - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
,PhrasebookHin - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A]
|
||||
|
||||
** open ParadigmsHin, SyntaxHin, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
45
examples/slowApp/AppIta.gf
Normal file
45
examples/slowApp/AppIta.gf
Normal file
@@ -0,0 +1,45 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppIta of App =
|
||||
|
||||
TranslateIta - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookIta - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, closed_A]
|
||||
|
||||
** open ParadigmsIta, SyntaxIta, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
48
examples/slowApp/AppJpn.gf
Normal file
48
examples/slowApp/AppJpn.gf
Normal file
@@ -0,0 +1,48 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppJpn of App =
|
||||
|
||||
TranslateJpn - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookJpn ---- - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A, at_Prep, by_Prep]
|
||||
|
||||
** open ParadigmsJpn, SyntaxJpn, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
---- PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
---- PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
---- GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
47
examples/slowApp/AppSpa.gf
Normal file
47
examples/slowApp/AppSpa.gf
Normal file
@@ -0,0 +1,47 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
|
||||
concrete AppSpa of App =
|
||||
|
||||
TranslateSpa - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookSpa - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, cheap_A,expensive_A, open_A, closed_A]
|
||||
|
||||
** open ParadigmsSpa, SyntaxSpa, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
45
examples/slowApp/AppSwe.gf
Normal file
45
examples/slowApp/AppSwe.gf
Normal file
@@ -0,0 +1,45 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppSwe of App =
|
||||
TranslateSwe - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookSwe - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A]
|
||||
|
||||
** open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
GObjectPlease o = lin Text (mkUtt o) ;
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
48
examples/slowApp/AppTha.gf
Normal file
48
examples/slowApp/AppTha.gf
Normal file
@@ -0,0 +1,48 @@
|
||||
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
|
||||
|
||||
concrete AppTha of App =
|
||||
|
||||
TranslateTha - [
|
||||
-- Verb
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
-- Sentence
|
||||
PredSCVP,
|
||||
AdvSlash, SlashPrep, SlashVS,
|
||||
EmbedS, EmbedQS, EmbedVP, RelS,
|
||||
-- Question
|
||||
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
|
||||
-- Idiom
|
||||
CleftNP, CleftAdv,
|
||||
ImpP3
|
||||
-- Construction
|
||||
-- Extensions
|
||||
]
|
||||
|
||||
,PhrasebookTha - [at_Prep, closed_A, open_A] --- - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A, at_Prep, by_Prep]
|
||||
|
||||
** open ParadigmsTha, SyntaxTha, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
|
||||
|
||||
-- to suppress punctuation
|
||||
lin
|
||||
---- PSentence, PQuestion = \s -> lin Text (mkUtt s) ;
|
||||
---- PGreetingMale, PGreetingFemale = \s -> lin Text s ;
|
||||
---- GObjectPlease o = lin Text (mkUtt o) ;
|
||||
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
59
examples/slowApp/Makefile
Normal file
59
examples/slowApp/Makefile
Normal file
@@ -0,0 +1,59 @@
|
||||
all: Phrasebook App12.pgf
|
||||
|
||||
PROBSFILE=./app.probs
|
||||
GFODIR=./gfos
|
||||
|
||||
.Phony: Phrasebook
|
||||
|
||||
Phrasebook:
|
||||
cd ../phrasebook ; make forApp ; cd ../app
|
||||
|
||||
S=-s
|
||||
GFMKT=mkdir -p $(GFODIR) && gf $S -make -literal=PN,Symb -probs=$(PROBSFILE) -gfo-dir $(GFODIR)
|
||||
|
||||
APP11=AppEng.pgf AppBul.pgf AppChi.pgf AppGer.pgf AppSwe.pgf AppHin.pgf AppFin.pgf AppFre.pgf AppIta.pgf AppSpa.pgf AppDut.pgf
|
||||
APP12=$(APP11) AppCat.pgf
|
||||
APP13=$(APP12) AppJpn.pgf
|
||||
APP14=$(APP13) AppTha.pgf
|
||||
|
||||
# With dependencies:
|
||||
App11.pgf: $(APP11)
|
||||
$(GFMKT) -name=App11 $(APP11) +RTS -K200M
|
||||
App12.pgf: $(APP12)
|
||||
$(GFMKT) -name=App12 $(APP12) +RTS -K200M
|
||||
App13.pgf: $(APP13)
|
||||
$(GFMKT) -name=App13 $(APP13) +RTS -K200M
|
||||
App14.pgf: $(APP14)
|
||||
$(GFMKT) -name=App14 $(APP14) +RTS -K200M
|
||||
|
||||
# Without dependencies:
|
||||
App11:
|
||||
$(GFMKT) -name=App12 $(APP11) +RTS -K200M
|
||||
App12:
|
||||
$(GFMKT) -name=App12 $(APP12) +RTS -K200M
|
||||
App13:
|
||||
$(GFMKT) -name=App13 $(APP13) +RTS -K200M
|
||||
App14:
|
||||
$(GFMKT) -name=App14 $(APP14) +RTS -K200M
|
||||
|
||||
# App grammars for individual languages
|
||||
AppEng.pgf:: ; $(GFMKT) -name=AppEng AppEng.gf
|
||||
AppBul.pgf:: ; $(GFMKT) -name=AppBul AppBul.gf
|
||||
AppCat.pgf:: ; $(GFMKT) -name=AppCat AppCat.gf +RTS -K100M
|
||||
AppChi.pgf:: ; $(GFMKT) -name=AppChi AppChi.gf +RTS -K100M
|
||||
AppDut.pgf:: ; $(GFMKT) -name=AppDut AppDut.gf +RTS -K64M
|
||||
AppFin.pgf:: ; $(GFMKT) -name=AppFin AppFin.gf +RTS -K64M
|
||||
AppGer.pgf:: ; $(GFMKT) -name=AppGer AppGer.gf +RTS -K64M
|
||||
AppHin.pgf:: ; $(GFMKT) -name=AppHin AppHin.gf
|
||||
AppFre.pgf:: ; $(GFMKT) -name=AppFre AppFre.gf +RTS -K64M
|
||||
AppIta.pgf:: ; $(GFMKT) -name=AppIta AppIta.gf +RTS -K64M
|
||||
AppJpn.pgf:: ; $(GFMKT) -name=AppJpn AppJpn.gf +RTS -K64M
|
||||
AppSpa.pgf:: ; $(GFMKT) -name=AppSpa AppSpa.gf +RTS -K64M
|
||||
AppSwe.pgf:: ; $(GFMKT) -name=AppSwe AppSwe.gf
|
||||
AppTha.pgf:: ; $(GFMKT) -name=AppTha AppTha.gf
|
||||
|
||||
# language pairs to test
|
||||
AppEngSwe: ; $(GFMKT) -name=AppEngSwe AppEng.pgf AppSwe.pgf
|
||||
AppEngFin: ; $(GFMKT) -name=AppEngFin AppEng.pgf AppFin.pgf
|
||||
AppEngChi: ; $(GFMKT) -name=AppEngChi AppEng.pgf AppChi.pgf
|
||||
|
||||
35
examples/slowApp/MkApp.hs
Normal file
35
examples/slowApp/MkApp.hs
Normal file
@@ -0,0 +1,35 @@
|
||||
-- update the import list of every language
|
||||
-- although possibly some extra definitions at the end
|
||||
-- the new files are produced in ./tmp/
|
||||
-- usage: runghc MkApp.hs
|
||||
|
||||
langs = words "Bul Cat Chi Dut Eng Fin Fre Ger Hin Ita Spa Swe"
|
||||
appCnc lang = "App" ++ lang ++ ".gf"
|
||||
|
||||
appAbs = "App.gf"
|
||||
|
||||
main = do
|
||||
imports <- readFile appAbs >>= return . getImports
|
||||
mapM_ (\f -> readFile f >>= writeFile ("tmp/" ++ f) . (putImports imports)) (map appCnc langs)
|
||||
|
||||
getImports = takeWhile (/= ']') . tail . dropWhile (/='[')
|
||||
|
||||
putImports i s =
|
||||
let
|
||||
(s1,_:s2) = span (/='[') s
|
||||
(_, s3) = span (/=']') s2
|
||||
in s1 ++ "[" ++ i ++ extra s3
|
||||
|
||||
extra s = unlines (init (lines s) ++ extraLines ++ ["}"])
|
||||
|
||||
extraLines = -- [] -- default: no extra
|
||||
|
||||
[
|
||||
"",
|
||||
"ComplV2V v np vp = mkVP v np vp ;",
|
||||
"ComplV2A v np vp = mkVP v np vp ;",
|
||||
"ComplV2Q v np vp = mkVP v np vp ;",
|
||||
"ComplV2S v np vp = mkVP v np vp ;",
|
||||
"ComplV3 v np vp = mkVP v np vp ;",
|
||||
""
|
||||
]
|
||||
65156
examples/slowApp/app.probs
Normal file
65156
examples/slowApp/app.probs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -35257,7 +35257,7 @@ lin nuncio_N = mkWN "apostolinen" "nuntius" ; --UNCHK
|
||||
lin nuneaton_PN = foreignPN "Nuneaton" ;
|
||||
lin nunnery_N = mkWN (k6 "luostari") ; --UNCHK
|
||||
lin nuptial_A = mkWA (k38 "aviollinen") ; --UNCHK
|
||||
lin nurse_N = mkWN (k10 "imettäjä") ; --UNCHK
|
||||
lin nurse_N = mkN "sairaanhoitaja" "sairaanhoitajia" ;
|
||||
lin nurse_V2 = mkWV2 (k53A "hoitaa") ; --UNCHK
|
||||
lin nurseling_N = mkWN (k38 "imeväinen") ; --UNCHK
|
||||
lin nursemaid_N = mkWN (k10 "imettäjä") ; --UNCHK
|
||||
|
||||
@@ -29,7 +29,7 @@ public class Translator {
|
||||
new Language("nl-NL", "Dutch", "AppDut", R.xml.qwerty),
|
||||
new Language("en-US", "English", "AppEng", R.xml.qwerty),
|
||||
new Language("fi-FI", "Finnish", "AppFin", R.xml.nordic),
|
||||
new Language("fr-FR", "French", "AppFre", R.xml.qwerty),
|
||||
new Language("fr-FR", "French", "AppFre", R.xml.qwerty), ////
|
||||
new Language("de-DE", "German", "AppGer", R.xml.qwerty),
|
||||
new Language("hi-IN", "Hindi", "AppHin", R.xml.devanagari_page1, R.xml.devanagari_page2),
|
||||
new Language("it-IT", "Italian", "AppIta", R.xml.qwerty),
|
||||
|
||||
Reference in New Issue
Block a user