From f53f35978f4cd6b0e4c5e9123b5e88f04f6f4452 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 1 Apr 2004 09:51:32 +0000 Subject: 2beta2 --- src/GF/Compile/ShellState.hs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/GF/Compile/ShellState.hs') diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs index 7c674a0dc..9bfc4a048 100644 --- a/src/GF/Compile/ShellState.hs +++ b/src/GF/Compile/ShellState.hs @@ -210,6 +210,20 @@ greatestAbstract gr = case allAbstracts gr of [] -> Nothing a -> return $ last a +-- all resource modules +allResources :: G.SourceGrammar -> [Ident] +allResources gr = [i | (i,M.ModMod m) <- M.modules gr, M.mtype m == M.MTResource] + + +-- the last resource in dependency order +greatestResource :: G.SourceGrammar -> Maybe Ident +greatestResource gr = case allResources gr of + [] -> Nothing + a -> return $ last a + +resourceOfShellState :: ShellState -> Maybe Ident +resourceOfShellState = greatestResource . srcModules + qualifTop :: StateGrammar -> G.QIdent -> G.QIdent qualifTop gr (_,c) = (absId gr,c) -- cgit v1.2.3