summaryrefslogtreecommitdiff
path: root/src/GF/Formalism/Utilities.hs
diff options
context:
space:
mode:
authorpeb <unknown>2005-04-14 10:42:05 +0000
committerpeb <unknown>2005-04-14 10:42:05 +0000
commitf070a412a1256b39e60b3a819e18c61922a7fe79 (patch)
treeb92a78677c55c60e265b221452cd13c94645a37e /src/GF/Formalism/Utilities.hs
parent03fad6e1b877e78e67b2827ba782e7da1a56565e (diff)
"Committed_by_peb"
Diffstat (limited to 'src/GF/Formalism/Utilities.hs')
-rw-r--r--src/GF/Formalism/Utilities.hs14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/GF/Formalism/Utilities.hs b/src/GF/Formalism/Utilities.hs
index 166534bc4..a03464e04 100644
--- a/src/GF/Formalism/Utilities.hs
+++ b/src/GF/Formalism/Utilities.hs
@@ -4,9 +4,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/04/11 13:52:50 $
+-- > CVS $Date: 2005/04/14 11:42:05 $
-- > CVS $Author: peb $
--- > CVS $Revision: 1.1 $
+-- > CVS $Revision: 1.2 $
--
-- Basic type declarations and functions for grammar formalisms
-----------------------------------------------------------------------------
@@ -259,12 +259,18 @@ instance (Print s) => Print (Edge s) where
prtList = prtSep ""
instance (Print s) => Print (SyntaxTree s) where
- prt (TNode s trees) = prt s ++ "^{" ++ prtSep " " trees ++ "}"
+ prt (TNode s trees)
+ | null trees = prt s
+ | otherwise = "(" ++ prt s ++ prtBefore " " trees ++ ")"
prt (TMeta) = "?"
prtList = prtAfter "\n"
instance (Print s) => Print (SyntaxForest s) where
- prt (FNode s forests) = prt s ++ "^{" ++ prtSep " | " (map (prtSep " ") forests) ++ "}"
+ prt (FNode s []) = "(" ++ prt s ++ " - ERROR: null forests)"
+ prt (FNode s [[]]) = prt s
+ prt (FNode s [forests]) = "(" ++ prt s ++ prtBefore " " forests ++ ")"
+ prt (FNode s children) = "{" ++ prtSep " | " [ prt s ++ prtBefore " " forests |
+ forests <- children ] ++ "}"
prt (FMeta) = "?"
prtList = prtAfter "\n"