mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-30 04:00:02 +02:00
[poincare] Parser composes over Tokenizer instead of inherting from it
This commit is contained in:
committed by
Émilie Feral
parent
06fda37e2b
commit
2e88df876b
@@ -144,7 +144,7 @@ bool Parser::canPopToken(Token::Type stoppingType) {
|
||||
}
|
||||
if (comparePrecedence(m_nextToken.type(), stoppingType)) {
|
||||
m_currentToken = m_nextToken;
|
||||
m_nextToken = popToken();
|
||||
m_nextToken = m_tokenizer.popToken();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
|
||||
namespace Poincare {
|
||||
|
||||
class Parser : public Tokenizer {
|
||||
class Parser {
|
||||
public:
|
||||
Parser(const char * input) :
|
||||
Tokenizer(input),
|
||||
m_tokenizer(input),
|
||||
m_currentToken(Token(Token::Type::Undefined)),
|
||||
m_nextToken(popToken()) {}
|
||||
m_nextToken(m_tokenizer.popToken()) {}
|
||||
Expression parse();
|
||||
|
||||
Expression parseNumber(Expression leftHandSide);
|
||||
@@ -43,6 +43,7 @@ private:
|
||||
Expression parseUntil(Token::Type stoppingType);
|
||||
bool canPopToken(Token::Type stoppingType);
|
||||
|
||||
Tokenizer m_tokenizer;
|
||||
Token m_currentToken;
|
||||
Token m_nextToken;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user