From acd24331af16964c6f3dad549ce43e44130b1284 Mon Sep 17 00:00:00 2001 From: peb Date: Fri, 13 Jan 2006 08:42:25 +0000 Subject: peb --- src/GF/Conversion/Prolog.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/GF/Conversion/Prolog.hs') diff --git a/src/GF/Conversion/Prolog.hs b/src/GF/Conversion/Prolog.hs index ab4b53e66..235f31198 100644 --- a/src/GF/Conversion/Prolog.hs +++ b/src/GF/Conversion/Prolog.hs @@ -101,10 +101,10 @@ prtSPath (Path path) = prtPList (map (either prtQ prtSTerm) path) prtSCat (Decl var cat args) = prVar ++ prtFunctor (prtQ cat) (map prtSTTerm args) where prVar | var == anyVar = "" - | otherwise = "_" ++ prt var ++ ":" + | otherwise = "_" ++ prtVar var ++ ":" prtSTTerm (con :@ args) = prtFunctor (prtQ con) (map prtSTTerm args) -prtSTTerm (TVar var) = "_" ++ prt var +prtSTTerm (TVar var) = "_" ++ prtVar var ---------------------------------------------------------------------- -- | MCFG to Prolog @@ -188,6 +188,11 @@ prtQStr atom = "'" ++ concatMap esc (prt atom) ++ "'" esc '\t' = "\\t" esc c = [c] +prtVar var = reprime (prt var) + where reprime "" = "" + reprime ('\'' : cs) = "_0" ++ reprime cs + reprime (c:cs) = c : reprime cs + prtLine = replicate 70 '%' -- cgit v1.2.3