summaryrefslogtreecommitdiff
path: root/src/GF/UseGrammar/Custom.hs
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2007-01-05 15:38:47 +0000
committerbringert <bringert@cs.chalmers.se>2007-01-05 15:38:47 +0000
commit6ee7296f9dd5290bb3ee581403a18464444ab28b (patch)
treee78719e9463866a899bfe5e1cabc26844860e7c0 /src/GF/UseGrammar/Custom.hs
parent741dde5a2a00dc737e570a7005663c2534ea4f6d (diff)
Changed all SRG printer to take Options and StateGrammar arguments. This makes Custom a lot cleaner.
Diffstat (limited to 'src/GF/UseGrammar/Custom.hs')
-rw-r--r--src/GF/UseGrammar/Custom.hs60
1 files changed, 14 insertions, 46 deletions
diff --git a/src/GF/UseGrammar/Custom.hs b/src/GF/UseGrammar/Custom.hs
index 992019aee..291b8405d 100644
--- a/src/GF/UseGrammar/Custom.hs
+++ b/src/GF/UseGrammar/Custom.hs
@@ -248,51 +248,22 @@ customGrammarPrinter =
,(strCI "cf", \_ -> prCF . stateCF)
,(strCI "old", \_ -> printGrammarOld . stateGrammarST)
,(strCI "srg", \_ -> prSRG . stateCF)
- ,(strCI "gsl", \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in gslPrinter name start opts s)
- ,(strCI "jsgf", \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in jsgfPrinter name start opts Nothing s)
- ,(strCI "jsgf_sisr_old",
- \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in jsgfPrinter name start opts (Just SISR.SISROld) s)
- ,(strCI "srgs_xml", \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in SRGS.srgsXmlPrinter name start opts Nothing False s)
- ,(strCI "srgs_xml_prob",
- \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in SRGS.srgsXmlPrinter name start opts Nothing True s)
- ,(strCI "srgs_xml_sisr_old",
- \opts s -> let name = cncId s
- start = getStartCatCF opts s
- in SRGS.srgsXmlPrinter name start opts (Just SISR.SISROld) False s)
+ ,(strCI "gsl", gslPrinter)
+ ,(strCI "jsgf", jsgfPrinter Nothing)
+ ,(strCI "jsgf_sisr_old", jsgfPrinter (Just SISR.SISROld))
+ ,(strCI "srgs_xml", SRGS.srgsXmlPrinter Nothing False)
+ ,(strCI "srgs_xml_prob", SRGS.srgsXmlPrinter Nothing True)
+ ,(strCI "srgs_xml_sisr_old", SRGS.srgsXmlPrinter (Just SISR.SISROld) False)
,(strCI "vxml", \opts s -> let start = cfCat2Ident (startCatStateOpts opts s)
in grammar2vxml start s)
- ,(strCI "slf", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in slfPrinter name start s)
- ,(strCI "slf_graphviz", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in slfGraphvizPrinter name start s)
- ,(strCI "slf_sub", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in slfSubPrinter name start s)
- ,(strCI "slf_sub_graphviz", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in slfSubGraphvizPrinter name start s)
- ,(strCI "fa_graphviz", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in faGraphvizPrinter name start s)
- ,(strCI "fa_c", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in faCPrinter name start s)
- ,(strCI "regexp", \opts s -> let start = getStartCatCF opts s
- name = cncId s
- in regexpPrinter name start s)
- ,(strCI "regular", \_ -> regularPrinter)
+ ,(strCI "slf", slfPrinter)
+ ,(strCI "slf_graphviz", slfGraphvizPrinter)
+ ,(strCI "slf_sub", slfSubPrinter)
+ ,(strCI "slf_sub_graphviz", slfSubGraphvizPrinter)
+ ,(strCI "fa_graphviz", faGraphvizPrinter)
+ ,(strCI "fa_c", faCPrinter)
+ ,(strCI "regexp", regexpPrinter)
+ ,(strCI "regular", regularPrinter)
,(strCI "plbnf", \_ -> prLBNF True)
,(strCI "lbnf", \_ -> prLBNF False)
,(strCI "bnf", \_ -> prBNF False)
@@ -345,9 +316,6 @@ customGrammarPrinter =
-- ,(strCI "cfg-old", PrtOld.prt . CnvOld.cfg . statePInfoOld)
]
where stateGrammarLangOpts s = (stateOptions s, stateGrammarLang s)
- getStartCat,getStartCatCF :: Options -> StateGrammar -> String
- getStartCat opts sgr = prCFCat (startCatStateOpts opts sgr)
- getStartCatCF opts sgr = getStartCat opts sgr ++ "{}.s"
customMultiGrammarPrinter =
customData "Printers for multiple grammars, selected by option -printer=x" $