From 9ebc42300419b8844b324bc429284bbfdee36048 Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 22 Feb 2012 16:30:42 +0000 Subject: gfse: experimental support for editing concrete syntax in text mode --- src/compiler/GF/Grammar/Printer.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/compiler/GF') diff --git a/src/compiler/GF/Grammar/Printer.hs b/src/compiler/GF/Grammar/Printer.hs index 08d70928c..9f8ee45b9 100644 --- a/src/compiler/GF/Grammar/Printer.hs +++ b/src/compiler/GF/Grammar/Printer.hs @@ -13,6 +13,7 @@ module GF.Grammar.Printer , ppGrammar , ppModule , ppJudgement + , ppParams , ppTerm , ppPatt , ppValue @@ -20,6 +21,7 @@ module GF.Grammar.Printer , ppLocation , ppQIdent , ppMeta + , getAbs ) where import GF.Infra.Ident @@ -107,7 +109,7 @@ ppJudgement q (id, AbsFun ptype _ pexp poper) = ppJudgement q (id, ResParam pparams _) = text "param" <+> ppIdent id <+> (case pparams of - Just (L _ ps) -> equals <+> fsep (intersperse (char '|') (map (ppParam q) ps)) + Just (L _ ps) -> equals <+> ppParams q ps _ -> empty) <+> semi ppJudgement q (id, ResValue pvalue) = empty ppJudgement q (id, ResOper ptype pexp) = @@ -304,6 +306,7 @@ ppBind (Implicit,v) = braces (ppIdent v) ppAltern q (x,y) = ppTerm q 0 x <+> char '/' <+> ppTerm q 0 y +ppParams q ps = fsep (intersperse (char '|') (map (ppParam q) ps)) ppParam q (id,cxt) = ppIdent id <+> hsep (map (ppDDecl q) cxt) ppLocation :: FilePath -> Location -> Doc -- cgit v1.2.3