diff --git a/src/GF/Compile/Export.hs b/src/GF/Compile/Export.hs index 328072f87..3debe60e0 100644 --- a/src/GF/Compile/Export.hs +++ b/src/GF/Compile/Export.hs @@ -14,7 +14,7 @@ import GF.Speech.SRGS_ABNF import GF.Speech.SRGS_XML import GF.Speech.JSGF import GF.Speech.GSL -import GF.Speech.SRG (ebnfPrinter, nonLeftRecursivePrinter) +import GF.Speech.SRG import GF.Speech.VoiceXML import GF.Speech.SLF import GF.Speech.PrRegExp @@ -40,7 +40,7 @@ exportPGF opts fmt pgf = FmtBNF -> single "bnf" bnfPrinter FmtEBNF -> single "ebnf" ebnfPrinter FmtNoLR -> single "ebnf" nonLeftRecursivePrinter - FmtRegular -> single "bnf" regularPrinter + FmtRegular -> single "ebnf" regularPrinter FmtFCFG -> single "fcfg" fcfgPrinter FmtSRGS_XML -> single "grxml" (srgsXmlPrinter sisr) FmtSRGS_XML_NonRec -> single "grxml" srgsXmlNonRecursivePrinter diff --git a/src/GF/Speech/PGFToCFG.hs b/src/GF/Speech/PGFToCFG.hs index 27f08ba2d..c42c5f4ff 100644 --- a/src/GF/Speech/PGFToCFG.hs +++ b/src/GF/Speech/PGFToCFG.hs @@ -4,7 +4,7 @@ -- -- Approximates PGF grammars with context-free grammars. ---------------------------------------------------------------------- -module GF.Speech.PGFToCFG (bnfPrinter, regularPrinter, +module GF.Speech.PGFToCFG (bnfPrinter, fcfgPrinter, pgfToCFG) where import PGF.CId @@ -26,9 +26,6 @@ import qualified Data.Set as Set bnfPrinter :: PGF -> CId -> String bnfPrinter = toBNF id -regularPrinter :: PGF -> CId -> String -regularPrinter = toBNF makeRegular - toBNF :: (CFG -> CFG) -> PGF -> CId -> String toBNF f pgf cnc = prCFG $ f $ pgfToCFG pgf cnc diff --git a/src/GF/Speech/SRG.hs b/src/GF/Speech/SRG.hs index cee210dff..359672d63 100644 --- a/src/GF/Speech/SRG.hs +++ b/src/GF/Speech/SRG.hs @@ -12,6 +12,7 @@ module GF.Speech.SRG (SRG(..), SRGRule(..), SRGAlt(..), SRGItem, SRGSymbol , SRGNT, CFTerm , ebnfPrinter , nonLeftRecursivePrinter + , regularPrinter , makeSimpleSRG , makeNonRecursiveSRG , getSpeechLanguage @@ -73,6 +74,9 @@ ebnfPrinter pgf cnc = prSRG $ makeSRG id pgf cnc nonLeftRecursivePrinter :: PGF -> CId -> String nonLeftRecursivePrinter pgf cnc = prSRG $ makeSRG removeLeftRecursion pgf cnc +regularPrinter :: PGF -> CId -> String +regularPrinter pgf cnc = prSRG $ makeSRG makeRegular pgf cnc + makeSRG :: (CFG -> CFG) -> PGF -> CId -> SRG makeSRG = mkSRG cfgToSRG where