fastdo
0.6.8
|
表达式操作符 更多...
#include <eienexpr.hpp>
Public 类型 | |
typedef bool(* | OperatorFunction) (Expression *e, ExprOperand *arOperands[], short n, winux::SimplePointer< ExprOperand > *outRetValue, void *data) |
Public 类型 继承自 eienexpr::ExprAtom | |
enum | ExprAtomType { eatOperator, eatOperand } |
Public 成员函数 | |
ExprOperator (winux::String const &oprStr="", bool isUnary=false, bool isRight=false, short level=0, OperatorFunction oprFn=NULL) | |
virtual | ~ExprOperator () |
virtual ExprAtom * | clone () const |
克隆一个atom 更多... | |
virtual winux::String | toString () const |
字符串形式输出 更多... | |
int | nexus (ExprOperator const &opr) const |
操作符优先关系(低于:-1, 高于:1, 错误:-2) 更多... | |
bool | isUnary () const |
bool | isRight () const |
winux::String const & | getStr () const |
bool | operator== (ExprOperator const &opr) const |
判断两个算符是否相同 更多... | |
bool | isSameLevel (ExprOperator const &opr) const |
判断两个算符是否结合性和优先级都相同 更多... | |
Public 成员函数 继承自 eienexpr::ExprAtom | |
ExprAtom () | |
virtual | ~ExprAtom () |
ExprAtomType | getAtomType () const |
原子类型 更多... | |
静态 Public 成员函数 | |
static bool | Possibility (ExprPackage *package, winux::String const &str) |
仅是文本上判断是否有解析为操作符的可能性 更多... | |
Protected 属性 | |
winux::String | _oprStr |
bool | _isUnary |
short | _level |
bool | _isRight |
OperatorFunction | _oprFn |
Protected 属性 继承自 eienexpr::ExprAtom | |
ExprAtomType | _atomType |
友元 | |
class | Expression |
class | ExprPackage |
class | ExprParser |
表达式操作符
在文件 eienexpr.hpp 第 88 行定义.
typedef bool(* eienexpr::ExprOperator::OperatorFunction) (Expression *e, ExprOperand *arOperands[], short n, winux::SimplePointer< ExprOperand > *outRetValue, void *data) |
在文件 eienexpr.hpp 第 92 行定义.
eienexpr::ExprOperator::ExprOperator | ( | winux::String const & | oprStr = "" , |
bool | isUnary = false , |
||
bool | isRight = false , |
||
short | level = 0 , |
||
OperatorFunction | oprFn = NULL |
||
) |
|
virtual |
|
virtual |
克隆一个atom
实现了 eienexpr::ExprAtom.
|
inline |
在文件 eienexpr.hpp 第 111 行定义.
|
inline |
在文件 eienexpr.hpp 第 110 行定义.
|
inline |
判断两个算符是否结合性和优先级都相同
在文件 eienexpr.hpp 第 126 行定义.
|
inline |
在文件 eienexpr.hpp 第 109 行定义.
int eienexpr::ExprOperator::nexus | ( | ExprOperator const & | opr | ) | const |
操作符优先关系(低于:-1, 高于:1, 错误:-2)
看优先级别,如果本算符级别大于opr算符级别,则返回1,小于则返回-1 (以opr算符在本算符左边为依据: a opr b this_opr c
)若相同,则看opr的结合性,左结合返回-1,右结合返回1
|
inline |
判断两个算符是否相同
在文件 eienexpr.hpp 第 114 行定义.
|
static |
仅是文本上判断是否有解析为操作符的可能性
|
virtual |
字符串形式输出
实现了 eienexpr::ExprAtom.
|
friend |
在文件 eienexpr.hpp 第 135 行定义.
|
friend |
在文件 eienexpr.hpp 第 136 行定义.
|
friend |
在文件 eienexpr.hpp 第 137 行定义.
|
protected |
在文件 eienexpr.hpp 第 132 行定义.
|
protected |
在文件 eienexpr.hpp 第 130 行定义.
|
protected |
在文件 eienexpr.hpp 第 131 行定义.
|
protected |
在文件 eienexpr.hpp 第 133 行定义.
|
protected |
在文件 eienexpr.hpp 第 129 行定义.