diff options
| author | aarne <aarne@chalmers.se> | 2011-01-11 15:46:43 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2011-01-11 15:46:43 +0000 |
| commit | e7439d65b0e153434d3acc07df6e2a0972ee79ca (patch) | |
| tree | 36716eec18256eeb600b4a552d9cc80f8ad7f16f /book/examples/chapter8/LogicEng.gf | |
| parent | 276327f7f264e770478a6d8c6e683266505b0a55 (diff) | |
gf-book web page index and toc
Diffstat (limited to 'book/examples/chapter8/LogicEng.gf')
| -rw-r--r-- | book/examples/chapter8/LogicEng.gf | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/book/examples/chapter8/LogicEng.gf b/book/examples/chapter8/LogicEng.gf deleted file mode 100644 index eae85d255..000000000 --- a/book/examples/chapter8/LogicEng.gf +++ /dev/null @@ -1,39 +0,0 @@ -concrete LogicEng of Logic = open - SyntaxEng, (P = ParadigmsEng), SymbolicEng, Prelude in { -lincat - Stm = Text ; - Prop = {pos,neg : S ; isAtom : Bool} ; - Atom = Cl ; - Ind = NP ; - Dom = CN ; - Var = NP ; - [Prop] = ListS ; - [Var] = NP ; -lin - SProp p = mkText p.pos ; - And ps = complexProp (mkS and_Conj ps) ; - Or ps = complexProp (mkS or_Conj ps) ; - If A B = complexProp (mkS if_then_Conj (mkListS A.pos B.pos)) ; - Not A = complexProp A.neg ; - All xs A B = complexProp (mkS (mkAdv for_Prep - (mkNP all_Predet (mkNP a_Quant plNum (mkCN A xs)))) B.pos) ; - Exist xs A B = complexProp (mkS (mkAdv for_Prep - (mkNP somePl_Det (mkCN A xs))) B.pos) ; - PAtom p = - {pos = mkS p ; neg = mkS negativePol p ; isAtom = True} ; - IVar x = x ; - VString s = symb s ; - BaseProp A B = mkListS A.pos B.pos ; - ConsProp A As = mkListS A.pos As ; - BaseVar x = x ; - ConsVar x xs = mkNP and_Conj (mkListNP x xs) ; -oper - complexProp : S -> {pos,neg : S ; isAtom : Bool} = \s -> { - pos = s ; - neg = negS s ; - isAtom = False - } ; - negS : S -> S = \s -> mkS negativePol (mkCl (mkNP it_Pron) - (mkNP the_Quant (mkCN (mkCN (P.mkN "case")) s))) ; - if_Then_Conj : Conj = P.mkConj "if" "then" ; -} |
