Edit me

Pragmas permit to set command-line flags and configurations directly in the source code.

For example,

.pragma "legacy" 
.decl A(x:number) output
A(1).

will enable the --legacy flag in the source without specifying when invoking souffle.

Syntax

In the following, we define pragmas more formally using syntax diagrams and EBNF. The syntax diagrams were produced with Bottlecaps.

Pragma

A pragma is followed by a parameter string. An additional string for the value of the parameter is optional.

Pragma

pragma   ::= '.pragma' STRING STRING?