peb's forest patch

This commit is contained in:
aarne
2007-07-08 12:43:07 +00:00
parent 08f5f513d7
commit ba70611669
2 changed files with 19 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
html:
txt2tags -thtml --toc gf-tutorial2_8.txt
tex:
txt2tags -ttex --toc gf-tutorial2.txt
pdflatex gf-tutorial2.tex
pdflatex gf-tutorial2.tex
txt2tags -ttex --toc gf-tutorial2_8.txt
pdflatex gf-tutorial2_8.tex
pdflatex gf-tutorial2_8.tex

View File

@@ -258,6 +258,21 @@ chart2forests :: (Ord n, Ord e) =>
-- In essence, the result is a map from 'n' to forest daughters
-- simplest implementation
chart2forests chart isMeta = concatMap (edge2forests [])
where edge2forests edges edge
| isMeta edge = [FMeta]
| edge `elem` edges = []
| otherwise = map (item2forest (edge:edges)) $ chart ? edge
item2forest edges (SMeta) = FMeta
item2forest edges (SNode name children) =
FNode name $ children >>= mapM (edge2forests edges)
item2forest edges (SString s) = FString s
item2forest edges (SInt n) = FInt n
item2forest edges (SFloat f) = FFloat f
{- -before AR inserted peb's patch 8/7/2007, this was:
chart2forests chart isMeta = concatMap edge2forests
where edge2forests edge = if isMeta edge then [FMeta]
else map item2forest $ chart ? edge
@@ -267,6 +282,7 @@ chart2forests chart isMeta = concatMap edge2forests
item2forest (SInt n) = FInt n
item2forest (SFloat f) = FFloat f
-}
{-
-- more intelligent(?) implementation,