forked from souffle-lang/souffle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
souffle.1
124 lines (113 loc) · 3.38 KB
/
souffle.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
.TH SOUFFLE 1 2020-07-29
.SH NAME
.B souffle
\- translator of declarative Datalog programs into the C++ language.
.SH SYNOPSIS
.B souffle
[
.I options
]
.I files
[
.I options
]
.SH DESCRIPTION
Souffle is used as a domain-specific language for static program analysis over
large code bases with millions of lines of code. Souffle aims to produce
high-performance C++ code that can be compiled with the native compiler on the
target machine.
.SH OPTIONS
.TP
.B -c, --compile
Compile and execute the datalog (translating to C++)
.TP
.B -D\fI<DIR>\fP, --output-dir=\fI<DIR>\fP
Specify directory for output relations (if \fI<DIR>\fP is -, all output is written to stdout)
.TP
.B -F\fI<DIR>\fP, --fact-dir=\fI<DIR>\fP
Specify directory for fact files
.TP
.B -g \fI<FILE>\fP, --generate=\fI<FILE>\fP
Generate C++ source code from the given datalog file
.TP
.B -h, --help
Show this help text
.TP
.B -I\fI<DIR>\fP, --include-dir=\fI<DIR>\fP
Specify directory for include files
.TP
.B -j\fI<N>\fP, --jobs=\fI<N>\fP
Run interpreter/compiler in parallel using N threads, N=auto for system default
.TP
.B -L\fI<DIR>\fP, --library-dir=\fI<DIR>\fP
Specify directory for library files
.TP
.B -l\fI<LIBRARIES>\fP, --libraries=\fI<LIBRARIES>\fP
Specify libraries to be included for user defined functors
.TP
.B --legacy
Enable legacy mode, which supports less strict type analysis
.TP
.B --live-profile
Enable live profiling
.TP
.B -M\fI<OPTIONS>\fP, --macro=\fI<OPTIONS>\fP
Set macro definitions for the pre-processor
.TP
.B -m\fI<RELATIONS>\fP, --magic-transform=\fI<RELATIONS>\fP
Enable magic set transformation changes on the given relations, use '*' for all
.TP
.B -o \fI<FILE>\fP, --dl-program=\fI<FILE>\fP
Write executable program to \fI<FILE>\fP (without executing it)
.TP
.B -P\fI<OPTIONS>\fP, --pragma=\fI<OPTIONS>\fP
Set pragma options
.TP
.B -p\fI<FILE>\fP, --profile=\fI<FILE>\fP
Enable profiling and write profile data to \fI<FILE>\fP
.TP
.B --parse-errors
Show parsing errors, if any, then exit
.TP
.B -r\fI<FILE>\fP, --debug-report=\fI<FILE>\fP
Generate an HTML debug report and write it to \fI<FILE>\fP
.TP
.B -s \fI<LANG>\fP, --swig=\fI<LANG>\fP
Generate SWIG interface for the specified language. Possible values for \fI<LANG>\fP are java and python
.TP
.B -t\fI<none|explain|explore|subtreeHeights>\fP, --provenance=\fI<none|explain|explore|subtreeHeights>\fP
Enable provenance instrumentation and interaction
.TP
.B --show=\fI<option>\fP
parse-errors - errors generated in the parsing stage
transformed-datalog - datalog equivalent to the final, transformed, program
type-analysis - types deduced from the input datalog
precedence-graph - precedence graph for all rules and relations
scc-graph - scc graph for RAM execution
transformed-ram - the final RAM after all transformations are applied
Print selected program information.
.TP
.B -u\fI<FILE>\fP, --profile-use=\fI<FILE>\fP
Use profile log-file \fI<FILE>\fP for profile-guided optimisation
.TP
.B -v, --verbose
Verbose output
.TP
.B --version
Print version information
.TP
.B -w, --no-warn
Disable warnings
.TP
.B -z\fI<TRANSFORMERS>\fP, --disable-transformers=\fI<TRANSFORMERS>\fP
Disable the given transformer
.SH EXAMPLES
souffle program.dl
.TP
souffle -c program.dl -Ffacts -D- -j20
.SH VERSION
2.0.1
.SH LICENSE
Copyright (c) 2016 Oracle and/or its affiliates. All Rights reserved.
.SH SEE ALSO
\fBg++\fP(1),\fBmcpp\fP(1),\fBswig\fP(1)