few more fixes in the NLG grammar

This commit is contained in:
kr.angelov
2011-08-30 17:29:13 +00:00
parent 109c55e2fb
commit f7f6953050
3 changed files with 4 additions and 4 deletions

23
examples/nlg/LogicCnc.gf Normal file
View File

@@ -0,0 +1,23 @@
--# -path=present
concrete LogicCnc of Logic = {
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};
}