RunStaticAna.hs revision 578dd213a172c85e6c6ffdbf20be969c39d6d7b8
e8eb2b9d68adc3024eb1aa9899b902ed5a3fb460Christian MaederModule : $Header$
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian MaederDescription : test driver for static analysis
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskiCopyright : (c) Christian Maeder and Uni Bremen 2003
09b431a868c79a92ae7c9bd141565f43f9034144Christian MaederLicense : GPLv2 or higher, see LICENSE.txt
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian MaederMaintainer : Christian.Maeder@dfki.de
2eeec5240b424984e3ee26296da1eeab6c6d739eChristian MaederStability : experimental
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskiPortability : portable
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maederparse and call static analysis
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maederimport HasCASL.AsToLe(anaBasicSpec)
09b431a868c79a92ae7c9bd141565f43f9034144Christian MaederbParser :: GlobalAnnos -> AParser () (BasicSpec, Env)
09b431a868c79a92ae7c9bd141565f43f9034144Christian MaederbParser ga = do b <- basicSpec
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder return $ runState (anaBasicSpec ga b) initialEnv
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskianaParser :: StringParser
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskianaParser ga = do (a, e) <- bParser ga
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski let ne = e { sentences = map
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder (mapNamed $ simplifySentence e) $ sentences e }
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski return . show . useGlobalAnnos (addBuiltins ga)
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder $ pretty a $+$ pretty ne
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskitype SenParser = GlobalAnnos -> AParser () [Named Sentence]
556f473448dfcceee22afaa89ed7a364489cdbbbChristian MaedersenParser :: SenParser
556f473448dfcceee22afaa89ed7a364489cdbbbChristian MaedersenParser = fmap (reverse . sentences . snd) . bParser
556f473448dfcceee22afaa89ed7a364489cdbbbChristian MaedertransParser :: SenParser
556f473448dfcceee22afaa89ed7a364489cdbbbChristian MaedertransParser = fmap ( ( \ e -> map (mapNamed (translateSen e)) $ reverse $
556f473448dfcceee22afaa89ed7a364489cdbbbChristian Maeder sentences e) . snd) . bParser
556f473448dfcceee22afaa89ed7a364489cdbbbChristian MaederprintSen :: SenParser -> StringParser
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskiprintSen p ga = fmap (show . useGlobalAnnos (addBuiltins ga) .
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski vcat . map (pretty . fromLabelledSen)) $ p ga