diff options
| author | peb <unknown> | 2005-04-14 10:42:05 +0000 |
|---|---|---|
| committer | peb <unknown> | 2005-04-14 10:42:05 +0000 |
| commit | f070a412a1256b39e60b3a819e18c61922a7fe79 (patch) | |
| tree | b92a78677c55c60e265b221452cd13c94645a37e /src/GF/Formalism/Utilities.hs | |
| parent | 03fad6e1b877e78e67b2827ba782e7da1a56565e (diff) | |
"Committed_by_peb"
Diffstat (limited to 'src/GF/Formalism/Utilities.hs')
| -rw-r--r-- | src/GF/Formalism/Utilities.hs | 14 |
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" |
