summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/peacekeeping/PeaceCat.gf8
-rw-r--r--examples/peacekeeping/PeaceCatI.gf10
-rw-r--r--examples/peacekeeping/PeaceRes.gf2
-rw-r--r--examples/peacekeeping/PeaceSyntax.gf5
-rw-r--r--examples/peacekeeping/PeaceSyntaxI.gf91
-rw-r--r--examples/peacekeeping/english/PeaceCat_Eng.gf2
-rw-r--r--examples/peacekeeping/finnish/PeaceCat_Fin.gf2
-rw-r--r--examples/peacekeeping/swedish/PeaceCat_Swe.gf2
8 files changed, 62 insertions, 60 deletions
diff --git a/examples/peacekeeping/PeaceCat.gf b/examples/peacekeeping/PeaceCat.gf
index 103295396..033a33097 100644
--- a/examples/peacekeeping/PeaceCat.gf
+++ b/examples/peacekeeping/PeaceCat.gf
@@ -1,10 +1,16 @@
-abstract PeaceCat = Cat ** {
+abstract PeaceCat = {
cat
+ N; A; V; V2; V3; Pron;
+ IP; IAdv;
+ Adv; NP; CN; Imp; Det; Num;
MassN ;
Phrase ;
PhraseWritten ;
PhraseSpoken ;
+ Sent ;
+ Quest ;
+ MassCN ;
fun
Written : Phrase -> PhraseWritten ;
diff --git a/examples/peacekeeping/PeaceCatI.gf b/examples/peacekeeping/PeaceCatI.gf
index 312bc1b1e..67db1351d 100644
--- a/examples/peacekeeping/PeaceCatI.gf
+++ b/examples/peacekeeping/PeaceCatI.gf
@@ -1,12 +1,20 @@
incomplete concrete PeaceCatI of PeaceCat =
- Cat ** open Lang, PeaceRes, Prelude in {
+ open Lang, PeaceRes, Prelude in {
lincat
+ N = N; A = A; V = V; V2 = V2; V3 = V3; Pron = Pron;
+ IP = IP; IAdv = IAdv;
+ Adv = Adv; NP = NP; CN = CN; Imp = Imp; Det = Det; Num = Num;
+
MassN = N ;
Phrase = { s : Str; p : Punct } ;
PhraseWritten = { s : Str } ;
PhraseSpoken = { s : Str } ;
+ Sent = {s : SForm => Str} ;
+ Quest = { s : Str } ;
+ MassCN = CN ;
+
lin
Written x = mkWritten x.s x.p ;
Spoken x = { s = x.s } ;
diff --git a/examples/peacekeeping/PeaceRes.gf b/examples/peacekeeping/PeaceRes.gf
index 52d77ce3b..f39107a1e 100644
--- a/examples/peacekeeping/PeaceRes.gf
+++ b/examples/peacekeeping/PeaceRes.gf
@@ -2,6 +2,8 @@ resource PeaceRes = {
param Punct = FullStop | QuestMark | ExclMark ;
+ param SForm = SPos | SNeg | SQuest ;
+
oper
stop, quest, excl : Str -> { s : Str; p : Punct } ;
stop x = { s = x; p = FullStop } ;
diff --git a/examples/peacekeeping/PeaceSyntax.gf b/examples/peacekeeping/PeaceSyntax.gf
index 21b852d63..adbf42571 100644
--- a/examples/peacekeeping/PeaceSyntax.gf
+++ b/examples/peacekeeping/PeaceSyntax.gf
@@ -1,10 +1,5 @@
abstract PeaceSyntax = PeaceCat ** {
- cat
- Sent ;
- Quest ;
- MassCN ;
-
fun
PhrPos : Sent -> Phrase ;
PhrNeg : Sent -> Phrase ;
diff --git a/examples/peacekeeping/PeaceSyntaxI.gf b/examples/peacekeeping/PeaceSyntaxI.gf
index 9f29f9f3c..6be637d84 100644
--- a/examples/peacekeeping/PeaceSyntaxI.gf
+++ b/examples/peacekeeping/PeaceSyntaxI.gf
@@ -1,86 +1,77 @@
incomplete concrete PeaceSyntaxI of PeaceSyntax =
- PeaceCatI ** open Lang,PeaceRes in {
+ PeaceCatI ** open Lang,Constructors,PeaceRes in {
flags
unlexer = text ; lexer = text ;
- lincat
- Sent = {s : SForm => Str} ;
- Quest = { s : Str } ;
- MassCN = CN ;
-
lin
PhrPos sent = stop (sent.s!SPos) ;
PhrNeg sent = stop (sent.s!SNeg) ;
PhrQuest q = quest q.s ;
- PhrImp imp = excl (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s;
- PhrImpNeg imp = excl (PhrUtt NoPConj (UttImpSg PNeg imp) NoVoc).s;
+ PhrImp imp = excl (mkPhr (mkUtt imp)).s;
+ PhrImpNeg imp = excl (mkPhr (mkUtt negativePol imp)).s;
- PhrYes = stop yes_Phr.s ;
- PhrNo = stop no_Phr.s ;
+ PhrYes = stop yes_Utt.s ;
+ PhrNo = stop no_Utt.s ;
+{-
QuestSent sent = { s = sent.s!SQuest } ;
QuestIP_V v ip = mkQuest (QuestVP ip (UseV v)) ;
- QuestIP_V2 v ip x = mkQuest (QuestVP ip (ComplV2 v x)) ;
- QuestIP_V2Mass v ip x = mkQuest (QuestVP ip (ComplV2 v (massNP x))) ;
- QuestIP_V3 v ip x y = mkQuest (QuestVP ip (ComplV3 v x y)) ;
- QuestIP_V3Mass v ip x y = mkQuest (QuestVP ip (ComplV3 v (massNP x) y)) ;
+ QuestIP_V2 v2 ip x = mkQuest (QuestVP ip (mkVP v2 x)) ;
+ QuestIP_V2Mass v2 ip x = mkQuest (QuestVP ip (mkVP v2 (MassNP x))) ;
+ QuestIP_V3 v3 ip x y = mkQuest (QuestVP ip (mkVP v3 x y)) ;
+ QuestIP_V3Mass v3 ip x y = mkQuest (QuestVP ip (mkVP v3 (MassNP x) y)) ;
QuestIP_A a ip = mkQuest (QuestVP ip (UseComp (CompAP (PositA a))));
QuestIAdv_NP x ia = mkQuest (QuestIComp (CompIAdv ia) x);
QuestIAdv_V v x ia = mkQuest (QuestIAdv ia (PredVP x (UseV v)));
QuestIAdv_V2 v x y ia = mkQuest (QuestIAdv ia (PredVP x (ComplV2 v y)));
+-}
- SentV v np = mkSent np (UseV v) ;
-
- SentV2 v x y = mkSent x (ComplV2 v y) ;
- SentV2Mass v x y = mkSent x (ComplV2 v (massNP y)) ;
- SentV3 v x y z = mkSent x (ComplV3 v y z) ;
- SentV3Mass v x y z = mkSent x (ComplV3 v (massNP y) z) ;
- SentA a x = mkSent x (UseComp (CompAP (PositA a))) ;
- SentNP a x = mkSent x (UseComp (CompNP a)) ;
+ SentV v np = mkSent (mkS np v) ;
- SentAdvV v np adv = mkSent np (AdvVP (UseV v) adv) ;
- SentAdvV2 v x y adv = mkSent x (AdvVP (ComplV2 v y) adv) ;
+ SentV2 v2 x y = mkSent (mkCl x v2 y) ;
+ SentV2Mass v2 x y = mkSent (mkCl x v2 (MassNP y)) ;
+ SentV3 v3 x y z = mkSent (mkCl x v3 y z) ;
+ SentV3Mass v3 x y z = mkSent (mkCl x v3 (MassNP y) z) ;
+ SentA a x = mkSent (mkCl x a) ;
+ SentNP np x = mkSent (mkCl x np) ;
- ImpV v = ImpVP (UseV v) ;
- ImpV2 v x = ImpVP (ComplV2 v x) ;
- ImpV2Mass v x = ImpVP (ComplV2 v (massNP x)) ;
- ImpV3 v x y = ImpVP (ComplV3 v x y) ;
- ImpV3Mass v x y = ImpVP (ComplV3 v (massNP x) y) ;
+ SentAdvV v x adv = mkSent (mkCl x (mkVP (mkVP v) adv)) ;
+ SentAdvV2 v2 x y adv = mkSent (mkCl x (mkVP (mkVP v2 y) adv)) ;
- UsePron p = UsePron p ;
- PossPronCNSg p n = DetCN (DetSg (SgQuant (PossPron p)) NoOrd) n;
- PossPronCNPl p n = DetCN (DetPl (PlQuant (PossPron p)) NoNum NoOrd) n;
- DetCN d n = DetCN d n ;
- NumCN k cn = DetCN (DetPl (PlQuant IndefArt) k NoOrd) cn ;
+ ImpV v = mkImp v ;
+ ImpV2 v2 x = mkImp v2 x ;
+ ImpV2Mass v2 x = mkImp v2 (MassNP x) ;
+ ImpV3 v3 x y = mkImp (mkVP v3 x y) ;
+ ImpV3Mass v3 x y = mkImp (mkVP v3 (MassNP x) y) ;
- UseN n = UseN n ;
- ModCN a cn = AdjCN (PositA a) cn ;
+ UsePron p = mkNP p ;
+-- PossPronCNSg p n = DetCN (DetSg (SgQuant (PossPron p)) NoOrd) n;
+-- PossPronCNPl p n = mkNP (DetPl (PlQuant (PossPron p)) NoNum NoOrd) n;
+ DetCN d n = mkNP d n ;
+ NumCN k cn = mkNP a_Art k cn ;
- UseMassN mn = UseN mn ;
- ModMass a cn = AdjCN (PositA a) cn ;
+ UseN n = mkCN n ;
+ ModCN a cn = mkCN a cn ;
- param
- SForm = SPos | SNeg | SQuest ;
+ UseMassN mn = mkCN mn ;
+ ModMass a cn = mkCN a cn ;
oper
- mkSent : NP -> VP -> Sent ;
- mkSent np vp =
- let cl = PredVP np vp
- in {
+ mkSent : Cl -> Sent ;
+ mkSent cl =
+ {
s = table {
- SPos => Predef.toStr S (UseCl TPres ASimul PPos cl) ;
- SNeg => Predef.toStr S (UseCl TPres ASimul PNeg cl) ;
- SQuest => Predef.toStr QS (UseQCl TPres ASimul PPos (QuestCl cl))
+ SPos => Predef.toStr S (mkS cl) ;
+ SNeg => Predef.toStr S (mkS negativePol cl) ;
+ SQuest => Predef.toStr QS (mkQS cl)
} ;
lock_Sent = <>
} ;
- massNP : CN -> NP = \mcn -> DetCN (DetSg MassDet NoOrd) mcn ;
-
mkQuest : QCl -> Quest ;
- mkQuest q = { s = Predef.toStr QS (UseQCl TPres ASimul PPos q);
+ mkQuest q = { s = Predef.toStr QS (mkQS q);
lock_Quest = <> } ;
}
diff --git a/examples/peacekeeping/english/PeaceCat_Eng.gf b/examples/peacekeeping/english/PeaceCat_Eng.gf
index d73e1d581..0f3e59bf5 100644
--- a/examples/peacekeeping/english/PeaceCat_Eng.gf
+++ b/examples/peacekeeping/english/PeaceCat_Eng.gf
@@ -1,3 +1,3 @@
--# -path=.:present:prelude
-concrete PeaceCat_Eng of PeaceCat = CatEng ** PeaceCatI with (Lang = LangEng); \ No newline at end of file
+concrete PeaceCat_Eng of PeaceCat = PeaceCatI with (Lang = LangEng); \ No newline at end of file
diff --git a/examples/peacekeeping/finnish/PeaceCat_Fin.gf b/examples/peacekeeping/finnish/PeaceCat_Fin.gf
index b5e73aaf1..1a0c6ac9c 100644
--- a/examples/peacekeeping/finnish/PeaceCat_Fin.gf
+++ b/examples/peacekeeping/finnish/PeaceCat_Fin.gf
@@ -1,3 +1,3 @@
--# -path=.:present:prelude
-concrete PeaceCat_Fin of PeaceCat = CatFin ** PeaceCatI with (Lang = LangFin);
+concrete PeaceCat_Fin of PeaceCat = PeaceCatI with (Lang = LangFin);
diff --git a/examples/peacekeeping/swedish/PeaceCat_Swe.gf b/examples/peacekeeping/swedish/PeaceCat_Swe.gf
index 5ccfb2ed5..e056dc86a 100644
--- a/examples/peacekeeping/swedish/PeaceCat_Swe.gf
+++ b/examples/peacekeeping/swedish/PeaceCat_Swe.gf
@@ -1,3 +1,3 @@
--# -path=.:present:prelude
-concrete PeaceCat_Swe of PeaceCat = CatSwe ** PeaceCatI with (Lang = LangSwe); \ No newline at end of file
+concrete PeaceCat_Swe of PeaceCat = PeaceCatI with (Lang = LangSwe); \ No newline at end of file