From 6753fdae72dc6be7cdac5f2ec09fc42d8f0b4b2e Mon Sep 17 00:00:00 2001 From: krasimir Date: Sun, 25 Oct 2009 18:01:04 +0000 Subject: strip some redundant constructors from GF.Grammar.Grammar --- src/GF/Compile/Abstract/Compute.hs | 1 - src/GF/Compile/Concrete/AppPredefined.hs | 1 - src/GF/Compile/Concrete/Compute.hs | 11 +++-------- src/GF/Compile/Concrete/TypeCheck.hs | 2 -- src/GF/Compile/GrammarToGFCC.hs | 2 -- 5 files changed, 3 insertions(+), 14 deletions(-) (limited to 'src/GF/Compile') diff --git a/src/GF/Compile/Abstract/Compute.hs b/src/GF/Compile/Abstract/Compute.hs index 29cc73525..d5c9a163c 100644 --- a/src/GF/Compile/Abstract/Compute.hs +++ b/src/GF/Compile/Abstract/Compute.hs @@ -123,7 +123,6 @@ tryMatch (p,t) = do matches <- mapM tryMatch (zip pp tt) return (concat matches) (PT _ p',_) -> trym p' t' - (_, ([],Alias _ _ d,[])) -> tryMatch (p,d) (PAs x p',_) -> do subst <- trym p' t' return $ (x,t) : subst diff --git a/src/GF/Compile/Concrete/AppPredefined.hs b/src/GF/Compile/Concrete/AppPredefined.hs index 154d76821..95effb51d 100644 --- a/src/GF/Compile/Concrete/AppPredefined.hs +++ b/src/GF/Compile/Concrete/AppPredefined.hs @@ -136,7 +136,6 @@ trm2str :: Term -> Err Term trm2str t = case t of R ((_,(_,s)):_) -> trm2str s T _ ((_,s):_) -> trm2str s - TSh _ ((_,s):_) -> trm2str s V _ (s:_) -> trm2str s C _ _ -> return $ t K _ -> return $ t diff --git a/src/GF/Compile/Concrete/Compute.hs b/src/GF/Compile/Concrete/Compute.hs index 5a232a2a4..dc4937509 100644 --- a/src/GF/Compile/Concrete/Compute.hs +++ b/src/GF/Compile/Concrete/Compute.hs @@ -311,20 +311,15 @@ computeTermOpt rec gr = comput True where -- course-of-values table: look up by index, no pattern matching needed - V ptyp ts -> case v' of - Val _ _ i -> comp g $ ts !! i - _ -> do + V ptyp ts -> do vs <- allParamValues gr ptyp case lookupR v' (zip vs [0 .. length vs - 1]) of Just i -> comp g $ ts !! i _ -> return $ S t' v' -- if v' is not canonical T _ cc -> do - let v2 = case v' of - Val te _ _ -> te - _ -> v' - case matchPattern cc v2 of + case matchPattern cc v' of Ok (c,g') -> comp (g' ++ g) c - _ | isCan v2 -> Bad (render (text "missing case" <+> ppTerm Unqualified 0 v2 <+> text "in" <+> ppTerm Unqualified 0 t)) + _ | isCan v' -> Bad (render (text "missing case" <+> ppTerm Unqualified 0 v' <+> text "in" <+> ppTerm Unqualified 0 t)) _ -> return $ S t' v' -- if v' is not canonical S (T i cs) e -> prawitz g i (flip S v') cs e diff --git a/src/GF/Compile/Concrete/TypeCheck.hs b/src/GF/Compile/Concrete/TypeCheck.hs index e5d2a9160..0d72b3c67 100644 --- a/src/GF/Compile/Concrete/TypeCheck.hs +++ b/src/GF/Compile/Concrete/TypeCheck.hs @@ -90,8 +90,6 @@ inferLType gr g trm = case trm of checkError (text "cannot infer type of canonical constant" <+> ppTerm Unqualified 0 trm) ] - Val _ ty i -> termWith trm $ return ty - Vr ident -> termWith trm $ checkLookup ident g Typed e t -> do diff --git a/src/GF/Compile/GrammarToGFCC.hs b/src/GF/Compile/GrammarToGFCC.hs index 2a31d2b75..c284b176c 100644 --- a/src/GF/Compile/GrammarToGFCC.hs +++ b/src/GF/Compile/GrammarToGFCC.hs @@ -173,7 +173,6 @@ mkTerm tr = case tr of EInt i -> C.C $ fromInteger i R rs -> C.R [mkTerm t | (_, (_,t)) <- rs] P t l -> C.P (mkTerm t) (C.C (mkLab l)) - TSh _ _ -> error $ show tr T _ cs -> C.R [mkTerm t | (_,t) <- cs] ------ V _ cs -> C.R [mkTerm t | t <- cs] S t p -> C.P (mkTerm t) (mkTerm p) @@ -507,7 +506,6 @@ term2term fun cgr env@(labels,untyps,typs) tr = case tr of _ | tr == x -> t _ -> GM.composSafeOp (mkBranch x t) tr - valNum (Val _ _ i) = traceD (show i) $ EInt $ toInteger i ----Val valNum tr = maybe (valNumFV $ tryFV tr) EInt $ Map.lookup tr untyps where tryFV tr = case GM.appForm tr of -- cgit v1.2.3