forked from GitHub/gf-core
"Committed_by_peb"
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/03/21 14:17:44 $
|
||||
-- > CVS $Date: 2005/03/29 11:17:56 $
|
||||
-- > CVS $Author: peb $
|
||||
-- > CVS $Revision: 1.1 $
|
||||
-- > CVS $Revision: 1.2 $
|
||||
--
|
||||
-- Pretty-printing of parser objects
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -69,6 +69,10 @@ instance Print Int where
|
||||
instance Print Integer where
|
||||
prt = show
|
||||
|
||||
instance Print a => Print (Maybe a) where
|
||||
prt (Just a) = "!" ++ prt a
|
||||
prt Nothing = "Nothing"
|
||||
|
||||
instance Print a => Print (Err a) where
|
||||
prt (Ok a) = prt a
|
||||
prt (Bad str) = str
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/03/21 14:17:44 $
|
||||
-- > CVS $Date: 2005/03/29 11:17:56 $
|
||||
-- > CVS $Author: peb $
|
||||
-- > CVS $Revision: 1.1 $
|
||||
-- > CVS $Revision: 1.2 $
|
||||
--
|
||||
-- Instances for printing terms in a simplified format
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -19,6 +19,7 @@ import AbsGFC
|
||||
import CF
|
||||
import CFIdent
|
||||
import GF.Printing.PrintParser
|
||||
import qualified PrintGFC as P
|
||||
|
||||
instance Print Term where
|
||||
prt (Arg arg) = prt arg
|
||||
@@ -100,6 +101,10 @@ instance Print CFCat where
|
||||
instance Print CFFun where
|
||||
prt (CFFun fun) = prt (fst fun)
|
||||
|
||||
instance Print Exp where
|
||||
prt = P.printTree
|
||||
|
||||
|
||||
sizeCT :: CType -> Int
|
||||
sizeCT (RecType rt) = 1 + sum [ sizeCT t | _ `Lbg` t <- rt ]
|
||||
sizeCT (Table pt vt) = 1 + sizeCT pt + sizeCT vt
|
||||
|
||||
Reference in New Issue
Block a user