From 99f87c30d053e89e0bdb02a42fe8006904e7e9e3 Mon Sep 17 00:00:00 2001 From: hallgren Date: Thu, 19 Mar 2015 14:14:30 +0000 Subject: haskell-bind: add bindings to graphviz rendering functions for abstract&parse trees --- src/runtime/haskell-bind/PGF2.hsc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/runtime/haskell-bind/PGF2.hsc') diff --git a/src/runtime/haskell-bind/PGF2.hsc b/src/runtime/haskell-bind/PGF2.hsc index 0f3b46886..97460de4d 100644 --- a/src/runtime/haskell-bind/PGF2.hsc +++ b/src/runtime/haskell-bind/PGF2.hsc @@ -23,6 +23,7 @@ module PGF2 (-- * CId Type(..), Hypo, functionType, -- * Trees Expr,Fun,readExpr,showExpr,mkApp,unApp,mkStr, + graphvizAbstractTree,graphvizParseTree, -- * Morphology MorphoAnalysis, lookupMorpho, fullFormLexicon, -- * Exceptions @@ -272,6 +273,27 @@ showExpr e = peekCString s +graphvizAbstractTree :: PGF -> Expr -> String +graphvizAbstractTree p e = + unsafePerformIO $ + withGuPool $ \tmpPl -> + do (sb,out) <- newOut tmpPl + exn <- gu_new_exn tmpPl + pgf_graphviz_abstract_tree (pgf p) (expr e) out exn + s <- gu_string_buf_freeze sb tmpPl + peekCString s + + +graphvizParseTree :: Concr -> Expr -> String +graphvizParseTree c e = + unsafePerformIO $ + withGuPool $ \tmpPl -> + do (sb,out) <- newOut tmpPl + exn <- gu_new_exn tmpPl + pgf_graphviz_parse_tree (concr c) (expr e) out exn + s <- gu_string_buf_freeze sb tmpPl + peekCString s + ----------------------------------------------------------------------------- -- Functions using Concr -- Morpho analyses, parsing & linearization -- cgit v1.2.3