command vg

This commit is contained in:
aarne
2005-02-11 15:08:10 +00:00
parent b90332065c
commit 1befa19e22
5 changed files with 17 additions and 1 deletions

View File

@@ -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

View File

@@ -129,7 +129,8 @@ pCommand ws = case ws of
"pxs" : [] -> aUnit CPrintCanonXMLStruct
"px" : [] -> aUnit CPrintCanonXML
"pm" : [] -> aUnit CPrintMultiGrammar
"sg" : [] -> aUnit CPrintSourceGrammar
"vg" : [] -> aUnit CShowGrammarGraph
"sg" : [] -> aUnit CPrintSourceGrammar
"po" : [] -> aUnit CPrintGlobalOptions
"pl" : [] -> aUnit CPrintLanguages
"h" : c : [] -> aUnit $ CHelp (Just (abbrevCommand c))

View File

@@ -73,6 +73,7 @@ data Command =
| CPrintInformation I.Ident
| CPrintMultiGrammar
| CPrintSourceGrammar
| CShowGrammarGraph
| CPrintGramlet
| CPrintCanonXML
| CPrintCanonXMLStruct