Move Tokenizer/Token into ExpressionParser's namespace.

This commit is contained in:
Rene Gollent 2012-12-18 21:31:43 -05:00
parent 03289a339c
commit 55751d083a
2 changed files with 8 additions and 6 deletions

View File

@ -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();

View File

@ -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));