Restored printnames.

This commit is contained in:
aarne
2003-10-08 10:09:58 +00:00
parent 889e5a92e4
commit a979508aa7
7 changed files with 78 additions and 152 deletions

View File

@@ -164,9 +164,21 @@ noMoreMetas = err (const True) (const False) . goNextMeta
replaceSubTree :: Tree -> Action
replaceSubTree tree state = changeLoc state tree
refineOrReplaceWithTree :: Bool -> CGrammar -> Tree -> Action
refineOrReplaceWithTree der gr tree state = case actMeta state of
Ok m -> refineWithTreeReal der gr tree m state
_ -> do
let tree1 = addBinds (actBinds state) $ tree
state' <- replaceSubTree tree1 state
reCheckState gr state'
refineWithTree :: Bool -> CGrammar -> Tree -> Action
refineWithTree der gr tree state = do
m <- errIn "move pointer to meta" $ actMeta state
m <- errIn "move pointer to meta" $ actMeta state
refineWithTreeReal der gr tree m state
refineWithTreeReal :: Bool -> CGrammar -> Tree -> Meta -> Action
refineWithTreeReal der gr tree m state = do
state' <- replaceSubTree tree state
let cs0 = allConstrs state'
(cs,ms) = splitConstraints cs0

View File

@@ -96,7 +96,7 @@ refineByExps der gr trees = case trees of
refineByTrees :: Bool -> CGrammar -> [Tree] -> ECommand
refineByTrees der gr trees = case trees of
[t] -> action2commandNext (refineWithTree der gr t)
[t] -> action2commandNext (refineOrReplaceWithTree der gr t)
_ -> changeCands $ map tree2exp trees
replaceByTrees :: CGrammar -> [Exp] -> ECommand