pgf-shell: show the names of the concrete syntaxes after loading the grammar

This commit is contained in:
hallgren
2014-02-07 16:40:13 +00:00
parent ea49a7b388
commit 96594e405d
2 changed files with 8 additions and 5 deletions

View File

@@ -9,6 +9,7 @@
import Control.Monad(forever)
import Data.Char(isSpace)
import qualified Data.Map as M
import System.IO(hFlush,stdout)
import System.IO.Error(catchIOError)
import System.Environment
@@ -22,9 +23,10 @@ getPGF [path] = pgfShell =<< readPGF path
getPGF _ = putStrLn "Usage: pgf-shell <path to pgf>"
pgfShell pgf =
forever $ do performGC
putStr "> "; hFlush stdout
execute pgf =<< readLn
do putStrLn . unwords . map (show.fst) . M.toList $ languages pgf
forever $ do performGC
putStr "> "; hFlush stdout
execute pgf =<< readLn
execute pgf cmd =
case cmd of

View File

@@ -19,7 +19,8 @@ cabal-version: >=1.10
library
exposed-modules: CId, CRuntimeFFI
other-modules: Gu, PgfLow
build-depends: base >=4.5 && <4.7, bytestring >=0.9 && <0.11, pretty >=1.1 && <1.2
build-depends: base >=4.5 && <4.7, bytestring >=0.9 && <0.11,
pretty >=1.1 && <1.2, containers
-- hs-source-dirs:
build-tools: hsc2hs
extra-libraries: gu pgf
@@ -29,7 +30,7 @@ library
executable pgf-shell
main-is: pgf-shell.hs
hs-source-dirs: examples
build-depends: base, haskell-bind
build-depends: base, haskell-bind, containers
default-language: Haskell2010
if impl(ghc>=7.0)
ghc-options: -rtsopts