module GF.Compile.PMCFGTestHooks ( TestSchema(..) , TestProduction(..) , PMCFGResults(..) , getFIdsPre , getFIdsOptimized , getSingleFIdPre , getSingleFIdOptimized , pmcfgResults ) where import GF.Compile.PMCFGTestTypes import GF.Grammar (FId, PMCFG) import qualified GF.Compile.GeneratePMCFG as Optimized import qualified GF.Compile.GeneratePmcfgPre as Pre data PMCFGResults = PMCFGResults { pmcfgPre :: PMCFG , pmcfgOptimized :: PMCFG } deriving (Eq, Show) getFIdsPre :: TestSchema -> [FId] getFIdsPre = Pre.pmcfgTestGetFIds getFIdsOptimized :: TestSchema -> [FId] getFIdsOptimized = Optimized.pmcfgTestGetFIds getSingleFIdPre :: TestSchema -> FId getSingleFIdPre = Pre.pmcfgTestGetSingleFId getSingleFIdOptimized :: TestSchema -> FId getSingleFIdOptimized = Optimized.pmcfgTestGetSingleFId pmcfgResults :: [TestProduction] -> PMCFGResults pmcfgResults prods = PMCFGResults { pmcfgPre = Pre.pmcfgTestBuildPMCFG prods , pmcfgOptimized = Optimized.pmcfgTestBuildPMCFG prods }