Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
SingleStatement.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <ast/Statement.h>
9#include <registry/Registry.h>
11
12namespace cli {
13
14class SingleStatement final : public Statement {
15 std::unique_ptr < cli::Arg > m_name;
18 std::unique_ptr < CategoryOption > m_category;
19
20public:
21 SingleStatement ( std::unique_ptr < cli::Arg > name, ext::vector < std::unique_ptr < cli::Arg > > templateParams, ext::vector < std::shared_ptr < Statement > > params, std::unique_ptr < CategoryOption > category );
22
23 std::shared_ptr < abstraction::Value > translateAndEval ( const std::shared_ptr < abstraction::Value > & prev, Environment & environment ) const override;
24
25};
26
27} /* namespace cli */
28
Definition: Environment.h:29
Definition: SingleStatement.h:14
SingleStatement(std::unique_ptr< cli::Arg > name, ext::vector< std::unique_ptr< cli::Arg > > templateParams, ext::vector< std::shared_ptr< Statement > > params, std::unique_ptr< CategoryOption > category)
Definition: SingleStatement.cpp:13
std::shared_ptr< abstraction::Value > translateAndEval(const std::shared_ptr< abstraction::Value > &prev, Environment &environment) const override
Definition: SingleStatement.cpp:16
Definition: Statement.h:14
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Definition: Arg.h:11