diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-12-04 07:48:37 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-12-04 07:48:37 +0000 |
| commit | a7b68870508b90ab1a9e635489ff4e687713d166 (patch) | |
| tree | 59e56e88392ef3df3ee1d1b7ae967c46637ab1bc /src/GF/Devel/Lookup.hs | |
| parent | 0e1831abb488346ae6b57b01b9ee99a1a4d9b75f (diff) | |
moved some modules to Devel.Grammar
Diffstat (limited to 'src/GF/Devel/Lookup.hs')
| -rw-r--r-- | src/GF/Devel/Lookup.hs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/GF/Devel/Lookup.hs b/src/GF/Devel/Lookup.hs deleted file mode 100644 index 741c65472..000000000 --- a/src/GF/Devel/Lookup.hs +++ /dev/null @@ -1,73 +0,0 @@ -module GF.Devel.Lookup where - -import GF.Devel.Modules -import GF.Devel.Judgements -import GF.Devel.Macros -import GF.Devel.Terms -import GF.Infra.Ident - -import GF.Data.Operations - -import Data.Map - --- look up fields for a constant in a grammar - -lookupJField :: (Judgement -> a) -> GF -> Ident -> Ident -> Err a -lookupJField field gf m c = do - j <- lookupJudgement gf m c - return $ field j - -lookupJForm :: GF -> Ident -> Ident -> Err JudgementForm -lookupJForm = lookupJField jform - --- the following don't (need to) check that the jment form is adequate - -lookupCatContext :: GF -> Ident -> Ident -> Err Context -lookupCatContext gf m c = do - ty <- lookupJField jtype gf m c - return $ contextOfType ty - -lookupFunType :: GF -> Ident -> Ident -> Err Term -lookupFunType = lookupJField jtype - -lookupLin :: GF -> Ident -> Ident -> Err Term -lookupLin = lookupJField jdef - -lookupLincat :: GF -> Ident -> Ident -> Err Term -lookupLincat = lookupJField jtype - -lookupOperType :: GF -> Ident -> Ident -> Err Term -lookupOperType = lookupJField jtype - -lookupOperDef :: GF -> Ident -> Ident -> Err Term -lookupOperDef = lookupJField jdef - -lookupParams :: GF -> Ident -> Ident -> Err [(Ident,Context)] -lookupParams gf m c = do - ty <- lookupJField jtype gf m c - return [(k,contextOfType t) | (k,t) <- contextOfType ty] - -lookupParamConstructor :: GF -> Ident -> Ident -> Err Type -lookupParamConstructor = lookupJField jtype - -lookupParamValues :: GF -> Ident -> Ident -> Err [Term] -lookupParamValues gf m c = do - d <- lookupJField jdef gf m c - case d of - V _ ts -> return ts - _ -> raise "no parameter values" - --- infrastructure for lookup - -lookupIdent :: GF -> Ident -> Ident -> Err (Either Judgement Ident) -lookupIdent gf m c = do - mo <- maybe (raise "module not found") return $ mlookup m (gfmodules gf) - maybe (Bad "constant not found") return $ mlookup c (mjments mo) - -lookupJudgement :: GF -> Ident -> Ident -> Err Judgement -lookupJudgement gf m c = do - eji <- lookupIdent gf m c - either return (\n -> lookupJudgement gf n c) eji - -mlookup = Data.Map.lookup - |
