Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
alib2cli
src
ast
Expression.h
Go to the documentation of this file.
1
6
#pragma once
7
8
#include <
ast/Ast.h
>
9
#include <
abstraction/OperationAbstraction.hpp
>
10
#include <
environment/Environment.h
>
11
12
namespace
cli
{
13
14
class
Expression
{
15
public
:
16
enum class
Operation
{
17
LOGICAL_OR
,
18
LOGICAL_AND
,
19
COMPARE_EQUALITY
,
20
COMPARE_INEQUALITY
,
21
COMPARE_LESS_OR_EQUAL
,
22
COMPARE_LESS
,
23
COMPARE_MORE_OR_EQUAL
,
24
COMPARE_MORE
,
25
ADD
,
26
SUB
,
27
MUL
,
28
MOD
,
29
DIV
,
30
NOT
31
};
32
33
virtual
~Expression
( ) noexcept = default;
34
35
virtual
std
::shared_ptr <
abstraction
::Value >
translateAndEval
(
Environment
& environment ) const = 0;
36
};
37
38
}
/* namespace cli */
39
Ast.h
Environment.h
OperationAbstraction.hpp
cli::Environment
Definition:
Environment.h:29
cli::Expression
Definition:
Expression.h:14
cli::Expression::translateAndEval
virtual std::shared_ptr< abstraction::Value > translateAndEval(Environment &environment) const =0
cli::Expression::~Expression
virtual ~Expression() noexcept=default
cli::Expression::Operation
Operation
Definition:
Expression.h:16
cli::Expression::Operation::COMPARE_MORE
@ COMPARE_MORE
cli::Expression::Operation::COMPARE_MORE_OR_EQUAL
@ COMPARE_MORE_OR_EQUAL
cli::Expression::Operation::LOGICAL_OR
@ LOGICAL_OR
cli::Expression::Operation::NOT
@ NOT
cli::Expression::Operation::SUB
@ SUB
cli::Expression::Operation::DIV
@ DIV
cli::Expression::Operation::MUL
@ MUL
cli::Expression::Operation::COMPARE_LESS_OR_EQUAL
@ COMPARE_LESS_OR_EQUAL
cli::Expression::Operation::COMPARE_LESS
@ COMPARE_LESS
cli::Expression::Operation::COMPARE_EQUALITY
@ COMPARE_EQUALITY
cli::Expression::Operation::ADD
@ ADD
cli::Expression::Operation::LOGICAL_AND
@ LOGICAL_AND
cli::Expression::Operation::MOD
@ MOD
cli::Expression::Operation::COMPARE_INEQUALITY
@ COMPARE_INEQUALITY
abstraction
Definition:
AlgorithmAbstraction.hpp:11
cli
Definition:
Arg.h:11
std
Definition:
FordFulkerson.hpp:16
Generated on Mon Dec 27 2021 10:21:52 for Algorithms Library Toolkit by
1.9.2