From 827d73a91ed0fb3dfff56379ebea21a29406a277 Mon Sep 17 00:00:00 2001 From: adelon <22380201+adelon@users.noreply.github.com> Date: Mon, 18 May 2026 00:55:16 +0200 Subject: Tests --- src/compiler/GF/Compile/PMCFGTestHooks.hs | 43 +++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/compiler/GF/Compile/PMCFGTestHooks.hs (limited to 'src/compiler/GF/Compile/PMCFGTestHooks.hs') 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 + } -- cgit v1.2.3