summaryrefslogtreecommitdiff
path: root/examples/translator
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2015-07-20 14:32:50 +0000
committeraarne <aarne@chalmers.se>2015-07-20 14:32:50 +0000
commitdb23eec58eb948e56da9b332eb682f100bc22edb (patch)
tree0d803740f0fa7527a258a28492045bdf4e0fd02d /examples/translator
parent400195b30768c9812051d13646218a598c894df0 (diff)
removed the obsolete examples/translator directory, which caused confusion
Diffstat (limited to 'examples/translator')
-rw-r--r--examples/translator/App.gf17
-rw-r--r--examples/translator/AppChi.gf20
-rw-r--r--examples/translator/AppEng.gf19
-rw-r--r--examples/translator/AppFin.gf18
-rw-r--r--examples/translator/AppFre.gf18
-rw-r--r--examples/translator/AppIta.gf18
-rw-r--r--examples/translator/AppSwe.gf18
-rw-r--r--examples/translator/Makefile55
-rw-r--r--examples/translator/SmallNDPredFunctor.gf230
-rw-r--r--examples/translator/SmallPred.gf206
-rw-r--r--examples/translator/SmallPredChi.gf222
-rw-r--r--examples/translator/SmallPredEng.gf234
-rw-r--r--examples/translator/SmallPredFin.gf241
-rw-r--r--examples/translator/SmallPredFre.gf249
-rw-r--r--examples/translator/SmallPredIta.gf249
-rw-r--r--examples/translator/SmallPredSwe.gf234
-rw-r--r--examples/translator/Translate.gf16
-rw-r--r--examples/translator/TranslateBul.gf26
-rw-r--r--examples/translator/TranslateChi.gf27
-rw-r--r--examples/translator/TranslateEng.gf26
-rw-r--r--examples/translator/TranslateFin.gf29
-rw-r--r--examples/translator/TranslateFre.gf26
-rw-r--r--examples/translator/TranslateGer.gf27
-rw-r--r--examples/translator/TranslateHin.gf26
-rw-r--r--examples/translator/TranslateSwe.gf27
25 files changed, 0 insertions, 2278 deletions
diff --git a/examples/translator/App.gf b/examples/translator/App.gf
deleted file mode 100644
index e53f335c9..000000000
--- a/examples/translator/App.gf
+++ /dev/null
@@ -1,17 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-abstract App =
- SmallPred
- , Extensions [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , Documentation - [Pol,Tense]
- , Dictionary - [Pol,Tense]
-
- , Phrasebook
- ** {
-flags
- startcat=Phr ;
-
-fun
- PhrasePhr : Phrase -> Phr ;
-
-}
diff --git a/examples/translator/AppChi.gf b/examples/translator/AppChi.gf
deleted file mode 100644
index 66c55fce5..000000000
--- a/examples/translator/AppChi.gf
+++ /dev/null
@@ -1,20 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-concrete AppChi of App =
- SmallPredChi
- , ExtensionsChi [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationChi - [Pol,Tense,Ant]
- , DictionaryChi - [Pol,Tense,Ant]
- , PhrasebookChi - [Ant,Pol,Tense,at_Prep]
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-}
-
-
diff --git a/examples/translator/AppEng.gf b/examples/translator/AppEng.gf
deleted file mode 100644
index 50f1d83c3..000000000
--- a/examples/translator/AppEng.gf
+++ /dev/null
@@ -1,19 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-concrete AppEng of App =
- SmallPredEng
- , ExtensionsEng [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationEng - [Pol,Tense]
- , DictionaryEng - [Pol,Tense]
-
- , PhrasebookEng
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-} \ No newline at end of file
diff --git a/examples/translator/AppFin.gf b/examples/translator/AppFin.gf
deleted file mode 100644
index 343d0d11d..000000000
--- a/examples/translator/AppFin.gf
+++ /dev/null
@@ -1,18 +0,0 @@
---# -path=.:../finnish/stemmed:../finnish:../api:../translator:../../../examples/phrasebook:alltenses
-
-concrete AppFin of App =
- SmallPredFin
- , ExtensionsFin [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationFin - [Pol,Tense]
- , DictionaryFin - [Pol,Tense]
- , PhrasebookFin - [open_A]
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-} \ No newline at end of file
diff --git a/examples/translator/AppFre.gf b/examples/translator/AppFre.gf
deleted file mode 100644
index 1bcb817fa..000000000
--- a/examples/translator/AppFre.gf
+++ /dev/null
@@ -1,18 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-concrete AppFre of App =
- SmallPredFre
- , ExtensionsFre [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationFre
- , DictionaryFre
- , PhrasebookFre - [open_A]
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-} \ No newline at end of file
diff --git a/examples/translator/AppIta.gf b/examples/translator/AppIta.gf
deleted file mode 100644
index 2a7d3715b..000000000
--- a/examples/translator/AppIta.gf
+++ /dev/null
@@ -1,18 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-concrete AppIta of App =
- SmallPredIta
- , ExtensionsIta [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationIta
- , DictionaryIta
- , PhrasebookIta - [open_A]
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-} \ No newline at end of file
diff --git a/examples/translator/AppSwe.gf b/examples/translator/AppSwe.gf
deleted file mode 100644
index 7bab66ef9..000000000
--- a/examples/translator/AppSwe.gf
+++ /dev/null
@@ -1,18 +0,0 @@
---# -path=.:../translator:../../../examples/phrasebook
-
-concrete AppSwe of App =
- SmallPredSwe
- , ExtensionsSwe [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
- , DocumentationSwe - [Pol,Tense]
- , DictionarySwe - [Pol,Tense]
- , PhrasebookSwe - [open_A]
-
- ** {
-
-flags
- literal = Symb ;
-
-lin
- PhrasePhr p = {s = "+" ++ p.s} | p ;
-
-} \ No newline at end of file
diff --git a/examples/translator/Makefile b/examples/translator/Makefile
deleted file mode 100644
index bbd84b59f..000000000
--- a/examples/translator/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-PROBSFILE=../../treebanks/PennTreebank/ParseEngAbs.probs
-
-GF=gf +RTS -K200M -RTS -make
-
-all: TranslateEng TranslateBul TranslateFre TranslateBulEngFre
-
-TranslateBul:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateBul TranslateBul.gf
-
-TranslateChi:
- $(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateChi TranslateChi.gf
-
-TranslateEng:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEng TranslateEng.gf
-
-TranslateFin:
- $(GF) -s -literal=Symb -probs=$(PROBSFILE) -name=TranslateFin TranslateFin.gf
-
-TranslateFre:
- $(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:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateSwe TranslateSwe.gf
-
-
-
-
-TranslateEngBul:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngBul TranslateEng.pgf TranslateBul.pgf
-
-TranslateEngChi:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngChi TranslateEng.pgf TranslateChi.pgf
-
-TranslateEngChiFinSwe:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngChiFinSwe TranslateEng.pgf TranslateChi.pgf TranslateFin.pgf TranslateSwe.pgf
-
-TranslateEngFre:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngFre TranslateEng.pgf TranslateFre.pgf
-
-TranslateEngSwe:
- $(GF) -literal=Symb -probs=$(PROBSFILE) -name=TranslateEngSwe TranslateEng.pgf TranslateSwe.pgf
-
-TranslateBulEngFre:
- $(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
-
diff --git a/examples/translator/SmallNDPredFunctor.gf b/examples/translator/SmallNDPredFunctor.gf
deleted file mode 100644
index 144592933..000000000
--- a/examples/translator/SmallNDPredFunctor.gf
+++ /dev/null
@@ -1,230 +0,0 @@
-incomplete concrete NDPredFunctor of NDPred =
- Cat [Ant,NP,Utt,IP,IAdv,Conj,RS,RP,Subj] **
- open
- PredInterface,
- Pred,
- ParamX,
- Prelude
- in {
-
-------------------------------------
--- lincats
--------------------------------------
-
-lincat
- Tense = Pred.Tense ;
- Pol = Pred.Pol ;
-
- PrV_none, PrV_np, PrV_v, PrV_s, PrV_q, PrV_a, PrV_n,
- PrV_np_np, PrV_np_v, PrV_np_s, PrV_np_q, PrV_np_a, PrV_np_n = Pred.PrV ;
-
- PrVP_none, PrVP_np, PrVP_v, PrVP_s, PrVP_q, PrVP_a, PrVP_n,
- PrVP_np_np, PrVP_np_v, PrVP_np_s, PrVP_np_q, PrVP_np_a, PrVP_np_n = Pred.PrVP ;
-
- PrVPI_none, PrVPI_np = Pred.PrVPI ;
-
- PrCl_none, PrCl_np = Pred.PrCl ;
-
- PrQCl_none, PrQCl_np = Pred.PrQCl ;
-
- VPC_none, VPC_np = Pred.VPC ;
-
- ClC_none, ClC_np = Pred.ClC ;
-
- PrAdv_none, PrAdv_np = Pred.PrAdv ;
-
- PrS = Pred.PrS ;
-
- PrAP_none, PrAP_np = Pred.PrAP ;
-
- PrCN_none, PrCN_np = Pred.PrCN ;
-
--- reference linearizations for chunking
----- should be by functor as well
-
-linref
- PrVP_none, PrVP_np, PrVP_v, PrVP_s, PrVP_q, PrVP_a, PrVP_n,
- PrVP_np_np, PrVP_np_v, PrVP_np_s, PrVP_np_q, PrVP_np_a, PrVP_np_n
- = linrefPrVP ;
- PrCl_none, PrCl_np = linrefPrCl ;
- PrQCl_none, PrQCl_np = linrefPrQCl ;
- PrAdv_none, PrAdv_np = linrefPrAdv ;
----- PrAP_none, PrAP_np = \ap -> ap.s ! defaultAgr ++ ap.obj1 ! defaultAgr ;
----- PrCN_none, PrCN_np = \cn -> cn.s ! Sg ++ cn.obj1 ! defaultAgr ;
-
-----------------------------
---- linearization rules ----
-----------------------------
-
-lin
-
--- standard general
-
- TPres = Pred.TPres ;
- TPast = Pred.TPast ;
- TFut = Pred.TFut ;
- TCond = Pred.TCond ;
- ASimul = Pred.ASimul ;
- AAnter = Pred.AAnter ;
- PPos = Pred.PPos ;
- PNeg = Pred.PNeg ;
-
- UseV_none, UseV_np, UseV_v, UseV_s, UseV_q, UseV_a, UseV_n, UseV_np_np, UseV_np_v, UseV_np_s, UseV_np_q, UseV_np_a, UseV_np_n
- = Pred.UseV Pred.aNone ;
-{-
- PassUseV_none, PassUseV_np, PassUseV_v, PassUseV_s, PassUseV_q, PassUseV_a, PassUseV_n
- = Pred.PassUseV Pred.aNone ;
- AgentPassUseV_none, AgentPassUseV_np, AgentPassUseV_v, AgentPassUseV_s, AgentPassUseV_q, AgentPassUseV_a, AgentPassUseV_n
- = Pred.AgentPassUseV Pred.aNone ;
--}
- UseAP_none, UseAP_np
- = Pred.UseAP Pred.aNone ;
- UseCN_none, UseCN_np
- = Pred.UseCN Pred.aNone ;
- UseAdv_none, UseAdv_np
- = Pred.UseAdv Pred.aNone ;
- UseNP_none
- = Pred.UseNP ;
-{-
- UseS_none
- = Pred.UseS ;
- UseQ_none
- = Pred.UseQ ;
- UseVP_none
- = Pred.UseVP ;
--}
- ComplV2_none
- = Pred.ComplV2 Pred.aNone ;
-{-
- ComplVV_none, ComplVV_np
- = Pred.ComplVV Pred.aNone ;
- ComplVS_none, ComplVS_np
- = Pred.ComplVS Pred.aNone ;
- ComplVA_none
- = Pred.ComplVA Pred.aNone ;
- ComplVQ_none
- = Pred.ComplVQ Pred.aNone ;
- ComplVN_none
- = Pred.ComplVN Pred.aNone ;
-
- SlashV3_none
- = Pred.SlashV3 Pred.aNone ;
- SlashV2V_none, SlashV2V_np
- = Pred.SlashV2V Pred.aNone ;
- SlashV2S_none
- = Pred.SlashV2S Pred.aNone ;
- SlashV2Q_none
- = Pred.SlashV2Q Pred.aNone ;
- SlashV2A_none
- = Pred.SlashV2A Pred.aNone ;
- SlashV2N_none
- = Pred.SlashV2N Pred.aNone ;
-
- ReflVP_none, ReflVP_np, ReflVP_v, ReflVP_s, ReflVP_q, ReflVP_a, ReflVP_n
- = Pred.ReflVP Pred.aNone ;
- ReflVP2_np
- = Pred.ReflVP2 Pred.aNone ;
-
- InfVP_none, InfVP_np
- = Pred.InfVP Pred.aNone ;
--}
- PredVP_none, PredVP_np
- = Pred.PredVP Pred.aNone ;
-{-
- SlashClNP_none
- = Pred.SlashClNP Pred.aNone ;
--}
- QuestCl_none, QuestCl_np
- = Pred.QuestCl Pred.aNone ;
-
- QuestIAdv_none
- = Pred.QuestIAdv Pred.aNone ;
-
- QuestIComp_none
- = Pred.QuestIComp ;
-
- QuestVP_none
- = Pred.QuestVP Pred.aNone ;
-{-
- QuestSlash_none
- = Pred.QuestSlash Pred.aNone ;
-
- UseCl_none
- = Pred.UseCl ;
- UseQCl_none
- = Pred.UseQCl ;
-
- UseAdvCl_none
- = Pred.UseAdvCl ;
--}
- UttPrS
- = Pred.UttPrS ;
-
- AdvCl_none, AdvCl_np
- = Pred.AdvCl Pred.aNone ;
-{-
- AdvQCl_none, AdvQCl_np
- = Pred.AdvQCl Pred.aNone ;
-
----- RelCl_none
----- = Pred.RelCl Pred.aNone ;
- RelVP_none
- = Pred.RelVP ;
- RelSlash_none
- = Pred.RelSlash ;
-
- PrImpSg
- = Pred.PrImpSg ;
- PrImpPl
- = Pred.PrImpPl ;
-
- PresPartAP_none, PresPartAP_np
- = Pred.PresPartAP Pred.aNone ;
-
- PastPartAP_none
- = Pred.PastPartAP Pred.aNone ;
-
- AgentPastPartAP_none
- = Pred.AgentPastPartAP Pred.aNone ;
-
- NomVPNP_none
- = Pred.NomVPNP ;
-
- ByVP_none
- = Pred.ByVP Pred.aNone ;
- WhenVP_none
- = Pred.WhenVP Pred.aNone ;
- BeforeVP_none
- = Pred.BeforeVP Pred.aNone ;
- AfterVP_none
- = Pred.AfterVP Pred.aNone ;
- InOrderVP_none
- = Pred.InOrderVP Pred.aNone ;
- WithoutVP_none
- = Pred.WithoutVP Pred.aNone ;
-
- StartVPC_none, StartVPC_np
- = Pred.StartVPC Pred.aNone ;
- ContVPC_none, ContVPC_np
- = Pred.ContVPC Pred.aNone ;
- UseVPC_none, UseVPC_np
- = Pred.UseVPC Pred.aNone ;
-
- StartClC_none, StartClC_np
- = Pred.StartClC Pred.aNone ;
- ContClC_none, ContClC_np
- = Pred.ContClC Pred.aNone ;
- UseClC_none, UseClC_np
- = Pred.UseClC Pred.aNone ;
-
- ComplAdv_none
- = Pred.ComplAdv Pred.aNone ;
-
- SubjUttPreS
- = Pred.SubjUttPreS ;
- SubjUttPreQ
- = Pred.SubjUttPreQ ;
- SubjUttPost
- = Pred.SubjUttPost ;
--}
-} \ No newline at end of file
diff --git a/examples/translator/SmallPred.gf b/examples/translator/SmallPred.gf
deleted file mode 100644
index 1625599f2..000000000
--- a/examples/translator/SmallPred.gf
+++ /dev/null
@@ -1,206 +0,0 @@
-abstract SmallPred =
- RGLBase - [Pol,Tense]
-** {
-
-cat
- PrV_none ; PrV_np ; PrV_v ; PrV_s ; PrV_q ; PrV_a ; PrV_n ;
- PrV_np_np ; PrV_np_v ; PrV_np_s ; PrV_np_q ; PrV_np_a ; PrV_np_n ;
-
- PrVP_none ; PrVP_np ; PrVP_v ; PrVP_s ; PrVP_q ; PrVP_a ; PrVP_n ;
- PrVP_np_np ; PrVP_np_v ; PrVP_np_s ; PrVP_np_q ; PrVP_np_a ; PrVP_np_n ;
-
-
- Tense ;
- Pol ;
-
- PrCl_none ;
-
- PrQCl_none ;
-
- PrAdv_none ;
-
- PrS ;
-
- PrAP_none ;
-
- PrCN_none ;
-
-fun
- TPres, TPast, TFut, TCond : Tense ;
- PPos, PNeg : Pol ;
- ASimul, AAnter : Ant ;
-
- UseV_none : Ant -> Tense -> Pol -> PrV_none -> PrVP_none ;
- UseV_np : Ant -> Tense -> Pol -> PrV_np -> PrVP_np ;
- UseV_v : Ant -> Tense -> Pol -> PrV_v -> PrVP_v ;
- UseV_s : Ant -> Tense -> Pol -> PrV_s -> PrVP_s ;
- UseV_a : Ant -> Tense -> Pol -> PrV_a -> PrVP_a ;
- UseV_q : Ant -> Tense -> Pol -> PrV_q -> PrVP_q ;
- UseV_n : Ant -> Tense -> Pol -> PrV_v -> PrVP_n ;
- UseV_np_np : Ant -> Tense -> Pol -> PrV_np_np -> PrVP_np_np ;
- UseV_np_v : Ant -> Tense -> Pol -> PrV_np_v -> PrVP_np_v ;
- UseV_np_s : Ant -> Tense -> Pol -> PrV_np_s -> PrVP_np_s ;
- UseV_np_a : Ant -> Tense -> Pol -> PrV_np_a -> PrVP_np_a ;
- UseV_np_q : Ant -> Tense -> Pol -> PrV_np_q -> PrVP_np_q ;
- UseV_np_n : Ant -> Tense -> Pol -> PrV_np_n -> PrVP_np_n ;
-
--- ComplV2_none : PrVP_np -> NP -> PrVP_none ;
-
--- UseAP_none : Ant -> Tense -> Pol -> PrAP_none -> PrVP_none ;
-
- UseAdv_none : Ant -> Tense -> Pol -> PrAdv_none -> PrVP_none ;
-
- UseCN_none : Ant -> Tense -> Pol -> PrCN_none -> PrVP_none ;
-
- UseNP_none : Ant -> Tense -> Pol -> NP -> PrVP_none ;
-
- PredVP_none : NP -> PrVP_none -> PrCl_none ;
- PredVP_np : NP -> PrVP_np -> PrCl_none ;
- PredVP_v : NP -> PrVP_v -> PrCl_none ;
- PredVP_a : NP -> PrVP_a -> PrCl_none ;
- PredVP_s : NP -> PrVP_s -> PrCl_none ;
- PredVP_q : NP -> PrVP_q -> PrCl_none ;
- PredVP_np_np : NP -> PrVP_np -> PrCl_none ;
- PredVP_np_v : NP -> PrVP_v -> PrCl_none ;
- PredVP_np_a : NP -> PrVP_a -> PrCl_none ;
- PredVP_np_s : NP -> PrVP_s -> PrCl_none ;
- PredVP_np_q : NP -> PrVP_q -> PrCl_none ;
-
- Pred2VP_none : NP -> PrVP_none -> NP -> PrCl_none ;
- Pred2VP_np : NP -> PrVP_np -> NP -> PrCl_none ;
- Pred2VP_v : NP -> PrVP_v -> NP -> PrCl_none ;
- Pred2VP_a : NP -> PrVP_a -> NP -> PrCl_none ;
- Pred2VP_s : NP -> PrVP_s -> NP -> PrCl_none ;
- Pred2VP_q : NP -> PrVP_q -> NP -> PrCl_none ;
- Pred2VP_np_np : NP -> PrVP_np -> NP -> PrCl_none ;
- Pred2VP_np_v : NP -> PrVP_v -> NP -> PrCl_none ;
- Pred2VP_np_a : NP -> PrVP_a -> NP -> PrCl_none ;
- Pred2VP_np_s : NP -> PrVP_s -> NP -> PrCl_none ;
- Pred2VP_np_q : NP -> PrVP_q -> NP -> PrCl_none ;
-
- PredAP_none : Ant -> Tense -> Pol -> NP -> PrAP_none -> PrCl_none ;
-
- QuestVP_none : IP -> PrVP_none -> PrQCl_none ;
-
- QuestCl_none : PrCl_none -> PrQCl_none ;
-
- UseCl_none : PrCl_none -> PrS ;
-
- UseQCl_none : PrQCl_none -> PrS ;
-
- UttPrS : PrS -> Utt ;
-
----- Lift
-
-fun
- LiftV : V -> PrV_none ;
- LiftV2 : V2 -> PrV_np ;
- LiftVS : VS -> PrV_s ;
- LiftVQ : VQ -> PrV_q ;
- LiftVV : VV -> PrV_v ;
- LiftVA : VA -> PrV_a ;
- LiftVN : VA -> PrV_n ; ----
-
- LiftV3 : V3 -> PrV_np_np ;
- LiftV2S : V2S -> PrV_np_s ;
- LiftV2Q : V2Q -> PrV_np_q ;
- LiftV2V : V2V -> PrV_np_v ;
- LiftV2A : V2A -> PrV_np_a ;
- LiftV2N : V2A -> PrV_np_n ; ----
-
- LiftAP : AP -> PrAP_none ;
- LiftCN : CN -> PrCN_none ;
-
- LiftAdv : Adv -> PrAdv_none ;
- LiftAdV : AdV -> PrAdv_none ;
-
-
-------- Chunk
-
-cat
- Chunks ;
- Chunk ;
-
-fun
- OneChunk : Chunk -> Chunks ;
- PlusChunk : Chunk -> Chunks -> Chunks ;
-
- ChunkPhr : Chunks -> Phr ;
-
-fun
-
- AP_Chunk : AP -> Chunk ;
- AdA_Chunk : AdA -> Chunk ;
- Adv_Chunk : Adv -> Chunk ;
- AdV_Chunk : AdV -> Chunk ;
- AdN_Chunk : AdN -> Chunk ;
- Cl_Chunk : PrCl_none -> Chunk ;
- QCl_Chunk : PrQCl_none -> Chunk ;
- CN_Pl_Chunk : CN -> Chunk ;
- CN_Sg_Chunk : CN -> Chunk ;
- CN_Pl_Gen_Chunk : CN -> Chunk ;
- CN_Sg_Gen_Chunk : CN -> Chunk ;
- Conj_Chunk : Conj -> Chunk ;
- IAdv_Chunk : IAdv -> Chunk ;
- IP_Chunk : IP -> Chunk ;
- NP_Nom_Chunk : NP -> Chunk ;
- NP_Acc_Chunk : NP -> Chunk ;
- NP_Gen_Chunk : NP -> Chunk ;
- Numeral_Nom_Chunk : Numeral -> Chunk ;
- Numeral_Gen_Chunk : Numeral -> Chunk ;
- Ord_Nom_Chunk : Ord -> Chunk ;
- Ord_Gen_Chunk : Ord -> Chunk ;
- Predet_Chunk : Predet -> Chunk ;
- Prep_Chunk : Prep -> Chunk ;
- RP_Nom_Chunk : RP -> Chunk ;
- RP_Gen_Chunk : RP -> Chunk ;
- RP_Acc_Chunk : RP -> Chunk ;
- Subj_Chunk : Subj -> Chunk ;
-
- VP_none_Chunk, VP_none_inf_Chunk : PrVP_none -> Chunk ;
- VP_np_Chunk, VP_np_inf_Chunk : PrVP_np -> Chunk ;
- VP_s_Chunk, VP_s_inf_Chunk : PrVP_s -> Chunk ;
- VP_v_Chunk, VP_v_inf_Chunk : PrVP_v -> Chunk ;
- VP_a_Chunk, VP_a_inf_Chunk : PrVP_a -> Chunk ;
- VP_q_Chunk, VP_q_inf_Chunk : PrVP_q -> Chunk ;
- VP_np_np_Chunk, VP_np_np_inf_Chunk : PrVP_np_np -> Chunk ;
- VP_np_s_Chunk, VP_np_s_inf_Chunk : PrVP_np_s -> Chunk ;
- VP_np_v_Chunk, VP_np_v_inf_Chunk : PrVP_np_v -> Chunk ;
- VP_np_q_Chunk, VP_np_q_inf_Chunk : PrVP_np_q -> Chunk ;
- VP_np_a_Chunk, VP_np_a_inf_Chunk : PrVP_np_a -> Chunk ;
-
- V_none_prespart_Chunk, V_none_pastpart_Chunk : PrV_none -> Chunk ;
- V_np_prespart_Chunk, V_np_pastpart_Chunk : PrV_np -> Chunk ;
- V_s_prespart_Chunk, V_s_pastpart_Chunk : PrV_s -> Chunk ;
- V_v_prespart_Chunk, V_v_pastpart_Chunk : PrV_v -> Chunk ;
- V_q_prespart_Chunk, V_q_pastpart_Chunk : PrV_q -> Chunk ;
- V_a_prespart_Chunk, V_a_pastpart_Chunk : PrV_q -> Chunk ;
-
- V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk : PrV_np_np -> Chunk ;
- V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk : PrV_np_s -> Chunk ;
- V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk : PrV_np_v -> Chunk ;
- V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk : PrV_np_q -> Chunk ;
- V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk : PrV_np_q -> Chunk ;
-
- refl_SgP1_Chunk,
- refl_SgP2_Chunk,
- refl_SgP3_Chunk,
- refl_PlP1_Chunk,
- refl_PlP2_Chunk,
- refl_PlP3_Chunk : Chunk ;
- neg_Chunk : Chunk ;
- copula_Chunk : Chunk ;
- copula_neg_Chunk : Chunk ;
- copula_inf_Chunk : Chunk ;
- past_copula_Chunk : Chunk ;
- past_copula_neg_Chunk : Chunk ;
- future_Chunk : Chunk ;
- future_neg_Chunk : Chunk ;
- cond_Chunk : Chunk ;
- cond_neg_Chunk : Chunk ;
- perfect_Chunk : Chunk ;
- perfect_neg_Chunk : Chunk ;
- past_perfect_Chunk : Chunk ;
- past_perfect_neg_Chunk : Chunk ;
-
-}
diff --git a/examples/translator/SmallPredChi.gf b/examples/translator/SmallPredChi.gf
deleted file mode 100644
index 11eb79e12..000000000
--- a/examples/translator/SmallPredChi.gf
+++ /dev/null
@@ -1,222 +0,0 @@
-concrete SmallPredChi of SmallPred =
- RGLBaseChi - [Pol,Tense,Ant],
-
- NDPredChi [
- Ant,NP,Utt,IP,IAdv,IComp,Conj,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- Tense ,
- Pol ,
- TPres, TPast, TFut, TCond,
- PPos, PNeg,
- ASimul, AAnter,
- PrAdv_none ,
- PrS,
- PrAP_none ,
- PrCN_none,
- UttPrS
-
- ],
-
-NDLiftChi [
- CN,AP,V,V2,VV,VS,VA,VQ,V2V,V2S,V2Q,V2A,V3,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- LiftV,
- LiftV2,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN,
-
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N,
-
- LiftAP,
- LiftCN,
-
- LiftAdv,
- LiftAdV
-],
-
-ChunkChi [
- Chunks,
- Chunk,
-
- OneChunk,
- PlusChunk,
-
- ChunkPhr,
-
- AP_Chunk,
- AdA_Chunk,
- Adv_Chunk,
- AdV_Chunk,
- AdN_Chunk,
- CN_Pl_Chunk,
- CN_Sg_Chunk,
- CN_Pl_Gen_Chunk,
- CN_Sg_Gen_Chunk,
- Conj_Chunk,
- IAdv_Chunk,
- IP_Chunk,
- NP_Nom_Chunk,
- NP_Acc_Chunk,
- NP_Gen_Chunk,
- Numeral_Nom_Chunk,
- Numeral_Gen_Chunk,
- Ord_Nom_Chunk,
- Ord_Gen_Chunk,
- Predet_Chunk,
- Prep_Chunk,
- RP_Nom_Chunk,
- RP_Gen_Chunk,
- RP_Acc_Chunk,
- Subj_Chunk,
-
- V_none_prespart_Chunk, V_none_pastpart_Chunk,
- V_np_prespart_Chunk, V_np_pastpart_Chunk,
- V_s_prespart_Chunk, V_s_pastpart_Chunk,
- V_v_prespart_Chunk, V_v_pastpart_Chunk,
- V_q_prespart_Chunk, V_q_pastpart_Chunk,
- V_a_prespart_Chunk, V_a_pastpart_Chunk,
-
- V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk,
- V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk,
- V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk,
- V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk,
- V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk,
-
- refl_SgP1_Chunk,
- refl_SgP2_Chunk,
- refl_SgP3_Chunk,
- refl_PlP1_Chunk,
- refl_PlP2_Chunk,
- refl_PlP3_Chunk,
- neg_Chunk,
- copula_Chunk,
- copula_neg_Chunk,
- copula_inf_Chunk,
- past_copula_Chunk,
- past_copula_neg_Chunk,
- future_Chunk,
- future_neg_Chunk,
- cond_Chunk,
- cond_neg_Chunk,
- perfect_Chunk,
- perfect_neg_Chunk,
- past_perfect_Chunk,
- past_perfect_neg_Chunk
-
-
-]
-
- ** open (P=PredChi), PredInstanceChi, ResChi in {
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : Str
- } ;
-
- PrCl_none
- = {s : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (P.UseV P.aNone a t p v) ;
-
-oper
- mkVP : PrVerbPhrase -> SmallPredChi.PrVP_none = \vp ->
- lin PrVP_none {
- v =
- let
- vv = vp.v ! UUnit ;
- vpa = UUnit ;
- in
- vv.p1 ++ vp.adV ++ vv.p2 ++ vv.p3 ++ vp.adj ! vpa ++
- appPrep vp.c1 (vp.obj1.p1 ! vpa) ++ appPrep vp.c2 (vp.obj2.p1 ! vpa) ++ vp.adv ++ vp.ext
- } ;
-
-lin
- UseAdv_none = \a,t,p,v -> mkVP (P.UseAdv P.aNone a t p v) ;
- UseCN_none = \a,t,p,v -> mkVP (P.UseCN P.aNone a t p v) ;
- UseNP_none = \a,t,p,v -> mkVP (P.UseNP a t p v) ;
-
- QuestCl_none cl = {s = cl.s ++ question_s} ;
-
- UseCl_none cl = lin PrS {s = cl.s} ;
- UseQCl_none cl = lin PrS cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp -> {
- s = np.s ++ vp.v
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o -> {
- s = s.s ++ v.v ++ o.s ;
- } ;
-
- PredAP_none
- = \a, t, p, np, ap ->
- let cl = P.PredVP P.aNone np (P.UseAP P.aNone a t p ap) in {
- s = declCl cl ;
- q = questCl (P.QuestCl P.aNone cl) ;
- } ;
-
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp ->
- {s = vp.v} ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> {s = vp.v} ;
-
- }
diff --git a/examples/translator/SmallPredEng.gf b/examples/translator/SmallPredEng.gf
deleted file mode 100644
index bce2ee119..000000000
--- a/examples/translator/SmallPredEng.gf
+++ /dev/null
@@ -1,234 +0,0 @@
-concrete SmallPredEng of SmallPred =
- RGLBaseEng - [Pol,Tense],
-
- NDPredEng [
- Ant,NP,Utt,IP,IAdv,IComp,Conj,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- Tense ,
- Pol ,
- TPres, TPast, TFut, TCond,
- PPos, PNeg,
- ASimul, AAnter,
- PrAdv_none ,
- PrS,
- PrAP_none ,
- PrCN_none,
- UttPrS
-
- ],
-
-NDLiftEng [
- CN,AP,V,V2,VV,VS,VA,VQ,V2V,V2S,V2Q,V2A,V3,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- LiftV,
- LiftV2,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN,
-
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N,
-
- LiftAP,
- LiftCN,
-
- LiftAdv,
- LiftAdV
-],
-
-ChunkEng [
- Chunks,
- Chunk,
-
- OneChunk,
- PlusChunk,
-
- ChunkPhr,
-
- AP_Chunk,
- AdA_Chunk,
- Adv_Chunk,
- AdV_Chunk,
- AdN_Chunk,
- CN_Pl_Chunk,
- CN_Sg_Chunk,
- CN_Pl_Gen_Chunk,
- CN_Sg_Gen_Chunk,
- Conj_Chunk,
- IAdv_Chunk,
- IP_Chunk,
- NP_Nom_Chunk,
- NP_Acc_Chunk,
- NP_Gen_Chunk,
- Numeral_Nom_Chunk,
- Numeral_Gen_Chunk,
- Ord_Nom_Chunk,
- Ord_Gen_Chunk,
- Predet_Chunk,
- Prep_Chunk,
- RP_Nom_Chunk,
- RP_Gen_Chunk,
- RP_Acc_Chunk,
- Subj_Chunk,
-
- V_none_prespart_Chunk, V_none_pastpart_Chunk,
- V_np_prespart_Chunk, V_np_pastpart_Chunk,
- V_s_prespart_Chunk, V_s_pastpart_Chunk,
- V_v_prespart_Chunk, V_v_pastpart_Chunk,
- V_q_prespart_Chunk, V_q_pastpart_Chunk,
- V_a_prespart_Chunk, V_a_pastpart_Chunk,
-
- V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk,
- V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk,
- V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk,
- V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk,
- V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk,
-
- refl_SgP1_Chunk,
- refl_SgP2_Chunk,
- refl_SgP3_Chunk,
- refl_PlP1_Chunk,
- refl_PlP2_Chunk,
- refl_PlP3_Chunk,
- neg_Chunk,
- copula_Chunk,
- copula_neg_Chunk,
- copula_inf_Chunk,
- past_copula_Chunk,
- past_copula_neg_Chunk,
- future_Chunk,
- future_neg_Chunk,
- cond_Chunk,
- cond_neg_Chunk,
- perfect_Chunk,
- perfect_neg_Chunk,
- past_perfect_Chunk,
- past_perfect_neg_Chunk
-
-
-]
-
- ** open (P=PredEng), PredInstanceEng in {
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : VAgr => Str ;
- inf : VVType => Str ;
- qq : VAgr => Str * Str ;
- } ;
-
- PrCl_none
- = {s : Str ; q : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (P.UseV P.aNone a t p v) ;
-
-oper
- mkVP : PrVerbPhrase -> SmallPredEng.PrVP_none = \vp ->
- lin PrVP_none {
- v = \\a =>
- let
- vv = vp.v ! a ;
- vpa = vagr2agr a ;
- in
- vv.p1 ++ vp.adV ++ vv.p2 ++ vv.p3 ++ vp.adj ! vpa ++
- vp.c1 ++ vp.obj1.p1 ! vpa ++ vp.c2 ++ vp.obj2.p1 ! vpa ++ vp.adv ++ vp.ext ;
- inf = \\vt => infVP vt defaultAgr vp ;
- qq = \\a =>
- let
- vv = vp.qforms ! a ;
- vpa = vagr2agr a ;
- in
- <vv.p1, vp.adV ++ vv.p2 ++ vp.adj ! vpa ++
- vp.c1 ++ vp.obj1.p1 ! vpa ++ vp.c2 ++ vp.obj2.p1 ! vpa ++ vp.adv ++ vp.ext> ;
- } ;
-
-lin
- UseAdv_none = \a,t,p,v -> mkVP (P.UseAdv P.aNone a t p v) ;
- UseCN_none = \a,t,p,v -> mkVP (P.UseCN P.aNone a t p v) ;
- UseNP_none = \a,t,p,v -> mkVP (P.UseNP a t p v) ;
-
- QuestCl_none cl = {s = cl.q} ;
-
- UseCl_none cl = lin PrS {s = cl.s} ;
- UseQCl_none cl = lin PrS cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp -> {
- s = appSubjCase np ++ vp.v ! (agr2vagr np.a) ;
- q = let qq = vp.qq ! (agr2vagr np.a) in qq.p1 ++ appSubjCase np ++ qq.p2
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o -> {
- s = appSubjCase s ++ v.v ! (agr2vagr s.a) ++ appObjCase o ;
- q = let qq = v.qq ! (agr2vagr s.a) in qq.p1 ++ appSubjCase s ++ qq.p2 ++ appObjCase o ;
- } ;
-
- PredAP_none
- = \a, t, p, np, ap ->
- let cl = P.PredVP P.aNone np (P.UseAP P.aNone a t p ap) in {
- s = declCl cl ;
- q = questCl (P.QuestCl P.aNone cl)
- } ;
-
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp ->
- {s = vp.v ! (VASgP1 | VASgP3 | VAPl)} ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> {s = vp.inf ! vvInfinitive} ;
-
- }
diff --git a/examples/translator/SmallPredFin.gf b/examples/translator/SmallPredFin.gf
deleted file mode 100644
index 0f550fa57..000000000
--- a/examples/translator/SmallPredFin.gf
+++ /dev/null
@@ -1,241 +0,0 @@
---# -path=.:../finnish/stemmed:../finnish:../api:../translator:../../../examples/phrasebook:alltenses
-
-concrete SmallPredFin of SmallPred =
- RGLBaseFin - [Pol,Tense],
-
- NDPredFin [
- Ant,NP,Utt,IP,IAdv,IComp,Conj,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- Tense ,
- Pol ,
- TPres, TPast, TFut, TCond,
- PPos, PNeg,
- ASimul, AAnter,
- PrAdv_none ,
- PrS,
- PrAP_none ,
- PrCN_none,
- UttPrS
-
- ],
-
-NDLiftFin [
- CN,AP,V,V2,VV,VS,VA,VQ,V2V,V2S,V2Q,V2A,V3,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- LiftV,
- LiftV2,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN,
-
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N,
-
- LiftAP,
- LiftCN,
-
- LiftAdv,
- LiftAdV
-],
-
-ChunkFin [
- Chunks,
- Chunk,
-
- OneChunk,
- PlusChunk,
-
- ChunkPhr,
-
- AP_Chunk,
- AdA_Chunk,
- Adv_Chunk,
- AdV_Chunk,
- AdN_Chunk,
- CN_Pl_Chunk,
- CN_Sg_Chunk,
- CN_Pl_Gen_Chunk,
- CN_Sg_Gen_Chunk,
- Conj_Chunk,
- IAdv_Chunk,
- IP_Chunk,
- NP_Nom_Chunk,
- NP_Acc_Chunk,
- NP_Gen_Chunk,
- Numeral_Nom_Chunk,
- Numeral_Gen_Chunk,
- Ord_Nom_Chunk,
- Ord_Gen_Chunk,
- Predet_Chunk,
- Prep_Chunk,
- RP_Nom_Chunk,
- RP_Gen_Chunk,
- RP_Acc_Chunk,
- Subj_Chunk,
-
- V_none_prespart_Chunk, V_none_pastpart_Chunk,
- V_np_prespart_Chunk, V_np_pastpart_Chunk,
- V_s_prespart_Chunk, V_s_pastpart_Chunk,
- V_v_prespart_Chunk, V_v_pastpart_Chunk,
- V_q_prespart_Chunk, V_q_pastpart_Chunk,
- V_a_prespart_Chunk, V_a_pastpart_Chunk,
-
- V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk,
- V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk,
- V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk,
- V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk,
- V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk,
-
- refl_SgP1_Chunk,
- refl_SgP2_Chunk,
- refl_SgP3_Chunk,
- refl_PlP1_Chunk,
- refl_PlP2_Chunk,
- refl_PlP3_Chunk,
- neg_Chunk,
- copula_Chunk,
- copula_neg_Chunk,
- copula_inf_Chunk,
- past_copula_Chunk,
- past_copula_neg_Chunk,
- future_Chunk,
- future_neg_Chunk,
- cond_Chunk,
- cond_neg_Chunk,
- perfect_Chunk,
- perfect_neg_Chunk,
- past_perfect_Chunk,
- past_perfect_neg_Chunk
-
-
-]
-
- ** open (P=PredFin), PredInstanceFin in {
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : VAgr => Str ;
- inf : VVType => Str ;
- qq : VAgr => Str * Str ;
- ko : Str ;
- } ;
-
- PrCl_none
- = {s : Str ; q : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (P.UseV P.aNone a t p v) ;
-
-oper
- mkVP : PrVerbPhrase -> SmallPredFin.PrVP_none = \vp ->
- lin PrVP_none {
- v = \\a =>
- let
- vv = vp.v ! a ;
- vpa = vagr2agr a ;
- in
- vv.fin ++ vp.adV ++ vv.inf ++ vp.adj ! vpa ++
- vp.obj1 ! vpa ++ vp.obj2 ! vpa ++ vp.adv ++ vp.ext ;
- inf = \\vt => infVP vt defaultAgr vp ;
- qq = \\a =>
- let
- vv = vp.v ! a ;
- vpa = vagr2agr a ;
- in
- <vv.fin, vp.adV ++ vv.inf ++ vp.adj ! vpa ++
- vp.obj1 ! vpa ++ vp.obj2 ! vpa ++ vp.adv ++ vp.ext> ;
- ko = Predef.BIND ++ case vp.h of {Back => "ko" ; Front => "kö"}
-
- } ;
-
-lin
- UseAdv_none = \a,t,p,v -> mkVP (P.UseAdv P.aNone a t p v) ;
- UseCN_none = \a,t,p,v -> mkVP (P.UseCN P.aNone a t p v) ;
- UseNP_none = \a,t,p,v -> mkVP (P.UseNP a t p v) ;
-
- QuestCl_none cl = {s = cl.q} ;
-
- UseCl_none cl = lin PrS {s = cl.s} ;
- UseQCl_none cl = lin PrS cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp ->
- {
- s = appSubjCase np ++ vp.v ! (agr2vagr np.a) ;
- q = let qq = vp.qq ! (agr2vagr np.a) in qq.p1 ++ vp.ko ++ appSubjCase np ++ qq.p2
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o ->
- {
- s = appSubjCase s ++ v.v ! (agr2vagr s.a) ++ appObjCase o ;
- q = let qq = v.qq ! (agr2vagr s.a) in qq.p1 ++ v.ko ++ appSubjCase s ++ qq.p2 ++ appObjCase o ;
- } ;
-
- PredAP_none
- = \a, t, p, np, ap ->
- let cl = P.PredVP P.aNone np (P.UseAP P.aNone a t p ap) in {
- s = declCl cl ;
- q = questCl (P.QuestCl P.aNone cl) ;
- } ;
-
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp ->
- {s = vp.v ! defaultAgr} ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> {s = vp.inf ! vvInfinitive} ;
-
- }
diff --git a/examples/translator/SmallPredFre.gf b/examples/translator/SmallPredFre.gf
deleted file mode 100644
index c0a9abab6..000000000
--- a/examples/translator/SmallPredFre.gf
+++ /dev/null
@@ -1,249 +0,0 @@
-concrete SmallPredFre of SmallPred =
- RGLBaseFre **
-
- open ResFre, CommonRomance, (S = SyntaxFre), (P = ParadigmsFre), PhonoFre, Prelude in {
-
--- NDPredFre [
-lincat
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n
- = {s : VF => Str ; c2 : Compl ; vtyp : VType} ;
- PrAdv_none = S.Adv ;
- PrS = {s : Str} ;
- PrAP_none = S.AP ;
- PrCN_none = S.CN ;
-
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : Agr => Str ;
- inf : Str ;
- c2 : Compl ;
- ne : Str ; -- empty in Pos, "ne" in Neg
- } ;
-
- PrCl_none
- = {s : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UttPrS s = s ;
-
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p v [] ;
-
-oper
- mkVP : Str -> RTense -> Anteriority -> RPolarity -> PrV_none -> Str -> PrVP_none = \atp,tense,ant,pol,verb,obj ->
- let
- oldvp : ResFre.VP =
- predV verb ;
- clause : Agr -> {s : Direct => RTense => Anteriority => RPolarity => Mood => Str} = \agr ->
- mkClause atp False False agr oldvp ;
- nepas : Str * Str = case pol of {RPos => <[],[]> ; _ => <elisNe, "pas">} ;
- in
- lin PrVP_none {
- v : Agr => Str = \\agr => (clause agr).s ! DDir ! tense ! ant ! RPos ! Indic ++ nepas.p2 ++ obj ;
- inf : Str = verb.s ! VInfin False ++ obj ; ---- ant,pol
- c2 : Compl = verb.c2 ;
- ne : Str = nepas.p1 ;
- } ;
-
-lin
- UseAdv_none a t p adv = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) adv.s ;
-
- UseCN_none a t p cn = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) (cn.s ! Sg) ;
-
- UseNP_none a t p np = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) ((np.s ! Nom).comp) ;
-
-
-lin
- QuestCl_none cl = {s = "est-ce" ++ elisQue ++ cl.s} ;
-
- UseCl_none cl = cl ;
- UseQCl_none cl = cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp -> {
- s = (np.s ! Nom).comp ++ vp.ne ++ vp.v ! np.a ;
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o ->
- let obj = o.s ! v.c2.c in
- {
- s = (s.s ! Nom).comp ++ v.ne ++ obj.c1 ++ obj.c2 ++ v.v ! s.a ++ v.c2.s ++ obj.comp ;
- } ;
-
-
- PredAP_none
- = \a, t, p, np, ap ->
- let verb = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (lin PrV_none (copula ** {c2 = P.accusative})) [] in
- {
- s = (np.s ! Nom).comp ++ verb.ne ++ verb.v ! np.a ++ ap.s ! AF np.a.g np.a.n ;
- } ;
-
-
-
--- NDLiftFre [
-
- LiftV,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN
- = \v -> v ** {c2 = P.accusative} ;
-
- LiftV2,
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N
- = \v -> v ;
-
- LiftAP ap = ap ;
- LiftCN cn = cn ;
-
- LiftAdv adv = adv ;
- LiftAdV adv = adv ;
-
--- ChunkFre [
-
-lincat
- Chunks = {s : Str} ;
- Chunk = {s : Str};
-
-lin
- OneChunk c = c ;
- PlusChunk c cs = cc2 c cs ;
-
- ChunkPhr c = ss ("*" ++ c.s) | c ;
-
-oper
- defaultAAgr = {n = Sg ; g = Masc} ;
-
-lin
-
-
- AP_Chunk ap = ss (ap.s ! AF Masc Sg) ;
- AdA_Chunk ada = ada ;
- Adv_Chunk adv = adv ;
- AdV_Chunk adv = adv ;
- AdN_Chunk adn = adn ;
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
- CN_Pl_Chunk cn = ss (cn.s ! Pl) ;
- CN_Sg_Chunk cn = ss (cn.s ! Sg) ;
- CN_Pl_Gen_Chunk cn = ss (elisDe ++ cn.s ! Pl) ;
- CN_Sg_Gen_Chunk cn = ss (elisDe ++ cn.s ! Sg) ;
- Conj_Chunk conj = ss conj.s2 ;
- IAdv_Chunk iadv = iadv ;
- IP_Chunk ip = ss (ip.s ! Nom) ;
- NP_Nom_Chunk np = ss ((np.s ! Nom).ton) ;
- NP_Acc_Chunk np = ss (np.s ! Acc).ton ;
- NP_Gen_Chunk np = ss (np.s ! genitive).ton ;
- Numeral_Nom_Chunk num = ss (num.s ! NCard Masc) ;
- Numeral_Gen_Chunk num = ss (elisDe ++ num.s ! NCard Masc) ;
----- Ord_Nom_Chunk ord = ss (ord.s ! defaultAAgr) ;
----- Ord_Gen_Chunk ord = ss (elisDe ++ ord.s ! defaultAAgr) ;
----- Predet_Chunk predet = ss (predet.s ! defaultAAgr ! Nom) ;
- Prep_Chunk prep = prep ; ----
----- RP_Nom_Chunk rp = ss (rp.s ! False ! defaultAAgr ! Nom) ;
----- RP_Acc_Chunk rp = ss (rp.s ! False ! defaultAAgr ! Acc) ;
----- RP_Gen_Chunk rp = ss (rp.s ! False ! defaultAAgr ! genitive) ;
- Subj_Chunk subj = subj ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp -> ss (vp.ne ++ vp.v ! {g = Masc ; n = Sg ; p = P3}) ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> ss vp.inf ;
-
- V_none_prespart_Chunk,
- V_np_prespart_Chunk,
- V_s_prespart_Chunk,
- V_a_prespart_Chunk,
- V_q_prespart_Chunk,
- V_v_prespart_Chunk,
- V_np_np_prespart_Chunk,
- V_np_s_prespart_Chunk,
- V_np_a_prespart_Chunk,
- V_np_q_prespart_Chunk,
- V_np_v_prespart_Chunk
- = \v -> ss (v.s ! VGer) ;
-
- V_none_pastpart_Chunk,
- V_np_pastpart_Chunk,
- V_s_pastpart_Chunk,
- V_a_pastpart_Chunk,
- V_q_pastpart_Chunk,
- V_v_pastpart_Chunk,
- V_np_np_pastpart_Chunk,
- V_np_s_pastpart_Chunk,
- V_np_a_pastpart_Chunk,
- V_np_q_pastpart_Chunk,
- V_np_v_pastpart_Chunk
- = \v -> ss (v.s ! VPart Masc Sg) ;
-
- 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" ;
-
-} \ No newline at end of file
diff --git a/examples/translator/SmallPredIta.gf b/examples/translator/SmallPredIta.gf
deleted file mode 100644
index 664525c3b..000000000
--- a/examples/translator/SmallPredIta.gf
+++ /dev/null
@@ -1,249 +0,0 @@
-concrete SmallPredIta of SmallPred =
- RGLBaseIta **
-
- open ResIta, CommonRomance, (S = SyntaxIta), (P = ParadigmsIta), PhonoIta, Prelude in {
-
--- NDPredIta [
-lincat
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n
- = {s : VF => Str ; c2 : Compl ; vtyp : VType} ;
- PrAdv_none = S.Adv ;
- PrS = {s : Str} ;
- PrAP_none = S.AP ;
- PrCN_none = S.CN ;
-
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : Agr => Str ;
- inf : Str ;
- c2 : Compl ;
- ne : Str ; -- empty in Pos, "ne" in Neg
- } ;
-
- PrCl_none
- = {s : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UttPrS s = s ;
-
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p v [] ;
-
-oper
- mkVP : Str -> RTense -> Anteriority -> RPolarity -> PrV_none -> Str -> PrVP_none = \atp,tense,ant,pol,verb,obj ->
- let
- oldvp : ResIta.VP =
- predV verb ;
- clause : Agr -> {s : Direct => RTense => Anteriority => RPolarity => Mood => Str} = \agr ->
- mkClause atp False False agr oldvp ;
- nepas : Str * Str = case pol of {RPos => <[],[]> ; _ => <"non", []>} ;
- in
- lin PrVP_none {
- v : Agr => Str = \\agr => (clause agr).s ! DDir ! tense ! ant ! RPos ! Indic ++ nepas.p2 ++ obj ;
- inf : Str = verb.s ! VInfin False ++ obj ; ---- ant,pol
- c2 : Compl = verb.c2 ;
- ne : Str = nepas.p1 ;
- } ;
-
-lin
- UseAdv_none a t p adv = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) adv.s ;
-
- UseCN_none a t p cn = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) (cn.s ! Sg) ;
-
- UseNP_none a t p np = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (copula ** {c2 = P.accusative}) ((np.s ! Nom).comp) ;
-
-
-lin
- QuestCl_none cl = {s = cl.s} ;
-
- UseCl_none cl = cl ;
- UseQCl_none cl = cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp -> {
- s = (np.s ! Nom).comp ++ vp.ne ++ vp.v ! np.a ;
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o ->
- let obj = o.s ! v.c2.c in
- {
- s = (s.s ! Nom).comp ++ v.ne ++ obj.c1 ++ obj.c2 ++ v.v ! s.a ++ v.c2.s ++ obj.comp ;
- } ;
-
-
- PredAP_none
- = \a, t, p, np, ap ->
- let verb = mkVP (t.s ++ a.s ++ p.s) t.t a.a p.p (lin PrV_none (copula ** {c2 = P.accusative})) [] in
- {
- s = (np.s ! Nom).comp ++ verb.ne ++ verb.v ! np.a ++ ap.s ! AF np.a.g np.a.n ;
- } ;
-
-
-
--- NDLiftIta [
-
- LiftV,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN
- = \v -> v ** {c2 = P.accusative} ;
-
- LiftV2,
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N
- = \v -> v ;
-
- LiftAP ap = ap ;
- LiftCN cn = cn ;
-
- LiftAdv adv = adv ;
- LiftAdV adv = adv ;
-
--- ChunkIta [
-
-lincat
- Chunks = {s : Str} ;
- Chunk = {s : Str};
-
-lin
- OneChunk c = c ;
- PlusChunk c cs = cc2 c cs ;
-
- ChunkPhr c = ss ("*" ++ c.s) | c ;
-
-oper
- defaultAAgr = {n = Sg ; g = Masc} ;
-
-lin
-
-
- AP_Chunk ap = ss (ap.s ! AF Masc Sg) ;
- AdA_Chunk ada = ada ;
- Adv_Chunk adv = adv ;
- AdV_Chunk adv = adv ;
- AdN_Chunk adn = adn ;
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
- CN_Pl_Chunk cn = ss (cn.s ! Pl) ;
- CN_Sg_Chunk cn = ss (cn.s ! Sg) ;
- CN_Pl_Gen_Chunk cn = ss ("di" ++ cn.s ! Pl) ;
- CN_Sg_Gen_Chunk cn = ss ("di" ++ cn.s ! Sg) ;
- Conj_Chunk conj = ss conj.s2 ;
- IAdv_Chunk iadv = iadv ;
- IP_Chunk ip = ss (ip.s ! Nom) ;
- NP_Nom_Chunk np = ss ((np.s ! Nom).ton) ;
- NP_Acc_Chunk np = ss (np.s ! Acc).ton ;
- NP_Gen_Chunk np = ss (np.s ! genitive).ton ;
- Numeral_Nom_Chunk num = ss (num.s ! NCard Masc) ;
- Numeral_Gen_Chunk num = ss ("di" ++ num.s ! NCard Masc) ;
----- Ord_Nom_Chunk ord = ss (ord.s ! defaultAAgr) ;
----- Ord_Gen_Chunk ord = ss ("di" ++ ord.s ! defaultAAgr) ;
----- Predet_Chunk predet = ss (predet.s ! defaultAAgr ! Nom) ;
- Prep_Chunk prep = prep ; ----
----- RP_Nom_Chunk rp = ss (rp.s ! False ! defaultAAgr ! Nom) ;
----- RP_Acc_Chunk rp = ss (rp.s ! False ! defaultAAgr ! Acc) ;
----- RP_Gen_Chunk rp = ss (rp.s ! False ! defaultAAgr ! genitive) ;
- Subj_Chunk subj = subj ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp -> ss (vp.ne ++ vp.v ! {g = Masc ; n = Sg ; p = P3}) ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> ss vp.inf ;
-
- V_none_prespart_Chunk,
- V_np_prespart_Chunk,
- V_s_prespart_Chunk,
- V_a_prespart_Chunk,
- V_q_prespart_Chunk,
- V_v_prespart_Chunk,
- V_np_np_prespart_Chunk,
- V_np_s_prespart_Chunk,
- V_np_a_prespart_Chunk,
- V_np_q_prespart_Chunk,
- V_np_v_prespart_Chunk
- = \v -> ss (v.s ! VGer) ;
-
- V_none_pastpart_Chunk,
- V_np_pastpart_Chunk,
- V_s_pastpart_Chunk,
- V_a_pastpart_Chunk,
- V_q_pastpart_Chunk,
- V_v_pastpart_Chunk,
- V_np_np_pastpart_Chunk,
- V_np_s_pastpart_Chunk,
- V_np_a_pastpart_Chunk,
- V_np_q_pastpart_Chunk,
- V_np_v_pastpart_Chunk
- = \v -> ss (v.s ! VPart Masc Sg) ;
-
- copula_inf_Chunk = ss "ètre" ;
-
- 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" ;
-
-} \ No newline at end of file
diff --git a/examples/translator/SmallPredSwe.gf b/examples/translator/SmallPredSwe.gf
deleted file mode 100644
index c97e8b267..000000000
--- a/examples/translator/SmallPredSwe.gf
+++ /dev/null
@@ -1,234 +0,0 @@
-concrete SmallPredSwe of SmallPred =
- RGLBaseSwe - [Pol,Tense],
-
- NDPredSwe [
- Ant,NP,Utt,IP,IAdv,IComp,Conj,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- Tense ,
- Pol ,
- TPres, TPast, TFut, TCond,
- PPos, PNeg,
- ASimul, AAnter,
- PrAdv_none ,
- PrS,
- PrAP_none ,
- PrCN_none,
- UttPrS
-
- ],
-
-NDLiftSwe [
- CN,AP,V,V2,VV,VS,VA,VQ,V2V,V2S,V2Q,V2A,V3,
- PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
- PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
-
- LiftV,
- LiftV2,
- LiftVS,
- LiftVQ,
- LiftVV,
- LiftVA,
- LiftVN,
-
- LiftV3,
- LiftV2S,
- LiftV2Q,
- LiftV2V,
- LiftV2A,
- LiftV2N,
-
- LiftAP,
- LiftCN,
-
- LiftAdv,
- LiftAdV
-],
-
-ChunkSwe [
- Chunks,
- Chunk,
-
- OneChunk,
- PlusChunk,
-
- ChunkPhr,
-
- AP_Chunk,
- AdA_Chunk,
- Adv_Chunk,
- AdV_Chunk,
- AdN_Chunk,
- CN_Pl_Chunk,
- CN_Sg_Chunk,
- CN_Pl_Gen_Chunk,
- CN_Sg_Gen_Chunk,
- Conj_Chunk,
- IAdv_Chunk,
- IP_Chunk,
- NP_Nom_Chunk,
- NP_Acc_Chunk,
- NP_Gen_Chunk,
- Numeral_Nom_Chunk,
- Numeral_Gen_Chunk,
- Ord_Nom_Chunk,
- Ord_Gen_Chunk,
- Predet_Chunk,
- Prep_Chunk,
- RP_Nom_Chunk,
- RP_Gen_Chunk,
- RP_Acc_Chunk,
- Subj_Chunk,
-
- V_none_prespart_Chunk, V_none_pastpart_Chunk,
- V_np_prespart_Chunk, V_np_pastpart_Chunk,
- V_s_prespart_Chunk, V_s_pastpart_Chunk,
- V_v_prespart_Chunk, V_v_pastpart_Chunk,
- V_q_prespart_Chunk, V_q_pastpart_Chunk,
- V_a_prespart_Chunk, V_a_pastpart_Chunk,
-
- V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk,
- V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk,
- V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk,
- V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk,
- V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk,
-
- refl_SgP1_Chunk,
- refl_SgP2_Chunk,
- refl_SgP3_Chunk,
- refl_PlP1_Chunk,
- refl_PlP2_Chunk,
- refl_PlP3_Chunk,
- neg_Chunk,
- copula_Chunk,
- copula_neg_Chunk,
- copula_inf_Chunk,
- past_copula_Chunk,
- past_copula_neg_Chunk,
- future_Chunk,
- future_neg_Chunk,
- cond_Chunk,
- cond_neg_Chunk,
- perfect_Chunk,
- perfect_neg_Chunk,
- past_perfect_Chunk,
- past_perfect_neg_Chunk
-
-
-]
-
- ** open (P=PredSwe), PredInstanceSwe in {
-
-lincat
- PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
- PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
- = {
- v : VAgr => Str ;
- inf : VVType => Str ;
- qq : VAgr => Str * Str ;
- } ;
-
- PrCl_none
- = {s : Str ; q : Str} ;
- PrQCl_none
- = {s : Str} ;
-
-lin
- UseV_none,
- UseV_np,
- UseV_v,
- UseV_s,
- UseV_a,
- UseV_q,
- UseV_n,
- UseV_np_np,
- UseV_np_v,
- UseV_np_s,
- UseV_np_a,
- UseV_np_q,
- UseV_np_n
- = \a,t,p,v -> mkVP (P.UseV P.aNone a t p v) ;
-
-oper
- mkVP : PrVerbPhrase -> SmallPredSwe.PrVP_none = \vp ->
- lin PrVP_none {
- v = \\a =>
- let
- vv = vp.v ! a ;
- vpa = vagr2agr a ;
- in
- vv.p1 ++ vp.adV ++ vv.p2 ++ vv.p3 ++ vp.adj ! vpa ++
- vp.c1 ++ vp.obj1.p1 ! vpa ++ vp.c2 ++ vp.obj2.p1 ! vpa ++ vp.adv ++ vp.ext ;
- inf = \\vt => infVP vt defaultAgr vp ;
- qq = \\a =>
- let
- vv = vp.v ! a ;
- vpa = vagr2agr a ;
- in
- <vv.p1, vp.adV ++ vv.p2 ++ vv.p3 ++ vp.adj ! vpa ++
- vp.c1 ++ vp.obj1.p1 ! vpa ++ vp.c2 ++ vp.obj2.p1 ! vpa ++ vp.adv ++ vp.ext> ;
- } ;
-
-lin
- UseAdv_none = \a,t,p,v -> mkVP (P.UseAdv P.aNone a t p v) ;
- UseCN_none = \a,t,p,v -> mkVP (P.UseCN P.aNone a t p v) ;
- UseNP_none = \a,t,p,v -> mkVP (P.UseNP a t p v) ;
-
- QuestCl_none cl = {s = cl.q} ;
-
- UseCl_none cl = lin PrS {s = cl.s} ;
- UseQCl_none cl = lin PrS cl ;
-
- PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
- PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
- = \np, vp -> {
- s = appSubjCase np ++ vp.v ! (agr2vagr np.a) ;
- q = let qq = vp.qq ! (agr2vagr np.a) in qq.p1 ++ appSubjCase np ++ qq.p2
- } ;
-
- Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
- Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
- = \s,v,o -> {
- s = appSubjCase s ++ v.v ! (agr2vagr s.a) ++ appObjCase o ;
- q = let qq = v.qq ! (agr2vagr s.a) in qq.p1 ++ appSubjCase s ++ qq.p2 ++ appObjCase o ;
- } ;
-
- PredAP_none
- = \a, t, p, np, ap ->
- let cl = P.PredVP P.aNone np (P.UseAP P.aNone a t p ap) in {
- s = declCl cl ;
- q = questCl (P.QuestCl P.aNone cl) ;
- } ;
-
- Cl_Chunk cl = cl ;
- QCl_Chunk cl = cl ;
-
- VP_none_Chunk,
- VP_np_Chunk,
- VP_s_Chunk,
- VP_v_Chunk,
- VP_a_Chunk,
- VP_q_Chunk,
- VP_np_np_Chunk,
- VP_np_s_Chunk,
- VP_np_a_Chunk,
- VP_np_q_Chunk,
- VP_np_v_Chunk
- = \vp ->
- {s = vp.v ! UUnit} ;
-
- VP_none_inf_Chunk,
- VP_np_inf_Chunk,
- VP_s_inf_Chunk,
- VP_a_inf_Chunk,
- VP_q_inf_Chunk,
- VP_v_inf_Chunk,
- VP_np_np_inf_Chunk,
- VP_np_s_inf_Chunk,
- VP_np_a_inf_Chunk,
- VP_np_q_inf_Chunk,
- VP_np_v_inf_Chunk
- = \vp -> {s = vp.inf ! vvInfinitive} ;
-
- }
diff --git a/examples/translator/Translate.gf b/examples/translator/Translate.gf
deleted file mode 100644
index 6efff161f..000000000
--- a/examples/translator/Translate.gf
+++ /dev/null
@@ -1,16 +0,0 @@
-abstract Translate = ParseEngAbs, Phrasebook ** {
-
-flags
- startcat = Phr ;
- heuristic_search_factor=0.60;
- meta_prob=1.0e-5;
- meta_token_prob=1.1965149246222233e-9;
-
-fun
- PPhr : Phr -> Phrase ;
- NP_Person : NP -> Person ;
- NP_Object : NP -> Object ;
- NP_Item : NP -> Item ;
- NP_Place : NP -> Place ;
- NP_Name : NP -> Name ;
-} \ No newline at end of file
diff --git a/examples/translator/TranslateBul.gf b/examples/translator/TranslateBul.gf
deleted file mode 100644
index 7ec263e5d..000000000
--- a/examples/translator/TranslateBul.gf
+++ /dev/null
@@ -1,26 +0,0 @@
---# -path=.:alltenses:../phrasebook:../../lib/src/english:../../lib/src/bulgarian
-
-concrete TranslateBul of Translate =
- ParseBul,
- PhrasebookBul - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
- ** open SyntaxBul, (E = ExtraBul), 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 = SyntaxBul.mkAdv in_Prep np ; to = SyntaxBul.mkAdv to_Prep 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) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateChi.gf b/examples/translator/TranslateChi.gf
deleted file mode 100644
index 4ef480232..000000000
--- a/examples/translator/TranslateChi.gf
+++ /dev/null
@@ -1,27 +0,0 @@
---# -path=.:alltenses:../phrasebook:../../lib/src/chinese:../../lib/src/chinese/sysu:../../lib/src/english
-
-concrete TranslateChi of Translate =
- ParseChi,
- PhrasebookChi - [at_Prep, PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
- ** open SyntaxChi, (E = ExtraChi), 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 = 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
-
- PSentence s = lin Text (mkUtt s) ;
- PQuestion s = lin Text (mkUtt s) ;
- PGreetingMale, PGreetingFemale = \g -> lin Text g ;
- GObjectPlease o = lin Text (mkUtt o) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateEng.gf b/examples/translator/TranslateEng.gf
deleted file mode 100644
index f35c7b835..000000000
--- a/examples/translator/TranslateEng.gf
+++ /dev/null
@@ -1,26 +0,0 @@
---# -path=.:../phrasebook:../../lib/src/english:../../lib/src/abstract
-
-concrete TranslateEng of Translate =
- ParseEng,
- PhrasebookEng - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
- ** open SyntaxEng, (E = ExtraEng), 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 = 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
-
- PSentence s = lin Text (mkUtt s) ;
- PQuestion s = lin Text (mkUtt s) ;
- PGreetingMale, PGreetingFemale = \g -> lin Text g ;
- GObjectPlease o = lin Text (mkUtt o) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateFin.gf b/examples/translator/TranslateFin.gf
deleted file mode 100644
index 5b5ada2fe..000000000
--- a/examples/translator/TranslateFin.gf
+++ /dev/null
@@ -1,29 +0,0 @@
---# -path=.:../phrasebook:../../lib/src/finnish/stemmed:../../lib/src/finnish:../../lib/src/api:../../lib/src/english:alltenses
-
-concrete TranslateFin of Translate =
-
- ParseFin,
- PhrasebookFin - [at_Prep, PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
- ** open SyntaxFin, (E = ExtraFin), 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 = SyntaxFin.mkAdv in_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
-
- PSentence s = lin Text (mkUtt s) ;
- PQuestion s = lin Text (mkUtt s) ;
- PGreetingMale, PGreetingFemale = \g -> lin Text g ;
- GObjectPlease o = lin Text (mkUtt o) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateFre.gf b/examples/translator/TranslateFre.gf
deleted file mode 100644
index e7389b372..000000000
--- a/examples/translator/TranslateFre.gf
+++ /dev/null
@@ -1,26 +0,0 @@
---# -path=.:alltenses:../phrasebook:../../lib/src/english:../../lib/src/french:../../lib/src/romance
-
-concrete TranslateFre of Translate =
- ParseFre - [open_A],
- PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease] **
- open SyntaxFre, ParadigmsFre, (E = ExtraFre), 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 = SyntaxFre.mkAdv dative np ; to = SyntaxFre.mkAdv dative 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) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateGer.gf b/examples/translator/TranslateGer.gf
deleted file mode 100644
index 3af3ace4d..000000000
--- a/examples/translator/TranslateGer.gf
+++ /dev/null
@@ -1,27 +0,0 @@
---# -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) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateHin.gf b/examples/translator/TranslateHin.gf
deleted file mode 100644
index cf8de4ebb..000000000
--- a/examples/translator/TranslateHin.gf
+++ /dev/null
@@ -1,26 +0,0 @@
---# -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) ;
-
-} \ No newline at end of file
diff --git a/examples/translator/TranslateSwe.gf b/examples/translator/TranslateSwe.gf
deleted file mode 100644
index b81460bde..000000000
--- a/examples/translator/TranslateSwe.gf
+++ /dev/null
@@ -1,27 +0,0 @@
---# -path=.:alltenses:../phrasebook:../../lib/src/english:../../lib/src/swedish:../../lib/src/scandinavian
-
-concrete TranslateSwe of Translate =
- ParseSwe - [open_A],
- PhrasebookSwe - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease]
- ** open SyntaxSwe, ParadigmsSwe, (E = ExtraSwe), 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 = 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
-
- PSentence s = lin Text (mkUtt s) ;
- PQuestion s = lin Text (mkUtt s) ;
- PGreetingMale, PGreetingFemale = \g -> lin Text g ;
- GObjectPlease o = lin Text (mkUtt o) ;
-
-} \ No newline at end of file