|
Own< TranslationUnit > | souffle::ast::test::makeATU (std::string program=".decl A,B,C(x:number)") |
|
Own< Clause > | souffle::ast::test::makeClause (std::string name, Own< Argument > headArgument) |
|
| souffle::ast::test::TEST (Program, AppendRelation) |
|
| souffle::ast::test::TEST (Program, Parse) |
|
| souffle::ast::test::TEST (Program, RemoveClause) |
| test removeClause, addRelation and removeRelation More...
|
|
| souffle::ast::test::TEST (Program, RemoveRelation) |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (ChainedTypes, R"(
.type D <: symbol
.type C = D
.type B = C
.type A = B
.decl R1(x:A,y:B)
.decl R2(x:C,y:D)
.decl R4(x:A) output
R4(x) :- R2(x,x),R1(x,x).
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (ComplexTypes, R"(
.type A <: symbol
.type B <: number
.type U = B
.decl a ( x : A )
.decl b ( x : B )
.decl u ( x : U )
a(X) :- X < 10.
b(X) :- X < 10.
u(X) :- X < 10.
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (NestedAggregates, R"(
.type D <: symbol
.decl r(x:D)
r(x) :- r(y), x=cat(cat(x,x),x).
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (Program, R"(
.decl r(a:number,b:number,c:number,d:number)
.decl s(x:symbol)
.decl a(x:number)
s("xxx").
r(X,Y,Z,W) :- a(X), 10 = Y, Y = Z, 8 + W = 12 + 14.
r(z + 2, x, y, a) :- s(b), b = to_string(a), z = x, a = y, x = 2, a = 2 + x.
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (Record, R"(
.type N <: symbol
.type R = [ a : N, B : N ]
.decl r ( r : R )
.decl s ( r : N )
s(x) :- r([x,y]).
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (RelationCopies, R"(
.type D = number
.decl a(a:D,b:D)
.decl b(a:D,b:D)
.decl c(a:D,b:D)
.decl d(a:D,b:D)
a(1,2).
b(x,y) :- a(x,y).
c(x,y) :- b(x,y).
d(x,y) :- b(x,y), c(y,x).
)") |
|
| souffle::ast::test::TESTASTCLONEANDEQUAL (SimpleTypes, R"(
.type A <: symbol
.type B <: symbol
.type U = A | B
.decl a ( x : A )
.decl b ( x : B )
.decl u ( x : U )
a(X) :- u(X).
b(X) :- u(X).
u(X) :- u(X).
a(X) :- b(X).
a(X) :- b(Y).
)") |
|