1
0
forked from GitHub/gf-rgl

1st infinitive long

This commit is contained in:
Aarne Ranta
2023-08-21 15:58:57 +03:00
parent 98128cedd7
commit f08c9c0c93
3 changed files with 39 additions and 9 deletions

View File

@@ -1,12 +1,24 @@
abstract Infinitive = abstract Infinitive =
Grammar - [VPSlashPrep], ---- to avoid certain spurious ambiguities, to be fixed Grammar - [
VPSlashPrep, --- to avoid certain spurious ambiguities, to be fixed
PassV2 ---- temporarily disabled, to be fixed
],
Lexicon Lexicon
** { ** {
flags startcat = Utt ; flags startcat = Utt ;
data cat
RAdv ; -- reflexive adverbs, e.g. mennäkse (ni/si/...)
fun
UseV2 : V2 -> VP ; -- to use V2 intransitively, suppressing object
RAdvVP : VP -> RAdv -> VP ; -- syödä elääkseni
X_NP, Y_NP, Z_NP : NP ; -- unknown subjects and objects
tulla_VV : VV ; -- tulla (tekemään), explicit future tense
PresPartPassSubjVP : VP -> VP ; -- (minun) on mentävä PresPartPassSubjVP : VP -> VP ; -- (minun) on mentävä
PresPartPassObjVP : VPSlash -> VP ; -- (oluesta) on pidettävä PresPartPassObjVP : VPSlash -> VP ; -- (oluesta) on pidettävä
@@ -19,13 +31,12 @@ data
AgentPartAP : NP -> VPSlash -> AP ; -- koiran syömä AgentPartAP : NP -> VPSlash -> AP ; -- koiran syömä
Inf1LongRAdv : VP -> RAdv ; -- mennäkse (ni/si/...)
Inf2InessAdv : NP -> VP -> Adv ; -- junan mennessä Inf2InessAdv : NP -> VP -> Adv ; -- junan mennessä
Inf2InessPassAdv : VP -> Adv ; -- odotettaessa (junaa), touhuttaessa (junan kanssa) Inf2InessPassAdv : VP -> Adv ; -- odotettaessa (junaa), touhuttaessa (junan kanssa)
Inf2InessPassInvAdv : NP -> VPSlash -> Adv ; -- junaa odotettaessa, junan kanssa touhutessa Inf2InessPassInvAdv : NP -> VPSlash -> Adv ; -- junaa odotettaessa, junan kanssa touhutessa
Inf2InstrAdv : VP -> Adv ; -- odottaen (junaa)
Inf2InstrInvAdv : NP -> VPSlash -> Adv ; -- junaa odottaen
Inf2InstrAdv : VP -> Adv ; -- odottaen (junaa) Inf2InstrAdv : VP -> Adv ; -- odottaen (junaa)
Inf2InstrInvAdv : NP -> VPSlash -> Adv ; -- junaa odottaen Inf2InstrInvAdv : NP -> VPSlash -> Adv ; -- junaa odottaen

View File

@@ -1,15 +1,28 @@
--# -path=..:alltenses --# -path=..:alltenses
concrete InfinitiveFin of Infinitive = concrete InfinitiveFin of Infinitive =
GrammarFin - [VPSlashPrep], GrammarFin - [
VPSlashPrep,
PassV2],
LexiconFin LexiconFin
** open ** open
ResFin, ResFin,
StemFin, StemFin,
Prelude Prelude,
ParadigmsFin
in { in {
lincat
RAdv = {s : Agr => Str} ;
lin lin
UseV2 v2 = predSV v2 ;
RAdvVP vp radv = insertObj (\\_,_ => radv.s) vp ; ---- can be wrong word order
X_NP = MassNP (UseN (mkN "X" "X:n")) ;
Y_NP = MassNP (UseN (mkN "Y" "Z:n")) ;
Z_NP = MassNP (UseN (mkN "Z" "Z:n")) ;
PresPartPassSubjVP vp = vp ** { PresPartPassSubjVP vp = vp ** {
s = vpVerbOlla ** {sc = SCGen} ; s = vpVerbOlla ** {sc = SCGen} ;
s2 = \\b,p,a => vp.s.s ! PresPartPass (AN (NCase Sg Nom)) ++ vp.s2 ! b ! p ! a ; s2 = \\b,p,a => vp.s.s ! PresPartPass (AN (NCase Sg Nom)) ++ vp.s2 ! b ! p ! a ;
@@ -64,6 +77,12 @@ lin
p = [] p = []
} ; } ;
Inf1LongRAdv vp = {
s = \\a =>
infVP SCNom Pos infAdvAgr vp Inf1Long ++ BIND ++
case vp.s.h of {Back => possSuffix a ; Front => possSuffixFront a}
} ;
Inf2InessAdv np vp = { Inf2InessAdv np vp = {
s = np.s ! NPCase Gen ++ s = np.s ! NPCase Gen ++
infVP SCNom Pos np.a vp Inf2Iness infVP SCNom Pos np.a vp Inf2Iness

View File

@@ -7,7 +7,7 @@ import PGF
import Data.List import Data.List
data Fact = Fact { data Fact = Fact {
content :: Maybe Fact, content :: [Fact],
tense :: Maybe GTemp, tense :: Maybe GTemp,
polarity :: Maybe GPol, polarity :: Maybe GPol,
source :: Maybe GNP, source :: Maybe GNP,
@@ -16,7 +16,7 @@ data Fact = Fact {
action :: Maybe GVP action :: Maybe GVP
} }
initFact = Fact Nothing Nothing Nothing Nothing Nothing Nothing Nothing initFact = Fact [] Nothing Nothing Nothing Nothing Nothing Nothing
factTree fact = case action fact of factTree fact = case action fact of
(Just vp) -> (Just vp) ->