blob: aea34fb6897d4b449ff96320eaeb44691090dbc0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.GFCC.GFCCtoHaskell
import GF.GFCC.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
|