summaryrefslogtreecommitdiff
path: root/src/PGF.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-12-11 15:36:40 +0000
committeraarne <aarne@cs.chalmers.se>2008-12-11 15:36:40 +0000
commitbd21e6e1a0d84260de6d55d0b90bd61cfa22bf54 (patch)
tree818f1d125a7d5fb7cd47255b469209cbeff45a50 /src/PGF.hs
parent7c1fc268e972230552a5f727f5a2d0329c1fa6a5 (diff)
a dialogue-like editor loop
Diffstat (limited to 'src/PGF.hs')
-rw-r--r--src/PGF.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/PGF.hs b/src/PGF.hs
index 29f713c8d..bd5627668 100644
--- a/src/PGF.hs
+++ b/src/PGF.hs
@@ -42,7 +42,8 @@ module PGF(
-- * Operations
-- ** Linearization
linearize, linearizeAllLang, linearizeAll,
-
+ showPrintName,
+
-- ** Parsing
parse, canParse, parseAllLang, parseAll,
@@ -126,6 +127,9 @@ 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]]
@@ -237,6 +241,8 @@ 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 =