33#define DEPTH_LIMIT 1024
81 throw std::range_error(
"parser depth limit");
100 virtual std::unique_ptr<SmTableNode>
Parse(
const OUString& rBuffer) = 0;
virtual const SmErrorDesc * NextError()=0
virtual bool IsImportSymbolNames() const =0
virtual const std::set< OUString > & GetUsedSymbols() const =0
virtual ~AbstractSmParser()
virtual void SetExportSymbolNames(bool bVal)=0
virtual const SmErrorDesc * GetError() const =0
virtual void SetImportSymbolNames(bool bVal)=0
virtual std::unique_ptr< SmTableNode > Parse(const OUString &rBuffer)=0
Parse rBuffer to formula tree.
virtual bool IsExportSymbolNames() const =0
virtual const SmErrorDesc * PrevError()=0
virtual std::unique_ptr< SmNode > ParseExpression(const OUString &rBuffer)=0
Parse rBuffer to formula subtree that constitutes an expression.
virtual const OUString & GetText() const =0
DepthProtect(sal_Int32 &rParseDepth)
sal_Int32 & m_rParseDepth
Parses the starmath code and creates the nodes.
const TranslateId SmParseErrorDesc[16]
OUString getParseErrorDesc(SmParseError err)
#define DEPTH_LIMIT
Parses the starmath code and creates the nodes.
SmErrorDesc(SmParseError eType, SmNode *pNode, OUString aText)