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