diff options
| author | aarne <unknown> | 2003-09-24 14:26:35 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2003-09-24 14:26:35 +0000 |
| commit | 6e9258558a9bcb8c9df4bee0382b5136c95f516a (patch) | |
| tree | 99475ee58ba264780403480ce29c9ee40beee1ec /src/GF/Compile/ShellState.hs | |
| parent | b1402e8bd6a68a891b00a214d6cf184d66defe19 (diff) | |
Improvements in hte editor.
Diffstat (limited to 'src/GF/Compile/ShellState.hs')
| -rw-r--r-- | src/GF/Compile/ShellState.hs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs index f24c3b87c..661e1bedd 100644 --- a/src/GF/Compile/ShellState.hs +++ b/src/GF/Compile/ShellState.hs @@ -3,8 +3,11 @@ module ShellState where import Operations import GFC import AbsGFC ----import CMacros +import Macros +import MMacros + import Look +import LookAbs import qualified Modules as M import qualified Grammar as G import qualified PrGrammar as P @@ -108,15 +111,12 @@ updateShellState opts sh (gr,(sgr,rts)) = do notInrts f = notElem f $ map fst rts cfs <- mapM (canon2cf opts cgr) concrs --- would not need to update all... - let funs = [] ---- funRulesOf cgr - let cats = [] ---- allCatsOf cgr - let csi = [] ---- -{- - [(c,(co, + let funs = funRulesOf cgr + let cats = allCatsOf cgr + let csi = [(c,(co, [(fun,typ) | (fun,typ) <- funs, compatType tc typ], funsOnTypeFs compatType funs tc)) - | (c,co) <- cats, let tc = cat2type c] --} + | (c,co) <- cats, let tc = cat2val co c] let deps = True ---- not $ null $ allDepCats cgr let binds = [] ---- allCatsWithBind cgr @@ -163,6 +163,9 @@ greatestAbstract gr = case allAbstracts gr of [] -> Nothing a -> return $ last a +qualifTop :: StateGrammar -> G.QIdent -> G.QIdent +qualifTop gr (_,c) = (absId gr,c) + -- all concretes for a given abstract allConcretes :: CanonGrammar -> Ident -> [Ident] allConcretes gr a = [i | (i,M.ModMod m) <- M.modules gr, M.mtype m== M.MTConcrete a] |
