a couple more infinitives interpreted

This commit is contained in:
Aarne Ranta
2023-08-17 23:04:41 +03:00
parent 7a75cf3fb3
commit fccc0428fd
2 changed files with 16 additions and 5 deletions

View File

@@ -159,7 +159,7 @@ oper
-- hänen syövän, häntä syödyn, häntä syötävän -- hänen syövän, häntä syödyn, häntä syötävän
subjPartVP : ResFin.NP -> StemFin.VP -> NPForm -> VForm -> Str = \np, vp, npform, vform -> subjPartVP : ResFin.NP -> StemFin.VP -> NPForm -> VForm -> Str = \np, vp, npform, vform ->
np.s ! NPCase Gen ++ np.s ! npform ++
vp.s.s ! vform ++ vp.s.s ! vform ++
vp.s2 ! True ! Pos ! np.a ++ vp.s2 ! True ! Pos ! np.a ++
vp.adv ! Pos ++ vp.adv ! Pos ++

View File

@@ -18,12 +18,14 @@ data Fact = Fact {
initFact = Fact Nothing Nothing Nothing Nothing Nothing Nothing Nothing initFact = Fact Nothing Nothing Nothing Nothing Nothing Nothing Nothing
factTree fact = case (agent fact, action fact) of factTree fact = case action fact of
(Just np, Just vp) -> (Just vp) ->
GUttS $ GUseCl GUttS $ GUseCl
(maybe presentTense id (tense fact)) (maybe presentTense id (tense fact))
(maybe positivePol id (polarity fact)) (maybe positivePol id (polarity fact))
(GPredVP np vp) (GPredVP
(maybe Gsomebody_NP id (agent fact))
vp)
_ -> GUttNP Gnothing_NP _ -> GUttNP Gnothing_NP
presentTense = GTTAnt GTPres GASimul presentTense = GTTAnt GTPres GASimul
@@ -31,6 +33,7 @@ pastTense = GTTAnt GTPast GASimul
perfectTense = GTTAnt GTPres GAAnter perfectTense = GTTAnt GTPres GAAnter
pluperfectTense = GTTAnt GTPast GAAnter pluperfectTense = GTTAnt GTPast GAAnter
positivePol = GPPos positivePol = GPPos
negativePol = GPNeg
facts :: Infinitive.Tree a -> [Fact] facts :: Infinitive.Tree a -> [Fact]
@@ -38,7 +41,15 @@ facts t = case t of
GComplPresPartActVS vs np vp -> GComplPresPartActVS vs np vp ->
[initFact{attitude = Just vs, agent = Just np, action = Just vp}] [initFact{attitude = Just vs, agent = Just np, action = Just vp}]
GComplPastPartActVS vs np vp -> GComplPastPartActVS vs np vp ->
[initFact{tense = Just perfectTense, attitude = Just vs, agent = Just np, action = Just vp}] [initFact{tense = Just perfectTense, attitude = Just vs,
agent = Just np, action = Just vp}]
GInf3AbessAdv vp ->
[initFact{polarity = Just negativePol, action = Just vp}]
GComplPresPartPassVS vs np vpslash ->
[initFact{attitude = Just vs, action = Just (GComplSlash vpslash np)}]
GComplPastPartPassVS vs np vpslash ->
[initFact{tense = Just perfectTense, attitude = Just vs,
action = Just (GComplSlash vpslash np)}]
_ -> composOpMPlus facts t _ -> composOpMPlus facts t