summaryrefslogtreecommitdiff
path: root/src/GF/Canon
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Canon')
-rw-r--r--src/GF/Canon/Look.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/GF/Canon/Look.hs b/src/GF/Canon/Look.hs
index a71d024c2..ec76008f9 100644
--- a/src/GF/Canon/Look.hs
+++ b/src/GF/Canon/Look.hs
@@ -33,6 +33,21 @@ lookupLin gr f = do
CncCat _ t _ -> return t
AnyInd _ n -> lookupLin gr $ redirectIdent n f
+lookupLincat :: CanonGrammar -> CIdent -> Err CType
+lookupLincat gr f = do
+ info <- lookupCncInfo gr f
+ case info of
+ CncCat t _ _ -> return t
+ AnyInd _ n -> lookupLincat gr $ redirectIdent n f
+
+lookupPrintname :: CanonGrammar -> CIdent -> Err Term
+lookupPrintname gr f = do
+ info <- lookupCncInfo gr f
+ case info of
+ CncFun _ _ _ t -> return t
+ CncCat _ _ t -> return t
+ AnyInd _ n -> lookupPrintname gr $ redirectIdent n f
+
lookupResInfo :: CanonGrammar -> CIdent -> Err Info
lookupResInfo gr f@(CIQ m c) = do
mt <- M.lookupModule gr m