diff options
Diffstat (limited to 'src/compiler/GF/Compile/PMCFGTestHooks.hs')
| -rw-r--r-- | src/compiler/GF/Compile/PMCFGTestHooks.hs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/compiler/GF/Compile/PMCFGTestHooks.hs b/src/compiler/GF/Compile/PMCFGTestHooks.hs new file mode 100644 index 000000000..e8014107e --- /dev/null +++ b/src/compiler/GF/Compile/PMCFGTestHooks.hs @@ -0,0 +1,43 @@ +module GF.Compile.PMCFGTestHooks + ( TestSchema(..) + , TestProduction(..) + , PMCFGResults(..) + , getFIdsPre + , getFIdsOptimized + , getFIdsOptimizedCached + , 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 + +getFIdsOptimizedCached :: TestSchema -> ([FId], [FId]) +getFIdsOptimizedCached = Optimized.pmcfgTestGetFIdsCached + +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 + } |
