some more TODOs resolved
This commit is contained in:
19
parser.cpp
19
parser.cpp
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user