From 49c7d3221b99d8d2f42f591bee9cc259d1011fc9 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 16 Apr 2008 13:41:59 +0000 Subject: [PATCH] restored V2V, V2S, V2Q as categories in RG --- lib/resource/abstract/Cat.gf | 5 ++++- lib/resource/abstract/Lexicon.gf | 6 +++--- lib/resource/abstract/Verb.gf | 10 +++++++--- lib/resource/danish/ParadigmsDan.gf | 10 ++++------ lib/resource/english/CatEng.gf | 3 ++- lib/resource/english/ParadigmsEng.gf | 16 +++++++--------- lib/resource/english/VerbEng.gf | 12 ++++++++++-- lib/resource/norwegian/ParadigmsNor.gf | 9 +++------ lib/resource/scandinavian/CatScand.gf | 4 ++-- lib/resource/scandinavian/VerbScand.gf | 18 +++++++++++++++--- lib/resource/swedish/LexiconSwe.gf | 2 +- lib/resource/swedish/ParadigmsSwe.gf | 14 ++++++-------- 12 files changed, 64 insertions(+), 45 deletions(-) diff --git a/lib/resource/abstract/Cat.gf b/lib/resource/abstract/Cat.gf index 885332019..09de3bff0 100644 --- a/lib/resource/abstract/Cat.gf +++ b/lib/resource/abstract/Cat.gf @@ -108,8 +108,11 @@ abstract Cat = Common ** { V3 ; -- three-place verb e.g. "show" VV ; -- verb-phrase-complement verb e.g. "want" VS ; -- sentence-complement verb e.g. "claim" - VQ ; -- question-complement verb e.g. "ask" + VQ ; -- question-complement verb e.g. "wonder" VA ; -- adjective-complement verb e.g. "look" + V2V ; -- verb with NP and V complement e.g. "cause" + V2S ; -- verb with NP and S complement e.g. "tell" + V2Q ; -- verb with NP and Q complement e.g. "ask" V2A ; -- verb with NP and AP complement e.g. "paint" A ; -- one-place adjective e.g. "warm" diff --git a/lib/resource/abstract/Lexicon.gf b/lib/resource/abstract/Lexicon.gf index 80c7a2e24..59b844ec9 100644 --- a/lib/resource/abstract/Lexicon.gf +++ b/lib/resource/abstract/Lexicon.gf @@ -4,12 +4,12 @@ fun airplane_N : N ; already_Adv : Adv ; animal_N : N ; - answer_V2S : V2 ; + answer_V2S : V2S ; apartment_N : N ; apple_N : N ; art_N : N ; ashes_N : N ; - ask_V2Q : V2 ; + ask_V2Q : V2Q ; baby_N : N ; back_N : N ; bad_A : A ; @@ -18,7 +18,7 @@ fun beautiful_A : A ; become_VA : VA ; beer_N : N ; - beg_V2V : V2 ; + beg_V2V : V2V ; belly_N : N ; big_A : A ; bike_N : N ; diff --git a/lib/resource/abstract/Verb.gf b/lib/resource/abstract/Verb.gf index bcbe5e948..5ad5abc40 100644 --- a/lib/resource/abstract/Verb.gf +++ b/lib/resource/abstract/Verb.gf @@ -14,10 +14,14 @@ abstract Verb = Cat ** { ComplVV : VV -> VP -> VP ; -- want to run ComplVS : VS -> S -> VP ; -- know that she runs - ComplVQ : VQ -> QS -> VP ; -- ask if she runs - + ComplVQ : VQ -> QS -> VP ; -- wonder if she runs ComplVA : VA -> AP -> VP ; -- look red - ComplV2A : V2A -> NP -> AP -> VP ; -- paint the house red + + ComplV2V : V2V -> NP -> VP -> VP ; -- cause it to burn + ComplV2S : V2S -> NP -> S -> VP ; -- tell me that it rains + ComplV2Q : V2Q -> NP -> QS -> VP ; -- ask me who came + ComplV2A : V2A -> NP -> AP -> VP ; -- paint it red + --2 Other ways of forming verb phrases diff --git a/lib/resource/danish/ParadigmsDan.gf b/lib/resource/danish/ParadigmsDan.gf index c1433514c..e6b63c4df 100644 --- a/lib/resource/danish/ParadigmsDan.gf +++ b/lib/resource/danish/ParadigmsDan.gf @@ -271,12 +271,11 @@ oper mkAV : A -> AV ; mkA2V : A -> Prep -> A2V ; --- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated --- just as synonyms of $V2$, and the second argument is given --- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. +-- Notice: categories $AS, A2S, AV, A2V$ are just $A$, +-- and the second argument is given as an adverb.. -- $V0$ is just $V$. - V0, V2S, V2V, V2Q : Type ; + V0 : Type ; AS, A2S, AV, A2V : Type ; --. @@ -431,7 +430,7 @@ oper mkVS v = v ** {lock_VS = <>} ; mkV2S v p = mk2V2 v p ** {lock_V2S = <>} ; mkVV v = v ** {c2 = "å" ; lock_VV = <>} ; - mkV2V v p t = mk2V2 v p ** {s3 = t ; lock_V2V = <>} ; + mkV2V v p t = mk2V2 v p ** {c3 = "att" ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; mkV2A v p = mk2V2 v p ** {lock_V2A = <>} ; mkVQ v = v ** {lock_VQ = <>} ; @@ -443,7 +442,6 @@ oper mkA2V v p = mkA2 v p ** {lock_A = <>} ; V0 : Type = V ; - V2S, V2V, V2Q : Type = V2 ; AS, A2S, AV : Type = A ; A2V : Type = A2 ; diff --git a/lib/resource/english/CatEng.gf b/lib/resource/english/CatEng.gf index 384cabe60..a71182194 100644 --- a/lib/resource/english/CatEng.gf +++ b/lib/resource/english/CatEng.gf @@ -65,9 +65,10 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in { -- Open lexical classes, e.g. Lexicon V, VS, VQ, VA = Verb ; -- = {s : VForm => Str} ; - V2, V2A = Verb ** {c2 : Str} ; + V2, V2A, V2Q, V2S = Verb ** {c2 : Str} ; V3 = Verb ** {c2, c3 : Str} ; VV = {s : VVForm => Str ; isAux : Bool} ; + V2V = Verb ** {c2 : Str ; isAux : Bool} ; A = {s : AForm => Str} ; A2 = {s : AForm => Str ; c2 : Str} ; diff --git a/lib/resource/english/ParadigmsEng.gf b/lib/resource/english/ParadigmsEng.gf index 6cebee6d8..b1ed21b66 100644 --- a/lib/resource/english/ParadigmsEng.gf +++ b/lib/resource/english/ParadigmsEng.gf @@ -268,12 +268,10 @@ oper mkAV : A -> AV ; mkA2V : A -> Prep -> A2V ; --- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated --- just as synonyms of $V2$, and the second argument is given --- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. --- $V0$ is just $V$. +-- Notice: Categories $V0, AS, A2S, AV, A2V$ are just $A$. +-- $V0$ is just $V$; the second argument is treated as adverb. - V0, V2S, V2V, V2Q : Type ; + V0 : Type ; AS, A2S, AV, A2V : Type ; --. @@ -457,16 +455,16 @@ oper mkVQ v = v ** {lock_VQ = <>} ; V0 : Type = V ; - V2S, V2V, V2Q : Type = V2 ; +-- V2S, V2V, V2Q : Type = V2 ; AS, A2S, AV : Type = A ; A2V : Type = A2 ; mkV0 v = v ** {lock_V = <>} ; - mkV2S v p = prepV2 v p ** {lock_V2 = <>} ; - mkV2V v p t = prepV2 v p ** {s4 = t ; lock_V2 = <>} ; + mkV2S v p = prepV2 v p ** {lock_V2S = <>} ; + mkV2V v p t = prepV2 v p ** {isAux = False ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; mkV2A v p = prepV2 v p ** {lock_V2A = <>} ; - mkV2Q v p = prepV2 v p ** {lock_V2 = <>} ; + mkV2Q v p = prepV2 v p ** {lock_V2Q = <>} ; mkAS v = v ** {lock_A = <>} ; mkA2S v p = mkA2 v p ** {lock_A = <>} ; diff --git a/lib/resource/english/VerbEng.gf b/lib/resource/english/VerbEng.gf index 1b454332b..d10e665b8 100644 --- a/lib/resource/english/VerbEng.gf +++ b/lib/resource/english/VerbEng.gf @@ -9,11 +9,19 @@ concrete VerbEng of Verb = CatEng ** open ResEng in { insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ; ComplVV v vp = insertObj (\\a => infVP v.isAux vp a) (predVV v) ; - ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ; ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ; - ComplVA v ap = insertObj (ap.s) (predV v) ; + + ComplV2V v np vp = + insertObj (\\a => infVP v.isAux vp a) + (insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ; + ComplV2S v np s = + insertObj (\\_ => conjThat ++ s.s) + (insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ; + ComplV2Q v np q = + insertObj (\\_ => q.s ! QIndir) + (insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ; ComplV2A v np ap = insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ; diff --git a/lib/resource/norwegian/ParadigmsNor.gf b/lib/resource/norwegian/ParadigmsNor.gf index 5e37100ad..ee662323f 100644 --- a/lib/resource/norwegian/ParadigmsNor.gf +++ b/lib/resource/norwegian/ParadigmsNor.gf @@ -259,12 +259,10 @@ oper mkAV : A -> AV ; mkA2V : A -> Prep -> A2V ; --- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated --- just as synonyms of $V2$, and the second argument is given --- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. +-- Notice: categories $AS, A2S, AV, A2V$ are just $A$. -- $V0$ is just $V$. - V0, V2S, V2V, V2Q : Type ; + V0 : Type ; AS, A2S, AV, A2V : Type ; @@ -417,7 +415,7 @@ oper mkVS v = v ** {lock_VS = <>} ; mkV2S v p = mk2V2 v p ** {lock_V2S = <>} ; mkVV v = v ** {c2 = "å" ; lock_VV = <>} ; - mkV2V v p t = mk2V2 v p ** {s3 = t ; lock_V2V = <>} ; + mkV2V v p t = mk2V2 v p ** {c3 = "att" ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; mkV2A v p = mk2V2 v p ** {lock_V2A = <>} ; mkVQ v = v ** {lock_VQ = <>} ; @@ -429,7 +427,6 @@ oper mkA2V v p = mkA2 v p ** {lock_A = <>} ; V0 : Type = V ; - V2S, V2V, V2Q : Type = V2 ; AS, A2S, AV : Type = A ; A2V : Type = A2 ; diff --git a/lib/resource/scandinavian/CatScand.gf b/lib/resource/scandinavian/CatScand.gf index 9c0fdaf43..4c1295ede 100644 --- a/lib/resource/scandinavian/CatScand.gf +++ b/lib/resource/scandinavian/CatScand.gf @@ -82,8 +82,8 @@ incomplete concrete CatScand of Cat = -- Open lexical classes, e.g. Lexicon V, VS, VQ, VA = Verb ; - V2, VV, V2A = Verb ** {c2 : Str} ; - V3 = Verb ** {c2,c3 : Str} ; + V2, VV, V2Q, V2S, V2A = Verb ** {c2 : Str} ; + V3,V2V = Verb ** {c2,c3 : Str} ; A = Adjective ** {isComp : Bool} ; -- {s : AForm => Str} ; diff --git a/lib/resource/scandinavian/VerbScand.gf b/lib/resource/scandinavian/VerbScand.gf index c88c650a8..bd059627d 100644 --- a/lib/resource/scandinavian/VerbScand.gf +++ b/lib/resource/scandinavian/VerbScand.gf @@ -13,12 +13,24 @@ incomplete concrete VerbScand of Verb = CatScand ** open CommonScand, ResScand i ComplVV v vp = insertObj (\\a => v.c2 ++ infVP vp a) (predV v) ; ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ; ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ; - ComplVA v ap = insertObj (\\a => ap.s ! agrAdj a.gn DIndef) (predV v) ; + + ComplV2V v np vp = + insertObj + (\\a => v.c3 ++ infVP vp a) + (insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ; + ComplV2S v np s = + insertObj + (\\_ => conjThat ++ s.s ! Sub) + (insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ; + ComplV2Q v np q = + insertObj + (\\_ => q.s ! QIndir) + (insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ; ComplV2A v np ap = - insertAdv - (ap.s ! agrAdj np.a.gn DIndef) + insertObj + (\\_ => ap.s ! agrAdj np.a.gn DIndef) (insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ; UseComp comp = insertObj (\\a => comp.s ! agrAdj a.gn DIndef) (predV verbBe) ; diff --git a/lib/resource/swedish/LexiconSwe.gf b/lib/resource/swedish/LexiconSwe.gf index d684b11fe..87bd0ceee 100644 --- a/lib/resource/swedish/LexiconSwe.gf +++ b/lib/resource/swedish/LexiconSwe.gf @@ -19,7 +19,7 @@ lin beautiful_A = mk3A "vacker" "vackert" "vackra" ; become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ; beer_N = regGenN "öl" neutrum ; - beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") noPrep (mkPrep "att") ; + beg_V2V = mkV2V (mkV "be" "ber""be" "bad" "bett" "bedd") noPrep (mkPrep "att") ; big_A = irregA "stor" "större" "störst"; bike_N = mk2N "cykel" "cyklar" ; bird_N = mk2N "fågel" "fåglar" ; diff --git a/lib/resource/swedish/ParadigmsSwe.gf b/lib/resource/swedish/ParadigmsSwe.gf index a6fc32419..e033d33fa 100644 --- a/lib/resource/swedish/ParadigmsSwe.gf +++ b/lib/resource/swedish/ParadigmsSwe.gf @@ -283,12 +283,10 @@ oper mkAV : A -> AV ; mkA2V : A -> Prep -> A2V ; --- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated --- just as synonyms of $V2$, and the second argument is given --- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. +-- Notice: categories $AS, A2S, AV, A2V$ are just $A$. -- $V0$ is just $V$. - V0, V2S, V2V, V2Q : Type ; + V0 : Type ; AS, A2S, AV, A2V : Type ; --. @@ -596,13 +594,13 @@ oper mkV2A v p = mmkV2 v p ** {lock_V2A = <>} ; V0 : Type = V ; - V2S, V2V, V2Q : Type = V2 ; +-- V2S, V2V, V2Q : Type = V2 ; AS, A2S, AV : Type = A ; A2V : Type = A2 ; - mkV2S v p = mmkV2 v p ** {lock_V2 = <>} ; - mkV2V v p t = mmkV2 v p ** {s3 = t ; lock_V2 = <>} ; - mkV2Q v p = mmkV2 v p ** {lock_V2 = <>} ; + mkV2S v p = mmkV2 v p ** {lock_V2S = <>} ; + mkV2V v p t = mmkV2 v p ** {c3 = "att" ; lock_V2V = <>} ; + mkV2Q v p = mmkV2 v p ** {lock_V2Q = <>} ; mkAS v = v ** {lock_A = <>} ; mkA2S v p = mkA2 v p ** {lock_A = <>} ;