forked from GitHub/gf-rgl
1st infinitive long
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) ->
|
||||
|
||||
Reference in New Issue
Block a user