souffle
2.0.2-371-g6315b36
ast
transform
SemanticChecker.h
Go to the documentation of this file.
1
/*
2
* Souffle - A Datalog Compiler
3
* Copyright (c) 2015, Oracle and/or its affiliates. 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 SemanticChecker.h
12
*
13
* Defines the semantic checker pass.
14
*
15
***********************************************************************/
16
17
#pragma once
18
19
#include "
ast/TranslationUnit.h
"
20
#include "
ast/transform/Transformer.h
"
21
#include <string>
22
23
namespace
souffle::ast::transform
{
24
25
class
SemanticChecker :
public
Transformer {
26
public
:
27
~SemanticChecker
()
override
=
default
;
28
29
std::string
getName
()
const override
{
30
return
"SemanticChecker"
;
31
}
32
33
SemanticChecker
*
clone
()
const override
{
34
return
new
SemanticChecker
();
35
}
36
37
private
:
38
bool
transform
(
TranslationUnit
& translationUnit)
override
;
39
};
40
41
}
// namespace souffle::ast::transform
TranslationUnit.h
souffle::ast::transform::SemanticChecker::transform
bool transform(TranslationUnit &translationUnit) override
Definition:
SemanticChecker.cpp:144
souffle::ast::transform::SemanticChecker::clone
SemanticChecker * clone() const override
Definition:
SemanticChecker.h:45
Transformer.h
souffle::ast::transform::SemanticChecker
Definition:
SemanticChecker.h:31
souffle::ast::TranslationUnit
Translation unit class for the translation pipeline.
Definition:
TranslationUnit.h:51
souffle::ast::transform
Definition:
Program.h:45
souffle::ast::transform::SemanticChecker::getName
std::string getName() const override
Definition:
SemanticChecker.h:41
souffle::ast::transform::SemanticChecker::~SemanticChecker
~SemanticChecker() override=default
Generated by
1.8.17