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 =
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
** {
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ä
PresPartPassObjVP : VPSlash -> VP ; -- (oluesta) on pidettävä
@@ -19,13 +31,12 @@ data
AgentPartAP : NP -> VPSlash -> AP ; -- koiran syömä
Inf1LongRAdv : VP -> RAdv ; -- mennäkse (ni/si/...)
Inf2InessAdv : NP -> VP -> Adv ; -- junan mennessä
Inf2InessPassAdv : VP -> Adv ; -- odotettaessa (junaa), touhuttaessa (junan kanssa)
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)
Inf2InstrInvAdv : NP -> VPSlash -> Adv ; -- junaa odottaen

View File

@@ -1,15 +1,28 @@
--# -path=..:alltenses
concrete InfinitiveFin of Infinitive =
GrammarFin - [VPSlashPrep],
GrammarFin - [
VPSlashPrep,
PassV2],
LexiconFin
** open
ResFin,
StemFin,
Prelude
Prelude,
ParadigmsFin
in {
lincat
RAdv = {s : Agr => Str} ;
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 ** {
s = vpVerbOlla ** {sc = SCGen} ;
s2 = \\b,p,a => vp.s.s ! PresPartPass (AN (NCase Sg Nom)) ++ vp.s2 ! b ! p ! a ;
@@ -64,6 +77,12 @@ lin
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 = {
s = np.s ! NPCase Gen ++
infVP SCNom Pos np.a vp Inf2Iness

View File

@@ -7,7 +7,7 @@ import PGF
import Data.List
data Fact = Fact {
content :: Maybe Fact,
content :: [Fact],
tense :: Maybe GTemp,
polarity :: Maybe GPol,
source :: Maybe GNP,
@@ -16,7 +16,7 @@ data Fact = Fact {
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
(Just vp) ->