🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::Expr类 参考abstract

#include <Expr.hpp>

+ 类 ast::Expr 继承关系图:

Public 成员函数

virtual void accept (ExprVisitor &visitor)=0
 
virtual Valueeval () const =0
 
virtual Exprexec () const
 
virtual errc_t setValue (Value *val)
 
virtual std::string getExpression (Object *context=nullptr) const =0
 
 Object ()
 
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
 Object (const Object &obj)
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
virtual ClassgetType () const
 
virtual const std::string & getName () const
 
errc_t openEditDialog ()
 
Attribute attr (StringView path)
 
errc_t getAttrBool (StringView path, bool &value) const
 
errc_t getAttrInt (StringView path, int &value) const
 
errc_t getAttrDouble (StringView path, double &value) const
 
errc_t getAttrString (StringView path, std::string &value) const
 
double getAttrDouble (StringView path) const
 
int getAttrInt (StringView path) const
 
bool getAttrBool (StringView path) const
 
std::string getAttrString (StringView path) const
 
errc_t setAttrBool (StringView path, bool value)
 
errc_t setAttrInt (StringView path, int value)
 
errc_t setAttrDouble (StringView path, double value)
 
errc_t setAttrString (StringView path, StringView value)
 
Classtype () const
 
PropertygetProperty (StringView fieldName) const
 
uint32_t getID () const
 
errc_t setParentScope (Object *parentScope)
 
ObjectgetParentScope () const
 
uint32_t refCount () const
 
uint32_t weakRefCount () const
 
bool isDestructed () const
 
void destruct ()
 
uint32_t incWeakRef ()
 
uint32_t decWeakRef ()
 
uint32_t incRef ()
 
uint32_t decRef ()
 
uint32_t decRefNoDelete ()
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 ast::Object
static ClassgetStaticType ()
 
- 静态 Public 属性 继承自 ast::Object
static Class staticType
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &obj)
 
Objectoperator= (const Object &obj)
 

详细描述

表达式基类

表达式是脚本语言中的基本构造单元,可以是常量、变量、运算符表达式、函数调用等 不同类型的表达式通过继承自Expr类来实现多态行为 表达式可以嵌套组合,形成复杂的计算逻辑 表达式的特点是“可以求值”,即每个表达式在求值后都会产生一个结果值

成员函数说明

◆ accept()

virtual void ast::Expr::accept ( ExprVisitor & visitor)
pure virtual

接受表达式访问者

参数
visitor表达式访问者对象

◆ eval()

◆ exec()

virtual Expr * ast::Expr::exec ( ) const
inlinevirtual

执行

这个方法可能用于脚本的解析期

返回
Expr* 执行结果

ast::Symbol 重载.

◆ getExpression()

virtual std::string ast::Expr::getExpression ( Object * context = nullptr) const
pure virtual

◆ setValue()

virtual errc_t ast::Expr::setValue ( Value * val)
inlinevirtual

该类的文档由以下文件生成: