diff options
Diffstat (limited to 'src-3.0/GF/GFCC')
| -rw-r--r-- | src-3.0/GF/GFCC/PrintGFCC.hs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src-3.0/GF/GFCC/PrintGFCC.hs b/src-3.0/GF/GFCC/PrintGFCC.hs new file mode 100644 index 000000000..d0dde05f4 --- /dev/null +++ b/src-3.0/GF/GFCC/PrintGFCC.hs @@ -0,0 +1,21 @@ +module GF.GFCC.PrintGFCC where + +import GF.GFCC.DataGFCC (GFCC) +import GF.GFCC.Raw.ConvertGFCC (fromGFCC) +import GF.GFCC.Raw.PrintGFCCRaw (printTree) +import GF.Devel.GFCCtoHaskell +import GF.Devel.GFCCtoJS +import GF.Text.UTF8 + +-- top-level access to code generation + +prGFCC :: String -> GFCC -> String +prGFCC printer gr = case printer of + "haskell" -> grammar2haskell gr + "haskell_gadt" -> grammar2haskellGADT gr + "js" -> gfcc2js gr + _ -> printGFCC gr + +printGFCC :: GFCC -> String +printGFCC = encodeUTF8 . printTree . fromGFCC + |
