OS Manuals

/usr/bin/souffle

Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.

From souffle 2.5-r4 (os), captured 2026-11-05 by running souffle --help (exit 0). permalink

============================================================================
souffle -- A datalog engine.
Usage: souffle [OPTION] FILE.
----------------------------------------------------------------------------
Options:
  -a, --auto-schedule=<FILE>                       Use profile auto-schedule <FILE> for auto-scheduling.
  -c, --compile                                    Generate C++ source code, compile to a binary executable, then run this executable.
  -C, --compile-many                               Generate C++ source code in multiple files, compile to a binary executable, then run this executable.
  -r, --debug-report=<FILE>                        Write HTML debug report to <FILE>.
  -z, --disable-transformers=<TRANSFORMERS>        Disable the given AST transformers.
  -o, --dl-program=<FILE>                          Generate C++ source code, written to <FILE>, and compile this to a binary executable (without executing it).
      --emit-statistics                            Enable collection of statistics for auto-scheduling
  -F, --fact-dir=<DIR>                             Specify directory for fact files.
  -g, --generate=<FILE>                            Generate C++ source code for the given Datalog program and write it to <FILE>. If <FILE> is `-` then stdout is used.
  -G, --generate-many=<DIR>                        Generate C++ source code in multiple files for the given Datalog program and write it to <DIR>.
  -N, --generate-namespace=<NS>                    The namespace of generated C++ source code. Empty name denotes the anonymous namespace.
  -h, --help                                       Display this help message.
  -I, --include-dir=<DIR>                          Specify directory for include files.
      --inline-exclude=<RELATIONS>                 Prevent the given relations from being inlined. Overrides any `inline` qualifiers.
  -j, --jobs=<N>                                   Run interpreter/compiler in parallel using N threads, N=auto for system default.
      --legacy                                     Enable legacy support.
  -l, --libraries=<FILE>                           Specify libraries.
  -L, --library-dir=<DIR>                          Specify directory for library files.
      --live-profile                               Enable live profiling.
  -M, --macro=<MACROS>                             Set macro definitions for the pre-processor
  -m, --magic-transform=<RELATIONS>                Enable magic set transformation changes on the given relations, use '*' for all.
      --magic-transform-exclude=<RELATIONS>        Disable magic set transformation changes on the given relations. Overrides `magic-transform`. Implies `inline-exclude` for the given relations.
      --no-preprocessor                            Do not use a C preprocessor.
  -w, --no-warn                                    Disable warnings.
  -D, --output-dir=<DIR>                           Specify directory for output files. If <DIR> is `-` then stdout is used.
      --parse-errors                               Show parsing errors, if any, then exit.
  -P, --pragma=<OPTIONS>                           Set pragma options.
      --preprocessor=<CMD>                         C preprocessor to use.
  -p, --profile=<FILE>                             Enable profiling, and write profile data to <FILE>.
      --profile-frequency                          Enable the frequency counter in the profiler.
  -t, --provenance=<[ none | explain | explore ]>  Enable provenance instrumentation and interaction.
      --show=<[ <see-list> ]>                      Print selected program information.
                                                   Modes:
                                                   	initial-ast
                                                   	initial-ram
                                                   	parse-errors
                                                   	precedence-graph
                                                   	precedence-graph-text
                                                   	scc-graph
                                                   	scc-graph-text
                                                   	transformed-ast
                                                   	transformed-ram
                                                   	type-analysis
  -s, --swig=<LANG>                                Generate SWIG interface for given language. The values <LANG> accepts is java and python.
  -v, --verbose                                    Verbose output.
      --version                                    Version.
  -W, --warn=<WARN>                                Enable a warning.
      --wno=<WARN>                                 Disable a specific warning.
----------------------------------------------------------------------------
Version: 2.5 (2.5)
Word size: 32 bits
Options enabled: ffi openmp ncurses sqlite zlib
----------------------------------------------------------------------------
Copyright (c) 2016-25 The Souffle Developers.
Copyright (c) 2013-16 Oracle and/or its affiliates.
All rights reserved.
============================================================================
Options (37)
OptionDescriptionSource
-a, --auto-schedule FILEUse profile auto-schedule <FILE> for auto-scheduling.help
-c, --compileGenerate C++ source code, compile to a binary executable, then run this executable.help
-C, --compile-manyGenerate C++ source code in multiple files, compile to a binary executable, then run this executable.help
-r, --debug-report FILEWrite HTML debug report to <FILE>.help
-z, --disable-transformers TRANSFORMERSDisable the given AST transformers.help
-o, --dl-program FILEGenerate C++ source code, written to <FILE>, and compile this to a binary executable (without executing it).help
--emit-statisticsEnable collection of statistics for auto-schedulinghelp
-F, --fact-dir DIRSpecify directory for fact files.help
-g, --generate FILEGenerate C++ source code for the given Datalog program and write it to <FILE>.help
-G, --generate-many DIRGenerate C++ source code in multiple files for the given Datalog program and write it to <DIR>.help
-N, --generate-namespace NSThe namespace of generated C++ source code.help
-h, --helpDisplay this help message.help
-I, --include-dir DIRSpecify directory for include files.help
--inline-exclude RELATIONSPrevent the given relations from being inlined.help
-j, --jobs NRun interpreter/compiler in parallel using N threads, N=auto for system default.help
--legacyEnable legacy support.help
-l, --libraries FILESpecify libraries.help
-L, --library-dir DIRSpecify directory for library files.help
--live-profileEnable live profiling.help
-M, --macro MACROSSet macro definitions for the pre-processorhelp
-m, --magic-transform RELATIONSEnable magic set transformation changes on the given relations, use '*' for all.help
--magic-transform-exclude RELATIONSDisable magic set transformation changes on the given relations.help
--no-preprocessorDo not use a C preprocessor.help
-w, --no-warnDisable warnings.help
-D, --output-dir DIRSpecify directory for output files.help
--parse-errorsShow parsing errors, if any, then exit.help
-P, --pragma OPTIONSSet pragma options.help
--preprocessor CMDC preprocessor to use.help
-p, --profile FILEEnable profiling, and write profile data to <FILE>.help
--profile-frequencyEnable the frequency counter in the profiler.help
-t, --provenanceEnable provenance instrumentation and interaction.help
--showPrint selected program information.help
-s, --swig LANGGenerate SWIG interface for given language.help
-v, --verboseVerbose output.help
--versionVersion.help
-W, --warn WARNEnable a warning.help
--wno WARNDisable a specific warning.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.