mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
shallow grammar experiment
This commit is contained in:
48
examples/shallow/Shallow.gf
Normal file
48
examples/shallow/Shallow.gf
Normal file
@@ -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 ;
|
||||||
|
|
||||||
|
}
|
||||||
33
examples/shallow/ShallowEng.gf
Normal file
33
examples/shallow/ShallowEng.gf
Normal file
@@ -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) ;
|
||||||
|
|
||||||
33
examples/shallow/ShallowFre.gf
Normal file
33
examples/shallow/ShallowFre.gf
Normal file
@@ -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) ;
|
||||||
|
|
||||||
54
examples/shallow/ShallowI.gf
Normal file
54
examples/shallow/ShallowI.gf
Normal file
@@ -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) ;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user