1
0
forked from GitHub/gf-core

gf3 should not exit if there is a syntax error in the file

This commit is contained in:
krasimir
2008-04-17 12:50:51 +00:00
parent 08f92cd180
commit 0ea2798b3c
4 changed files with 24 additions and 21 deletions

View File

@@ -6,15 +6,22 @@ import GF.GFCC.API
import GF.Devel.UseIO
import GF.Infra.Option
import GF.Data.ErrM
import Data.List (nubBy)
-- import a grammar in an environment where it extends an existing grammar
importGrammar :: MultiGrammar -> Options -> [FilePath] -> IO MultiGrammar
importGrammar mgr0 opts files = do
gfcc2 <- case fileSuffix (last files) of
s | elem s ["gf","gfo"] -> compileToGFCC opts files
"gfcc" ->
mapM file2gfcc files >>= return . foldl1 unionGFCC
let gfcc3 = unionGFCC (gfcc mgr0) gfcc2
return $ MultiGrammar gfcc3
importGrammar mgr0 opts files =
case fileSuffix (last files) of
s | elem s ["gf","gfo"] -> do
res <- appIOE $ compileToGFCC opts files
case res of
Ok gfcc2 -> do let gfcc3 = unionGFCC (gfcc mgr0) gfcc2
return $ MultiGrammar gfcc3
Bad msg -> do print msg
return mgr0
"gfcc" -> do
gfcc2 <- mapM file2gfcc files >>= return . foldl1 unionGFCC
let gfcc3 = unionGFCC (gfcc mgr0) gfcc2
return $ MultiGrammar gfcc3