diff options
Diffstat (limited to 'src/GF/Compile/GetGrammar.hs')
| -rw-r--r-- | src/GF/Compile/GetGrammar.hs | 17 |
1 files changed, 16 insertions, 1 deletions
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 |
