souffle  2.0.2-371-g6315b36
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"
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 
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