mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
VV rules
This commit is contained in:
@@ -5,12 +5,13 @@
|
||||
-- Aarne Ranta 2002 -- 2005
|
||||
--
|
||||
-- This resource morphology contains definitions needed in the resource
|
||||
-- syntax. It moreover contains the most usual inflectional patterns.
|
||||
--
|
||||
-- We use the parameter types and word classes defined in $Types.gf$.
|
||||
-- syntax. To build a lexicon, it is better to use $ParadigmsEng$, which
|
||||
-- gives a higher-level access to this module.
|
||||
|
||||
resource MorphoEng = ResEng ** open Prelude, (Predef=Predef) in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
--2 Phonology
|
||||
--
|
||||
-- To regulate the use of endings for both nouns, adjectives, and verbs:
|
||||
@@ -197,7 +198,7 @@ oper
|
||||
|
||||
verbGen : Str -> Verb = \kill -> case last kill of {
|
||||
"y" => verbP3y (init kill) ;
|
||||
"e" => verbP3y (init kill) ;
|
||||
"e" => verbP3e (init kill) ;
|
||||
"s" => verbP3s (init kill) ;
|
||||
_ => regVerbP3 kill
|
||||
} ;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
concrete QuestionEng of Question = CatEng ** open ResEng in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
|
||||
QuestCl cl = {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
concrete RelativeEng of Relative = CatEng ** open ResEng in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
|
||||
RelCl cl = {
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
resource ResEng = ParamEng ** open Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
oper
|
||||
|
||||
-- For $Lex$.
|
||||
|
||||
@@ -7,6 +7,7 @@ abstract Sentence = Cat ** {
|
||||
ImpVP : VP -> Imp ;
|
||||
|
||||
SlashV2 : NP -> V2 -> Slash ;
|
||||
SlashVVV2 : NP -> VV -> V2 -> Slash ;
|
||||
AdvSlash : Slash -> Adv -> Slash ;
|
||||
SlashPrep : Cl -> Prep -> Slash ;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,23 @@ concrete SentenceEng of Sentence = CatEng ** open ResEng in {
|
||||
} ;
|
||||
c2 = v2.c2
|
||||
} ;
|
||||
--- PredVP (np ** {lock_NP =<>}) (UseV (v2 ** {lock_V = <>})) ** {c2 = v2.c2} ;
|
||||
--- not possible:
|
||||
--- PredVP (np ** {lock_NP =<>}) (UseV (v2 ** {lock_V = <>})) ** {c2 = v2.c2} ;
|
||||
|
||||
SlashVVV2 np vv v2 = {
|
||||
s = \\t,a,b,o =>
|
||||
let
|
||||
agr = np.a ;
|
||||
verb = (predV vv).s ! t ! a ! b ! o ! agr ;
|
||||
inf = "to" ++ v2.s ! VInf ;
|
||||
subj = np.s ! Nom
|
||||
in
|
||||
case o of {
|
||||
ODir => subj ++ verb.fin ++ verb.inf ++ inf ;
|
||||
OQuest => verb.fin ++ subj ++ verb.inf ++ inf
|
||||
} ;
|
||||
c2 = v2.c2
|
||||
} ;
|
||||
|
||||
AdvSlash slash adv = {
|
||||
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete StructuralEng of Structural = CatEng ** open MorphoEng, Prelude in {
|
||||
|
||||
concrete StructuralEng of Structural = CatEng **
|
||||
open MorphoEng, Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
@@ -19,8 +19,8 @@ concrete StructuralEng of Structural = CatEng ** open MorphoEng, Prelude in {
|
||||
but_PConj = ss "but" ;
|
||||
by8agent_Prep = ss "by" ;
|
||||
by8means_Prep = ss "by" ;
|
||||
---- can8know_VV = vvCan ;
|
||||
---- can_VV = vvCan ;
|
||||
can8know_VV = verbPart (mkVerbIrreg "know" "knew" "known") "how"** {c2 = "to"} ;---
|
||||
can_VV = verbGen "manage" ** {c2 = "to"} ; ---
|
||||
during_Prep = ss "during" ;
|
||||
either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
|
||||
everybody_NP = regNP "everybody" Sg ;
|
||||
@@ -42,7 +42,7 @@ concrete StructuralEng of Structural = CatEng ** open MorphoEng, Prelude in {
|
||||
more_CAdv = ss "more" ;
|
||||
most_Predet = ss "most" ;
|
||||
much_Det = mkDeterminer Sg "much" ;
|
||||
---- must_VV = vvMust ;
|
||||
must_VV = mkVerb4 "have" "has" "had" "had" ** {c2 = "to"} ; ---
|
||||
no_Phr = ss "no" ;
|
||||
on_Prep = ss "on" ;
|
||||
only_Predet = ss "only" ;
|
||||
@@ -73,7 +73,7 @@ concrete StructuralEng of Structural = CatEng ** open MorphoEng, Prelude in {
|
||||
to_Prep = ss "to" ;
|
||||
under_Prep = ss "under" ;
|
||||
very_AdA = ss "very" ;
|
||||
---- want_VV = verb2aux (verbNoPart (regVerbP3 "want")) ** {isAux = False} ;
|
||||
want_VV = verbGen "want" ** {c2 = "to"} ;
|
||||
we_Pron = mkNP "we" "us" "our" Pl P1 ;
|
||||
whatPl_IP = mkIP "what" "what" "what's" Sg ;
|
||||
whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
||||
|
||||
Reference in New Issue
Block a user