Skip to content

Commit 6a38e31

Browse files
committed
Remove 'rewritingSharedContext' and related code.
1 parent 32ce62b commit 6a38e31

File tree

5 files changed

+8
-125
lines changed

5 files changed

+8
-125
lines changed

otherTests/saw-core/Tests.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import Data.Proxy
2020
import Tests.CacheTests
2121
import Tests.Parser
2222
import Tests.SharedTerm
23-
import Tests.Rewriter
2423
import Tests.Functor
2524

2625
main :: IO ()
@@ -41,7 +40,6 @@ tests =
4140
testGroup "SAWCore"
4241
[ testGroup "SharedTerm" sharedTermTests
4342
, testGroup "Parser" parserTests
44-
, testGroup "Rewriter" rewriter_tests
4543
, testGroup "Cache" cacheTests
4644
, testGroup "Functor" functorTests
4745
]

otherTests/saw-core/Tests/Rewriter.hs

Lines changed: 0 additions & 57 deletions
This file was deleted.

saw-core/src/SAWCore/Rewriter.hs

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ module SAWCore.Rewriter
5252
, rewriteSharedTermTypeSafe
5353
-- * Matching
5454
, scMatch
55-
-- * SharedContext
56-
, rewritingSharedContext
57-
55+
-- * Miscellaneous
5856
, replaceTerm
5957
, hoistIfs
6058
) where
@@ -865,40 +863,6 @@ rewriteSharedTermTypeSafe sc ss t0 =
865863
Nothing -> apply rules t
866864
Just tb -> rewriteAll =<< runTermBuilder tb (scGlobalDef sc) (scTermF sc)
867865

868-
-- | Generate a new SharedContext that normalizes terms as it builds them.
869-
-- Rule annotations are ignored.
870-
rewritingSharedContext :: SharedContext -> Simpset a -> SharedContext
871-
rewritingSharedContext sc ss = sc'
872-
where
873-
sc' = sc { scTermF = rewriteTop }
874-
875-
rewriteTop :: TermF Term -> IO Term
876-
rewriteTop tf =
877-
case asPairRedex t of
878-
Just t' -> return t'
879-
Nothing ->
880-
case asRecordRedex t of
881-
Just t' -> return t'
882-
Nothing -> apply (Net.match_term ss t) t
883-
where t = Unshared tf
884-
885-
apply :: [Either (RewriteRule a) Conversion] ->
886-
Term -> IO Term
887-
apply [] (Unshared tf) = scTermF sc tf
888-
apply [] STApp{ stAppTermF = tf } = scTermF sc tf
889-
apply (Left (RewriteRule c l r _ _shallow _ann) : rules) t =
890-
case firstOrderMatch c l t of
891-
Nothing -> apply rules t
892-
Just inst
893-
| l == r ->
894-
do putStrLn $ "rewritingSharedContext: skipping reflexive rule: " ++ scPrettyTerm PPS.defaultOpts l
895-
apply rules t
896-
| otherwise -> scInstantiateExt sc' inst r
897-
apply (Right conv : rules) t =
898-
case runConversion conv t of
899-
Nothing -> apply rules t
900-
Just tb -> runTermBuilder tb (scGlobalDef sc) (scTermF sc')
901-
902866

903867
-- FIXME: is there some way to have sensable term replacement in the presence of loose variables
904868
-- and/or under binders?

saw-script/src/SAWScript/Interpreter.hs

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,10 @@ import qualified SAWCentral.Yosys as Yo (YosysIR)
102102
import qualified SAWCentral.Yosys.State as Yo (YosysSequential)
103103
import qualified SAWCentral.Yosys.Theorem as Yo (YosysImport, YosysTheorem)
104104

105-
import SAWCore.Conversion
106-
import SAWCore.Module (Def(..), emptyModule, moduleDefs)
107-
import SAWCore.Name (mkModuleName, Name(..))
105+
import SAWCore.Module (emptyModule)
106+
import SAWCore.Name (mkModuleName)
108107
import SAWCore.Prim (rethrowEvalError)
109-
import SAWCore.Rewriter (emptySimpset, rewritingSharedContext, scSimpset)
108+
import SAWCore.Rewriter (emptySimpset)
110109
import SAWCore.SharedTerm
111110
import qualified CryptolSAWCore.CryptolEnv as CEnv
112111

@@ -1009,31 +1008,11 @@ buildTopLevelEnv :: AIGProxy
10091008
-> IO (BuiltinContext, TopLevelRO, TopLevelRW)
10101009
buildTopLevelEnv proxy opts scriptArgv =
10111010
do let mn = mkModuleName ["SAWScript"]
1012-
sc0 <- mkSharedContext
1011+
sc <- mkSharedContext
10131012
let ?fileReader = BS.readFile
1014-
CryptolSAW.scLoadPreludeModule sc0
1015-
CryptolSAW.scLoadCryptolModule sc0
1016-
scLoadModule sc0 (emptyModule mn)
1017-
cryptol_mod <- scFindModule sc0 $ mkModuleName ["Cryptol"]
1018-
let convs = natConversions
1019-
++ bvConversions
1020-
++ vecConversions
1021-
++ [ tupleConversion
1022-
, recordConversion
1023-
, remove_ident_coerce
1024-
, remove_ident_unsafeCoerce
1025-
]
1026-
cryptolDefs = filter defPred $ moduleDefs cryptol_mod
1027-
defPred d =
1028-
case nameInfo (defName d) of
1029-
ModuleIdentifier ident -> ident `Set.member` includedDefs
1030-
ImportedName{} -> False
1031-
includedDefs = Set.fromList
1032-
[ "Cryptol.ecDemote"
1033-
, "Cryptol.seq"
1034-
]
1035-
simps <- scSimpset sc0 cryptolDefs [] convs
1036-
let sc = rewritingSharedContext sc0 simps
1013+
CryptolSAW.scLoadPreludeModule sc
1014+
CryptolSAW.scLoadCryptolModule sc
1015+
scLoadModule sc (emptyModule mn)
10371016
ss <- basic_ss sc
10381017
currDir <- getCurrentDirectory
10391018
mb_cache <- lookupEnv "SAW_SOLVER_CACHE_PATH" >>= \case

saw.cabal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,6 @@ test-suite saw-core-tests
990990
Tests.CacheTests
991991
Tests.Functor
992992
Tests.Parser
993-
Tests.Rewriter
994993
Tests.SharedTerm
995994

996995

0 commit comments

Comments
 (0)