souffle
2.0.2-371-g6315b36
|
void createValueIndex(const ast::Clause &clause)
index values in rule
ClauseTranslator(AstToRamTranslator &translator)
AstToRamTranslator & translator
Intermediate representation of a horn clause.
Own< ram::Statement > translateClause(const ast::Clause &clause, const ast::Clause &originalClause, const int version=0)
generate RAM code for a clause
An abstract class for performing indexed operations.
Own< ast::Clause > getReorderedClause(const ast::Clause &clause, const int version) const
std::vector< const ast::Node * > op_nesting
Abstract class for syntactic elements in an input program.
Main class for the AST->RAM translator.
virtual Own< ram::Operation > createOperation(const ast::Clause &clause)
virtual Own< ram::Condition > createCondition(const ast::Clause &originalClause)
Own< ValueIndex > valueIndex
std::vector< const ast::Argument * > generators
void indexValues(const ast::Node *curNode, const std::vector< ast::Argument * > &curNodeArgs, std::map< const ast::Node *, int > &nodeLevel, const ram::Relation *relation)
Own< ram::Operation > filterByConstraints(size_t level, const std::vector< ast::Argument * > &args, Own< ram::Operation > op, bool constrainByFunctors=true)
apply constraint filters to a given operation