Changed nolr printer to use EBNF format.

This commit is contained in:
bjorn
2008-09-26 10:03:42 +00:00
parent a372357adc
commit 7a81b559fe
3 changed files with 7 additions and 6 deletions

View File

@@ -4,7 +4,7 @@
--
-- Approximates PGF grammars with context-free grammars.
----------------------------------------------------------------------
module GF.Speech.PGFToCFG (bnfPrinter, nonLeftRecursivePrinter, regularPrinter,
module GF.Speech.PGFToCFG (bnfPrinter, regularPrinter,
fcfgPrinter, pgfToCFG) where
import PGF.CId
@@ -26,9 +26,6 @@ import qualified Data.Set as Set
bnfPrinter :: PGF -> CId -> String
bnfPrinter = toBNF id
nonLeftRecursivePrinter :: PGF -> CId -> String
nonLeftRecursivePrinter = toBNF removeLeftRecursion
regularPrinter :: PGF -> CId -> String
regularPrinter = toBNF makeRegular

View File

@@ -11,6 +11,7 @@
module GF.Speech.SRG (SRG(..), SRGRule(..), SRGAlt(..), SRGItem, SRGSymbol
, SRGNT, CFTerm
, ebnfPrinter
, nonLeftRecursivePrinter
, makeSimpleSRG
, makeNonRecursiveSRG
, getSpeechLanguage
@@ -69,6 +70,9 @@ type SRGNT = (Cat, Int)
ebnfPrinter :: PGF -> CId -> String
ebnfPrinter pgf cnc = prSRG $ makeSRG id pgf cnc
nonLeftRecursivePrinter :: PGF -> CId -> String
nonLeftRecursivePrinter pgf cnc = prSRG $ makeSRG removeLeftRecursion pgf cnc
makeSRG :: (CFG -> CFG) -> PGF -> CId -> SRG
makeSRG = mkSRG cfgToSRG
where