souffle
2.0.2-371-g6315b36
ast
transform
SimplifyAggregateTargetExpression.h
Go to the documentation of this file.
1
/*
2
* Souffle - A Datalog Compiler
3
* Copyright (c) 2020. 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 SimplifyAggregateTargetExpression.h
12
*
13
***********************************************************************/
14
#pragma once
15
16
#include "
ast/Aggregator.h
"
17
#include "
ast/TranslationUnit.h
"
18
#include "
ast/transform/Transformer.h
"
19
#include <string>
20
21
namespace
souffle::ast::transform
{
22
/**
23
* Transformation pass to rename aggregation variables to make them unique.
24
*/
25
class
SimplifyAggregateTargetExpressionTransformer :
public
Transformer {
26
public
:
27
std::string
getName
()
const override
{
28
return
"SimplifyAggregateTargetExpressionTransformer"
;
29
}
30
31
SimplifyAggregateTargetExpressionTransformer
*
clone
()
const override
{
32
return
new
SimplifyAggregateTargetExpressionTransformer
();
33
}
34
35
private
:
36
bool
transform
(
TranslationUnit
& translationUnit)
override
;
37
};
38
}
// namespace souffle::ast::transform
TranslationUnit.h
Transformer.h
souffle::ast::TranslationUnit
Translation unit class for the translation pipeline.
Definition:
TranslationUnit.h:51
souffle::ast::transform::SimplifyAggregateTargetExpressionTransformer
Transformation pass to rename aggregation variables to make them unique.
Definition:
SimplifyAggregateTargetExpression.h:29
souffle::ast::transform::SimplifyAggregateTargetExpressionTransformer::clone
SimplifyAggregateTargetExpressionTransformer * clone() const override
Definition:
SimplifyAggregateTargetExpression.h:39
souffle::ast::transform
Definition:
Program.h:45
souffle::ast::transform::SimplifyAggregateTargetExpressionTransformer::getName
std::string getName() const override
Definition:
SimplifyAggregateTargetExpression.h:35
Aggregator.h
souffle::ast::transform::SimplifyAggregateTargetExpressionTransformer::transform
bool transform(TranslationUnit &translationUnit) override
Definition:
SimplifyAggregateTargetExpression.cpp:29
Generated by
1.8.17