forked from GitHub/gf-core
gf-book web page index and toc
This commit is contained in:
38
gf-book/examples/chapter8/LogicBEng.gf
Normal file
38
gf-book/examples/chapter8/LogicBEng.gf
Normal file
@@ -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") ;
|
||||
}
|
||||
Reference in New Issue
Block a user