diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-11-01 16:45:07 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-11-01 16:45:07 +0000 |
| commit | b8a454a7d3600195f89b407052f9f0fafe4d5910 (patch) | |
| tree | a221de6fef560499cc55857006512064a5e7915b /examples/shallow/ShallowI.gf | |
| parent | 81b973e197303f491de55294697314b63ae46c93 (diff) | |
shallow grammar experiment
Diffstat (limited to 'examples/shallow/ShallowI.gf')
| -rw-r--r-- | examples/shallow/ShallowI.gf | 54 |
1 files changed, 54 insertions, 0 deletions
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) ; + +} |
