forked from GitHub/gf-core
started command interpreter for gfcc
This commit is contained in:
26
src/GF/Command/Interpreter.hs
Normal file
26
src/GF/Command/Interpreter.hs
Normal file
@@ -0,0 +1,26 @@
|
||||
module GF.Command.Interpreter where
|
||||
|
||||
import GF.Command.AbsGFShell
|
||||
import GF.Command.ParGFShell
|
||||
import GF.GFCC.API
|
||||
|
||||
import GF.Command.ErrM
|
||||
|
||||
|
||||
interpretCommandLine :: MultiGrammar -> CommandLine -> IO ()
|
||||
interpretCommandLine gr line = case line of
|
||||
CEmpty -> return ()
|
||||
CLine pipes -> mapM_ interPipe pipes
|
||||
where
|
||||
interPipe (PComm cs) = do
|
||||
ts <- intercs [] cs
|
||||
mapM_ (putStrLn . showTree) ts
|
||||
intercs trees [] = return trees
|
||||
intercs trees (c:cs) = do
|
||||
trees2 <- interc trees c
|
||||
intercs trees2 cs
|
||||
interc = interpret gr
|
||||
|
||||
interpret :: MultiGrammar -> [Tree] -> Command -> IO [Tree]
|
||||
interpret gr trees comm = case (trees,command comm) of
|
||||
_ -> return trees ----
|
||||
Reference in New Issue
Block a user