🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ScriptAPI.cpp 文件参考
#include "ScriptAPI.hpp"
#include "AstScript/AllHeaders.hpp"
#include "AstUtil/SharedPtr.hpp"
#include "AstUtil/Quantity.hpp"

命名空间

namespace  ast
 

函数

Variableast::aNewVariable (StringView name, Expr *expr=nullptr, bool bind=false)
 
Variableast::aNewVariable (Expr *expr, bool bind)
 
Symbolast::aNewSymbol (StringView name)
 
Exprast::aNewOpAssign (EOpAssignType op, Expr *left, Expr *right)
 
Exprast::aNewOpBin (EOpBinType op, Expr *left, Expr *right)
 
Exprast::aNewOpUnary (EOpUnaryType op, Expr *expr)
 
Exprast::aNewExprCondition (Expr *condition, Expr *thenExpr, Expr *elseExpr=nullptr)
 
Exprast::aNewExprRange (Expr *start, Expr *stop, Expr *step=nullptr)
 
Valueast::aNewValueString (StringView value)
 
Valueast::aNewValueInt (int value)
 
Valueast::aNewValueBool (bool value)
 
Valueast::aNewValueDouble (double value)
 
Valueast::aNewValueQuantity (const Quantity &value)
 
Valueast::aValueNull ()
 
Exprast::aParseExpr (StringView script)
 
Valueast::aEval (StringView script)
 
Valueast::aEvalExpr (Expr *expr)
 
bool ast::aValueIsBool (Value *value)
 
bool ast::aValueIsDouble (Value *value)
 
bool ast::aValueIsInt (Value *value)
 
bool ast::aValueIsArithmetic (Value *value)
 
bool ast::aValueIsQuantity (Value *value)
 
double ast::aValueToDouble (Value *value)
 
bool ast::aValueUnboxBool (Value *value)
 
double ast::aValueUnboxDouble (Value *value)
 
int ast::aValueUnboxInt (Value *value)
 
Quantity ast::aValueUnboxQuantity (Value *value)
 
std::string ast::aFormatExpr (Expr *expr, Object *context=nullptr)
 
OpBinFunc ast::aGetOpBinFunc (EOpBinType op, Class *leftType, Class *rightType)
 
OpAssignFunc ast::aGetOpAssignFunc (EOpAssignType op, Class *leftType, Class *rightType)
 
Valueast::aDoOpUnary (EOpUnaryType op, Value *value)
 
Valueast::aDoOpAssign (EOpAssignType op, Expr *left, Expr *right)
 
OpUnaryFunc ast::aGetOpUnaryFunc (EOpUnaryType op, Class *type)
 
IterateFunc ast::aGetIterateFunc (Class *type)
 
Valueast::aDoOpBin (EOpBinType op, Value *left, Value *right)
 
Valueast::aIterateBegin (Value *container, int &index)
 
Valueast::aIterateNext (Value *container, int &index)
 

详细描述

~

~

作者
axel
日期
2025-12-19

ast项目(https://github.com/space-ast/ast) 本项目基于 Apache 2.0 开源许可证分发。 您可在遵守许可证条款的前提下使用、修改和分发本软件。 许可证全文请见:

http://www.apache.org/licenses/LICENSE-2.0

重要须知: 软件按"现有状态"提供,无任何明示或暗示的担保条件。 除非法律要求或书面同意,作者与贡献者不承担任何责任。 使用本软件所产生的风险,需由您自行承担。