printnames are now kept as String instead of Term in PGF

This commit is contained in:
krasimir
2010-01-05 07:05:41 +00:00
parent 354269e17c
commit 3ed19a482e
7 changed files with 13 additions and 20 deletions

View File

@@ -155,9 +155,6 @@ linearizeAll :: PGF -> Tree -> [String]
-- available in the grammar.
linearizeAllLang :: PGF -> Tree -> [(Language,String)]
-- | Show the printname of a type
showPrintName :: PGF -> Language -> Type -> String
-- | The same as 'parseAllLang' but does not return
-- the language.
parseAll :: PGF -> Type -> String -> [[Tree]]
@@ -260,8 +257,6 @@ linearizeAll mgr = map snd . linearizeAllLang mgr
linearizeAllLang mgr t =
[(lang,PGF.linearize mgr lang t) | lang <- languages mgr]
showPrintName pgf lang (DTyp _ c _) = realize $ lookPrintName pgf lang c
parseAll mgr typ = map snd . parseAllLang mgr typ
parseAllLang mgr typ s =

View File

@@ -35,7 +35,7 @@ data Concr = Concr {
opers :: Map.Map CId Term, -- oper generated by subex elim
lincats :: Map.Map CId Term, -- lin type of a cat
lindefs :: Map.Map CId Term, -- lin default of a cat
printnames :: Map.Map CId Term, -- printname of a cat or a fun
printnames :: Map.Map CId String, -- printname of a cat or a fun
paramlincats :: Map.Map CId Term, -- lin type of cat, with printable param names
parser :: Maybe ParserInfo -- parser
}

View File

@@ -1,6 +1,6 @@
{-# LANGUAGE ParallelListComp #-}
module PGF.Linearize
(linearizes,realize,realizes,linTree, linTreeMark,linearizesMark) where
(linearizes,showPrintName,realize,realizes,linTree, linTreeMark,linearizesMark) where
import PGF.CId
import PGF.Data
@@ -164,3 +164,7 @@ linTreeMark pgf lang = lin [] . expr2tree
bracket p ts = [kks ("("++show p)] ++ ts ++ [kks ")"]
sub p i = p ++ [i]
-- | Show the printname of function or category
showPrintName :: PGF -> Language -> CId -> String
showPrintName pgf lang id = lookMap "?" id $ printnames $ lookMap (error "no lang") lang $ concretes pgf

View File

@@ -29,10 +29,6 @@ lookParamLincat :: PGF -> CId -> CId -> Term
lookParamLincat pgf lang fun =
lookMap tm0 fun $ paramlincats $ lookMap (error "no lang") lang $ concretes pgf
lookPrintName :: PGF -> CId -> CId -> Term
lookPrintName pgf lang fun =
lookMap tm0 fun $ printnames $ lookMap (error "no lang") lang $ concretes pgf
lookType :: PGF -> CId -> Type
lookType pgf f =
case lookMap (error $ "lookType " ++ show f) f (funs (abstract pgf)) of