|
| AsmExpression (const AsmSourcePos &pos, size_t symOccursNum, bool relativeSymOccurs, size_t opsNum, size_t opPosNum, size_t argsNum, bool baseExpr=false) |
| constructor of expression (helper)
|
|
| AsmExpression (const AsmSourcePos &pos, size_t symOccursNum, bool relativeSymOccurs, size_t opsNum, const AsmExprOp *ops, size_t opPosNum, const LineCol *opPos, size_t argsNum, const AsmExprArg *args, bool baseExpr=false) |
| constructor of expression (helper)
|
|
| ~AsmExpression () |
| destructor
|
|
bool | isEmpty () const |
| return true if expression is empty
|
|
AsmExpression * | createForSnapshot (const AsmSourcePos *exprSourcePos) const |
| helper to create symbol snapshot. Creates initial expression for symbol snapshot
|
|
void | setTarget (AsmExprTarget _target) |
| set target of expression
|
|
bool | evaluate (Assembler &assembler, uint64_t &value, cxuint §ionId) const |
| try to evaluate expression More...
|
|
bool | evaluate (Assembler &assembler, size_t opStart, size_t opEnd, uint64_t &value, cxuint §ionId) const |
| try to evaluate expression More...
|
|
const AsmExprTarget & | getTarget () const |
| get targer of expression
|
|
size_t | getSymOccursNum () const |
| get number of symbol occurrences in expression
|
|
size_t | hasRelativeSymOccurs () const |
| get number of symbol occurrences in expression
|
|
bool | unrefSymOccursNum () |
| unreference symbol occurrences in expression (used internally)
|
|
void | substituteOccurrence (AsmExprSymbolOccurrence occurrence, uint64_t value, cxuint sectionId=ASMSECT_ABS) |
| substitute occurrence in expression by value
|
|
const Array< AsmExprOp > & | getOps () const |
| get operators list
|
|
const AsmExprArg * | getArgs () const |
| get argument list
|
|
const AsmSourcePos & | getSourcePos () const |
| get source position
|
|
size_t | toTop (size_t opIndex) const |
|
Public Member Functions inherited from CLRX::NonCopyableAndNonMovable |
| NonCopyableAndNonMovable () |
| constructor
|
|
| NonCopyableAndNonMovable (const NonCopyableAndNonMovable &)=delete |
| copy-constructor
|
|
| NonCopyableAndNonMovable (NonCopyableAndNonMovable &&)=delete |
| move-constructor
|
|
NonCopyableAndNonMovable & | operator= (const NonCopyableAndNonMovable &)=delete |
| copy-assignment
|
|
NonCopyableAndNonMovable & | operator= (NonCopyableAndNonMovable &&)=delete |
| move-asignment
|
|
|
static AsmExpression * | parse (Assembler &assembler, size_t &linePos, bool makeBase=false, bool dontResolveSymbolsLater=false) |
| parse expression. By default, also gets values of symbol or creates them More...
|
|
static AsmExpression * | parse (Assembler &assembler, const char *&linePtr, bool makeBase=false, bool dontResolveSymbolsLater=false) |
| parse expression. By default, also gets values of symbol or creates them More...
|
|
static bool | isArg (AsmExprOp op) |
| return true if is argument op
|
|
static bool | isUnaryOp (AsmExprOp op) |
| return true if is unary op
|
|
static bool | isBinaryOp (AsmExprOp op) |
| return true if is binary op
|
|
static bool | makeSymbolSnapshot (Assembler &assembler, const AsmSymbolEntry &symEntry, AsmSymbolEntry *&outSymEntry, const AsmSourcePos *parentExprSourcePos) |
| make symbol snapshot (required to implement .eqv pseudo-op)
|
|
assembler expression class