From be075a82bf91b6af08dd5bd0ce768dae13d7f2d1 Mon Sep 17 00:00:00 2001 From: dc-dc-dc Date: Sun, 17 Dec 2023 21:44:54 -0500 Subject: [PATCH] small cleanup --- mlx/safetensor.cpp | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/mlx/safetensor.cpp b/mlx/safetensor.cpp index ae1139d7b..07296c592 100644 --- a/mlx/safetensor.cpp +++ b/mlx/safetensor.cpp @@ -18,23 +18,17 @@ Token Tokenizer::getToken() { } switch (nextChar) { case '{': - this->_loc++; - return Token{TOKEN::CURLY_OPEN}; + return Token{TOKEN::CURLY_OPEN, ++this->_loc}; case '}': - this->_loc++; - return Token{TOKEN::CURLY_CLOSE}; + return Token{TOKEN::CURLY_CLOSE, ++this->_loc}; case ':': - this->_loc++; - return Token{TOKEN::COLON}; + return Token{TOKEN::COLON, ++this->_loc}; case '[': - this->_loc++; - return Token{TOKEN::ARRAY_OPEN}; + return Token{TOKEN::ARRAY_OPEN, ++this->_loc}; case ']': - this->_loc++; - return Token{TOKEN::ARRAY_CLOSE}; + return Token{TOKEN::ARRAY_CLOSE, ++this->_loc}; case ',': - this->_loc++; - return Token{TOKEN::COMMA}; + return Token{TOKEN::COMMA, ++this->_loc}; case '"': { size_t start = ++this->_loc; while (_data[++this->_loc] != '"' && this->hasMoreTokens()) @@ -63,14 +57,16 @@ Token Tokenizer::getToken() { JSONNode parseJson(const char* data, size_t len) { auto tokenizer = Tokenizer(data, len); std::stack ctx; + std::string key; while (tokenizer.hasMoreTokens()) { auto token = tokenizer.getToken(); switch (token.type) { - case TOKEN::NULL_TYPE: - break; case TOKEN::CURLY_OPEN: ctx.push(new JSONNode(JSONNode::Type::OBJECT)); break; + case TOKEN::ARRAY_OPEN: + ctx.push(new JSONNode(JSONNode::Type::LIST)); + break; case TOKEN::CURLY_CLOSE: if (ctx.top()->is_type(JSONNode::Type::OBJECT)) { auto obj = ctx.top(); @@ -94,9 +90,7 @@ JSONNode parseJson(const char* data, size_t len) { } } break; - case TOKEN::ARRAY_OPEN: - ctx.push(new JSONNode(JSONNode::Type::LIST)); - break; + case TOKEN::ARRAY_CLOSE: if (ctx.top()->is_type(JSONNode::Type::STRING)) { // key is above @@ -156,6 +150,8 @@ JSONNode parseJson(const char* data, size_t len) { break; case TOKEN::COLON: break; + case TOKEN::NULL_TYPE: + break; } } }