🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Symbol.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstScript/Expr.hpp"
25#include "AstUtil/StringView.hpp"
26#include <string>
27
28AST_NAMESPACE_BEGIN
29
30
34class Symbol: public Expr{
35public:
36 AST_EXPR(Symbol)
37
38 Symbol(StringView name)
39 : name_(name) {}
40
41 const std::string& name() const { return name_; }
42
43 std::string getExpression(Object* object) const override {
44 return name_;
45 }
46 Value* eval() const final;
47 Expr* exec() const final;
48 errc_t setValue(Value* value) final;
49private:
50 std::string name_;
51};
52
53AST_NAMESPACE_END
54
表达式基类
定义 Expr.hpp:39
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:81
符号表达式
定义 Symbol.hpp:34
std::string getExpression(Object *object) const override
获取表达式的字符串表示
定义 Symbol.hpp:43
值对象基类
定义 Value.hpp:36