summaryrefslogtreecommitdiff
path: root/src-3.0/GF/Compile/Export.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-05-29 17:55:05 +0000
committerkrasimir <krasimir@chalmers.se>2008-05-29 17:55:05 +0000
commit88d3f61f41f7b6299e0d0f9e0047dd955cb67571 (patch)
tree62fd337e92ac607469d47ade41ed19cd5209e59c /src-3.0/GF/Compile/Export.hs
parent1bcc4aab8178434a890a3c723582b5fbd45a5a84 (diff)
change the library root namespace from GF.GFCC to PGF
Diffstat (limited to 'src-3.0/GF/Compile/Export.hs')
-rw-r--r--src-3.0/GF/Compile/Export.hs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src-3.0/GF/Compile/Export.hs b/src-3.0/GF/Compile/Export.hs
new file mode 100644
index 000000000..2b36b10a9
--- /dev/null
+++ b/src-3.0/GF/Compile/Export.hs
@@ -0,0 +1,22 @@
+module GF.Compile.Export where
+
+import PGF.Data (GFCC)
+import PGF.Raw.Print (printTree)
+import PGF.Raw.Convert (fromGFCC)
+import GF.Compile.GFCCtoHaskell
+import GF.Compile.GFCCtoJS
+import GF.Infra.Option
+import GF.Text.UTF8
+
+-- top-level access to code generation
+
+prGFCC :: OutputFormat -> GFCC -> String
+prGFCC fmt gr = case fmt of
+ FmtGFCC -> printGFCC gr
+ FmtJavaScript -> gfcc2js gr
+ FmtHaskell -> grammar2haskell gr
+ FmtHaskellGADT -> grammar2haskellGADT gr
+
+printGFCC :: GFCC -> String
+printGFCC = encodeUTF8 . printTree . fromGFCC
+