diff --git a/poincare/src/parsing/parser.cpp b/poincare/src/parsing/parser.cpp index f30d1bee5..efb6895fc 100644 --- a/poincare/src/parsing/parser.cpp +++ b/poincare/src/parsing/parser.cpp @@ -13,6 +13,13 @@ Expression Parser::parse() { return Expression(); } +bool Parser::IsReservedName(const char * name, size_t nameLength, const Expression::FunctionHelper * const * * functionHelper) { + return IsReservedFunctionName(name, nameLength, functionHelper) + || IsSpecialIdentifierName(name, nameLength); +} + +// Private + bool Parser::IsReservedFunctionName(const char * name, size_t nameLength, const Expression::FunctionHelper * const * * functionHelper) { const Expression::FunctionHelper * const * reservedFunction = &s_reservedFunctions[0]; assert(reservedFunction < s_reservedFunctionsUpperBound); diff --git a/poincare/src/parsing/parser.h b/poincare/src/parsing/parser.h index 529e42ec4..3c0f3cdf9 100644 --- a/poincare/src/parsing/parser.h +++ b/poincare/src/parsing/parser.h @@ -30,10 +30,12 @@ public: Expression parse(); Status getStatus() const { return m_status; } + static bool IsReservedName(const char * name, size_t nameLength, const Expression::FunctionHelper * const * * functionHelper = nullptr); + +private: static bool IsReservedFunctionName(const char * name, size_t nameLength, const Expression::FunctionHelper * const * * functionHelper = nullptr); static bool IsSpecialIdentifierName(const char * name, size_t nameLength); -private: Expression parseUntil(Token::Type stoppingType); // Methods on Tokens