29 #ifndef MU_PARSER_BYTECODE_H
30 #define MU_PARSER_BYTECODE_H
95 typedef std::vector<SToken> rpn_type;
98 typedef std::vector<string_type> stringbuf_type;
101 unsigned m_iStackPos;
104 stringbuf_type m_stringBuffer;
110 std::size_t m_iMaxStackSize;
115 bool m_bEnableOptimizer;
117 void ConstantFolding(
ECmdCode a_Oprt);
135 void EnableOptimizer(
bool bStat);
139 std::size_t GetMaxStackSize()
const;
141 std::size_t GetSize()
const
143 return m_vRPN.size();
146 inline const SToken* GetBase()
const
148 if (m_vRPN.size() == 0)
154 void StoreEnvironment(
string_type expr, stringbuf_type
const& strBuf)
156 m_stringBuffer = strBuf;
160 std::tuple<string_type, stringbuf_type> RestoreEnvironment()
const
162 return std::make_tuple(m_expr, m_stringBuffer);
165 void AsciiDump()
const;
Internal error of any kind.
Error class of the parser.
MUP_BASETYPE value_type
The numeric datatype used by the parser.
Namespace for mathematical applications.
Bytecode implementation of the Math Parser.
MUP_STRING_TYPE string_type
The stringtype used by the parser.
This file contains the parser token definition.
This file defines the error class used by the parser.
This file contains standard definitions used by the parser.