blob: 9145acd838ac9961dfb814bea686cbaf9ed81425 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module GF.Devel.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
"jsref" -> gfcc2grammarRef gr
_ -> printGFCC gr
printGFCC :: GFCC -> String
printGFCC = encodeUTF8 . printTree . fromGFCC
|