mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-12-13 08:26:36 +00:00
22 lines
805 B
C++
22 lines
805 B
C++
#pragma once
|
|
|
|
#include "../base/basictypes.h"
|
|
#include <vector>
|
|
|
|
typedef std::pair<uint32,uint32> ExpressionPair;
|
|
typedef std::vector<ExpressionPair> PostfixExpression;
|
|
|
|
class IExpressionFunctions
|
|
{
|
|
public:
|
|
virtual bool parseReference(char* str, uint32& referenceIndex) = 0;
|
|
virtual bool parseSymbol(char* str, uint32& symbolValue) = 0;
|
|
virtual uint32 getReferenceValue(uint32 referenceIndex) = 0;
|
|
virtual bool getMemoryValue(uint32 address, int size, uint32& dest, char* error) = 0;
|
|
};
|
|
|
|
bool initPostfixExpression(const char* infix, IExpressionFunctions* funcs, PostfixExpression& dest);
|
|
bool parsePostfixExpression(PostfixExpression& exp, IExpressionFunctions* funcs, uint32& dest);
|
|
bool parseExpression(const char* exp, IExpressionFunctions* funcs, uint32& dest);
|
|
const char* getExpressionError();
|