mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 03:32:51 -06:00
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