Search Toolkit Book for mu::ParserByteCode
Bytecode implementation of the Math Parser. More...
#include <gui/utils/muparser/muParserBytecode.h>
Bytecode implementation of the Math Parser.
The bytecode contains the formula converted to revers polish notation stored in a continious memory area. Associated with this data are operator codes, variable pointers, constant values and function pointers. Those are necessary in order to calculate the result. All those data items will be casted to the underlying datatype of the bytecode.
Definition at line 55 of file muParserBytecode.h.
◆ map_typeUnderlying type of the container.
The bytecode is a vector of this type containing control codes, values and pointers. Values and pointer will be casted to this type before their storage.
Definition at line 64 of file muParserBytecode.h.
◆ storage_type ◆ token_type ◆ ParserByteCode() [1/2] mu::ParserByteCode::ParserByteCode ( ) ◆ ~ParserByteCode() mu::ParserByteCode::~ParserByteCode ( ) ◆ ParserByteCode() [2/2] ◆ AddAssignOp() void mu::ParserByteCode::AddAssignOp ( value_type * a_pVar ) ◆ AddFun() void mu::ParserByteCode::AddFun ( void * a_pFun, int a_iArgc ) ◆ AddOp() void mu::ParserByteCode::AddOp ( ECmdCode a_Oprt ) ◆ AddStrFun() void mu::ParserByteCode::AddStrFun ( void * a_pFun, int a_iArgc, int a_iIdx ) ◆ AddVal() void mu::ParserByteCode::AddVal ( value_type a_fVal ) ◆ AddVar() void mu::ParserByteCode::AddVar ( value_type * a_pVar ) ◆ AsciiDump() void mu::ParserByteCode::AsciiDump ( )Dump bytecode (for debugging only!).
Definition at line 318 of file muParserBytecode.cpp.
References mu::cmADD, mu::cmAND, mu::cmASSIGN, mu::cmDIV, mu::cmEND, mu::cmEQ, mu::cmFUNC, mu::cmFUNC_STR, mu::cmGE, mu::cmGT, mu::cmLE, mu::cmLT, mu::cmMUL, mu::cmNEQ, mu::cmOR, mu::cmPOW, mu::cmSUB, mu::cmVAL, mu::cmVAR, mu::cmXOR, hex(), i, int, m_vBase, max(), mc_iSizePtr, and mc_iSizeVal.
Referenced by mu::ParserBase::ParseString().
◆ Assign() ◆ clear() void mu::ParserByteCode::clear ( void ) ◆ Finalize() void mu::ParserByteCode::Finalize ( void ) ◆ GetBufSize() std::size_t mu::ParserByteCode::GetBufSize ( ) const ◆ GetPtrSize() unsigned mu::ParserByteCode::GetPtrSize ( ) const inline ◆ GetRawData() ◆ GetValSize() unsigned mu::ParserByteCode::GetValSize ( ) const inline ◆ operator=() ◆ RemoveValEntries() void mu::ParserByteCode::RemoveValEntries ( unsigned a_iNumber ) ◆ StorePtr() void mu::ParserByteCode::StorePtr ( void * a_pAddr ) private ◆ m_iStackPos unsigned mu::ParserByteCode::m_iStackPos private ◆ m_vBaseCore type of the bytecode.
Definition at line 78 of file muParserBytecode.h.
Referenced by AddAssignOp(), AddFun(), AddOp(), AddStrFun(), AddVal(), AddVar(), AsciiDump(), Assign(), clear(), Finalize(), GetBufSize(), GetRawData(), ParserByteCode(), RemoveValEntries(), and StorePtr().
◆ mc_iSizePtr const int mu::ParserByteCode::mc_iSizePtr private ◆ mc_iSizeVal const int mu::ParserByteCode::mc_iSizeVal private ◆ mc_iSizeValEntry const int mu::ParserByteCode::mc_iSizeValEntry privateA value entry requires that much entires in the bytecode.
Value entry consists of:
Definition at line 100 of file muParserBytecode.h.
Referenced by RemoveValEntries().
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4