A simple scripting language in C++
Ferenc Szontágh
2025-04-19 bc2e09a3b7a4e414814b56be71ec5c540b8eb4d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef LITERAL_EXPRESSION_NODE_HPP
#define LITERAL_EXPRESSION_NODE_HPP
 
#include "ExpressionNode.hpp"
#include "Symbols/Value.hpp"
 
namespace Interpreter {
 
class LiteralExpressionNode : public ExpressionNode {
    Symbols::Value value_;
 
  public:
    explicit LiteralExpressionNode(Symbols::Value value) : value_(std::move(value)) {}
 
    Symbols::Value evaluate(class Interpreter & /*interpreter*/) const override { return value_; }
 
    const Symbols::Value & value() const { return value_; }
 
    // to string
    std::string toString() const override { return Symbols::Value::to_string(value_); }
};
 
}  // namespace Interpreter
 
#endif  // LITERAL_EXPRESSION_NODE_HPP