25#include "AstScript/Expr.hpp"
42 void visit(
Symbol& symbol)
override;
44 void visit(
ValNull& val)
override;
45 void visit(
ValInt& val)
override;
48 void visit(
ValBool& val)
override;
51 void visit(
ValDict& val)
override;
54 void visit(
OpBin& op)
override;
55 void visit(
OpUnary& op)
override;
57 void visit(
Macro& macro)
override;
60 void visit(
ExprIf& expr)
override;
71 void visit(
Expr& expr)
override;
73 Expr* takeResult() {
return result_.take();}
74 void setResult(
Expr* result) {result_ = result;}
76 void visitValue(
Value& value);
属性表达式
定义 ExprAttribute.hpp:36
代码块表达式
定义 ExprBlock.hpp:32
定义 ExprCalculation.hpp:46
函数调用表达式
定义 ExprCall.hpp:35
水平拼接表达式 (空格分隔),例如[a b c]、[1 2 3]
定义 ExprCatHorizontal.hpp:34
垂直拼接表达式 (换行或;分隔),例如[a; b; c]、[1; 2; 3]
定义 ExprCatVertical.hpp:34
条件表达式 (三元运算符 ? :)
定义 ExprCondition.hpp:33
定义 ExprExpandVisitor.hpp:37
for 循环表达式(范围风格)
定义 ExprLoop.hpp:87
if条件语句表达式
定义 ExprIf.hpp:35
宏展开表达式
定义 ExprMacroExpand.hpp:35
向量表达式,逗号分隔,例如 [1, 2, 3]、[a, b, c]
定义 ExprVector.hpp:36
表达式访问器
定义 ExprVisitor.hpp:62
while 循环表达式
定义 ExprLoop.hpp:44
赋值运算符表达式
定义 OpAssign.hpp:35
一元运算符表达式
定义 OpUnary.hpp:34
双精度浮点值
定义 ValDouble.hpp:31
命名向量值类
定义 ValNamedVector.hpp:37