|
fastdo
0.6.16
|
表达式操作符 更多...
#include <eienexpr.hpp>


Public 类型 | |
| typedef bool(* | OperatorFunction) (Expression const *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 override |
| 克隆一个atom 更多... | |
| virtual winux::String | toString () const override |
| 字符串形式输出 更多... | |
| 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 const *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 const *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 |
|
static |
仅是文本上判断是否有解析为操作符的可能性
|
overridevirtual |
克隆一个atom
实现了 eienexpr::ExprAtom.
|
overridevirtual |
字符串形式输出
实现了 eienexpr::ExprAtom.
| 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 第 109 行定义.
|
inline |
在文件 eienexpr.hpp 第 110 行定义.
|
inline |
在文件 eienexpr.hpp 第 111 行定义.
|
inline |
判断两个算符是否相同
在文件 eienexpr.hpp 第 114 行定义.
|
inline |
判断两个算符是否结合性和优先级都相同
在文件 eienexpr.hpp 第 126 行定义.
|
friend |
在文件 eienexpr.hpp 第 135 行定义.
|
friend |
在文件 eienexpr.hpp 第 136 行定义.
|
friend |
在文件 eienexpr.hpp 第 137 行定义.
|
protected |
在文件 eienexpr.hpp 第 129 行定义.
|
protected |
在文件 eienexpr.hpp 第 130 行定义.
|
protected |
在文件 eienexpr.hpp 第 131 行定义.
|
protected |
在文件 eienexpr.hpp 第 132 行定义.
|
protected |
在文件 eienexpr.hpp 第 133 行定义.