OILS / mycpp / datalog / README.md View on Github | oilshell.org

32 lines, 23 significant
1# Datalog
2
3The files in this directory are [Souffle](https://souffle-lang.github.io/)
4programs. We use them for to peform dataflow analyses on the Python -> C++
5translation.
6
7See the [Souffle Language Reference](https://souffle-lang.github.io/program) for
8details on how to write datalog.
9
10## Installing Souffle
11
12```
13deps/from_tar.sh download-souffle
14deps/from_tar.sh extract-souffle
15deps/from_tar.sh build-souffle
16```
17
18## Compiling a Souffle Binary
19
20You can compile a souffle program to fast native code with the `souffle_binary`,
21and `souffle_cpp` ninja rules. For example,
22`souffle_cpp('mycpp/datalog/call-graph.dl')` will produce C++ source at
23`prebuilt/datalog/call-graph.cc` and
24`souffle_binary('prebuilt/datalog/call-graph.cc')` will produce an executable
25called `_bin/datalog/call-graph`.
26
27See this [page from the Souffle docs](https://souffle-lang.github.io/execute)
28for details about how to run your program.
29
30## Our Analyses
31
32TBD