summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-11-01 16:45:07 +0000
committeraarne <aarne@cs.chalmers.se>2006-11-01 16:45:07 +0000
commitb8a454a7d3600195f89b407052f9f0fafe4d5910 (patch)
treea221de6fef560499cc55857006512064a5e7915b
parent81b973e197303f491de55294697314b63ae46c93 (diff)
shallow grammar experiment
-rw-r--r--examples/shallow/Shallow.gf48
-rw-r--r--examples/shallow/ShallowEng.gf33
-rw-r--r--examples/shallow/ShallowFre.gf33
-rw-r--r--examples/shallow/ShallowI.gf54
4 files changed, 168 insertions, 0 deletions
diff --git a/examples/shallow/Shallow.gf b/examples/shallow/Shallow.gf
new file mode 100644
index 000000000..275221ba0
--- /dev/null
+++ b/examples/shallow/Shallow.gf
@@ -0,0 +1,48 @@
+abstract Shallow = Lexicon, Grammar-[
+ VP,
+ ImpersCl, -- : VP -> Cl ; -- it rains
+ GenericCl, -- : VP -> Cl ; -- one sleeps
+ ProgrVP, -- : VP -> VP ; -- be sleeping
+ ImpPl1, -- : VP -> Utt ; -- let's go
+ UttVP, -- : VP -> Utt ; -- to sleep
+ QuestVP, -- : IP -> VP -> QCl ; -- who walks
+ RelVP, -- : RP -> VP -> RCl ; -- who loves John
+ PredVP, -- : NP -> VP -> Cl ; -- John walks
+ PredSCVP, -- : SC -> VP -> Cl ; -- that you go makes me happy
+ ImpVP, -- : VP -> Imp ; -- go
+ EmbedVP, -- : VP -> SC ; -- to go
+ UseV , -- : V -> VP ; -- sleep
+ ComplV2 , -- : V2 -> NP -> VP ; -- use it
+ ComplV3 , -- : V3 -> NP -> NP -> VP ; -- send a message to her
+ ComplVV , -- : VV -> VP -> VP ; -- want to run
+ ComplVS , -- : VS -> S -> VP ; -- know that she runs
+ ComplVQ , -- : VQ -> QS -> VP ; -- ask if she runs
+ ComplVA , -- : VA -> AP -> VP ; -- look red
+ ComplV2A, -- : V2A -> NP -> AP -> VP ; -- paint the house red
+ ReflV2 , -- : V2 -> VP ; -- use itself
+ UseComp , -- : Comp -> VP ; -- be warm
+ PassV2 , -- : V2 -> VP ; -- be used
+ AdvVP , -- : VP -> Adv -> VP ; -- sleep here
+ AdVVP -- : AdV -> VP -> VP ; -- always sleep
+ ]
+** {
+
+ cat
+ Advs ;
+ AdVs ;
+
+ fun
+ NoAdv : Advs ;
+ NoAdV : AdVs ;
+ ConAdv : Adv -> Advs -> Advs ;
+ ConAdV : AdV -> AdVs -> AdVs ;
+
+ PredUseV : NP -> AdVs -> V -> Advs -> Cl ;
+ PredComplV2 : NP -> AdVs -> V2 -> NP -> Advs -> Cl ;
+ PredUseComp : NP -> AdVs -> Comp -> Advs -> Cl ;
+
+ QuestUseV : IP -> AdVs -> V -> Advs -> QCl ;
+ QuestComplV2 : IP -> AdVs -> V2 -> NP -> Advs -> QCl ;
+ QuestUseComp : IP -> AdVs -> Comp -> Advs -> QCl ;
+
+}
diff --git a/examples/shallow/ShallowEng.gf b/examples/shallow/ShallowEng.gf
new file mode 100644
index 000000000..2580c7746
--- /dev/null
+++ b/examples/shallow/ShallowEng.gf
@@ -0,0 +1,33 @@
+--# -path=.:alltenses:prelude
+
+concrete ShallowEng of Shallow = LexiconEng, GrammarEng - [
+ VP,
+ ImpersCl,
+ GenericCl,
+ ProgrVP,
+ ImpPl1,
+ UttVP,
+ QuestVP,
+ RelVP,
+ PredVP,
+ PredSCVP,
+ ImpVP,
+ EmbedVP,
+ UseV ,
+ ComplV2 ,
+ ComplV3 ,
+ ComplVV ,
+ ComplVS ,
+ ComplVQ ,
+ ComplVA ,
+ ComplV2A,
+ ReflV2 ,
+ UseComp ,
+ PassV2 ,
+ AdvVP ,
+ AdVVP
+ ]
+
+** ShallowI with
+ (Grammar = GrammarEng) ;
+
diff --git a/examples/shallow/ShallowFre.gf b/examples/shallow/ShallowFre.gf
new file mode 100644
index 000000000..70997aa9c
--- /dev/null
+++ b/examples/shallow/ShallowFre.gf
@@ -0,0 +1,33 @@
+--# -path=.:alltenses:prelude
+
+concrete ShallowFre of Shallow = LexiconFre, GrammarFre - [
+ VP,
+ ImpersCl,
+ GenericCl,
+ ProgrVP,
+ ImpPl1,
+ UttVP,
+ QuestVP,
+ RelVP,
+ PredVP,
+ PredSCVP,
+ ImpVP,
+ EmbedVP,
+ UseV ,
+ ComplV2 ,
+ ComplV3 ,
+ ComplVV ,
+ ComplVS ,
+ ComplVQ ,
+ ComplVA ,
+ ComplV2A,
+ ReflV2 ,
+ UseComp ,
+ PassV2 ,
+ AdvVP ,
+ AdVVP
+ ]
+
+** ShallowI with
+ (Grammar = GrammarFre) ;
+
diff --git a/examples/shallow/ShallowI.gf b/examples/shallow/ShallowI.gf
new file mode 100644
index 000000000..3754a526f
--- /dev/null
+++ b/examples/shallow/ShallowI.gf
@@ -0,0 +1,54 @@
+incomplete concrete ShallowI of Shallow = Lexicon, Grammar-[
+ VP,
+ ImpersCl, -- : VP -> Cl ; -- it rains
+ GenericCl, -- : VP -> Cl ; -- one sleeps
+ ProgrVP, -- : VP -> VP ; -- be sleeping
+ ImpPl1, -- : VP -> Utt ; -- let's go
+ UttVP, -- : VP -> Utt ; -- to sleep
+ QuestVP, -- : IP -> VP -> QCl ; -- who walks
+ RelVP, -- : RP -> VP -> RCl ; -- who loves John
+ PredVP, -- : NP -> VP -> Cl ; -- John walks
+ PredSCVP, -- : SC -> VP -> Cl ; -- that you go makes me happy
+ ImpVP, -- : VP -> Imp ; -- go
+ EmbedVP, -- : VP -> SC ; -- to go
+ UseV , -- : V -> VP ; -- sleep
+ ComplV2 , -- : V2 -> NP -> VP ; -- use it
+ ComplV3 , -- : V3 -> NP -> NP -> VP ; -- send a message to her
+ ComplVV , -- : VV -> VP -> VP ; -- want to run
+ ComplVS , -- : VS -> S -> VP ; -- know that she runs
+ ComplVQ , -- : VQ -> QS -> VP ; -- ask if she runs
+ ComplVA , -- : VA -> AP -> VP ; -- look red
+ ComplV2A, -- : V2A -> NP -> AP -> VP ; -- paint the house red
+ ReflV2 , -- : V2 -> VP ; -- use itself
+ UseComp , -- : Comp -> VP ; -- be warm
+ PassV2 , -- : V2 -> VP ; -- be used
+ AdvVP , -- : VP -> Adv -> VP ; -- sleep here
+ AdVVP -- : AdV -> VP -> VP ; -- always sleep
+ ]
+** open Grammar, Prelude in {
+
+ lincat
+ Advs = Adv ;
+ AdVs = AdV ;
+
+ lin
+ NoAdv = {s = [] ; lock_Adv = <>} ;
+ NoAdV = {s = [] ; lock_AdV = <>} ;
+ ConAdv a as = {s = a.s ++ as.s ; lock_Adv = <>} ;
+ ConAdV a as = {s = a.s ++ as.s ; lock_AdV = <>} ;
+
+ PredUseV np adVs v advs =
+ PredVP np (AdvVP (AdVVP adVs (UseV v)) advs) ;
+ PredComplV2 np adVs v ob advs =
+ PredVP np (AdvVP (AdVVP adVs (ComplV2 v ob)) advs) ;
+ PredUseComp np adVs v advs =
+ PredVP np (AdvVP (AdVVP adVs (UseComp v)) advs) ;
+
+ QuestUseV np adVs v advs =
+ QuestVP np (AdvVP (AdVVP adVs (UseV v)) advs) ;
+ QuestComplV2 np adVs v ob advs =
+ QuestVP np (AdvVP (AdVVP adVs (ComplV2 v ob)) advs) ;
+ QuestUseComp np adVs v advs =
+ QuestVP np (AdvVP (AdVVP adVs (UseComp v)) advs) ;
+
+}