diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs index 85bc24ae0..3c1dffb07 100644 --- a/src/GF/Compile/ShellState.hs +++ b/src/GF/Compile/ShellState.hs @@ -23,11 +23,11 @@ import Arch (ModTime) -- multilingual state with grammars and options data ShellState = ShSt { - abstract :: Maybe Ident , -- pointer to actual abstract; nothing in empty st + abstract :: Maybe Ident , -- pointer to actual abstract, if not empty st concrete :: Maybe Ident , -- pointer to primary concrete concretes :: [(Ident,Ident)], -- list of all concretes - canModules :: CanonGrammar , -- the place where abstracts and concretes reside - srcModules :: G.SourceGrammar , -- the place of saved resource modules + canModules :: CanonGrammar , -- compiled abstracts and concretes + srcModules :: G.SourceGrammar , -- saved resource modules cfs :: [(Ident,CF)] , -- context-free grammars morphos :: [(Ident,Morpho)], -- morphologies gloptions :: Options, -- global options @@ -69,6 +69,7 @@ data StateGrammar = StGr { cncId :: Ident, grammar :: CanonGrammar, cf :: CF, +---- parser :: StaticParserInfo, morpho :: Morpho } @@ -91,7 +92,8 @@ cncModuleIdST = stateGrammarST -- form a shell state from a canonical grammar grammar2shellState :: Options -> (CanonGrammar, G.SourceGrammar) -> Err ShellState -grammar2shellState opts (gr,sgr) = updateShellState opts emptyShellState (gr,(sgr,[])) +grammar2shellState opts (gr,sgr) = + updateShellState opts emptyShellState (gr,(sgr,[])) -- update a shell state from a canonical grammar diff --git a/src/GF/Grammar/TypeCheck.hs b/src/GF/Grammar/TypeCheck.hs index 5f16da90e..2445d50ad 100644 --- a/src/GF/Grammar/TypeCheck.hs +++ b/src/GF/Grammar/TypeCheck.hs @@ -121,12 +121,12 @@ possibleConstraint gr (u,v) = errVal True $ do v' <- val2exp v >>= compute gr return $ cts u' v' where - cts t u = case (t,u) of + cts t u = isUnknown t || isUnknown u || case (t,u) of (Q m c, Q n d) -> c == d || notCan (m,c) || notCan (n,d) (App f a, App g b) -> cts f g && cts a b (Abs x b, Abs y c) -> cts b c (Prod x a f, Prod y b g) -> cts a b && cts f g - (_ , _) -> isUnknown t || isUnknown u + (_ , _) -> False isUnknown t = case t of Vr _ -> True diff --git a/src/GF/Shell/Commands.hs b/src/GF/Shell/Commands.hs index ecdc65ab4..128029668 100644 --- a/src/GF/Shell/Commands.hs +++ b/src/GF/Shell/Commands.hs @@ -222,14 +222,11 @@ execECommand env c = case c of CAlphaConvert s -> action2commandNext $ \x -> string2varPair s >>= \xy -> alphaConvert cgr xy x -{- ---- + CRefineWithTree s -> action2commandNext $ \x -> - (string2treeErr cgr s x >>= + (string2treeInState gr s x >>= \t -> refineWithTree der cgr t x) - CRefineParse str -> \s -> refineByTrees der cgr - (parseAny agrs (cat2CFCat (actCat (stateSState s))) str) s --} CRefineParse str -> \s -> let cat = cat2CFCat (qualifTop sgr (actCat (stateSState s))) ts = parseAny agrs cat str diff --git a/src/Today.hs b/src/Today.hs index 44ffd43d8..e8522e2be 100644 --- a/src/Today.hs +++ b/src/Today.hs @@ -1 +1 @@ -module Today where today = "Thu Oct 2 09:28:27 CEST 2003" +module Today where today = "Thu Oct 2 18:51:58 CEST 2003"