summaryrefslogtreecommitdiff
path: root/examples/SUMO/RGLExt/ExtensionRon.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-02-17 11:07:24 +0000
committerkrasimir <krasimir@chalmers.se>2010-02-17 11:07:24 +0000
commitf7f0112256b738a7c640c37d5bcbfc8a33bdb307 (patch)
treee75a57edda742cbda74326331655cdf31e943649 /examples/SUMO/RGLExt/ExtensionRon.gf
parenta4d41ef3e32af4f5e2fb2f5e97ff7024aa4dd068 (diff)
added examples/SUMO
Diffstat (limited to 'examples/SUMO/RGLExt/ExtensionRon.gf')
-rw-r--r--examples/SUMO/RGLExt/ExtensionRon.gf61
1 files changed, 61 insertions, 0 deletions
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