From f7f0112256b738a7c640c37d5bcbfc8a33bdb307 Mon Sep 17 00:00:00 2001 From: krasimir Date: Wed, 17 Feb 2010 11:07:24 +0000 Subject: added examples/SUMO --- examples/SUMO/RGLExt/ExtensionRon.gf | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 examples/SUMO/RGLExt/ExtensionRon.gf (limited to 'examples/SUMO/RGLExt/ExtensionRon.gf') diff --git a/examples/SUMO/RGLExt/ExtensionRon.gf b/examples/SUMO/RGLExt/ExtensionRon.gf new file mode 100644 index 000000000..e8e12ba10 --- /dev/null +++ b/examples/SUMO/RGLExt/ExtensionRon.gf @@ -0,0 +1,61 @@ +concrete ExtensionRon of Extension = CatRon ** open MorphoRon, ResRon, ConjunctionRon, StructuralRon, Prelude, Coordination,ParamBasic, ParadigmsRon, NounRon in { + + +lincat + PolSentence = {s : SentForm => Polarity => Str ; flag : Flag}; + [CN] = {s1,s2 : Number => Species => ACase => Str; g : NGender; a : Animacy ; isComp : Bool} ; + StmtS = {s : Str}; +lin + +VerbToNounV2 v2 = VerbToNoun v2 ** {c2 = v2.c2}; + + +VerbToNoun vp = { s = \\n,sp,c => vp.s ! PPasse Masc n sp c ; + g = NNeut ; a = Inanimate }; + + +VerbToGerundA vp = {s = \\af => vp.s ! Ger; + isPre = False + }; + +VerbToParticipeA v = {s = \\af => case af of + {AF g n sp c => v.s ! PPasse g n sp c; + AA => v.s ! PPasse Masc Sg Indef ANomAcc + }; + isPre = False + }; + +mkPolSent cl = {s = \\f,b => cl.s ! DDir ! RPres ! Simul ! b ! Indic ; + flag = NothingS ; + lock_PolSentence = <> + }; + +sentToNoun ps = heavyNP {s = \\_ => "\"" ++ ps.s ! Indep ! Pos ++ "\""; + a = agrP3 Masc Sg; hasClit = HasClit ; isComp = True ; + ss = "\"" ++ ps.s ! Indep ! Pos ++ "\"" + }; + +ConjCN conj ss = conjunctDistrTable3 Number Species ACase conj ss ** { + g = ss.g; a = ss.a; isComp = ss.isComp + }; + + +BaseCN x y ={ + s1 = \\n,sp,c => x.s ! n ! sp ! c ; + s2 = \\n,sp,c => y.s ! n ! sp ! c ; + g = x.g; a = x.a ; isComp = x.isComp}; + +ConsCN xs x = consrTable3 Number Species ACase comma xs x ** {g = x.g; a = x.a; isComp = x.isComp} ; + +at_Prep = mkPrep "la" Ac True; +per_Prep = mkPrep "per" Ac True; + +UsePolSentence p ps = {s = ps.s ! Indep ! p.p}; + +O1 = UsePN (mkPN "o1") ; +O2 = UsePN (mkPN "o2") ; +O3 = UsePN (mkPN "o3") ; +O4 = UsePN (mkPN "o4") ; +O5 = UsePN (mkPN "o5") ; + +} \ No newline at end of file -- cgit v1.2.3