fastdo
0.6.8
|
表达式操作数 更多...
#include <eienexpr.hpp>
Public 类型 | |
enum | ExprOperandType { eotLiteral, eotIdentifier, eotReference, eotFunction, eotExpression } |
Public 类型 继承自 eienexpr::ExprAtom | |
enum | ExprAtomType { eatOperator, eatOperand } |
Public 成员函数 | |
ExprOperand () | |
virtual | ~ExprOperand () |
virtual bool | evaluate (winux::SimplePointer< ExprOperand > *result)=0 |
计算,结果不一定是值,还可以是其他操作数 更多... | |
winux::Mixed | val () |
把操作数计算成可用的值,如果不能算,则抛出异常 更多... | |
bool | evaluateMixedPtr (winux::Mixed **ppv) |
计算,直到结果是指定的操作数或Literal。 更多... | |
ExprOperandType | getOperandType () const |
取得操作数类型 更多... | |
Public 成员函数 继承自 eienexpr::ExprAtom | |
ExprAtom () | |
virtual | ~ExprAtom () |
ExprAtomType | getAtomType () const |
原子类型 更多... | |
virtual ExprAtom * | clone () const =0 |
克隆一个atom 更多... | |
virtual winux::String | toString () const =0 |
字符串形式输出 更多... | |
Protected 属性 | |
ExprOperandType | _operandType |
Protected 属性 继承自 eienexpr::ExprAtom | |
ExprAtomType | _atomType |
友元 | |
class | ExprParser |
表达式操作数
在文件 eienexpr.hpp 第 141 行定义.
枚举值 | |
---|---|
eotLiteral |
普通的字面值 |
eotIdentifier |
标识符(变量) |
eotReference |
内部引用 |
eotFunction |
函数 |
eotExpression |
子表达式 |
在文件 eienexpr.hpp 第 144 行定义.
eienexpr::ExprOperand::ExprOperand | ( | ) |
|
virtual |
|
pure virtual |
计算,结果不一定是值,还可以是其他操作数
在 eienexpr::Expression, eienexpr::ExprFunc, eienexpr::ExprReference, eienexpr::ExprIdentifier , 以及 eienexpr::ExprLiteral 内被实现.
bool eienexpr::ExprOperand::evaluateMixedPtr | ( | winux::Mixed ** | ppv | ) |
计算,直到结果是指定的操作数或Literal。
计算到遇到Literal为止。 如果types[]不指定类型,则计算到Literal就返回true。 如果types[]指定类型,则计算到指定类型就返回true,否则返回false。 计算失败返回false。 求值取得Reference或Identifier,获取内部的Mixed指针
ExprOperandType eienexpr::ExprOperand::getOperandType | ( | ) | const |
取得操作数类型
winux::Mixed eienexpr::ExprOperand::val | ( | ) |
把操作数计算成可用的值,如果不能算,则抛出异常
|
friend |
在文件 eienexpr.hpp 第 177 行定义.
|
protected |
在文件 eienexpr.hpp 第 175 行定义.