summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraarne <unknown>2003-10-03 06:31:34 +0000
committeraarne <unknown>2003-10-03 06:31:34 +0000
commitcfe8ebc1fbbf60d7d90aaa4776b029b5eb84ae98 (patch)
tree825960028ae55f135419f12a900cfd017cadb772 /src
parent3f328521917263f2b3dbe225edaf9e919c30156e (diff)
Restored read term in editor.
Diffstat (limited to 'src')
-rw-r--r--src/GF/Compile/ShellState.hs10
-rw-r--r--src/GF/Grammar/TypeCheck.hs4
-rw-r--r--src/GF/Shell/Commands.hs7
-rw-r--r--src/Today.hs2
4 files changed, 11 insertions, 12 deletions
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"