relatives, except Finnish

This commit is contained in:
aarne
2005-09-01 12:43:41 +00:00
parent eaee717f99
commit 347473ccd4
23 changed files with 427 additions and 239 deletions

View File

@@ -30,6 +30,7 @@ lincat
V = Verb ;
-- = {s : VerbForm => Str ; s1 : Str} ;
VP = VerbGroup ;
VCl = {s : Bool => Anteriority => VIForm => Gender => Number => Person => Str} ;
VPI = {s : VIForm => Gender => Number => Person => Str} ;
V2 = TransVerb ;
-- = Verb ** {s2 : Preposition} ;
@@ -48,6 +49,7 @@ lincat
TP = {s : Str ; b : Bool ; t : Tense ; a : Anteriority} ; --- the Str field is dummy
Tense = {s : Str ; t : Tense} ;
Pol = {s : Str ; p : Bool} ;
Ant = {s : Str ; a : Anteriority} ;
@@ -68,7 +70,7 @@ lincat
RS = {s : GenNum => Person => Str} ;
RCl = {s : Bool => SForm => GenNum => Person => Str} ;
IP = NounPhrase ;
IP = IntPron ; -- = NounPhrase ;
IDet = {s : NounGender => Str ; n : Number ; b : SpeciesP} ;
QS = {s : QuestForm => Str} ;
QCl = {s : Bool => SForm => QuestForm => Str} ;

View File

@@ -1,82 +0,0 @@
--# -path=.:../abstract:../../prelude
incomplete concrete ClauseScand of Clause = CategoriesScand **
open Prelude, SyntaxScand in {
flags optimize=all ;
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) ;
SPredV3 np v x y = predVerbGroupClause np (complDitransVerb v x y) ;
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) ;
QPredV3 np v x y = intVerbPhrase np (complDitransVerb v x y) ;
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) ;
QPredProgVP np v = intVerbPhrase np (progressiveVerbPhrase v) ;
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 ;
-}
}

View File

@@ -79,6 +79,9 @@ lin
UseRCl tp cl =
{s = \\gn,p => tp.s ++ cl.s ! tp.b ! VFinite tp.t tp.a ! gn ! p} ;
UseQCl tp cl = {s = \\q => tp.s ++ cl.s ! tp.b ! VFinite tp.t tp.a ! q} ;
UseVCl po a cl = {
s = \\v,g,n,p => po.s ++ a.s ++ cl.s ! po.p ! a.a ! v ! g ! n ! p ;
} ;
PosTP t a = {s = t.s ++ a.s ; b = True ; t = t.t ; a = a.a} ;
NegTP t a = {s = t.s ++ a.s ; b = False ; t = t.t ; a = a.a} ;
@@ -91,6 +94,9 @@ lin
ASimul = {s = [] ; a = Simul} ;
AAnter = {s = [] ; a = Anter} ;
PPos = {s = [] ; p = True} ;
PNeg = {s = [] ; p = False} ;
-- Adverbs.
AdjAdv a = advPost (a.s ! adverbForm ! Nom) ;

View File

@@ -559,6 +559,9 @@ oper
VerbPhrase : Type = {
s : VIForm => Gender => Number => Person => Str
} ;
VerbClause : Type = {
s : Bool => Anteriority => VIForm => Gender => Number => Person => Str
} ;
-------------------------
@@ -659,8 +662,21 @@ oper
} ---- bo shadows b
} ;
predVerbGroupI : Bool -> {s : Str ; a : Anteriority} -> VerbGroup -> VerbPhrase =
predVerbGroup ;
predVerbGroupI : VerbGroup -> VerbClause = \vg ->
let
vgs = vg.s1 ;
vgs3 : SForm => Gender => Number => Person => Str = \\sf,g,n,p =>
vg.s4 ! sf ++ vg.s5 ! g ! n ! p ++ vg.s6 ++ vg.s7 ;
in
{s = \\b,a =>
table {
VIInfinit => \\g,n,p =>
vgs ! VInfinit a ++ vg.s3 ! b ++ vgs3 ! VInfinit a ! g ! n ! p ;
VIImperat bo => \\g,n,p =>
vgs ! VImperat ++ vg.s3 ! b ++ vgs3 ! VImperat ! g ! n ! p
}
} ;
{- ----
\b,ant,vg ->
let vp = predVerbGroup b ant vg in

View File

@@ -51,8 +51,9 @@ incomplete concrete VerbphraseScand of Verbphrase = CategoriesScand **
RelVP = relVerbPhrase ;
IntVP = intVerbPhrase ;
PosVP tp = predVerbGroup True tp ;
NegVP tp = predVerbGroup False tp ;
-- PosVP tp = predVerbGroup True tp ;
-- NegVP tp = predVerbGroup False tp ;
UseVP = predVerbGroupI ;
AdvVP = adVerbPhrase ;
SubjVP = subjunctVerbPhrase ;