mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 18:02:54 -06:00
simplified adjectival predication
This commit is contained in:
@@ -27,12 +27,9 @@ fun
|
|||||||
SPredV2Q : NP -> V2Q -> NP -> QS -> Cl ; -- "John asked me if it is good"
|
SPredV2Q : NP -> V2Q -> NP -> QS -> Cl ; -- "John asked me if it is good"
|
||||||
|
|
||||||
SPredAP : NP -> AP -> Cl ; -- "John is old"
|
SPredAP : NP -> AP -> Cl ; -- "John is old"
|
||||||
SPredSuperl : NP -> ADeg -> Cl ; -- "John is the oldest"
|
|
||||||
SPredCN : NP -> CN -> Cl ; -- "John is a man"
|
SPredCN : NP -> CN -> Cl ; -- "John is a man"
|
||||||
SPredNP : NP -> NP -> Cl ; -- "John is Bill"
|
SPredNP : NP -> NP -> Cl ; -- "John is Bill"
|
||||||
SPredAdv : NP -> Adv -> Cl ; -- "John is in France"
|
SPredAdv : NP -> Adv -> Cl ; -- "John is in France"
|
||||||
SPredAV : NP -> AV ->VPI ->Cl ; -- "John is eager to leave"
|
|
||||||
SPredObjA2V : NP -> A2V -> NP ->VPI ->Cl ; -- "John is easy for us to convince"
|
|
||||||
|
|
||||||
SPredProgVP : NP -> VPI -> Cl ; -- "he is eating"
|
SPredProgVP : NP -> VPI -> Cl ; -- "he is eating"
|
||||||
|
|
||||||
@@ -52,13 +49,9 @@ fun
|
|||||||
QPredV2Q : IP -> V2Q -> NP -> QS -> QCl ; -- "who asked me if it is good"
|
QPredV2Q : IP -> V2Q -> NP -> QS -> QCl ; -- "who asked me if it is good"
|
||||||
|
|
||||||
QPredAP : IP -> AP -> QCl ; -- "who is old"
|
QPredAP : IP -> AP -> QCl ; -- "who is old"
|
||||||
QPredSuperl : IP -> ADeg -> QCl ; -- "who is the oldest"
|
|
||||||
QPredCN : IP -> CN -> QCl ; -- "who is a man"
|
QPredCN : IP -> CN -> QCl ; -- "who is a man"
|
||||||
QPredNP : IP -> NP -> QCl ; -- "who is Bill"
|
QPredNP : IP -> NP -> QCl ; -- "who is Bill"
|
||||||
QPredAdv : IP -> Adv -> QCl ; -- "who is in France"
|
QPredAdv : IP -> Adv -> QCl ; -- "who is in France"
|
||||||
QPredAV : IP -> AV ->VPI ->QCl ; -- "who is eager to leave"
|
|
||||||
QPredObjA2V : IP -> A2V -> NP ->VPI ->QCl ; -- "who is easy for us to convince"
|
|
||||||
|
|
||||||
|
|
||||||
IPredV : Ant -> V -> VPI ; -- "walk"
|
IPredV : Ant -> V -> VPI ; -- "walk"
|
||||||
IPredV2 : Ant -> V2 -> NP -> VPI ; -- "see Mary"
|
IPredV2 : Ant -> V2 -> NP -> VPI ; -- "see Mary"
|
||||||
|
|||||||
@@ -22,12 +22,9 @@ incomplete concrete ClauseI of Clause = open Rules, Verbphrase in {
|
|||||||
SPredV2Q np v x y = PredVP np (ComplV2Q v x y) ;
|
SPredV2Q np v x y = PredVP np (ComplV2Q v x y) ;
|
||||||
|
|
||||||
SPredAP np v = PredVP np (PredAP v) ;
|
SPredAP np v = PredVP np (PredAP v) ;
|
||||||
SPredSuperl np a = PredVP np (PredSuperl a) ;
|
|
||||||
SPredCN np v = PredVP np (PredCN v) ;
|
SPredCN np v = PredVP np (PredCN v) ;
|
||||||
SPredNP np v = PredVP np (PredNP v) ;
|
SPredNP np v = PredVP np (PredNP v) ;
|
||||||
SPredAdv np v = PredVP np (PredAdv v) ;
|
SPredAdv np v = PredVP np (PredAdv v) ;
|
||||||
SPredAV np v x = PredVP np (PredAV v x) ;
|
|
||||||
SPredObjA2V np v x y = PredVP np (PredObjA2V v x y) ;
|
|
||||||
|
|
||||||
SPredProgVP np vp = PredVP np (PredProgVP vp) ;
|
SPredProgVP np vp = PredVP np (PredProgVP vp) ;
|
||||||
|
|
||||||
@@ -46,12 +43,9 @@ incomplete concrete ClauseI of Clause = open Rules, Verbphrase in {
|
|||||||
QPredV2Q np v x y = IntVP np (ComplV2Q v x y) ;
|
QPredV2Q np v x y = IntVP np (ComplV2Q v x y) ;
|
||||||
|
|
||||||
QPredAP np v = IntVP np (PredAP v) ;
|
QPredAP np v = IntVP np (PredAP v) ;
|
||||||
QPredSuperl np a = IntVP np (PredSuperl a) ;
|
|
||||||
QPredCN np v = IntVP np (PredCN v) ;
|
QPredCN np v = IntVP np (PredCN v) ;
|
||||||
QPredNP np v = IntVP np (PredNP v) ;
|
QPredNP np v = IntVP np (PredNP v) ;
|
||||||
QPredAdv np v = IntVP np (PredAdv v) ;
|
QPredAdv np v = IntVP np (PredAdv v) ;
|
||||||
QPredAV np v x = IntVP np (PredAV v x) ;
|
|
||||||
QPredObjA2V np v x y = IntVP np (PredObjA2V v x y) ;
|
|
||||||
|
|
||||||
IPredV a v = PosVP a (UseV v) ;
|
IPredV a v = PosVP a (UseV v) ;
|
||||||
IPredV2 a v x = PosVP a (ComplV2 v x) ;
|
IPredV2 a v x = PosVP a (ComplV2 v x) ;
|
||||||
|
|||||||
@@ -53,7 +53,10 @@ fun
|
|||||||
|
|
||||||
PositADeg : ADeg -> AP ; -- "old"
|
PositADeg : ADeg -> AP ; -- "old"
|
||||||
ComparADeg : ADeg -> NP -> AP ; -- "older than John"
|
ComparADeg : ADeg -> NP -> AP ; -- "older than John"
|
||||||
SuperlNP : ADeg -> CN -> NP ; -- "the oldest man"
|
SuperlADeg : ADeg -> AP ; -- "the oldest"
|
||||||
|
|
||||||
|
ComplAV : AV -> VPI -> AP ; -- "eager to leave"
|
||||||
|
ComplObjA2V : A2V -> NP -> VPI -> AP ; -- "easy for us to convince"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -103,7 +106,7 @@ fun
|
|||||||
--
|
--
|
||||||
-- Here is how complex adverbs can be formed and used.
|
-- Here is how complex adverbs can be formed and used.
|
||||||
|
|
||||||
AdjAdv : AP -> Adv ; -- "freely", "more consciously than you"
|
AdjAdv : A -> Adv ; -- "freely"
|
||||||
AdvPP : PP -> Adv ; -- "in London", "after the war"
|
AdvPP : PP -> Adv ; -- "in London", "after the war"
|
||||||
PrepNP : Prep -> NP -> PP ; -- "in London", "after the war"
|
PrepNP : Prep -> NP -> PP ; -- "in London", "after the war"
|
||||||
|
|
||||||
|
|||||||
@@ -18,15 +18,15 @@ abstract Verbphrase = Categories ** {
|
|||||||
-- These rules produce verb phrases.
|
-- These rules produce verb phrases.
|
||||||
|
|
||||||
fun
|
fun
|
||||||
UseV : V -> VP ; -- "walks"
|
UseV : V -> VP ; -- "walks"
|
||||||
UsePassV : V -> VP ; -- "is seen"
|
UsePassV : V -> VP ; -- "is seen"
|
||||||
ComplV2 : V2 -> NP -> VP ; -- "sees Mary"
|
ComplV2 : V2 -> NP -> VP ; -- "sees Mary"
|
||||||
ComplV3 : V3 -> NP -> NP -> VP ; -- "tells Mary everything"
|
ComplV3 : V3 -> NP -> NP -> VP ; -- "tells Mary everything"
|
||||||
ComplReflV2 : V2 -> VP ; -- "loves himself"
|
ComplReflV2 : V2 -> VP ; -- "loves himself"
|
||||||
ComplVS : VS -> S -> VP ; -- "says that Mary runs"
|
ComplVS : VS -> S -> VP ; -- "says that Mary runs"
|
||||||
ComplVV : VV -> VPI -> VP ; -- "must walk"
|
ComplVV : VV -> VPI -> VP ; -- "must walk"
|
||||||
ComplVQ : VQ -> QS -> VP ; -- "asks who will come"
|
ComplVQ : VQ -> QS -> VP ; -- "asks who will come"
|
||||||
ComplVA : VA -> AP -> VP ; -- "looks ill"
|
ComplVA : VA -> AP -> VP ; -- "looks ill"
|
||||||
ComplV2A : V2A -> NP -> AP -> VP ; -- "paints the house red"
|
ComplV2A : V2A -> NP -> AP -> VP ; -- "paints the house red"
|
||||||
ComplSubjV2V : V2V -> NP -> VPI -> VP ; -- "promises Mary to leave"
|
ComplSubjV2V : V2V -> NP -> VPI -> VP ; -- "promises Mary to leave"
|
||||||
ComplObjV2V : V2V -> NP -> VPI -> VP ; -- "asked him to go"
|
ComplObjV2V : V2V -> NP -> VPI -> VP ; -- "asked him to go"
|
||||||
@@ -34,12 +34,9 @@ abstract Verbphrase = Categories ** {
|
|||||||
ComplV2Q : V2Q -> NP -> QS -> VP ; -- "asks me if you come"
|
ComplV2Q : V2Q -> NP -> QS -> VP ; -- "asks me if you come"
|
||||||
|
|
||||||
PredAP : AP -> VP ; -- "is old"
|
PredAP : AP -> VP ; -- "is old"
|
||||||
PredSuperl : ADeg -> VP ; -- "is the oldest"
|
|
||||||
PredCN : CN -> VP ; -- "is a man"
|
PredCN : CN -> VP ; -- "is a man"
|
||||||
PredNP : NP -> VP ; -- "is Bill"
|
PredNP : NP -> VP ; -- "is Bill"
|
||||||
PredAdv : Adv -> VP ; -- "is in France", "is here"
|
PredAdv : Adv -> VP ; -- "is in France", "is here"
|
||||||
PredAV : AV -> VPI -> VP ; -- "is eager to leave"
|
|
||||||
PredObjA2V : A2V -> NP -> VPI -> VP ; -- "is easy for us to convince"
|
|
||||||
|
|
||||||
PredProgVP : VPI -> VP ; -- "is eating fish"
|
PredProgVP : VPI -> VP ; -- "is eating fish"
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ lincat
|
|||||||
-- = {s : AForm => Str}
|
-- = {s : AForm => Str}
|
||||||
A2 = Adjective ** {s2 : Preposition} ;
|
A2 = Adjective ** {s2 : Preposition} ;
|
||||||
ADeg = {s : Degree => AForm => Str} ;
|
ADeg = {s : Degree => AForm => Str} ;
|
||||||
AP = Adjective ** {p : Bool} ;
|
AP = {s : Agr => Str ; p : Bool} ;
|
||||||
AS = Adjective ; --- "more difficult for him to come than..."
|
AS = Adjective ; --- "more difficult for him to come than..."
|
||||||
A2S = Adjective ** {s2 : Preposition} ;
|
A2S = Adjective ** {s2 : Preposition} ;
|
||||||
AV = Adjective ;
|
AV = Adjective ;
|
||||||
@@ -102,7 +102,7 @@ lincat
|
|||||||
ConjD = {s1 : Str ; s2 : Str ; n : Number} ;
|
ConjD = {s1 : Str ; s2 : Str ; n : Number} ;
|
||||||
|
|
||||||
ListS = {s1 : Str ; s2 : Str} ;
|
ListS = {s1 : Str ; s2 : Str} ;
|
||||||
ListAP = {s1,s2 : AForm => Str ; p : Bool} ;
|
ListAP = {s1,s2 : Agr => Str ; p : Bool} ;
|
||||||
ListNP = {s1,s2 : NPForm => Str ; a : Agr} ;
|
ListNP = {s1,s2 : NPForm => Str ; a : Agr} ;
|
||||||
ListAdv = {s1 : Str ; s2 : Str} ;
|
ListAdv = {s1 : Str ; s2 : Str} ;
|
||||||
|
|
||||||
|
|||||||
@@ -22,15 +22,11 @@ concrete ClauseEng of Clause = CategoriesEng **
|
|||||||
SPredV2S np v x y = predVerbClause np v (complDitransSentVerb v x y) ;
|
SPredV2S np v x y = predVerbClause np v (complDitransSentVerb v x y) ;
|
||||||
SPredV2Q np v x y = predVerbClause np v (complDitransQuestVerb v x y) ;
|
SPredV2Q np v x y = predVerbClause np v (complDitransQuestVerb v x y) ;
|
||||||
|
|
||||||
SPredAP np v = predBeGroup np (complAdjective v) ;
|
SPredAP np v = predBeGroup np v.s ;
|
||||||
SPredSuperl np a = predBeGroup np (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
SPredCN np v = predBeGroup np (complCommNoun v) ;
|
SPredCN np v = predBeGroup np (complCommNoun v) ;
|
||||||
SPredNP np v = predBeGroup np (complNounPhrase v) ;
|
SPredNP np v = predBeGroup np (complNounPhrase v) ;
|
||||||
SPredAdv np v = predBeGroup np (complAdverb v) ;
|
SPredAdv np v = predBeGroup np (complAdverb v) ;
|
||||||
|
|
||||||
SPredAV np v x = predBeGroup np (complVerbAdj v x) ;
|
|
||||||
SPredObjA2V np v x y = predBeGroup np (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
SPredProgVP = progressiveClause ;
|
SPredProgVP = progressiveClause ;
|
||||||
|
|
||||||
QPredV np v = intVerbClause np v (complVerb v) ;
|
QPredV np v = intVerbClause np v (complVerb v) ;
|
||||||
@@ -49,18 +45,15 @@ concrete ClauseEng of Clause = CategoriesEng **
|
|||||||
QPredV2S np v x y = intVerbClause np v (complDitransSentVerb v x y) ;
|
QPredV2S np v x y = intVerbClause np v (complDitransSentVerb v x y) ;
|
||||||
QPredV2Q np v x y = intVerbClause np v (complDitransQuestVerb v x y) ;
|
QPredV2Q np v x y = intVerbClause np v (complDitransQuestVerb v x y) ;
|
||||||
|
|
||||||
QPredAP np v = predBeGroupQ np (complAdjective v) ;
|
QPredAP np v = predBeGroupQ np v.s ;
|
||||||
QPredSuperl np a = predBeGroupQ np (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
QPredCN np v = predBeGroupQ np (complCommNoun v) ;
|
QPredCN np v = predBeGroupQ np (complCommNoun v) ;
|
||||||
QPredNP np v = predBeGroupQ np (complNounPhrase v) ;
|
QPredNP np v = predBeGroupQ np (complNounPhrase v) ;
|
||||||
QPredAdv np v = predBeGroupQ np (complAdverb v) ;
|
QPredAdv np v = predBeGroupQ np (complAdverb v) ;
|
||||||
QPredAV np v x = predBeGroupQ np (complVerbAdj v x) ;
|
|
||||||
QPredObjA2V np v x y = predBeGroupQ np (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
IPredV a v = predVerbI True a v (complVerb v) ;
|
IPredV a v = predVerbI True a v (complVerb v) ;
|
||||||
IPredV2 a v x = predVerbI True a v (complTransVerb v x) ;
|
IPredV2 a v x = predVerbI True a v (complTransVerb v x) ;
|
||||||
|
|
||||||
IPredAP a v = predBeGroupI True a (complAdjective v) ;
|
IPredAP a v = predBeGroupI True a v.s ;
|
||||||
|
|
||||||
{-
|
{-
|
||||||
-- Use VPs
|
-- Use VPs
|
||||||
|
|||||||
@@ -66,9 +66,12 @@ lin
|
|||||||
UseA = adj2adjPhrase ;
|
UseA = adj2adjPhrase ;
|
||||||
ComplA2 = complAdj ;
|
ComplA2 = complAdj ;
|
||||||
|
|
||||||
PositADeg = positAdjPhrase ;
|
ComplAV v x = complVerbAdj v x ;
|
||||||
|
ComplObjA2V v x y = complVerbAdj2 True v x y ;
|
||||||
|
|
||||||
|
PositADeg = positAdjPhrase ;
|
||||||
ComparADeg = comparAdjPhrase ;
|
ComparADeg = comparAdjPhrase ;
|
||||||
SuperlNP = superlNounPhrase ;
|
SuperlADeg = superlAdjPhrase ;
|
||||||
|
|
||||||
-- verbs and verb prases
|
-- verbs and verb prases
|
||||||
|
|
||||||
@@ -78,7 +81,6 @@ lin
|
|||||||
-- Partial saturation.
|
-- Partial saturation.
|
||||||
|
|
||||||
UseV2 = transAsVerb ;
|
UseV2 = transAsVerb ;
|
||||||
---- ComplV3 = complDitransVerb ;
|
|
||||||
|
|
||||||
ComplA2S = predAdjSent2 ;
|
ComplA2S = predAdjSent2 ;
|
||||||
|
|
||||||
|
|||||||
@@ -196,9 +196,14 @@ oper
|
|||||||
-- Adjectival phrases have a parameter $p$ telling if they are prefixed ($True$) or
|
-- Adjectival phrases have a parameter $p$ telling if they are prefixed ($True$) or
|
||||||
-- postfixed (complex APs).
|
-- postfixed (complex APs).
|
||||||
|
|
||||||
AdjPhrase : Type = Adjective ** {p : Bool} ;
|
AdjPhrase : Type = {s : Agr => Str ; p : Bool} ;
|
||||||
|
|
||||||
adj2adjPhrase : Adjective -> AdjPhrase = \new -> new ** {p = True} ;
|
noAPAgr : Agr = ASgP2 ;
|
||||||
|
|
||||||
|
adj2adjPhrase : Adjective -> AdjPhrase = \new ->
|
||||||
|
{s = \\_ => new.s ! AAdj ;
|
||||||
|
p = True
|
||||||
|
} ;
|
||||||
|
|
||||||
simpleAdjPhrase : Str -> AdjPhrase = \French ->
|
simpleAdjPhrase : Str -> AdjPhrase = \French ->
|
||||||
adj2adjPhrase (regAdjective French) ;
|
adj2adjPhrase (regAdjective French) ;
|
||||||
@@ -217,7 +222,7 @@ oper
|
|||||||
-- adjectival phrases ("bigger then you").
|
-- adjectival phrases ("bigger then you").
|
||||||
|
|
||||||
comparAdjPhrase : AdjDegr -> NounPhrase -> AdjPhrase = \big, you ->
|
comparAdjPhrase : AdjDegr -> NounPhrase -> AdjPhrase = \big, you ->
|
||||||
{s = \\a => big.s ! Comp ! a ++ "than" ++ you.s ! NomP ;
|
{s = \\_ => big.s ! Comp ! AAdj ++ "than" ++ you.s ! NomP ;
|
||||||
p = False
|
p = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -233,7 +238,7 @@ oper
|
|||||||
-- ("the youngest" - in free variation).
|
-- ("the youngest" - in free variation).
|
||||||
|
|
||||||
superlAdjPhrase : AdjDegr -> AdjPhrase = \big ->
|
superlAdjPhrase : AdjDegr -> AdjPhrase = \big ->
|
||||||
{s = \\a => "the" ++ big.s ! Sup ! a ;
|
{s = \\_ => "the" ++ big.s ! Sup ! AAdj ;
|
||||||
p = True
|
p = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -247,7 +252,7 @@ oper
|
|||||||
AdjCompl = Adjective ** {s2 : Preposition} ;
|
AdjCompl = Adjective ** {s2 : Preposition} ;
|
||||||
|
|
||||||
complAdj : AdjCompl -> NounPhrase -> AdjPhrase = \related,john ->
|
complAdj : AdjCompl -> NounPhrase -> AdjPhrase = \related,john ->
|
||||||
{s = \\a => related.s ! a ++ related.s2 ++ john.s ! AccP ;
|
{s = \\a => related.s ! AAdj ++ related.s2 ++ john.s ! AccP ;
|
||||||
p = False
|
p = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -263,8 +268,12 @@ oper
|
|||||||
|
|
||||||
modCommNounPhrase : AdjPhrase -> CommNounPhrase -> CommNounPhrase = \big, car ->
|
modCommNounPhrase : AdjPhrase -> CommNounPhrase -> CommNounPhrase = \big, car ->
|
||||||
{s = \\n => if_then_else (Case => Str) big.p
|
{s = \\n => if_then_else (Case => Str) big.p
|
||||||
(\\c => big.s ! AAdj ++ car.s ! n ! c)
|
(\\c => big.s ! noAPAgr ++ car.s ! n ! c)
|
||||||
(table {Nom => car.s ! n ! Nom ++ big.s ! AAdj ; Gen => variants {}}) ;
|
(\\c => car.s ! n ! Nom ++ big.s ! noAPAgr ++ case c of {
|
||||||
|
Nom => [] ;
|
||||||
|
Gen => "'s" --- detached clitic
|
||||||
|
}
|
||||||
|
) ;
|
||||||
g = car.g
|
g = car.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -537,7 +546,7 @@ oper
|
|||||||
-- The syntax is the same as for adjectival predication.
|
-- The syntax is the same as for adjectival predication.
|
||||||
|
|
||||||
passVerb : Verb -> Complement = \love ->
|
passVerb : Verb -> Complement = \love ->
|
||||||
complAdjective (adj2adjPhrase (regAdjective (love.s ! PPart))) ;
|
complAdjective (regAdjective (love.s ! PPart)) ;
|
||||||
|
|
||||||
-- Transitive verbs can also be used reflexively.
|
-- Transitive verbs can also be used reflexively.
|
||||||
-- But to formalize this we must make verb phrases depend on a person parameter.
|
-- But to formalize this we must make verb phrases depend on a person parameter.
|
||||||
@@ -570,13 +579,14 @@ oper
|
|||||||
TransVerb -> NounPhrase -> AdjPhrase -> Complement = \gor,dig,sur ->
|
TransVerb -> NounPhrase -> AdjPhrase -> Complement = \gor,dig,sur ->
|
||||||
mkComp
|
mkComp
|
||||||
gor
|
gor
|
||||||
(\\_ => gor.s1 ++ gor.s3 ++ dig.s ! AccP ++ sur.s ! AAdj) ;
|
(\\_ => gor.s1 ++ gor.s3 ++ dig.s ! AccP ++ sur.s ! noAPAgr) ;
|
||||||
|
---- should be agr a; make mkComp more general
|
||||||
|
|
||||||
complAdjVerb :
|
complAdjVerb :
|
||||||
Verb -> AdjPhrase -> Complement = \seut,sur ->
|
Verb -> AdjPhrase -> Complement = \seut,sur ->
|
||||||
mkComp
|
mkComp
|
||||||
seut
|
seut
|
||||||
(\\n => sur.s ! AAdj ++ seut.s1) ;
|
(\\n => sur.s ! noAPAgr ++ seut.s1) ;
|
||||||
|
|
||||||
|
|
||||||
--2 Adverbs
|
--2 Adverbs
|
||||||
@@ -917,23 +927,26 @@ oper
|
|||||||
(simma.s ! VIInfinit ! a)
|
(simma.s ! VIInfinit ! a)
|
||||||
) ;
|
) ;
|
||||||
|
|
||||||
complVerbAdj : Adjective -> VerbPhrase -> Complement = \grei, simma ->
|
complVerbAdj : Adjective -> VerbPhrase -> AdjPhrase = \grei, simma ->
|
||||||
(\\a =>
|
{s = \\a =>
|
||||||
grei.s ! AAdj ++ simma.s1 ++
|
grei.s ! AAdj ++ simma.s1 ++
|
||||||
"to" ++
|
"to" ++
|
||||||
simma.s ! VIInfinit ! a) ;
|
simma.s ! VIInfinit ! a ;
|
||||||
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
complVerbAdj2 :
|
complVerbAdj2 :
|
||||||
Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> Complement =
|
Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> AdjPhrase =
|
||||||
\obj,grei,dig,simma ->
|
\obj,grei,dig,simma ->
|
||||||
(\\a =>
|
{s = \\a =>
|
||||||
grei.s ! AAdj ++
|
grei.s ! AAdj ++
|
||||||
grei.s2 ++ dig.s ! AccP ++
|
grei.s2 ++ dig.s ! AccP ++
|
||||||
simma.s1 ++ "to" ++
|
simma.s1 ++ "to" ++
|
||||||
if_then_Str obj
|
if_then_Str obj
|
||||||
(simma.s ! VIInfinit ! dig.a)
|
(simma.s ! VIInfinit ! dig.a)
|
||||||
(simma.s ! VIInfinit ! a)
|
(simma.s ! VIInfinit ! a) ;
|
||||||
) ;
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
--2 Sentences missing noun phrases
|
--2 Sentences missing noun phrases
|
||||||
@@ -1323,20 +1336,20 @@ oper
|
|||||||
-- The structure is the same as for sentences. The result is a prefix adjective
|
-- The structure is the same as for sentences. The result is a prefix adjective
|
||||||
-- if and only if all elements are prefix.
|
-- if and only if all elements are prefix.
|
||||||
|
|
||||||
ListAdjPhrase : Type = {s1,s2 : AForm => Str ; p : Bool} ;
|
ListAdjPhrase : Type = {s1,s2 : Agr => Str ; p : Bool} ;
|
||||||
|
|
||||||
twoAdjPhrase : (_,_ : AdjPhrase) -> ListAdjPhrase = \x,y ->
|
twoAdjPhrase : (_,_ : AdjPhrase) -> ListAdjPhrase = \x,y ->
|
||||||
CO.twoTable AForm x y ** {p = andB x.p y.p} ;
|
CO.twoTable Agr x y ** {p = andB x.p y.p} ;
|
||||||
|
|
||||||
consAdjPhrase : ListAdjPhrase -> AdjPhrase -> ListAdjPhrase = \xs,x ->
|
consAdjPhrase : ListAdjPhrase -> AdjPhrase -> ListAdjPhrase = \xs,x ->
|
||||||
CO.consTable AForm CO.comma xs x ** {p = andB xs.p x.p} ;
|
CO.consTable Agr CO.comma xs x ** {p = andB xs.p x.p} ;
|
||||||
|
|
||||||
conjunctAdjPhrase : Conjunction -> ListAdjPhrase -> AdjPhrase = \c,xs ->
|
conjunctAdjPhrase : Conjunction -> ListAdjPhrase -> AdjPhrase = \c,xs ->
|
||||||
CO.conjunctTable AForm c xs ** {p = xs.p} ;
|
CO.conjunctTable Agr c xs ** {p = xs.p} ;
|
||||||
|
|
||||||
conjunctDistrAdjPhrase : ConjunctionDistr -> ListAdjPhrase -> AdjPhrase =
|
conjunctDistrAdjPhrase : ConjunctionDistr -> ListAdjPhrase -> AdjPhrase =
|
||||||
\c,xs ->
|
\c,xs ->
|
||||||
CO.conjunctDistrTable AForm c xs ** {p = xs.p} ;
|
CO.conjunctDistrTable Agr c xs ** {p = xs.p} ;
|
||||||
|
|
||||||
|
|
||||||
--3 Coordinating noun phrases
|
--3 Coordinating noun phrases
|
||||||
|
|||||||
@@ -38,15 +38,11 @@ concrete VerbphraseEng of Verbphrase = CategoriesEng **
|
|||||||
ComplV2S v x y = predClauseGroup v (complDitransSentVerb v x y) ;
|
ComplV2S v x y = predClauseGroup v (complDitransSentVerb v x y) ;
|
||||||
ComplV2Q v x y = predClauseGroup v (complDitransQuestVerb v x y) ;
|
ComplV2Q v x y = predClauseGroup v (complDitransQuestVerb v x y) ;
|
||||||
|
|
||||||
PredAP v = predClauseBeGroup (complAdjective v) ;
|
PredAP v = predClauseBeGroup v.s ;
|
||||||
PredSuperl a = predClauseBeGroup (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
PredCN v = predClauseBeGroup (complCommNoun v) ;
|
PredCN v = predClauseBeGroup (complCommNoun v) ;
|
||||||
PredNP v = predClauseBeGroup (complNounPhrase v) ;
|
PredNP v = predClauseBeGroup (complNounPhrase v) ;
|
||||||
PredAdv v = predClauseBeGroup (complAdverb v) ;
|
PredAdv v = predClauseBeGroup (complAdverb v) ;
|
||||||
|
|
||||||
PredAV v x = predClauseBeGroup (complVerbAdj v x) ;
|
|
||||||
PredObjA2V v x y = predClauseBeGroup (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
PredProgVP = progressiveVerbPhrase ;
|
PredProgVP = progressiveVerbPhrase ;
|
||||||
|
|
||||||
---- SPredProgVP = progressiveClause ;
|
---- SPredProgVP = progressiveClause ;
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ PastTime h m = ss (m.s ++ "et" ++ h.s) ;
|
|||||||
ToTime h m = ss (h.s ++ "moins" ++ m.s) ;
|
ToTime h m = ss (h.s ++ "moins" ++ m.s) ;
|
||||||
ExactTime h = ss (h.s ++ "exactement") ;
|
ExactTime h = ss (h.s ++ "exactement") ;
|
||||||
|
|
||||||
NumHour n = ss (n.s ! indep) ;
|
NumHour n = ss (n.s ! feminine ! indep) ;
|
||||||
NumMinute n = ss (n.s ! indep) ;
|
NumMinute n = ss (n.s ! feminine ! indep) ;
|
||||||
|
|
||||||
monday = regN "lundi" masculine ;
|
monday = regN "lundi" masculine ;
|
||||||
tuesday = regN "mardi" masculine ;
|
tuesday = regN "mardi" masculine ;
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ PastTime h m = ss (m.s ++ "over" ++ h.s) ;
|
|||||||
ToTime h m = ss (m.s ++ "på" ++ h.s) ;
|
ToTime h m = ss (m.s ++ "på" ++ h.s) ;
|
||||||
ExactTime h = ss (h.s ++ "akkurat") ;
|
ExactTime h = ss (h.s ++ "akkurat") ;
|
||||||
|
|
||||||
NumHour n = n ;
|
NumHour n = {s = n.s ! Neutr} ;
|
||||||
NumMinute n = n ;
|
NumMinute n = {s = n.s ! Neutr} ;
|
||||||
|
|
||||||
monday = regN "mandag" masculine ;
|
monday = regN "mandag" masculine ;
|
||||||
tuesday = regN "tirsdag" masculine ;
|
tuesday = regN "tirsdag" masculine ;
|
||||||
|
|||||||
@@ -25,20 +25,42 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
|||||||
|
|
||||||
SPredVS subj verb sent =
|
SPredVS subj verb sent =
|
||||||
sats2clause (
|
sats2clause (
|
||||||
insertExtrapos (mkSats subj verb) (embedConj ++ sent.s ! verb.mp)) ; ---- mn
|
insertExtrapos (mkSats subj verb)
|
||||||
|
(\\b => embedConj ++ sent.s ! subordMode verb b)) ; ---- mn
|
||||||
SPredVQ subj verb quest =
|
SPredVQ subj verb quest =
|
||||||
sats2clause (
|
sats2clause (
|
||||||
insertExtrapos (mkSats subj verb) (quest.s ! IndirQ)) ;
|
insertExtrapos (mkSats subj verb) (\\_ => quest.s ! IndirQ)) ;
|
||||||
SPredV2S subj verb obj sent =
|
SPredV2S subj verb obj sent =
|
||||||
sats2clause (
|
sats2clause (
|
||||||
insertExtrapos
|
insertExtrapos
|
||||||
(mkSatsObject subj verb obj)
|
(mkSatsObject subj verb obj)
|
||||||
(embedConj ++ sent.s ! verb.mp)) ; ---- mn ;
|
(\\b => embedConj ++ sent.s ! subordMode verb b)
|
||||||
|
) ; ---- mn ;
|
||||||
SPredV2Q subj verb obj quest =
|
SPredV2Q subj verb obj quest =
|
||||||
sats2clause (
|
sats2clause (
|
||||||
insertExtrapos
|
insertExtrapos
|
||||||
(mkSatsObject subj verb obj)
|
(mkSatsObject subj verb obj)
|
||||||
(quest.s ! IndirQ)) ;
|
(\\_ => quest.s ! IndirQ)) ;
|
||||||
|
SPredVA subj verb adj =
|
||||||
|
sats2clause (
|
||||||
|
insertExtrapos (mkSats subj verb) (\\_ => adj.s ! AF (pgen2gen subj.g) subj.n)) ;
|
||||||
|
|
||||||
|
SPredVV subj verb vp =
|
||||||
|
sats2clause (
|
||||||
|
insertExtrapos
|
||||||
|
(mkSats subj verb)
|
||||||
|
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen subj.g ! subj.n ! subj.p)
|
||||||
|
) ;
|
||||||
|
|
||||||
|
-- SPredObjV2V
|
||||||
|
|
||||||
|
-- SPredProgVP
|
||||||
|
|
||||||
|
-- SPredSubjV2V
|
||||||
|
|
||||||
|
-- SPredV2A
|
||||||
|
|
||||||
|
|
||||||
SPredAP subj adj =
|
SPredAP subj adj =
|
||||||
sats2clause (mkSatsCopula subj (adj.s ! AF (pgen2gen subj.g) subj.n)) ;
|
sats2clause (mkSatsCopula subj (adj.s ! AF (pgen2gen subj.g) subj.n)) ;
|
||||||
SPredCN subj cn =
|
SPredCN subj cn =
|
||||||
@@ -48,54 +70,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
|||||||
SPredAdv subj adv =
|
SPredAdv subj adv =
|
||||||
sats2clause (mkSatsCopula subj adv.s) ;
|
sats2clause (mkSatsCopula subj adv.s) ;
|
||||||
|
|
||||||
{-
|
|
||||||
|
|
||||||
SPredVA np v x = predVerbClause np v (complAdjVerb v x) ;
|
|
||||||
SPredV2A np v x y = predVerbClause np v (complDitransAdjVerb v x y) ;
|
|
||||||
SPredSubjV2V np v x y = predVerbClause np v (complDitransVerbVerb False v x y) ;
|
|
||||||
SPredObjV2V np v x y = predVerbClause np v (complDitransVerbVerb True v x y) ;
|
|
||||||
-- SPredV2S np v x y = predVerbClause np v (complDitransSentVerb v x y) ;
|
|
||||||
-- SPredV2Q np v x y = predVerbClause np v (complDitransQuestVerb v x y) ;
|
|
||||||
SPredAP np v = predCopula np (complAdjective v) ;
|
|
||||||
SPredSuperl np a = predCopula np (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
SPredCN np v = predCopula np (complCommNoun v) ;
|
|
||||||
SPredNP np v = predCopula np (complNounPhrase v) ;
|
|
||||||
SPredPP np v = predCopula np (complAdverb v) ;
|
|
||||||
SPredAV np v x = predCopula np (complVerbAdj v x) ;
|
|
||||||
|
|
||||||
SPredObjA2V np v x y = predCopula np (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
SPredProgVP = progressiveClause ;
|
|
||||||
|
|
||||||
QPredV np v = intVerbClause np v (complVerb v) ;
|
|
||||||
QPredPassV np v = predCopulaQ np (passVerb v) ;
|
|
||||||
QPredV2 np v x = intVerbClause np v (complTransVerb v x) ;
|
|
||||||
-- QPredReflV2 np v = intVerbClause np v (reflTransVerb v) ;
|
|
||||||
QPredVS np v x = intVerbClause np v (complSentVerb v x) ;
|
|
||||||
QPredVV np v x = intVerbClause np (aux2verb v) (complVerbVerb v x) ;
|
|
||||||
QPredVQ np v x = intVerbClause np v (complQuestVerb v x) ;
|
|
||||||
QPredVA np v x = intVerbClause np v (complAdjVerb v x) ;
|
|
||||||
QPredV2A np v x y = intVerbClause np v (complDitransAdjVerb v x y) ;
|
|
||||||
QPredSubjV2V np v x y = intVerbClause np v (complDitransVerbVerb
|
|
||||||
False v x y) ;
|
|
||||||
QPredObjV2V np v x y = intVerbClause np v (complDitransVerbVerb
|
|
||||||
True v x y) ;
|
|
||||||
QPredV2S np v x y = intVerbClause np v (complDitransSentVerb v x y) ;
|
|
||||||
QPredV2Q np v x y = intVerbClause np v (complDitransQuestVerb v x y) ;
|
|
||||||
|
|
||||||
QPredAP np v = predCopulaQ np (complAdjective v) ;
|
|
||||||
QPredSuperl np a = predCopulaQ np (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
QPredCN np v = predCopulaQ np (complCommNoun v) ;
|
|
||||||
QPredNP np v = predCopulaQ np (complNounPhrase v) ;
|
|
||||||
QPredPP np v = predCopulaQ np (complAdverb v) ;
|
|
||||||
QPredAV np v x = predCopulaQ np (complVerbAdj v x) ;
|
|
||||||
QPredObjA2V np v x y = predCopulaQ np (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
IPredV a v = predVerbI True a v (complVerb v) ;
|
|
||||||
IPredV2 a v x = predVerbI True a v (complTransVerb v x) ;
|
|
||||||
|
|
||||||
IPredAP a v = predCopulaI True a (complAdjective v) ;
|
|
||||||
-}
|
|
||||||
{-
|
{-
|
||||||
-- Use VPs
|
-- Use VPs
|
||||||
|
|
||||||
@@ -113,72 +87,4 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-
|
|
||||||
lin
|
|
||||||
SPredV np v = predVerbGroupClause np (predVerb v) ;
|
|
||||||
SPredPassV np v = predVerbGroupClause np (passVerb v) ;
|
|
||||||
SPredV2 np v x = predVerbGroupClause np (complTransVerb v x) ;
|
|
||||||
-- SPredReflV2 np v = predVerbGroupClause np (reflTransVerb v) ;
|
|
||||||
SPredVS np v x = predVerbGroupClause np (complSentVerb v x) ;
|
|
||||||
-- SPredVV np v x = predVerbGroupClause np (complVerbVerb v x) ;
|
|
||||||
-- SPredVQ np v x = predVerbGroupClause np (complQuestVerb v x) ;
|
|
||||||
-- SPredVA np v x = predVerbGroupClause np (complAdjVerb v x) ;
|
|
||||||
-- SPredV2A np v x y = predVerbGroupClause np (complDitransAdjVerb v x y) ;
|
|
||||||
-- SPredSubjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb False v x y) ;
|
|
||||||
-- SPredObjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb True v x y) ;
|
|
||||||
-- SPredV2S np v x y = predVerbGroupClause np (complDitransSentVerb v x y) ;
|
|
||||||
-- SPredV2Q np v x y = predVerbGroupClause np (complDitransQuestVerb v x y) ;
|
|
||||||
|
|
||||||
SPredAP np v = predVerbGroupClause np (predAdjective v) ;
|
|
||||||
SPredSuperl np a = predVerbGroupClause np (predAdjective (superlAdjPhrase a)) ;
|
|
||||||
SPredCN np v = predVerbGroupClause np (predCommNoun v) ;
|
|
||||||
SPredNP np v = predVerbGroupClause np (predNounPhrase v) ;
|
|
||||||
SPredPP np v = predVerbGroupClause np (predAdverb v) ;
|
|
||||||
-- SPredAV np v x = predVerbGroupClause np (complVerbAdj v x) ;
|
|
||||||
-- SPredObjA2V np v x y = predVerbGroupClause np (complVerbAdj2 True v x y) ;
|
|
||||||
-}
|
|
||||||
-- SPredProgVP = progressiveClause ;
|
|
||||||
|
|
||||||
{-
|
|
||||||
QPredV np v = intVerbPhrase np (predVerb v) ;
|
|
||||||
QPredPassV np v = intVerbPhrase np (passVerb v) ;
|
|
||||||
QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ;
|
|
||||||
-- QPredReflV2 np v = intVerbPhrase np (reflTransVerb v) ;
|
|
||||||
QPredVS np v x = intVerbPhrase np (complSentVerb v x) ;
|
|
||||||
QPredVV np v x = intVerbPhrase np (complVerbVerb v x) ;
|
|
||||||
-- QPredVQ np v x = intVerbPhrase np (complQuestVerb v x) ;
|
|
||||||
-- QPredVA np v x = intVerbPhrase np (complAdjVerb v x) ;
|
|
||||||
-- QPredV2A np v x y = intVerbPhrase np (complDitransAdjVerb v x y) ;
|
|
||||||
-- QPredSubjV2V np v x y = intVerbPhrase np (complDitransVerbVerb False v x y) ;
|
|
||||||
-- QPredObjV2V np v x y = intVerbPhrase np (complDitransVerbVerb True v x y) ;
|
|
||||||
-- QPredV2S np v x y = intVerbPhrase np (complDitransSentVerb v x y) ;
|
|
||||||
-- QPredV2Q np v x y = intVerbPhrase np (complDitransQuestVerb v x y) ;
|
|
||||||
|
|
||||||
QPredAP np v = intVerbPhrase np (predAdjective v) ;
|
|
||||||
QPredSuperl np a = intVerbPhrase np (predAdjective (superlAdjPhrase a)) ;
|
|
||||||
QPredCN np v = intVerbPhrase np (predCommNoun v) ;
|
|
||||||
QPredNP np v = intVerbPhrase np (predNounPhrase v) ;
|
|
||||||
QPredPP np v = intVerbPhrase np (predAdverb v) ;
|
|
||||||
-- QPredAV np v x = intVerbPhrase np (complVerbAdj v x) ;
|
|
||||||
-- QPredObjA2V np v x y = intVerbPhrase np (complVerbAdj2 True v x y) ;
|
|
||||||
-}
|
|
||||||
-- IPredV a v = predVerbGroupI True a (predVerb v) ;
|
|
||||||
-- IPredV2 a v x = predVerbGroupI True a (complTransVerb v x) ;
|
|
||||||
-- IPredAP a v = predVerbGroupI True a (predAdjective v) ;
|
|
||||||
|
|
||||||
{-
|
|
||||||
-- Use VPs
|
|
||||||
|
|
||||||
PredVP = predVerbGroupClause ;
|
|
||||||
IntVP = intVerbPhrase ;
|
|
||||||
RelVP = relVerbPhrase ;
|
|
||||||
|
|
||||||
|
|
||||||
PosVP tp = predVerbGroup True tp.a ;
|
|
||||||
NegVP tp = predVerbGroup False tp.a ;
|
|
||||||
|
|
||||||
AdvVP = adVerbPhrase ;
|
|
||||||
SubjVP = subjunctVerbPhrase ;
|
|
||||||
-}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,10 +40,12 @@ lin
|
|||||||
|
|
||||||
UseA = adj2adjPhrase ;
|
UseA = adj2adjPhrase ;
|
||||||
ComplA2 = complAdj ;
|
ComplA2 = complAdj ;
|
||||||
|
ComplAV v x = complVerbAdj v x ;
|
||||||
|
ComplObjA2V v x y = complVerbAdj2 True v x y ;
|
||||||
|
|
||||||
PositADeg = positAdjPhrase ;
|
PositADeg = positAdjPhrase ;
|
||||||
ComparADeg = comparAdjPhrase ;
|
ComparADeg = comparAdjPhrase ;
|
||||||
SuperlNP = superlNounPhrase ;
|
SuperlADeg = superlAdjPhrase ;
|
||||||
|
|
||||||
PredAS = predAdjSent ;
|
PredAS = predAdjSent ;
|
||||||
PredV0 rain = predVerbClause (pronNounPhrase pronImpers) rain (complVerb rain) ;
|
PredV0 rain = predVerbClause (pronNounPhrase pronImpers) rain (complVerb rain) ;
|
||||||
|
|||||||
@@ -500,17 +500,22 @@ oper
|
|||||||
complAdverb : Adverb -> Complemnt = \dehors ->
|
complAdverb : Adverb -> Complemnt = \dehors ->
|
||||||
complCopula (\\_,_,_ => dehors.s) ;
|
complCopula (\\_,_,_ => dehors.s) ;
|
||||||
|
|
||||||
complVerbAdj : AdjCompl -> VerbPhrase -> Complemnt = \facile,ouvrir ->
|
complVerbAdj : AdjCompl -> VerbPhrase -> AdjPhrase = \facile,ouvrir ->
|
||||||
complCopula (\\g,n,p =>
|
{s = \\gn => ---- p
|
||||||
facile.s ! AF g n ++ prepCase facile.c ++ facile.s2 ++
|
facile.s ! gn ++ prepCase facile.c ++ facile.s2 ++
|
||||||
ouvrir.s ! VIInfinit ! g ! n ! p) ;
|
ouvrir.s ! VIInfinit ! Masc ! Sg ! P3 ;
|
||||||
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
complVerbAdj2 : Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> Complemnt =
|
complVerbAdj2 : Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> AdjPhrase =
|
||||||
\b,facile,lui,nager ->
|
\b,facile,lui,nager ->
|
||||||
complTransVerbGen (copula ** {c = dative ; s2=[]}) lui
|
{s = \\gn => ---- p
|
||||||
(\\g,n,p =>
|
facile.s ! gn ++
|
||||||
facile.s ! AF g n ++ prepCase facile.c ++ facile.s2 ++
|
lui.s ! stressed dative ++ ---- also "pour lui" ?
|
||||||
nager.s ! VIInfinit ! g ! n ! p) ; ---- agr dep on b
|
prepCase facile.c ++ facile.s2 ++
|
||||||
|
nager.s ! VIInfinit ! pgen2gen lui.g ! lui.n ! P3 ; ---- agr dep on b
|
||||||
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
progressiveVerbPhrase : VerbPhrase -> VerbGroup ;
|
progressiveVerbPhrase : VerbPhrase -> VerbGroup ;
|
||||||
|
|
||||||
@@ -584,7 +589,7 @@ oper
|
|||||||
in
|
in
|
||||||
\\g,n,p =>
|
\\g,n,p =>
|
||||||
let
|
let
|
||||||
soi = reflPron ! n ! p ! (case2pformClit aime.c) ;
|
soi = reflPron ! n ! p ! unstressed accusative ; ---- (case2pformClit aime.c) ;
|
||||||
aimee = aime.s ! VPart g n
|
aimee = aime.s ! VPart g n
|
||||||
in
|
in
|
||||||
case clit of {
|
case clit of {
|
||||||
@@ -870,6 +875,9 @@ oper
|
|||||||
|
|
||||||
SentenceVerb : Type = Verb ** {mp, mn : Mode} ;
|
SentenceVerb : Type = Verb ** {mp, mn : Mode} ;
|
||||||
|
|
||||||
|
subordMode : SentenceVerb -> Bool -> Mode = \verb,b ->
|
||||||
|
if_then_else Mode b verb.mp verb.mn ;
|
||||||
|
|
||||||
complSentVerb : SentenceVerb -> Sentence -> Complemnt = \croire,jeanboit ->
|
complSentVerb : SentenceVerb -> Sentence -> Complemnt = \croire,jeanboit ->
|
||||||
mkCompl
|
mkCompl
|
||||||
croire
|
croire
|
||||||
@@ -1429,6 +1437,7 @@ oper
|
|||||||
s4 : VF => Str ; -- ai ai
|
s4 : VF => Str ; -- ai ai
|
||||||
s5 : Str ; -- toujours (pas) toujours (pas)
|
s5 : Str ; -- toujours (pas) toujours (pas)
|
||||||
s6 : Str ; -- (dit) directement (voulu) le lui dire directement
|
s6 : Str ; -- (dit) directement (voulu) le lui dire directement
|
||||||
|
s7 : Bool => Str; -- qu'il pleu/pleuve
|
||||||
aux : VAux ;
|
aux : VAux ;
|
||||||
g,g2 : Gender ; -- features for main verb and participle
|
g,g2 : Gender ; -- features for main verb and participle
|
||||||
n,n2 : Number ;
|
n,n2 : Number ;
|
||||||
@@ -1473,6 +1482,7 @@ oper
|
|||||||
s3 = [] ;
|
s3 = [] ;
|
||||||
s4 = verb.s ;
|
s4 = verb.s ;
|
||||||
s5, s6 = [] ;
|
s5, s6 = [] ;
|
||||||
|
s7 = \\_ => [] ;
|
||||||
aux = verb.aux ;
|
aux = verb.aux ;
|
||||||
g = pgen2gen subj.g ;
|
g = pgen2gen subj.g ;
|
||||||
n = subj.n ;
|
n = subj.n ;
|
||||||
@@ -1494,6 +1504,7 @@ oper
|
|||||||
s4 = sats.s4 ;
|
s4 = sats.s4 ;
|
||||||
s5 = sats.s5 ;
|
s5 = sats.s5 ;
|
||||||
s6 = sats.s6 ++ prep ++ np ;
|
s6 = sats.s6 ++ prep ++ np ;
|
||||||
|
s7 = sats.s7 ;
|
||||||
aux = sats.aux ;
|
aux = sats.aux ;
|
||||||
g = sats.g ;
|
g = sats.g ;
|
||||||
n = sats.n ;
|
n = sats.n ;
|
||||||
@@ -1502,12 +1513,13 @@ oper
|
|||||||
p = sats.p
|
p = sats.p
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
insertExtrapos : Sats -> Str -> Sats = \sats,obj ->
|
insertExtrapos : Sats -> (Bool => Str) -> Sats = \sats,obj ->
|
||||||
{s1 = sats.s1 ;
|
{s1 = sats.s1 ;
|
||||||
s3 = sats.s3 ;
|
s3 = sats.s3 ;
|
||||||
s4 = sats.s4 ;
|
s4 = sats.s4 ;
|
||||||
s5 = sats.s5 ;
|
s5 = sats.s5 ;
|
||||||
s6 = sats.s6 ++ obj ;
|
s6 = sats.s6 ;
|
||||||
|
s7 = obj ;
|
||||||
aux = sats.aux ;
|
aux = sats.aux ;
|
||||||
g = sats.g ;
|
g = sats.g ;
|
||||||
n = sats.n ;
|
n = sats.n ;
|
||||||
@@ -1535,10 +1547,11 @@ oper
|
|||||||
dit = dire.p2 ;
|
dit = dire.p2 ;
|
||||||
toujours = sats.s5 ;
|
toujours = sats.s5 ;
|
||||||
directement = sats.s6 ;
|
directement = sats.s6 ;
|
||||||
ne = if_then_Str b [] "ne" ; ---- negNe ;
|
ne = if_then_Str b [] "ne" ; ---- negNe ;
|
||||||
pas = if_then_Str b [] "pas" ---- negPas
|
pas = if_then_Str b [] "pas" ; ---- negPas ;
|
||||||
|
oui = sats.s7 ! b
|
||||||
in
|
in
|
||||||
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement
|
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,26 +29,22 @@ incomplete concrete VerbphraseRomance of Verbphrase = CategoriesRomance **
|
|||||||
UsePassV v = predClauseBeGroup (passVerb v) ;
|
UsePassV v = predClauseBeGroup (passVerb v) ;
|
||||||
ComplV2 v x = predClauseGroup v (complTransVerb v x) ;
|
ComplV2 v x = predClauseGroup v (complTransVerb v x) ;
|
||||||
ComplV3 v x y = predClauseGroup v (complDitransVerb v x y) ;
|
ComplV3 v x y = predClauseGroup v (complDitransVerb v x y) ;
|
||||||
---- ComplReflV2 v = predClauseGroup v (reflTransVerb v) ;
|
ComplReflV2 v = predClauseGroup v (reflTransVerb v) ;
|
||||||
ComplVS v x = predClauseGroup v (complSentVerb v x) ;
|
ComplVS v x = predClauseGroup v (complSentVerb v x) ;
|
||||||
ComplVV v x = predClauseGroup v (complVerbVerb v x) ;
|
ComplVV v x = predClauseGroup v (complVerbVerb v x) ;
|
||||||
ComplVQ v x = predClauseGroup v (complQuestVerb v x) ;
|
ComplVQ v x = predClauseGroup v (complQuestVerb v x) ;
|
||||||
ComplVA v x = predClauseGroup v (complAdjVerb v x) ;
|
ComplVA v x = predClauseGroup v (complAdjVerb v x) ;
|
||||||
ComplV2A v x y = predClauseGroup v (complDitransAdjVerb v x y) ;
|
ComplV2A v x y = predClauseGroup v (complDitransAdjVerb v x y) ;
|
||||||
---- ComplSubjV2V v x y = predClauseGroup v (complDitransVerbVerb False v x y) ;
|
ComplSubjV2V v x y = predClauseGroup v (complDitransVerbVerb False v x y) ;
|
||||||
---- ComplObjV2V v x y = predClauseGroup v (complDitransVerbVerb True v x y) ;
|
ComplObjV2V v x y = predClauseGroup v (complDitransVerbVerb True v x y) ;
|
||||||
ComplV2S v x y = predClauseGroup v (complDitransSentVerb v x y) ;
|
ComplV2S v x y = predClauseGroup v (complDitransSentVerb v x y) ;
|
||||||
ComplV2Q v x y = predClauseGroup v (complDitransQuestVerb v x y) ;
|
ComplV2Q v x y = predClauseGroup v (complDitransQuestVerb v x y) ;
|
||||||
|
|
||||||
PredAP v = predClauseBeGroup (complAdjective v) ;
|
PredAP v = predClauseBeGroup (complAdjective v) ;
|
||||||
PredSuperl a = predClauseBeGroup (complAdjective (superlAdjPhrase a)) ;
|
|
||||||
PredCN v = predClauseBeGroup (complCommNoun v) ;
|
PredCN v = predClauseBeGroup (complCommNoun v) ;
|
||||||
PredNP v = predClauseBeGroup (complNounPhrase v) ;
|
PredNP v = predClauseBeGroup (complNounPhrase v) ;
|
||||||
PredAdv v = predClauseBeGroup (complAdverb v) ;
|
PredAdv v = predClauseBeGroup (complAdverb v) ;
|
||||||
|
|
||||||
PredAV v x = predClauseBeGroup (complVerbAdj v x) ;
|
|
||||||
PredObjA2V v x y = predClauseBeGroup (complVerbAdj2 True v x y) ;
|
|
||||||
|
|
||||||
PredProgVP = progressiveVerbPhrase ;
|
PredProgVP = progressiveVerbPhrase ;
|
||||||
|
|
||||||
-- Use VPs
|
-- Use VPs
|
||||||
|
|||||||
@@ -46,10 +46,12 @@ lin
|
|||||||
|
|
||||||
UseA = adj2adjPhrase ;
|
UseA = adj2adjPhrase ;
|
||||||
ComplA2 = complAdj ;
|
ComplA2 = complAdj ;
|
||||||
|
ComplAV = complVerbAdj ;
|
||||||
|
ComplObjA2V = complVerbAdj2 True ;
|
||||||
|
|
||||||
PositADeg = positAdjPhrase ;
|
PositADeg = positAdjPhrase ;
|
||||||
ComparADeg = comparAdjPhrase ;
|
ComparADeg = comparAdjPhrase ;
|
||||||
SuperlNP = superlNounPhrase ;
|
SuperlADeg = superlAdjPhrase ;
|
||||||
|
|
||||||
-- verbs and verb phrases mostly in $Clause$
|
-- verbs and verb phrases mostly in $Clause$
|
||||||
|
|
||||||
|
|||||||
@@ -372,6 +372,12 @@ oper
|
|||||||
|
|
||||||
superlSpecies : Species ;
|
superlSpecies : Species ;
|
||||||
|
|
||||||
|
superlAdjPhrase : AdjDegr -> AdjPhrase = \ung ->
|
||||||
|
{s = \\a,c => ung.s ! AF (Super SupWeak) c ;
|
||||||
|
p = True
|
||||||
|
} ;
|
||||||
|
|
||||||
|
{-
|
||||||
-- Moreover, superlatives can be used alone as adjectival phrases
|
-- Moreover, superlatives can be used alone as adjectival phrases
|
||||||
-- ("yngst", "den yngste" - in free variation).
|
-- ("yngst", "den yngste" - in free variation).
|
||||||
-- N.B. the former is only permitted in predicative position.
|
-- N.B. the former is only permitted in predicative position.
|
||||||
@@ -383,6 +389,7 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
p = False
|
p = False
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
--3 Two-place adjectives
|
--3 Two-place adjectives
|
||||||
--
|
--
|
||||||
@@ -1056,12 +1063,13 @@ oper
|
|||||||
s2 = hitta.s2
|
s2 = hitta.s2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
complVerbAdj : Adjective -> VerbPhrase -> VerbGroup = \grei, simma ->
|
complVerbAdj : Adjective -> VerbPhrase -> AdjPhrase = \grei, simma ->
|
||||||
vara
|
{s = \\a,c =>
|
||||||
(\\g,n,p =>
|
grei.s ! a ! Nom ++
|
||||||
grei.s ! predFormAdj g n ! Nom ++
|
|
||||||
infinAtt ++
|
infinAtt ++
|
||||||
simma.s ! VIInfinit ! g ! n ! p) ;
|
simma.s ! VIInfinit ! Neutr ! Sg ! P3 ; ---- agreement!
|
||||||
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
-- Notice agreement to object vs. subject:
|
-- Notice agreement to object vs. subject:
|
||||||
|
|
||||||
@@ -1078,17 +1086,17 @@ oper
|
|||||||
) ;
|
) ;
|
||||||
|
|
||||||
complVerbAdj2 :
|
complVerbAdj2 :
|
||||||
Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> VerbGroup =
|
Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> AdjPhrase =
|
||||||
\obj,grei,dig,simma ->
|
\obj,grei,dig,simma ->
|
||||||
vara
|
{s = \\a,_ =>
|
||||||
(\\g,n,p =>
|
grei.s ! a ! Nom ++
|
||||||
grei.s ! predFormAdj g n ! Nom ++
|
|
||||||
{-strPrep-} grei.s2 ++ dig.s ! PAcc ++
|
{-strPrep-} grei.s2 ++ dig.s ! PAcc ++
|
||||||
infinAtt ++
|
infinAtt ++
|
||||||
if_then_Str obj
|
---- if_then_Str obj
|
||||||
(simma.s ! VIInfinit ! dig.g ! dig.n ! dig.p)
|
(simma.s ! VIInfinit ! dig.g ! dig.n ! dig.p) ;
|
||||||
(simma.s ! VIInfinit ! g ! n ! p)
|
---- (simma.s ! VIInfinit ! g ! n ! p)
|
||||||
) ;
|
p = False
|
||||||
|
} ;
|
||||||
|
|
||||||
--2 Sentences missing noun phrases
|
--2 Sentences missing noun phrases
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -39,12 +39,9 @@ incomplete concrete VerbphraseScand of Verbphrase = CategoriesScand **
|
|||||||
ComplV2Q = complDitransQuestVerb ;
|
ComplV2Q = complDitransQuestVerb ;
|
||||||
|
|
||||||
PredAP = predAdjective ;
|
PredAP = predAdjective ;
|
||||||
PredSuperl a = predAdjective (superlAdjPhrase a) ;
|
|
||||||
PredCN = predCommNoun ;
|
PredCN = predCommNoun ;
|
||||||
PredNP = predNounPhrase ;
|
PredNP = predNounPhrase ;
|
||||||
PredAdv = predAdverb ;
|
PredAdv = predAdverb ;
|
||||||
PredAV = complVerbAdj ;
|
|
||||||
PredObjA2V = complVerbAdj2 True ;
|
|
||||||
|
|
||||||
PredProgVP = progressiveVerbPhrase ;
|
PredProgVP = progressiveVerbPhrase ;
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ PastTime h m = ss (m.s ++ "
|
|||||||
ToTime h m = ss (m.s ++ "i" ++ h.s) ;
|
ToTime h m = ss (m.s ++ "i" ++ h.s) ;
|
||||||
ExactTime h = ss (h.s ++ "prick") ;
|
ExactTime h = ss (h.s ++ "prick") ;
|
||||||
|
|
||||||
NumHour n = n ;
|
NumHour n = {s = n.s ! Neutr} ;
|
||||||
NumMinute n = n ;
|
NumMinute n = {s = n.s ! Neutr} ;
|
||||||
|
|
||||||
monday = regN "måndag" utrum ;
|
monday = regN "måndag" utrum ;
|
||||||
tuesday = regN "tisdag" utrum ;
|
tuesday = regN "tisdag" utrum ;
|
||||||
|
|||||||
Reference in New Issue
Block a user