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

#include <Interpreter.hpp>

Public 成员函数

 Interpreter (ISymbolScope *symbolScope)
 
ISymbolScopecurrentScope ()
 
void interpret (StringView code)
 
const std::string & errString () const
 
void setErrString (StringView err)
 
void clearErrString ()
 

Protected 属性

std::unique_ptr< ISymbolScopesymbolScope_
 
std::string errString_
 

详细描述

解释器

解释器用于解释执行脚本中的代码。

构造及析构函数说明

◆ Interpreter()

ast::Interpreter::Interpreter ( ISymbolScope * symbolScope)
explicit

构造函数,指定外部符号作用域

警告
该构造函数会获得symbolScope所有权,调用者无需释放symbolScope, 传入栈对象或共享对象将导致未定义行为
参数
symbolScope符号作用域指针(所有权转移)

成员函数说明

◆ clearErrString()

void ast::Interpreter::clearErrString ( )
inline

清除错误字符串

清除解释器执行代码时产生的错误字符串。

◆ currentScope()

ISymbolScope * ast::Interpreter::currentScope ( )
inline

获取当前作用域

当前作用域是解释器当前正在执行的代码所在的作用域。

返回
当前作用域

◆ errString()

const std::string & ast::Interpreter::errString ( ) const
inline

获取错误字符串

获取解释器执行代码时产生的错误字符串。

返回
错误字符串

◆ interpret()

void ast::Interpreter::interpret ( StringView code)

解释执行代码

解释执行代码时,会将代码解析为抽象语法树(AST), 并根据符号表和调用栈执行代码。

参数
code要解释执行的代码

< 解释器上下文守卫

◆ setErrString()

void ast::Interpreter::setErrString ( StringView err)
inline

设置错误字符串

设置解释器执行代码时产生的错误字符串。

参数
err错误字符串

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