mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-10 21:39:32 -06:00
more on romance
This commit is contained in:
4
lib/resource/french/ClauseFre.gf
Normal file
4
lib/resource/french/ClauseFre.gf
Normal file
@@ -0,0 +1,4 @@
|
||||
--# -path=.:../romance:../abstract:../../prelude
|
||||
|
||||
concrete ClauseFre of Clause = CategoriesFre **
|
||||
ClauseRomance with (SyntaxRomance=SyntaxFre) ;
|
||||
@@ -25,7 +25,7 @@ incomplete concrete CategoriesRomance of Categories =
|
||||
open Prelude, SyntaxRomance in {
|
||||
|
||||
flags
|
||||
startcat=Phr ;
|
||||
startcat=Phr ; optimize=all ;
|
||||
|
||||
lincat
|
||||
N = CommNoun ;
|
||||
@@ -66,7 +66,7 @@ lincat
|
||||
|
||||
V2S = TransVerb ;
|
||||
V2Q = TransVerb ;
|
||||
V2V = TransVerb ** {s3 : Preposition ; c3 : CaseA} ;
|
||||
V2V = TransVerb ** {c3 : CaseA} ;
|
||||
V2A = TransVerb ;
|
||||
V0 = Verb ;
|
||||
|
||||
|
||||
149
lib/resource/romance/ClauseRomance.gf
Normal file
149
lib/resource/romance/ClauseRomance.gf
Normal file
@@ -0,0 +1,149 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
open Prelude, SyntaxRomance in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
lin
|
||||
SPredV np v = predVerbClause np v (complVerb v) ;
|
||||
SPredPassV np v = predCopula np (passVerb v) ;
|
||||
SPredV2 np v x = predVerbClause np v (complTransVerb v x) ;
|
||||
-- SPredReflV2 np v = predVerbClause np v (reflTransVerb v) ;
|
||||
SPredVS np v x = predVerbClause np v (complSentVerb v x) ;
|
||||
SPredVV np v x = predVerbClause np v (complVerbVerb v x) ;
|
||||
SPredVQ np v x = predVerbClause np v (complQuestVerb v x) ;
|
||||
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
|
||||
|
||||
PredVP = predVerbGroupClause ;
|
||||
IntVP = intVerbPhrase ;
|
||||
RelVP = relVerbPhrase ;
|
||||
|
||||
|
||||
PosVP tp = predVerbGroup True tp.a ;
|
||||
NegVP tp = predVerbGroup False tp.a ;
|
||||
|
||||
AdvVP = adVerbPhrase ;
|
||||
SubjVP = subjunctVerbPhrase ;
|
||||
-}
|
||||
|
||||
|
||||
|
||||
{-
|
||||
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 ;
|
||||
-}
|
||||
|
||||
}
|
||||
@@ -623,6 +623,38 @@ oper
|
||||
|
||||
posNeg : Bool -> (verb, compl : Str) -> Str ;
|
||||
|
||||
complDitransAdjVerb :
|
||||
TransVerb -> NounPhrase -> AdjPhrase -> Complemnt = \rend,toi,sec ->
|
||||
let
|
||||
rendtoi = complTransVerb rend toi
|
||||
in
|
||||
\\g,n,p =>
|
||||
let rt = rendtoi ! g ! n ! p in
|
||||
{clit = rt.clit ; part = rt.part ;
|
||||
compl = rt.compl ++ sec.s ! AF g n
|
||||
} ;
|
||||
|
||||
DitransVerbVerb = TransVerb ** {c3 : CaseA} ;
|
||||
|
||||
complDitransVerbVerb :
|
||||
Bool -> DitransVerbVerb -> NounPhrase -> VerbPhrase -> Complemnt =
|
||||
\obj, demander, toi, nager ->
|
||||
let
|
||||
rendtoi = complTransVerb demander toi
|
||||
in
|
||||
\\g,n,p =>
|
||||
let
|
||||
rt = rendtoi ! g ! n ! p ;
|
||||
agr : Gender * Number * Person = case obj of {
|
||||
True => <pgen2gen toi.g, toi.n, toi.p> ;
|
||||
False => <g, n, p>
|
||||
}
|
||||
in
|
||||
{clit = rt.clit ; part = rt.part ;
|
||||
compl = rt.compl ++ prepCase demander.c ++
|
||||
nager.s ! VIInfinit ! agr.p1 ! agr.p2 ! agr.p3
|
||||
} ;
|
||||
|
||||
|
||||
--2 Adverbs
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user