summaryrefslogtreecommitdiff
path: root/src/GF/Devel/GFC.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-09-28 13:42:50 +0000
committeraarne <aarne@cs.chalmers.se>2007-09-28 13:42:50 +0000
commit3b4ee92cbece3aff0243f0dfd0f41121808d8e8c (patch)
treefb74b8b80244c20e812b9e44d0288c7a7caf0c5c /src/GF/Devel/GFC.hs
parent5fedbc53ae997bd8d4071d05fc10853f80065698 (diff)
started CheckGFCC
Diffstat (limited to 'src/GF/Devel/GFC.hs')
-rw-r--r--src/GF/Devel/GFC.hs16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/GF/Devel/GFC.hs b/src/GF/Devel/GFC.hs
index f6753e31f..6d9108eea 100644
--- a/src/GF/Devel/GFC.hs
+++ b/src/GF/Devel/GFC.hs
@@ -2,6 +2,9 @@ module Main where
import GF.Devel.Compile
import GF.Devel.GrammarToGFCC
+import GF.Canon.GFCC.CheckGFCC
+import GF.Canon.GFCC.PrintGFCC
+import GF.Canon.GFCC.DataGFCC
import GF.Devel.UseIO
import GF.Infra.Option
---import GF.Devel.PrGrammar ---
@@ -17,10 +20,19 @@ main = do
_ | oElem (iOpt "-make") opts -> do
gr <- batchCompile opts fs
let name = justModuleName (last fs)
- let (abs,gc) = prGrammar2gfcc opts name gr
+ let (abs,gc) = mkCanon2gfcc opts name gr
+
+ if oElem (iOpt "check") opts then (check gc) else return ()
+
let target = abs ++ ".gfcc"
- writeFile target gc
+ writeFile target (printTree gc)
putStrLn $ "wrote file " ++ target
_ -> do
mapM_ (batchCompile opts) (map return fs)
putStrLn "Done."
+
+check gc = do
+ let gfcc = mkGFCC gc
+ b <- checkGFCC gfcc
+ putStrLn $ if b then "OK" else "Corrupted GFCC"
+