diff --git a/src/GF/Canon/GFC.hs b/src/GF/Canon/GFC.hs index ba6f217b9..6e8648045 100644 --- a/src/GF/Canon/GFC.hs +++ b/src/GF/Canon/GFC.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/03/08 15:51:17 $ --- > CVS $Author: bringert $ --- > CVS $Revision: 1.10 $ +-- > CVS $Date: 2005/04/20 20:09:19 $ +-- > CVS $Author: aarne $ +-- > CVS $Revision: 1.11 $ -- -- canonical GF. AR 10\/9\/2002 -- 9\/5\/2003 -- 21\/9 ----------------------------------------------------------------------------- @@ -19,6 +19,7 @@ module GFC (Context, CanonAbs, Info(..), Printname, + prPrintnamesGrammar, mapInfoTerms, setFlag ) where @@ -69,3 +70,17 @@ mapInfoTerms f i = case i of setFlag :: String -> String -> [Flag] -> [Flag] setFlag n v fs = Flg (IC n) (IC v):[f | f@(Flg (IC n') _) <- fs, n' /= n] + +-- for Ha-Jo 20/2/2005 + +prPrintnamesGrammar :: CanonGrammar -> String +prPrintnamesGrammar gr = unlines $ filter (not . null) [prPrint j | + (_,M.ModMod m) <- M.modules gr, + M.isModCnc m, + j <- tree2list $ M.jments m + ] + where + prPrint j = case j of + (c,CncCat _ _ p) -> "printname cat" +++ A.prt_ c +++ "=" +++ A.prt_ p + (c,CncFun _ _ _ p) -> "printname fun" +++ A.prt_ c +++ "=" +++ A.prt_ p + _ -> [] diff --git a/src/GF/Grammar/PrGrammar.hs b/src/GF/Grammar/PrGrammar.hs index 4f77470fe..47369804b 100644 --- a/src/GF/Grammar/PrGrammar.hs +++ b/src/GF/Grammar/PrGrammar.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/02/18 19:21:13 $ --- > CVS $Author: peb $ --- > CVS $Revision: 1.11 $ +-- > CVS $Date: 2005/04/20 20:09:19 $ +-- > CVS $Author: aarne $ +-- > CVS $Revision: 1.12 $ -- -- AR 7\/12\/1999 - 1\/4\/2000 - 10\/5\/2003 -- @@ -41,6 +41,7 @@ import qualified PrintGFC as C import qualified AbsGFC as A import Values import GrammarToSource +--- import GFC (CanonGrammar) --- cycle of modules import Option import Ident diff --git a/src/GF/UseGrammar/Custom.hs b/src/GF/UseGrammar/Custom.hs index b597447ef..f237f92ad 100644 --- a/src/GF/UseGrammar/Custom.hs +++ b/src/GF/UseGrammar/Custom.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/18 14:55:33 $ --- > CVS $Author: peb $ --- > CVS $Revision: 1.56 $ +-- > CVS $Date: 2005/04/20 20:09:19 $ +-- > CVS $Author: aarne $ +-- > CVS $Revision: 1.57 $ -- -- A database for customizable GF shell commands. -- @@ -240,6 +240,7 @@ customGrammarPrinter = ,(strCI "fullform",prFullForm . stateMorpho) ,(strCI "opts", prOpts . stateOptions) ,(strCI "words", unwords . stateGrammarWords) + ,(strCI "printnames", C.prPrintnamesGrammar . stateGrammarST) {- ---- (strCI "gf", prt . st2grammar . stateGrammarST) -- DEFAULT ,(strCI "canon", showCanon "Lang" . stateGrammarST) diff --git a/src/tools/Htmls.hs b/src/tools/Htmls.hs index d2c0dfb7a..f9cc8b490 100644 --- a/src/tools/Htmls.hs +++ b/src/tools/Htmls.hs @@ -4,9 +4,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/17 17:29:51 $ +-- > CVS $Date: 2005/04/20 20:09:19 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.8 $ +-- > CVS $Revision: 1.9 $ -- -- chop an HTML file into separate files, each linked to the next and previous. -- the names of the files are n-file, with n = 01,02,... @@ -64,7 +64,7 @@ separator = "" link :: FilePath -> Int -> Int -> String link file mx n = - (if n >= mx then "" else (" Next")) ++ + (if n >= mx-1 then "" else (" Next")) ++ (if n == 1 then "" else (" Previous")) ++ (" Contents") ++ (" First") ++