SOUFFLE(1)

NAME
souffle - translator of declarative Datalog programs into the C++ language.

SYNOPSIS
souffle [ options ] files [ options ]

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.

OPTIONS

-c, --compile
    Compile and execute the datalog (translating to C++)

-D<DIR>, --output-dir=<DIR>
    Specify directory for output relations (if <DIR> is -, all output is written to stdout)

-F<DIR>, --fact-dir=<DIR>
    Specify directory for fact files

-g <FILE>, --generate=<FILE>
    Generate C++ source code from the given datalog file

-h, --help
    Show this help text

-I<DIR>, --include-dir=<DIR>
    Specify directory for include files

-j<N>, --jobs=<N>
    Run interpreter/compiler in parallel using N threads, N=auto for system default

-L<DIR>, --library-dir=<DIR>
    Specify directory for library files

-l<LIBRARIES>, --libraries=<LIBRARIES>
    Specify libraries to be included for user defined functors

--legacy
    Enable legacy mode, which supports less strict type analysis

--live-profile
    Enable live profiling

-M<OPTIONS>, --macro=<OPTIONS>
    Set macro definitions for the pre-processor

-m<RELATIONS>, --magic-transform=<RELATIONS>
    Enable magic set transformation changes on the given relations, use '*' for all

-o <FILE>, --dl-program=<FILE>
    Write executable program to <FILE> (without executing it)

-P<OPTIONS>, --pragma=<OPTIONS>
    Set pragma options

-p<FILE>, --profile=<FILE>
    Enable profiling and write profile data to <FILE>

--parse-errors
    Show parsing errors, if any, then exit

-r<FILE>, --debug-report=<FILE>
    Generate an HTML debug report and write it to <FILE>

-s <LANG>, --swig=<LANG>
    Generate SWIG interface for the specified language. Possible values for <LANG> are java and python

-t<none|explain|explore|subtreeHeights>, --provenance=<none|explain|explore|subtreeHeights>
    Enable provenance instrumentation and interaction

--show=<option>
            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.

-u<FILE>, --profile-use=<FILE>
    Use profile log-file <FILE> for profile-guided optimisation

-v, --verbose
    Verbose output

--version
    Print version information

-w, --no-warn
    Disable warnings

-z<TRANSFORMERS>, --disable-transformers=<TRANSFORMERS>
    Disable the given transformer

EXAMPLES
souffle program.dl

souffle -c program.dl -Ffacts -D- -j20

VERSION
2.0.1

LICENSE
Copyright (c) 2016 Oracle and/or its affiliates. All Rights reserved.

SEE ALSO
g++(1),mcpp(1),swig(1)