Move Tokenizer/Token into ExpressionParser's namespace.
This commit is contained in:
parent
03289a339c
commit
55751d083a
@ -14,8 +14,6 @@
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class Tokenizer;
|
||||
|
||||
class ParseException {
|
||||
public:
|
||||
ParseException(const char* message, int32 position)
|
||||
@ -35,10 +33,10 @@ class ParseException {
|
||||
};
|
||||
|
||||
struct Function;
|
||||
struct Token;
|
||||
class MAPM;
|
||||
|
||||
class ExpressionParser {
|
||||
|
||||
public:
|
||||
ExpressionParser();
|
||||
~ExpressionParser();
|
||||
@ -52,6 +50,10 @@ class ExpressionParser {
|
||||
int64 EvaluateToInt64(const char* expressionString);
|
||||
double EvaluateToDouble(const char* expressionString);
|
||||
|
||||
private:
|
||||
struct Token;
|
||||
class Tokenizer;
|
||||
|
||||
private:
|
||||
MAPM _ParseBinary();
|
||||
MAPM _ParseSum();
|
||||
|
@ -47,7 +47,7 @@ enum {
|
||||
TOKEN_END_OF_LINE
|
||||
};
|
||||
|
||||
struct Token {
|
||||
struct ExpressionParser::Token {
|
||||
Token()
|
||||
: string(""),
|
||||
type(TOKEN_NONE),
|
||||
@ -89,7 +89,7 @@ struct Token {
|
||||
};
|
||||
|
||||
|
||||
class Tokenizer {
|
||||
class ExpressionParser::Tokenizer {
|
||||
public:
|
||||
Tokenizer()
|
||||
: fString(""),
|
||||
@ -594,7 +594,7 @@ ExpressionParser::_ParseFunction(const Token& token)
|
||||
if (strcmp("e", token.string.String()) == 0)
|
||||
return _ParseFactorial(MAPM(MM_E));
|
||||
else if (strcasecmp("pi", token.string.String()) == 0
|
||||
|| ((unsigned char)token.string.String()[0] == 0xCF
|
||||
|| ((unsigned char)token.string.String()[0] == 0xCF
|
||||
&& (unsigned char)token.string.String()[1] == 0x80)) {
|
||||
// UTF-8 small greek letter PI
|
||||
return _ParseFactorial(MAPM(MM_PI));
|
||||
|
Loading…
x
Reference in New Issue
Block a user