summaryrefslogtreecommitdiff
path: root/src/GF/Compile/GetGrammar.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Compile/GetGrammar.hs')
-rw-r--r--src/GF/Compile/GetGrammar.hs17
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