\brief Add a bulk function to bytecode. \param a_iArgc Number of arguments, negative numbers indicate multiarg functions. \param a_pFun Pointer to function callback. */
| 451 | \param a_pFun Pointer to function callback. |
| 452 | */ |
| 453 | void ParserByteCode::AddBulkFun(generic_callable_type a_pFun, int a_iArgc) |
| 454 | { |
| 455 | m_iStackPos = m_iStackPos - a_iArgc + 1; |
| 456 | m_iMaxStackSize = std::max(m_iMaxStackSize, (size_t)m_iStackPos); |
| 457 | |
| 458 | SToken tok; |
| 459 | tok.Cmd = cmFUNC_BULK; |
| 460 | tok.Fun.argc = a_iArgc; |
| 461 | tok.Fun.cb = a_pFun; |
| 462 | m_vRPN.push_back(tok); |
| 463 | } |
| 464 | |
| 465 | |
| 466 | /** \brief Add Strung function entry to the parser bytecode. |