From 4905ceac59aa4fc849a2444935826e9bea58b940 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 1 Nov 2006 16:45:07 +0000 Subject: [PATCH] shallow grammar experiment --- examples/shallow/Shallow.gf | 48 ++++++++++++++++++++++++++++++ examples/shallow/ShallowEng.gf | 33 +++++++++++++++++++++ examples/shallow/ShallowFre.gf | 33 +++++++++++++++++++++ examples/shallow/ShallowI.gf | 54 ++++++++++++++++++++++++++++++++++ 4 files changed, 168 insertions(+) create mode 100644 examples/shallow/Shallow.gf create mode 100644 examples/shallow/ShallowEng.gf create mode 100644 examples/shallow/ShallowFre.gf create mode 100644 examples/shallow/ShallowI.gf 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) ; + +}