summaryrefslogtreecommitdiff
path: root/src/GF/Compile/GetGrammar.hs
diff options
context:
space:
mode:
authoraarne <unknown>2004-03-24 15:09:06 +0000
committeraarne <unknown>2004-03-24 15:09:06 +0000
commitdc71ffcf5bae1f2b91467de273c71e7c3294acb3 (patch)
treea4e705bba717aa9f7421c000cfa5756d5eb8462b /src/GF/Compile/GetGrammar.hs
parent31836c0da9ba7a716ee0480e6219d771da4999fa (diff)
Restoring old functionality
Diffstat (limited to 'src/GF/Compile/GetGrammar.hs')
-rw-r--r--src/GF/Compile/GetGrammar.hs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/GF/Compile/GetGrammar.hs b/src/GF/Compile/GetGrammar.hs
index 3b9acd9d6..f5698bb9c 100644
--- a/src/GF/Compile/GetGrammar.hs
+++ b/src/GF/Compile/GetGrammar.hs
@@ -16,6 +16,9 @@ import Option
import ParGF
import qualified LexGF as L
+import PPrCF
+import CFtoGrammar
+
import ReadFiles ----
import List (nub)
@@ -81,3 +84,11 @@ oldLexer = map change . L.tokens where
new = words $ "abstract concrete interface incomplete " ++
"instance out open resource reuse transfer union with where"
+getCFGrammar :: Options -> FilePath -> IOE SourceGrammar
+getCFGrammar opts file = do
+ let mo = takeWhile (/='-') file
+ s <- ioeIO $ readFileIf file
+ cf <- ioeErr $ pCF mo file
+ defs <- return $ cf2grammar cf
+ let g = A.OldGr A.NoIncl defs
+ ioeErr $ transOldGrammar opts file g