From dc71ffcf5bae1f2b91467de273c71e7c3294acb3 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 24 Mar 2004 15:09:06 +0000 Subject: Restoring old functionality --- src/GF/API/IOGrammar.hs | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'src/GF/API') diff --git a/src/GF/API/IOGrammar.hs b/src/GF/API/IOGrammar.hs index 483afbd86..53b056c46 100644 --- a/src/GF/API/IOGrammar.hs +++ b/src/GF/API/IOGrammar.hs @@ -6,6 +6,7 @@ import PGrammar import TypeCheck import Compile import ShellState +import GetGrammar import Modules import Option @@ -36,13 +37,19 @@ string2annotTree gr m = annotate gr . string2absTerm (prt m) ---- prt ---string2paramList st = map (renameTrm (lookupConcrete st) . patt2term) . pPattList shellStateFromFiles :: Options -> ShellState -> FilePath -> IOE ShellState -shellStateFromFiles opts st file | fileSuffix file == "gfcm" = do - (_,_,cgr) <- compileOne opts (compileEnvShSt st []) file - ioeErr $ updateShellState opts st (cgr,(emptyMGrammar,[])) -shellStateFromFiles opts st file = do - let osb = if oElem showOld opts - then addOptions (options [beVerbose]) opts -- for old, no emit - else addOptions (options [beVerbose, emitCode]) opts -- for new, do - grts <- compileModule osb st file - ioeErr $ updateShellState opts st grts - --- liftM (changeModTimes rts) $ grammar2shellState opts gr +shellStateFromFiles opts st file = case fileSuffix file of + "cf" -> do + let opts' = addOptions (options [beVerbose]) opts + sgr <- getCFGrammar opts' file + ioeIO $ print sgr ----- + return st + "gfcm" -> do + (_,_,cgr) <- compileOne opts (compileEnvShSt st []) file + ioeErr $ updateShellState opts st (cgr,(emptyMGrammar,[])) + _ -> do + let osb = if oElem showOld opts + then addOptions (options [beVerbose]) opts -- for old, no emit + else addOptions (options [beVerbose, emitCode]) opts -- for new,do + grts <- compileModule osb st file + ioeErr $ updateShellState opts st grts + --- liftM (changeModTimes rts) $ grammar2shellState opts gr -- cgit v1.2.3