From 3f9b4e7855cf4594708a9fbad194c89540d2cf1e Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 31 Mar 2004 12:30:34 +0000 Subject: Added support for cf and ebnf formats --- src/GF/Compile/GetGrammar.hs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/GF/Compile/GetGrammar.hs') diff --git a/src/GF/Compile/GetGrammar.hs b/src/GF/Compile/GetGrammar.hs index 58ce8d62b..a9cae513a 100644 --- a/src/GF/Compile/GetGrammar.hs +++ b/src/GF/Compile/GetGrammar.hs @@ -18,6 +18,7 @@ import qualified LexGF as L import PPrCF import CFtoGrammar +import EBNF import ReadFiles ---- @@ -86,9 +87,23 @@ oldLexer = map change . L.tokens where getCFGrammar :: Options -> FilePath -> IOE SourceGrammar getCFGrammar opts file = do - let mo = takeWhile (/='-') file + let mo = takeWhile (/='.') file s <- ioeIO $ readFileIf file cf <- ioeErr $ pCF mo s defs <- return $ cf2grammar cf let g = A.OldGr A.NoIncl defs +--- let ma = justModuleName file +--- let mc = 'C':ma --- +--- let opts' = addOptions (options [useAbsName ma, useCncName mc]) opts + ioeErr $ transOldGrammar opts file g + +getEBNFGrammar :: Options -> FilePath -> IOE SourceGrammar +getEBNFGrammar opts file = do + let mo = takeWhile (/='.') file + s <- ioeIO $ readFileIf file + defs <- ioeErr $ pEBNFasGrammar s + let g = A.OldGr A.NoIncl defs +--- let ma = justModuleName file +--- let mc = 'C':ma --- +--- let opts' = addOptions (options [useAbsName ma, useCncName mc]) opts ioeErr $ transOldGrammar opts file g -- cgit v1.2.3