souffle
2.0.2-371-g6315b36
ast2ram
ProvenanceClauseTranslator.h
Go to the documentation of this file.
1
/*
2
* Souffle - A Datalog Compiler
3
* Copyright (c) 2018 The Souffle Developers. All rights reserved
4
* Licensed under the Universal Permissive License v 1.0 as shown at:
5
* - https://opensource.org/licenses/UPL
6
* - <souffle root>/licenses/SOUFFLE-UPL.txt
7
*/
8
9
/************************************************************************
10
*
11
* @file ProvenanceClauseTranslator.h
12
*
13
* Clause translator when provenance is used
14
*
15
***********************************************************************/
16
17
#pragma once
18
19
#include "
ast2ram/ClauseTranslator.h
"
20
21
namespace
souffle::ast
{
22
class
Clause;
23
}
24
25
namespace
souffle::ram
{
26
class
Condition;
27
class
Operation;
28
}
// namespace souffle::ram
29
30
namespace
souffle::ast2ram
{
31
32
class
AstToRamTranslator;
33
34
class
ProvenanceClauseTranslator
:
public
ClauseTranslator
{
35
public
:
36
ProvenanceClauseTranslator
(
AstToRamTranslator
&
translator
) :
ClauseTranslator
(
translator
) {}
37
38
protected
:
39
Own<ram::Operation>
createOperation
(
const
ast::Clause
& clause)
override
;
40
Own<ram::Condition>
createCondition
(
const
ast::Clause
& originalClause)
override
;
41
};
42
}
// namespace souffle::ast2ram
souffle::ast2ram::ClauseTranslator::translator
AstToRamTranslator & translator
Definition:
ClauseTranslator.h:49
souffle::Own
std::unique_ptr< A > Own
Definition:
ContainerUtil.h:42
souffle::ast::Clause
Intermediate representation of a horn clause.
Definition:
Clause.h:51
souffle::ast2ram::ProvenanceClauseTranslator::createCondition
Own< ram::Condition > createCondition(const ast::Clause &originalClause) override
Definition:
ProvenanceClauseTranslator.cpp:37
souffle::ram
Definition:
AstToRamTranslator.h:54
souffle::ast2ram::ProvenanceClauseTranslator::createOperation
Own< ram::Operation > createOperation(const ast::Clause &clause) override
Definition:
ProvenanceClauseTranslator.cpp:41
souffle::ast2ram::ClauseTranslator
Definition:
ClauseTranslator.h:41
souffle::ast2ram::ProvenanceClauseTranslator
Definition:
ProvenanceClauseTranslator.h:34
souffle::ast2ram::AstToRamTranslator
Main class for the AST->RAM translator.
Definition:
AstToRamTranslator.h:71
souffle::ast2ram
Definition:
AstToRamTranslator.cpp:132
souffle::ast
Definition:
Aggregator.h:35
ClauseTranslator.h
souffle::ast2ram::ProvenanceClauseTranslator::ProvenanceClauseTranslator
ProvenanceClauseTranslator(AstToRamTranslator &translator)
Definition:
ProvenanceClauseTranslator.h:36
Generated by
1.8.17