unique ref

This commit is contained in:
aarne
2004-08-13 13:21:46 +00:00
parent a760544742
commit 69aa3248d2
4 changed files with 18 additions and 14 deletions

View File

@@ -232,6 +232,7 @@ contextRefinements gr = refineAllNodes contextRefine where
uniqueRefine :: CGrammar -> Action
uniqueRefine gr state = case refinementsState gr state of
[(e,(_,True))] -> Bad "only circular refinement"
[(e,_)] -> refineWithAtom False gr e state
_ -> Bad "no unique refinement"
@@ -347,7 +348,7 @@ solveAll gr st0 = do
-- active refinements
refinementsState :: CGrammar -> State -> [(Term,Val)]
refinementsState :: CGrammar -> State -> [(Term,(Val,Bool))]
refinementsState gr state =
let filt = possibleRefVal gr state in
if actIsMeta state