From eb9c4bdcaef7b18cf5450815e9c95d1ba2b622a2 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 13 Jan 2006 14:48:53 +0000 Subject: [PATCH] documenting and reorganizing Verb --- lib/resource-1.0/abstract/Noun.gf | 3 +- lib/resource-1.0/abstract/Sentence.gf | 4 + lib/resource-1.0/abstract/Verb.gf | 78 +++++++++++++------ lib/resource-1.0/english/SentenceEng.gf | 4 + lib/resource-1.0/english/VerbEng.gf | 7 +- lib/resource-1.0/german/SentenceGer.gf | 4 + lib/resource-1.0/german/VerbGer.gf | 6 +- .../scandinavian/SentenceScand.gf | 4 + lib/resource-1.0/scandinavian/VerbScand.gf | 6 +- 9 files changed, 77 insertions(+), 39 deletions(-) diff --git a/lib/resource-1.0/abstract/Noun.gf b/lib/resource-1.0/abstract/Noun.gf index f7fccb021..d3622ad0f 100644 --- a/lib/resource-1.0/abstract/Noun.gf +++ b/lib/resource-1.0/abstract/Noun.gf @@ -2,8 +2,6 @@ abstract Noun = Cat ** { - fun - --2 Noun phrases -- The three main types of noun phrases are @@ -12,6 +10,7 @@ abstract Noun = Cat ** { -- - pronouns -- -- + fun DetCN : Det -> CN -> NP ; -- the man UsePN : PN -> NP ; -- John UsePron : Pron -> NP ; -- he diff --git a/lib/resource-1.0/abstract/Sentence.gf b/lib/resource-1.0/abstract/Sentence.gf index f2571cc81..a0e94cd1a 100644 --- a/lib/resource-1.0/abstract/Sentence.gf +++ b/lib/resource-1.0/abstract/Sentence.gf @@ -12,4 +12,8 @@ abstract Sentence = Cat ** { AdvSlash : Slash -> Adv -> Slash ; SlashPrep : Cl -> Prep -> Slash ; + EmbedS : S -> SC ; + EmbedQS : QS -> SC ; + EmbedVP : VP -> SC ; + } diff --git a/lib/resource-1.0/abstract/Verb.gf b/lib/resource-1.0/abstract/Verb.gf index 69539097d..ba16b0dc5 100644 --- a/lib/resource-1.0/abstract/Verb.gf +++ b/lib/resource-1.0/abstract/Verb.gf @@ -1,36 +1,70 @@ +--1 The construction of verb phrases + abstract Verb = Cat ** { +--2 Complementization rules + +-- Verb phrases are constructed from verbs by providing their +-- complements. There is one rule for each verb category. + fun - UseV : V -> VP ; - ComplV2 : V2 -> NP -> VP ; - ComplV3 : V3 -> NP -> NP -> VP ; + UseV : V -> VP ; -- sleep + ComplV2 : V2 -> NP -> VP ; -- use it + ComplV3 : V3 -> NP -> NP -> VP ; -- send a message to her - ComplVV : VV -> VP -> VP ; - ComplVS : VS -> S -> VP ; - ComplVQ : VQ -> QS -> VP ; + 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 ; - ComplV2A : V2A -> NP -> AP -> VP ; + ComplVA : VA -> AP -> VP ; -- look red + ComplV2A : V2A -> NP -> AP -> VP ; -- paint the house red - ReflV2 : V2 -> VP ; - PassV2 : V2 -> Comp ; --- overgen (V2 with prep) +--2 Other ways of forming verb phrases - UseComp : Comp -> VP ; +-- Verb phrases can also be constructed reflexively and from +-- copula-preceded complements. - AdvVP : VP -> Adv -> VP ; -- here - AdVVP : AdV -> VP -> VP ; -- always + ReflV2 : V2 -> VP ; -- use itself + UseComp : Comp -> VP ; -- be warm - CompAP : AP -> Comp ; - CompNP : NP -> Comp ; - CompAdv : Adv -> Comp ; +-- Passivization of two-place verbs is another way to use +-- them. In many languages, the result is a participle that +-- is used as complement to a copula ("is used"), but other +-- auxiliary verbs are possible (Ger. "wird angewendet", It. +-- "viene usato"), as well as special verb forms (Fin. "käytetään", +-- Swe. "används"). +-- +-- *Note*. the rule can be overgenerating, since the $V2$ need not +-- take a direct object. - UseVV : VV -> V2 ; - UseVQ : VQ -> V2 ; - UseVS : VS -> V2 ; + PassV2 : V2 -> VP ; -- be used - EmbedS : S -> SC ; - EmbedQS : QS -> SC ; - EmbedVP : VP -> SC ; +-- Adverbs can be added to verb phrases. Many languages make +-- a distinction between adverbs that are attached in the end +-- vs. next to (or before) the verb. + AdvVP : VP -> Adv -> VP ; -- sleep here + AdVVP : AdV -> VP -> VP ; -- always sleep + +-- *Agents of passives* are constructed as adverbs with the +-- preposition [Structural Structural.html]$.8agent_Prep$. + + +--2 Complements to copula + +-- Adjectival phrases, noun phrases, and adverbs can be used. + + CompAP : AP -> Comp ; -- (be) small + CompNP : NP -> Comp ; -- (be) a soldier + CompAdv : Adv -> Comp ; -- (be) here + +--2 Coercions + +-- Verbs can change subcategorization patterns in systematic ways, +-- but this is very much language-dependent. The following two +-- work in all the languages we cover. + + UseVQ : VQ -> V2 ; -- ask (a question) + UseVS : VS -> V2 ; -- know (a secret) } diff --git a/lib/resource-1.0/english/SentenceEng.gf b/lib/resource-1.0/english/SentenceEng.gf index 4f97dc897..7eacdca8f 100644 --- a/lib/resource-1.0/english/SentenceEng.gf +++ b/lib/resource-1.0/english/SentenceEng.gf @@ -34,4 +34,8 @@ concrete SentenceEng of Sentence = CatEng ** open ResEng in { SlashPrep cl prep = cl ** {c2 = prep.s} ; + EmbedS s = {s = conjThat ++ s.s} ; + EmbedQS qs = {s = qs.s ! QIndir} ; + EmbedVP vp = {s = infVP vp (agrP3 Sg)} ; --- agr + } diff --git a/lib/resource-1.0/english/VerbEng.gf b/lib/resource-1.0/english/VerbEng.gf index 3e967a4f1..8083fb3c1 100644 --- a/lib/resource-1.0/english/VerbEng.gf +++ b/lib/resource-1.0/english/VerbEng.gf @@ -23,16 +23,13 @@ concrete VerbEng of Verb = CatEng ** open ResEng in { ReflV2 v = insertObj (\\a => v.c2 ++ reflPron ! a) (predV v) ; - PassV2 v = {s = \\_ => v.s ! VPPart} ; + PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ; - UseVV, UseVS, UseVQ = \vv -> {s = vv.s ; c2 = []} ; -- no "to" + UseVS, UseVQ = \vv -> {s = vv.s ; c2 = []} ; -- no "to" CompAP ap = ap ; CompNP np = {s = \\_ => np.s ! Acc} ; CompAdv a = {s = \\_ => a.s} ; - EmbedS s = {s = conjThat ++ s.s} ; - EmbedQS qs = {s = qs.s ! QIndir} ; - EmbedVP vp = {s = infVP vp (agrP3 Sg)} ; --- agr } diff --git a/lib/resource-1.0/german/SentenceGer.gf b/lib/resource-1.0/german/SentenceGer.gf index fddd4d81f..008807a85 100644 --- a/lib/resource-1.0/german/SentenceGer.gf +++ b/lib/resource-1.0/german/SentenceGer.gf @@ -32,4 +32,8 @@ concrete SentenceGer of Sentence = CatGer ** open ResGer in { SlashPrep cl prep = cl ** {c2 = prep} ; + EmbedS s = {s = conjThat ++ s.s ! Sub} ; + EmbedQS qs = {s = qs.s ! QIndir} ; + EmbedVP vp = {s = (vp.s ! agrP3 Sg ! VPInfinit Simul).inf} ; --- agr + } diff --git a/lib/resource-1.0/german/VerbGer.gf b/lib/resource-1.0/german/VerbGer.gf index 8612b9715..665f3a0d7 100644 --- a/lib/resource-1.0/german/VerbGer.gf +++ b/lib/resource-1.0/german/VerbGer.gf @@ -34,10 +34,6 @@ concrete VerbGer of Verb = CatGer ** open ResGer in { -- -- PassV2 v = {s = \\_ => v.s ! VPPart} ; - UseVV, UseVS, UseVQ = \v -> v ** {c2 = noPreposition Acc} ; + UseVS, UseVQ = \v -> v ** {c2 = noPreposition Acc} ; --- EmbedS s = {s = conjThat ++ s.s} ; --- EmbedQS qs = {s = qs.s ! QIndir} ; --- EmbedVP vp = {s = infVP vp (agrP3 Sg)} ; --- agr --- } diff --git a/lib/resource-1.0/scandinavian/SentenceScand.gf b/lib/resource-1.0/scandinavian/SentenceScand.gf index 98e1177b5..6f657553d 100644 --- a/lib/resource-1.0/scandinavian/SentenceScand.gf +++ b/lib/resource-1.0/scandinavian/SentenceScand.gf @@ -36,4 +36,8 @@ incomplete concrete SentenceScand of Sentence = SlashPrep cl prep = cl ** {c2 = prep.s} ; + EmbedS s = {s = conjThat ++ s.s ! Sub} ; + EmbedQS qs = {s = qs.s ! QIndir} ; + EmbedVP vp = {s = infVP vp (agrP3 utrum Sg)} ; --- agr + } diff --git a/lib/resource-1.0/scandinavian/VerbScand.gf b/lib/resource-1.0/scandinavian/VerbScand.gf index b175de29f..1c21346f5 100644 --- a/lib/resource-1.0/scandinavian/VerbScand.gf +++ b/lib/resource-1.0/scandinavian/VerbScand.gf @@ -35,10 +35,6 @@ incomplete concrete VerbScand of Verb = CatScand ** open DiffScand, ResScand in PassV2 v = {s = \\_ => v.s ! VPPart} ; -} - UseVV, UseVS, UseVQ = \vv -> {s = vv.s ; c2 = []} ; - - EmbedS s = {s = conjThat ++ s.s ! Sub} ; - EmbedQS qs = {s = qs.s ! QIndir} ; - EmbedVP vp = {s = infVP vp (agrP3 utrum Sg)} ; --- agr + UseVS, UseVQ = \vv -> {s = vv.s ; c2 = []} ; }