From c70df9200c3244f45f75dcaefa650a82ddab55cc Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 30 Aug 2011 14:58:16 +0000 Subject: added example for NLG from logical formula. See examples/nlg --- examples/nlg/LogicEng.gf | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 examples/nlg/LogicEng.gf (limited to 'examples/nlg/LogicEng.gf') diff --git a/examples/nlg/LogicEng.gf b/examples/nlg/LogicEng.gf new file mode 100644 index 000000000..b1ff655eb --- /dev/null +++ b/examples/nlg/LogicEng.gf @@ -0,0 +1,23 @@ +--# -path=present +concrete LogicEng of Logic = open (Eng=GrammarEng), ParadigmsEng, ResEng in { + +lincat + Ind = {s : Str}; + Prop = {s:Str}; + +lin + john = {s="john"}; + mary = {s="mary"}; + boy x = {s="boy"++"("++x.s++")"}; + smart x = {s="smart"++"("++x.s++")"}; + love x y = {s="love"++"("++x.s++","++y.s++")"}; + leave x = {s="leave"++"("++x.s++")"}; + and x y = {s=x.s++"&&"++y.s}; + or x y = {s=x.s++"||"++y.s}; + impl x y = {s=x.s++"=>"++y.s}; + forall f = {s="forall"++f.$0++"."++"("++f.s++")"}; + exists f = {s="exists"++f.$0++"."++"("++f.s++")"}; + not p = {s="not"++"("++p.s++")"}; + eq x y = {s=x.s++"="++y.s}; + +} -- cgit v1.2.3