Polyglot program analysis by means of abstract definitional interpretation.
The goal of this package is to provide
-
general facilities for performing program analysis of programs via abstract (definitional) interpretation of an intermediate language,
-
conveniences to aid in translating programs in arbitrary surface languages into said intermediate language,
-
facilities for tailoring and tuning program analyses to vary performance, precision, and sensitivities, and
-
a small variety of specific program analyses to serve both as examples and as useful tools in their own right.
On the other hand, this package will not provide
-
support for specific surface languages, or
-
facilities for dealing with the meta-structure of programs, i.e. where to find modules, how projects and their files are configured, etc.
This project consists of a Haskell package named semantic-analysis
. The library’s sources are in src
.
Development of semantic-analysis
is typically done using cabal v2-build
:
cabal v2-build # build the library
cabal v2-repl # load the package into ghci
cabal v2-test # build and run the doctests