mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-03 00:02:50 -06:00
lib/amharic by Markos Kassa Gobena
This commit is contained in:
58
lib/src/amharic/RelativeAmh.gf
Normal file
58
lib/src/amharic/RelativeAmh.gf
Normal file
@@ -0,0 +1,58 @@
|
||||
concrete RelativeAmh of Relative = CatAmh ** open ResAmh in {
|
||||
----
|
||||
---- flags optimize=all_subs ;
|
||||
----
|
||||
---- lin
|
||||
----
|
||||
---- RelCl cl = {
|
||||
---- s = \\t,a,p,_ => "سُعه" ++ "تهَت" ++ cl.s ! t ! a ! p ! ODir
|
||||
---- } ;
|
||||
----
|
||||
---- RelVP rp vp = {
|
||||
---- s = \\t,ant,b,ag =>
|
||||
---- let
|
||||
---- agr = case rp.a of {
|
||||
---- RNoAg => ag ;
|
||||
---- RAg a => a
|
||||
---- } ;
|
||||
---- cl = mkClause (rp.s ! Nom) agr vp
|
||||
---- in
|
||||
---- cl.s ! t ! ant ! b ! ODir
|
||||
---- } ;
|
||||
----
|
||||
---- RelSlash rp slash = {
|
||||
---- s = \\t,a,p,_ => slash.c2 ++ rp.s ! Acc ++ slash.s ! t ! a ! p ! ODir
|
||||
---- } ;
|
||||
----
|
||||
---- FunRP p np rp = {
|
||||
---- s = \\c => np.s ! c ++ p.s ++ rp.s ! Acc ;
|
||||
---- a = RAg np.a
|
||||
---- } ;
|
||||
----
|
||||
---- IdRP = mkIP "وهِعه" "وهِعه" "وهْسي" Sg ** {a = RNoAg} ;
|
||||
|
||||
|
||||
{-
|
||||
|
||||
-- The simplest way to form a relative clause is from a clause by
|
||||
-- a pronoun similar to "such that".
|
||||
|
||||
RelCl : Cl -> RCl ; -- such that John loves her
|
||||
|
||||
-- The more proper ways are from a verb phrase
|
||||
-- (formed in [``Verb`` Verb.html]) or a sentence
|
||||
-- with a missing noun phrase (formed in [``Sentence`` Sentence.html]).
|
||||
|
||||
RelVP : RP -> VP -> RCl ; -- who loves John
|
||||
RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||
|
||||
-- Relative pronouns are formed from an 'identity element' by prefixing
|
||||
-- or suffixing (depending on language) prepositional phrases or genitives.
|
||||
|
||||
IdRP : RP ; -- which
|
||||
FunRP : Prep -> NP -> RP -> RP ; -- the mother of whom
|
||||
|
||||
|
||||
-}
|
||||
----
|
||||
}
|
||||
Reference in New Issue
Block a user