souffle  2.0.2-371-g6315b36
Ground.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 Ground.h
12  *
13  * Defines a function for computing the grounded arguments in a clause
14  *
15  ***********************************************************************/
16 
17 #pragma once
18 
19 #include "ast/Argument.h"
20 #include "ast/Clause.h"
21 #include "ast/TranslationUnit.h"
22 #include <map>
23 
24 namespace souffle::ast::analysis {
25 
26 /**
27  * Analyse the given clause and computes for each contained argument
28  * whether it is a grounded value or not.
29  *
30  * @param tu the translation unit containing the clause
31  * @param clause the clause to be analyzed
32  * @return a map mapping each contained argument to a boolean indicating
33  * whether the argument represents a grounded value or not
34  */
35 std::map<const Argument*, bool> getGroundedTerms(const TranslationUnit& tu, const Clause& clause);
36 
37 } // namespace souffle::ast::analysis
TranslationUnit.h
souffle::ast::analysis::getGroundedTerms
std::map< const Argument *, bool > getGroundedTerms(const TranslationUnit &tu, const Clause &clause)
Analyse the given clause and computes for each contained argument whether it is a grounded value or n...
Definition: Ground.cpp:278
Argument.h
Clause.h
souffle::ast::analysis
Definition: Aggregate.cpp:39