Colobot
|
Any expression with two operands. More...
#include <CBotTwoOpExpr.h>
Public Member Functions | |
bool | Execute (CBotStack *&pStack) override |
Execute Performes the operation on two operands. More... | |
void | RestoreState (CBotStack *&pj, bool bMain) override |
RestoreState. More... | |
![]() | |
CBotInstr () | |
Constructor. More... | |
virtual | ~CBotInstr () |
Destructor. More... | |
virtual bool | Execute (CBotStack *&pj, CBotVar *pVar) |
Execute. More... | |
virtual bool | ExecuteVar (CBotVar *&pVar, CBotCStack *&pile) |
ExecuteVar. More... | |
virtual bool | ExecuteVar (CBotVar *&pVar, CBotStack *&pile, CBotToken *prevToken, bool bStep, bool bExtend) |
ExecuteVar. More... | |
virtual void | RestoreStateVar (CBotStack *&pile, bool bMain) |
RestoreStateVar. More... | |
virtual bool | CompCase (CBotStack *&pj, int val) |
CompCase This routine is defined only for the subclass CBotCase this allows to make the call on all instructions CompCase to see if it's a case to the desired value.. More... | |
void | SetToken (CBotToken *p) |
SetToken Set the token corresponding to the instruction. More... | |
int | GetTokenType () |
GetTokenType Return the type of the token assicated with the instruction. More... | |
CBotToken * | GetToken () |
GetToken Return associated token. More... | |
void | AddNext (CBotInstr *n) |
AddNext Adds the statement following the other. More... | |
CBotInstr * | GetNext () |
GetNext Returns next statement. More... | |
void | AddNext3 (CBotInstr *n) |
AddNext3. More... | |
CBotInstr * | GetNext3 () |
GetNext3. More... | |
void | AddNext3b (CBotInstr *n) |
AddNext3b. More... | |
CBotInstr * | GetNext3b () |
GetNext3b. More... | |
Static Public Member Functions | |
static CBotInstr * | Compile (CBotToken *&p, CBotCStack *pStack, int *pOperations=nullptr) |
Compiles CBotTwoOpExpr or CBotLogicExpr. More... | |
![]() | |
static CBotInstr * | Compile (CBotToken *&p, CBotCStack *pStack) |
Compile an instruction. More... | |
static CBotInstr * | CompileArray (CBotToken *&p, CBotCStack *pStack, CBotTypResult type, bool first=true) |
CompileArray. More... | |
static void | IncLvl (std::string &label) |
IncLvl Adds a level with a label. More... | |
static void | IncLvl () |
IncLvl Adds a level (switch statement). More... | |
static void | DecLvl () |
DecLvl Free a level. More... | |
static bool | ChkLvl (const std::string &label, int type) |
ChkLvl Control validity of break and continue. More... | |
Protected Member Functions | |
virtual const std::string | GetDebugName () override |
Returns the name of this class. More... | |
virtual std::string | GetDebugData () override |
Returns additional data associated with this instruction for debugging purposes. More... | |
virtual std::map< std::string, CBotInstr * > | GetDebugLinks () override |
Additional Inherited Members | |
![]() | |
CBotToken | m_token |
Keeps the token. More... | |
CBotInstr * | m_next |
Linked command. More... | |
CBotInstr * | m_next2b |
Second list definition chain. More... | |
CBotInstr * | m_next3 |
Third list for indices and fields. More... | |
CBotInstr * | m_next3b |
Necessary for reporting tables. More... | |
![]() | |
static int | m_LoopLvl = 0 |
Counter of nested loops, to determine the break and continue valid. More... | |
Any expression with two operands.
Examples:
This table is sorted by operator precedence
Operator |
---|
** |
*, /, % |
+, - |
<<, >>, >>> |
>, <, >=, <= |
==, != |
& |
^ |
| |
&&, and |
||, or |
a ? b : c (special, see CBotLogicExpr) |
|
static |
|
overridevirtual |
Execute Performes the operation on two operands.
pStack |
Reimplemented from CBot::CBotInstr.
|
overridevirtual |
|
inlineoverrideprotectedvirtual |
|
overrideprotectedvirtual |
Returns additional data associated with this instruction for debugging purposes.
Reimplemented from CBot::CBotInstr.
|
overrideprotectedvirtual |
Returns a map of all instructions connected with this one
Reimplemented from CBot::CBotInstr.