diff --git a/lib/pddlparse/src/pddlparse/detail/parsing/VariableDeclaration.cpp b/lib/pddlparse/src/pddlparse/detail/parsing/VariableDeclaration.cpp index 76b8ab3..eaf44c6 100644 --- a/lib/pddlparse/src/pddlparse/detail/parsing/VariableDeclaration.cpp +++ b/lib/pddlparse/src/pddlparse/detail/parsing/VariableDeclaration.cpp @@ -21,8 +21,15 @@ void parseAndAddUntypedVariableDeclaration(Context &context, ast::VariableDeclar auto &tokenizer = context.tokenizer; tokenizer.expect("?"); + const auto position = tokenizer.position(); + auto variableName = tokenizer.getIdentifier(); - assert(variableName != "-"); + + if (variableName == "" || variableName == "-") + { + tokenizer.seek(position); + throw ParserException(tokenizer.location(), "could not parse variable name"); + } variableDeclarations.emplace_back(std::make_unique(std::move(variableName))); }