souffle  2.0.2-371-g6315b36
NormaliseMultiResultFunctors.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 NormaliseMultiResultFunctors.h
12  *
13  * Transform pass to normalise all appearances of multi-result functors.
14  *
15  ***********************************************************************/
16 
17 #pragma once
18 
20 
21 namespace souffle::ast::transform {
22 
23 /** Uniquely names all appearances of ranges */
24 class NormaliseMultiResultFunctorsTransformer : public Transformer {
25 public:
26  std::string getName() const override {
27  return "NormaliseMultiResultFunctorsTransformer";
28  }
29 
30 private:
31  bool transform(TranslationUnit& translationUnit) override;
32 
35  }
36 };
37 
38 } // namespace souffle::ast::transform
Transformer.h
souffle::ast::TranslationUnit
Translation unit class for the translation pipeline.
Definition: TranslationUnit.h:51
souffle::ast::transform
Definition: Program.h:45
souffle::ast::transform::NormaliseMultiResultFunctorsTransformer::clone
NormaliseMultiResultFunctorsTransformer * clone() const override
Definition: NormaliseMultiResultFunctors.h:45
souffle::ast::transform::NormaliseMultiResultFunctorsTransformer::getName
std::string getName() const override
Definition: NormaliseMultiResultFunctors.h:38
souffle::ast::transform::NormaliseMultiResultFunctorsTransformer
Uniquely names all appearances of ranges.
Definition: NormaliseMultiResultFunctors.h:30
souffle::ast::transform::NormaliseMultiResultFunctorsTransformer::transform
bool transform(TranslationUnit &translationUnit) override
Definition: NormaliseMultiResultFunctors.cpp:34