本文整理汇总了C++中CBotInstr::GetToken方法的典型用法代码示例。如果您正苦于以下问题:C++ CBotInstr::GetToken方法的具体用法?C++ CBotInstr::GetToken怎么用?C++ CBotInstr::GetToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBotInstr
的用法示例。
在下文中一共展示了CBotInstr::GetToken方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRunPos
void CBotStack::GetRunPos(const char* &FunctionName, int &start, int &end)
{
CBotProgram* prog = m_prog; // Current program
CBotInstr* funct = NULL; // function found
CBotInstr* instr = NULL; // the highest intruction
CBotStack* p = this;
while (p->m_next != NULL)
{
if ( p->m_instr != NULL ) instr = p->m_instr;
if ( p->m_bFunc == 1 ) funct = p->m_instr;
if ( p->m_next->m_prog != prog ) break ;
if (p->m_next2 && p->m_next2->m_state != 0) p = p->m_next2 ;
else p = p->m_next;
}
if ( p->m_instr != NULL ) instr = p->m_instr;
if ( p->m_bFunc == 1 ) funct = p->m_instr;
if ( funct == NULL ) return;
CBotToken* t = funct->GetToken();
FunctionName = t->GetString();
// if ( p->m_instr != NULL ) instr = p->m_instr;
t = instr->GetToken();
start = t->GetStart();
end = t->GetEnd();
}
示例2: Execute
bool CBotListArray::Execute(CBotStack* &pj, CBotVar* pVar)
{
CBotStack* pile1 = pj->AddStack();
CBotVar* pVar2;
CBotInstr* p = m_expr;
int n = 0;
for (; p != nullptr ; n++, p = p->GetNext3b())
{
if (pile1->GetState() > n) continue;
pVar2 = pVar->GetItem(n, true);
if (pVar2 == nullptr)
{
pj->SetError(CBotErrOutArray, p->GetToken());
return false;
}
CBotTypResult type = pVar2->GetTypResult();
if (!p->Execute(pile1, pVar2)) return false; // evaluate expression
if (type.Eq(CBotTypPointer)) pVar2->SetType(type); // keep pointer type
pile1->IncState();
}
return pj->Return(pile1);
}