mirror of
https://github.com/3lswear/webserv.git
synced 2025-10-29 13:27:59 +03:00
refactor: token names and misc
This commit is contained in:
@@ -24,8 +24,8 @@ namespace config
|
|||||||
COMMA,
|
COMMA,
|
||||||
BOOL,
|
BOOL,
|
||||||
NIL,
|
NIL,
|
||||||
ARR_OPEN,
|
OPEN_BRACKET,
|
||||||
ARR_CLOSE,
|
CLOSE_BRACKET,
|
||||||
MAP_OPEN,
|
MAP_OPEN,
|
||||||
MAP_CLOSE,
|
MAP_CLOSE,
|
||||||
MAPARRAY_DECL
|
MAPARRAY_DECL
|
||||||
|
|||||||
@@ -22,10 +22,13 @@
|
|||||||
/* return (*this); */
|
/* return (*this); */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
config::TOMLParser::TOMLParser(const std::string filename) : tokenizer(filename)
|
namespace config
|
||||||
|
{
|
||||||
|
|
||||||
|
TOMLParser::TOMLParser(const std::string filename) : tokenizer(filename)
|
||||||
{};
|
{};
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseMap(void)
|
toml_node *TOMLParser::parseMap(void)
|
||||||
{
|
{
|
||||||
std::cerr << "Parsing map" << std::endl;
|
std::cerr << "Parsing map" << std::endl;
|
||||||
toml_node *node = new toml_node;
|
toml_node *node = new toml_node;
|
||||||
@@ -46,6 +49,10 @@ toml_node *config::TOMLParser::parseMap(void)
|
|||||||
{
|
{
|
||||||
tokenizer.rollBackToken();
|
tokenizer.rollBackToken();
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
else if (nextToken.type == OPEN_BRACKET)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
std::string key = nextToken.value;
|
std::string key = nextToken.value;
|
||||||
std::cerr << key << std::endl;
|
std::cerr << key << std::endl;
|
||||||
@@ -60,7 +67,7 @@ toml_node *config::TOMLParser::parseMap(void)
|
|||||||
(*mapObject)[key] = parseString();
|
(*mapObject)[key] = parseString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ARR_OPEN:
|
case OPEN_BRACKET:
|
||||||
{
|
{
|
||||||
(*mapObject)[key] = parseArray();
|
(*mapObject)[key] = parseArray();
|
||||||
break;
|
break;
|
||||||
@@ -109,7 +116,7 @@ toml_node *config::TOMLParser::parseMap(void)
|
|||||||
return (node);
|
return (node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void config::TOMLParser::parseMapArray(void)
|
void TOMLParser::parseMapArray(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
std::cerr << "Parsing MapArray" << std::endl;
|
std::cerr << "Parsing MapArray" << std::endl;
|
||||||
@@ -201,7 +208,7 @@ void config::TOMLParser::parseMapArray(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseString(void)
|
toml_node *TOMLParser::parseString(void)
|
||||||
{
|
{
|
||||||
/* toml_node *node; */
|
/* toml_node *node; */
|
||||||
toml_node *node = new toml_node;
|
toml_node *node = new toml_node;
|
||||||
@@ -215,7 +222,7 @@ toml_node *config::TOMLParser::parseString(void)
|
|||||||
return (node);
|
return (node);
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseNumber(void)
|
toml_node *TOMLParser::parseNumber(void)
|
||||||
{
|
{
|
||||||
toml_node *node = new toml_node;
|
toml_node *node = new toml_node;
|
||||||
int value;
|
int value;
|
||||||
@@ -228,7 +235,7 @@ toml_node *config::TOMLParser::parseNumber(void)
|
|||||||
return (node);
|
return (node);
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseArray(void)
|
toml_node *TOMLParser::parseArray(void)
|
||||||
{
|
{
|
||||||
std::cerr << "Parsing array" << std::endl;
|
std::cerr << "Parsing array" << std::endl;
|
||||||
toml_node *node;
|
toml_node *node;
|
||||||
@@ -246,7 +253,7 @@ toml_node *config::TOMLParser::parseArray(void)
|
|||||||
current = tokenizer.getToken();
|
current = tokenizer.getToken();
|
||||||
switch (current.type)
|
switch (current.type)
|
||||||
{
|
{
|
||||||
case ARR_OPEN:
|
case OPEN_BRACKET:
|
||||||
{
|
{
|
||||||
node = parseArray();
|
node = parseArray();
|
||||||
break;
|
break;
|
||||||
@@ -284,7 +291,7 @@ toml_node *config::TOMLParser::parseArray(void)
|
|||||||
current = tokenizer.getToken();
|
current = tokenizer.getToken();
|
||||||
if (current.type == COMMA)
|
if (current.type == COMMA)
|
||||||
continue;
|
continue;
|
||||||
else if (current.type == ARR_CLOSE)
|
else if (current.type == CLOSE_BRACKET)
|
||||||
completed = true;
|
completed = true;
|
||||||
else
|
else
|
||||||
throw std::invalid_argument("Unexpected token in array!");
|
throw std::invalid_argument("Unexpected token in array!");
|
||||||
@@ -294,7 +301,7 @@ toml_node *config::TOMLParser::parseArray(void)
|
|||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseBool(void)
|
toml_node *TOMLParser::parseBool(void)
|
||||||
{
|
{
|
||||||
toml_node *node = new toml_node;
|
toml_node *node = new toml_node;
|
||||||
bool value;
|
bool value;
|
||||||
@@ -312,7 +319,7 @@ toml_node *config::TOMLParser::parseBool(void)
|
|||||||
return (node);
|
return (node);
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_node *config::TOMLParser::parseNil(void)
|
toml_node *TOMLParser::parseNil(void)
|
||||||
{
|
{
|
||||||
toml_node *node = new toml_node;
|
toml_node *node = new toml_node;
|
||||||
std::cerr << "Parsing NIL" << std::endl;
|
std::cerr << "Parsing NIL" << std::endl;
|
||||||
@@ -321,7 +328,7 @@ toml_node *config::TOMLParser::parseNil(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* parse tha root ! */
|
/* parse tha root ! */
|
||||||
TOMLMap *config::TOMLParser::parse(void)
|
TOMLMap *TOMLParser::parse(void)
|
||||||
{
|
{
|
||||||
std::cerr << "Parsing ROOT" << std::endl;
|
std::cerr << "Parsing ROOT" << std::endl;
|
||||||
root = new TOMLMap;
|
root = new TOMLMap;
|
||||||
@@ -358,7 +365,7 @@ TOMLMap *config::TOMLParser::parse(void)
|
|||||||
(*root)[key] = parseString();
|
(*root)[key] = parseString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ARR_OPEN:
|
case OPEN_BRACKET:
|
||||||
{
|
{
|
||||||
(*root)[key] = parseArray();
|
(*root)[key] = parseArray();
|
||||||
break;
|
break;
|
||||||
@@ -401,3 +408,4 @@ TOMLMap *config::TOMLParser::parse(void)
|
|||||||
}
|
}
|
||||||
return (root);
|
return (root);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -108,13 +108,13 @@ namespace config
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
token.type = ARR_OPEN;
|
token.type = OPEN_BRACKET;
|
||||||
file.seekg(prev_pos);
|
file.seekg(prev_pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (c == ']')
|
else if (c == ']')
|
||||||
token.type = ARR_CLOSE;
|
token.type = CLOSE_BRACKET;
|
||||||
else if (c == '=')
|
else if (c == '=')
|
||||||
token.type = ASSIGN;
|
token.type = ASSIGN;
|
||||||
else if (c == '\n')
|
else if (c == '\n')
|
||||||
|
|||||||
Reference in New Issue
Block a user