From 1befa19e222c0c44142696e4aaf7d942ae348653 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 11 Feb 2005 15:08:10 +0000 Subject: command vg --- src/GF/Shell.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/GF/Shell.hs') diff --git a/src/GF/Shell.hs b/src/GF/Shell.hs index c98adfb66..1874bc4d5 100644 --- a/src/GF/Shell.hs +++ b/src/GF/Shell.hs @@ -30,6 +30,7 @@ import GetTree import ShellCommands +import VisualizeGrammar (visualizeCanonGrammar, visualizeSourceGrammar) import API import IOGrammar import Compile @@ -244,6 +245,13 @@ execC co@(comm, opts0) sa@((st,(h,_)),a) = checkOptions st co >> case comm of CPrintMultiGrammar -> do sa' <- changeState purgeShellState sa returnArg (AString (optPrintMultiGrammar opts cgr)) sa' + CShowGrammarGraph -> do + ---- sa' <- changeState purgeShellState sa + let g0 = writeFile "grphtmp.dot" $ visualizeCanonGrammar cgr + g1 = system "dot -Tps grphtmp.dot >grphtmp.ps" + g2 = system "gv grphtmp.ps &" + g3 = return () ---- system "rm -f grphtmp.*" + justOutput opts (g0 >> g1 >> g2 >> g3 >> return ()) sa CPrintSourceGrammar -> returnArg (AString (visualizeSourceGrammar src)) sa -- cgit v1.2.3