diff --git a/opm/parser/eclipse/Parser/Parser.cpp b/opm/parser/eclipse/Parser/Parser.cpp index 3ffd2bb47..35ba99bf6 100644 --- a/opm/parser/eclipse/Parser/Parser.cpp +++ b/opm/parser/eclipse/Parser/Parser.cpp @@ -160,8 +160,9 @@ namespace Opm { } bool Parser::isRecognizedKeyword(const std::string& deckKeywordName) const { - if (!ParserKeyword::validDeckName(deckKeywordName, /*acceptLowerCase=*/true)) + if (!ParserKeyword::validDeckName(deckKeywordName)) { return false; + } if (m_deckParserKeywords.count(deckKeywordName) > 0) return true; @@ -309,8 +310,8 @@ namespace Opm { "The keyword " + parserState->rawKeyword->getKeywordName() + " is ignored - this might potentially affect the results"); } else { DeckKeywordPtr deckKeyword(new DeckKeyword(parserState->rawKeyword->getKeywordName(), false)); - deckKeyword->setLocation(parserState->rawKeyword->getFilename(), - parserState->rawKeyword->getLineNR()); + deckKeyword->setLocation(parserState->rawKeyword->getFilename(), + parserState->rawKeyword->getLineNR()); parserState->deck->addKeyword(deckKeyword); parserState->parserLog.addWarning(parserState->dataFile.string(), parserState->rawKeyword->getLineNR(), diff --git a/opm/parser/eclipse/Parser/ParserKeyword.cpp b/opm/parser/eclipse/Parser/ParserKeyword.cpp index 4b104d6ca..70be832ef 100644 --- a/opm/parser/eclipse/Parser/ParserKeyword.cpp +++ b/opm/parser/eclipse/Parser/ParserKeyword.cpp @@ -202,11 +202,11 @@ namespace Opm { } - bool ParserKeyword::validNameStart(const std::string& name, bool acceptLowerCaseLetters) { + bool ParserKeyword::validNameStart(const std::string& name) { if (name.length() > ParserConst::maxKeywordLength) return false; - if (!isupper(name[0]) && !(acceptLowerCaseLetters && islower(name[0]))) + if (!isupper(name[0])) return false; return true; @@ -241,14 +241,13 @@ namespace Opm { return result; } - bool ParserKeyword::validDeckName(const std::string& name, bool acceptLowerCaseLetters) { - if (!validNameStart(name, acceptLowerCaseLetters)) + bool ParserKeyword::validDeckName(const std::string& name) { + if (!validNameStart(name)) return false; for (size_t i = 1; i < name.length(); i++) { char c = name[i]; if (!isupper(c) && - !(acceptLowerCaseLetters && islower(c)) && !isdigit(c) && c != '-' && c != '_' && diff --git a/opm/parser/eclipse/Parser/ParserKeyword.hpp b/opm/parser/eclipse/Parser/ParserKeyword.hpp index 7123c16c4..7ff47fee4 100644 --- a/opm/parser/eclipse/Parser/ParserKeyword.hpp +++ b/opm/parser/eclipse/Parser/ParserKeyword.hpp @@ -106,7 +106,7 @@ namespace Opm { static std::string getDeckName(const std::string& rawString); static bool validInternalName(const std::string& name); - static bool validDeckName(const std::string& name, bool acceptLowerCaseLetters = false); + static bool validDeckName(const std::string& name); bool hasMatchRegex() const; void setMatchRegex(const std::string& deckNameRegexp); bool matches(const std::string& deckKeywordName) const; @@ -162,7 +162,7 @@ namespace Opm { ParserKeywordActionEnum m_action; std::string m_Description; - static bool validNameStart(const std::string& name, bool acceptLowerCaseLetters); + static bool validNameStart(const std::string& name); void initDeckNames( const Json::JsonObject& jsonConfig ); void initSectionNames( const Json::JsonObject& jsonConfig ); void initMatchRegex( const Json::JsonObject& jsonObject ); diff --git a/opm/parser/eclipse/RawDeck/RawKeyword.cpp b/opm/parser/eclipse/RawDeck/RawKeyword.cpp index 9a5aa7abb..c45c57a2c 100644 --- a/opm/parser/eclipse/RawDeck/RawKeyword.cpp +++ b/opm/parser/eclipse/RawDeck/RawKeyword.cpp @@ -138,7 +138,7 @@ namespace Opm { } bool RawKeyword::isValidKeyword(const std::string& keywordCandidate) { - return ParserKeyword::validDeckName(keywordCandidate, /*acceptLowerCase=*/true); + return ParserKeyword::validDeckName(keywordCandidate); } diff --git a/opm/parser/eclipse/RawDeck/tests/RawKeywordTests.cpp b/opm/parser/eclipse/RawDeck/tests/RawKeywordTests.cpp index e00e45cc6..85642f512 100644 --- a/opm/parser/eclipse/RawDeck/tests/RawKeywordTests.cpp +++ b/opm/parser/eclipse/RawDeck/tests/RawKeywordTests.cpp @@ -62,11 +62,7 @@ BOOST_AUTO_TEST_CASE(RawKeywordSetKeywordInitialWhitespaceInKeywordThrows) { } BOOST_AUTO_TEST_CASE(constructor_mixedCaseName_throws) { - // raw keywords may be lower-case even if this is not allowed in valid deck - // names... (this will produce a warning if the deck is checked.) - RawKeyword("Test", Raw::SLASH_TERMINATED , "FILE" , 10U); - RawKeyword("test", Raw::SLASH_TERMINATED , "FILE" , 10U); - BOOST_CHECK_THROW(RawKeyword keyword("1test", Raw::SLASH_TERMINATED , "FILE" , 10U), std::invalid_argument); + BOOST_CHECK_THROW(RawKeyword("Test", Raw::SLASH_TERMINATED , "FILE" , 10U), std::invalid_argument); } BOOST_AUTO_TEST_CASE(RawKeywordSetKeywordInitialTabInKeywordThrows) {