mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 18:02:54 -06:00
more shallow grs
This commit is contained in:
@@ -33,6 +33,12 @@ oper
|
||||
nounY : Str -> CommonNoun = \fl ->
|
||||
mkNoun (fl + "y") (fl + "ies") (fl + "y's") (fl + "ies'") ;
|
||||
|
||||
nounGen : Str -> CommonNoun = \dog -> case last dog of {
|
||||
"y" => nounY "dog" ;
|
||||
"s" => nounS (init "dog") ;
|
||||
_ => nounReg "dog"
|
||||
} ;
|
||||
|
||||
--3 Proper names
|
||||
--
|
||||
-- Regular proper names are inflected with "'s" in the genitive.
|
||||
@@ -174,6 +180,13 @@ oper
|
||||
verbP3y : Str -> VerbP3 = \cr ->
|
||||
mkVerbP3 (cr + "y") (cr + "ies") (cr + "ied") (cr + "ied") ;
|
||||
|
||||
verbGen : Str -> VerbP3 = \kill -> case last kill of {
|
||||
"y" => verbP3y (init "kill") ;
|
||||
"e" => verbP3y (init "kill") ;
|
||||
"s" => verbP3s (init "kill") ;
|
||||
_ => regVerbP3 "kill"
|
||||
} ;
|
||||
|
||||
verbP3Have = mkVerbP3 "have" "has" "had" "had" ;
|
||||
|
||||
verbP3Do = mkVerbP3 "do" "does" "did" "done" ;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
-- expressions of basic categories: nouns, adjectives, verbs.
|
||||
--
|
||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||
-- accessed through the resource syntax API, $resource.Abs.gf$.
|
||||
-- accessed through the resource syntax API, $Structural.gf$.
|
||||
--
|
||||
-- The main difference with $MorphoEng.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
@@ -148,6 +148,12 @@ oper
|
||||
|
||||
tvPartReg : Str -> Str -> Str -> TV ; -- get, along, with
|
||||
|
||||
-- Ditransitive verbs.
|
||||
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om
|
||||
v3Dir : V -> Str -> V3 ; -- ge,_,till
|
||||
v3DirDir : V -> V3 ; -- ge,_,_
|
||||
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
--.
|
||||
@@ -239,4 +245,7 @@ oper
|
||||
tvDir = \v -> mkTV v [] ;
|
||||
tvGenDir = \s -> tvDir (vGen s) ;
|
||||
|
||||
mkV3 x y z = mkDitransVerb x y z ** {lock_V3 = <>} ;
|
||||
v3Dir x y = mkV3 x [] y ;
|
||||
v3DirDir x = v3Dir x [] ;
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user