forked from GitHub/gf-core
extending romance, bug fixes in scandinavian
This commit is contained in:
@@ -45,19 +45,18 @@ lin
|
||||
ComparADeg = comparAdjPhrase ;
|
||||
SuperlNP = superlNounPhrase ;
|
||||
|
||||
---- PredAS = predAdjSent ;
|
||||
---- PredV0 rain = predVerbClause (pronNounPhrase pronIt) rain (complVerb rain) ;
|
||||
PredAS = predAdjSent ;
|
||||
PredV0 rain = predVerbClause (pronNounPhrase pronImpers) rain (complVerb rain) ;
|
||||
|
||||
-- Partial saturation.
|
||||
|
||||
---- UseV2 = transAsVerb ;
|
||||
UseV2 = transAsVerb ;
|
||||
|
||||
---- ComplV3 = complDitransVerb ;
|
||||
|
||||
---- ComplA2S = predAdjSent2 ;
|
||||
|
||||
---- AdjPart = adjPastPart ;
|
||||
ComplA2S = predAdjSent2 ; ---- clitics get lost
|
||||
|
||||
AdjPart = adjPastPart ;
|
||||
|
||||
UseV2V x = x ** {isAux = False} ;
|
||||
UseV2S x = x ;
|
||||
@@ -129,11 +128,11 @@ lin
|
||||
ImperOne = imperUtterance singular ;
|
||||
ImperMany = imperUtterance plural ;
|
||||
|
||||
---- AdvCl = advClause ;
|
||||
---- AdvVPI = advVerbPhrase ;
|
||||
AdvCl = advClause ;
|
||||
AdvVPI = advVerbPhrase ;
|
||||
|
||||
---- AdCPhr = advSentence ;
|
||||
---- AdvPhr = advSentence ;
|
||||
AdCPhr = advSentence ;
|
||||
AdvPhr = advSentence ;
|
||||
|
||||
TwoS = twoSentence ;
|
||||
ConsS = consSentence ;
|
||||
@@ -175,14 +174,8 @@ lin
|
||||
|
||||
OneNP = nounPhraseOn ;
|
||||
|
||||
ExistCN A = existNounPhrase (indefNounPhrase Sg A) ;
|
||||
|
||||
{- ----
|
||||
ExistCN A = predVerbGroupClause npDet
|
||||
(complTransVerb (mkDirectVerb (deponentVerb verbFinnas))
|
||||
(indefNounPhrase singular A)) ;
|
||||
ExistNumCN nu A = predVerbGroupClause npDet
|
||||
(complTransVerb (mkDirectVerb (deponentVerb verbFinnas))
|
||||
(indefNounPhraseNum plural nu A)) ;
|
||||
-}
|
||||
ExistNumCN nu A = existNounPhrase (indefNounPhraseNum nu A) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -74,6 +74,11 @@ oper
|
||||
|
||||
noNum : Numeral = {s = \\_ => []} ;
|
||||
|
||||
-- The existence construction "il y a", "c'è / ci sono" is defined separately,
|
||||
-- and ad hoc, in each language.
|
||||
|
||||
existNounPhrase : NounPhrase -> Clause ;
|
||||
|
||||
|
||||
--2 Determiners
|
||||
--
|
||||
@@ -201,10 +206,6 @@ oper
|
||||
g = idee.g
|
||||
} ;
|
||||
|
||||
-- The existence construction "il y a", "c'è / ci sono" is defined separately,
|
||||
-- and ad hoc, in each language.
|
||||
|
||||
existNounPhrase : NounPhrase -> Sentence ;
|
||||
|
||||
-- The partitive noun phrase has special nominative and accusative, which look like
|
||||
-- genitives ("du vin, avec du vin", as well as genitive form, where the definite
|
||||
@@ -284,6 +285,25 @@ oper
|
||||
p = bon.p
|
||||
} ;
|
||||
|
||||
-- Sentence-complement adjectives.
|
||||
---- Need proper mode in the negative case.
|
||||
|
||||
predAdjSent : (Adjective ** {mp,mn : Mode}) -> Sentence -> Clause =
|
||||
\probable,ildort ->
|
||||
predCopula pronImpers
|
||||
(complCopula
|
||||
(\\_,_,_ => probable.s ! AF Masc Sg ++ elisQue ++ ildort.s ! probable.mp)) ;
|
||||
|
||||
---- This rule in abstract syntax misses clitics.
|
||||
|
||||
predAdjSent2 : (AdjCompl ** {mp,mn : Mode}) -> NounPhrase ->
|
||||
( Adjective ** {mp,mn : Mode}) = \facile,jean ->
|
||||
complAdj facile jean ** {mp = facile.mp ; mn = facile.mn} ;
|
||||
|
||||
pronImpers : NounPhrase ;
|
||||
|
||||
-- $pronImpers = pronNounPhrase pronIl$ in French, empty in Italian
|
||||
-- and Spanish.
|
||||
|
||||
--3 Prepositions and complements
|
||||
--
|
||||
@@ -457,36 +477,6 @@ oper
|
||||
predCopula : NounPhrase -> Complemnt -> Clause = \np,co ->
|
||||
predVerbClause np copula co ;
|
||||
|
||||
{-
|
||||
predVerb : Verb -> VerbGroup = \aller ->
|
||||
{s = \\b,g,v => "foo"} ;
|
||||
|
||||
formVerb : Verb -> Bool -> Gender -> VPForm -> Str = \aller,b,g,vf ->
|
||||
(predVerb aller).s ! b ! g ! vf ;
|
||||
|
||||
-- This is needed to take apart the auxiliary ("avoir" or "être") and
|
||||
-- the participle, to form correct order of negation and clitique.
|
||||
|
||||
formVerb2 : Verb -> Gender -> VPForm ->
|
||||
{verb : Str ; part : Gender => Number => Str} = \aller,g,vf ->
|
||||
case vf of {
|
||||
VPF Simul v => {
|
||||
verb = aller.s ! v ;
|
||||
part = \\_,_ => []
|
||||
} ;
|
||||
VPF Anter v => {
|
||||
verb = (auxVerb aller).s ! v ;
|
||||
part = --\\gen,num => --- cannot infer type
|
||||
table Gender {gen => table Number {num =>
|
||||
aller.s ! case aller.aux of {
|
||||
AEsse => VPart g (nombreVerb v) ;
|
||||
AHabere => VPart gen num
|
||||
}
|
||||
}}
|
||||
}
|
||||
} ;
|
||||
-}
|
||||
|
||||
negVerb : Str -> Str ;
|
||||
|
||||
-- Verb phrases can also be formed from adjectives ("est bon"),
|
||||
@@ -604,6 +594,16 @@ oper
|
||||
|
||||
reflPron : Number => Person => NPFormA => Str ;
|
||||
|
||||
---- There is no adverbial form for the past participle.
|
||||
|
||||
adjPastPart : Verb -> Adjective = \verb -> {
|
||||
s = table {
|
||||
AF g n => verb.s ! VPart g n ;
|
||||
AA => verb.s ! VPart Masc Sg
|
||||
} ;
|
||||
p = False
|
||||
} ;
|
||||
|
||||
mkTransVerb : Verb -> Preposition -> CaseA -> TransVerb = \v,p,c ->
|
||||
v ** {s2 = p ; c = c} ;
|
||||
|
||||
@@ -700,6 +700,9 @@ oper
|
||||
adVerbPhrase : VerbGroup -> Adverb -> VerbGroup = \chante, bien ->
|
||||
{s = \\b,g,v => chante.s ! b ! g ! v ++ bien.s} ;
|
||||
|
||||
advVerbPhrase : VerbPhrase -> Adverb -> VerbPhrase = \chante, bien ->
|
||||
{s = \\v,g,n,p => chante.s ! v ! g ! n ! p ++ bien.s} ;
|
||||
|
||||
-- Adverbs are typically generated by prefixing prepositions.
|
||||
-- The rule for prepositional phrases also comprises the use of prepositions
|
||||
-- treated as cases. Therefore, both a preposition and a case are needed
|
||||
@@ -1076,10 +1079,6 @@ oper
|
||||
|
||||
----- questVerbPhrase : NounPhrase -> VerbPhrase -> Question ;
|
||||
|
||||
-- The existence question is treated separately.
|
||||
|
||||
existNounPhraseQuest : NounPhrase -> Question ;
|
||||
|
||||
--3 Wh-questions
|
||||
--
|
||||
-- Wh-questions are of two kinds: ones that are like $NP - VP$ sentences,
|
||||
@@ -1143,7 +1142,13 @@ oper
|
||||
|
||||
--2 Sentence adverbials
|
||||
--
|
||||
-- This class covers adverbials such as "autrement", "donc", which are prefixed
|
||||
-- Sentence adverbs is the largest class and open for
|
||||
-- e.g. prepositional phrases.
|
||||
|
||||
advClause : Clause -> Adverb -> Clause = \yousing,well ->
|
||||
{s = \\b,c => yousing.s ! b ! c ++ well.s} ;
|
||||
|
||||
-- Another class covers adverbials such as "autrement", "donc", which are prefixed
|
||||
-- to a sentence to form a phrase.
|
||||
|
||||
advSentence : SS -> Sentence -> Utterance = \donc,ildort ->
|
||||
@@ -1276,6 +1281,7 @@ oper
|
||||
<_,P1> => P1 ;
|
||||
_ => P2
|
||||
} ;
|
||||
|
||||
--3 Coordinating adverbs
|
||||
--
|
||||
-- We need a category of lists of adverbs. It is a discontinuous
|
||||
|
||||
Reference in New Issue
Block a user