add extra functions to get VPS to work

This commit is contained in:
Meowyam
2022-05-11 11:30:34 +08:00
parent 2418e8cfcf
commit 967a8fb8a1
5 changed files with 21 additions and 5 deletions

View File

@@ -3,6 +3,6 @@
concrete AllMay of AllMayAbs =
LangMay,
ExtendMay
** {
** open ParadigmsMay in {
lin sing_V2 = mkV2 "nyanyi" ;
} ;

View File

@@ -1,7 +1,7 @@
--1 Idiom: Idiomatic Expressions
concrete IdiomMay of Idiom = CatMay ** open Prelude, ResMay, VerbMay, NounMay, StructuralMay in {
concrete IdiomMay of Idiom = CatMay ** open Prelude, ResMay, VerbMay, QuestionMay, NounMay, StructuralMay in {
-- This module defines constructions that are formed in fixed ways,
-- often different even in closely related languages.
@@ -14,10 +14,17 @@ concrete IdiomMay of Idiom = CatMay ** open Prelude, ResMay, VerbMay, NounMay, S
subj = [] ;
pred = \\vf,pol => vp.s ! Root ! pol -- force no prefix -- TODO check if legit?
} ;
{-
-- GenericCl : VP -> Cl ; -- one sleeps
GenericCl = \vp -> predVP impersNP (passVP vp) ;
-- : NP -> Cl ; -- there is a house
ExistNP np = predVP np (useV copula) ;
-- ExistIP : IP -> QCl ; -- which houses are there
ExistIP ip = QuestVP ip (useV copula) ;
-- GenericCl : VP -> Cl ; -- one sleeps
GenericCl = \vp -> predVP emptyNP vp ;
{-
CleftNP : NP -> RS -> Cl ; -- it is I who did it
CleftAdv : Adv -> S -> Cl ; -- it is here she slept

View File

@@ -174,6 +174,11 @@ concrete NounMay of Noun = CatMay ** open ResMay, Prelude in {
heavyMod = cn.heavyMod ++ rs.s ! P3
} ;
-- : CN -> Adv -> CN ;
AdvCN cn adv = cn ** {
heavyMod = cn.heavyMod ++ adv.s
} ;
{-
-- : CN -> Adv -> CN ;
AdvCN cn adv = cn ** { } ;

View File

@@ -10,6 +10,7 @@ concrete PhraseMay of Phrase = CatMay ** open Prelude, ResMay in {
UttIP ip = {s = ip.sp ! NF Sg Bare} ;
UttImpSg pol imp = { s = pol.s ++ imp.s ! Sg ! pol.p } ;
UttImpPol pol imp = {s = pol.s ++ imp.s ! Sg ! pol.p} ;
UttVP vp = {s = vp.s ! Active ! Pos} ;
{-
UttImpSg pol imp =
UttImpPl pol imp =

View File

@@ -34,6 +34,9 @@ lin
}
} ;
-- : VP -> SC ;
EmbedVP vp = {s = vp.s ! Root ! Pos} ;
{-
-- : NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves
SlashVS np vs ss = {} ;