diff options
| author | peb <peb@cs.chalmers.se> | 2006-01-13 08:42:25 +0000 |
|---|---|---|
| committer | peb <peb@cs.chalmers.se> | 2006-01-13 08:42:25 +0000 |
| commit | acd24331af16964c6f3dad549ce43e44130b1284 (patch) | |
| tree | 857123cbe46d725e402d63585eb486dd184a1309 /src/GF/Conversion/Prolog.hs | |
| parent | 7752543f042b555bc87d57c3c3dcbfb15f2132c3 (diff) | |
peb
Diffstat (limited to 'src/GF/Conversion/Prolog.hs')
| -rw-r--r-- | src/GF/Conversion/Prolog.hs | 9 |
1 files changed, 7 insertions, 2 deletions
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 '%' |
