diff options
| author | aarne <unknown> | 2004-03-31 12:30:34 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2004-03-31 12:30:34 +0000 |
| commit | 3f9b4e7855cf4594708a9fbad194c89540d2cf1e (patch) | |
| tree | 33dcbbd6d2e6e5f6290a25f65b4b9f90253fd34b /src/GF/Compile/GetGrammar.hs | |
| parent | 6719aedde34c3a4f0ccb78931968c6fe490b3282 (diff) | |
Added support for cf and ebnf formats
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 |
