mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
relatives, except Finnish
This commit is contained in:
@@ -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} ;
|
||||
|
||||
@@ -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 ;
|
||||
-}
|
||||
|
||||
}
|
||||
@@ -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) ;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user