Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
QuitCommand.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <ast/Command.h>
10#include <ast/Expression.h>
11
12namespace cli {
13
14class QuitCommand : public Command {
15 std::unique_ptr < Expression > m_expr;
16
17public:
18 QuitCommand ( std::unique_ptr < Expression > expr ) : m_expr ( std::move ( expr ) ) {
19 }
20
21 CommandResult run ( Environment & environment ) const override {
22 if ( m_expr )
23 environment.setResult ( m_expr->translateAndEval ( environment ) );
24
26 }
27};
28
29} /* namespace cli */
30
Definition: Command.h:14
Definition: Environment.h:29
void setResult(std::shared_ptr< abstraction::Value > value)
Definition: Environment.h:101
Definition: QuitCommand.h:14
QuitCommand(std::unique_ptr< Expression > expr)
Definition: QuitCommand.h:18
CommandResult run(Environment &environment) const override
Definition: QuitCommand.h:21
Definition: Arg.h:11
CommandResult
Definition: CommandResult.h:10
Definition: FordFulkerson.hpp:16