From 20f694b8e9ceb404665c2a762eb84f4db4dbe659 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 22 Jun 2005 07:52:02 +0000 Subject: [PATCH] printname cat bug fixed --- src/GF/Compile/CheckGrammar.hs | 11 ++++++++--- src/GF/Compile/GrammarToCanon.hs | 8 ++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs index e8fa6303c..f8a1911c9 100644 --- a/src/GF/Compile/CheckGrammar.hs +++ b/src/GF/Compile/CheckGrammar.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/05/30 18:39:43 $ +-- > CVS $Date: 2005/06/22 08:52:02 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.27 $ +-- > CVS $Revision: 1.28 $ -- -- AR 4\/12\/1999 -- 1\/4\/2000 -- 8\/9\/2001 -- 15\/5\/2002 -- 27\/11\/2002 -- 18\/6\/2003 -- @@ -131,7 +131,12 @@ checkCompleteGrammar abs cnc = do checkWarn $ "Warning: no linearization of" +++ prt c return js AbsCat (Yes _) _ -> case lookupIdent c js of - Ok _ -> return js + Ok (CncCat (Yes _) _ _) -> return js + Ok (CncCat _ mt mp) -> do + checkWarn $ + "Warning: no linearization type for" +++ prt c ++ + ", inserting default {s : Str}" + return $ updateTree (c,CncCat (Yes defLinType) mt mp) js _ -> do checkWarn $ "Warning: no linearization type for" +++ prt c ++ diff --git a/src/GF/Compile/GrammarToCanon.hs b/src/GF/Compile/GrammarToCanon.hs index 9d93589d6..255cfb53f 100644 --- a/src/GF/Compile/GrammarToCanon.hs +++ b/src/GF/Compile/GrammarToCanon.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/06/17 14:15:18 $ --- > CVS $Author: bringert $ --- > CVS $Revision: 1.21 $ +-- > CVS $Date: 2005/06/22 08:52:02 $ +-- > CVS $Author: aarne $ +-- > CVS $Revision: 1.22 $ -- -- Code generator from optimized GF source code to GFC. ----------------------------------------------------------------------------- @@ -112,7 +112,7 @@ redInfo am (c,info) = errIn ("translating definition of" +++ prt c) $ do trm' <- redCTerm t pr' <- redCTerm pr return [(c', C.CncCat ty' trm' pr')] - _ -> prtBad "cannot reduce rule for" c + _ -> prtBad ("cannot reduce rule for") c CncFun mt ptr ppr -> case (mt,ptr,ppr) of (Just (cat,_), Yes trm, Yes pr) -> do