From 76ba03b545600054176612201de78dca16eb65e1 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 22 Nov 2010 12:55:37 +0000 Subject: started a subdir for the book --- book/examples/chapter8/LogicBEng.gf | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 book/examples/chapter8/LogicBEng.gf (limited to 'book/examples/chapter8/LogicBEng.gf') diff --git a/book/examples/chapter8/LogicBEng.gf b/book/examples/chapter8/LogicBEng.gf new file mode 100644 index 000000000..b950c6b39 --- /dev/null +++ b/book/examples/chapter8/LogicBEng.gf @@ -0,0 +1,38 @@ +concrete LogicEng of Logic = open + SyntaxEng, (P = ParadigmsEng), SymbolicEng, Prelude in { +lincat + Stm = Text ; + Prop = S ; + Atom = Cl ; + Ind = NP ; + Dom = CN ; + Var = NP ; + [Prop] = [S] ; + [Var] = NP ; +lin + SProp = mkText ; + And = mkS and_Conj ; -- A, B ... and C + Or = mkS or_Conj ; -- A, B ... or C + If A B = -- if A B + mkS (mkAdv if_Subj A) B ; + Not A = -- it is not the case that A + mkS negativePol (mkCl + (mkVP (mkNP the_Quant + (mkCN case_CN A)))) ; + All xs A B = -- for all A's xs, B + mkS (mkAdv for_Prep + (mkNP all_Predet (mkNP a_Quant + plNum (mkCN A xs)))) B ; + Exist xs A B = -- for some A's xs, B + mkS (mkAdv for_Prep + (mkNP somePl_Det (mkCN A xs))) B ; + PAtom = mkS ; + IVar x = x ; + VString s = symb s ; + BaseProp A B = mkListS A B ; + ConsProp A As = mkListS A As ; + BaseVar x = x ; + ConsVar x xs = mkNP and_Conj (mkListNP x xs) ; +oper + case_CN : CN = mkCN (P.mkN "case") ; +} -- cgit v1.2.3