some more TODOs resolved

This commit is contained in:
2021-08-14 15:07:41 +02:00
parent 0f586aab8a
commit fc0ce36e8d
9 changed files with 136 additions and 145 deletions

View File

@@ -444,7 +444,7 @@ namespace usql {
std::vector<std::unique_ptr<Node>> pars;
m_lexer.skipToken(TokenType::open_paren);
while (m_lexer.tokenType() != TokenType::close_paren) { // TODO handle errors
while (m_lexer.tokenType() != TokenType::close_paren && m_lexer.tokenType() != TokenType::eof) {
pars.push_back(parse_value());
m_lexer.skipTokenOptional(TokenType::comma);
}
@@ -521,22 +521,5 @@ namespace usql {
}
}
std::unique_ptr<Node> Parser::parse_relational_expression() {
auto left = parse_value();
if (!Lexer::isRelationalOperator(m_lexer.tokenType()))
{
if (left->node_type != NodeType::relational_operator)
throw Exception("syntax error in relational operation");
return left;
}
auto operation = parse_relational_operator();
auto right = parse_value();
return std::make_unique<RelationalOperatorNode>(operation, std::move(left), std::move(right));
}
} // namespace